tag pro-router
	prop view
	<self><{ "view-{view || R.view }" }>

tag pro-toggle
	prop param
	prop disabled

	css cursor:pointer cursor.disabled:default

	def render
		<self.activated=R.params[param] .disabled=disabled @click.if(!disabled)=R.toggle(param)><slot>

tag pro-ref-f < a # f - forget current params in new destination
	prop view
	prop params = {}
	prop go

	def render
		let link = go || url
		<self[d:inline].active=(R.to_path! == link) href=link @click.prevent=R.go(link)><slot>

	get url
		R.to_path view, params

tag pro-ref < pro-ref-f
	get url
		#params = JSON.parse JSON.stringify(params) # duplicate object
		#params[k] ||= v for own k, v of R.safe_params
		R.to_path view, #params

tag view-not_found
	<self><h1> "Page not found :("