@vielzeug/refine 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/button.cjs +1 -1
  2. package/dist/button.cjs.map +1 -1
  3. package/dist/button.js +3 -3
  4. package/dist/button.js.map +1 -1
  5. package/dist/checkbox-group.cjs +7 -7
  6. package/dist/checkbox-group.cjs.map +1 -1
  7. package/dist/checkbox-group.js +35 -26
  8. package/dist/checkbox-group.js.map +1 -1
  9. package/dist/checkbox.cjs +3 -3
  10. package/dist/checkbox.cjs.map +1 -1
  11. package/dist/checkbox.js +24 -19
  12. package/dist/checkbox.js.map +1 -1
  13. package/dist/combobox.cjs +24 -24
  14. package/dist/combobox.cjs.map +1 -1
  15. package/dist/combobox.js +133 -129
  16. package/dist/combobox.js.map +1 -1
  17. package/dist/content/card/card.css.cjs +1 -1
  18. package/dist/content/card/card.css.cjs.map +1 -1
  19. package/dist/content/card/card.css.js +1 -1
  20. package/dist/content/card/card.css.js.map +1 -1
  21. package/dist/content/icon/icon.css.cjs +1 -1
  22. package/dist/content/icon/icon.css.cjs.map +1 -1
  23. package/dist/content/icon/icon.css.js +1 -1
  24. package/dist/content/icon/icon.css.js.map +1 -1
  25. package/dist/custom-elements.json +4711 -4209
  26. package/dist/feedback/toast/toast.css.cjs +1 -1
  27. package/dist/feedback/toast/toast.css.cjs.map +1 -1
  28. package/dist/feedback/toast/toast.css.js +1 -1
  29. package/dist/feedback/toast/toast.css.js.map +1 -1
  30. package/dist/headless/auto-resize.cjs +2 -0
  31. package/dist/headless/auto-resize.cjs.map +1 -0
  32. package/dist/headless/auto-resize.d.ts +29 -0
  33. package/dist/headless/auto-resize.d.ts.map +1 -0
  34. package/dist/headless/auto-resize.js +16 -0
  35. package/dist/headless/auto-resize.js.map +1 -0
  36. package/dist/headless/checkable.cjs +1 -1
  37. package/dist/headless/checkable.cjs.map +1 -1
  38. package/dist/headless/checkable.d.ts +25 -7
  39. package/dist/headless/checkable.d.ts.map +1 -1
  40. package/dist/headless/checkable.js +19 -14
  41. package/dist/headless/checkable.js.map +1 -1
  42. package/dist/headless/choice-field.cjs +1 -1
  43. package/dist/headless/choice-field.cjs.map +1 -1
  44. package/dist/headless/choice-field.d.ts +21 -0
  45. package/dist/headless/choice-field.d.ts.map +1 -1
  46. package/dist/headless/choice-field.js +27 -19
  47. package/dist/headless/choice-field.js.map +1 -1
  48. package/dist/headless/composer.cjs +2 -0
  49. package/dist/headless/composer.cjs.map +1 -0
  50. package/dist/headless/composer.d.ts +44 -0
  51. package/dist/headless/composer.d.ts.map +1 -0
  52. package/dist/headless/composer.js +21 -0
  53. package/dist/headless/composer.js.map +1 -0
  54. package/dist/headless/field-base.cjs +1 -1
  55. package/dist/headless/field-base.cjs.map +1 -1
  56. package/dist/headless/field-base.d.ts +97 -84
  57. package/dist/headless/field-base.d.ts.map +1 -1
  58. package/dist/headless/field-base.js +43 -32
  59. package/dist/headless/field-base.js.map +1 -1
  60. package/dist/headless/index.d.ts +3 -1
  61. package/dist/headless/index.d.ts.map +1 -1
  62. package/dist/headless/text-field.cjs +1 -1
  63. package/dist/headless/text-field.cjs.map +1 -1
  64. package/dist/headless/text-field.d.ts +40 -0
  65. package/dist/headless/text-field.d.ts.map +1 -1
  66. package/dist/headless/text-field.js +30 -25
  67. package/dist/headless/text-field.js.map +1 -1
  68. package/dist/headless.cjs +1 -1
  69. package/dist/headless.js +27 -25
  70. package/dist/index.cjs +1 -1
  71. package/dist/index.js +61 -60
  72. package/dist/input.cjs +9 -9
  73. package/dist/input.cjs.map +1 -1
  74. package/dist/input.js +49 -44
  75. package/dist/input.js.map +1 -1
  76. package/dist/inputs/button/button.css.cjs +1 -1
  77. package/dist/inputs/button/button.css.cjs.map +1 -1
  78. package/dist/inputs/button/button.css.js +1 -1
  79. package/dist/inputs/button/button.css.js.map +1 -1
  80. package/dist/inputs/checkbox/checkbox.css.cjs +1 -1
  81. package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -1
  82. package/dist/inputs/checkbox/checkbox.css.js +1 -1
  83. package/dist/inputs/checkbox/checkbox.css.js.map +1 -1
  84. package/dist/inputs/checkbox/checkbox.d.ts +3 -0
  85. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
  86. package/dist/inputs/checkbox-group/checkbox-group.css.cjs +1 -1
  87. package/dist/inputs/checkbox-group/checkbox-group.css.cjs.map +1 -1
  88. package/dist/inputs/checkbox-group/checkbox-group.css.js +1 -1
  89. package/dist/inputs/checkbox-group/checkbox-group.css.js.map +1 -1
  90. package/dist/inputs/combobox/combobox.d.ts +1 -0
  91. package/dist/inputs/combobox/combobox.d.ts.map +1 -1
  92. package/dist/inputs/combobox/combobox.types.d.ts +2 -0
  93. package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
  94. package/dist/inputs/file-input/file-input.css.cjs +1 -1
  95. package/dist/inputs/file-input/file-input.css.cjs.map +1 -1
  96. package/dist/inputs/file-input/file-input.css.js +1 -1
  97. package/dist/inputs/file-input/file-input.css.js.map +1 -1
  98. package/dist/inputs/index.d.ts +2 -0
  99. package/dist/inputs/index.d.ts.map +1 -1
  100. package/dist/inputs/input/input.css.cjs +1 -1
  101. package/dist/inputs/input/input.css.cjs.map +1 -1
  102. package/dist/inputs/input/input.css.js +1 -1
  103. package/dist/inputs/input/input.css.js.map +1 -1
  104. package/dist/inputs/input/input.d.ts.map +1 -1
  105. package/dist/inputs/message-composer/message-composer.css.cjs +2 -0
  106. package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -0
  107. package/dist/inputs/message-composer/message-composer.css.js +6 -0
  108. package/dist/inputs/message-composer/message-composer.css.js.map +1 -0
  109. package/dist/inputs/message-composer/message-composer.d.ts +139 -0
  110. package/dist/inputs/message-composer/message-composer.d.ts.map +1 -0
  111. package/dist/inputs/otp-input/otp-input.css.cjs +1 -1
  112. package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -1
  113. package/dist/inputs/otp-input/otp-input.css.js +1 -1
  114. package/dist/inputs/otp-input/otp-input.css.js.map +1 -1
  115. package/dist/inputs/radio/radio.css.cjs +1 -1
  116. package/dist/inputs/radio/radio.css.cjs.map +1 -1
  117. package/dist/inputs/radio/radio.css.js +1 -1
  118. package/dist/inputs/radio/radio.css.js.map +1 -1
  119. package/dist/inputs/radio-group/radio-group.css.cjs +1 -1
  120. package/dist/inputs/radio-group/radio-group.css.cjs.map +1 -1
  121. package/dist/inputs/radio-group/radio-group.css.js +1 -1
  122. package/dist/inputs/radio-group/radio-group.css.js.map +1 -1
  123. package/dist/inputs/rating/rating.css.cjs +1 -1
  124. package/dist/inputs/rating/rating.css.cjs.map +1 -1
  125. package/dist/inputs/rating/rating.css.js +1 -1
  126. package/dist/inputs/rating/rating.css.js.map +1 -1
  127. package/dist/inputs/shared/field-binding.cjs +1 -1
  128. package/dist/inputs/shared/field-binding.cjs.map +1 -1
  129. package/dist/inputs/shared/field-binding.d.ts +15 -0
  130. package/dist/inputs/shared/field-binding.d.ts.map +1 -1
  131. package/dist/inputs/shared/field-binding.js +4 -3
  132. package/dist/inputs/shared/field-binding.js.map +1 -1
  133. package/dist/inputs/shared/form-context.cjs.map +1 -1
  134. package/dist/inputs/shared/form-context.d.ts +6 -0
  135. package/dist/inputs/shared/form-context.d.ts.map +1 -1
  136. package/dist/inputs/shared/form-context.js.map +1 -1
  137. package/dist/inputs/slider/slider.css.cjs +1 -1
  138. package/dist/inputs/slider/slider.css.cjs.map +1 -1
  139. package/dist/inputs/slider/slider.css.js +1 -1
  140. package/dist/inputs/slider/slider.css.js.map +1 -1
  141. package/dist/inputs/switch/switch.css.cjs +1 -1
  142. package/dist/inputs/switch/switch.css.cjs.map +1 -1
  143. package/dist/inputs/switch/switch.css.js +1 -1
  144. package/dist/inputs/switch/switch.css.js.map +1 -1
  145. package/dist/inputs/textarea/textarea.css.cjs +1 -1
  146. package/dist/inputs/textarea/textarea.css.cjs.map +1 -1
  147. package/dist/inputs/textarea/textarea.css.js +1 -1
  148. package/dist/inputs/textarea/textarea.css.js.map +1 -1
  149. package/dist/inputs/textarea/textarea.d.ts.map +1 -1
  150. package/dist/layout/navbar/navbar.css.cjs +1 -1
  151. package/dist/layout/navbar/navbar.css.cjs.map +1 -1
  152. package/dist/layout/navbar/navbar.css.js +1 -1
  153. package/dist/layout/navbar/navbar.css.js.map +1 -1
  154. package/dist/layout/sidebar/sidebar.css.cjs +1 -1
  155. package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
  156. package/dist/layout/sidebar/sidebar.css.js +1 -1
  157. package/dist/layout/sidebar/sidebar.css.js.map +1 -1
  158. package/dist/message-composer.cjs +52 -0
  159. package/dist/message-composer.cjs.map +1 -0
  160. package/dist/message-composer.js +168 -0
  161. package/dist/message-composer.js.map +1 -0
  162. package/dist/ore/dist/base-element.cjs +1 -1
  163. package/dist/ore/dist/base-element.cjs.map +1 -1
  164. package/dist/ore/dist/base-element.js +13 -3
  165. package/dist/ore/dist/base-element.js.map +1 -1
  166. package/dist/ore/dist/forms/field.cjs +1 -1
  167. package/dist/ore/dist/forms/field.cjs.map +1 -1
  168. package/dist/ore/dist/forms/field.js +29 -22
  169. package/dist/ore/dist/forms/field.js.map +1 -1
  170. package/dist/ore/dist/runtime.cjs +1 -1
  171. package/dist/ore/dist/runtime.cjs.map +1 -1
  172. package/dist/ore/dist/runtime.js +3 -1
  173. package/dist/ore/dist/runtime.js.map +1 -1
  174. package/dist/overlay/menu/menu.css.cjs +1 -1
  175. package/dist/overlay/menu/menu.css.cjs.map +1 -1
  176. package/dist/overlay/menu/menu.css.js +1 -1
  177. package/dist/overlay/menu/menu.css.js.map +1 -1
  178. package/dist/radio-group.cjs +9 -9
  179. package/dist/radio-group.cjs.map +1 -1
  180. package/dist/radio-group.js +44 -38
  181. package/dist/radio-group.js.map +1 -1
  182. package/dist/radio.cjs +3 -3
  183. package/dist/radio.cjs.map +1 -1
  184. package/dist/radio.js +23 -24
  185. package/dist/radio.js.map +1 -1
  186. package/dist/refine.cjs +228 -181
  187. package/dist/refine.cjs.map +1 -1
  188. package/dist/refine.iife.js +228 -181
  189. package/dist/refine.iife.js.map +1 -1
  190. package/dist/refine.js +251 -204
  191. package/dist/refine.js.map +1 -1
  192. package/dist/select.cjs +31 -31
  193. package/dist/select.cjs.map +1 -1
  194. package/dist/select.js +125 -122
  195. package/dist/select.js.map +1 -1
  196. package/dist/shared/size-presets.cjs +1 -1
  197. package/dist/shared/size-presets.cjs.map +1 -1
  198. package/dist/shared/size-presets.d.ts +23 -0
  199. package/dist/shared/size-presets.d.ts.map +1 -1
  200. package/dist/shared/size-presets.js +17 -1
  201. package/dist/shared/size-presets.js.map +1 -1
  202. package/dist/styles/mixins/animation.css.cjs +0 -3
  203. package/dist/styles/mixins/animation.css.cjs.map +1 -1
  204. package/dist/styles/mixins/animation.css.d.ts +12 -4
  205. package/dist/styles/mixins/animation.css.d.ts.map +1 -1
  206. package/dist/styles/mixins/animation.css.js +0 -3
  207. package/dist/styles/mixins/animation.css.js.map +1 -1
  208. package/dist/styles/mixins/variants.css.cjs.map +1 -1
  209. package/dist/styles/mixins/variants.css.d.ts +7 -2
  210. package/dist/styles/mixins/variants.css.d.ts.map +1 -1
  211. package/dist/styles/mixins/variants.css.js.map +1 -1
  212. package/dist/styles/theme.css +341 -132
  213. package/dist/switch.cjs +3 -3
  214. package/dist/switch.cjs.map +1 -1
  215. package/dist/switch.js +17 -18
  216. package/dist/switch.js.map +1 -1
  217. package/dist/textarea.cjs +15 -15
  218. package/dist/textarea.cjs.map +1 -1
  219. package/dist/textarea.js +64 -60
  220. package/dist/textarea.js.map +1 -1
  221. package/package.json +21 -9
