@sectile/vue 0.18.2 → 0.19.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 (297) hide show
  1. package/README.md +53 -14
  2. package/dist/accordion.js +1 -1
  3. package/dist/accordion.js.map +1 -1
  4. package/dist/carousel.d.ts +20 -0
  5. package/dist/carousel.js +1 -1
  6. package/dist/carousel.js.map +1 -1
  7. package/dist/cascade-list.js +1 -1
  8. package/dist/cascade-list.js.map +1 -1
  9. package/dist/cascade-select.js +1 -1
  10. package/dist/cascade-select.js.map +1 -1
  11. package/dist/chart.js +1 -1
  12. package/dist/chart.js.map +1 -1
  13. package/dist/checkbox-group.js +1 -1
  14. package/dist/checkbox-group.js.map +1 -1
  15. package/dist/checkbox-tree.d.ts +102 -0
  16. package/dist/checkbox-tree.js +2 -0
  17. package/dist/checkbox-tree.js.map +1 -0
  18. package/dist/checkbox.js +1 -1
  19. package/dist/checkbox.js.map +1 -1
  20. package/dist/color-picker.d.ts +24 -0
  21. package/dist/color-picker.js +1 -1
  22. package/dist/color-picker.js.map +1 -1
  23. package/dist/combobox.d.ts +47 -1
  24. package/dist/combobox.js +1 -1
  25. package/dist/combobox.js.map +1 -1
  26. package/dist/component-handle.d.ts +8 -0
  27. package/dist/component-handle.js +2 -0
  28. package/dist/component-handle.js.map +1 -0
  29. package/dist/context-menu.d.ts +1 -0
  30. package/dist/context-menu.js +2 -0
  31. package/dist/context-menu.js.map +1 -0
  32. package/dist/drag-drop.d.ts +23 -0
  33. package/dist/drag-drop.js +2 -0
  34. package/dist/drag-drop.js.map +1 -0
  35. package/dist/editable.d.ts +3 -0
  36. package/dist/editable.js +1 -1
  37. package/dist/editable.js.map +1 -1
  38. package/dist/form/context.d.ts +3 -0
  39. package/dist/form/context.js +1 -1
  40. package/dist/form/context.js.map +1 -1
  41. package/dist/form/contracts.d.ts +1 -0
  42. package/dist/form/control-inventory.d.ts +20 -0
  43. package/dist/form/control-inventory.js +1 -1
  44. package/dist/form/control-inventory.js.map +1 -1
  45. package/dist/form/control.d.ts +44 -1
  46. package/dist/form/control.js +1 -1
  47. package/dist/form/control.js.map +1 -1
  48. package/dist/form/field.d.ts +10 -0
  49. package/dist/form/field.js +1 -1
  50. package/dist/form/field.js.map +1 -1
  51. package/dist/form/file-input.d.ts +229 -0
  52. package/dist/form/file-input.js +2 -0
  53. package/dist/form/file-input.js.map +1 -0
  54. package/dist/form/file-upload/group.d.ts +28 -0
  55. package/dist/form/file-upload/group.js +2 -0
  56. package/dist/form/file-upload/group.js.map +1 -0
  57. package/dist/form/file-upload.d.ts +26 -0
  58. package/dist/form/file-upload.js +2 -0
  59. package/dist/form/file-upload.js.map +1 -0
  60. package/dist/form/root.js +1 -1
  61. package/dist/form/root.js.map +1 -1
  62. package/dist/form-boundary.d.ts +2 -0
  63. package/dist/form-boundary.js +2 -0
  64. package/dist/form-boundary.js.map +1 -0
  65. package/dist/fullscreen.d.ts +16 -0
  66. package/dist/fullscreen.js +2 -0
  67. package/dist/fullscreen.js.map +1 -0
  68. package/dist/host-provider.d.ts +99 -1
  69. package/dist/host-provider.js +1 -1
  70. package/dist/host-provider.js.map +1 -1
  71. package/dist/image.d.ts +24 -0
  72. package/dist/image.js +2 -0
  73. package/dist/image.js.map +1 -0
  74. package/dist/index.d.ts +6 -5
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/input/native-field.d.ts +25 -6
  78. package/dist/input/native-field.js +1 -1
  79. package/dist/input/native-field.js.map +1 -1
  80. package/dist/input/native-range-field.d.ts +95 -0
  81. package/dist/input/native-range-field.js +2 -0
  82. package/dist/input/native-range-field.js.map +1 -0
  83. package/dist/internal/cascade-choice.js +1 -1
  84. package/dist/internal/cascade-choice.js.map +1 -1
  85. package/dist/internal/connection-lifetime.d.ts +10 -0
  86. package/dist/internal/connection-lifetime.js +2 -0
  87. package/dist/internal/connection-lifetime.js.map +1 -0
  88. package/dist/internal/controlled-state.js +1 -1
  89. package/dist/internal/controlled-state.js.map +1 -1
  90. package/dist/internal/popup-presentation.d.ts +32 -0
  91. package/dist/internal/popup-presentation.js +2 -0
  92. package/dist/internal/popup-presentation.js.map +1 -0
  93. package/dist/internal/portal-move.d.ts +11 -0
  94. package/dist/internal/portal-move.js +2 -0
  95. package/dist/internal/portal-move.js.map +1 -0
  96. package/dist/internal/scheduled-task.js +1 -1
  97. package/dist/internal/scheduled-task.js.map +1 -1
  98. package/dist/internal/tabs-context.d.ts +11 -0
  99. package/dist/internal/tabs-context.js +1 -1
  100. package/dist/internal/tabs-context.js.map +1 -1
  101. package/dist/internal/tree-parts.d.ts +142 -0
  102. package/dist/internal/tree-parts.js +2 -0
  103. package/dist/internal/tree-parts.js.map +1 -0
  104. package/dist/listbox.d.ts +11 -0
  105. package/dist/listbox.js +1 -1
  106. package/dist/listbox.js.map +1 -1
  107. package/dist/media-gesture.d.ts +20 -0
  108. package/dist/media-gesture.js +2 -0
  109. package/dist/media-gesture.js.map +1 -0
  110. package/dist/menu.d.ts +239 -0
  111. package/dist/menu.js +1 -1
  112. package/dist/menu.js.map +1 -1
  113. package/dist/meter-group.js +1 -1
  114. package/dist/meter-group.js.map +1 -1
  115. package/dist/multi-thumb-slider.js +1 -1
  116. package/dist/multi-thumb-slider.js.map +1 -1
  117. package/dist/overlay/dialog.d.ts +1 -0
  118. package/dist/overlay/dialog.js.map +1 -1
  119. package/dist/overlay/drawer.d.ts +33 -4
  120. package/dist/overlay/drawer.js +1 -1
  121. package/dist/overlay/drawer.js.map +1 -1
  122. package/dist/overlay/popover.d.ts +2 -1
  123. package/dist/overlay/popover.js.map +1 -1
  124. package/dist/overlay/popup.d.ts +46 -2
  125. package/dist/overlay/popup.js +1 -1
  126. package/dist/overlay/popup.js.map +1 -1
  127. package/dist/overlay/tooltip.d.ts +37 -3
  128. package/dist/overlay/tooltip.js +1 -1
  129. package/dist/overlay/tooltip.js.map +1 -1
  130. package/dist/pagination.js +1 -1
  131. package/dist/pagination.js.map +1 -1
  132. package/dist/pin-input.js +1 -1
  133. package/dist/pin-input.js.map +1 -1
  134. package/dist/presence/presence.d.ts +1 -1
  135. package/dist/presence/presence.js +1 -1
  136. package/dist/presence/presence.js.map +1 -1
  137. package/dist/primitive.d.ts +37 -3
  138. package/dist/primitive.js +1 -1
  139. package/dist/primitive.js.map +1 -1
  140. package/dist/quantity-field.js +1 -1
  141. package/dist/quantity-field.js.map +1 -1
  142. package/dist/radio-group.js +1 -1
  143. package/dist/radio-group.js.map +1 -1
  144. package/dist/rating.js +1 -1
  145. package/dist/rating.js.map +1 -1
  146. package/dist/reorder.d.ts +156 -77
  147. package/dist/reorder.js +1 -1
  148. package/dist/reorder.js.map +1 -1
  149. package/dist/select.d.ts +21 -0
  150. package/dist/select.js +1 -1
  151. package/dist/select.js.map +1 -1
  152. package/dist/slider.js +1 -1
  153. package/dist/slider.js.map +1 -1
  154. package/dist/spin-button.d.ts +19 -0
  155. package/dist/spin-button.js +1 -1
  156. package/dist/spin-button.js.map +1 -1
  157. package/dist/stepper.js +1 -1
  158. package/dist/stepper.js.map +1 -1
  159. package/dist/switch.js +1 -1
  160. package/dist/switch.js.map +1 -1
  161. package/dist/tabs.d.ts +2 -0
  162. package/dist/tabs.js +1 -1
  163. package/dist/tabs.js.map +1 -1
  164. package/dist/tabular/components.d.ts +5 -0
  165. package/dist/tabular/components.js.map +1 -1
  166. package/dist/tabular/controller.d.ts +1 -0
  167. package/dist/tabular/controller.js +1 -1
  168. package/dist/tabular/controller.js.map +1 -1
  169. package/dist/tabular/data-grid.d.ts +4 -4
  170. package/dist/tabular/data-grid.js +1 -1
  171. package/dist/tabular/data-grid.js.map +1 -1
  172. package/dist/tabular/data-table.d.ts +4 -4
  173. package/dist/tabular/data-table.js +1 -1
  174. package/dist/tabular/data-table.js.map +1 -1
  175. package/dist/tabular/data-tree-grid.d.ts +4 -4
  176. package/dist/tabular/data-tree-grid.js +1 -1
  177. package/dist/tabular/data-tree-grid.js.map +1 -1
  178. package/dist/tabular/parts.d.ts +11 -1
  179. package/dist/tabular/parts.js +1 -1
  180. package/dist/tabular/parts.js.map +1 -1
  181. package/dist/tabular/source.js +1 -1
  182. package/dist/tabular/source.js.map +1 -1
  183. package/dist/tags-input.d.ts +12 -1
  184. package/dist/tags-input.js +1 -1
  185. package/dist/tags-input.js.map +1 -1
  186. package/dist/temporal/calendar.d.ts +27 -123
  187. package/dist/temporal/calendar.js +1 -1
  188. package/dist/temporal/calendar.js.map +1 -1
  189. package/dist/temporal/capabilities/date-picker.js +1 -1
  190. package/dist/temporal/capabilities/date-picker.js.map +1 -1
  191. package/dist/temporal/capabilities/date-time-picker.js +1 -1
  192. package/dist/temporal/capabilities/date-time-picker.js.map +1 -1
  193. package/dist/temporal/capabilities/date-time-range-picker.js +1 -1
  194. package/dist/temporal/capabilities/date-time-range-picker.js.map +1 -1
  195. package/dist/temporal/capability.d.ts +13 -1
  196. package/dist/temporal/capability.js.map +1 -1
  197. package/dist/temporal/date-field.d.ts +1 -1
  198. package/dist/temporal/date-field.js +1 -1
  199. package/dist/temporal/date-field.js.map +1 -1
  200. package/dist/temporal/date-picker.d.ts +16 -14
  201. package/dist/temporal/date-picker.js +1 -1
  202. package/dist/temporal/date-picker.js.map +1 -1
  203. package/dist/temporal/date-range-field.d.ts +21 -1
  204. package/dist/temporal/date-range-field.js +1 -1
  205. package/dist/temporal/date-range-field.js.map +1 -1
  206. package/dist/temporal/date-range-picker.d.ts +16 -14
  207. package/dist/temporal/date-range-picker.js +1 -1
  208. package/dist/temporal/date-range-picker.js.map +1 -1
  209. package/dist/temporal/date-time-field.d.ts +4 -1
  210. package/dist/temporal/date-time-field.js +1 -1
  211. package/dist/temporal/date-time-field.js.map +1 -1
  212. package/dist/temporal/date-time-picker.d.ts +16 -14
  213. package/dist/temporal/date-time-picker.js +1 -1
  214. package/dist/temporal/date-time-picker.js.map +1 -1
  215. package/dist/temporal/date-time-range-field.d.ts +158 -0
  216. package/dist/temporal/date-time-range-field.js +2 -0
  217. package/dist/temporal/date-time-range-field.js.map +1 -0
  218. package/dist/temporal/date-time-range-picker.d.ts +16 -14
  219. package/dist/temporal/date-time-range-picker.js +1 -1
  220. package/dist/temporal/date-time-range-picker.js.map +1 -1
  221. package/dist/temporal/internal/time-presentation.d.ts +15 -0
  222. package/dist/temporal/internal/time-presentation.js +2 -0
  223. package/dist/temporal/internal/time-presentation.js.map +1 -0
  224. package/dist/temporal/month-picker.d.ts +9 -7
  225. package/dist/temporal/month-picker.js +1 -1
  226. package/dist/temporal/month-picker.js.map +1 -1
  227. package/dist/temporal/month-range-picker.d.ts +9 -7
  228. package/dist/temporal/month-range-picker.js +1 -1
  229. package/dist/temporal/month-range-picker.js.map +1 -1
  230. package/dist/temporal/picker.d.ts +24 -3
  231. package/dist/temporal/picker.js +1 -1
  232. package/dist/temporal/picker.js.map +1 -1
  233. package/dist/temporal/range-calendar.d.ts +125 -8
  234. package/dist/temporal/range-calendar.js +1 -1
  235. package/dist/temporal/range-calendar.js.map +1 -1
  236. package/dist/temporal/temporal-provider.d.ts +23 -0
  237. package/dist/temporal/temporal-provider.js +1 -1
  238. package/dist/temporal/temporal-provider.js.map +1 -1
  239. package/dist/temporal/time-field.d.ts +4 -1
  240. package/dist/temporal/time-field.js +1 -1
  241. package/dist/temporal/time-field.js.map +1 -1
  242. package/dist/temporal/time-picker.d.ts +112 -0
  243. package/dist/temporal/time-picker.js +2 -0
  244. package/dist/temporal/time-picker.js.map +1 -0
  245. package/dist/temporal/time-range-field.d.ts +33 -2
  246. package/dist/temporal/time-range-field.js +1 -1
  247. package/dist/temporal/time-range-field.js.map +1 -1
  248. package/dist/temporal/year-picker.d.ts +9 -7
  249. package/dist/temporal/year-picker.js +1 -1
  250. package/dist/temporal/year-picker.js.map +1 -1
  251. package/dist/temporal/year-range-picker.d.ts +9 -7
  252. package/dist/temporal/year-range-picker.js +1 -1
  253. package/dist/temporal/year-range-picker.js.map +1 -1
  254. package/dist/text.d.ts +43 -1
  255. package/dist/text.js +1 -1
  256. package/dist/text.js.map +1 -1
  257. package/dist/timer.d.ts +16 -5
  258. package/dist/timer.js +1 -1
  259. package/dist/timer.js.map +1 -1
  260. package/dist/toast.js +1 -1
  261. package/dist/toast.js.map +1 -1
  262. package/dist/toggle-group.js +1 -1
  263. package/dist/toggle-group.js.map +1 -1
  264. package/dist/toolbar.js +1 -1
  265. package/dist/toolbar.js.map +1 -1
  266. package/dist/transfer.d.ts +191 -0
  267. package/dist/transfer.js +2 -0
  268. package/dist/transfer.js.map +1 -0
  269. package/dist/tree-grid.d.ts +122 -0
  270. package/dist/tree-grid.js +1 -1
  271. package/dist/tree-grid.js.map +1 -1
  272. package/dist/tree-select.d.ts +186 -0
  273. package/dist/tree-select.js +2 -0
  274. package/dist/tree-select.js.map +1 -0
  275. package/dist/tree-view.js +1 -1
  276. package/dist/tree-view.js.map +1 -1
  277. package/dist/virtual/virtual-collection.d.ts +3 -0
  278. package/dist/virtual/virtual-collection.js +1 -1
  279. package/dist/virtual/virtual-collection.js.map +1 -1
  280. package/dist/virtual/virtual-core.d.ts +1 -0
  281. package/dist/virtual/virtual-core.js +1 -1
  282. package/dist/virtual/virtual-core.js.map +1 -1
  283. package/dist/virtual/virtual-grid.d.ts +12 -2
  284. package/dist/virtual/virtual-grid.js +1 -1
  285. package/dist/virtual/virtual-grid.js.map +1 -1
  286. package/dist/virtual/virtual-list.d.ts +12 -3
  287. package/dist/virtual/virtual-list.js +1 -1
  288. package/dist/virtual/virtual-list.js.map +1 -1
  289. package/dist/virtual/virtual-masonry.d.ts +12 -2
  290. package/dist/virtual/virtual-masonry.js +1 -1
  291. package/dist/virtual/virtual-masonry.js.map +1 -1
  292. package/dist/virtual/virtual-spatial.d.ts +12 -2
  293. package/dist/virtual/virtual-spatial.js +1 -1
  294. package/dist/virtual/virtual-spatial.js.map +1 -1
  295. package/dist/window-splitter.js +1 -1
  296. package/dist/window-splitter.js.map +1 -1
  297. package/package.json +86 -16
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/pin-input.ts"],"mappings":"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","names":[],"file":"pin-input.js"}
1
+ {"version":3,"sources":["../src/pin-input.ts"],"mappings":"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","names":[],"file":"pin-input.js"}
@@ -1,2 +1,2 @@
1
1
  import { type ComputedRef, type ShallowRef } from 'vue';