@@ -1,2 +1,2 @@
1
- const e=require("./_dev.cjs"),t=require("./errors.cjs");require("./types/bindings.cjs");const n=require("./runtime.cjs"),r=require("./utils/css.cjs"),i=require("./props.cjs"),a=require("./types.cjs");let o=require("@vielzeug/ripple");var s=()=>({generation:0,mountCallbacks:[],phase:a.ComponentPhase.UNINITIALIZED,scope:(0,o.scope)(),templateResult:null}),c=class extends HTMLElement{static _definition;static _normalizedPropDefs;static formAssociated=!1;static observedAttributes=[];_component;constructor(){super();let e=this.constructor._definition;e?.shadow!==!1&&this.attachShadow({mode:`open`,...e?.shadow}),this._component=s()}connectedCallback(){(0,o.untrack)(()=>{this._component.phase===a.ComponentPhase.UNINITIALIZED&&this._runSetup(),this._init()}),this.dispatchEvent(new CustomEvent(a.LIFECYCLE_EVENTS.CONNECT,{bubbles:!1,composed:!1}))}attributeChangedCallback(e,t,n){if(t===n)return;let r=i.getPropMeta(this,e);if(!r)return;let a=r.parse(n);Object.is((0,o.untrack)(()=>r.signal.value),a)||(r.signal.value=a)}disconnectedCallback(){this._component.generation++,this._component.phase=a.ComponentPhase.UNMOUNTED,this.dispatchEvent(new CustomEvent(a.LIFECYCLE_EVENTS.DISCONNECT,{bubbles:!1,composed:!1})),this._component.scope.dispose(),this._component.mountCallbacks=[],this._component.phase=a.ComponentPhase.UNINITIALIZED,this._component.scope=(0,o.scope)(),this._component.templateResult=null}_handleSetupError(e,n=`setup`){let r=e instanceof Error?e:Error(String(e)),i=new t.OreLifecycleError(`<${this.localName}> failed during ${this._component.phase} (${n})`,{cause:r,component:this.localName,phase:n}),a=this.constructor._definition;if(a?.onError)try{return a.onError(i,this)}catch{}t.reportRuntimeError(i,this)}_runSetup(){this._component.phase=a.ComponentPhase.SETUP_RUNNING;let e=this.constructor._definition,t=this.constructor._normalizedPropDefs,r={element:this,mountCallbacks:[]};try{let o;if(this._component.scope.run(()=>{o=n.runWithContext(r,()=>{let n=t?i.createProps(this,t):{};return e.setup(n)})}),this._component.mountCallbacks.push(...r.mountCallbacks),o!=null&&typeof o.then==`function`){let t=this._component.mountCallbacks.splice(0);this._component.phase=a.ComponentPhase.LOADING,e.loading&&(this._component.templateResult=e.loading()),this._runSetupAsync(o,t,this._component.generation)}else this._component.templateResult=o??null,this._component.phase=a.ComponentPhase.SETUP_DONE}catch(e){let t=this._handleSetupError(e);if(t)this._component.templateResult=t,this._component.phase=a.ComponentPhase.SETUP_DONE;else throw this._component.phase=a.ComponentPhase.UNINITIALIZED,e}}_isStale(e){return this._component.generation!==e||!this.isConnected}async _runSetupAsync(t,n,r){try{let i=await t;if(this._isStale(r)){e.warn(`<${this.localName}> async setup result discarded — element disconnected before setup resolved.`);return}this._component.templateResult=i??null,this._component.phase=a.ComponentPhase.SETUP_DONE,this._component.mountCallbacks.push(...n),i&&this._applyResult(i),this._scheduleMountCallbacks()}catch(t){if(this._isStale(r)){e.warn(`<${this.localName}> async setup error discarded — element disconnected before setup resolved.`);return}let n=this._handleSetupError(t,`async-setup`);n?(this._component.templateResult=n,this._component.phase=a.ComponentPhase.SETUP_DONE,this._applyResult(n)):this._component.phase=a.ComponentPhase.UNINITIALIZED}}_applyResult(e){e&&((this.shadowRoot??this).replaceChildren(e.fragment),this._component.scope.run(()=>{e.apply(n.onCleanup)}))}_init(){this._applyStyles(),this._mountTemplate(),this._component.phase===a.ComponentPhase.SETUP_DONE&&this._scheduleMountCallbacks()}_applyStyles(){let e=this.constructor._definition;this.shadowRoot&&e?.styles?.length&&(this.shadowRoot.adoptedStyleSheets=e.styles.map(r.loadStylesheet))}_mountTemplate(){let e=this._component.templateResult;e&&this._applyResult(e)}_scheduleMountCallbacks(){if(this._component.mountCallbacks.length===0)return;let e=this._component.generation;queueMicrotask(()=>{if(this._isStale(e))return;let t=this._component.mountCallbacks.splice(0);for(let e of t)try{let t={element:this,mountCallbacks:[]};this._component.scope.run(()=>{n.runWithContext(t,()=>{let t=e();typeof t==`function`&&n.onCleanup(t)})}),t.mountCallbacks.length>0&&this._component.mountCallbacks.push(...t.mountCallbacks)}catch(e){this._handleSetupError(e,`mounted`)}this._component.mountCallbacks.length>0&&this._scheduleMountCallbacks()})}};exports.BaseElement=c;
1
+ const e=require("./_dev.cjs"),t=require("./errors.cjs");require("./types/bindings.cjs");const n=require("./runtime.cjs"),r=require("./utils/css.cjs"),i=require("./props.cjs"),a=require("./types.cjs");let o=require("@vielzeug/ripple");var s=()=>({formResetCallbacks:[],generation:0,mountCallbacks:[],phase:a.ComponentPhase.UNINITIALIZED,scope:(0,o.scope)(),templateResult:null}),c=class extends HTMLElement{static _definition;static _normalizedPropDefs;static formAssociated=!1;static observedAttributes=[];_component;constructor(){super();let e=this.constructor._definition;e?.shadow!==!1&&this.attachShadow({mode:`open`,...e?.shadow}),this._component=s()}connectedCallback(){(0,o.untrack)(()=>{this._component.phase===a.ComponentPhase.UNINITIALIZED&&this._runSetup(),this._init()}),this.dispatchEvent(new CustomEvent(a.LIFECYCLE_EVENTS.CONNECT,{bubbles:!1,composed:!1}))}attributeChangedCallback(e,t,n){if(t===n)return;let r=i.getPropMeta(this,e);if(!r)return;let a=r.parse(n);Object.is((0,o.untrack)(()=>r.signal.value),a)||(r.signal.value=a)}disconnectedCallback(){this._component.generation++,this._component.phase=a.ComponentPhase.UNMOUNTED,this.dispatchEvent(new CustomEvent(a.LIFECYCLE_EVENTS.DISCONNECT,{bubbles:!1,composed:!1})),this._component.scope.dispose(),this._component.formResetCallbacks=[],this._component.mountCallbacks=[],this._component.phase=a.ComponentPhase.UNINITIALIZED,this._component.scope=(0,o.scope)(),this._component.templateResult=null}formResetCallback(){for(let e of this._component.formResetCallbacks)try{e()}catch(e){this._handleSetupError(e,`form-reset`)}}_handleSetupError(e,n=`setup`){let r=e instanceof Error?e:Error(String(e)),i=new t.OreLifecycleError(`<${this.localName}> failed during ${this._component.phase} (${n})`,{cause:r,component:this.localName,phase:n}),a=this.constructor._definition;if(a?.onError)try{return a.onError(i,this)}catch{}t.reportRuntimeError(i,this)}_runSetup(){this._component.phase=a.ComponentPhase.SETUP_RUNNING;let e=this.constructor._definition,t=this.constructor._normalizedPropDefs,r={element:this,formResetCallbacks:[],mountCallbacks:[]};try{let o;if(this._component.scope.run(()=>{o=n.runWithContext(r,()=>{let n=t?i.createProps(this,t):{};return e.setup(n)})}),this._component.mountCallbacks.push(...r.mountCallbacks),this._component.formResetCallbacks.push(...r.formResetCallbacks),o!=null&&typeof o.then==`function`){let t=this._component.mountCallbacks.splice(0);this._component.phase=a.ComponentPhase.LOADING,e.loading&&(this._component.templateResult=e.loading()),this._runSetupAsync(o,t,this._component.generation)}else this._component.templateResult=o??null,this._component.phase=a.ComponentPhase.SETUP_DONE}catch(e){let t=this._handleSetupError(e);if(t)this._component.templateResult=t,this._component.phase=a.ComponentPhase.SETUP_DONE;else throw this._component.phase=a.ComponentPhase.UNINITIALIZED,e}}_isStale(e){return this._component.generation!==e||!this.isConnected}async _runSetupAsync(t,n,r){try{let i=await t;if(this._isStale(r)){e.warn(`<${this.localName}> async setup result discarded — element disconnected before setup resolved.`);return}this._component.templateResult=i??null,this._component.phase=a.ComponentPhase.SETUP_DONE,this._component.mountCallbacks.push(...n),i&&this._applyResult(i),this._scheduleMountCallbacks()}catch(t){if(this._isStale(r)){e.warn(`<${this.localName}> async setup error discarded — element disconnected before setup resolved.`);return}let n=this._handleSetupError(t,`async-setup`);n?(this._component.templateResult=n,this._component.phase=a.ComponentPhase.SETUP_DONE,this._applyResult(n)):this._component.phase=a.ComponentPhase.UNINITIALIZED}}_applyResult(e){e&&((this.shadowRoot??this).replaceChildren(e.fragment),this._component.scope.run(()=>{e.apply(n.onCleanup)}))}_init(){this._applyStyles(),this._mountTemplate(),this._component.phase===a.ComponentPhase.SETUP_DONE&&this._scheduleMountCallbacks()}_applyStyles(){let e=this.constructor._definition;this.shadowRoot&&e?.styles?.length&&(this.shadowRoot.adoptedStyleSheets=e.styles.map(r.loadStylesheet))}_mountTemplate(){let e=this._component.templateResult;e&&this._applyResult(e)}_scheduleMountCallbacks(){if(this._component.mountCallbacks.length===0)return;let e=this._component.generation;queueMicrotask(()=>{if(this._isStale(e))return;let t=this._component.mountCallbacks.splice(0);for(let e of t)try{let t={element:this,formResetCallbacks:[],mountCallbacks:[]};this._component.scope.run(()=>{n.runWithContext(t,()=>{let t=e();typeof t==`function`&&n.onCleanup(t)})}),t.mountCallbacks.length>0&&this._component.mountCallbacks.push(...t.mountCallbacks),t.formResetCallbacks.length>0&&this._component.formResetCallbacks.push(...t.formResetCallbacks)}catch(e){this._handleSetupError(e,`mounted`)}this._component.mountCallbacks.length>0&&this._scheduleMountCallbacks()})}};exports.BaseElement=c;
2
2
  //# sourceMappingURL=base-element.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-element.cjs","names":["s","c","o","i","a","t","e","r","l"],"sources":["../../../../ore/dist/base-element.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{OreLifecycleError as t,reportRuntimeError as n}from\"./errors.js\";import\"./types/bindings.js\";import{onCleanup as r,runWithContext as i}from\"./runtime.js\";import{createProps as a,getPropMeta as o}from\"./props.js\";import{ComponentPhase as s,LIFECYCLE_EVENTS as c}from\"./types.js\";import{loadStylesheet as l}from\"./utils/css.js\";import{scope as u,untrack as d}from\"@vielzeug/ripple\";var f=()=>({generation:0,mountCallbacks:[],phase:s.UNINITIALIZED,scope:u(),templateResult:null}),p=class extends HTMLElement{static _definition;static _normalizedPropDefs;static formAssociated=!1;static observedAttributes=[];_component;constructor(){super();let e=this.constructor._definition;e?.shadow!==!1&&this.attachShadow({mode:`open`,...e?.shadow}),this._component=f()}connectedCallback(){d(()=>{this._component.phase===s.UNINITIALIZED&&this._runSetup(),this._init()}),this.dispatchEvent(new CustomEvent(c.CONNECT,{bubbles:!1,composed:!1}))}attributeChangedCallback(e,t,n){if(t===n)return;let r=o(this,e);if(!r)return;let i=r.parse(n);Object.is(d(()=>r.signal.value),i)||(r.signal.value=i)}disconnectedCallback(){this._component.generation++,this._component.phase=s.UNMOUNTED,this.dispatchEvent(new CustomEvent(c.DISCONNECT,{bubbles:!1,composed:!1})),this._component.scope.dispose(),this._component.mountCallbacks=[],this._component.phase=s.UNINITIALIZED,this._component.scope=u(),this._component.templateResult=null}_handleSetupError(e,r=`setup`){let i=e instanceof Error?e:Error(String(e)),a=new t(`<${this.localName}> failed during ${this._component.phase} (${r})`,{cause:i,component:this.localName,phase:r}),o=this.constructor._definition;if(o?.onError)try{return o.onError(a,this)}catch{}n(a,this)}_runSetup(){this._component.phase=s.SETUP_RUNNING;let e=this.constructor._definition,t=this.constructor._normalizedPropDefs,n={element:this,mountCallbacks:[]};try{let r;if(this._component.scope.run(()=>{r=i(n,()=>{let n=t?a(this,t):{};return e.setup(n)})}),this._component.mountCallbacks.push(...n.mountCallbacks),r!=null&&typeof r.then==`function`){let t=this._component.mountCallbacks.splice(0);this._component.phase=s.LOADING,e.loading&&(this._component.templateResult=e.loading()),this._runSetupAsync(r,t,this._component.generation)}else this._component.templateResult=r??null,this._component.phase=s.SETUP_DONE}catch(e){let t=this._handleSetupError(e);if(t)this._component.templateResult=t,this._component.phase=s.SETUP_DONE;else throw this._component.phase=s.UNINITIALIZED,e}}_isStale(e){return this._component.generation!==e||!this.isConnected}async _runSetupAsync(t,n,r){try{let i=await t;if(this._isStale(r)){e(`<${this.localName}> async setup result discarded — element disconnected before setup resolved.`);return}this._component.templateResult=i??null,this._component.phase=s.SETUP_DONE,this._component.mountCallbacks.push(...n),i&&this._applyResult(i),this._scheduleMountCallbacks()}catch(t){if(this._isStale(r)){e(`<${this.localName}> async setup error discarded — element disconnected before setup resolved.`);return}let n=this._handleSetupError(t,`async-setup`);n?(this._component.templateResult=n,this._component.phase=s.SETUP_DONE,this._applyResult(n)):this._component.phase=s.UNINITIALIZED}}_applyResult(e){e&&((this.shadowRoot??this).replaceChildren(e.fragment),this._component.scope.run(()=>{e.apply(r)}))}_init(){this._applyStyles(),this._mountTemplate(),this._component.phase===s.SETUP_DONE&&this._scheduleMountCallbacks()}_applyStyles(){let e=this.constructor._definition;this.shadowRoot&&e?.styles?.length&&(this.shadowRoot.adoptedStyleSheets=e.styles.map(l))}_mountTemplate(){let e=this._component.templateResult;e&&this._applyResult(e)}_scheduleMountCallbacks(){if(this._component.mountCallbacks.length===0)return;let e=this._component.generation;queueMicrotask(()=>{if(this._isStale(e))return;let t=this._component.mountCallbacks.splice(0);for(let e of t)try{let t={element:this,mountCallbacks:[]};this._component.scope.run(()=>{i(t,()=>{let t=e();typeof t==`function`&&r(t)})}),t.mountCallbacks.length>0&&this._component.mountCallbacks.push(...t.mountCallbacks)}catch(e){this._handleSetupError(e,`mounted`)}this._component.mountCallbacks.length>0&&this._scheduleMountCallbacks()})}};export{p as BaseElement};\n//# sourceMappingURL=base-element.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"base-element.cjs","names":["s","c","o","i","a","t","e","r","l"],"sources":["../../../../ore/dist/base-element.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{OreLifecycleError as t,reportRuntimeError as n}from\"./errors.js\";import\"./types/bindings.js\";import{onCleanup as r,runWithContext as i}from\"./runtime.js\";import{createProps as a,getPropMeta as o}from\"./props.js\";import{ComponentPhase as s,LIFECYCLE_EVENTS as c}from\"./types.js\";import{loadStylesheet as l}from\"./utils/css.js\";import{scope as u,untrack as d}from\"@vielzeug/ripple\";var f=()=>({formResetCallbacks:[],generation:0,mountCallbacks:[],phase:s.UNINITIALIZED,scope:u(),templateResult:null}),p=class extends HTMLElement{static _definition;static _normalizedPropDefs;static formAssociated=!1;static observedAttributes=[];_component;constructor(){super();let e=this.constructor._definition;e?.shadow!==!1&&this.attachShadow({mode:`open`,...e?.shadow}),this._component=f()}connectedCallback(){d(()=>{this._component.phase===s.UNINITIALIZED&&this._runSetup(),this._init()}),this.dispatchEvent(new CustomEvent(c.CONNECT,{bubbles:!1,composed:!1}))}attributeChangedCallback(e,t,n){if(t===n)return;let r=o(this,e);if(!r)return;let i=r.parse(n);Object.is(d(()=>r.signal.value),i)||(r.signal.value=i)}disconnectedCallback(){this._component.generation++,this._component.phase=s.UNMOUNTED,this.dispatchEvent(new CustomEvent(c.DISCONNECT,{bubbles:!1,composed:!1})),this._component.scope.dispose(),this._component.formResetCallbacks=[],this._component.mountCallbacks=[],this._component.phase=s.UNINITIALIZED,this._component.scope=u(),this._component.templateResult=null}formResetCallback(){for(let e of this._component.formResetCallbacks)try{e()}catch(e){this._handleSetupError(e,`form-reset`)}}_handleSetupError(e,r=`setup`){let i=e instanceof Error?e:Error(String(e)),a=new t(`<${this.localName}> failed during ${this._component.phase} (${r})`,{cause:i,component:this.localName,phase:r}),o=this.constructor._definition;if(o?.onError)try{return o.onError(a,this)}catch{}n(a,this)}_runSetup(){this._component.phase=s.SETUP_RUNNING;let e=this.constructor._definition,t=this.constructor._normalizedPropDefs,n={element:this,formResetCallbacks:[],mountCallbacks:[]};try{let r;if(this._component.scope.run(()=>{r=i(n,()=>{let n=t?a(this,t):{};return e.setup(n)})}),this._component.mountCallbacks.push(...n.mountCallbacks),this._component.formResetCallbacks.push(...n.formResetCallbacks),r!=null&&typeof r.then==`function`){let t=this._component.mountCallbacks.splice(0);this._component.phase=s.LOADING,e.loading&&(this._component.templateResult=e.loading()),this._runSetupAsync(r,t,this._component.generation)}else this._component.templateResult=r??null,this._component.phase=s.SETUP_DONE}catch(e){let t=this._handleSetupError(e);if(t)this._component.templateResult=t,this._component.phase=s.SETUP_DONE;else throw this._component.phase=s.UNINITIALIZED,e}}_isStale(e){return this._component.generation!==e||!this.isConnected}async _runSetupAsync(t,n,r){try{let i=await t;if(this._isStale(r)){e(`<${this.localName}> async setup result discarded — element disconnected before setup resolved.`);return}this._component.templateResult=i??null,this._component.phase=s.SETUP_DONE,this._component.mountCallbacks.push(...n),i&&this._applyResult(i),this._scheduleMountCallbacks()}catch(t){if(this._isStale(r)){e(`<${this.localName}> async setup error discarded — element disconnected before setup resolved.`);return}let n=this._handleSetupError(t,`async-setup`);n?(this._component.templateResult=n,this._component.phase=s.SETUP_DONE,this._applyResult(n)):this._component.phase=s.UNINITIALIZED}}_applyResult(e){e&&((this.shadowRoot??this).replaceChildren(e.fragment),this._component.scope.run(()=>{e.apply(r)}))}_init(){this._applyStyles(),this._mountTemplate(),this._component.phase===s.SETUP_DONE&&this._scheduleMountCallbacks()}_applyStyles(){let e=this.constructor._definition;this.shadowRoot&&e?.styles?.length&&(this.shadowRoot.adoptedStyleSheets=e.styles.map(l))}_mountTemplate(){let e=this._component.templateResult;e&&this._applyResult(e)}_scheduleMountCallbacks(){if(this._component.mountCallbacks.length===0)return;let e=this._component.generation;queueMicrotask(()=>{if(this._isStale(e))return;let t=this._component.mountCallbacks.splice(0);for(let e of t)try{let t={element:this,formResetCallbacks:[],mountCallbacks:[]};this._component.scope.run(()=>{i(t,()=>{let t=e();typeof t==`function`&&r(t)})}),t.mountCallbacks.length>0&&this._component.mountCallbacks.push(...t.mountCallbacks),t.formResetCallbacks.length>0&&this._component.formResetCallbacks.push(...t.formResetCallbacks)}catch(e){this._handleSetupError(e,`mounted`)}this._component.mountCallbacks.length>0&&this._scheduleMountCallbacks()})}};export{p as BaseElement};\n//# sourceMappingURL=base-element.js.map"],"mappings":"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"}
@@ -8,6 +8,7 @@ import { ComponentPhase as c, LIFECYCLE_EVENTS as l } from "./types.js";
8
8
  import { scope as u, untrack as d } from "@vielzeug/ripple";
9
9
  //#region ../ore/dist/base-element.js
10
10
  var f = () => ({
11
+ formResetCallbacks: [],
11
12
  generation: 0,
12
13
  mountCallbacks: [],
13
14
  phase: c.UNINITIALIZED,
@@ -46,7 +47,14 @@ var f = () => ({
46
47
  this._component.generation++, this._component.phase = c.UNMOUNTED, this.dispatchEvent(new CustomEvent(l.DISCONNECT, {
47
48
  bubbles: !1,
48
49
  composed: !1
49
- })), this._component.scope.dispose(), this._component.mountCallbacks = [], this._component.phase = c.UNINITIALIZED, this._component.scope = u(), this._component.templateResult = null;
50
+ })), this._component.scope.dispose(), this._component.formResetCallbacks = [], this._component.mountCallbacks = [], this._component.phase = c.UNINITIALIZED, this._component.scope = u(), this._component.templateResult = null;
51
+ }
52
+ formResetCallback() {
53
+ for (let e of this._component.formResetCallbacks) try {
54
+ e();
55
+ } catch (e) {
56
+ this._handleSetupError(e, "form-reset");
57
+ }
50
58
  }