2
- export declare function usePresence(open: ComputedRef<boolean>, element: ShallowRef<HTMLElement | undefined>, onRetainedReopen?: () => void): ShallowRef<boolean>;
2
+ export declare function usePresence(open: ComputedRef<boolean>, element: ShallowRef<HTMLElement | undefined>, onRetainedReopen?: () => void, active?: Readonly<ShallowRef<boolean>>): ShallowRef<boolean>;
@@ -1,2 +1,2 @@
1
- import{onBeforeUnmount,shallowRef,watch}from"vue";import{createPresence}from"@sectile/dom/presence";function usePresence(open,element,onRetainedReopen){const present=shallowRef(open.value);const initialElement=element.value;const connection=createPresence({open:open.value,...initialElement===void 0?{}:{element:initialElement},onPresentChange:next=>{present.value=next}});watch(open,(next,previous)=>{if(!next)return;const retainedReopen=previous===false&&connection.getPresent();connection.update(true,element.value);if(retainedReopen)onRetainedReopen?.()},{flush:"sync"});watch([open,element],([next,node])=>{connection.update(next,node)},{flush:"post"});onBeforeUnmount(()=>{connection.disconnect()});return present}export{usePresence};
1
+ import{onBeforeUnmount,shallowRef,watch}from"vue";import{createPresence}from"@sectile/dom/presence";function usePresence(open,element,onRetainedReopen,active){const present=shallowRef(open.value);const initialElement=element.value;const connection=createPresence({open:open.value,...initialElement===void 0?{}:{element:initialElement},onPresentChange:next=>{present.value=next}});if(active?.value===false)connection.suspend();if(active)watch(active,next=>{if(next)connection.resume(open.value,element.value);else connection.suspend()},{flush:"sync"});watch(open,(next,previous)=>{if(!next)return;const retainedReopen=previous===false&&connection.getPresent();connection.update(true,element.value);if(retainedReopen&&active?.value!==false)onRetainedReopen?.()},{flush:"sync"});watch([open,element],([next,node])=>{connection.update(next,node)},{flush:"post"});onBeforeUnmount(()=>{connection.disconnect()});return present}export{usePresence};
2
2
  //# sourceMappingURL=presence.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presence/presence.ts"],"mappings":"AAAA,OAAS,gBAAiB,WAAY,UAAgD,MACtF,OAAS,mBAAsB,wBAEzB,SAAU,YACd,KACA,QACA,iBAA6B,CAE7B,MAAM,QAAU,WAAW,KAAK,KAAK,EACrC,MAAM,eAAiB,QAAQ,MAC/B,MAAM,WAAa,eAAe,CAChC,KAAM,KAAK,MACX,GAAI,iBAAmB,OAAY,CAAA,EAAK,CAAE,QAAS,cAAc,EACjE,gBAAkB,MAAQ,CAAG,QAAQ,MAAQ,IAAM,EACpD,EAED,MAAM,KAAM,CAAC,KAAM,WAAY,CAC7B,GAAI,CAAC,KAAM,OACX,MAAM,eAAiB,WAAa,OAAS,WAAW,WAAU,EAClE,WAAW,OAAO,KAAM,QAAQ,KAAK,EACrC,GAAI,eAAgB,mBAAkB,CACxC,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,MAAM,CAAC,KAAM,OAAO,EAAG,CAAC,CAAC,KAAM,IAAI,IAAK,CACtC,WAAW,OAAO,KAAM,IAAI,CAC9B,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,gBAAgB,IAAK,CAAG,WAAW,WAAU,CAAI,CAAC,EAClD,OAAO,OACT","names":[],"file":"presence.js"}
1
+ {"version":3,"sources":["../../src/presence/presence.ts"],"mappings":"AAAA,OAAS,gBAAiB,WAAY,UAAgD,MACtF,OAAS,mBAAsB,wBAEzB,SAAU,YACd,KACA,QACA,iBACA,OAAsC,CAEtC,MAAM,QAAU,WAAW,KAAK,KAAK,EACrC,MAAM,eAAiB,QAAQ,MAC/B,MAAM,WAAa,eAAe,CAChC,KAAM,KAAK,MACX,GAAI,iBAAmB,OAAY,CAAA,EAAK,CAAE,QAAS,cAAc,EACjE,gBAAkB,MAAQ,CAAG,QAAQ,MAAQ,IAAM,EACpD,EACD,GAAI,QAAQ,QAAU,MAAO,WAAW,QAAO,EAC/C,GAAI,OAAQ,MAAM,OAAS,MAAQ,CACjC,GAAI,KAAM,WAAW,OAAO,KAAK,MAAO,QAAQ,KAAK,OAChD,WAAW,QAAO,CACzB,EAAG,CAAE,MAAO,MAAM,CAAE,EAEpB,MAAM,KAAM,CAAC,KAAM,WAAY,CAC7B,GAAI,CAAC,KAAM,OACX,MAAM,eAAiB,WAAa,OAAS,WAAW,WAAU,EAClE,WAAW,OAAO,KAAM,QAAQ,KAAK,EACrC,GAAI,gBAAkB,QAAQ,QAAU,MAAO,mBAAkB,CACnE,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,MAAM,CAAC,KAAM,OAAO,EAAG,CAAC,CAAC,KAAM,IAAI,IAAK,CACtC,WAAW,OAAO,KAAM,IAAI,CAC9B,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,gBAAgB,IAAK,CAAG,WAAW,WAAU,CAAI,CAAC,EAClD,OAAO,OACT","names":[],"file":"presence.js"}
@@ -1,4 +1,5 @@
1
- import { type Component, type PropType, type Slots, type VNodeChild } from 'vue';
1
+ import { type Component, type AnchorHTMLAttributes, type DefineSetupFnComponent, type PublicProps, type PropType, type Slots, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type AnchorOptions } from '@sectile/dom/attributes';
2
3
  export type PrimitiveAs = string | Component;
3
4
  export interface PrimitiveProps {
4
5
  readonly as?: PrimitiveAs;
@@ -22,7 +23,7 @@ export declare const Primitive: import("vue").DefineComponent<import("vue").Extr
22
23
  type: PropType<PrimitiveElementRefHandler>;
23
24
  default: undefined;
24
25
  };
25
- }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
26
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, PublicProps, Readonly<import("vue").ExtractPropTypes<{
26
27
  as: {
27
28
  type: PropType<PrimitiveAs>;
28
29
  default: string;
@@ -40,4 +41,37 @@ export declare const Primitive: import("vue").DefineComponent<import("vue").Extr
40
41
  asChild: boolean;
41
42
  elementRef: (element: unknown) => void;
42
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
43
- export declare function renderPrimitive(props: Pick<Required<PrimitiveProps>, 'as' | 'asChild'>, attributes: Readonly<Record<string, unknown>>, slots: Slots): VNodeChild;
44
+ export declare function renderPrimitive(props: Pick<Required<PrimitiveProps>, 'as' | 'asChild'>, attributes: Readonly<Record<string, unknown>>, slots: Slots, projectAttributes?: (attributes: Readonly<Record<string, unknown>>) => Readonly<Record<string, unknown>>): VNodeChild;
45
+ interface AnchorNativeAttributes extends /* @vue-ignore */ Omit<AnchorHTMLAttributes, keyof AnchorOptions | 'role' | 'tabindex' | 'aria-current' | 'aria-disabled'> {
46
+ }
47
+ export type AnchorProps = AnchorNativeAttributes & {
48
+ readonly [K in keyof AnchorOptions]?: AnchorOptions[K] | undefined;
49
+ } & {
50
+ readonly asChild?: boolean;
51
+ };
52
+ export interface AnchorSlotState {
53
+ readonly disabled: boolean;
54
+ readonly current: AnchorOptions['current'];
55
+ }
56
+ export interface AnchorContentSlotState extends AnchorSlotState {
57
+ readonly children: VNodeChild;
58
+ }
59
+ export interface AnchorSlots {
60
+ default?: (state: AnchorSlotState) => VNodeChild;
61
+ leading?: (state: AnchorSlotState) => VNodeChild;
62
+ trailing?: (state: AnchorSlotState) => VNodeChild;
63
+ content?: (state: AnchorContentSlotState) => VNodeChild;
64
+ }
65
+ export interface AnchorExpose extends PrimitiveElementExpose {
66
+ readonly element: HTMLAnchorElement | null;
67
+ focus(options?: FocusOptions): void;
68
+ }
69
+ type AnchorInstance = InstanceType<DefineSetupFnComponent<AnchorProps, {}, SlotsType<AnchorSlots>>> & AnchorExpose;
70
+ /** Native anchor composition with activation admission before adopted navigation callbacks. */
71
+ export declare const Anchor: {
72
+ new (): AnchorInstance & {
73
+ readonly $props: AnchorProps & PublicProps;
74
+ readonly $slots: AnchorSlots;
75
+ };
76
+ };
77
+ export {};
package/dist/primitive.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Comment,Fragment,Text,cloneVNode,defineComponent,h,isRef,isVNode,mergeProps,onMounted,onUpdated,unref}from"vue";const Primitive=defineComponent({name:"SectilePrimitive",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false},elementRef:{type:Function,default:void 0}},setup(props,{attrs,slots}){let adoptedComponent;const setElement=value=>{adoptedComponent=componentElementInstance(value);if(adoptedComponent===void 0)props.elementRef?.(value??null)};const deliverComponentElement=()=>{if(adoptedComponent!==void 0){props.elementRef?.(resolvePrimitiveElement(adoptedComponent))}};onMounted(deliverComponentElement);onUpdated(deliverComponentElement);return()=>renderPrimitive(props,mergeProps(attrs,props.elementRef===void 0?{}:{ref:setElement}),slots)}});function renderPrimitive(props,attributes,slots){if(!props.asChild){if(typeof props.as!=="string")return h(props.as,attributes,slots);return h(props.as,attributes,htmlVoidElements.has(props.as.toLowerCase())?void 0:slots["default"]?.()??[])}const children=slots["default"]?.()??[];return adoptSingleElement(children,guardAdoptedEventHandlers(attributes))}const htmlVoidElements=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function guardAdoptedEventHandlers(attributes){let guarded;for(const[key,value]of Object.entries(attributes)){if(!/^on[^a-z]/u.test(key)||typeof value!=="function"&&!Array.isArray(value))continue;guarded??={...attributes};guarded[key]=guardAdoptedEventHandler(value)}return guarded??attributes}function guardAdoptedEventHandler(value){if(Array.isArray(value))return value.map(guardAdoptedEventHandler);if(typeof value!=="function")return value;return(...args)=>{const event=args[0];if(typeof event==="object"&&event!==null&&"defaultPrevented"in event&&event.defaultPrevented===true)return void 0;return Reflect.apply(value,void 0,args)}}function adoptSingleElement(children,attributes){const state={elementCount:0,unsupportedCount:0,clones:new WeakMap};const adopted=adoptArray(children,attributes,state);if(state.elementCount!==1||state.unsupportedCount!==0){const unsupported=state.unsupportedCount===0?"":` and ${state.unsupportedCount} unsupported non-element node${state.unsupportedCount===1?"":"s"}`;throw new TypeError(`A Sectile primitive with asChild requires exactly one element child; received ${state.elementCount}${unsupported}.`)}return adopted.length===1?adopted[0]:adopted}function adoptArray(values,attributes,state){let changed=false;const adopted=values.map(value=>{const next=adoptValue(value,attributes,state);if(next!==value)changed=true;return next});return changed?adopted:values}function adoptValue(value,attributes,state){if(Array.isArray(value))return adoptArray(value,attributes,state);if(!isVNode(value)){if(value!==null&&value!==void 0&&value!==false&&String(value).trim().length>0)state.unsupportedCount+=1;return value}if(value.type===Comment)return value;if(value.type===Text){if(String(value.children??"").trim().length>0)state.unsupportedCount+=1;return value}if(value.type===Fragment)return adoptFragment(value,attributes,state);if(!isElementCandidate(value)){state.unsupportedCount+=1;return value}state.elementCount+=1;const adopted=cloneVNode(value,attributes,true);state.clones.set(value,adopted);return adopted}function adoptFragment(value,attributes,state){if(!Array.isArray(value.children)){if(value.children!==null&&String(value.children).trim().length>0){state.unsupportedCount+=1}return value}const children=adoptArray(value.children,attributes,state);if(children===value.children)return value;const adopted=cloneVNode(value);adopted.children=children;const dynamicChildren=value.dynamicChildren;if(dynamicChildren!==void 0&&dynamicChildren!==null){adopted.dynamicChildren=dynamicChildren.map(child=>state.clones.get(child)??child)}state.clones.set(value,adopted);return adopted}function isElementCandidate(value){return(value.shapeFlag&7)!==0}function resolvePrimitiveElement(value){if(value===null||value===void 0)return null;const instance=componentElementInstance(value);if(instance===void 0)return value;const exposed=instance.$?.exposed;if(exposed!==void 0&&exposed!==null&&Object.prototype.hasOwnProperty.call(exposed,"element")){const element=isRef(exposed["element"])?unref(exposed["element"]):exposed["element"];return requireRendererElement(element,"exposed `element`")}const subTree=instance.$?.subTree;if(subTree===void 0||!isElementCandidate(subTree)){throw new TypeError("A component adopted by a Sectile primitive must expose `element` or render one element root.")}return requireRendererElement(instance.$el,"single root")}function componentElementInstance(value){if(typeof value!=="object"&&typeof value!=="function"||value===null)return void 0;const candidate=value;return candidate.$===void 0?void 0:candidate}function requireRendererElement(value,source){const valid=typeof Element==="undefined"?typeof value==="object"&&value!==null:value instanceof Element;if(valid)return value;throw new TypeError(`A component adopted by a Sectile primitive has an invalid ${source}; expected an Element.`)}export{Primitive,renderPrimitive};
1
+ import{Comment,Fragment,Text,cloneVNode,callWithAsyncErrorHandling,defineComponent,ErrorCodes,getCurrentInstance,h,isRef,isVNode,mergeProps,onMounted,onUpdated,onBeforeUnmount,unref}from'vue';import{getAnchorAttributes,guardAnchorActivation}from'@sectile/dom/attributes';export const Primitive=/* @__PURE__ */defineComponent({name:'SectilePrimitive',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false},elementRef:{type:Function,default:undefined}},setup(props,{attrs,slots}){let adoptedComponent;const setElement=value=>{adoptedComponent=componentElementInstance(value);if(adoptedComponent===undefined)props.elementRef?.(value??null)};const deliverComponentElement=()=>{if(adoptedComponent!==undefined){props.elementRef?.(resolvePrimitiveElement(adoptedComponent))}};onMounted(deliverComponentElement);onUpdated(deliverComponentElement);return()=>renderPrimitive(props,mergeProps(attrs,props.elementRef===undefined?{}:{ref:setElement}),slots)}});export function renderPrimitive(props,attributes,slots,projectAttributes){if(!props.asChild){if(projectAttributes)attributes=projectAttributes(attributes);if(typeof props.as!=='string')return h(props.as,attributes,slots);return h(props.as,attributes,htmlVoidElements.has(props.as.toLowerCase())?undefined:slots['default']?.()??[])}const children=slots['default']?.()??[];return adoptSingleElement(children,guardAdoptedEventHandlers(attributes),projectAttributes===undefined?undefined:(child,incoming)=>{const projected=projectAttributes(mergeProps(child.props??{},incoming));const adopted=cloneVNode(child,projected,true);adopted.props=projected;return adopted})}const htmlVoidElements=new Set(['area','base','br','col','embed','hr','img','input','link','meta','param','source','track','wbr']);function guardAdoptedEventHandlers(attributes){let guarded;for(const[key,value]of Object.entries(attributes)){if(!/^on[^a-z]/u.test(key)||typeof value!=='function'&&!Array.isArray(value))continue;guarded??={...attributes};guarded[key]=guardAdoptedEventHandler(value)}return guarded??attributes}function guardAdoptedEventHandler(value){if(Array.isArray(value))return value.map(guardAdoptedEventHandler);if(typeof value!=='function')return value;return(...args)=>{const event=args[0];if(typeof event==='object'&&event!==null&&'defaultPrevented'in event&&event.defaultPrevented===true)return undefined;return Reflect.apply(value,undefined,args)}}function adoptSingleElement(children,attributes,project){const state={elementCount:0,unsupportedCount:0,clones:new WeakMap,...project===undefined?{}:{project}};const adopted=adoptArray(children,attributes,state);if(state.elementCount!==1||state.unsupportedCount!==0){const unsupported=state.unsupportedCount===0?'':` and ${state.unsupportedCount} unsupported non-element node${state.unsupportedCount===1?'':'s'}`;throw new TypeError(`A Sectile primitive with asChild requires exactly one element child; received ${state.elementCount}${unsupported}.`)}return adopted.length===1?adopted[0]:adopted}function adoptArray(values,attributes,state){let changed=false;const adopted=values.map(value=>{const next=adoptValue(value,attributes,state);if(next!==value)changed=true;return next});return changed?adopted:values}function adoptValue(value,attributes,state){if(Array.isArray(value))return adoptArray(value,attributes,state);if(!isVNode(value)){if(value!==null&&value!==undefined&&value!==false&&String(value).trim().length>0)state.unsupportedCount+=1;return value}if(value.type===Comment)return value;if(value.type===Text){if(String(value.children??'').trim().length>0)state.unsupportedCount+=1;return value}if(value.type===Fragment)return adoptFragment(value,attributes,state);if(!isElementCandidate(value)){state.unsupportedCount+=1;return value}state.elementCount+=1;const adopted=state.project?.(value,attributes)??cloneVNode(value,attributes,true);state.clones.set(value,adopted);return adopted}function adoptFragment(value,attributes,state){if(!Array.isArray(value.children)){if(value.children!==null&&String(value.children).trim().length>0){state.unsupportedCount+=1}return value}const children=adoptArray(value.children,attributes,state);if(children===value.children)return value;const adopted=cloneVNode(value);adopted.children=children;const dynamicChildren=value.dynamicChildren;if(dynamicChildren!==undefined&&dynamicChildren!==null){adopted.dynamicChildren=dynamicChildren.map(child=>state.clones.get(child)??child)}state.clones.set(value,adopted);return adopted}function isElementCandidate(value){return(value.shapeFlag&0b111)!==0}function resolvePrimitiveElement(value){if(value===null||value===undefined)return null;const instance=componentElementInstance(value);if(instance===undefined)return value;const exposed=instance.$?.exposed;if(exposed!==undefined&&exposed!==null&&Object.prototype.hasOwnProperty.call(exposed,'element')){const element=isRef(exposed['element'])?unref(exposed['element']):exposed['element'];return requireRendererElement(element,'exposed `element`')}const subTree=instance.$?.subTree;if(subTree===undefined||!isElementCandidate(subTree)){throw new TypeError('A component adopted by a Sectile primitive must expose `element` or render one element root.')}return requireRendererElement(instance.$el,'single root')}function componentElementInstance(value){if(typeof value!=='object'&&typeof value!=='function'||value===null)return undefined;const candidate=value;return candidate.$===undefined?undefined:candidate}function requireRendererElement(value,source){const valid=typeof Element==='undefined'?typeof value==='object'&&value!==null:value instanceof Element;if(valid)return value;throw new TypeError(`A component adopted by a Sectile primitive has an invalid ${source}; expected an Element.`)}function retireAnchorPacket(delivery){for(const group of delivery.packet?.groups??[])group.callbacks.length=0;delivery.packet=null}function deliverAnchorLane(delivery,packet,groups,event){const admitted=()=>guardAnchorActivation(event,!delivery.alive||delivery.packet!==packet||packet.disabled);if(!admitted())return;const originalStop=event.stopImmediatePropagation;let stopped=false;event.stopImmediatePropagation=function(){stopped=true;originalStop.call(this)};try{for(const group of groups){if(stopped||!admitted())break;if(group.once&&delivery.once&group.once)continue;delivery.once|=group.once;for(const callback of group.callbacks){if(stopped||!admitted())break;callWithAsyncErrorHandling(callback,delivery.owner,ErrorCodes.NATIVE_EVENT_HANDLER,[event])}}}finally{event.stopImmediatePropagation=originalStop}}function prepareAnchorListeners(delivery,packet,outer,child,attributes){const lanes=new Map;const seen=new Map;const registrations=new Map;let activeOnce=0;for(const[origin,source]of[outer,child].entries())for(const[key,value]of Object.entries(source)){const match=/^on(Click|Auxclick)((?:Once|Capture|Passive)*)$/u.exec(key);if(!match)continue;delete attributes[key];const options=match[2];const lane=(match[1]==='Auxclick'?4:0)+(options.includes('Capture')?2:0)+(options.includes('Passive')?1:0);const isOnce=options.includes('Once');const identity=lane*2+Number(isOnce);let known=seen.get(identity);if(!known){known=new Set;seen.set(identity,known)}const callbacks=[];const collect=candidate=>{if(Array.isArray(candidate)){for(const entry of candidate)collect(entry)}else if(typeof candidate==='function'&&!known.has(candidate)){known.add(candidate);callbacks.push(candidate)}};collect(value);if(!callbacks.length)continue;const registration=lane*4+origin*2+Number(isOnce);const existing=registrations.get(registration);if(existing){for(const callback of callbacks)existing.callbacks.push(callback);continue}const group={once:isOnce?1<<lane*2+origin:0,callbacks};activeOnce|=group.once;registrations.set(registration,group);packet.groups.push(group);const groups=lanes.get(lane);if(groups)groups.push(group);else lanes.set(lane,[group])}delivery.once&=activeOnce;if(!lanes.has(2))lanes.set(2,[]);if(!lanes.has(6))lanes.set(6,[]);for(const[lane,groups]of lanes){const key=`on${lane>=4?'Auxclick':'Click'}${lane&2?'Capture':''}${lane&1?'Passive':''}`;attributes[key]=event=>deliverAnchorLane(delivery,packet,groups,event)}}const AnchorImplementation=/* @__PURE__ */defineComponent({name:'SectileAnchor',inheritAttrs:false,props:{asChild:{type:Boolean,default:false},href:{type:String,default:undefined},target:{type:String,default:undefined},rel:{type:String,default:undefined},download:{type:[String,Boolean],default:undefined},disabled:{type:Boolean,default:false},current:{type:String,default:undefined},tabIndex:{type:[Number,String],default:undefined}},slots:Object,setup(props,{attrs,slots,expose}){const owner=getCurrentInstance();const delivery={alive:true,owner,packet:null,once:0};let element=null;let onceRoot;const setElement=value=>{element=value;if(element&&onceRoot?.deref()!==element){delivery.once=0;onceRoot=new WeakRef(element)}};expose({get element(){return element},focus(options){element?.focus(options)}});onBeforeUnmount(()=>{delivery.alive=false;delivery.owner=null;delivery.once=0;retireAnchorPacket(delivery);element=null;onceRoot=undefined});return()=>{retireAnchorPacket(delivery);const packet={disabled:props.disabled,groups:[]};delivery.packet=packet;const project=child=>{if(child&&child.type!=='a')throw new TypeError('A Sectile Anchor with asChild requires one native a element.');const childProps=child?.props??{};const attributes=mergeProps(childProps,attrs);const raw=owner.vnode.props??{};const supplied=(key,alias)=>Object.hasOwn(raw,key)||alias!==undefined&&Object.hasOwn(raw,alias);const href=supplied('href')?props.href:attributes['href'];const target=supplied('target')?props.target:attributes['target'];const rel=supplied('rel')?props.rel:attributes['rel'];const download=supplied('download')?props.download:attributes['download'];const tabIndex=supplied('tabIndex','tab-index')?props.tabIndex:attributes['tabindex'];const{'aria-current':ariaCurrent,...projected}=getAnchorAttributes({...href===undefined?{}:{href},...target===undefined?{}:{target},...rel===undefined?{}:{rel},...download===undefined?{}:{download},disabled:props.disabled,...props.current===undefined?{}:{current:props.current},...tabIndex===undefined?{}:{tabIndex}});Object.assign(attributes,projected);if(supplied('current'))attributes['aria-current']=ariaCurrent;prepareAnchorListeners(delivery,packet,attrs,childProps,attributes);attributes['ref']=setElement;const decorated=slots.leading!==undefined||slots.trailing!==undefined||slots.content!==undefined;let adopted;if(!decorated){if(!child)return h('a',attributes,slots.default?.({disabled:props.disabled,current:props.current})??[]);adopted=cloneVNode(child,attributes,true)}else{const state={disabled:props.disabled,current:props.current};const content=child?child.children:slots.default?.(state)??[];const children=[slots.leading?.(state),slots.content?slots.content({...state,children:content}):content,slots.trailing?.(state)];if(!child)return h('a',attributes,children);adopted=h(child,attributes,children);adopted.shapeFlag=h('a',null,children).shapeFlag}adopted.props=attributes;return adopted};try{return props.asChild?adoptSingleElement(slots.default?.({disabled:props.disabled,current:props.current})??[],{},value=>project(value)):project(undefined)}catch(error){retireAnchorPacket(delivery);throw error}}}});export const Anchor=AnchorImplementation;
2
2
  //# sourceMappingURL=primitive.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/primitive.ts"],"mappings":"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","names":[],"file":"primitive.js"}