51
59
  _handleSetupError(e, r = "setup") {
52
60
  let i = e instanceof Error ? e : Error(String(e)), a = new t(`<${this.localName}> failed during ${this._component.phase} (${r})`, {
@@ -63,6 +71,7 @@ var f = () => ({
63
71
  this._component.phase = c.SETUP_RUNNING;
64
72
  let e = this.constructor._definition, t = this.constructor._normalizedPropDefs, n = {
65
73
  element: this,
74
+ formResetCallbacks: [],
66
75
  mountCallbacks: []
67
76
  };
68
77
  try {
@@ -72,7 +81,7 @@ var f = () => ({
72
81
  let n = t ? o(this, t) : {};
73
82
  return e.setup(n);
74
83
  });
75
- }), this._component.mountCallbacks.push(...n.mountCallbacks), r != null && typeof r.then == "function") {
84
+ }), this._component.mountCallbacks.push(...n.mountCallbacks), this._component.formResetCallbacks.push(...n.formResetCallbacks), r != null && typeof r.then == "function") {
76
85
  let t = this._component.mountCallbacks.splice(0);
77
86
  this._component.phase = c.LOADING, e.loading && (this._component.templateResult = e.loading()), this._runSetupAsync(r, t, this._component.generation);
78
87
  } else this._component.templateResult = r ?? null, this._component.phase = c.SETUP_DONE;
@@ -127,6 +136,7 @@ var f = () => ({
127
136
  for (let e of t) try {
128
137
  let t = {
129
138
  element: this,
139
+ formResetCallbacks: [],
130
140
  mountCallbacks: []
131
141
  };
132
142
  this._component.scope.run(() => {
@@ -134,7 +144,7 @@ var f = () => ({
134
144
  let t = e();
135
145
  typeof t == "function" && r(t);
136
146
  });
137
- }), t.mountCallbacks.length > 0 && this._component.mountCallbacks.push(...t.mountCallbacks);
147
+ }), t.mountCallbacks.length > 0 && this._component.mountCallbacks.push(...t.mountCallbacks), t.formResetCallbacks.length > 0 && this._component.formResetCallbacks.push(...t.formResetCallbacks);
138
148
  } catch (e) {
139
149
  this._handleSetupError(e, "mounted");
140
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-element.js","names":["s","u","c","o","d","i","a","t","e","r","l"],"sources":["../../../../ore/dist/base-element.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{OreLifecycleError as t,reportRuntimeError as n}from\"./errors.js\";import\"./types/bindings.js\";import{onCleanup as r,runWithContext as i}from\"./runtime.js\";import{createProps as a,getPropMeta as o}from\"./props.js\";import{ComponentPhase as s,LIFECYCLE_EVENTS as c}from\"./types.js\";import{loadStylesheet as l}from\"./utils/css.js\";import{scope as u,untrack as d}from\"@vielzeug/ripple\";var f=()=>({generation:0,mountCallbacks:[],phase:s.UNINITIALIZED,scope:u(),templateResult:null}),p=class extends HTMLElement{static _definition;static _normalizedPropDefs;static formAssociated=!1;static observedAttributes=[];_component;constructor(){super();let e=this.constructor._definition;e?.shadow!==!1&&this.attachShadow({mode:`open`,...e?.shadow}),this._component=f()}connectedCallback(){d(()=>{this._component.phase===s.UNINITIALIZED&&this._runSetup(),this._init()}),this.dispatchEvent(new CustomEvent(c.CONNECT,{bubbles:!1,composed:!1}))}attributeChangedCallback(e,t,n){if(t===n)return;let r=o(this,e);if(!r)return;let i=r.parse(n);Object.is(d(()=>r.signal.value),i)||(r.signal.value=i)}disconnectedCallback(){this._component.generation++,this._component.phase=s.UNMOUNTED,this.dispatchEvent(new CustomEvent(c.DISCONNECT,{bubbles:!1,composed:!1})),this._component.scope.dispose(),this._component.mountCallbacks=[],this._component.phase=s.UNINITIALIZED,this._component.scope=u(),this._component.templateResult=null}_handleSetupError(e,r=`setup`){let i=e instanceof Error?e:Error(String(e)),a=new t(`<${this.localName}> failed during ${this._component.phase} (${r})`,{cause:i,component:this.localName,phase:r}),o=this.constructor._definition;if(o?.onError)try{return o.onError(a,this)}catch{}n(a,this)}_runSetup(){this._component.phase=s.SETUP_RUNNING;let e=this.constructor._definition,t=this.constructor._normalizedPropDefs,n={element:this,mountCallbacks:[]};try{let r;if(this._component.scope.run(()=>{r=i(n,()=>{let n=t?a(this,t):{};return e.setup(n)})}),this._component.mountCallbacks.push(...n.mountCallbacks),r!=null&&typeof r.then==`function`){let t=this._component.mountCallbacks.splice(0);this._component.phase=s.LOADING,e.loading&&(this._component.templateResult=e.loading()),this._runSetupAsync(r,t,this._component.generation)}else this._component.templateResult=r??null,this._component.phase=s.SETUP_DONE}catch(e){let t=this._handleSetupError(e);if(t)this._component.templateResult=t,this._component.phase=s.SETUP_DONE;else throw this._component.phase=s.UNINITIALIZED,e}}_isStale(e){return this._component.generation!==e||!this.isConnected}async _runSetupAsync(t,n,r){try{let i=await t;if(this._isStale(r)){e(`<${this.localName}> async setup result discarded — element disconnected before setup resolved.`);return}this._component.templateResult=i??null,this._component.phase=s.SETUP_DONE,this._component.mountCallbacks.push(...n),i&&this._applyResult(i),this._scheduleMountCallbacks()}catch(t){if(this._isStale(r)){e(`<${this.localName}> async setup error discarded — element disconnected before setup resolved.`);return}let n=this._handleSetupError(t,`async-setup`);n?(this._component.templateResult=n,this._component.phase=s.SETUP_DONE,this._applyResult(n)):this._component.phase=s.UNINITIALIZED}}_applyResult(e){e&&((this.shadowRoot??this).replaceChildren(e.fragment),this._component.scope.run(()=>{e.apply(r)}))}_init(){this._applyStyles(),this._mountTemplate(),this._component.phase===s.SETUP_DONE&&this._scheduleMountCallbacks()}_applyStyles(){let e=this.constructor._definition;this.shadowRoot&&e?.styles?.length&&(this.shadowRoot.adoptedStyleSheets=e.styles.map(l))}_mountTemplate(){let e=this._component.templateResult;e&&this._applyResult(e)}_scheduleMountCallbacks(){if(this._component.mountCallbacks.length===0)return;let e=this._component.generation;queueMicrotask(()=>{if(this._isStale(e))return;let t=this._component.mountCallbacks.splice(0);for(let e of t)try{let t={element:this,mountCallbacks:[]};this._component.scope.run(()=>{i(t,()=>{let t=e();typeof t==`function`&&r(t)})}),t.mountCallbacks.length>0&&this._component.mountCallbacks.push(...t.mountCallbacks)}catch(e){this._handleSetupError(e,`mounted`)}this._component.mountCallbacks.length>0&&this._scheduleMountCallbacks()})}};export{p as BaseElement};\n//# sourceMappingURL=base-element.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"base-element.js","names":["s","u","c","o","d","i","a","t","e","r","l"],"sources":["../../../../ore/dist/base-element.js"],"sourcesContent":["import{warn as e}from\"./_dev.js\";import{OreLifecycleError as t,reportRuntimeError as n}from\"./errors.js\";import\"./types/bindings.js\";import{onCleanup as r,runWithContext as i}from\"./runtime.js\";import{createProps as a,getPropMeta as o}from\"./props.js\";import{ComponentPhase as s,LIFECYCLE_EVENTS as c}from\"./types.js\";import{loadStylesheet as l}from\"./utils/css.js\";import{scope as u,untrack as d}from\"@vielzeug/ripple\";var f=()=>({formResetCallbacks:[],generation:0,mountCallbacks:[],phase:s.UNINITIALIZED,scope:u(),templateResult:null}),p=class extends HTMLElement{static _definition;static _normalizedPropDefs;static formAssociated=!1;static observedAttributes=[];_component;constructor(){super();let e=this.constructor._definition;e?.shadow!==!1&&this.attachShadow({mode:`open`,...e?.shadow}),this._component=f()}connectedCallback(){d(()=>{this._component.phase===s.UNINITIALIZED&&this._runSetup(),this._init()}),this.dispatchEvent(new CustomEvent(c.CONNECT,{bubbles:!1,composed:!1}))}attributeChangedCallback(e,t,n){if(t===n)return;let r=o(this,e);if(!r)return;let i=r.parse(n);Object.is(d(()=>r.signal.value),i)||(r.signal.value=i)}disconnectedCallback(){this._component.generation++,this._component.phase=s.UNMOUNTED,this.dispatchEvent(new CustomEvent(c.DISCONNECT,{bubbles:!1,composed:!1})),this._component.scope.dispose(),this._component.formResetCallbacks=[],this._component.mountCallbacks=[],this._component.phase=s.UNINITIALIZED,this._component.scope=u(),this._component.templateResult=null}formResetCallback(){for(let e of this._component.formResetCallbacks)try{e()}catch(e){this._handleSetupError(e,`form-reset`)}}_handleSetupError(e,r=`setup`){let i=e instanceof Error?e:Error(String(e)),a=new t(`<${this.localName}> failed during ${this._component.phase} (${r})`,{cause:i,component:this.localName,phase:r}),o=this.constructor._definition;if(o?.onError)try{return o.onError(a,this)}catch{}n(a,this)}_runSetup(){this._component.phase=s.SETUP_RUNNING;let e=this.constructor._definition,t=this.constructor._normalizedPropDefs,n={element:this,formResetCallbacks:[],mountCallbacks:[]};try{let r;if(this._component.scope.run(()=>{r=i(n,()=>{let n=t?a(this,t):{};return e.setup(n)})}),this._component.mountCallbacks.push(...n.mountCallbacks),this._component.formResetCallbacks.push(...n.formResetCallbacks),r!=null&&typeof r.then==`function`){let t=this._component.mountCallbacks.splice(0);this._component.phase=s.LOADING,e.loading&&(this._component.templateResult=e.loading()),this._runSetupAsync(r,t,this._component.generation)}else this._component.templateResult=r??null,this._component.phase=s.SETUP_DONE}catch(e){let t=this._handleSetupError(e);if(t)this._component.templateResult=t,this._component.phase=s.SETUP_DONE;else throw this._component.phase=s.UNINITIALIZED,e}}_isStale(e){return this._component.generation!==e||!this.isConnected}async _runSetupAsync(t,n,r){try{let i=await t;if(this._isStale(r)){e(`<${this.localName}> async setup result discarded — element disconnected before setup resolved.`);return}this._component.templateResult=i??null,this._component.phase=s.SETUP_DONE,this._component.mountCallbacks.push(...n),i&&this._applyResult(i),this._scheduleMountCallbacks()}catch(t){if(this._isStale(r)){e(`<${this.localName}> async setup error discarded — element disconnected before setup resolved.`);return}let n=this._handleSetupError(t,`async-setup`);n?(this._component.templateResult=n,this._component.phase=s.SETUP_DONE,this._applyResult(n)):this._component.phase=s.UNINITIALIZED}}_applyResult(e){e&&((this.shadowRoot??this).replaceChildren(e.fragment),this._component.scope.run(()=>{e.apply(r)}))}_init(){this._applyStyles(),this._mountTemplate(),this._component.phase===s.SETUP_DONE&&this._scheduleMountCallbacks()}_applyStyles(){let e=this.constructor._definition;this.shadowRoot&&e?.styles?.length&&(this.shadowRoot.adoptedStyleSheets=e.styles.map(l))}_mountTemplate(){let e=this._component.templateResult;e&&this._applyResult(e)}_scheduleMountCallbacks(){if(this._component.mountCallbacks.length===0)return;let e=this._component.generation;queueMicrotask(()=>{if(this._isStale(e))return;let t=this._component.mountCallbacks.splice(0);for(let e of t)try{let t={element:this,formResetCallbacks:[],mountCallbacks:[]};this._component.scope.run(()=>{i(t,()=>{let t=e();typeof t==`function`&&r(t)})}),t.mountCallbacks.length>0&&this._component.mountCallbacks.push(...t.mountCallbacks),t.formResetCallbacks.length>0&&this._component.formResetCallbacks.push(...t.formResetCallbacks)}catch(e){this._handleSetupError(e,`mounted`)}this._component.mountCallbacks.length>0&&this._scheduleMountCallbacks()})}};export{p as BaseElement};\n//# sourceMappingURL=base-element.js.map"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require("../_dev.cjs"),t=require("../errors.cjs"),n=require("../runtime.cjs");require("@vielzeug/ripple");var r=new WeakMap,i=i=>{let a=i.el??n.getHost();if(!a.constructor.formAssociated)throw new t.OreApiError(t.ORE_ERRORS.defineFieldRequiresFormAssociated(a.localName));if(r.has(a))throw new t.OreApiError(`useField() was already called on <${a.localName}>. Call it only once per component.`);let o=a.attachInternals();r.set(a,o),n.onCleanup(()=>r.delete(a));let s=i.toFormValue??(e=>e==null?i.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));n.watchEffect(()=>{o.setFormValue(s(i.value.value))});let c=i.disabled;if(c)if(!(`states`in o))e.warn(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=o.states;n.watchEffect(()=>{c.value?e.add(`disabled`):e.delete(`disabled`)})}return{checkValidity:()=>o.checkValidity(),internals:o,reportValidity:()=>o.reportValidity(),setCustomValidity:e=>e?o.setValidity({customError:!0},e):o.setValidity({}),setValidity:o.setValidity.bind(o)}};exports.useField=i;
1
+ const e=require("../_dev.cjs"),t=require("../errors.cjs"),n=require("../runtime.cjs");require("@vielzeug/ripple");var r=new WeakMap,i=i=>{let a=i.el??n.getHost();if(!a.constructor.formAssociated)throw new t.OreApiError(t.ORE_ERRORS.defineFieldRequiresFormAssociated(a.localName));if(r.has(a))throw new t.OreApiError(`useField() was already called on <${a.localName}>. Call it only once per component.`);let o=a.attachInternals();r.set(a,o),n.onCleanup(()=>r.delete(a));let s=i.toFormValue??(e=>e==null?i.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));n.watchEffect(()=>{o.setFormValue(s(i.value.value))});let c=i.disabled;if(c)if(!(`states`in o))e.warn(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=o.states;n.watchEffect(()=>{c.value?e.add(`disabled`):e.delete(`disabled`)})}return i.validity&&n.watchEffect(()=>{let t=i.validity?.value??{},n=Object.values(t).some(Boolean),r=i.validationMessage?.value??``;if(n&&!r){e.warn("useField(): `validity` has a truthy flag but `validationMessage` is empty — internals.setValidity() requires a non-empty message whenever any flag is true. Falling back to a generic message; pass `validationMessage` to customize it."),o.setValidity(t,`Invalid value.`);return}o.setValidity(t,r)}),i.onReset&&n.onFormReset(i.onReset),{checkValidity:()=>o.checkValidity(),internals:o,reportValidity:()=>o.reportValidity(),setCustomValidity:e=>e?o.setValidity({customError:!0},e):o.setValidity({}),setValidity:o.setValidity.bind(o)}};exports.useField=i;
2
2
  //# sourceMappingURL=field.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.cjs","names":["c","r","n","t","i","u"],"sources":["../../../../../ore/dist/forms/field.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"../errors.js\";import{getHost as r,onCleanup as i,watchEffect as a}from\"../runtime.js\";import\"@vielzeug/ripple\";var o=new WeakMap,s=s=>{let c=s.el??r();if(!c.constructor.formAssociated)throw new n(t.defineFieldRequiresFormAssociated(c.localName));if(o.has(c))throw new n(`useField() was already called on <${c.localName}>. Call it only once per component.`);let l=c.attachInternals();o.set(c,l),i(()=>o.delete(c));let u=s.toFormValue??(e=>e==null?s.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));a(()=>{l.setFormValue(u(s.value.value))});let d=s.disabled;if(d)if(!(`states`in l))e(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=l.states;a(()=>{d.value?e.add(`disabled`):e.delete(`disabled`)})}return{checkValidity:()=>l.checkValidity(),internals:l,reportValidity:()=>l.reportValidity(),setCustomValidity:e=>e?l.setValidity({customError:!0},e):l.setValidity({}),setValidity:l.setValidity.bind(l)}};export{s as useField};\n//# sourceMappingURL=field.js.map"],"mappings":"kHAA8L,IAAI,EAAE,IAAI,QAAQ,EAAE,GAAG,CAAC,IAAIA,EAAE,EAAE,IAAIC,EAAAA,QAAE,EAAE,GAAG,CAACD,EAAE,YAAY,eAAe,MAAM,IAAIE,EAAAA,YAAEC,EAAAA,WAAE,kCAAkCH,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAIA,CAAC,EAAE,MAAM,IAAIE,EAAAA,YAAE,qCAAqCF,EAAE,UAAU,oCAAoC,EAAE,IAAI,EAAEA,EAAE,gBAAgB,EAAE,EAAE,IAAIA,EAAE,CAAC,EAAEI,EAAAA,cAAM,EAAE,OAAOJ,CAAC,CAAC,EAAE,IAAIK,EAAE,EAAE,cAAc,GAAG,GAAG,KAAK,EAAE,mBAAmB,GAAG,KAAK,aAAa,MAAM,aAAa,SAAS,EAAE,OAAO,CAAC,GAAG,EAAA,gBAAM,CAAC,EAAE,aAAaA,EAAE,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,EAAA,KAAE,8HAA8H,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAA,gBAAM,CAAC,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,GAAG,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"field.cjs","names":["r","n","t","u","i","f","o","a"],"sources":["../../../../../ore/dist/forms/field.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"../errors.js\";import{getHost as r,onCleanup as i,onFormReset as a,watchEffect as o}from\"../runtime.js\";import\"@vielzeug/ripple\";var s=new WeakMap,c=c=>{let l=c.el??r();if(!l.constructor.formAssociated)throw new n(t.defineFieldRequiresFormAssociated(l.localName));if(s.has(l))throw new n(`useField() was already called on <${l.localName}>. Call it only once per component.`);let u=l.attachInternals();s.set(l,u),i(()=>s.delete(l));let d=c.toFormValue??(e=>e==null?c.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));o(()=>{u.setFormValue(d(c.value.value))});let f=c.disabled;if(f)if(!(`states`in u))e(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=u.states;o(()=>{f.value?e.add(`disabled`):e.delete(`disabled`)})}return c.validity&&o(()=>{let t=c.validity?.value??{},n=Object.values(t).some(Boolean),r=c.validationMessage?.value??``;if(n&&!r){e(\"useField(): `validity` has a truthy flag but `validationMessage` is empty — internals.setValidity() requires a non-empty message whenever any flag is true. Falling back to a generic message; pass `validationMessage` to customize it.\"),u.setValidity(t,`Invalid value.`);return}u.setValidity(t,r)}),c.onReset&&a(c.onReset),{checkValidity:()=>u.checkValidity(),internals:u,reportValidity:()=>u.reportValidity(),setCustomValidity:e=>e?u.setValidity({customError:!0},e):u.setValidity({}),setValidity:u.setValidity.bind(u)}};export{c as useField};\n//# sourceMappingURL=field.js.map"],"mappings":"kHAA+M,IAAI,EAAE,IAAI,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAIA,EAAAA,QAAE,EAAE,GAAG,CAAC,EAAE,YAAY,eAAe,MAAM,IAAIC,EAAAA,YAAEC,EAAAA,WAAE,kCAAkC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,IAAID,EAAAA,YAAE,qCAAqC,EAAE,UAAU,oCAAoC,EAAE,IAAIE,EAAE,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAEA,CAAC,EAAEC,EAAAA,cAAM,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,GAAG,GAAG,KAAK,EAAE,mBAAmB,GAAG,KAAK,aAAa,MAAM,aAAa,SAAS,EAAE,OAAO,CAAC,GAAG,EAAA,gBAAM,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,IAAIC,EAAE,EAAE,SAAS,GAAGA,EAAE,GAAG,EAAE,WAAWF,GAAG,EAAA,KAAE,8HAA8H,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,EAAA,gBAAM,CAAC,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAUG,EAAAA,gBAAM,CAAC,IAAIJ,EAAE,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,OAAO,OAAOA,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,EAAE,EAAE,mBAAmB,OAAO,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,EAAA,KAAE,0OAA0O,EAAEC,EAAE,YAAYD,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,YAAYA,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,SAASK,EAAAA,YAAE,EAAE,OAAO,EAAE,CAAC,kBAAkBJ,EAAE,cAAc,EAAE,UAAUA,EAAE,mBAAmBA,EAAE,eAAe,EAAE,kBAAkB,GAAG,EAAEA,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAEA,EAAE,YAAY,CAAC,CAAC,EAAE,YAAYA,EAAE,YAAY,KAAKA,CAAC,CAAC,CAAC"}
@@ -1,35 +1,42 @@
1
1
  import { warn as e } from "../_dev.js";
2
2
  import { ORE_ERRORS as t, OreApiError as n } from "../errors.js";
3
- import { getHost as r, onCleanup as i, watchEffect as a } from "../runtime.js";
3
+ import { getHost as r, onCleanup as i, onFormReset as a, watchEffect as o } from "../runtime.js";
4
4
  import "@vielzeug/ripple";
5
5
  //#region ../ore/dist/forms/field.js
6
- var o = /* @__PURE__ */ new WeakMap(), s = (s) => {
7
- let c = s.el ?? r();
8
- if (!c.constructor.formAssociated) throw new n(t.defineFieldRequiresFormAssociated(c.localName));
9
- if (o.has(c)) throw new n(`useField() was already called on <${c.localName}>. Call it only once per component.`);
10
- let l = c.attachInternals();
11
- o.set(c, l), i(() => o.delete(c));
12
- let u = s.toFormValue ?? ((e) => e == null ? s.emptyStringForNull ? "" : null : e instanceof File || e instanceof FormData ? e : String(e));
13
- a(() => {
14
- l.setFormValue(u(s.value.value));
6
+ var s = /* @__PURE__ */ new WeakMap(), c = (c) => {
7
+ let l = c.el ?? r();
8
+ if (!l.constructor.formAssociated) throw new n(t.defineFieldRequiresFormAssociated(l.localName));
9
+ if (s.has(l)) throw new n(`useField() was already called on <${l.localName}>. Call it only once per component.`);
10
+ let u = l.attachInternals();
11
+ s.set(l, u), i(() => s.delete(l));
12
+ let d = c.toFormValue ?? ((e) => e == null ? c.emptyStringForNull ? "" : null : e instanceof File || e instanceof FormData ? e : String(e));
13
+ o(() => {
14
+ u.setFormValue(d(c.value.value));
15
15
  });
16
- let d = s.disabled;
17
- if (d) if (!("states" in l)) e("useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.");
16
+ let f = c.disabled;
17
+ if (f) if (!("states" in u)) e("useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.");
18
18
  else {
19
- let e = l.states;
20
- a(() => {
21
- d.value ? e.add("disabled") : e.delete("disabled");
19
+ let e = u.states;
20
+ o(() => {
21
+ f.value ? e.add("disabled") : e.delete("disabled");
22
22
  });
23
23
  }
24
- return {
25
- checkValidity: () => l.checkValidity(),
26
- internals: l,
27
- reportValidity: () => l.reportValidity(),
28
- setCustomValidity: (e) => e ? l.setValidity({ customError: !0 }, e) : l.setValidity({}),
29
- setValidity: l.setValidity.bind(l)
24
+ return c.validity && o(() => {
25
+ let t = c.validity?.value ?? {}, n = Object.values(t).some(Boolean), r = c.validationMessage?.value ?? "";
26
+ if (n && !r) {
27
+ e("useField(): `validity` has a truthy flag but `validationMessage` is empty — internals.setValidity() requires a non-empty message whenever any flag is true. Falling back to a generic message; pass `validationMessage` to customize it."), u.setValidity(t, "Invalid value.");
28
+ return;
29
+ }
30
+ u.setValidity(t, r);
31
+ }), c.onReset && a(c.onReset), {
32
+ checkValidity: () => u.checkValidity(),
33
+ internals: u,
34
+ reportValidity: () => u.reportValidity(),
35
+ setCustomValidity: (e) => e ? u.setValidity({ customError: !0 }, e) : u.setValidity({}),
36
+ setValidity: u.setValidity.bind(u)
30
37
  };
31
38
  };
32
39
  //#endregion
33
- export { s as useField };
40
+ export { c as useField };
34
41
 
35
42
  //# sourceMappingURL=field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","names":["c","r","t","i","u"],"sources":["../../../../../ore/dist/forms/field.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"../errors.js\";import{getHost as r,onCleanup as i,watchEffect as a}from\"../runtime.js\";import\"@vielzeug/ripple\";var o=new WeakMap,s=s=>{let c=s.el??r();if(!c.constructor.formAssociated)throw new n(t.defineFieldRequiresFormAssociated(c.localName));if(o.has(c))throw new n(`useField() was already called on <${c.localName}>. Call it only once per component.`);let l=c.attachInternals();o.set(c,l),i(()=>o.delete(c));let u=s.toFormValue??(e=>e==null?s.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));a(()=>{l.setFormValue(u(s.value.value))});let d=s.disabled;if(d)if(!(`states`in l))e(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=l.states;a(()=>{d.value?e.add(`disabled`):e.delete(`disabled`)})}return{checkValidity:()=>l.checkValidity(),internals:l,reportValidity:()=>l.reportValidity(),setCustomValidity:e=>e?l.setValidity({customError:!0},e):l.setValidity({}),setValidity:l.setValidity.bind(l)}};export{s as useField};\n//# sourceMappingURL=field.js.map"],"mappings":";;;;;AAA8L,IAAI,oBAAE,IAAI,QAAM,GAAE,KAAE,MAAG;CAAC,IAAIA,IAAE,EAAE,MAAIC,EAAE;CAAE,IAAG,CAACD,EAAE,YAAY,gBAAe,MAAM,IAAI,EAAEE,EAAE,kCAAkCF,EAAE,SAAS,CAAC;CAAE,IAAG,EAAE,IAAIA,CAAC,GAAE,MAAM,IAAI,EAAE,qCAAqCA,EAAE,UAAU,oCAAoC;CAAE,IAAI,IAAEA,EAAE,gBAAgB;CAAE,EAAE,IAAIA,GAAE,CAAC,GAAEG,QAAM,EAAE,OAAOH,CAAC,CAAC;CAAE,IAAII,IAAE,EAAE,iBAAc,MAAG,KAAG,OAAK,EAAE,qBAAmB,KAAG,OAAK,aAAa,QAAM,aAAa,WAAS,IAAE,OAAO,CAAC;CAAG,QAAM;EAAC,EAAE,aAAaA,EAAE,EAAE,MAAM,KAAK,CAAC;CAAC,CAAC;CAAE,IAAI,IAAE,EAAE;CAAS,IAAG,GAAE,IAAG,EAAE,YAAW,IAAG,EAAE,8HAA8H;MAAM;EAAC,IAAI,IAAE,EAAE;EAAO,QAAM;GAAC,EAAE,QAAM,EAAE,IAAI,UAAU,IAAE,EAAE,OAAO,UAAU;EAAC,CAAC;CAAC;CAAC,OAAM;EAAC,qBAAkB,EAAE,cAAc;EAAE,WAAU;EAAE,sBAAmB,EAAE,eAAe;EAAE,oBAAkB,MAAG,IAAE,EAAE,YAAY,EAAC,aAAY,CAAC,EAAC,GAAE,CAAC,IAAE,EAAE,YAAY,CAAC,CAAC;EAAE,aAAY,EAAE,YAAY,KAAK,CAAC;CAAC;AAAC"}
1
+ {"version":3,"file":"field.js","names":["r","t","u","i","f","o","a"],"sources":["../../../../../ore/dist/forms/field.js"],"sourcesContent":["import{warn as e}from\"../_dev.js\";import{ORE_ERRORS as t,OreApiError as n}from\"../errors.js\";import{getHost as r,onCleanup as i,onFormReset as a,watchEffect as o}from\"../runtime.js\";import\"@vielzeug/ripple\";var s=new WeakMap,c=c=>{let l=c.el??r();if(!l.constructor.formAssociated)throw new n(t.defineFieldRequiresFormAssociated(l.localName));if(s.has(l))throw new n(`useField() was already called on <${l.localName}>. Call it only once per component.`);let u=l.attachInternals();s.set(l,u),i(()=>s.delete(l));let d=c.toFormValue??(e=>e==null?c.emptyStringForNull?``:null:e instanceof File||e instanceof FormData?e:String(e));o(()=>{u.setFormValue(d(c.value.value))});let f=c.disabled;if(f)if(!(`states`in u))e(`useField(): ElementInternals.states (CustomStateSet) is not available in this environment — disabled state tracking skipped.`);else{let e=u.states;o(()=>{f.value?e.add(`disabled`):e.delete(`disabled`)})}return c.validity&&o(()=>{let t=c.validity?.value??{},n=Object.values(t).some(Boolean),r=c.validationMessage?.value??``;if(n&&!r){e(\"useField(): `validity` has a truthy flag but `validationMessage` is empty — internals.setValidity() requires a non-empty message whenever any flag is true. Falling back to a generic message; pass `validationMessage` to customize it.\"),u.setValidity(t,`Invalid value.`);return}u.setValidity(t,r)}),c.onReset&&a(c.onReset),{checkValidity:()=>u.checkValidity(),internals:u,reportValidity:()=>u.reportValidity(),setCustomValidity:e=>e?u.setValidity({customError:!0},e):u.setValidity({}),setValidity:u.setValidity.bind(u)}};export{c as useField};\n//# sourceMappingURL=field.js.map"],"mappings":";;;;;AAA+M,IAAI,oBAAE,IAAI,QAAM,GAAE,KAAE,MAAG;CAAC,IAAI,IAAE,EAAE,MAAIA,EAAE;CAAE,IAAG,CAAC,EAAE,YAAY,gBAAe,MAAM,IAAI,EAAEC,EAAE,kCAAkC,EAAE,SAAS,CAAC;CAAE,IAAG,EAAE,IAAI,CAAC,GAAE,MAAM,IAAI,EAAE,qCAAqC,EAAE,UAAU,oCAAoC;CAAE,IAAIC,IAAE,EAAE,gBAAgB;CAAE,EAAE,IAAI,GAAEA,CAAC,GAAEC,QAAM,EAAE,OAAO,CAAC,CAAC;CAAE,IAAI,IAAE,EAAE,iBAAc,MAAG,KAAG,OAAK,EAAE,qBAAmB,KAAG,OAAK,aAAa,QAAM,aAAa,WAAS,IAAE,OAAO,CAAC;CAAG,QAAM;EAAC,EAAE,aAAa,EAAE,EAAE,MAAM,KAAK,CAAC;CAAC,CAAC;CAAE,IAAIC,IAAE,EAAE;CAAS,IAAGA,GAAE,IAAG,EAAE,YAAWF,IAAG,EAAE,8HAA8H;MAAM;EAAC,IAAI,IAAEA,EAAE;EAAO,QAAM;GAAC,EAAE,QAAM,EAAE,IAAI,UAAU,IAAE,EAAE,OAAO,UAAU;EAAC,CAAC;CAAC;CAAC,OAAO,EAAE,YAAUG,QAAM;EAAC,IAAIJ,IAAE,EAAE,UAAU,SAAO,CAAC,GAAE,IAAE,OAAO,OAAOA,CAAC,CAAC,CAAC,KAAK,OAAO,GAAE,IAAE,EAAE,mBAAmB,SAAO;EAAG,IAAG,KAAG,CAAC,GAAE;GAAC,EAAE,0OAA0O,GAAEC,EAAE,YAAYD,GAAE,gBAAgB;GAAE;EAAM;EAAC,EAAE,YAAYA,GAAE,CAAC;CAAC,CAAC,GAAE,EAAE,WAASK,EAAE,EAAE,OAAO,GAAE;EAAC,qBAAkBJ,EAAE,cAAc;EAAE,WAAUA;EAAE,sBAAmBA,EAAE,eAAe;EAAE,oBAAkB,MAAG,IAAEA,EAAE,YAAY,EAAC,aAAY,CAAC,EAAC,GAAE,CAAC,IAAEA,EAAE,YAAY,CAAC,CAAC;EAAE,aAAYA,EAAE,YAAY,KAAKA,CAAC;CAAC;AAAC"}
@@ -1,2 +1,2 @@
1
- const e=require("./errors.cjs");require("./utils/dom.cjs");let t=require("@vielzeug/ripple");var n=null,r=(e,t)=>{let r=n;n=e;try{return t()}finally{n=r}},i=t=>{if(n)return n;throw new e.OreApiError(`${t}: ${e.ORE_ERRORS.lifecycleOutsideSetup}`)},a=()=>i(`getHost`).element,o=e=>n?((0,t.onCleanup)(e),!0):!1,s=t.onCleanup,c=e=>{let n=(0,t.effect)(e),r=()=>n.dispose();return o(r),r};exports.getHost=a,exports.onCleanup=s,exports.requireSetupContext=i,exports.runWithContext=r,exports.tryRegisterCleanup=o,exports.watchEffect=c;
1
+ const e=require("./errors.cjs");require("./utils/dom.cjs");let t=require("@vielzeug/ripple");var n=null,r=(e,t)=>{let r=n;n=e;try{return t()}finally{n=r}},i=t=>{if(n)return n;throw new e.OreApiError(`${t}: ${e.ORE_ERRORS.lifecycleOutsideSetup}`)},a=()=>i(`getHost`).element,o=e=>n?((0,t.onCleanup)(e),!0):!1,s=t.onCleanup,c=e=>{i(`onFormReset`).formResetCallbacks.push(e)},l=e=>{let n=(0,t.effect)(e),r=()=>n.dispose();return o(r),r};exports.getHost=a,exports.onCleanup=s,exports.onFormReset=c,exports.requireSetupContext=i,exports.runWithContext=r,exports.tryRegisterCleanup=o,exports.watchEffect=l;
2
2
  //# sourceMappingURL=runtime.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.cjs","names":["t","n","e","i"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=n=>{if(a)return a;throw new t(`${n}: ${e.lifecycleOutsideSetup}`)},c=()=>s(`getHost`).element,l=e=>a?(i(e),!0):!1,u=i,d=e=>{s(`onMounted`).mountCallbacks.push(e)},f=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function p(e,t,r,i){if(s(`onEvent`),!e)return;let a=n(e,t,r,i);l(a)||a()}var m=(e,t)=>f(()=>{let n=e.value;if(n)return t(n)});export{c as getHost,u as onCleanup,m as onElement,p as onEvent,d as onMounted,s as requireSetupContext,o as runWithContext,l as tryRegisterCleanup,f as watchEffect};\n//# sourceMappingURL=runtime.js.map"],"mappings":"6FAA2J,IAAI,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAIA,EAAAA,YAAE,GAAGC,EAAE,IAAIC,EAAAA,WAAE,uBAAuB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAA,EAAA,EAAA,UAAA,CAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAEC,EAAAA,UAA+C,EAAE,GAAG,CAAC,IAAI,GAAA,EAAA,EAAA,OAAA,CAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"runtime.cjs","names":["t","n","e","i"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=n=>{if(a)return a;throw new t(`${n}: ${e.lifecycleOutsideSetup}`)},c=()=>s(`getHost`).element,l=e=>a?(i(e),!0):!1,u=i,d=e=>{s(`onMounted`).mountCallbacks.push(e)},f=e=>{s(`onFormReset`).formResetCallbacks.push(e)},p=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function m(e,t,r,i){if(s(`onEvent`),!e)return;let a=n(e,t,r,i);l(a)||a()}var h=(e,t)=>p(()=>{let n=e.value;if(n)return t(n)});export{c as getHost,u as onCleanup,h as onElement,m as onEvent,f as onFormReset,d as onMounted,s as requireSetupContext,o as runWithContext,l as tryRegisterCleanup,p as watchEffect};\n//# sourceMappingURL=runtime.js.map"],"mappings":"6FAA2J,IAAI,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAIA,EAAAA,YAAE,GAAGC,EAAE,IAAIC,EAAAA,WAAE,uBAAuB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAA,EAAA,EAAA,UAAA,CAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAEC,EAAAA,UAA+C,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,mBAAmB,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,GAAA,EAAA,EAAA,OAAA,CAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC"}
@@ -14,10 +14,12 @@ var i = null, a = (e, t) => {
14
14
  if (i) return i;
15
15
  throw new t(`${n}: ${e.lifecycleOutsideSetup}`);
16
16
  }, s = () => o("getHost").element, c = (e) => i ? (r(e), !0) : !1, l = r, u = (e) => {
17
+ o("onFormReset").formResetCallbacks.push(e);
18
+ }, d = (e) => {
17
19
  let t = n(e), r = () => t.dispose();
18
20
  return c(r), r;
19
21
  };
20
22
  //#endregion
21
- export { s as getHost, l as onCleanup, o as requireSetupContext, a as runWithContext, c as tryRegisterCleanup, u as watchEffect };
23
+ export { s as getHost, l as onCleanup, u as onFormReset, o as requireSetupContext, a as runWithContext, c as tryRegisterCleanup, d as watchEffect };
22
24
 
23
25
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["t","n","e","i","r"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=n=>{if(a)return a;throw new t(`${n}: ${e.lifecycleOutsideSetup}`)},c=()=>s(`getHost`).element,l=e=>a?(i(e),!0):!1,u=i,d=e=>{s(`onMounted`).mountCallbacks.push(e)},f=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function p(e,t,r,i){if(s(`onEvent`),!e)return;let a=n(e,t,r,i);l(a)||a()}var m=(e,t)=>f(()=>{let n=e.value;if(n)return t(n)});export{c as getHost,u as onCleanup,m as onElement,p as onEvent,d as onMounted,s as requireSetupContext,o as runWithContext,l as tryRegisterCleanup,f as watchEffect};\n//# sourceMappingURL=runtime.js.map"],"mappings":";;;;AAA2J,IAAI,IAAE,MAAK,KAAG,GAAE,MAAI;CAAC,IAAI,IAAE;CAAE,IAAE;CAAE,IAAG;EAAC,OAAO,EAAE;CAAC,UAAQ;EAAC,IAAE;CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,IAAG,GAAE,OAAO;CAAE,MAAM,IAAIA,EAAE,GAAGC,EAAE,IAAIC,EAAE,uBAAuB;AAAC,GAAE,UAAM,EAAE,SAAS,CAAC,CAAC,SAAQ,KAAE,MAAG,KAAGC,EAAE,CAAC,GAAE,CAAC,KAAG,CAAC,GAAE,IAAEA,GAA+C,KAAE,MAAG;CAAC,IAAI,IAAEC,EAAE,CAAC,GAAE,UAAM,EAAE,QAAQ;CAAE,OAAO,EAAE,CAAC,GAAE;AAAC"}
1
+ {"version":3,"file":"runtime.js","names":["t","n","e","i","r"],"sources":["../../../../ore/dist/runtime.js"],"sourcesContent":["import{ORE_ERRORS as e,OreApiError as t}from\"./errors.js\";import{listen as n}from\"./utils/dom.js\";import{effect as r,onCleanup as i}from\"@vielzeug/ripple\";var a=null,o=(e,t)=>{let n=a;a=e;try{return t()}finally{a=n}},s=n=>{if(a)return a;throw new t(`${n}: ${e.lifecycleOutsideSetup}`)},c=()=>s(`getHost`).element,l=e=>a?(i(e),!0):!1,u=i,d=e=>{s(`onMounted`).mountCallbacks.push(e)},f=e=>{s(`onFormReset`).formResetCallbacks.push(e)},p=e=>{let t=r(e),n=()=>t.dispose();return l(n),n};function m(e,t,r,i){if(s(`onEvent`),!e)return;let a=n(e,t,r,i);l(a)||a()}var h=(e,t)=>p(()=>{let n=e.value;if(n)return t(n)});export{c as getHost,u as onCleanup,h as onElement,m as onEvent,f as onFormReset,d as onMounted,s as requireSetupContext,o as runWithContext,l as tryRegisterCleanup,p as watchEffect};\n//# sourceMappingURL=runtime.js.map"],"mappings":";;;;AAA2J,IAAI,IAAE,MAAK,KAAG,GAAE,MAAI;CAAC,IAAI,IAAE;CAAE,IAAE;CAAE,IAAG;EAAC,OAAO,EAAE;CAAC,UAAQ;EAAC,IAAE;CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,IAAG,GAAE,OAAO;CAAE,MAAM,IAAIA,EAAE,GAAGC,EAAE,IAAIC,EAAE,uBAAuB;AAAC,GAAE,UAAM,EAAE,SAAS,CAAC,CAAC,SAAQ,KAAE,MAAG,KAAGC,EAAE,CAAC,GAAE,CAAC,KAAG,CAAC,GAAE,IAAEA,GAA+C,KAAE,MAAG;CAAC,EAAE,aAAa,CAAC,CAAC,mBAAmB,KAAK,CAAC;AAAC,GAAE,KAAE,MAAG;CAAC,IAAI,IAAEC,EAAE,CAAC,GAAE,UAAM,EAAE,QAAQ;CAAE,OAAO,EAAE,CAAC,GAAE;AAAC"}
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{--_menu-panel-bg:var(--menu-panel-bg,var(--color-canvas));--_menu-panel-border-color:var(--menu-panel-border-color,var(--color-divider));--_menu-panel-blur:var(--menu-panel-blur,var(--blur-md));--_menu-panel-shadow:var(--menu-panel-shadow,var(--shadow-xl));display:inline-block;position:relative}.menu-panel{z-index:calc(var(--z-popover,1000) + 1);box-sizing:border-box;min-width:var(--menu-panel-min-width,10rem);max-height:var(--menu-panel-max-height,min(70vh, 32rem));padding:var(--size-1);pointer-events:none;background:var(--_menu-panel-bg);border:var(--border) solid var(--_menu-panel-border-color);border-radius:var(--menu-panel-radius,var(--rounded-lg));box-shadow:var(--_menu-panel-shadow);opacity:0;-webkit-backdrop-filter:blur(var(--_menu-panel-blur));backdrop-filter:blur(var(--_menu-panel-blur));transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));transform-origin:0 0;transition:opacity .1s var(--ease-spring), transform .1s var(--ease-spring), display .1s allow-discrete, overlay .1s allow-discrete;margin:0;position:fixed;top:0;overflow-y:auto}.menu-panel:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.menu-panel:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.menu-panel[data-placement=top-start],.menu-panel[data-placement=top],.menu-panel[data-placement=top-end]{transform-origin:0 100%}.menu-panel[data-placement=bottom-end],.menu-panel[data-placement=right-start],.menu-panel[data-placement=right]{transform-origin:100% 0}.menu-panel[data-open]{pointer-events:auto;opacity:1;transition:opacity .15s var(--ease-spring), transform .15s var(--ease-spring), display .15s allow-discrete, overlay .15s allow-discrete;transform:translateY(0)scale(1)}@starting-style{.menu-panel[data-open]{opacity:0;transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale))}}::slotted(ore-menu-item),::slotted(ore-menu-separator){display:block}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{--_menu-panel-bg:var(--menu-panel-bg,var(--color-canvas));--_menu-panel-border-color:var(--menu-panel-border-color,var(--color-divider));--_menu-panel-blur:var(--menu-panel-blur,var(--blur-md));--_menu-panel-shadow:var(--menu-panel-shadow,var(--shadow-xl));display:inline-block;position:relative}.menu-panel{z-index:calc(var(--z-popover) + 1);box-sizing:border-box;min-width:var(--menu-panel-min-width,10rem);max-height:var(--menu-panel-max-height,min(70vh, 32rem));padding:var(--size-1);pointer-events:none;background:var(--_menu-panel-bg);border:var(--border) solid var(--_menu-panel-border-color);border-radius:var(--menu-panel-radius,var(--rounded-lg));box-shadow:var(--_menu-panel-shadow);opacity:0;-webkit-backdrop-filter:blur(var(--_menu-panel-blur));backdrop-filter:blur(var(--_menu-panel-blur));transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));transform-origin:0 0;transition:opacity .1s var(--ease-spring), transform .1s var(--ease-spring), display .1s allow-discrete, overlay .1s allow-discrete;margin:0;position:fixed;top:0;overflow-y:auto}.menu-panel:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.menu-panel:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.menu-panel[data-placement=top-start],.menu-panel[data-placement=top],.menu-panel[data-placement=top-end]{transform-origin:0 100%}.menu-panel[data-placement=bottom-end],.menu-panel[data-placement=right-start],.menu-panel[data-placement=right]{transform-origin:100% 0}.menu-panel[data-open]{pointer-events:auto;opacity:1;transition:opacity .15s var(--ease-spring), transform .15s var(--ease-spring), display .15s allow-discrete, overlay .15s allow-discrete;transform:translateY(0)scale(1)}@starting-style{.menu-panel[data-open]{opacity:0;transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale))}}::slotted(ore-menu-item),::slotted(ore-menu-separator){display:block}}`;exports.default=e;
2
2
  //# sourceMappingURL=menu.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.css.cjs","names":[],"sources":["../../../src/overlay/menu/menu.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_menu-panel-bg: var(--menu-panel-bg, var(--color-canvas));\n --_menu-panel-border-color: var(--menu-panel-border-color, var(--color-divider));\n --_menu-panel-blur: var(--menu-panel-blur, var(--blur-md));\n --_menu-panel-shadow: var(--menu-panel-shadow, var(--shadow-xl));\n\n position: relative;\n display: inline-block;\n }\n\n /* ========================================\n Menu Panel\n ======================================== */\n\n .menu-panel {\n position: fixed;\n inset-inline-start: 0;\n top: 0;\n z-index: calc(var(--z-popover, 1000) + 1);\n box-sizing: border-box;\n min-width: var(--menu-panel-min-width, 10rem);\n max-height: var(--menu-panel-max-height, min(70vh, 32rem));\n padding: var(--size-1);\n margin: 0;\n overflow-y: auto;\n pointer-events: none;\n background: var(--_menu-panel-bg);\n border: var(--border) solid var(--_menu-panel-border-color);\n border-radius: var(--menu-panel-radius, var(--rounded-lg));\n box-shadow: var(--_menu-panel-shadow);\n opacity: 0;\n backdrop-filter: blur(var(--_menu-panel-blur));\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n transform-origin: top left;\n transition:\n opacity 100ms var(--ease-spring),\n transform 100ms var(--ease-spring),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n }\n\n .menu-panel[data-placement='top-start'],\n .menu-panel[data-placement='top'],\n .menu-panel[data-placement='top-end'] {\n transform-origin: bottom left;\n }\n\n .menu-panel[data-placement='bottom-end'],\n .menu-panel[data-placement='right-start'],\n .menu-panel[data-placement='right'] {\n transform-origin: top right;\n }\n\n .menu-panel[data-open] {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0) scale(1);\n transition:\n opacity 150ms var(--ease-spring),\n transform 150ms var(--ease-spring),\n display 150ms allow-discrete,\n overlay 150ms allow-discrete;\n\n @starting-style {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n }\n }\n\n /* ========================================\n Menu Items (slotted ore-menu-item)\n ======================================== */\n\n ::slotted(ore-menu-item) {\n display: block;\n }\n\n ::slotted(ore-menu-separator) {\n display: block;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"menu.css.cjs","names":[],"sources":["../../../src/overlay/menu/menu.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_menu-panel-bg: var(--menu-panel-bg, var(--color-canvas));\n --_menu-panel-border-color: var(--menu-panel-border-color, var(--color-divider));\n --_menu-panel-blur: var(--menu-panel-blur, var(--blur-md));\n --_menu-panel-shadow: var(--menu-panel-shadow, var(--shadow-xl));\n\n position: relative;\n display: inline-block;\n }\n\n /* ========================================\n Menu Panel\n ======================================== */\n\n .menu-panel {\n position: fixed;\n inset-inline-start: 0;\n top: 0;\n z-index: calc(var(--z-popover) + 1);\n box-sizing: border-box;\n min-width: var(--menu-panel-min-width, 10rem);\n max-height: var(--menu-panel-max-height, min(70vh, 32rem));\n padding: var(--size-1);\n margin: 0;\n overflow-y: auto;\n pointer-events: none;\n background: var(--_menu-panel-bg);\n border: var(--border) solid var(--_menu-panel-border-color);\n border-radius: var(--menu-panel-radius, var(--rounded-lg));\n box-shadow: var(--_menu-panel-shadow);\n opacity: 0;\n backdrop-filter: blur(var(--_menu-panel-blur));\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n transform-origin: top left;\n transition:\n opacity 100ms var(--ease-spring),\n transform 100ms var(--ease-spring),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n }\n\n .menu-panel[data-placement='top-start'],\n .menu-panel[data-placement='top'],\n .menu-panel[data-placement='top-end'] {\n transform-origin: bottom left;\n }\n\n .menu-panel[data-placement='bottom-end'],\n .menu-panel[data-placement='right-start'],\n .menu-panel[data-placement='right'] {\n transform-origin: top right;\n }\n\n .menu-panel[data-open] {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0) scale(1);\n transition:\n opacity 150ms var(--ease-spring),\n transform 150ms var(--ease-spring),\n display 150ms allow-discrete,\n overlay 150ms allow-discrete;\n\n @starting-style {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n }\n }\n\n /* ========================================\n Menu Items (slotted ore-menu-item)\n ======================================== */\n\n ::slotted(ore-menu-item) {\n display: block;\n }\n\n ::slotted(ore-menu-separator) {\n display: block;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/overlay/menu/menu.css?inline
2
- var e = "@layer refine.base{:host{--_menu-panel-bg:var(--menu-panel-bg,var(--color-canvas));--_menu-panel-border-color:var(--menu-panel-border-color,var(--color-divider));--_menu-panel-blur:var(--menu-panel-blur,var(--blur-md));--_menu-panel-shadow:var(--menu-panel-shadow,var(--shadow-xl));display:inline-block;position:relative}.menu-panel{z-index:calc(var(--z-popover,1000) + 1);box-sizing:border-box;min-width:var(--menu-panel-min-width,10rem);max-height:var(--menu-panel-max-height,min(70vh, 32rem));padding:var(--size-1);pointer-events:none;background:var(--_menu-panel-bg);border:var(--border) solid var(--_menu-panel-border-color);border-radius:var(--menu-panel-radius,var(--rounded-lg));box-shadow:var(--_menu-panel-shadow);opacity:0;-webkit-backdrop-filter:blur(var(--_menu-panel-blur));backdrop-filter:blur(var(--_menu-panel-blur));transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));transform-origin:0 0;transition:opacity .1s var(--ease-spring), transform .1s var(--ease-spring), display .1s allow-discrete, overlay .1s allow-discrete;margin:0;position:fixed;top:0;overflow-y:auto}.menu-panel:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.menu-panel:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.menu-panel[data-placement=top-start],.menu-panel[data-placement=top],.menu-panel[data-placement=top-end]{transform-origin:0 100%}.menu-panel[data-placement=bottom-end],.menu-panel[data-placement=right-start],.menu-panel[data-placement=right]{transform-origin:100% 0}.menu-panel[data-open]{pointer-events:auto;opacity:1;transition:opacity .15s var(--ease-spring), transform .15s var(--ease-spring), display .15s allow-discrete, overlay .15s allow-discrete;transform:translateY(0)scale(1)}@starting-style{.menu-panel[data-open]{opacity:0;transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale))}}::slotted(ore-menu-item),::slotted(ore-menu-separator){display:block}}";
2
+ var e = "@layer refine.base{:host{--_menu-panel-bg:var(--menu-panel-bg,var(--color-canvas));--_menu-panel-border-color:var(--menu-panel-border-color,var(--color-divider));--_menu-panel-blur:var(--menu-panel-blur,var(--blur-md));--_menu-panel-shadow:var(--menu-panel-shadow,var(--shadow-xl));display:inline-block;position:relative}.menu-panel{z-index:calc(var(--z-popover) + 1);box-sizing:border-box;min-width:var(--menu-panel-min-width,10rem);max-height:var(--menu-panel-max-height,min(70vh, 32rem));padding:var(--size-1);pointer-events:none;background:var(--_menu-panel-bg);border:var(--border) solid var(--_menu-panel-border-color);border-radius:var(--menu-panel-radius,var(--rounded-lg));box-shadow:var(--_menu-panel-shadow);opacity:0;-webkit-backdrop-filter:blur(var(--_menu-panel-blur));backdrop-filter:blur(var(--_menu-panel-blur));transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));transform-origin:0 0;transition:opacity .1s var(--ease-spring), transform .1s var(--ease-spring), display .1s allow-discrete, overlay .1s allow-discrete;margin:0;position:fixed;top:0;overflow-y:auto}.menu-panel:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.menu-panel:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.menu-panel[data-placement=top-start],.menu-panel[data-placement=top],.menu-panel[data-placement=top-end]{transform-origin:0 100%}.menu-panel[data-placement=bottom-end],.menu-panel[data-placement=right-start],.menu-panel[data-placement=right]{transform-origin:100% 0}.menu-panel[data-open]{pointer-events:auto;opacity:1;transition:opacity .15s var(--ease-spring), transform .15s var(--ease-spring), display .15s allow-discrete, overlay .15s allow-discrete;transform:translateY(0)scale(1)}@starting-style{.menu-panel[data-open]{opacity:0;transform:translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale))}}::slotted(ore-menu-item),::slotted(ore-menu-separator){display:block}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"menu.css.js","names":[],"sources":["../../../src/overlay/menu/menu.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_menu-panel-bg: var(--menu-panel-bg, var(--color-canvas));\n --_menu-panel-border-color: var(--menu-panel-border-color, var(--color-divider));\n --_menu-panel-blur: var(--menu-panel-blur, var(--blur-md));\n --_menu-panel-shadow: var(--menu-panel-shadow, var(--shadow-xl));\n\n position: relative;\n display: inline-block;\n }\n\n /* ========================================\n Menu Panel\n ======================================== */\n\n .menu-panel {\n position: fixed;\n inset-inline-start: 0;\n top: 0;\n z-index: calc(var(--z-popover, 1000) + 1);\n box-sizing: border-box;\n min-width: var(--menu-panel-min-width, 10rem);\n max-height: var(--menu-panel-max-height, min(70vh, 32rem));\n padding: var(--size-1);\n margin: 0;\n overflow-y: auto;\n pointer-events: none;\n background: var(--_menu-panel-bg);\n border: var(--border) solid var(--_menu-panel-border-color);\n border-radius: var(--menu-panel-radius, var(--rounded-lg));\n box-shadow: var(--_menu-panel-shadow);\n opacity: 0;\n backdrop-filter: blur(var(--_menu-panel-blur));\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n transform-origin: top left;\n transition:\n opacity 100ms var(--ease-spring),\n transform 100ms var(--ease-spring),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n }\n\n .menu-panel[data-placement='top-start'],\n .menu-panel[data-placement='top'],\n .menu-panel[data-placement='top-end'] {\n transform-origin: bottom left;\n }\n\n .menu-panel[data-placement='bottom-end'],\n .menu-panel[data-placement='right-start'],\n .menu-panel[data-placement='right'] {\n transform-origin: top right;\n }\n\n .menu-panel[data-open] {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0) scale(1);\n transition:\n opacity 150ms var(--ease-spring),\n transform 150ms var(--ease-spring),\n display 150ms allow-discrete,\n overlay 150ms allow-discrete;\n\n @starting-style {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n }\n }\n\n /* ========================================\n Menu Items (slotted ore-menu-item)\n ======================================== */\n\n ::slotted(ore-menu-item) {\n display: block;\n }\n\n ::slotted(ore-menu-separator) {\n display: block;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"menu.css.js","names":[],"sources":["../../../src/overlay/menu/menu.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_menu-panel-bg: var(--menu-panel-bg, var(--color-canvas));\n --_menu-panel-border-color: var(--menu-panel-border-color, var(--color-divider));\n --_menu-panel-blur: var(--menu-panel-blur, var(--blur-md));\n --_menu-panel-shadow: var(--menu-panel-shadow, var(--shadow-xl));\n\n position: relative;\n display: inline-block;\n }\n\n /* ========================================\n Menu Panel\n ======================================== */\n\n .menu-panel {\n position: fixed;\n inset-inline-start: 0;\n top: 0;\n z-index: calc(var(--z-popover) + 1);\n box-sizing: border-box;\n min-width: var(--menu-panel-min-width, 10rem);\n max-height: var(--menu-panel-max-height, min(70vh, 32rem));\n padding: var(--size-1);\n margin: 0;\n overflow-y: auto;\n pointer-events: none;\n background: var(--_menu-panel-bg);\n border: var(--border) solid var(--_menu-panel-border-color);\n border-radius: var(--menu-panel-radius, var(--rounded-lg));\n box-shadow: var(--_menu-panel-shadow);\n opacity: 0;\n backdrop-filter: blur(var(--_menu-panel-blur));\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n transform-origin: top left;\n transition:\n opacity 100ms var(--ease-spring),\n transform 100ms var(--ease-spring),\n display 100ms allow-discrete,\n overlay 100ms allow-discrete;\n }\n\n .menu-panel[data-placement='top-start'],\n .menu-panel[data-placement='top'],\n .menu-panel[data-placement='top-end'] {\n transform-origin: bottom left;\n }\n\n .menu-panel[data-placement='bottom-end'],\n .menu-panel[data-placement='right-start'],\n .menu-panel[data-placement='right'] {\n transform-origin: top right;\n }\n\n .menu-panel[data-open] {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0) scale(1);\n transition:\n opacity 150ms var(--ease-spring),\n transform 150ms var(--ease-spring),\n display 150ms allow-discrete,\n overlay 150ms allow-discrete;\n\n @starting-style {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y)) scale(var(--overlay-enter-scale));\n }\n }\n\n /* ========================================\n Menu Items (slotted ore-menu-item)\n ======================================== */\n\n ::slotted(ore-menu-item) {\n display: block;\n }\n\n ::slotted(ore-menu-separator) {\n display: block;\n }\n}\n"],"mappings":""}
@@ -1,11 +1,11 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ore/dist/directives/when.cjs");require("./ore/dist/directives.cjs");const t=require("./styles/mixins/shape.css.cjs"),n=require("./styles/mixins/states.css.cjs"),r=require("./styles/mixins/theme.css.cjs"),i=require("./shared/prop-bundles.cjs"),a=require("./headless/ore.cjs"),o=require("./headless/choice-field.cjs"),s=require("./headless/nav.cjs"),c=require("./headless/light-dom.cjs"),l=require("./ore/dist/forms/field.cjs");require("./ore/dist/forms.cjs");const u=require("./inputs/shared/form-context.cjs"),d=require("./inputs/radio-group/radio-group.css.cjs");let f=require("@vielzeug/ore");require("@vielzeug/ripple");var p=(0,f.createContext)(`OreRadioGroup`),m=`ore-radio-group`;(0,f.define)(m,{formAssociated:!0,props:{...i.themableBundle,...i.sizableBundle,...i.disablableBundle,error:f.prop.string(),helper:f.prop.string(),label:f.prop.string(),name:f.prop.string(),orientation:f.prop.oneOf([`horizontal`,`vertical`],`vertical`),required:f.prop.bool(!1),value:f.prop.string()},setup(t){let n=(0,f.getHost)(),r=(0,f.useEmit)(),i=(0,f.useSlots)(),d=f.watchEffect,m=(0,f.inject)(u.FORM_CTX),h=u.useFormContext(t,m),g=null,_=o.createChoiceField({disabled:h.disabled,error:t.error,getFormField:()=>g,helper:t.helper,label:t.label,prefix:`radio-group`,signal:a.lifecycleSignal(f.onCleanup),validateOn:m?.validateOn,value:t.value});g=l.useField({disabled:_.disabled,toFormValue:e=>e,value:_.formValue});let v=_.selectedValue,y=h.disabled;(0,f.bind)({attr:{size:h.size,value:()=>v.value||null}});let b=()=>c.getLightChildrenByTag(n,`ore-radio`),x=()=>y.value?[]:b().filter(e=>!e.hasAttribute(`disabled`)),S=e=>c.getChoiceLabel(b(),e),C=(e,t)=>{_.setValues(e?[e]:[]);let n=e?[S(e)]:[];r(`change`,{labels:n,originalEvent:t,values:e?[e]:[]}),_.triggerValidation(`blur`)};(0,f.provide)(p,{color:t.color,disabled:y,name:t.name,select:C,size:t.size,value:v}),d(()=>{i.elements().value,v.value;let e=b();for(let n of e){let e=n.getAttribute(`value`)??``;n.toggleAttribute(`checked`,e===v.value),t.name.value?n.setAttribute(`name`,t.name.value):n.removeAttribute(`name`),t.color.value?n.setAttribute(`color`,t.color.value):n.removeAttribute(`color`),t.size.value?n.setAttribute(`size`,t.size.value):n.removeAttribute(`size`),n.toggleAttribute(`disabled`,y.value)}}),d(()=>{i.elements().value;let e=b(),t=!1;for(let n of e){let e=n.getAttribute(`value`)===v.value;n.setAttribute(`tabindex`,e&&!y.value?`0`:`-1`),e&&!y.value&&(t=!0)}if(!t&&e.length>0){let t=e.find(e=>!e.hasAttribute(`disabled`));t&&t.setAttribute(`tabindex`,`0`)}});let w=s.createListControl({getItems:x,keys:{next:[`ArrowDown`,`ArrowRight`],prev:[`ArrowUp`,`ArrowLeft`]},loop:!0,onNavigate:(e,t,n)=>{let r=x()[t];r&&(r.focus(),r.tagName===`ORE-RADIO`&&C(r.getAttribute(`value`)??``,n))}});(0,f.bind)({on:{change:e=>{e.target!==n&&(e.stopPropagation(),C(e.target.getAttribute(`value`)??``,e))},keydown:e=>{let t=x();if(!t.length)return;let n=t.indexOf(document.activeElement);n!==-1&&(w.set(n),w.handleKeydown(e))}}});let T=(0,f.createStableId)(`radio-group-legend`);return f.html`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ore/dist/directives/when.cjs");require("./ore/dist/directives.cjs");const t=require("./styles/mixins/shape.css.cjs"),n=require("./styles/mixins/states.css.cjs"),r=require("./styles/mixins/theme.css.cjs"),i=require("./shared/prop-bundles.cjs"),a=require("./headless/ore.cjs"),o=require("./headless/choice-field.cjs"),s=require("./headless/nav.cjs"),c=require("./headless/light-dom.cjs"),l=require("./ore/dist/forms/field.cjs");require("./ore/dist/forms.cjs");const u=require("./inputs/shared/form-context.cjs"),d=require("./inputs/radio-group/radio-group.css.cjs");let f=require("@vielzeug/ore");require("@vielzeug/ripple");var p=(0,f.createContext)(`OreRadioGroup`),m=`ore-radio-group`;(0,f.define)(m,{formAssociated:!0,props:{...i.themableBundle,...i.sizableBundle,...i.disablableBundle,error:f.prop.string(),helper:f.prop.string(),label:f.prop.string(),name:f.prop.string(),orientation:f.prop.oneOf([`horizontal`,`vertical`],`vertical`),required:f.prop.bool(!1),value:{...f.prop.string(),reflect:!1}},setup(t){let n=(0,f.getHost)(),r=(0,f.useEmit)(),i=(0,f.useSlots)(),d=f.watchEffect,m=(0,f.inject)(u.FORM_CTX),h=u.useFormContext(t,m),g=o.createChoiceField({disabled:h.disabled,error:t.error,helper:t.helper,label:t.label,prefix:`radio-group`,required:t.required,signal:a.lifecycleSignal(f.onCleanup),validateOn:m?.validateOn,value:t.value});g.attachFormField(l.useField({disabled:g.disabled,onReset:g.reset,toFormValue:e=>e,validationMessage:g.validationMessage,validity:g.validity,value:g.formValue}));let _=g.selectedValue,v=h.disabled;(0,f.bind)({attr:{size:h.size,value:()=>_.value||null}});let y=()=>c.getLightChildrenByTag(n,`ore-radio`),b=()=>v.value?[]:y().filter(e=>!e.hasAttribute(`disabled`)),x=e=>c.getChoiceLabel(y(),e),S=(e,t)=>{g.setValues(e?[e]:[]);let n=e?[x(e)]:[];r(`change`,{labels:n,originalEvent:t,values:e?[e]:[]}),g.triggerValidation(`blur`)};(0,f.provide)(p,{color:t.color,disabled:v,name:t.name,select:S,size:t.size,value:_}),d(()=>{i.elements().value,_.value;let e=y();for(let n of e){let e=n.getAttribute(`value`)??``;n.toggleAttribute(`checked`,e===_.value),t.name.value?n.setAttribute(`name`,t.name.value):n.removeAttribute(`name`),t.color.value?n.setAttribute(`color`,t.color.value):n.removeAttribute(`color`),t.size.value?n.setAttribute(`size`,t.size.value):n.removeAttribute(`size`),n.toggleAttribute(`disabled`,v.value)}}),d(()=>{i.elements().value;let e=y(),t=!1;for(let n of e){let e=n.getAttribute(`value`)===_.value;n.setAttribute(`tabindex`,e&&!v.value?`0`:`-1`),e&&!v.value&&(t=!0)}if(!t&&e.length>0){let t=e.find(e=>!e.hasAttribute(`disabled`));t&&t.setAttribute(`tabindex`,`0`)}});let C=s.createListControl({getItems:b,keys:{next:[`ArrowDown`,`ArrowRight`],prev:[`ArrowUp`,`ArrowLeft`]},loop:!0,onNavigate:(e,t,n)=>{let r=b()[t];r&&(r.focus(),r.tagName===`ORE-RADIO`&&S(r.getAttribute(`value`)??``,n))}});(0,f.bind)({on:{change:e=>{e.target!==n&&(e.stopPropagation(),S(e.target.getAttribute(`value`)??``,e))},keydown:e=>{let t=b();if(!t.length)return;let n=t.indexOf(document.activeElement);n!==-1&&(C.set(n),C.handleKeydown(e))}}});let w=(0,f.createStableId)(`radio-group-legend`);return f.html`
2
2
  <fieldset