1
+ {"version":3,"file":"primitive.js","names":["Comment","Fragment","Text","cloneVNode","callWithAsyncErrorHandling","defineComponent","ErrorCodes","getCurrentInstance","h","isRef","isVNode","mergeProps","onMounted","onUpdated","onBeforeUnmount","unref","getAnchorAttributes","guardAnchorActivation","Primitive","name","inheritAttrs","props","as","type","String","Object","Function","default","asChild","Boolean","elementRef","undefined","setup","attrs","slots","adoptedComponent","setElement","value","componentElementInstance","deliverComponentElement","resolvePrimitiveElement","renderPrimitive","ref","attributes","projectAttributes","htmlVoidElements","has","toLowerCase","children","adoptSingleElement","guardAdoptedEventHandlers","child","incoming","projected","adopted","Set","guarded","key","entries","test","Array","isArray","guardAdoptedEventHandler","map","args","event","defaultPrevented","Reflect","apply","project","state","elementCount","unsupportedCount","clones","WeakMap","adoptArray","unsupported","TypeError","length","values","changed","next","adoptValue","trim","adoptFragment","isElementCandidate","set","dynamicChildren","get","shapeFlag","instance","exposed","$","prototype","hasOwnProperty","call","element","requireRendererElement","subTree","$el","candidate","source","valid","Element","retireAnchorPacket","delivery","group","packet","groups","callbacks","deliverAnchorLane","admitted","alive","disabled","originalStop","stopImmediatePropagation","stopped","this","once","callback","owner","NATIVE_EVENT_HANDLER","prepareAnchorListeners","outer","lanes","Map","seen","registrations","activeOnce","origin","match","exec","options","lane","includes","isOnce","identity","Number","known","collect","entry","add","push","registration","existing","AnchorImplementation","href","target","rel","download","current","tabIndex","expose","onceRoot","deref","WeakRef","focus","childProps","raw","vnode","supplied","alias","hasOwn","ariaCurrent","assign","decorated","leading","trailing","content","error","Anchor"],"sources":["../src/primitive.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createQuantityField}from"@sectile/dom/quantity-field";import{Primitive}from"./primitive.js";import{useNativeInputFormControl}from"./form/control.js";import{captureNativeTextState}from"./input/native-text-state.js";import{createStandardQuantityPolicies}from"@sectile/dom/quantity-field";const key=Symbol("SectileQuantityFieldRoot");const partProps={as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}};const QuantityFieldRoot=defineComponent({name:"SectileQuantityFieldRoot",inheritAttrs:false,props:{policies:{type:Object,required:true},modelValue:{type:Object,default:void 0},defaultValue:{type:Object,default:null},displayUnit:{type:String,default:void 0},defaultDisplayUnit:{type:String,default:void 0},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:displayUnit":_value=>true,commit:_details=>true},slots:Object,setup(props,{attrs,emit,slots}){const input=shallowRef();const select=shallowRef();const connection=shallowRef();const value=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const unit=shallowRef(props.displayUnit??props.defaultDisplayUnit??props.policies.canonicalUnit);const text=shallowRef("");const invalid=shallowRef(false);const valueControlled=props.modelValue!==void 0;const unitControlled=props.displayUnit!==void 0;const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:value.value,text:text.value,displayUnit:props.displayUnit??unit.value,invalid:invalid.value,disabled:props.disabled,readonly:props.readonly}));const refresh=()=>{if(connection.value===void 0)return;value.value=connection.value.getQuantity();unit.value=connection.value.getDisplayUnit();text.value=connection.value.getText();invalid.value=input.value?.getAttribute("aria-invalid")==="true"};const connect=(preserveNative=false)=>{const element=input.value;if(element===void 0)return;const inputState=preserveNative&&connection.value!==void 0?captureNativeTextState(element,connection.value.getText()):void 0;connection.value?.disconnect();connection.value=createQuantityField({input:element,...select.value===void 0?{}:{unitSelect:select.value},policies:props.policies,...valueControlled?{quantity:props.modelValue}:{defaultQuantity:value.value},...unitControlled?{displayUnit:props.displayUnit}:{defaultDisplayUnit:unit.value},...inputState===void 0?{}:{defaultInputState:inputState},disabled:props.disabled,readOnly:props.readonly,...props.label===void 0?{}:{label:props.label},onQuantityChange:details=>{value.value=details.value;emit("update:modelValue",details.value);emit("commit",details)},onDisplayUnitChange:next=>{unit.value=next;emit("update:displayUnit",next)},onUpdate:refresh});refresh()};let mounted=false;let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const requestConnect=()=>{if(inputComposing){reconnectPending=true;return}connect(true)};const setInputComposing=composing=>{inputComposing=composing;if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||inputComposing)return;reconnectPending=false;connect(true)},0)};provide(key,{state,label:computed(()=>props.label),registerInput:element=>{input.value=element},registerUnitSelect:element=>{select.value=element},setInputComposing});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;connection.value?.disconnect();connection.value=void 0});watch([()=>props.policies,()=>props.disabled,()=>props.readonly,()=>props.label],requestConnect);watch([()=>props.modelValue,()=>props.displayUnit],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...valueControlled?{quantity:props.modelValue}:{},...unitControlled?{displayUnit:props.displayUnit}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"quantity-field","data-part":"root","data-invalid":invalid.value?"":void 0,"data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const QuantityFieldInput=defineComponent({name:"SectileQuantityFieldInput",inheritAttrs:false,props:{name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("QuantityFieldInput");const input=shallowRef(null);const participation=useNativeInputFormControl(input);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{input.value=node instanceof HTMLInputElement?node:null;root.registerInput(input.value??void 0)},type:"text",name:props.name,form:props.form,required:props.required,disabled:root.state.value.disabled,readonly:root.state.value.readonly,onCompositionstart:()=>root.setInputComposing(true),onCompositionend:()=>root.setInputComposing(false),"aria-label":root.label.value,"data-scope":"quantity-field","data-part":"input"},participation.controlProps.value))}});const QuantityFieldUnitSelect=defineComponent({name:"SectileQuantityFieldUnitSelect",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"select"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("QuantityFieldUnitSelect");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.registerUnitSelect(node instanceof HTMLSelectElement?node:void 0),disabled:root.state.value.disabled,"aria-readonly":root.state.value.readonly?"true":void 0,"data-scope":"quantity-field","data-part":"unit-select"}))}});const QuantityFieldValue=defineComponent({name:"SectileQuantityFieldValue",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot("QuantityFieldValue");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"quantity-field","data-part":"value"}),{default:()=>slots["default"]?.(root.state.value)})}});function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside QuantityFieldRoot.`);return root}export{QuantityFieldInput,QuantityFieldRoot,QuantityFieldUnitSelect,QuantityFieldValue,createStandardQuantityPolicies};
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,triggerRef,watch}from"vue";import{createQuantityField}from"@sectile/dom/quantity-field";import{createQuantityFieldState,getQuantityFieldDisplayUnits}from"@sectile/core/quantity-field";import{Primitive}from"./primitive.js";import{useFormControlFlags,useNativeInputFormControl}from"./form/control.js";import{captureNativeTextState}from"./input/native-text-state.js";import{createStandardQuantityPolicies}from"@sectile/dom/quantity-field";const key=Symbol("SectileQuantityFieldRoot");const partProps={as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}};const QuantityFieldRoot=defineComponent({name:"SectileQuantityFieldRoot",inheritAttrs:false,props:{policies:{type:Object,required:true},modelValue:{type:Object,default:void 0},defaultValue:{type:Object,default:null},displayUnit:{type:String,default:void 0},defaultDisplayUnit:{type:String,default:void 0},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:displayUnit":_value=>true,commit:_details=>true},slots:Object,setup(props,{attrs,emit,slots}){const flags=useFormControlFlags(props);const input=shallowRef();const select=shallowRef();const connection=shallowRef();const initial=createQuantityFieldState(props.policies,props.modelValue!==void 0?props.modelValue:props.defaultValue,props.displayUnit??props.defaultDisplayUnit);const value=shallowRef(initial.quantity);const unit=shallowRef(initial.displayUnit);const text=shallowRef(initial.inputState.snapshot.text);const invalid=shallowRef(false);const units=computed(()=>getQuantityFieldDisplayUnits(props.policies,props.displayUnit??unit.value).flatMap(id=>{const entry=props.policies.registry.get(id);return entry===null?[]:[{id:entry.id,symbol:entry.symbol}]}));const valueControlled=props.modelValue!==void 0;const unitControlled=props.displayUnit!==void 0;let resetQuantity=valueControlled?null:initial.quantity;let resetDisplayUnit=unitControlled?void 0:initial.displayUnit;const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:value.value,text:text.value,displayUnit:props.displayUnit??unit.value,invalid:invalid.value,disabled:flags.value.disabled,readonly:flags.value.readonly}));const unitState=computed(()=>Object.freeze({displayUnit:props.displayUnit??unit.value,disabled:flags.value.disabled,readonly:flags.value.readonly}));const refresh=()=>{if(connection.value===void 0)return;value.value=connection.value.getQuantity();unit.value=connection.value.getDisplayUnit();text.value=connection.value.getText();invalid.value=input.value?.getAttribute("aria-invalid")==="true"};const connect=(preserveNative=false)=>{const element=input.value;if(element===void 0)return;const inputState=preserveNative&&connection.value!==void 0?captureNativeTextState(element,connection.value.getText()):void 0;connection.value?.disconnect();connection.value=createQuantityField({input:element,...select.value===void 0?{}:{unitSelect:select.value},policies:props.policies,manageUnitOptions:false,...valueControlled?{quantity:props.modelValue}:{defaultQuantity:value.value},...unitControlled?{displayUnit:props.displayUnit}:{defaultDisplayUnit:unit.value},...inputState===void 0?{}:{defaultInputState:inputState},disabled:flags.value.disabled,readOnly:flags.value.readonly,...props.label===void 0?{}:{label:props.label},onQuantityChange:details=>{value.value=details.value;emit("update:modelValue",details.value);emit("commit",details)},onDisplayUnitChange:next=>{unit.value=next;emit("update:displayUnit",next)},onUpdate:refresh});refresh()};let mounted=false;let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const requestConnect=()=>{if(inputComposing){reconnectPending=true;return}connect(true)};const setInputComposing=composing=>{inputComposing=composing;if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||inputComposing)return;reconnectPending=false;connect(true)},0)};const resetRequested=shallowRef();watch(resetRequested,()=>{if(!mounted)return;const baseline=createQuantityFieldState(props.policies,valueControlled?props.modelValue:resetQuantity,unitControlled?props.displayUnit:resetDisplayUnit);value.value=baseline.quantity;unit.value=baseline.displayUnit;connect()},{flush:"post"});const reset=()=>{if(!mounted)return;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;inputComposing=false;triggerRef(resetRequested)};provide(key,{state,unitState,units,label:computed(()=>props.label),registerInput:element=>{input.value=element},registerUnitSelect:element=>{select.value=element},setInputComposing,reset});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;resetQuantity=null;resetDisplayUnit=void 0;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;connection.value?.disconnect();connection.value=void 0});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>props.label],requestConnect);watch([()=>props.modelValue,()=>props.displayUnit],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...valueControlled?{quantity:props.modelValue}:{},...unitControlled?{displayUnit:props.displayUnit}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"quantity-field","data-part":"root","data-invalid":invalid.value?"":void 0,"data-disabled":flags.value.disabled?"":void 0,"data-readonly":flags.value.readonly?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const QuantityFieldInput=defineComponent({name:"SectileQuantityFieldInput",inheritAttrs:false,props:{name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("QuantityFieldInput");const input=shallowRef(null);const participation=useNativeInputFormControl(input,{reset:root.reset});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{input.value=node instanceof HTMLInputElement?node:null;root.registerInput(input.value??void 0)},type:"text",name:props.name,form:props.form,required:props.required,value:root.state.value.text,"aria-invalid":root.state.value.invalid?"true":void 0,disabled:root.state.value.disabled,readonly:root.state.value.readonly,onCompositionstart:()=>root.setInputComposing(true),onCompositionend:()=>root.setInputComposing(false),"aria-label":root.label.value,"data-scope":"quantity-field","data-part":"input"},participation.controlProps.value))}});const QuantityFieldUnitSelect=defineComponent({name:"SectileQuantityFieldUnitSelect",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"select"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("QuantityFieldUnitSelect");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.registerUnitSelect(node instanceof HTMLSelectElement?node:void 0),disabled:root.unitState.value.disabled,"aria-readonly":root.unitState.value.readonly?"true":void 0,"aria-label":root.label.value===void 0?void 0:`${root.label.value} unit`,"data-scope":"quantity-field","data-part":"unit-select"}),{default:()=>root.units.value.map(unit=>h("option",{key:unit.id,value:unit.id,selected:unit.id===root.unitState.value.displayUnit},unit.symbol))})}});const QuantityFieldValue=defineComponent({name:"SectileQuantityFieldValue",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot("QuantityFieldValue");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"quantity-field","data-part":"value"}),{default:()=>slots["default"]?.(root.state.value)})}});function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside QuantityFieldRoot.`);return root}export{QuantityFieldInput,QuantityFieldRoot,QuantityFieldUnitSelect,QuantityFieldValue,createStandardQuantityPolicies};
2
2
  //# sourceMappingURL=quantity-field.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/quantity-field.ts"],"mappings":"AAAA,OACE,SAAU,gBAAiB,EAAG,OAAQ,WAAY,gBAAiB,UAAW,QAC9E,WAAY,UACP,MACP,OACE,wBACK,8BACP,OAAS,cAAmC,iBAC5C,OAAS,8BAAiC,oBAC1C,OAAS,2BAA8B,+BAEvC,OACE,mCAEK,8BAyBP,MAAM,IAAM,OAAO,0BAA0B,EAC7C,MAAM,UAAY,CAAE,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,MAAM,EAAI,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,CAAE,EAE3I,MAAM,kBAAoB,gBAAgB,CAC/C,KAAM,2BAA4B,aAAc,MAChD,MAAO,CACL,SAAU,CAAE,KAAM,OAA2C,SAAU,IAAI,EAC3E,WAAY,CAAE,KAAM,OAA0C,QAAS,MAAS,EAChF,aAAc,CAAE,KAAM,OAA0C,QAAS,IAAI,EAC7E,YAAa,CAAE,KAAM,OAAQ,QAAS,MAAS,EAAI,mBAAoB,CAAE,KAAM,OAAQ,QAAS,MAAS,EACzG,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EAAI,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EAAI,MAAO,CAAE,KAAM,OAAQ,QAAS,MAAS,EACnI,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,KAAK,EAAI,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAE7H,MAAO,CACL,oBAAsB,QAA0C,KAChE,qBAAuB,QAA4B,KACnD,OAAS,UAAgG,MAE3G,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAM,KAAK,EAAE,CACjC,MAAM,MAAQ,WAAU,EAAsB,MAAM,OAAS,WAAU,EACvE,MAAM,WAAa,WAAU,EAC7B,MAAM,MAAQ,WAAiC,MAAM,aAAe,OAAY,MAAM,WAAa,MAAM,YAAY,EACrH,MAAM,KAAO,WAAW,MAAM,aAAe,MAAM,oBAAsB,MAAM,SAAS,aAAa,EACrG,MAAM,KAAO,WAAW,EAAE,EAAG,MAAM,QAAU,WAAW,KAAK,EAC7D,MAAM,gBAAkB,MAAM,aAAe,OAAW,MAAM,eAAiB,MAAM,cAAgB,OACrG,MAAM,MAAQ,SAAqC,IAAM,OAAO,OAAO,CACrE,MAAO,MAAM,aAAe,OAAY,MAAM,WAAa,MAAM,MACjE,KAAM,KAAK,MAAO,YAAa,MAAM,aAAe,KAAK,MAAO,QAAS,QAAQ,MACjF,SAAU,MAAM,SAAU,SAAU,MAAM,SAC3C,CAAC,EACF,MAAM,QAAU,IAAW,CACzB,GAAI,WAAW,QAAU,OAAW,OACpC,MAAM,MAAQ,WAAW,MAAM,YAAW,EAAI,KAAK,MAAQ,WAAW,MAAM,eAAc,EAC1F,KAAK,MAAQ,WAAW,MAAM,QAAO,EAAI,QAAQ,MAAQ,MAAM,OAAO,aAAa,cAAc,IAAM,MACzG,EACA,MAAM,QAAU,CAAC,eAAiB,QAAe,CAC/C,MAAM,QAAU,MAAM,MACtB,GAAI,UAAY,OAAW,OAC3B,MAAM,WAAa,gBAAkB,WAAW,QAAU,OACtD,uBAAuB,QAAS,WAAW,MAAM,QAAO,CAAE,EAC1D,OACJ,WAAW,OAAO,WAAU,EAC5B,WAAW,MAAQ,oBAAoB,CACrC,MAAO,QAAS,GAAI,OAAO,QAAU,OAAY,CAAA,EAAK,CAAE,WAAY,OAAO,KAAK,EAAK,SAAU,MAAM,SACrG,GAAI,gBAAkB,CAAE,SAAU,MAAM,UAAkC,EAAK,CAAE,gBAAiB,MAAM,KAAK,EAC7G,GAAI,eAAiB,CAAE,YAAa,MAAM,WAAqB,EAAK,CAAE,mBAAoB,KAAK,KAAK,EACpG,GAAI,aAAe,OAAY,CAAA,EAAK,CAAE,kBAAmB,UAAU,EACnE,SAAU,MAAM,SAAU,SAAU,MAAM,SAAU,GAAI,MAAM,QAAU,OAAY,CAAA,EAAK,CAAE,MAAO,MAAM,KAAK,EAC7G,iBAAmB,SAAW,CAAG,MAAM,MAAQ,QAAQ,MAAO,KAAK,oBAAqB,QAAQ,KAAK,EAAG,KAAK,SAAU,OAAO,CAAG,EACjI,oBAAsB,MAAQ,CAAG,KAAK,MAAQ,KAAM,KAAK,qBAAsB,IAAI,CAAG,EAAG,SAAU,QACpG,EACD,QAAO,CACT,EACA,IAAI,QAAU,MACd,IAAI,eAAiB,MACrB,IAAI,iBAAmB,MACvB,IAAI,eAAuD,KAC3D,MAAM,eAAiB,IAAW,CAChC,GAAI,eAAgB,CAClB,iBAAmB,KACnB,MACF,CACA,QAAQ,IAAI,CACd,EACA,MAAM,kBAAqB,WAA4B,CACrD,eAAiB,UACjB,GAAI,WAAa,CAAC,kBAAoB,iBAAmB,KAAM,OAC/D,eAAiB,WAAW,IAAK,CAC/B,eAAiB,KACjB,GAAI,CAAC,SAAW,eAAgB,OAChC,iBAAmB,MACnB,QAAQ,IAAI,CACd,EAAG,CAAC,CACN,EACA,QAAiB,IAAK,CACpB,MAAO,MAAO,SAAS,IAAM,MAAM,KAAK,EACxC,cAAgB,SAAW,CAAG,MAAM,MAAQ,OAAS,EAAG,mBAAqB,SAAW,CAAG,OAAO,MAAQ,OAAS,EACnH,kBACD,EACD,UAAU,IAAK,CACb,QAAU,KACV,QAAO,CACT,CAAC,EACD,gBAAgB,IAAK,CACnB,QAAU,MACV,GAAI,iBAAmB,KAAM,aAAa,cAAc,EACxD,eAAiB,KACjB,iBAAmB,MACnB,WAAW,OAAO,WAAU,EAC5B,WAAW,MAAQ,MACrB,CAAC,EACD,MAAM,CAAC,IAAM,MAAM,SAAU,IAAM,MAAM,SAAU,IAAM,MAAM,SAAU,IAAM,MAAM,KAAK,EAAG,cAAc,EAC3G,MAAM,CAAC,IAAM,MAAM,WAAY,IAAM,MAAM,WAAW,EAAG,IAAK,CAC5D,GAAI,WAAW,QAAU,OAAW,OACpC,MAAM,OAAS,WAAW,MAAM,qBAAqB,CACnD,GAAI,gBAAkB,CAAE,SAAU,MAAM,UAAkC,EAAK,CAAA,EAC/E,GAAI,eAAiB,CAAE,YAAa,MAAM,WAAqB,EAAK,CAAA,EACrE,EACD,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,EAAG,QAAO,CACpE,CAAC,EACD,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,aAAc,iBAAkB,YAAa,OACnF,eAAgB,QAAQ,MAAQ,GAAK,OAAW,gBAAiB,MAAM,SAAW,GAAK,OACvF,gBAAiB,MAAM,SAAW,GAAK,OACxC,EAAG,CAAE,QAAS,IAAM,MAAM,SAAS,IAAI,MAAM,KAAK,CAAC,CAAE,CACxD,EACD,EAMM,MAAM,mBAAqB,gBAAgB,CAChD,KAAM,4BAA6B,aAAc,MACjD,MAAO,CACL,KAAM,CAAE,KAAM,OAAQ,QAAS,MAAS,EAAI,KAAM,CAAE,KAAM,OAAQ,QAAS,MAAS,EAAI,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACjI,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,OAAO,EAAI,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAE/H,MAAM,MAAO,CAAE,KAAK,EAAE,CACpB,MAAM,KAAO,QAAQ,oBAAoB,EACzC,MAAM,MAAQ,WAAoC,IAAI,EACtD,MAAM,cAAgB,0BAA0B,KAAK,EACrD,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,WAAa,MAAiB,CAClE,MAAM,MAAQ,gBAAgB,iBAAmB,KAAO,KACxD,KAAK,cAAc,MAAM,OAAS,MAAS,CAC7C,EACA,KAAM,OAAQ,KAAM,MAAM,KAAM,KAAM,MAAM,KAAM,SAAU,MAAM,SAClE,SAAU,KAAK,MAAM,MAAM,SAAU,SAAU,KAAK,MAAM,MAAM,SAChE,mBAAoB,IAAM,KAAK,kBAAkB,IAAI,EACrD,iBAAkB,IAAM,KAAK,kBAAkB,KAAK,EACpD,aAAc,KAAK,MAAM,MAAO,aAAc,iBAAkB,YAAa,SAC5E,cAAc,aAAa,KAAK,CAAC,CACtC,EACD,EAEM,MAAM,wBAA0B,gBAAgB,CACrD,KAAM,iCAAkC,aAAc,MACtD,MAAO,CAAE,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,QAAQ,EAAI,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,CAAE,EACzI,MAAM,MAAO,CAAE,KAAK,EAAE,CACpB,MAAM,KAAO,QAAQ,yBAAyB,EAC9C,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,WAAa,MAAkB,KAAK,mBAAmB,gBAAgB,kBAAoB,KAAO,MAAS,EACjJ,SAAU,KAAK,MAAM,MAAM,SAAU,gBAAiB,KAAK,MAAM,MAAM,SAAW,OAAS,OAC3F,aAAc,iBAAkB,YAAa,cAC9C,CAAC,CACJ,EACD,EAEM,MAAM,mBAAqB,gBAAgB,CAChD,KAAM,4BAA6B,aAAc,MAAO,MAAO,UAC/D,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAAI,MAAM,KAAO,QAAQ,oBAAoB,EAAG,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACnI,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,aAAc,iBAAkB,YAAa,QACpF,EAAG,CAAE,QAAS,IAAM,MAAM,SAAS,IAAI,KAAK,MAAM,KAAK,CAAC,CAAE,CAAG,EAC/D,EAED,SAAS,QAAQ,KAAY,CAAa,MAAM,KAAO,OAAgB,GAAG,EAAG,GAAI,OAAS,OAAW,MAAM,IAAI,UAAU,GAAG,IAAI,yCAAyC,EAAG,OAAO,IAAM","names":[],"file":"quantity-field.js"}
1
+ {"version":3,"sources":["../src/quantity-field.ts"],"mappings":"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","names":[],"file":"quantity-field.js"}
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,nextTick,provide,shallowRef,watch}from"vue";import{getRadioGroupInputAttributes,getRadioGroupItemAttributes,getRadioGroupRootAttributes}from"@sectile/dom/radio-group";import{createListboxControllerFromItems}from"@sectile/dom/listbox";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{usePartContract}from"./internal/part-contract.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenInputSubmissionCapabilities,useCompositeFormControl}from"./form/control.js";import{useHostDirection}from"./host-provider.js";import{reconcileCollectionState}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const rootKey=Symbol("SectileRadioGroupRoot");const itemKey=Symbol("SectileRadioGroupItem");const RadioGroupRoot=defineComponent({name:"SectileRadioGroupRoot",inheritAttrs:false,props:{items:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:""},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},orientation:{type:String,default:"vertical"},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,highlight:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const direction=useHostDirection();const rootElement=shallowRef(null);const inputElements=[];const participation=useCompositeFormControl({root:rootElement,submissions:()=>props.items.map((_,index)=>({element:()=>inputElements[index]??null,capabilities:hiddenInputSubmissionCapabilities}))});provideFormControlOwner();const controlled=useControlledStateInvariant("RadioGroupRoot","modelValue",()=>props.modelValue);const makeController=(value2,highlightedValue=value2||null)=>{const selected=value2===""?[]:[value2];const result=createListboxControllerFromItems({items:props.items,selectionMode:"single",disabledItems:props.disabledItems,disabled:props.disabled,readOnly:props.readonly,orientation:props.orientation,direction:direction.value,policies:{selectionFollowsFocus:true},...controlled?{value:selected}:{defaultValue:selected},defaultHighlightedValue:highlightedValue??props.items.find(id=>!props.disabledItems.includes(id))??null,onValueChange:({value:next})=>emit("update:modelValue",next[0]??""),onHighlightedValueChange:({value:next})=>emit("highlight",next)});if(!result.ok)throw new TypeError(result.error.message);return result.value};const controller=shallowRef(makeController(controlled?props.modelValue:props.defaultValue));const snapshot=shallowRef(controller.value.getSnapshot());const rebuild=()=>{const requested=controlled?props.modelValue:snapshot.value.state.selection.selected[0]??"";const reconciled=reconcileCollectionState(props.items,requested===""?[]:[requested],snapshot.value.state.cursor.current,props.disabledItems,"single");const current=reconciled.selected[0]??"";controller.value=makeController(current,reconciled.current);snapshot.value=controller.value.getSnapshot();if(controlled&&current!==requested)emit("update:modelValue",current)};watch(()=>props.modelValue,next=>{if(!controlled||next===void 0)return;const result=controller.value.syncControlledValues({value:next===""?[]:[next]});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value});watch([()=>props.items,()=>props.disabledItems,()=>props.disabled,()=>props.readonly,()=>props.orientation,direction],rebuild);const value=computed(()=>snapshot.value.state.selection.selected[0]??"");const highlighted=computed(()=>snapshot.value.state.cursor.current);const disabled=computed(()=>props.disabled);const disabledItems=computed(()=>new Set(props.disabledItems));const apply=(result,root)=>{if(!result.ok)return false;snapshot.value=result.snapshot;if(root!==void 0)void nextTick(()=>focusItem(root,result.snapshot.state.cursor.current));return true};const part=usePartContract("radio-group","root");provide(rootKey,{value,highlighted,disabled,disabledItems,partContract:part,select:(id,target)=>apply(controller.value.handleEvent({type:"activate",id}),target.closest('[role="radiogroup"]'))});const rootAttributes=computed(()=>getRadioGroupRootAttributes({orientation:props.orientation,direction:direction.value,disabled:props.disabled,readOnly:props.readonly}));const slotProps=computed(()=>({value:value.value,highlightedValue:highlighted.value,disabled:props.disabled,readonly:props.readonly}));return()=>{const root=h(Primitive,mergeProps(attrs,rootAttributes.value,{as:props.as,asChild:props.asChild,elementRef:element=>{rootElement.value=element},"data-scope":part.scope,onKeydown:event=>{if(!apply(controller.value.handleKeyboardInput(event),event.currentTarget))return;event.preventDefault()}},participation.controlProps.value),{default:()=>slots["default"]?.(slotProps.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0&&!props.required)return root;return[root,...props.items.map((id,index)=>h("input",mergeProps(getRadioGroupInputAttributes({...props.name===void 0?{}:{name:props.name},...props.form===void 0?{}:{form:props.form},value:id,checked:value.value===id,required:props.required,disabled:props.disabled||props.disabledItems.includes(id)}),{ref:element=>{inputElements[index]=element instanceof HTMLInputElement?element:null},style:visuallyHiddenInputStyle})))]}}});const RadioGroupItem=defineComponent({name:"SectileRadioGroupItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("RadioGroupItem");const part={scope:root.partContract.scope,part:root.partContract.parts["item"]??"item"};const state=computed(()=>({value:props.value,checked:root.value.value===props.value,highlighted:root.highlighted.value===props.value,disabled:root.disabled.value||props.disabled||root.disabledItems.value.has(props.value)}));provide(itemKey,{state,partContract:root.partContract});const attributes=computed(()=>getRadioGroupItemAttributes({id:props.value,checked:state.value.checked,highlighted:state.value.highlighted,disabled:state.value.disabled}));return()=>h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,"data-scope":part.scope,onClick:event=>{if(!event.defaultPrevented&&!state.value.disabled)root.select(props.value,event.currentTarget)}}),{default:()=>slots["default"]?.(state.value)})}});const RadioGroupIndicator=defineComponent({name:"SectileRadioGroupIndicator",inheritAttrs:false,props:{...conditionalPresenceProps,as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const item=inject(itemKey);if(item===void 0)throw new TypeError("RadioGroupIndicator must be used inside RadioGroupItem.");const part={scope:item.partContract.scope,part:item.partContract.parts["indicator"]??"indicator"};const active=computed(()=>item.state.value.checked);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:presence.register,hidden:presence.hidden.value,"aria-hidden":"true","data-scope":part.scope,"data-part":part.part,"data-state":item.state.value.checked?"checked":"unchecked"}),{default:()=>slots["default"]?.(item.state.value)})}});function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside RadioGroupRoot.`);return root}function focusItem(root,id){if(id===null)return;for(const item of root.querySelectorAll("[data-radio-group-id]"))if(item.dataset["radioGroupId"]===id)item.focus()}export{RadioGroupIndicator,RadioGroupItem,RadioGroupRoot};
1
+ import{computed,defineComponent,h,inject,mergeProps,nextTick,provide,shallowRef,watch}from"vue";import{getRadioGroupInputAttributes,getRadioGroupItemAttributes,getRadioGroupRootAttributes}from"@sectile/dom/radio-group";import{createListboxControllerFromItems}from"@sectile/dom/listbox";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{usePartContract}from"./internal/part-contract.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenInputSubmissionCapabilities,useCompositeFormControl,useFormSubmissionProps,useFormControlFlags}from"./form/control.js";import{useHostDirection}from"./host-provider.js";import{reconcileCollectionState}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const rootKey=Symbol("SectileRadioGroupRoot");const itemKey=Symbol("SectileRadioGroupItem");const RadioGroupRoot=defineComponent({__sectileFormLabelMode:"labelledby",name:"SectileRadioGroupRoot",inheritAttrs:false,props:{items:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:""},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},orientation:{type:String,default:"vertical"},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,highlight:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const flags=useFormControlFlags(props);const direction=useHostDirection();const rootElement=shallowRef(null);const inputElements=[];const submissionProps=useFormSubmissionProps({element:()=>null,capabilities:hiddenInputSubmissionCapabilities},props);const participation=useCompositeFormControl({root:rootElement,submissions:()=>props.items.map((_,index)=>({element:()=>inputElements[index]??null,capabilities:hiddenInputSubmissionCapabilities})),reset:()=>{if(controlled)return;const reconciled=reconcileCollectionState(props.items,initialValue===""?[]:[initialValue],initialValue||null,props.disabledItems,"single");controller.value=makeController(reconciled.selected[0]??"",reconciled.current);snapshot.value=controller.value.getSnapshot()}});provideFormControlOwner();const controlled=useControlledStateInvariant("RadioGroupRoot","modelValue",()=>props.modelValue);const initialValue=controlled?props.modelValue:props.defaultValue;const makeController=(value2,highlightedValue=value2||null)=>{const selected=value2===""?[]:[value2];const result=createListboxControllerFromItems({items:props.items,selectionMode:"single",disabledItems:props.disabledItems,disabled:flags.value.disabled,readOnly:flags.value.readonly,orientation:props.orientation,direction:direction.value,policies:{selectionFollowsFocus:true},...controlled?{value:selected}:{defaultValue:selected},highlightedValue:highlightedValue??props.items.find(id=>!props.disabledItems.includes(id))??null,onValueChange:({value:next})=>emit("update:modelValue",next[0]??""),onHighlightedValueChange:({value:next})=>syncHighlight(next)});if(!result.ok)throw new TypeError(result.error.message);return result.value};const controller=shallowRef(makeController(controlled?props.modelValue:props.defaultValue));const snapshot=shallowRef(controller.value.getSnapshot());const syncHighlight=current=>{const previous=controller.value.getSnapshot();if(previous.state.cursor.current===current)return;const result=controller.value.syncControlledValues({...controlled?{value:previous.state.selection.selected}:{},highlightedValue:current});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value;emit("highlight",current)};const rebuild=()=>{const requested=controlled?props.modelValue:snapshot.value.state.selection.selected[0]??"";const reconciled=reconcileCollectionState(props.items,requested===""?[]:[requested],snapshot.value.state.cursor.current,props.disabledItems,"single");const current=reconciled.selected[0]??"";controller.value=makeController(current,reconciled.current);snapshot.value=controller.value.getSnapshot();if(controlled&&current!==requested)emit("update:modelValue",current)};watch(()=>props.modelValue,next=>{if(!controlled||next===void 0)return;const result=controller.value.syncControlledValues({value:next===""?[]:[next],highlightedValue:controller.value.getSnapshot().state.cursor.current});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value});watch([()=>props.items,()=>props.disabledItems,()=>flags.value.disabled,()=>flags.value.readonly,()=>props.orientation,direction],rebuild);const value=computed(()=>snapshot.value.state.selection.selected[0]??"");const highlighted=computed(()=>snapshot.value.state.cursor.current);const disabled=computed(()=>flags.value.disabled);const disabledItems=computed(()=>new Set(props.disabledItems));const apply=(result,root)=>{if(!result.ok)return false;snapshot.value=controller.value.getSnapshot();if(root!==void 0)void nextTick(()=>focusItem(root,snapshot.value.state.cursor.current));return true};const part=usePartContract("radio-group","root");provide(rootKey,{value,highlighted,disabled,disabledItems,partContract:part,focus:syncHighlight,select:(id,target)=>apply(controller.value.handleEvent({type:"activate",id}),target.closest('[role="radiogroup"]'))});const rootAttributes=computed(()=>getRadioGroupRootAttributes({orientation:props.orientation,direction:direction.value,disabled:flags.value.disabled,readOnly:flags.value.readonly}));const slotProps=computed(()=>({value:value.value,highlightedValue:highlighted.value,disabled:flags.value.disabled,readonly:flags.value.readonly}));return()=>{const root=h(Primitive,mergeProps(attrs,rootAttributes.value,{"aria-label":attrs["aria-label"],as:props.as,asChild:props.asChild,elementRef:element=>{rootElement.value=element},"data-scope":part.scope,onKeydown:event=>{if(event.defaultPrevented)return;const root2=event.currentTarget;if(event.target!==root2){const item=event.target?.closest?.("[data-radio-group-id]");if(item?.closest('[role="radiogroup"]')!==root2)return}if(!apply(controller.value.handleKeyboardInput(event),root2))return;event.preventDefault()}},participation.controlProps.value),{default:()=>slots["default"]?.(slotProps.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0&&!props.required)return root;return[root,...props.items.map((id,index)=>h("input",mergeProps(getRadioGroupInputAttributes({...props.name===void 0?{}:{name:props.name},...props.form===void 0?{}:{form:props.form},value:id,checked:value.value===id,required:props.required,disabled:submissionProps.value["disabled"]===true||props.disabledItems.includes(id)}),submissionProps.value,{disabled:submissionProps.value["disabled"]===true||props.disabledItems.includes(id),ref:element=>{inputElements[index]=element instanceof HTMLInputElement?element:null},style:visuallyHiddenInputStyle})))]}}});const RadioGroupItem=defineComponent({name:"SectileRadioGroupItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("RadioGroupItem");const part={scope:root.partContract.scope,part:root.partContract.parts["item"]??"item"};const state=computed(()=>({value:props.value,checked:root.value.value===props.value,highlighted:root.highlighted.value===props.value,disabled:root.disabled.value||props.disabled||root.disabledItems.value.has(props.value)}));provide(itemKey,{state,partContract:root.partContract});const attributes=computed(()=>getRadioGroupItemAttributes({id:props.value,checked:state.value.checked,highlighted:state.value.highlighted,disabled:state.value.disabled}));return()=>h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,"data-scope":part.scope,onFocus:()=>{if(!state.value.disabled)root.focus(props.value)},onClick:event=>{if(!event.defaultPrevented&&!state.value.disabled)root.select(props.value,event.currentTarget)}}),{default:()=>slots["default"]?.(state.value)})}});const RadioGroupIndicator=defineComponent({name:"SectileRadioGroupIndicator",inheritAttrs:false,props:{...conditionalPresenceProps,as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const item=inject(itemKey);if(item===void 0)throw new TypeError("RadioGroupIndicator must be used inside RadioGroupItem.");const part={scope:item.partContract.scope,part:item.partContract.parts["indicator"]??"indicator"};const active=computed(()=>item.state.value.checked);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:presence.register,hidden:presence.hidden.value,"aria-hidden":"true","data-scope":part.scope,"data-part":part.part,"data-state":item.state.value.checked?"checked":"unchecked"}),{default:()=>slots["default"]?.(item.state.value)})}});function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside RadioGroupRoot.`);return root}function focusItem(root,id){if(id===null)return;const token=getRadioGroupItemAttributes({id,checked:false,highlighted:false})["data-radio-group-id"];for(const item of root.querySelectorAll("[data-radio-group-id]")){if(item.dataset["radioGroupId"]===token&&item.closest('[role="radiogroup"]')===root){item.focus();return}}}export{RadioGroupIndicator,RadioGroupItem,RadioGroupRoot};
2
2
  //# sourceMappingURL=radio-group.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/radio-group.ts"],"mappings":"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","names":["value"],"file":"radio-group.js"}