3
3
  role="radiogroup"
4
4
  aria-required="${()=>String(!!t.required.value)}"
5
- :aria-invalid="${_.ariaInvalid}"
6
- :aria-errormessage="${_.ariaErrorMessage}"
7
- :aria-describedby="${_.ariaDescribedBy}">
8
- <legend id="${T}" ?hidden=${()=>!t.label.value}>
5
+ :aria-invalid="${g.ariaInvalid}"
6
+ :aria-errormessage="${g.ariaErrorMessage}"
7
+ :aria-describedby="${g.ariaDescribedBy}">
8
+ <legend id="${w}" ?hidden=${()=>!t.label.value}>
9
9
  ${t.label}${e.when(()=>!!t.required.value,()=>f.html`<span aria-hidden="true"> *</span>`)}
10
10
  </legend>
11
11
  <div class="radio-group-items" part="items">
@@ -14,11 +14,11 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
14
14
  <div
15
15
  class="helper-text"
16
16
  part="helper"
17
- id="${_.assistiveId}"
18
- :role="${()=>_.errorText.value?`alert`:null}"
17
+ id="${g.assistiveId}"
18
+ :role="${()=>g.errorText.value?`alert`:null}"
19
19
  aria-live="polite"
20
- ?hidden="${()=>!_.errorText.value&&!_.helperText.value}">
21
- ${()=>_.errorText.value||_.helperText.value}
20
+ ?hidden="${()=>!g.errorText.value&&!g.helperText.value}">
21
+ ${()=>g.errorText.value||g.helperText.value}
22
22
  </div>