1
+ {"version":3,"sources":["../src/radio-group.ts"],"mappings":"AAAA,OACE,SAAU,gBAAiB,EAAG,OAAQ,WAAY,SAAU,QAAS,WAAY,UAE5E,MACP,OACE,6BACA,4BACA,gCACK,2BACP,OAAS,qCAAgE,uBACzE,OAAS,cAAmC,iBAC5C,OAAS,6BAAgC,0BACzC,OAAS,oBAA0C,8BACnD,OAAS,4BAA+B,oBACxC,OAAS,kCAAmC,wBAAyB,uBAAwB,wBAA2B,oBACxH,OAAS,qBAAwB,qBACjC,OAAS,6BAAgC,2BACzC,OAAS,gCAAmC,iCAC5C,OACE,yBACA,2BAEK,qCA+BP,MAAM,QAAU,OAAO,uBAAuB,EAC9C,MAAM,QAAU,OAAO,uBAAuB,EAEvC,MAAM,eAAiB,gBAAgB,CAC5C,uBAAwB,aACxB,KAAM,wBACN,aAAc,MACd,MAAO,CACL,MAAO,CAAE,KAAM,MAAsC,SAAU,IAAI,EACnE,WAAY,CAAE,KAAM,OAAQ,QAAS,MAAS,EAC9C,aAAc,CAAE,KAAM,OAAQ,QAAS,EAAE,EACzC,cAAe,CAAE,KAAM,MAAsC,QAAS,IAAM,CAAA,CAAE,EAC9E,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,YAAa,CAAE,KAAM,OAA+C,QAAS,UAAU,EACvF,KAAM,CAAE,KAAM,OAAQ,QAAS,MAAS,EACxC,KAAM,CAAE,KAAM,OAAQ,QAAS,MAAS,EACxC,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,KAAK,EAC/E,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAE1C,MAAO,CACL,oBAAsB,QAA4B,KAClD,UAAY,QAAmC,MAEjD,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAM,KAAK,EAAE,CACjC,MAAM,MAAQ,oBAAoB,KAAK,EACvC,MAAM,UAAY,iBAAgB,EAClC,MAAM,YAAc,WAA+B,IAAI,EACvD,MAAM,cAAgD,CAAA,EACtD,MAAM,gBAAkB,uBAAuB,CAAE,QAAS,IAAM,KAAM,aAAc,iCAAiC,EAAI,KAAK,EAC9H,MAAM,cAAgB,wBAAwB,CAC5C,KAAM,YACN,YAAa,IAAM,MAAM,MAAM,IAAI,CAAC,EAAG,SAAW,CAChD,QAAS,IAAM,cAAc,KAAK,GAAK,KACvC,aAAc,mCACd,EACF,MAAO,IAAK,CACV,GAAI,WAAY,OAChB,MAAM,WAAa,yBAAyB,MAAM,MAAO,eAAiB,GAAK,CAAA,EAAK,CAAC,YAAY,EAC/F,cAAgB,KAAM,MAAM,cAAe,QAAQ,EACrD,WAAW,MAAQ,eAAe,WAAW,SAAS,CAAC,GAAK,GAAI,WAAW,OAAO,EAClF,SAAS,MAAQ,WAAW,MAAM,YAAW,CAC/C,EACD,EACD,wBAAuB,EACvB,MAAM,WAAa,4BAA4B,iBAAkB,aAAc,IAAM,MAAM,UAAU,EACrG,MAAM,aAAe,WAAa,MAAM,WAAuB,MAAM,aACrE,MAAM,eAAiB,CAACA,OAAe,iBAAmBA,QAAS,OAAmC,CACpG,MAAM,SAAWA,SAAU,GAAK,CAAA,EAAK,CAACA,MAAK,EAC3C,MAAM,OAAS,iCAAiC,CAC9C,MAAO,MAAM,MACb,cAAe,SACf,cAAe,MAAM,cACrB,SAAU,MAAM,MAAM,SACtB,SAAU,MAAM,MAAM,SACtB,YAAa,MAAM,YACnB,UAAW,UAAU,MACrB,SAAU,CAAE,sBAAuB,IAAI,EACvC,GAAI,WAAa,CAAE,MAAO,QAAQ,EAAK,CAAE,aAAc,QAAQ,EAC/D,iBAAkB,kBAAoB,MAAM,MAAM,KAAM,IAAO,CAAC,MAAM,cAAc,SAAS,EAAE,CAAC,GAAK,KACrG,cAAe,CAAC,CAAE,MAAO,IAAI,IAAO,KAAK,oBAAqB,KAAK,CAAC,GAAK,EAAE,EAC3E,yBAA0B,CAAC,CAAE,MAAO,IAAI,IAAO,cAAc,IAAI,EAClE,EACD,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,EACxD,OAAO,OAAO,KAChB,EACA,MAAM,WAAa,WAAW,eAAe,WAAa,MAAM,WAAuB,MAAM,YAAY,CAAC,EAC1G,MAAM,SAAW,WAAW,WAAW,MAAM,YAAW,CAAE,EAC1D,MAAM,cAAiB,SAAgC,CACrD,MAAM,SAAW,WAAW,MAAM,YAAW,EAC7C,GAAI,SAAS,MAAM,OAAO,UAAY,QAAS,OAC/C,MAAM,OAAS,WAAW,MAAM,qBAAqB,CACnD,GAAI,WAAa,CAAE,MAAO,SAAS,MAAM,UAAU,QAAQ,EAAK,CAAA,EAChE,iBAAkB,QACnB,EACD,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,EACxD,SAAS,MAAQ,OAAO,MACxB,KAAK,YAAa,OAAO,CAC3B,EACA,MAAM,QAAU,IAAW,CACzB,MAAM,UAAY,WAAa,MAAM,WAAuB,SAAS,MAAM,MAAM,UAAU,SAAS,CAAC,GAAK,GAC1G,MAAM,WAAa,yBACjB,MAAM,MACN,YAAc,GAAK,CAAA,EAAK,CAAC,SAAS,EAClC,SAAS,MAAM,MAAM,OAAO,QAC5B,MAAM,cACN,QAAQ,EAEV,MAAM,QAAU,WAAW,SAAS,CAAC,GAAK,GAC1C,WAAW,MAAQ,eAAe,QAAS,WAAW,OAAO,EAC7D,SAAS,MAAQ,WAAW,MAAM,YAAW,EAC7C,GAAI,YAAc,UAAY,UAAW,KAAK,oBAAqB,OAAO,CAC5E,EACA,MAAM,IAAM,MAAM,WAAa,MAAQ,CACrC,GAAI,CAAC,YAAc,OAAS,OAAW,OACvC,MAAM,OAAS,WAAW,MAAM,qBAAqB,CACnD,MAAO,OAAS,GAAK,CAAA,EAAK,CAAC,IAAI,EAAG,iBAAkB,WAAW,MAAM,YAAW,EAAG,MAAM,OAAO,QACjG,EACD,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,EACxD,SAAS,MAAQ,OAAO,KAC1B,CAAC,EACD,MAAM,CAAC,IAAM,MAAM,MAAO,IAAM,MAAM,cAAe,IAAM,MAAM,MAAM,SAAU,IAAM,MAAM,MAAM,SAAU,IAAM,MAAM,YAAa,SAAS,EAAG,OAAO,EACzJ,MAAM,MAAQ,SAAS,IAAM,SAAS,MAAM,MAAM,UAAU,SAAS,CAAC,GAAK,EAAE,EAC7E,MAAM,YAAc,SAAS,IAAM,SAAS,MAAM,MAAM,OAAO,OAAO,EACtE,MAAM,SAAW,SAAS,IAAM,MAAM,MAAM,QAAQ,EACpD,MAAM,cAAgB,SAA8B,IAAM,IAAI,IAAI,MAAM,aAAa,CAAC,EACtF,MAAM,MAAQ,CAAC,OAA8D,OAA+B,CAC1G,GAAI,CAAC,OAAO,GAAI,MAAO,OACvB,SAAS,MAAQ,WAAW,MAAM,YAAW,EAC7C,GAAI,OAAS,OAAW,KAAK,SAAS,IAAM,UAAU,KAAM,SAAS,MAAM,MAAM,OAAO,OAAO,CAAC,EAChG,MAAO,KACT,EACA,MAAM,KAAO,gBAAgB,cAAe,MAAM,EAClD,QAAqB,QAAS,CAC5B,MAAO,YAAa,SAAU,cAAe,aAAc,KAC3D,MAAO,cACP,OAAQ,CAAC,GAAI,SAAW,MAAM,WAAW,MAAM,YAAY,CAAE,KAAM,WAAY,EAAE,CAAE,EAAG,OAAO,QAAQ,qBAAqB,CAA4B,EACvJ,EACD,MAAM,eAAiB,SAAS,IAAM,4BAA4B,CAAE,YAAa,MAAM,YAAa,UAAW,UAAU,MAAO,SAAU,MAAM,MAAM,SAAU,SAAU,MAAM,MAAM,QAAQ,CAAE,CAAC,EACjM,MAAM,UAAY,SAAkC,KAAO,CAAE,MAAO,MAAM,MAAO,iBAAkB,YAAY,MAAO,SAAU,MAAM,MAAM,SAAU,SAAU,MAAM,MAAM,QAAQ,EAAG,EACvL,MAAO,IAAiB,CACtB,MAAM,KAAO,EAAE,UAAW,WAAW,MAAO,eAAe,MAAkC,CAC3F,aAAc,MAAM,YAAY,EAChC,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAa,SAAoB,CAAG,YAAY,MAAQ,OAA+B,EACvF,aAAc,KAAK,MACnB,UAAY,OAAwB,CAClC,GAAI,MAAM,iBAAkB,OAC5B,MAAMC,MAAO,MAAM,cACnB,GAAI,MAAM,SAAWA,MAAM,CACzB,MAAM,KAAQ,MAAM,QAA2B,UAAU,uBAAuB,EAChF,GAAI,MAAM,QAAQ,qBAAqB,IAAMA,MAAM,MACrD,CACA,GAAI,CAAC,MAAM,WAAW,MAAM,oBAAoB,KAAK,EAAGA,KAAI,EAAG,OAC/D,MAAM,eAAc,CACtB,GACC,cAAc,aAAa,KAAK,EAAG,CAAE,QAAS,IAAM,MAAM,SAAS,IAAI,UAAU,KAAK,CAAC,CAAE,EAC5F,GAAI,CAAC,cAAc,eAAiB,MAAM,OAAS,QAAa,MAAM,OAAS,QAAa,CAAC,MAAM,SAAU,OAAO,KACpH,MAAO,CAAC,KAAM,GAAG,MAAM,MAAM,IAAI,CAAC,GAAI,QAAU,EAAE,QAAS,WAAW,6BAA6B,CACjG,GAAI,MAAM,OAAS,OAAY,CAAA,EAAK,CAAE,KAAM,MAAM,IAAI,EACtD,GAAI,MAAM,OAAS,OAAY,CAAA,EAAK,CAAE,KAAM,MAAM,IAAI,EACtD,MAAO,GACP,QAAS,MAAM,QAAU,GACzB,SAAU,MAAM,SAChB,SAAU,gBAAgB,MAAM,UAAU,IAAM,MAAQ,MAAM,cAAc,SAAS,EAAE,EACxF,EAA8B,gBAAgB,MAAO,CACpD,SAAU,gBAAgB,MAAM,UAAU,IAAM,MAAQ,MAAM,cAAc,SAAS,EAAE,EACvF,IAAM,SAAoB,CACxB,cAAc,KAAK,EAAI,mBAAmB,iBAAmB,QAAU,IACzE,EACA,MAAO,yBACR,CAAC,CAAC,CAAC,CACN,CACF,EACD,EAKM,MAAM,eAAiB,gBAAgB,CAC5C,KAAM,wBACN,aAAc,MACd,MAAO,CACL,MAAO,CAAE,KAAM,OAAQ,SAAU,IAAI,EACrC,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,QAAQ,EAClF,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAE1C,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,gBAAgB,EACrC,MAAM,KAAO,CAAE,MAAO,KAAK,aAAa,MAAO,KAAM,KAAK,aAAa,MAAM,MAAM,GAAK,MAAM,EAC9F,MAAM,MAAQ,SAAkC,KAAO,CACrD,MAAO,MAAM,MACb,QAAS,KAAK,MAAM,QAAU,MAAM,MACpC,YAAa,KAAK,YAAY,QAAU,MAAM,MAC9C,SAAU,KAAK,SAAS,OAAS,MAAM,UAAY,KAAK,cAAc,MAAM,IAAI,MAAM,KAAK,GAC3F,EACF,QAAqB,QAAS,CAAE,MAAO,aAAc,KAAK,YAAY,CAAE,EACxE,MAAM,WAAa,SAAS,IAAM,4BAA4B,CAAE,GAAI,MAAM,MAAO,QAAS,MAAM,MAAM,QAAS,YAAa,MAAM,MAAM,YAAa,SAAU,MAAM,MAAM,QAAQ,CAAE,CAAC,EACtL,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,WAAW,MAAkC,CACnG,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,aAAc,KAAK,MACnB,QAAS,IAAK,CAAG,GAAI,CAAC,MAAM,MAAM,SAAU,KAAK,MAAM,MAAM,KAAK,CAAG,EACrE,QAAU,OAAqB,CAC7B,GAAI,CAAC,MAAM,kBAAoB,CAAC,MAAM,MAAM,SAAU,KAAK,OAAO,MAAM,MAAO,MAAM,aAA4B,CACnH,EACD,EAAG,CAAE,QAAS,IAAM,MAAM,SAAS,IAAI,MAAM,KAAK,CAAC,CAAE,CACxD,EACD,EAEM,MAAM,oBAAsB,gBAAgB,CACjD,KAAM,6BACN,aAAc,MACd,MAAO,CACL,GAAG,yBACH,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,MAAM,EAChF,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAE1C,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,OAAoB,OAAO,EACxC,GAAI,OAAS,OAAW,MAAM,IAAI,UAAU,yDAAyD,EACrG,MAAM,KAAO,CAAE,MAAO,KAAK,aAAa,MAAO,KAAM,KAAK,aAAa,MAAM,WAAW,GAAK,WAAW,EACxG,MAAM,OAAS,SAAS,IAAM,KAAK,MAAM,MAAM,OAAO,EACtD,MAAM,aAAe,SAAS,IAAM,MAAM,YAAY,EACtD,MAAM,SAAW,uBAAuB,OAAQ,YAAY,EAC5D,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAY,SAAS,SACrB,OAAQ,SAAS,OAAO,MACxB,cAAe,OACf,aAAc,KAAK,MACnB,YAAa,KAAK,KAClB,aAAc,KAAK,MAAM,MAAM,QAAU,UAAY,YACtD,EAAG,CAAE,QAAS,IAAM,MAAM,SAAS,IAAI,KAAK,MAAM,KAAK,CAAC,CAAE,CAC7D,EACD,EAED,SAAS,QAAQ,KAAY,CAC3B,MAAM,KAAO,OAAoB,OAAO,EACxC,GAAI,OAAS,OAAW,MAAM,IAAI,UAAU,GAAG,IAAI,sCAAsC,EACzF,OAAO,IACT,CACA,SAAS,UAAU,KAAmB,GAAiB,CACrD,GAAI,KAAO,KAAM,OACjB,MAAM,MAAQ,4BAA4B,CAAE,GAAI,QAAS,MAAO,YAAa,KAAK,CAAE,EAAE,qBAAqB,EAC3G,UAAW,QAAQ,KAAK,iBAA8B,uBAAuB,EAAG,CAC9E,GAAI,KAAK,QAAQ,cAAc,IAAM,OAAS,KAAK,QAAQ,qBAAqB,IAAM,KAAM,CAC1F,KAAK,MAAK,EACV,MACF,CACF,CACF","names":["value","root"],"file":"radio-group.js"}
package/dist/rating.js CHANGED
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,getCurrentInstance,h,inject,mergeProps,provide,ref,watch}from"vue";import{applyRatingEvent,tryCreateRatingState}from"@sectile/core/rating";import{createSequence}from"@sectile/core/sequence";import{RadioGroupIndicator,RadioGroupItem,RadioGroupRoot}from"./radio-group.js";import{Primitive}from"./primitive.js";import{providePartContract}from"./internal/part-contract.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";const ratingKey=Symbol("SectileRatingRoot");const RatingRoot=defineComponent({name:"SectileRatingRoot",inheritAttrs:false,props:{items:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:""},disabledItems:{type:Array,default:()=>[]},clearable:{type:Boolean,default:false},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const instance=getCurrentInstance();providePartContract("rating");const controlled=useControlledStateInvariant("RatingRoot","modelValue",()=>props.modelValue);const localValue=ref(controlled?props.modelValue:props.defaultValue);watch(()=>props.modelValue,value2=>{if(controlled&&value2!==void 0)localValue.value=value2});const value=computed(()=>localValue.value);const disabled=computed(()=>props.disabled);const readonly=computed(()=>props.readonly);const clearable=computed(()=>props.clearable);const domain=computed(()=>createSequence(props.items));const update=next=>{if(!controlled)localValue.value=next;emit("update:modelValue",next)};provide(ratingKey,{value,disabled,readonly,clearable,clear:()=>{if(!props.clearable||props.disabled||props.readonly)return;const current=tryCreateRatingState(domain.value,value.value||null);if(!current.ok)throw new TypeError(current.error.message);const cleared=applyRatingEvent(domain.value,current.value,"clear");if(!cleared.ok)throw new TypeError(cleared.error.message);update(cleared.value.state.selection.selected[0]??"")}});return()=>h(RadioGroupRoot,mergeProps(attrs,{items:props.items,modelValue:localValue.value,disabledItems:props.disabledItems,orientation:"horizontal",as:props.as,asChild:props.asChild,"aria-roledescription":"rating","onUpdate:modelValue":update,...explicitFormProps(instance?.vnode.props??null,props)}),{default:root=>slots["default"]?.({...root,clearable:props.clearable})})}});function explicitFormProps(vnodeProps,props){if(vnodeProps===null)return{};const result={};for(const key of["disabled","readonly","name","form","required"]){if(Object.prototype.hasOwnProperty.call(vnodeProps,key))result[key]=props[key]}return result}const RatingItem=defineComponent({name:"SectileRatingItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},setup(props,{attrs,slots}){return()=>h(RadioGroupItem,mergeProps(attrs,props,{"aria-label":`${props.value} rating`,"data-scope":"rating"}),slots)}});const RatingIndicator=RadioGroupIndicator;const RatingClear=defineComponent({name:"SectileRatingClear",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},setup(props,{attrs,slots}){const root=inject(ratingKey);if(root===void 0)throw new TypeError("RatingClear must be used inside RatingRoot.");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:root.disabled.value||root.readonly.value||!root.clearable.value||root.value.value==="","data-scope":"rating","data-part":"clear",onClick:event=>{if(!event.defaultPrevented)root.clear()}}),slots)}});export{RatingClear,RatingIndicator,RatingItem,RatingRoot};
1
+ import{computed,defineComponent,getCurrentInstance,h,inject,mergeProps,provide,shallowRef,watch}from"vue";import{applyRatingEvent,tryCreateRatingState}from"@sectile/core/rating";import{createSequence}from"@sectile/core/sequence";import{RadioGroupIndicator,RadioGroupItem,RadioGroupRoot}from"./radio-group.js";import{Primitive}from"./primitive.js";import{providePartContract}from"./internal/part-contract.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{reconcileCollectionState}from"./internal/collection.js";import{provideFormControlReset}from"./form/control.js";const ratingKey=Symbol("SectileRatingRoot");const RatingRoot=defineComponent({__sectileFormLabelMode:"labelledby",name:"SectileRatingRoot",inheritAttrs:false,props:{items:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:""},disabledItems:{type:Array,default:()=>[]},clearable:{type:Boolean,default:false},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const instance=getCurrentInstance();providePartContract("rating");const controlled=useControlledStateInvariant("RatingRoot","modelValue",()=>props.modelValue);const initialValue=controlled?props.modelValue:props.defaultValue;const localValue=shallowRef(initialValue);provideFormControlReset(()=>{if(controlled)return;const reconciled=reconcileCollectionState(props.items,initialValue===""?[]:[initialValue],initialValue||null,props.disabledItems,"single");localValue.value=reconciled.selected[0]??""});watch(()=>props.modelValue,value2=>{if(controlled&&value2!==void 0)localValue.value=value2});const value=computed(()=>localValue.value);const disabled=computed(()=>props.disabled);const readonly=computed(()=>props.readonly);const clearable=computed(()=>props.clearable);const domain=computed(()=>createSequence(props.items));const update=next=>{if(!controlled)localValue.value=next;emit("update:modelValue",next)};provide(ratingKey,{value,disabled,readonly,clearable,clear:()=>{if(!props.clearable||props.disabled||props.readonly)return;const current=tryCreateRatingState(domain.value,value.value||null);if(!current.ok)throw new TypeError(current.error.message);const cleared=applyRatingEvent(domain.value,current.value,"clear");if(!cleared.ok)throw new TypeError(cleared.error.message);update(cleared.value.state.selection.selected[0]??"")}});return()=>h(RadioGroupRoot,mergeProps(attrs,{items:props.items,modelValue:localValue.value,disabledItems:props.disabledItems,orientation:"horizontal",as:props.as,asChild:props.asChild,"aria-roledescription":"rating","onUpdate:modelValue":update,...explicitFormProps(instance?.vnode.props??null,props)}),{default:root=>slots["default"]?.({...root,clearable:props.clearable})})}});function explicitFormProps(vnodeProps,props){if(vnodeProps===null)return{};const result={};for(const key of["disabled","readonly","name","form","required"]){if(Object.prototype.hasOwnProperty.call(vnodeProps,key))result[key]=props[key]}return result}const RatingItem=defineComponent({name:"SectileRatingItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},setup(props,{attrs,slots}){return()=>h(RadioGroupItem,mergeProps(attrs,props,{"aria-label":attrs["aria-label"]??(attrs["aria-labelledby"]===void 0?`${props.value} rating`:void 0),"data-scope":"rating"}),slots)}});const RatingIndicator=RadioGroupIndicator;const RatingClear=defineComponent({name:"SectileRatingClear",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},setup(props,{attrs,slots}){const root=inject(ratingKey);if(root===void 0)throw new TypeError("RatingClear must be used inside RatingRoot.");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:root.disabled.value||root.readonly.value||!root.clearable.value||root.value.value==="","data-scope":"rating","data-part":"clear",onClick:event=>{if(!event.defaultPrevented)root.clear()}}),slots)}});export{RatingClear,RatingIndicator,RatingItem,RatingRoot};
2
2
  //# sourceMappingURL=rating.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/rating.ts"],"mappings":"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","names":["value"],"file":"rating.js"}
1
+ {"version":3,"sources":["../src/rating.ts"],"mappings":"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","names":["value"],"file":"rating.js"}