23
23
  </fieldset>
24
24
  `},styles:[r.colorThemeMixin,t.sizeVariantMixin(),n.disabledStateMixin,d.default]}),exports.RADIO_GROUP_CTX=p,exports.RADIO_GROUP_TAG=m;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.cjs","names":[],"sources":["../src/inputs/radio-group/radio-group.ts"],"sourcesContent":["import {\n createContext,\n createStableId,\n define,\n html,\n inject,\n prop,\n bind,\n getHost,\n onCleanup,\n provide,\n useEmit,\n useSlots,\n watchEffect,\n} from '@vielzeug/ore';\nimport { when } from '@vielzeug/ore/directives';\nimport { useField } from '@vielzeug/ore/forms';\nimport { type Readable } from '@vielzeug/ripple';\n\nimport type { ComponentSize, ThemeColor } from '../../types';\n\nimport {\n type ChoiceChangeDetail,\n lifecycleSignal,\n createChoiceField,\n createListControl,\n getChoiceLabel,\n getLightChildrenByTag,\n} from '../../headless';\nimport { disablableBundle, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, disabledStateMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './radio-group.css?inline';\n\n/** Radio group component properties */\nexport type OreRadioGroupProps = {\n /** Theme color tint */\n color?: ThemeColor;\n /** Disabled state */\n disabled?: boolean;\n /** Error message text */\n error?: string;\n /** Helper text displayed below the items */\n helper?: string;\n /** Group label text */\n label?: string;\n /** Form field name */\n name?: string;\n /** Layout orientation */\n orientation?: 'horizontal' | 'vertical';\n /** Required field */\n required?: boolean;\n /** Items size preset */\n size?: ComponentSize;\n /** Initial selected value */\n value?: string;\n};\n\nexport type RadioGroupContext = {\n color: Readable<ThemeColor | undefined>;\n disabled: Readable<boolean>;\n name: Readable<string | undefined>;\n select: (value: string, originalEvent?: Event) => void;\n size: Readable<ComponentSize | undefined>;\n value: Readable<string | undefined>;\n};\n\nexport const RADIO_GROUP_CTX = createContext<RadioGroupContext | undefined>('OreRadioGroup');\n\n/** Events emitted by the radio-group component */\nexport type OreRadioGroupEvents = {\n /** Emitted when the selection changes */\n change: ChoiceChangeDetail;\n};\n\n/**\n * A group of radio buttons that allows users to select a single option from a set.\n * Supports keyboard navigation (arrows) and automatic value management.\n *\n * @element ore-radio-group\n *\n * @attr {string} value - Selected value\n * @attr {string} name - Form field name\n * @attr {string} label - Group label\n * @attr {string} orientation - Layout: 'vertical' | 'horizontal'\n * @attr {boolean} required - Required field\n *\n * @fires change - Emitted when a radio is selected. detail: { values: string[], labels: string[], originalEvent?: Event }\n *\n * @slot - Place `ore-radio` elements here\n *\n * @cssprop --radio-group-direction - Flex direction of the items list ('row' | 'column')\n * @cssprop --radio-group-gap - Gap between radio items\n * @part items - Items container.\n * @example\n * ```html\n * <ore-radio-group name=\"plan\" label=\"Choose a plan\" value=\"free\" required>\n * <ore-radio value=\"free\">Free</ore-radio>\n * <ore-radio value=\"pro\">Pro</ore-radio>\n * <ore-radio value=\"enterprise\">Enterprise</ore-radio>\n * </ore-radio-group>\n * <ore-radio-group name=\"direction\" orientation=\"horizontal\" color=\"primary\">\n * <ore-radio value=\"left\">Left</ore-radio>\n * <ore-radio value=\"right\">Right</ore-radio>\n * </ore-radio-group>\n * ```\n */\nexport const RADIO_GROUP_TAG = 'ore-radio-group' as const;\ndefine<OreRadioGroupProps>(RADIO_GROUP_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n error: prop.string(),\n helper: prop.string(),\n label: prop.string(),\n name: prop.string(),\n orientation: prop.oneOf(['horizontal', 'vertical'] as const, 'vertical'),\n required: prop.bool(false),\n value: prop.string(),\n },\n setup(props) {\n const el = getHost();\n const emit = useEmit<OreRadioGroupEvents>();\n const slots = useSlots();\n const watch = watchEffect;\n\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(props, formCtx);\n\n let _formField: { reportValidity(): void } | null = null;\n const choice = createChoiceField({\n disabled: fCtxProps.disabled,\n error: props.error,\n getFormField: () => _formField,\n helper: props.helper,\n label: props.label,\n prefix: 'radio-group',\n signal: lifecycleSignal(onCleanup),\n validateOn: formCtx?.validateOn,\n value: props.value,\n });\n\n _formField = useField<string>({ disabled: choice.disabled, toFormValue: (v) => v, value: choice.formValue });\n\n const selectedValue = choice.selectedValue;\n const isDisabled = fCtxProps.disabled;\n\n bind({\n attr: {\n size: fCtxProps.size,\n value: () => selectedValue.value || null,\n },\n });\n\n const getSlottedRadios = (): HTMLElement[] => getLightChildrenByTag(el, 'ore-radio');\n\n const getEnabledRadios = (): HTMLElement[] =>\n isDisabled.value ? [] : getSlottedRadios().filter((radio) => !radio.hasAttribute('disabled'));\n\n const getLabelForValue = (value: string): string => getChoiceLabel(getSlottedRadios(), value);\n\n const selectRadio = (val: string, originalEvent?: Event): void => {\n choice.setValues(val ? [val] : []);\n\n const labels = val ? [getLabelForValue(val)] : [];\n const values = val ? [val] : [];\n\n emit('change', { labels, originalEvent, values });\n choice.triggerValidation('blur');\n };\n\n provide(RADIO_GROUP_CTX, {\n color: props.color as Readable<ThemeColor | undefined>,\n disabled: isDisabled,\n name: props.name,\n select: selectRadio,\n size: props.size as Readable<ComponentSize | undefined>,\n value: selectedValue,\n });\n\n // Sync name/color/size/disabled/checked onto slotted ore-radio children.\n watch(() => {\n void slots.elements().value;\n void selectedValue.value;\n\n const radios = getSlottedRadios();\n\n for (const radio of radios) {\n const val = radio.getAttribute('value') ?? '';\n\n radio.toggleAttribute('checked', val === selectedValue.value);\n\n if (props.name.value) radio.setAttribute('name', props.name.value);\n else radio.removeAttribute('name');\n\n if (props.color.value) radio.setAttribute('color', props.color.value);\n else radio.removeAttribute('color');\n\n if (props.size.value) radio.setAttribute('size', props.size.value);\n else radio.removeAttribute('size');\n\n radio.toggleAttribute('disabled', isDisabled.value);\n }\n });\n\n // Roving tabindex: only the selected (or first) radio is tabbable.\n watch(() => {\n void slots.elements().value;\n\n const radios = getSlottedRadios();\n let hasFocusable = false;\n\n for (const radio of radios) {\n const isSelected = radio.getAttribute('value') === selectedValue.value;\n\n radio.setAttribute('tabindex', isSelected && !isDisabled.value ? '0' : '-1');\n\n if (isSelected && !isDisabled.value) hasFocusable = true;\n }\n\n if (!hasFocusable && radios.length > 0) {\n const first = radios.find((r) => !r.hasAttribute('disabled'));\n\n if (first) first.setAttribute('tabindex', '0');\n }\n });\n\n const listControl = createListControl<HTMLElement>({\n getItems: getEnabledRadios,\n keys: { next: ['ArrowDown', 'ArrowRight'], prev: ['ArrowUp', 'ArrowLeft'] },\n loop: true,\n onNavigate: (_action, index, event) => {\n const radio = getEnabledRadios()[index];\n\n if (!radio) return;\n\n radio.focus();\n\n if (radio.tagName === 'ORE-RADIO') {\n selectRadio(radio.getAttribute('value') ?? '', event);\n }\n },\n });\n\n bind({\n on: {\n change: (e: Event) => {\n if (e.target === el) return;\n\n e.stopPropagation();\n selectRadio((e.target as HTMLElement).getAttribute('value') ?? '', e);\n },\n keydown: (e: KeyboardEvent) => {\n const radios = getEnabledRadios();\n\n if (!radios.length) return;\n\n const focused = radios.indexOf(document.activeElement as HTMLElement);\n\n if (focused === -1) return;\n\n listControl.set(focused);\n listControl.handleKeydown(e);\n },\n },\n });\n\n const legendId = createStableId('radio-group-legend');\n\n return html`\n <fieldset\n role=\"radiogroup\"\n aria-required=\"${() => String(Boolean(props.required.value))}\"\n :aria-invalid=\"${choice.ariaInvalid}\"\n :aria-errormessage=\"${choice.ariaErrorMessage}\"\n :aria-describedby=\"${choice.ariaDescribedBy}\">\n <legend id=\"${legendId}\" ?hidden=${() => !props.label.value}>\n ${props.label}${when(\n () => Boolean(props.required.value),\n () => html`<span aria-hidden=\"true\"> *</span>`,\n )}\n </legend>\n <div class=\"radio-group-items\" part=\"items\">\n <slot></slot>\n </div>\n <div\n class=\"helper-text\"\n part=\"helper\"\n id=\"${choice.assistiveId}\"\n :role=\"${() => (choice.errorText.value ? 'alert' : null)}\"\n aria-live=\"polite\"\n ?hidden=\"${() => !choice.errorText.value && !choice.helperText.value}\">\n ${() => choice.errorText.value || choice.helperText.value}\n </div>\n </fieldset>\n `;\n },\n styles: [colorThemeMixin, sizeVariantMixin(), disabledStateMixin, componentStyles],\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"radio-group.cjs","names":[],"sources":["../src/inputs/radio-group/radio-group.ts"],"sourcesContent":["import {\n createContext,\n createStableId,\n define,\n html,\n inject,\n prop,\n bind,\n getHost,\n onCleanup,\n provide,\n useEmit,\n useSlots,\n watchEffect,\n} from '@vielzeug/ore';\nimport { when } from '@vielzeug/ore/directives';\nimport { useField } from '@vielzeug/ore/forms';\nimport { type Readable } from '@vielzeug/ripple';\n\nimport type { ComponentSize, ThemeColor } from '../../types';\n\nimport {\n type ChoiceChangeDetail,\n lifecycleSignal,\n createChoiceField,\n createListControl,\n getChoiceLabel,\n getLightChildrenByTag,\n} from '../../headless';\nimport { disablableBundle, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, disabledStateMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './radio-group.css?inline';\n\n/** Radio group component properties */\nexport type OreRadioGroupProps = {\n /** Theme color tint */\n color?: ThemeColor;\n /** Disabled state */\n disabled?: boolean;\n /** Error message text */\n error?: string;\n /** Helper text displayed below the items */\n helper?: string;\n /** Group label text */\n label?: string;\n /** Form field name */\n name?: string;\n /** Layout orientation */\n orientation?: 'horizontal' | 'vertical';\n /** Required field */\n required?: boolean;\n /** Items size preset */\n size?: ComponentSize;\n /** Initial selected value */\n value?: string;\n};\n\nexport type RadioGroupContext = {\n color: Readable<ThemeColor | undefined>;\n disabled: Readable<boolean>;\n name: Readable<string | undefined>;\n select: (value: string, originalEvent?: Event) => void;\n size: Readable<ComponentSize | undefined>;\n value: Readable<string | undefined>;\n};\n\nexport const RADIO_GROUP_CTX = createContext<RadioGroupContext | undefined>('OreRadioGroup');\n\n/** Events emitted by the radio-group component */\nexport type OreRadioGroupEvents = {\n /** Emitted when the selection changes */\n change: ChoiceChangeDetail;\n};\n\n/**\n * A group of radio buttons that allows users to select a single option from a set.\n * Supports keyboard navigation (arrows) and automatic value management.\n *\n * @element ore-radio-group\n *\n * @attr {string} value - Selected value\n * @attr {string} name - Form field name\n * @attr {string} label - Group label\n * @attr {string} orientation - Layout: 'vertical' | 'horizontal'\n * @attr {boolean} required - Required field\n *\n * @fires change - Emitted when a radio is selected. detail: { values: string[], labels: string[], originalEvent?: Event }\n *\n * @slot - Place `ore-radio` elements here\n *\n * @cssprop --radio-group-direction - Flex direction of the items list ('row' | 'column')\n * @cssprop --radio-group-gap - Gap between radio items\n * @part items - Items container.\n * @example\n * ```html\n * <ore-radio-group name=\"plan\" label=\"Choose a plan\" value=\"free\" required>\n * <ore-radio value=\"free\">Free</ore-radio>\n * <ore-radio value=\"pro\">Pro</ore-radio>\n * <ore-radio value=\"enterprise\">Enterprise</ore-radio>\n * </ore-radio-group>\n * <ore-radio-group name=\"direction\" orientation=\"horizontal\" color=\"primary\">\n * <ore-radio value=\"left\">Left</ore-radio>\n * <ore-radio value=\"right\">Right</ore-radio>\n * </ore-radio-group>\n * ```\n */\nexport const RADIO_GROUP_TAG = 'ore-radio-group' as const;\ndefine<OreRadioGroupProps>(RADIO_GROUP_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n error: prop.string(),\n helper: prop.string(),\n label: prop.string(),\n name: prop.string(),\n orientation: prop.oneOf(['horizontal', 'vertical'] as const, 'vertical'),\n required: prop.bool(false),\n // Not auto-reflected (`reflect: false`) — the derived, interaction-updated selection\n // (`selectedValue`) is the single writer for this attribute, via `bind()` below; letting\n // `prop.string()`'s own default reflection also write the raw incoming value would leave\n // two effects racing to set the same attribute from different sources.\n value: { ...prop.string(), reflect: false },\n },\n setup(props) {\n const el = getHost();\n const emit = useEmit<OreRadioGroupEvents>();\n const slots = useSlots();\n const watch = watchEffect;\n\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(props, formCtx);\n\n const choice = createChoiceField({\n disabled: fCtxProps.disabled,\n error: props.error,\n helper: props.helper,\n label: props.label,\n prefix: 'radio-group',\n required: props.required,\n signal: lifecycleSignal(onCleanup),\n validateOn: formCtx?.validateOn,\n value: props.value,\n });\n\n choice.attachFormField(\n useField<string>({\n disabled: choice.disabled,\n onReset: choice.reset,\n toFormValue: (v) => v,\n validationMessage: choice.validationMessage,\n validity: choice.validity,\n value: choice.formValue,\n }),\n );\n\n const selectedValue = choice.selectedValue;\n const isDisabled = fCtxProps.disabled;\n\n bind({\n attr: {\n size: fCtxProps.size,\n value: () => selectedValue.value || null,\n },\n });\n\n const getSlottedRadios = (): HTMLElement[] => getLightChildrenByTag(el, 'ore-radio');\n\n const getEnabledRadios = (): HTMLElement[] =>\n isDisabled.value ? [] : getSlottedRadios().filter((radio) => !radio.hasAttribute('disabled'));\n\n const getLabelForValue = (value: string): string => getChoiceLabel(getSlottedRadios(), value);\n\n const selectRadio = (val: string, originalEvent?: Event): void => {\n choice.setValues(val ? [val] : []);\n\n const labels = val ? [getLabelForValue(val)] : [];\n const values = val ? [val] : [];\n\n emit('change', { labels, originalEvent, values });\n choice.triggerValidation('blur');\n };\n\n provide(RADIO_GROUP_CTX, {\n color: props.color as Readable<ThemeColor | undefined>,\n disabled: isDisabled,\n name: props.name,\n select: selectRadio,\n size: props.size as Readable<ComponentSize | undefined>,\n value: selectedValue,\n });\n\n // Sync name/color/size/disabled/checked onto slotted ore-radio children.\n watch(() => {\n void slots.elements().value;\n void selectedValue.value;\n\n const radios = getSlottedRadios();\n\n for (const radio of radios) {\n const val = radio.getAttribute('value') ?? '';\n\n radio.toggleAttribute('checked', val === selectedValue.value);\n\n if (props.name.value) radio.setAttribute('name', props.name.value);\n else radio.removeAttribute('name');\n\n if (props.color.value) radio.setAttribute('color', props.color.value);\n else radio.removeAttribute('color');\n\n if (props.size.value) radio.setAttribute('size', props.size.value);\n else radio.removeAttribute('size');\n\n radio.toggleAttribute('disabled', isDisabled.value);\n }\n });\n\n // Roving tabindex: only the selected (or first) radio is tabbable.\n watch(() => {\n void slots.elements().value;\n\n const radios = getSlottedRadios();\n let hasFocusable = false;\n\n for (const radio of radios) {\n const isSelected = radio.getAttribute('value') === selectedValue.value;\n\n radio.setAttribute('tabindex', isSelected && !isDisabled.value ? '0' : '-1');\n\n if (isSelected && !isDisabled.value) hasFocusable = true;\n }\n\n if (!hasFocusable && radios.length > 0) {\n const first = radios.find((r) => !r.hasAttribute('disabled'));\n\n if (first) first.setAttribute('tabindex', '0');\n }\n });\n\n const listControl = createListControl<HTMLElement>({\n getItems: getEnabledRadios,\n keys: { next: ['ArrowDown', 'ArrowRight'], prev: ['ArrowUp', 'ArrowLeft'] },\n loop: true,\n onNavigate: (_action, index, event) => {\n const radio = getEnabledRadios()[index];\n\n if (!radio) return;\n\n radio.focus();\n\n if (radio.tagName === 'ORE-RADIO') {\n selectRadio(radio.getAttribute('value') ?? '', event);\n }\n },\n });\n\n bind({\n on: {\n change: (e: Event) => {\n if (e.target === el) return;\n\n e.stopPropagation();\n selectRadio((e.target as HTMLElement).getAttribute('value') ?? '', e);\n },\n keydown: (e: KeyboardEvent) => {\n const radios = getEnabledRadios();\n\n if (!radios.length) return;\n\n const focused = radios.indexOf(document.activeElement as HTMLElement);\n\n if (focused === -1) return;\n\n listControl.set(focused);\n listControl.handleKeydown(e);\n },\n },\n });\n\n const legendId = createStableId('radio-group-legend');\n\n return html`\n <fieldset\n role=\"radiogroup\"\n aria-required=\"${() => String(Boolean(props.required.value))}\"\n :aria-invalid=\"${choice.ariaInvalid}\"\n :aria-errormessage=\"${choice.ariaErrorMessage}\"\n :aria-describedby=\"${choice.ariaDescribedBy}\">\n <legend id=\"${legendId}\" ?hidden=${() => !props.label.value}>\n ${props.label}${when(\n () => Boolean(props.required.value),\n () => html`<span aria-hidden=\"true\"> *</span>`,\n )}\n </legend>\n <div class=\"radio-group-items\" part=\"items\">\n <slot></slot>\n </div>\n <div\n class=\"helper-text\"\n part=\"helper\"\n id=\"${choice.assistiveId}\"\n :role=\"${() => (choice.errorText.value ? 'alert' : null)}\"\n aria-live=\"polite\"\n ?hidden=\"${() => !choice.errorText.value && !choice.helperText.value}\">\n ${() => choice.errorText.value || choice.helperText.value}\n </div>\n </fieldset>\n `;\n },\n styles: [colorThemeMixin, sizeVariantMixin(), disabledStateMixin, componentStyles],\n});\n"],"mappings":"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"}