@sectile/vue 0.18.1 → 0.18.3

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 (395) hide show
  1. package/dist/accordion.d.ts +1 -1
  2. package/dist/accordion.js +1 -1
  3. package/dist/carousel.d.ts +1 -1
  4. package/dist/carousel.js +1 -1
  5. package/dist/cascade-list.js +1 -1
  6. package/dist/cascade-list.js.map +1 -1
  7. package/dist/cascade-select.js +1 -1
  8. package/dist/cascade-select.js.map +1 -1
  9. package/dist/checkbox-group.js +1 -1
  10. package/dist/checkbox-group.js.map +1 -1
  11. package/dist/checkbox.d.ts +1 -1
  12. package/dist/checkbox.js +1 -1
  13. package/dist/checkbox.js.map +1 -1
  14. package/dist/color-picker.js +1 -1
  15. package/dist/color-picker.js.map +1 -1
  16. package/dist/combobox.d.ts +1 -1
  17. package/dist/combobox.js +1 -1
  18. package/dist/combobox.js.map +1 -1
  19. package/dist/disclosure.d.ts +1 -1
  20. package/dist/disclosure.js +1 -1
  21. package/dist/editable.js +1 -1
  22. package/dist/editable.js.map +1 -1
  23. package/dist/{internal/form-context.d.ts → form/context.d.ts} +3 -2
  24. package/dist/{internal/form-context.js → form/context.js} +2 -2
  25. package/dist/form/context.js.map +1 -0
  26. package/dist/form/contracts.d.ts +219 -0
  27. package/dist/form/contracts.js +2 -0
  28. package/dist/form/contracts.js.map +1 -0
  29. package/dist/{internal/form-control-inventory.js → form/control-inventory.js} +1 -1
  30. package/dist/form/control-inventory.js.map +1 -0
  31. package/dist/form/control.js +2 -0
  32. package/dist/form/control.js.map +1 -0
  33. package/dist/form/field.d.ts +81 -0
  34. package/dist/form/field.js +2 -0
  35. package/dist/form/field.js.map +1 -0
  36. package/dist/form/native.d.ts +15 -0
  37. package/dist/form/native.js +2 -0
  38. package/dist/form/native.js.map +1 -0
  39. package/dist/form/part.d.ts +16 -0
  40. package/dist/form/part.js +2 -0
  41. package/dist/form/part.js.map +1 -0
  42. package/dist/form/parts.d.ts +93 -0
  43. package/dist/form/parts.js +2 -0
  44. package/dist/form/parts.js.map +1 -0
  45. package/dist/{internal/form-presence-parts.d.ts → form/presence-parts.d.ts} +1 -1
  46. package/dist/form/presence-parts.js +2 -0
  47. package/dist/form/presence-parts.js.map +1 -0
  48. package/dist/form/root.d.ts +2 -0
  49. package/dist/form/root.js +2 -0
  50. package/dist/form/root.js.map +1 -0
  51. package/dist/form/selectors.d.ts +7 -0
  52. package/dist/form/selectors.js +2 -0
  53. package/dist/form/selectors.js.map +1 -0
  54. package/dist/form.d.ts +8 -398
  55. package/dist/form.js +1 -1
  56. package/dist/form.js.map +1 -1
  57. package/dist/index.d.ts +10 -10
  58. package/dist/index.js +1 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/input/decimal-input.js.map +1 -0
  61. package/dist/input/native-field.js +2 -0
  62. package/dist/input/native-field.js.map +1 -0
  63. package/dist/input/native-input.js.map +1 -0
  64. package/dist/input/native-range-field.d.ts +86 -0
  65. package/dist/input/native-range-field.js +2 -0
  66. package/dist/input/native-range-field.js.map +1 -0
  67. package/dist/input/native-text-state.d.ts +2 -0
  68. package/dist/input/native-text-state.js +2 -0
  69. package/dist/input/native-text-state.js.map +1 -0
  70. package/dist/internal/cascade-choice.d.ts +1 -1
  71. package/dist/internal/cascade-choice.js +1 -1
  72. package/dist/internal/cascade-choice.js.map +1 -1
  73. package/dist/internal/controlled-state.js +1 -1
  74. package/dist/internal/controlled-state.js.map +1 -1
  75. package/dist/listbox.d.ts +1 -1
  76. package/dist/listbox.js +1 -1
  77. package/dist/listbox.js.map +1 -1
  78. package/dist/menu.js +1 -1
  79. package/dist/meter-group.js +1 -1
  80. package/dist/meter-group.js.map +1 -1
  81. package/dist/meter.js +1 -1
  82. package/dist/meter.js.map +1 -1
  83. package/dist/multi-thumb-slider.js +1 -1
  84. package/dist/multi-thumb-slider.js.map +1 -1
  85. package/dist/navigation-menu.d.ts +1 -1
  86. package/dist/navigation-menu.js +1 -1
  87. package/dist/number-field.d.ts +1 -1
  88. package/dist/number-field.js +1 -1
  89. package/dist/number-field.js.map +1 -1
  90. package/dist/{alert-dialog.d.ts → overlay/alert-dialog.d.ts} +1 -1
  91. package/dist/overlay/alert-dialog.js +2 -0
  92. package/dist/overlay/alert-dialog.js.map +1 -0
  93. package/dist/{dialog.d.ts → overlay/dialog.d.ts} +1 -1
  94. package/dist/overlay/dialog.js +2 -0
  95. package/dist/overlay/dialog.js.map +1 -0
  96. package/dist/{drawer.d.ts → overlay/drawer.d.ts} +1 -1
  97. package/dist/overlay/drawer.js +2 -0
  98. package/dist/overlay/drawer.js.map +1 -0
  99. package/dist/{popover.d.ts → overlay/popover.d.ts} +1 -1
  100. package/dist/overlay/popover.js +2 -0
  101. package/dist/overlay/popover.js.map +1 -0
  102. package/dist/overlay/popup.js +2 -0
  103. package/dist/overlay/popup.js.map +1 -0
  104. package/dist/{tooltip.d.ts → overlay/tooltip.d.ts} +1 -1
  105. package/dist/overlay/tooltip.js +2 -0
  106. package/dist/overlay/tooltip.js.map +1 -0
  107. package/dist/pin-input.js +1 -1
  108. package/dist/pin-input.js.map +1 -1
  109. package/dist/{internal → presence}/conditional-presence.js.map +1 -1
  110. package/dist/{internal → presence}/presence.js.map +1 -1
  111. package/dist/progress.js +1 -1
  112. package/dist/progress.js.map +1 -1
  113. package/dist/quantity-field.js +1 -1
  114. package/dist/quantity-field.js.map +1 -1
  115. package/dist/radio-group.d.ts +1 -1
  116. package/dist/radio-group.js +1 -1
  117. package/dist/radio-group.js.map +1 -1
  118. package/dist/select.d.ts +1 -1
  119. package/dist/select.js +1 -1
  120. package/dist/select.js.map +1 -1
  121. package/dist/slider.js +1 -1
  122. package/dist/slider.js.map +1 -1
  123. package/dist/spin-button.js +1 -1
  124. package/dist/spin-button.js.map +1 -1
  125. package/dist/switch.js +1 -1
  126. package/dist/switch.js.map +1 -1
  127. package/dist/tabs.d.ts +1 -1
  128. package/dist/tabs.js +1 -1
  129. package/dist/{internal/tabular-components.d.ts → tabular/components.d.ts} +1 -1
  130. package/dist/{internal/tabular-components.js → tabular/components.js} +1 -1
  131. package/dist/tabular/components.js.map +1 -0
  132. package/dist/tabular/context.d.ts +16 -0
  133. package/dist/tabular/context.js +2 -0
  134. package/dist/tabular/context.js.map +1 -0
  135. package/dist/{internal/tabular-profile.d.ts → tabular/controller.d.ts} +2 -32
  136. package/dist/tabular/controller.js +2 -0
  137. package/dist/tabular/controller.js.map +1 -0
  138. package/dist/{data-grid.d.ts → tabular/data-grid.d.ts} +7 -5
  139. package/dist/tabular/data-grid.js +2 -0
  140. package/dist/tabular/data-grid.js.map +1 -0
  141. package/dist/{data-table.d.ts → tabular/data-table.d.ts} +9 -36
  142. package/dist/tabular/data-table.js +2 -0
  143. package/dist/tabular/data-table.js.map +1 -0
  144. package/dist/{data-tree-grid.d.ts → tabular/data-tree-grid.d.ts} +7 -5
  145. package/dist/tabular/data-tree-grid.js +2 -0
  146. package/dist/tabular/data-tree-grid.js.map +1 -0
  147. package/dist/{internal/tabular-parts.d.ts → tabular/parts.d.ts} +2 -1
  148. package/dist/tabular/parts.js +2 -0
  149. package/dist/tabular/parts.js.map +1 -0
  150. package/dist/tabular/schema.d.ts +35 -0
  151. package/dist/tabular/schema.js +2 -0
  152. package/dist/tabular/schema.js.map +1 -0
  153. package/dist/tabular/source.d.ts +20 -0
  154. package/dist/tabular/source.js +2 -0
  155. package/dist/tabular/source.js.map +1 -0
  156. package/dist/tags-input.js +1 -1
  157. package/dist/tags-input.js.map +1 -1
  158. package/dist/{calendar.d.ts → temporal/calendar.d.ts} +21 -21
  159. package/dist/temporal/calendar.js +2 -0
  160. package/dist/temporal/calendar.js.map +1 -0
  161. package/dist/temporal/capabilities/calendar.d.ts +1 -0
  162. package/dist/temporal/capabilities/calendar.js +2 -0
  163. package/dist/temporal/capabilities/calendar.js.map +1 -0
  164. package/dist/temporal/capabilities/date-picker.d.ts +1 -0
  165. package/dist/temporal/capabilities/date-picker.js +2 -0
  166. package/dist/temporal/capabilities/date-picker.js.map +1 -0
  167. package/dist/temporal/capabilities/date-range-picker.d.ts +1 -0
  168. package/dist/temporal/capabilities/date-range-picker.js +2 -0
  169. package/dist/temporal/capabilities/date-range-picker.js.map +1 -0
  170. package/dist/temporal/capabilities/date-time-picker.d.ts +1 -0
  171. package/dist/temporal/capabilities/date-time-picker.js +2 -0
  172. package/dist/temporal/capabilities/date-time-picker.js.map +1 -0
  173. package/dist/temporal/capabilities/date-time-range-picker.d.ts +1 -0
  174. package/dist/temporal/capabilities/date-time-range-picker.js +2 -0
  175. package/dist/temporal/capabilities/date-time-range-picker.js.map +1 -0
  176. package/dist/temporal/capabilities/month-picker.d.ts +1 -0
  177. package/dist/temporal/capabilities/month-picker.js +2 -0
  178. package/dist/temporal/capabilities/month-picker.js.map +1 -0
  179. package/dist/temporal/capabilities/month-range-picker.d.ts +1 -0
  180. package/dist/temporal/capabilities/month-range-picker.js +2 -0
  181. package/dist/temporal/capabilities/month-range-picker.js.map +1 -0
  182. package/dist/temporal/capabilities/range-calendar.d.ts +1 -0
  183. package/dist/temporal/capabilities/range-calendar.js +2 -0
  184. package/dist/temporal/capabilities/range-calendar.js.map +1 -0
  185. package/dist/temporal/capabilities/year-picker.d.ts +1 -0
  186. package/dist/temporal/capabilities/year-picker.js +2 -0
  187. package/dist/temporal/capabilities/year-picker.js.map +1 -0
  188. package/dist/temporal/capabilities/year-range-picker.d.ts +1 -0
  189. package/dist/temporal/capabilities/year-range-picker.js +2 -0
  190. package/dist/temporal/capabilities/year-range-picker.js.map +1 -0
  191. package/dist/{internal/picker-capability.js → temporal/capability.js} +1 -1
  192. package/dist/temporal/capability.js.map +1 -0
  193. package/dist/{date-field.d.ts → temporal/date-field.d.ts} +1 -1
  194. package/dist/temporal/date-field.js +2 -0
  195. package/dist/temporal/date-field.js.map +1 -0
  196. package/dist/{date-picker.d.ts → temporal/date-picker.d.ts} +24 -24
  197. package/dist/temporal/date-picker.js +2 -0
  198. package/dist/temporal/date-picker.js.map +1 -0
  199. package/dist/{date-range-field.d.ts → temporal/date-range-field.d.ts} +1 -1
  200. package/dist/temporal/date-range-field.js +2 -0
  201. package/dist/temporal/date-range-field.js.map +1 -0
  202. package/dist/{date-range-picker.d.ts → temporal/date-range-picker.d.ts} +27 -27
  203. package/dist/temporal/date-range-picker.js +2 -0
  204. package/dist/temporal/date-range-picker.js.map +1 -0
  205. package/dist/{date-time-field.d.ts → temporal/date-time-field.d.ts} +1 -1
  206. package/dist/temporal/date-time-field.js +2 -0
  207. package/dist/temporal/date-time-field.js.map +1 -0
  208. package/dist/{date-time-picker.d.ts → temporal/date-time-picker.d.ts} +30 -30
  209. package/dist/temporal/date-time-picker.js +2 -0
  210. package/dist/temporal/date-time-picker.js.map +1 -0
  211. package/dist/{date-time-range-picker.d.ts → temporal/date-time-range-picker.d.ts} +39 -39
  212. package/dist/temporal/date-time-range-picker.js +2 -0
  213. package/dist/temporal/date-time-range-picker.js.map +1 -0
  214. package/dist/{month-picker.d.ts → temporal/month-picker.d.ts} +14 -14
  215. package/dist/temporal/month-picker.js +2 -0
  216. package/dist/temporal/month-picker.js.map +1 -0
  217. package/dist/{month-range-picker.d.ts → temporal/month-range-picker.d.ts} +17 -17
  218. package/dist/temporal/month-range-picker.js +2 -0
  219. package/dist/temporal/month-range-picker.js.map +1 -0
  220. package/dist/{internal/date-picker.d.ts → temporal/picker.d.ts} +2 -3
  221. package/dist/temporal/picker.js +2 -0
  222. package/dist/temporal/picker.js.map +1 -0
  223. package/dist/{range-calendar.d.ts → temporal/range-calendar.d.ts} +11 -11
  224. package/dist/temporal/range-calendar.js +2 -0
  225. package/dist/temporal/range-calendar.js.map +1 -0
  226. package/dist/temporal/temporal-provider.js.map +1 -0
  227. package/dist/{time-field.d.ts → temporal/time-field.d.ts} +1 -1
  228. package/dist/temporal/time-field.js +2 -0
  229. package/dist/temporal/time-field.js.map +1 -0
  230. package/dist/{time-range-field.d.ts → temporal/time-range-field.d.ts} +1 -1
  231. package/dist/temporal/time-range-field.js +2 -0
  232. package/dist/temporal/time-range-field.js.map +1 -0
  233. package/dist/{year-picker.d.ts → temporal/year-picker.d.ts} +16 -16
  234. package/dist/temporal/year-picker.js +2 -0
  235. package/dist/temporal/year-picker.js.map +1 -0
  236. package/dist/{year-range-picker.d.ts → temporal/year-range-picker.d.ts} +19 -19
  237. package/dist/temporal/year-range-picker.js +2 -0
  238. package/dist/temporal/year-range-picker.js.map +1 -0
  239. package/dist/text.js +1 -1
  240. package/dist/text.js.map +1 -1
  241. package/dist/toast.js +1 -1
  242. package/dist/toggle-group.js +1 -1
  243. package/dist/toggle-group.js.map +1 -1
  244. package/dist/tree-grid.d.ts +1 -1
  245. package/dist/tree-grid.js +1 -1
  246. package/dist/tree-grid.js.map +1 -1
  247. package/dist/tree-view.d.ts +1 -1
  248. package/dist/tree-view.js +1 -1
  249. package/dist/{internal → virtual}/virtual-collection.d.ts +1 -0
  250. package/dist/virtual/virtual-collection.js +2 -0
  251. package/dist/virtual/virtual-collection.js.map +1 -0
  252. package/dist/{internal → virtual}/virtual-core.d.ts +1 -0
  253. package/dist/virtual/virtual-core.js +2 -0
  254. package/dist/virtual/virtual-core.js.map +1 -0
  255. package/dist/{virtual-grid.d.ts → virtual/virtual-grid.d.ts} +1 -1
  256. package/dist/virtual/virtual-grid.js +2 -0
  257. package/dist/virtual/virtual-grid.js.map +1 -0
  258. package/dist/virtual/virtual-list.js +2 -0
  259. package/dist/virtual/virtual-list.js.map +1 -0
  260. package/dist/{virtual-masonry.d.ts → virtual/virtual-masonry.d.ts} +1 -1
  261. package/dist/virtual/virtual-masonry.js +2 -0
  262. package/dist/virtual/virtual-masonry.js.map +1 -0
  263. package/dist/{virtual-spatial.d.ts → virtual/virtual-spatial.d.ts} +1 -1
  264. package/dist/virtual/virtual-spatial.js +2 -0
  265. package/dist/virtual/virtual-spatial.js.map +1 -0
  266. package/dist/virtual-core.d.ts +1 -1
  267. package/dist/virtual-core.js +1 -1
  268. package/dist/virtual-list.d.ts +2 -2
  269. package/dist/virtual-list.js +1 -1
  270. package/package.json +94 -94
  271. package/dist/alert-dialog.js +0 -2
  272. package/dist/alert-dialog.js.map +0 -1
  273. package/dist/calendar.js +0 -2
  274. package/dist/calendar.js.map +0 -1
  275. package/dist/data-grid.js +0 -2
  276. package/dist/data-grid.js.map +0 -1
  277. package/dist/data-table.js +0 -2
  278. package/dist/data-table.js.map +0 -1
  279. package/dist/data-tree-grid.js +0 -2
  280. package/dist/data-tree-grid.js.map +0 -1
  281. package/dist/date-field.js +0 -2
  282. package/dist/date-field.js.map +0 -1
  283. package/dist/date-picker.js +0 -2
  284. package/dist/date-picker.js.map +0 -1
  285. package/dist/date-range-field.js +0 -2
  286. package/dist/date-range-field.js.map +0 -1
  287. package/dist/date-range-picker.js +0 -2
  288. package/dist/date-range-picker.js.map +0 -1
  289. package/dist/date-time-field.js +0 -2
  290. package/dist/date-time-field.js.map +0 -1
  291. package/dist/date-time-picker.js +0 -2
  292. package/dist/date-time-picker.js.map +0 -1
  293. package/dist/date-time-range-picker.js +0 -2
  294. package/dist/date-time-range-picker.js.map +0 -1
  295. package/dist/dialog.js +0 -2
  296. package/dist/dialog.js.map +0 -1
  297. package/dist/drawer.js +0 -2
  298. package/dist/drawer.js.map +0 -1
  299. package/dist/internal/calendar-capability.d.ts +0 -1
  300. package/dist/internal/calendar-capability.js +0 -2
  301. package/dist/internal/calendar-capability.js.map +0 -1
  302. package/dist/internal/date-picker-capability.d.ts +0 -1
  303. package/dist/internal/date-picker-capability.js +0 -2
  304. package/dist/internal/date-picker-capability.js.map +0 -1
  305. package/dist/internal/date-picker.js +0 -2
  306. package/dist/internal/date-picker.js.map +0 -1
  307. package/dist/internal/date-range-picker-capability.d.ts +0 -1
  308. package/dist/internal/date-range-picker-capability.js +0 -2
  309. package/dist/internal/date-range-picker-capability.js.map +0 -1
  310. package/dist/internal/date-time-picker-capability.d.ts +0 -1
  311. package/dist/internal/date-time-picker-capability.js +0 -2
  312. package/dist/internal/date-time-picker-capability.js.map +0 -1
  313. package/dist/internal/date-time-range-picker-capability.d.ts +0 -1
  314. package/dist/internal/date-time-range-picker-capability.js +0 -2
  315. package/dist/internal/date-time-range-picker-capability.js.map +0 -1
  316. package/dist/internal/decimal-input.js.map +0 -1
  317. package/dist/internal/form-context.js.map +0 -1
  318. package/dist/internal/form-control-inventory.js.map +0 -1
  319. package/dist/internal/form-control.js +0 -2
  320. package/dist/internal/form-control.js.map +0 -1
  321. package/dist/internal/form-presence-parts.js +0 -2
  322. package/dist/internal/form-presence-parts.js.map +0 -1
  323. package/dist/internal/month-picker-capability.d.ts +0 -1
  324. package/dist/internal/month-picker-capability.js +0 -2
  325. package/dist/internal/month-picker-capability.js.map +0 -1
  326. package/dist/internal/month-range-picker-capability.d.ts +0 -1
  327. package/dist/internal/month-range-picker-capability.js +0 -2
  328. package/dist/internal/month-range-picker-capability.js.map +0 -1
  329. package/dist/internal/native-field.js +0 -2
  330. package/dist/internal/native-field.js.map +0 -1
  331. package/dist/internal/native-input.js.map +0 -1
  332. package/dist/internal/picker-capability.js.map +0 -1
  333. package/dist/internal/popup.js +0 -2
  334. package/dist/internal/popup.js.map +0 -1
  335. package/dist/internal/range-calendar-capability.d.ts +0 -1
  336. package/dist/internal/range-calendar-capability.js +0 -2
  337. package/dist/internal/range-calendar-capability.js.map +0 -1
  338. package/dist/internal/tabular-components.js.map +0 -1
  339. package/dist/internal/tabular-parts.js +0 -2
  340. package/dist/internal/tabular-parts.js.map +0 -1
  341. package/dist/internal/tabular-profile.js +0 -2
  342. package/dist/internal/tabular-profile.js.map +0 -1
  343. package/dist/internal/virtual-collection.js +0 -2
  344. package/dist/internal/virtual-collection.js.map +0 -1
  345. package/dist/internal/virtual-core.js +0 -2
  346. package/dist/internal/virtual-core.js.map +0 -1
  347. package/dist/internal/virtual-list.js +0 -2
  348. package/dist/internal/virtual-list.js.map +0 -1
  349. package/dist/internal/year-picker-capability.d.ts +0 -1
  350. package/dist/internal/year-picker-capability.js +0 -2
  351. package/dist/internal/year-picker-capability.js.map +0 -1
  352. package/dist/internal/year-range-picker-capability.d.ts +0 -1
  353. package/dist/internal/year-range-picker-capability.js +0 -2
  354. package/dist/internal/year-range-picker-capability.js.map +0 -1
  355. package/dist/month-picker.js +0 -2
  356. package/dist/month-picker.js.map +0 -1
  357. package/dist/month-range-picker.js +0 -2
  358. package/dist/month-range-picker.js.map +0 -1
  359. package/dist/popover.js +0 -2
  360. package/dist/popover.js.map +0 -1
  361. package/dist/range-calendar.js +0 -2
  362. package/dist/range-calendar.js.map +0 -1
  363. package/dist/temporal-provider.js.map +0 -1
  364. package/dist/time-field.js +0 -2
  365. package/dist/time-field.js.map +0 -1
  366. package/dist/time-range-field.js +0 -2
  367. package/dist/time-range-field.js.map +0 -1
  368. package/dist/tooltip.js +0 -2
  369. package/dist/tooltip.js.map +0 -1
  370. package/dist/virtual-grid.js +0 -2
  371. package/dist/virtual-grid.js.map +0 -1
  372. package/dist/virtual-masonry.js +0 -2
  373. package/dist/virtual-masonry.js.map +0 -1
  374. package/dist/virtual-spatial.js +0 -2
  375. package/dist/virtual-spatial.js.map +0 -1
  376. package/dist/year-picker.js +0 -2
  377. package/dist/year-picker.js.map +0 -1
  378. package/dist/year-range-picker.js +0 -2
  379. package/dist/year-range-picker.js.map +0 -1
  380. /package/dist/{internal/form-control-inventory.d.ts → form/control-inventory.d.ts} +0 -0
  381. /package/dist/{internal/form-control.d.ts → form/control.d.ts} +0 -0
  382. /package/dist/{internal → input}/decimal-input.d.ts +0 -0
  383. /package/dist/{internal → input}/decimal-input.js +0 -0
  384. /package/dist/{internal → input}/native-field.d.ts +0 -0
  385. /package/dist/{internal → input}/native-input.d.ts +0 -0
  386. /package/dist/{internal → input}/native-input.js +0 -0
  387. /package/dist/{internal → overlay}/popup.d.ts +0 -0
  388. /package/dist/{internal → presence}/conditional-presence.d.ts +0 -0
  389. /package/dist/{internal → presence}/conditional-presence.js +0 -0
  390. /package/dist/{internal → presence}/presence.d.ts +0 -0
  391. /package/dist/{internal → presence}/presence.js +0 -0
  392. /package/dist/{internal/picker-capability.d.ts → temporal/capability.d.ts} +0 -0
  393. /package/dist/{temporal-provider.d.ts → temporal/temporal-provider.d.ts} +0 -0
  394. /package/dist/{temporal-provider.js → temporal/temporal-provider.js} +0 -0
  395. /package/dist/{internal → virtual}/virtual-list.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabular/controller.ts"],"mappings":"AAAA,OAAS,SAAU,eAAqD,MAqBxE,MAAM,UAAY,IAAI,QAEtB,MAAM,WAAa,IAAI,QAEjB,SAAU,2BACd,SAAqE,CAErE,MAAM,SAAW,WAAW,SAAS,YAAW,CAAE,EAClD,MAAM,QAAU,IAAW,CAAG,SAAS,MAAQ,SAAS,YAAW,CAAI,EACvE,MAAM,WAA4E,OAAO,OAAO,CAC9F,SACA,kBAAmB,SAAS,IAAM,QAAQ,SAAS,KAAK,EAAE,iBAAiB,EAC3E,aAAc,SAAS,IAAM,QAAQ,SAAS,KAAK,EAAE,YAAY,EACjE,YAAa,IAAM,SAAS,YAAW,EACvC,SAAU,CAAC,MAAc,WAAqB,CAC5C,MAAM,OAAS,SAAS,SAAS,MAAO,QAAQ,EAChD,GAAI,OAAO,GAAI,QAAO,EACtB,OAAO,MACT,EACA,gBAAkB,UAAiC,CACjD,MAAM,OAAS,SAAS,gBAAgB,QAAQ,EAChD,GAAI,OAAO,GAAI,QAAO,EACtB,OAAO,MACT,EACA,qBAAuB,QAA4B,CACjD,MAAM,OAAS,SAAS,qBAAqB,MAAM,EACnD,GAAI,OAAO,GAAI,QAAO,EACtB,OAAO,MACT,EACA,YAAa,IAAK,CAChB,MAAM,OAAS,SAAS,YAAW,EACnC,GAAI,OAAO,GAAI,QAAO,EACtB,OAAO,MACT,EACA,eAAiB,WAAqB,CACpC,MAAM,OAAS,SAAS,eAAe,SAAS,EAChD,GAAI,OAAO,GAAI,QAAO,EACtB,OAAO,MACT,EACA,kBAAoB,UAAyC,SAAS,kBAAkB,QAAQ,EAChG,sBAAwB,UAAqF,SAAS,sBAAsB,QAAQ,EACpJ,QAAS,IAAM,SAAS,QAAO,EAChC,EACD,UAAU,IAAI,WAAY,QAAyD,EACnF,WAAW,IAAI,WAAY,OAAO,EAClC,OAAO,UACT,CAEM,SAAU,4BAAmD,WAAuD,CACxH,WAAW,IAAI,UAAU,IAAG,CAC9B,CAEM,SAAU,mBAA0C,WAAuD,CAC/G,MAAM,SAAW,UAAU,IAAI,UAAU,EACzC,GAAI,WAAa,OAAW,MAAM,IAAI,UAAU,iCAAiC,EACjF,OAAO,QACT,CAEM,SAAU,0BACd,MACA,OAAmD,CAEnD,MAAM,SAAW,UAAU,IAAI,MAAM,EACrC,MAAM,QAAU,WAAW,IAAI,MAAM,EACrC,GAAI,WAAa,OAAW,UAAU,IAAI,MAAO,QAAQ,EACzD,GAAI,UAAY,OAAW,WAAW,IAAI,MAAO,OAAO,CAC1D,CAEM,SAAU,QAAQ,MAAc,CACpC,MAAM,UAAY,MAClB,MAAM,MAAQ,UAAU,SAAS,OAAS,UAAU,MACpD,GAAI,QAAU,OAAW,MAAM,IAAI,UAAU,mCAAmC,EAChF,OAAO,KACT,CAEM,SAAU,iBAAiB,QAMhC,CACC,OAAO,OAAO,OAAO,CACnB,GAAI,QAAQ,QAAU,OAAY,CAAA,EAAK,CAAE,MAAO,QAAQ,MAAM,KAAK,EACnE,GAAI,QAAQ,eAAiB,OAAY,CAAA,EAAK,CAAE,aAAc,QAAQ,aAAa,KAAK,EACxF,GAAI,QAAQ,cAAgB,OAAY,CAAA,EAAK,CAAE,YAAa,QAAQ,YAAY,KAAK,EACrF,GAAI,QAAQ,cAAgB,OAAY,CAAA,EAAK,CAAE,YAAa,QAAQ,YAAY,KAAK,EACrF,GAAI,QAAQ,YAAc,OAAY,CAAA,EAAK,CAAE,UAAW,QAAQ,UAAU,KAAK,EAChF,CACH","names":[],"file":"controller.js"}
@@ -2,11 +2,13 @@ import { type ComputedRef } from 'vue';
2
2
  import { type DataGridColumnSizeState as DOMDataGridColumnSizeState, type DataGridDOMCommand } from '@sectile/dom/tabular';
3
3
  import { type DataGridCommand as SemanticDataGridCommand, type DataGridControlledValues, type DataGridController as SemanticDataGridController, type DataGridCursorState, type DataGridEditState, type DataGridEvent, type DataGridOptions as SemanticDataGridOptions, type DataGridProjection, type DataGridState, type DataGridUpdate } from '@sectile/tabular/data-grid';
4
4
  import type { TabularAcceptedViewState, TabularAccessState, TabularCellRecord, TabularColumnState, TabularError, TabularGroupID, TabularHeaderNodeID, TabularLimits, TabularQuery, TabularRequest, TabularRequestState, TabularResult, TabularRow, TabularRowID, TabularRowSelection, TabularView, TabularViewResponse, TabularWireValue } from '@sectile/tabular';
5
- import type { PrimitiveAs } from './primitive.js';
6
- import type { DataTableColumnID, DataTableGroupCellsFromSource, DataTableLeafCellsFromSource, DataTableReactiveInput, DataTableWritableRef } from './data-table.js';
7
- import { type TabularBodyComponent, type TabularComponent } from './internal/tabular-components.js';
8
- import { type HostConnection } from './internal/tabular-parts.js';
9
- import { type ProfileContext, type SourceResolver, type SourceReturn, type SourceStatus, type VueProfileController } from './internal/tabular-profile.js';
5
+ import type { PrimitiveAs } from '../primitive.js';
6
+ import type { DataTableColumnID, DataTableGroupCellsFromSource, DataTableLeafCellsFromSource, DataTableReactiveInput, DataTableWritableRef } from './schema.js';
7
+ import { type TabularBodyComponent, type TabularComponent } from './components.js';
8
+ import { type HostConnection } from './parts.js';
9
+ import { type VueProfileController } from './controller.js';
10
+ import { type ProfileContext } from './context.js';
11
+ import { type SourceResolver, type SourceReturn, type SourceStatus } from './source.js';
10
12
  export type DataGridQuery = TabularQuery;
11
13
  export type DataGridViewRow<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularRow<LeafCells, GroupCells>;
12
14
  export type DataGridView<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularView<DataGridViewRow<LeafCells, GroupCells>>;
@@ -0,0 +1,2 @@
1
+ import{getCurrentScope,onScopeDispose,toValue,watch}from"vue";import{connectDataGrid}from"@sectile/dom/tabular";import{createDataGrid}from"@sectile/tabular/data-grid";import{createTabularComponentSuite}from"./components.js";import{createTabularParts}from"./parts.js";import{aliasVueProfileController,controlledValues,createVueProfileController}from"./controller.js";import{useProfile}from"./context.js";import{useProfileSource}from"./source.js";const hosts=new WeakMap;const activeConnections=new WeakMap;function useDataGrid(options){for(const property of["query","rowSelection","columnState","accessState","cursor","editState","columnSizeState"])assertExclusive(options,property);const semantic=createDataGrid({columns:options.initialView?.columnSchema.columns??[],headers:options.initialView?.columnSchema.headers??[],...options.limits===void 0?{}:{limits:options.limits},...options.isCellDisabled===void 0?{}:{isCellDisabled:options.isCellDisabled},controlled:{query:options.query!==void 0,rowSelection:options.rowSelection!==void 0,columnState:options.columnState!==void 0,accessState:options.accessState!==void 0,expansion:false,cursor:options.cursor!==void 0,edit:options.editState!==void 0},initialValues:{...options.query===void 0&&options.defaultQuery===void 0?{}:{query:options.query?.value??options.defaultQuery},...options.rowSelection===void 0&&options.defaultRowSelection===void 0?{}:{rowSelection:options.rowSelection?.value??options.defaultRowSelection},...options.columnState===void 0&&options.defaultColumnState===void 0?{}:{columnState:options.columnState?.value??options.defaultColumnState},...options.accessState===void 0&&options.defaultAccessState===void 0?{}:{accessState:options.accessState?.value??options.defaultAccessState},...options.cursor===void 0&&options.defaultCursor===void 0?{}:{cursor:options.cursor?.value??options.defaultCursor},...options.editState===void 0&&options.defaultEditState===void 0?{}:{edit:options.editState?.value??options.defaultEditState}},...options.onQueryChange===void 0?{}:{onQueryChange:options.onQueryChange},...options.onRowSelectionChange===void 0?{}:{onRowSelectionChange:options.onRowSelectionChange},...options.onColumnStateChange===void 0?{}:{onColumnStateChange:options.onColumnStateChange},...options.onAccessStateChange===void 0?{}:{onAccessStateChange:options.onAccessStateChange},...options.onCursorChange===void 0?{}:{onCursorChange:options.onCursorChange},...options.onEditStateChange===void 0?{}:{onEditStateChange:options.onEditStateChange}});const base=createVueProfileController(semantic);const controller=Object.freeze({...base,getProjection:()=>semantic.getProjection()});aliasVueProfileController(controller,base);hosts.set(controller,Object.freeze({...options.columnSizeState===void 0?{}:{columnSizes:options.columnSizeState.value},...options.defaultColumnSizeState===void 0?{}:{defaultColumnSizes:options.defaultColumnSizeState},...options.onColumnSizeStateChange===void 0?{}:{onColumnSizesChange:options.onColumnSizeStateChange}}));if(options.initialView!==void 0)unwrap(controller.synchronizeView(options.initialView));const source=useProfileSource(controller,options.source,{...options.onSourceError===void 0?{}:{onError:options.onSourceError},...options.onSourceStatusChange===void 0?{}:{onStatusChange:options.onSourceStatusChange}});const stops=[];const sync=()=>unwrap(controller.syncControlledValues(gridControlledValues(options)));for(const source2 of[options.query,options.rowSelection,options.columnState,options.accessState,options.cursor,options.editState])if(source2!==void 0)stops.push(watch(()=>source2.value,sync));if(options.sourceKey!==void 0)stops.push(watch(()=>toValue(options.sourceKey),()=>{unwrap(controller.dispatch({type:"replace-source"}))}));const rawDispose=controller.dispose;const wrapped=Object.freeze({...controller,status:source.status,error:source.error,reload:source.reload,cancel:source.cancel,replaceResolver:resolver=>source.replaceResolver(resolver),dispose:()=>{for(const stop of stops.splice(0))stop();source.dispose();rawDispose()}});aliasVueProfileController(wrapped,controller);hosts.set(wrapped,hosts.get(controller)??{});if(options.columnSizeState!==void 0)stops.push(watch(()=>options.columnSizeState.value,value=>{hosts.set(wrapped,Object.freeze({...hosts.get(wrapped),columnSizes:value}));const result=activeConnections.get(wrapped)?.syncControlledValues?.({...gridControlledValues(options),columnSizes:value});if(result!==void 0&&!result.ok)throw new TypeError("Controlled DataGrid column sizes failed to synchronize.")},{deep:false}));if(getCurrentScope()!==void 0)onScopeDispose(wrapped.dispose);return wrapped}const publicKey=Symbol("SectileDataGrid");const privateKey=Symbol("SectileDataGridHost");function useDataGridContext(){return useProfile(publicKey,"useDataGridContext")}const parts=createTabularParts({profile:"data-grid",prefix:"DataGrid",publicKey,privateKey,connect:(element,controller,callbacks)=>connectDataGrid({controller,root:element,...hosts.get(controller),...callbacks.onCommand===void 0?{}:{onCommand:callbacks.onCommand},onSnapshotChange:callbacks.onSnapshotChange}),connectionChanged:(controller,connection)=>{if(connection===null)activeConnections.delete(controller);else activeConnections.set(controller,connection)}});function gridControlledValues(options){return Object.freeze({...controlledValues(options),...options.cursor===void 0?{}:{cursor:options.cursor.value},...options.editState===void 0?{}:{edit:options.editState.value}})}const componentSuites=new WeakMap;function createDataGridComponents(controller){return createTabularComponentSuite(parts,controller,componentSuites,"DataGrid",{Root:"Root",Header:"Header",HeaderRow:"HeaderRow",ColumnHeader:"ColumnHeader",SortTrigger:"SortTrigger",FilterControl:"FilterControl",ColumnResizeHandle:"ColumnResizeHandle",Body:"Body",Row:"Row",RowSelectionControl:"SelectionControl",BulkSelectionControl:"BulkSelectionControl",Cell:"Cell",Editor:"Editor"})}function assertExclusive(options,property){const values=options;const fallback=`default${property[0].toUpperCase()}${property.slice(1)}`;if(values[property]!==void 0&&values[fallback]!==void 0)throw new TypeError(`${property} and ${fallback} are mutually exclusive.`)}function unwrap(result){if(!result.ok)throw new TypeError(result.error.message);return result.value}export{createDataGridComponents,useDataGrid,useDataGridContext};
2
+ //# sourceMappingURL=data-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabular/data-grid.ts"],"mappings":"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","names":["source"],"file":"data-grid.js"}
@@ -1,31 +1,15 @@
1
- import { type ComputedRef, type Ref } from 'vue';
1
+ import type { DataTableColumnID, DataTableGroupCellsFromSource, DataTableLeafCellsFromSource, DataTableReactiveInput, DataTableWritableRef, DataTableSourceResponse } from './schema.js';
2
+ export type { DataTableFieldPath, DataTableColumnID, DataTableCellValue, DataTableReactiveInput, DataTableWritableRef, DataTableLeafCellsFromSource, DataTableGroupCellsFromSource } from './schema.js';
3
+ import { type ComputedRef } from 'vue';
2
4
  import { type DataTableColumnSizeState as DOMDataTableColumnSizeState, type DataTableDOMCommand as DOMDataTableCommand } from '@sectile/dom/tabular';
3
5
  import { type DataTableCommand as SemanticDataTableCommand, type DataTableController as SemanticDataTableController, type DataTableEvent, type DataTableProjection, type DataTableUpdate } from '@sectile/tabular/data-table';
4
6
  import type { TabularAcceptedViewState, TabularAccessState, TabularCellRecord, TabularColumnState, TabularError, TabularGroupID, TabularHeaderNodeID, TabularLimits, TabularQuery, TabularRequest, TabularRequestState, TabularResult, TabularRow, TabularRowID, TabularRowSelection, TabularSnapshot, TabularView, TabularViewResponse, TabularWireValue } from '@sectile/tabular';
5
- import type { PrimitiveAs } from './primitive.js';
6
- import { type HostConnection } from './internal/tabular-parts.js';
7
- import { type TabularBodyComponent, type TabularComponent } from './internal/tabular-components.js';
8
- import { type ProfileContext, type SourceResolver, type SourceReturn, type SourceStatus, type VueProfileController } from './internal/tabular-profile.js';
9
- type DataTablePathDepth = readonly unknown[];
10
- type DataTableNextDepth<Depth extends DataTablePathDepth> = readonly [...Depth, unknown];
11
- type DataTableNestedPath<Value, Depth extends DataTablePathDepth> = Value extends readonly unknown[] ? DataTableArrayPath<Value, Depth> : Value extends object ? `.${DataTableObjectPath<Value, Depth>}` : never;
12
- type DataTableTupleIndexes<Value extends readonly unknown[]> = Exclude<keyof Value, keyof readonly unknown[]> & `${number}`;
13
- type DataTableArrayPath<Value extends readonly unknown[], Depth extends DataTablePathDepth> = Depth['length'] extends 8 ? never : number extends Value['length'] ? `[${number}]` | `[${number}]${DataTableNestedPath<Value[number], DataTableNextDepth<Depth>>}` : {
14
- [Index in DataTableTupleIndexes<Value>]: `[${Index}]` | `[${Index}]${DataTableNestedPath<Value[Index & keyof Value], DataTableNextDepth<Depth>>}`;
15
- }[DataTableTupleIndexes<Value>];
16
- type DataTableObjectPath<Value extends object, Depth extends DataTablePathDepth> = Depth['length'] extends 8 ? never : string extends keyof Value ? string : {
17
- [Key in Extract<keyof Value, string>]: Key | `${Key}${DataTableNestedPath<Value[Key], DataTableNextDepth<Depth>>}`;
18
- }[Extract<keyof Value, string>];
19
- type DataTableResolveArrayRest<Value, Rest extends string> = Rest extends `[${number}]${infer Tail}` ? Value extends readonly (infer Item)[] ? Tail extends '' ? Item : DataTableResolveArrayRest<Item, Tail> : never : never;
20
- type DataTableResolveSegment<Value, Segment extends string> = Segment extends `${infer Key}[${infer Index}]${infer Rest}` ? Key extends keyof Value ? Index extends `${number}` ? DataTableResolveArrayRest<Value[Key], `[${Index}]${Rest}`> : never : never : Segment extends keyof Value ? Value[Segment] : never;
21
- type DataTableResolvePath<Value, Path extends string> = Path extends keyof Value ? Value[Path] : Path extends `${infer Segment}.${infer Rest}` ? DataTableResolvePath<DataTableResolveSegment<Value, Segment>, Rest> : DataTableResolveSegment<Value, Path>;
22
- export type DataTableFieldPath<Cells extends object> = DataTableObjectPath<Cells, readonly []>;
23
- export type DataTableColumnID<LeafCells extends object, GroupCells extends object = LeafCells> = DataTableFieldPath<LeafCells> | DataTableFieldPath<GroupCells>;
24
- export type DataTableCellValue<Cells extends object, Column extends string> = Extract<DataTableResolvePath<Cells, Column>, TabularWireValue> extends never ? TabularWireValue : Extract<DataTableResolvePath<Cells, Column>, TabularWireValue>;
25
- export type DataTableReactiveInput<T> = T | Ref<T> | (() => T);
26
- export interface DataTableWritableRef<T> {
27
- value: T;
28
- }
7
+ import type { PrimitiveAs } from '../primitive.js';
8
+ import { type HostConnection } from './parts.js';
9
+ import { type TabularBodyComponent, type TabularComponent } from './components.js';
10
+ import { type VueProfileController } from './controller.js';
11
+ import { type ProfileContext } from './context.js';
12
+ import { type SourceResolver, type SourceReturn, type SourceStatus } from './source.js';
29
13
  export type DataTableQuery = TabularQuery;
30
14
  export type DataTableViewRow<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularRow<LeafCells, GroupCells>;
31
15
  export type DataTableView<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularView<DataTableViewRow<LeafCells, GroupCells>>;
@@ -55,17 +39,6 @@ export type DataTableColumnSizeChangeHandler = (state: DataTableColumnSizeState)
55
39
  export type DataTableSourceResolver<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = (request: TabularRequest, context: {
56
40
  readonly signal: AbortSignal;
57
41
  }) => DataTableViewResponse<LeafCells, GroupCells> | Promise<DataTableViewResponse<LeafCells, GroupCells>>;
58
- type DataTableSourceResponse<Source extends SourceResolver> = Awaited<ReturnType<Source>>;
59
- type DataTableSourceRows<Source extends SourceResolver> = DataTableSourceResponse<Source> extends {
60
- readonly rows: readonly (infer Row)[];
61
- } ? Row : never;
62
- type DataTableSourceCells<Source extends SourceResolver, Kind extends 'leaf' | 'group'> = Extract<DataTableSourceRows<Source>, {
63
- readonly kind: Kind;
64
- }> extends infer Row ? Row extends {
65
- readonly cells: infer Cells extends object;
66
- } ? Cells : never : never;
67
- export type DataTableLeafCellsFromSource<Source extends SourceResolver> = [DataTableSourceCells<Source, 'leaf'>] extends [never] ? TabularCellRecord : DataTableSourceCells<Source, 'leaf'>;
68
- export type DataTableGroupCellsFromSource<Source extends SourceResolver> = [DataTableSourceCells<Source, 'group'>] extends [never] ? DataTableLeafCellsFromSource<Source> : DataTableSourceCells<Source, 'group'>;
69
42
  export interface UseDataTableOptions<Source extends SourceResolver = DataTableSourceResolver> {
70
43
  readonly source: Source;
71
44
  readonly sourceKey?: DataTableReactiveInput<string>;
@@ -0,0 +1,2 @@
1
+ import{getCurrentScope,onScopeDispose,toValue,watch}from"vue";import{connectDataTable}from"@sectile/dom/tabular";import{createDataTable}from"@sectile/tabular/data-table";import{createTabularParts}from"./parts.js";import{createTabularComponentSuite}from"./components.js";import{controlledValues,aliasVueProfileController,createVueProfileController,semanticController}from"./controller.js";import{useProfile}from"./context.js";import{useProfileSource}from"./source.js";const hosts=new WeakMap;const activeConnections=new WeakMap;function useDataTable(options){assertExclusive(options,"query");assertExclusive(options,"rowSelection");assertExclusive(options,"columnState");assertExclusive(options,"accessState");assertExclusive(options,"expansion");assertExclusive(options,"columnSizeState");const initialValues=Object.freeze({...options.query===void 0&&options.defaultQuery===void 0?{}:{query:options.query?.value??options.defaultQuery},...options.rowSelection===void 0&&options.defaultRowSelection===void 0?{}:{rowSelection:options.rowSelection?.value??options.defaultRowSelection},...options.columnState===void 0&&options.defaultColumnState===void 0?{}:{columnState:options.columnState?.value??options.defaultColumnState},...options.accessState===void 0&&options.defaultAccessState===void 0?{}:{accessState:options.accessState?.value??options.defaultAccessState},...options.expansion===void 0&&options.defaultExpansion===void 0?{}:{expansion:options.expansion?.value??options.defaultExpansion}});const semanticOptions={columns:options.initialView?.columnSchema.columns??[],headers:options.initialView?.columnSchema.headers??[],...options.limits===void 0?{}:{limits:options.limits},controlled:{query:options.query!==void 0,rowSelection:options.rowSelection!==void 0,columnState:options.columnState!==void 0,accessState:options.accessState!==void 0,expansion:options.expansion!==void 0},initialValues,...options.onQueryChange===void 0?{}:{onQueryChange:options.onQueryChange},...options.onRowSelectionChange===void 0?{}:{onRowSelectionChange:options.onRowSelectionChange},...options.onColumnStateChange===void 0?{}:{onColumnStateChange:options.onColumnStateChange},...options.onAccessStateChange===void 0?{}:{onAccessStateChange:options.onAccessStateChange},...options.onExpansionChange===void 0?{}:{onExpansionChange:options.onExpansionChange}};const semantic=createDataTable(semanticOptions);const base=createVueProfileController(semantic);const controller=Object.freeze({...base,getProjection:()=>semantic.getProjection()});aliasVueProfileController(controller,base);hosts.set(controller,Object.freeze({...options.columnSizeState===void 0?{}:{columnSizes:options.columnSizeState.value},...options.defaultColumnSizeState===void 0?{}:{defaultColumnSizes:options.defaultColumnSizeState},...options.onColumnSizeStateChange===void 0?{}:{onColumnSizesChange:options.onColumnSizeStateChange}}));if(options.initialView!==void 0)unwrapResult(controller.synchronizeView(options.initialView));const source=useProfileSource(controller,options.source,{...options.onSourceError===void 0?{}:{onError:options.onSourceError},...options.onSourceStatusChange===void 0?{}:{onStatusChange:options.onSourceStatusChange}});const stops=[];const sync=()=>{unwrapResult(controller.syncControlledValues(controlledValues(options)))};for(const source2 of[options.query,options.rowSelection,options.columnState,options.accessState,options.expansion])if(source2!==void 0)stops.push(watch(()=>source2.value,sync,{deep:false}));if(options.sourceKey!==void 0)stops.push(watch(()=>toValue(options.sourceKey),()=>{unwrapResult(controller.dispatch({type:"replace-source"}))}));const dispose=controller.dispose;const wrapped=Object.freeze({...controller,status:source.status,error:source.error,reload:source.reload,cancel:source.cancel,replaceResolver:resolver=>source.replaceResolver(resolver),dispose:()=>{for(const stop of stops.splice(0))stop();source.dispose();dispose()}});aliasVueProfileController(wrapped,controller);hosts.set(wrapped,hosts.get(controller)??{});if(options.columnSizeState!==void 0)stops.push(watch(()=>options.columnSizeState.value,value=>{hosts.set(wrapped,Object.freeze({...hosts.get(wrapped),columnSizes:value}));const result=activeConnections.get(wrapped)?.syncControlledValues?.({...controlledValues(options),columnSizes:value});if(result!==void 0&&!result.ok)throw new TypeError("Controlled DataTable column sizes failed to synchronize.")},{deep:false}));if(getCurrentScope()!==void 0)onScopeDispose(wrapped.dispose);return wrapped}const publicKey=Symbol("SectileDataTable");const privateKey=Symbol("SectileDataTableHost");function useDataTableContext(){return useProfile(publicKey,"useDataTableContext")}const parts=createTabularParts({profile:"data-table",prefix:"DataTable",publicKey,privateKey,connect:(element,controller,callbacks)=>connectDataTable({controller:semanticController(controller),table:element,...hosts.get(controller),...callbacks.onCommand===void 0?{}:{onCommand:callbacks.onCommand},onSnapshotChange:callbacks.onSnapshotChange}),connectionChanged:(controller,connection)=>{if(connection===null)activeConnections.delete(controller);else activeConnections.set(controller,connection)}});const componentSuites=new WeakMap;function createDataTableComponents(controller){return createTabularComponentSuite(parts,controller,componentSuites,"DataTable",{Root:"Root",Caption:"Caption",Header:"Header",HeaderRow:"HeaderRow",ColumnHeader:"ColumnHeader",SortTrigger:"SortTrigger",FilterControl:"FilterControl",ColumnResizeHandle:"ColumnResizeHandle",Body:"Body",Row:"Row",SelectionControl:"SelectionControl",BulkSelectionControl:"BulkSelectionControl",Disclosure:"Disclosure",Cell:"Cell",Editor:"Editor"})}function assertExclusive(options,property){const values=options;const fallback=`default${property[0].toUpperCase()}${property.slice(1)}`;if(values[property]!==void 0&&values[fallback]!==void 0)throw new TypeError(`${property} and ${fallback} are mutually exclusive.`)}function unwrapResult(result){if(!result.ok)throw new TypeError(result.error.message);return result.value}export{createDataTableComponents,useDataTable,useDataTableContext};
2
+ //# sourceMappingURL=data-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabular/data-table.ts"],"mappings":"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","names":["source"],"file":"data-table.js"}
@@ -2,11 +2,13 @@ import { type ComputedRef } from 'vue';
2
2
  import { type DataTreeGridColumnSizeState as DOMDataTreeGridColumnSizeState, type DataTreeGridDOMCommand } from '@sectile/dom/tabular';
3
3
  import { type DataTreeGridCommand as SemanticDataTreeGridCommand, type DataTreeGridControlledValues, type DataTreeGridController as SemanticDataTreeGridController, type DataTreeGridCursorState, type DataTreeGridEditState, type DataTreeGridEvent, type DataTreeGridExpansionState, type DataTreeGridOptions as SemanticDataTreeGridOptions, type DataTreeGridProjection, type DataTreeGridState, type DataTreeGridUpdate } from '@sectile/tabular/data-tree-grid';
4
4
  import type { TabularAcceptedViewState, TabularAccessState, TabularCellRecord, TabularColumnState, TabularError, TabularGroupID, TabularHeaderNodeID, TabularLimits, TabularQuery, TabularRequest, TabularRequestState, TabularResult, TabularRow, TabularRowID, TabularRowSelection, TabularView, TabularViewResponse, TabularWireValue } from '@sectile/tabular';
5
- import type { PrimitiveAs } from './primitive.js';
6
- import type { DataTableColumnID, DataTableGroupCellsFromSource, DataTableLeafCellsFromSource, DataTableReactiveInput, DataTableWritableRef } from './data-table.js';
7
- import { type TabularBodyComponent, type TabularComponent } from './internal/tabular-components.js';
8
- import { type HostConnection } from './internal/tabular-parts.js';
9
- import { type ProfileContext, type SourceResolver, type SourceReturn, type SourceStatus, type VueProfileController } from './internal/tabular-profile.js';
5
+ import type { PrimitiveAs } from '../primitive.js';
6
+ import type { DataTableColumnID, DataTableGroupCellsFromSource, DataTableLeafCellsFromSource, DataTableReactiveInput, DataTableWritableRef } from './schema.js';
7
+ import { type TabularBodyComponent, type TabularComponent } from './components.js';
8
+ import { type HostConnection } from './parts.js';
9
+ import { type VueProfileController } from './controller.js';
10
+ import { type ProfileContext } from './context.js';
11
+ import { type SourceResolver, type SourceReturn, type SourceStatus } from './source.js';
10
12
  export type DataTreeGridQuery = TabularQuery;
11
13
  export type DataTreeGridViewRow<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularRow<LeafCells, GroupCells>;
12
14
  export type DataTreeGridView<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularView<DataTreeGridViewRow<LeafCells, GroupCells>>;
@@ -0,0 +1,2 @@
1
+ import{getCurrentScope,onScopeDispose,toValue,watch}from"vue";import{connectDataTreeGrid}from"@sectile/dom/tabular";import{createDataTreeGrid}from"@sectile/tabular/data-tree-grid";import{createTabularComponentSuite}from"./components.js";import{createTabularParts}from"./parts.js";import{aliasVueProfileController,controlledValues,createVueProfileController}from"./controller.js";import{useProfile}from"./context.js";import{useProfileSource}from"./source.js";const hosts=new WeakMap;const activeConnections=new WeakMap;function useDataTreeGrid(options){for(const property of["query","rowSelection","columnState","accessState","expansion","cursor","editState","columnSizeState"])assertExclusive(options,property);const semantic=createDataTreeGrid({columns:options.initialView?.columnSchema.columns??[],headers:options.initialView?.columnSchema.headers??[],...options.limits===void 0?{}:{limits:options.limits},...options.isCellDisabled===void 0?{}:{isCellDisabled:options.isCellDisabled},controlled:{query:options.query!==void 0,rowSelection:options.rowSelection!==void 0,columnState:options.columnState!==void 0,accessState:options.accessState!==void 0,expansion:options.expansion!==void 0,cursor:options.cursor!==void 0,edit:options.editState!==void 0},initialValues:{...options.query===void 0&&options.defaultQuery===void 0?{}:{query:options.query?.value??options.defaultQuery},...options.rowSelection===void 0&&options.defaultRowSelection===void 0?{}:{rowSelection:options.rowSelection?.value??options.defaultRowSelection},...options.columnState===void 0&&options.defaultColumnState===void 0?{}:{columnState:options.columnState?.value??options.defaultColumnState},...options.accessState===void 0&&options.defaultAccessState===void 0?{}:{accessState:options.accessState?.value??options.defaultAccessState},...options.expansion===void 0&&options.defaultExpansion===void 0?{}:{expansion:options.expansion?.value??options.defaultExpansion},...options.cursor===void 0&&options.defaultCursor===void 0?{}:{cursor:options.cursor?.value??options.defaultCursor},...options.editState===void 0&&options.defaultEditState===void 0?{}:{edit:options.editState?.value??options.defaultEditState}},...options.onQueryChange===void 0?{}:{onQueryChange:options.onQueryChange},...options.onRowSelectionChange===void 0?{}:{onRowSelectionChange:options.onRowSelectionChange},...options.onColumnStateChange===void 0?{}:{onColumnStateChange:options.onColumnStateChange},...options.onAccessStateChange===void 0?{}:{onAccessStateChange:options.onAccessStateChange},...options.onExpansionChange===void 0?{}:{onExpansionChange:options.onExpansionChange},...options.onCursorChange===void 0?{}:{onCursorChange:options.onCursorChange},...options.onEditStateChange===void 0?{}:{onEditStateChange:options.onEditStateChange}});const base=createVueProfileController(semantic);const controller=Object.freeze({...base,getProjection:()=>semantic.getProjection()});aliasVueProfileController(controller,base);hosts.set(controller,Object.freeze({...options.columnSizeState===void 0?{}:{columnSizes:options.columnSizeState.value},...options.defaultColumnSizeState===void 0?{}:{defaultColumnSizes:options.defaultColumnSizeState},...options.onColumnSizeStateChange===void 0?{}:{onColumnSizesChange:options.onColumnSizeStateChange}}));if(options.initialView!==void 0)unwrap(controller.synchronizeView(options.initialView));const source=useProfileSource(controller,options.source,{...options.onSourceError===void 0?{}:{onError:options.onSourceError},...options.onSourceStatusChange===void 0?{}:{onStatusChange:options.onSourceStatusChange}});const stops=[];const sync=()=>unwrap(controller.syncControlledValues(treeGridControlledValues(options)));for(const source2 of[options.query,options.rowSelection,options.columnState,options.accessState,options.expansion,options.cursor,options.editState])if(source2!==void 0)stops.push(watch(()=>source2.value,sync));if(options.sourceKey!==void 0)stops.push(watch(()=>toValue(options.sourceKey),()=>{unwrap(controller.dispatch({type:"replace-source"}))}));const rawDispose=controller.dispose;const wrapped=Object.freeze({...controller,status:source.status,error:source.error,reload:source.reload,cancel:source.cancel,replaceResolver:resolver=>source.replaceResolver(resolver),dispose:()=>{for(const stop of stops.splice(0))stop();source.dispose();rawDispose()}});aliasVueProfileController(wrapped,controller);hosts.set(wrapped,hosts.get(controller)??{});if(options.columnSizeState!==void 0)stops.push(watch(()=>options.columnSizeState.value,value=>{hosts.set(wrapped,Object.freeze({...hosts.get(wrapped),columnSizes:value}));const result=activeConnections.get(wrapped)?.syncControlledValues?.({...treeGridControlledValues(options),columnSizes:value});if(result!==void 0&&!result.ok)throw new TypeError("Controlled DataTreeGrid column sizes failed to synchronize.")},{deep:false}));if(getCurrentScope()!==void 0)onScopeDispose(wrapped.dispose);return wrapped}const publicKey=Symbol("SectileDataTreeGrid");const privateKey=Symbol("SectileDataTreeGridHost");function useDataTreeGridContext(){return useProfile(publicKey,"useDataTreeGridContext")}const parts=createTabularParts({profile:"data-tree-grid",prefix:"DataTreeGrid",publicKey,privateKey,connect:(element,controller,callbacks)=>connectDataTreeGrid({controller,root:element,...hosts.get(controller),...callbacks.onCommand===void 0?{}:{onCommand:callbacks.onCommand},onSnapshotChange:callbacks.onSnapshotChange}),connectionChanged:(controller,connection)=>{if(connection===null)activeConnections.delete(controller);else activeConnections.set(controller,connection)}});function treeGridControlledValues(options){return Object.freeze({...controlledValues(options),...options.cursor===void 0?{}:{cursor:options.cursor.value},...options.editState===void 0?{}:{edit:options.editState.value}})}const componentSuites=new WeakMap;function createDataTreeGridComponents(controller){return createTabularComponentSuite(parts,controller,componentSuites,"DataTreeGrid",{Root:"Root",Header:"Header",HeaderRow:"HeaderRow",ColumnHeader:"ColumnHeader",SortTrigger:"SortTrigger",FilterControl:"FilterControl",ColumnResizeHandle:"ColumnResizeHandle",Body:"Body",Row:"Row",RowDisclosure:"Disclosure",RowSelectionControl:"SelectionControl",BulkSelectionControl:"BulkSelectionControl",Cell:"Cell",Editor:"Editor"})}function assertExclusive(options,property){const values=options;const fallback=`default${property[0].toUpperCase()}${property.slice(1)}`;if(values[property]!==void 0&&values[fallback]!==void 0)throw new TypeError(`${property} and ${fallback} are mutually exclusive.`)}function unwrap(result){if(!result.ok)throw new TypeError(result.error.message);return result.value}export{createDataTreeGridComponents,useDataTreeGrid,useDataTreeGridContext};
2
+ //# sourceMappingURL=data-tree-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabular/data-tree-grid.ts"],"mappings":"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","names":["source"],"file":"data-tree-grid.js"}
@@ -1,6 +1,7 @@
1
1
  import { type Component, type InjectionKey } from 'vue';
2
2
  import type { TabularCellAddress, TabularColumnID, TabularGroupID, TabularHeaderNodeID, TabularRowID } from '@sectile/tabular';
3
- import { type ProfileContext, type VueProfileController } from './tabular-profile.js';
3
+ import { type ProfileContext } from './context.js';
4
+ import { type VueProfileController } from './controller.js';
4
5
  export interface HostConnection {
5
6
  disconnect(): void;
6
7
  refresh(): void;
@@ -0,0 +1,2 @@
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide}from"vue";import{Primitive}from"../primitive.js";import{provideProfile,useProfile}from"./context.js";import{refreshVueProfileController,stateOf}from"./controller.js";const asProp={type:[String,Object,Function],default:"div"};const asChildProp={type:Boolean,default:false};const identityProps={rowID:{type:String,default:void 0},column:{type:String,required:true}};function createTabularParts(config){const rowKey=Symbol(`Sectile${config.prefix}Row`);const usePublic=name=>useProfile(config.publicKey,`${config.prefix}${name}`);const usePrivate=name=>useProfile(config.privateKey,`${config.prefix}${name}`);const structural=(suffix,part,tag)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{as:{...asProp,default:tag},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic(suffix);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="header"||part==="body"?"rowgroup":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const boundPart=(suffix,part,tag,props,bind,rowAware=false)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{...props,as:{...asProp,default:tag},asChild:asChildProp},setup(runtimeProps,{attrs,slots}){const context=usePrivate(suffix);const inheritedRow=rowAware?inject(rowKey,null):null;const values=()=>{const resolved=runtimeProps;if(!rowAware||resolved["rowID"]!==void 0)return resolved;const row=inheritedRow?.value;if(row===void 0)throw new TypeError(`${config.prefix}${suffix} requires rowID outside automatic ${config.prefix}Body.`);return Object.freeze({...resolved,rowID:row.id})};let release;onBeforeUnmount(()=>release?.());const elementRef=value=>{release?.();release=void 0;if(!(value instanceof HTMLElement)||context.connection.value===null)return;release=bind(context.connection.value,value,values())};return()=>h(Primitive,mergeProps(attrs,{as:runtimeProps.as,asChild:runtimeProps.asChild,elementRef,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="row"?"row":part==="column-header"?"columnheader":part==="cell"?"gridcell":void 0}),{default:()=>slots["default"]?.(partSlot(context,inheritedRow))})}});const Provider=defineComponent({name:`Sectile${config.prefix}Provider`,props:{controller:{type:Object,required:true}},setup(props,{slots}){const context=provideProfile(config.publicKey,config.privateKey,props.controller);return()=>slots["default"]?.(rootSlot(context))}});const rootTag=config.profile==="data-table"?"table":"div";const Root=defineComponent({name:`Sectile${config.prefix}Root`,inheritAttrs:false,props:{onCommand:{type:Function,default:void 0},onError:{type:Function,default:void 0},as:{...asProp,default:rootTag},asChild:asChildProp},setup(props,{attrs,expose,slots}){const context=usePrivate("Root");let element=null;const connect=()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null;if(element===null)return;try{context.connection.value=config.connect(element,context.controller,{...props.onCommand===void 0?{}:{onCommand:props.onCommand},onSnapshotChange:()=>refreshVueProfileController(context.controller)});config.connectionChanged?.(context.controller,context.connection.value)}catch(error){props.onError?.(error);if(props.onError===void 0)throw error}};onMounted(connect);onBeforeUnmount(()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null});expose({controller:context.controller,refresh:()=>context.connection.value?.refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:value=>{element=value instanceof HTMLElement?value:null},"data-scope":config.profile,"data-part":"root",role:config.profile==="data-grid"?"grid":config.profile==="data-tree-grid"?"treegrid":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const table=config.profile==="data-table";const Caption=structural("Caption","caption","caption");const Header=structural("Header","header",table?"thead":"div");const HeaderRow=defineComponent({name:`Sectile${config.prefix}HeaderRow`,inheritAttrs:false,props:{as:{...asProp,default:table?"tr":"div"},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic("HeaderRow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:table?void 0:"row","data-scope":config.profile,"data-part":"header-row"}),{default:()=>slots["default"]?.(rootSlot(context))})}});const ColumnHeader=boundPart("ColumnHeader","column-header",table?"th":"div",{column:{type:String,default:void 0},header:{type:String,default:void 0}},(connection,element,props)=>{const column=props["column"];const header=props["header"];if(column===void 0===(header===void 0)){throw new TypeError(`${config.prefix}ColumnHeader requires exactly one of column or header.`)}const reference=column===void 0?{headerNodeID:String(header)}:{columnID:String(column)};if(table&&element instanceof HTMLTableCellElement)connection.setHeaderCellAttributes?.(element,reference);else connection.setColumnHeaderAttributes?.(element,reference);return void 0});const Row=boundPart("Row","row",table?"tr":"div",{rowID:{type:String,required:true}},(connection,element,props)=>{const result=connection.registerRow(element,{rowID:String(props["rowID"]),expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0});const AutomaticRow=defineComponent({name:`Sectile${config.prefix}AutomaticRow`,props:{row:{type:Object,required:true}},setup(props,{slots}){provide(rowKey,computed(()=>props.row));return()=>h(Row,{rowID:props.row.id,"data-row-id":props.row.id,"data-row-kind":props.row.kind,...props.row.kind==="group"&&props.row.contextOnly===true?{"data-context-only":""}:{}},{default:()=>slots["default"]?.()})}});const Body=defineComponent({name:`Sectile${config.prefix}Body`,inheritAttrs:false,props:{manual:{type:Boolean,default:false},as:{...asProp,default:table?"tbody":"div"},asChild:asChildProp},slots:Object,setup(props,{attrs,slots}){const context=usePublic("Body");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":"body",role:table?void 0:"rowgroup"}),{default:()=>{const root=rootSlot(context);if(props.manual)return slots["default"]?.(root);const rows=root["rows"];if(rows.length===0)return slots["empty"]?.(root);return rows.map((row,rowIndex)=>h(AutomaticRow,{key:row.id,row},{default:()=>slots["default"]?.(Object.freeze({...root,row,rowIndex,isGroup:row.kind==="group"}))}))}})}});const Cell=boundPart("Cell","cell",table?"td":"div",identityProps,(connection,element,props)=>{const result=connection.registerCell(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0},true);const SortTrigger=boundPart("SortTrigger","sort-trigger","button",{column:{type:String,required:true},comparator:{type:String,default:"default"}},(connection,element,props)=>connection.bindSortTrigger(element,{columnID:String(props["column"]),comparator:String(props["comparator"])}));const FilterControl=boundPart("FilterControl","filter-control","input",{scope:{type:String,required:true},column:{type:String,default:void 0},id:{type:String,required:true},predicate:{type:String,required:true}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLSelectElement?connection.bindFilterControl(element,props["scope"]==="column"?{scope:"column",columnID:String(props["column"]),id:String(props["id"]),predicate:String(props["predicate"])}:{scope:"global",id:String(props["id"]),predicate:String(props["predicate"])}):void 0);const ColumnResizeHandle=boundPart("ColumnResizeHandle","column-resize-handle","button",{column:{type:String,required:true},minSize:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},(connection,element,props)=>connection.bindColumnResizeHandle(element,{columnID:String(props["column"]),...typeof props["minSize"]==="number"?{minSize:props["minSize"]}:{},...typeof props["maxSize"]==="number"?{maxSize:props["maxSize"]}:{}}));const SelectionControl=boundPart(table?"SelectionControl":"RowSelectionControl","selection-control","input",{rowID:{type:String,default:void 0},name:{type:String,required:true},value:{type:String,default:void 0},form:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>{const rowID=String(props["rowID"]);const options={rowID,name:String(props["name"]),value:props["value"]===void 0?rowID:String(props["value"]),...typeof props["form"]==="string"?{form:props["form"]}:{},disabled:props["disabled"]===true};return table?connection.bindSelectionControl?.(element,options):connection.bindRowSelectionControl?.(element,options)},true);const BulkSelectionControl=boundPart("BulkSelectionControl","bulk-selection-control","button",{target:{type:Object,required:true},disabled:{type:Boolean,default:false}},(connection,element,props)=>connection.bindBulkSelectionControl(element,{target:props["target"],disabled:props["disabled"]===true}));const Disclosure=boundPart(config.profile==="data-tree-grid"?"RowDisclosure":"Disclosure","disclosure","button",{rowID:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>config.profile==="data-tree-grid"?connection.bindRowDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}):connection.bindDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}),true);const Editor=boundPart("Editor","editor","input",{...identityProps,parseValue:{type:Function,default:void 0},commitOnChange:{type:Boolean,default:false}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLTextAreaElement||element instanceof HTMLSelectElement?connection.bindEditor(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},...typeof props["parseValue"]==="function"?{parseValue:props["parseValue"]}:{},commitOnChange:props["commitOnChange"]===true}):void 0,true);return Object.freeze({Provider,Root,Caption,Header,HeaderRow,ColumnHeader,SortTrigger,FilterControl,ColumnResizeHandle,Body,Row,SelectionControl,BulkSelectionControl,Disclosure,Cell,Editor})}function rootSlot(context){const state=stateOf(context.snapshot.value);const profile=context.snapshot.value;return Object.freeze({controller:context.controller,snapshot:context.snapshot.value,acceptedViewState:state.acceptedViewState,requestState:state.requestState,query:state.query,rowSelection:state.rowSelection,columnState:state.columnState,accessState:state.accessState,expansion:state.expansion,rows:state.acceptedViewState.kind==="none"?Object.freeze([]):state.acceptedViewState.view.rows,...profile.cursor===void 0?{}:{cursor:profile.cursor},...profile.edit===void 0?{}:{editState:profile.edit}})}function partSlot(context,row){const root=rootSlot(context);return row===null?root:Object.freeze({...root,row:row.value,isGroup:row.value.kind==="group"})}export{createTabularParts};
2
+ //# sourceMappingURL=parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabular/parts.ts"],"mappings":"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","names":[],"file":"parts.js"}
@@ -0,0 +1,35 @@
1
+ import type { Ref } from 'vue';
2
+ import type { TabularCellRecord, TabularWireValue } from '@sectile/tabular';
3
+ import type { SourceResolver } from './source.js';
4
+ type DataTablePathDepth = readonly unknown[];
5
+ type DataTableNextDepth<Depth extends DataTablePathDepth> = readonly [...Depth, unknown];
6
+ type DataTableNestedPath<Value, Depth extends DataTablePathDepth> = Value extends readonly unknown[] ? DataTableArrayPath<Value, Depth> : Value extends object ? `.${DataTableObjectPath<Value, Depth>}` : never;
7
+ type DataTableTupleIndexes<Value extends readonly unknown[]> = Exclude<keyof Value, keyof readonly unknown[]> & `${number}`;
8
+ type DataTableArrayPath<Value extends readonly unknown[], Depth extends DataTablePathDepth> = Depth['length'] extends 8 ? never : number extends Value['length'] ? `[${number}]` | `[${number}]${DataTableNestedPath<Value[number], DataTableNextDepth<Depth>>}` : {
9
+ [Index in DataTableTupleIndexes<Value>]: `[${Index}]` | `[${Index}]${DataTableNestedPath<Value[Index & keyof Value], DataTableNextDepth<Depth>>}`;
10
+ }[DataTableTupleIndexes<Value>];
11
+ type DataTableObjectPath<Value extends object, Depth extends DataTablePathDepth> = Depth['length'] extends 8 ? never : string extends keyof Value ? string : {
12
+ [Key in Extract<keyof Value, string>]: Key | `${Key}${DataTableNestedPath<Value[Key], DataTableNextDepth<Depth>>}`;
13
+ }[Extract<keyof Value, string>];
14
+ type DataTableResolveArrayRest<Value, Rest extends string> = Rest extends `[${number}]${infer Tail}` ? Value extends readonly (infer Item)[] ? Tail extends '' ? Item : DataTableResolveArrayRest<Item, Tail> : never : never;
15
+ type DataTableResolveSegment<Value, Segment extends string> = Segment extends `${infer Key}[${infer Index}]${infer Rest}` ? Key extends keyof Value ? Index extends `${number}` ? DataTableResolveArrayRest<Value[Key], `[${Index}]${Rest}`> : never : never : Segment extends keyof Value ? Value[Segment] : never;
16
+ type DataTableResolvePath<Value, Path extends string> = Path extends keyof Value ? Value[Path] : Path extends `${infer Segment}.${infer Rest}` ? DataTableResolvePath<DataTableResolveSegment<Value, Segment>, Rest> : DataTableResolveSegment<Value, Path>;
17
+ export type DataTableFieldPath<Cells extends object> = DataTableObjectPath<Cells, readonly []>;
18
+ export type DataTableColumnID<LeafCells extends object, GroupCells extends object = LeafCells> = DataTableFieldPath<LeafCells> | DataTableFieldPath<GroupCells>;
19
+ export type DataTableCellValue<Cells extends object, Column extends string> = Extract<DataTableResolvePath<Cells, Column>, TabularWireValue> extends never ? TabularWireValue : Extract<DataTableResolvePath<Cells, Column>, TabularWireValue>;
20
+ export type DataTableReactiveInput<T> = T | Ref<T> | (() => T);
21
+ export interface DataTableWritableRef<T> {
22
+ value: T;
23
+ }
24
+ export type DataTableSourceResponse<Source extends SourceResolver> = Awaited<ReturnType<Source>>;
25
+ type DataTableSourceRows<Source extends SourceResolver> = DataTableSourceResponse<Source> extends {
26
+ readonly rows: readonly (infer Row)[];
27
+ } ? Row : never;
28
+ type DataTableSourceCells<Source extends SourceResolver, Kind extends 'leaf' | 'group'> = Extract<DataTableSourceRows<Source>, {
29
+ readonly kind: Kind;
30
+ }> extends infer Row ? Row extends {
31
+ readonly cells: infer Cells extends object;
32
+ } ? Cells : never : never;
33
+ export type DataTableLeafCellsFromSource<Source extends SourceResolver> = [DataTableSourceCells<Source, 'leaf'>] extends [never] ? TabularCellRecord : DataTableSourceCells<Source, 'leaf'>;
34
+ export type DataTableGroupCellsFromSource<Source extends SourceResolver> = [DataTableSourceCells<Source, 'group'>] extends [never] ? DataTableLeafCellsFromSource<Source> : DataTableSourceCells<Source, 'group'>;
35
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/tabular/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { type ShallowRef } from 'vue';
2
+ import type { TabularRequest, TabularViewResponse } from '@sectile/tabular';
3
+ import type { VueProfileController } from './controller.js';
4
+ export type SourceStatus = 'idle' | 'loading' | 'success' | 'error';
5
+ export type SourceResolver = (request: TabularRequest, context: {
6
+ readonly signal: AbortSignal;
7
+ }) => TabularViewResponse | Promise<TabularViewResponse>;
8
+ export interface SourceOptions {
9
+ readonly onError?: (error: unknown) => void;
10
+ readonly onStatusChange?: (status: SourceStatus) => void;
11
+ }
12
+ export interface SourceReturn<Resolver extends SourceResolver = SourceResolver> {
13
+ readonly status: Readonly<ShallowRef<SourceStatus>>;
14
+ readonly error: Readonly<ShallowRef<unknown | null>>;
15
+ reload(): void;
16
+ cancel(): void;
17
+ replaceResolver(resolver: Resolver): void;
18
+ dispose(): void;
19
+ }
20
+ export declare function useProfileSource<State, Event, Command>(controller: VueProfileController<State, Event, Command>, initialResolver: SourceResolver, options?: SourceOptions): SourceReturn;
@@ -0,0 +1,2 @@
1
+ import{getCurrentInstance,onBeforeUnmount,onMounted,readonly,shallowRef}from"vue";function useProfileSource(controller,initialResolver,options={}){const status=shallowRef("idle");const error=shallowRef(null);let resolver=initialResolver;let active=null;let mounted=false;let disposed=false;let queued=null;let sequence=0;const setStatus=next=>{status.value=next;options.onStatusChange?.(next)};const abandon=requestID=>{controller.abandonRequest(requestID)};const cancel=()=>{const cancellation=++sequence;const current=active;const pending=queued;active=null;queued=null;if(current!==null){current.abort.abort();abandon(current.requestID)}if(pending!==null&&pending.requestID!==current?.requestID)abandon(pending.requestID);if(!disposed&&sequence===cancellation)setStatus("idle")};const execute=request=>{if(disposed)return;if(!mounted){queued=request;return}const execution=++sequence;const previous=active;active=null;if(previous!==null){previous.abort.abort();abandon(previous.requestID)}if(disposed||execution!==sequence)return;const abort=new AbortController;const owner={requestID:request.requestID,abort};const executeResolver=resolver;active=owner;error.value=null;setStatus("loading");Promise.resolve().then(()=>{if(disposed||abort.signal.aborted||active!==owner)return void 0;return executeResolver(request,{signal:abort.signal})}).then(response=>{if(response===void 0||disposed||abort.signal.aborted||active!==owner)return;const synchronized=controller.synchronizeView(response);if(disposed||abort.signal.aborted||active!==owner)return;if(!synchronized.ok){active=null;error.value=synchronized.error;setStatus("error");options.onError?.(synchronized.error);return}active=null;setStatus("success")},reason=>{if(disposed||abort.signal.aborted||active!==owner)return;active=null;abandon(request.requestID);error.value=reason;setStatus("error");options.onError?.(reason)})};const attached=controller.attachRequestExecutor(command=>execute(command.request));if(!attached.ok)throw new TypeError(attached.error.message);const releaseExecutor=attached.value;const reload=()=>{const requested=controller.requestView();if(!requested.ok)throw new TypeError(requested.error.message)};const replaceResolver=next=>{resolver=next;const replacement=sequence+1;cancel();if(disposed||replacement!==sequence)return;const replaced=controller.dispatch({type:"replace-source"});if(!replaced.ok)throw new TypeError(replaced.error.message)};const dispose=()=>{if(disposed)return;disposed=true;cancel();releaseExecutor()};if(getCurrentInstance()!==null){onMounted(()=>{mounted=true;const pending=queued??controller.requestState.value.pendingRequest;queued=null;if(pending!==null)execute(pending)});onBeforeUnmount(dispose)}return Object.freeze({status:readonly(status),error:readonly(error),reload,cancel,replaceResolver,dispose})}export{useProfileSource};
2
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabular/source.ts"],"mappings":"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","names":[],"file":"source.js"}
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createTagsInput}from"@sectile/dom/tags-input";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./internal/native-input.js";import{provideFormControlOwner}from"./internal/form-control.js";import{hiddenValueSubmissionCapabilities,useCompositeFormControl}from"./internal/form-control.js";import{useHostDirection}from"./host-provider.js";const rootKey=Symbol("SectileTagsInputRoot");const itemKey=Symbol("SectileTagsInputItem");const partProps={as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}};const TagsInputRoot=defineComponent({name:"SectileTagsInputRoot",inheritAttrs:false,props:{modelValue:{type:Array,default:void 0},defaultValue:{type:Array,default:()=>[]},inputValue:{type:String,default:void 0},defaultInputValue:{type:String,default:""},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:"Tags"},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:inputValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const direction=useHostDirection();const root=shallowRef(null);const input=shallowRef(null);const submissionElements=[];const initialTags=Object.freeze([...props.defaultValue]);const initialInput=props.defaultInputValue;const participation=useCompositeFormControl({root,focusTarget:input,submissions:()=>state.value.value.map((_,index)=>({element:()=>submissionElements[index]??null,capabilities:hiddenValueSubmissionCapabilities})),reset:()=>{queueMicrotask(()=>{if(!valueControlled)localTags.value=initialTags;if(!inputControlled)localInput.value=initialInput;connect()})}});provideFormControlOwner();const connection=shallowRef();const localTags=shallowRef(props.modelValue??initialTags);const localInput=shallowRef(props.inputValue??props.defaultInputValue);const valueControlled=props.modelValue!==void 0;const inputControlled=props.inputValue!==void 0;let mounted=false;const state=computed(()=>Object.freeze({value:props.modelValue??localTags.value,inputValue:props.inputValue??localInput.value,disabled:props.disabled,readonly:props.readonly}));const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localTags.value=snapshot.tags;localInput.value=snapshot.draft;refreshDeletes()};const refreshDeletes=()=>{if(root.value===null||connection.value===void 0)return;root.value.querySelectorAll("[data-sectile-tags-delete]").forEach(element=>{connection.value?.setTagAttributes(element,Number(element.dataset["sectileTagsDelete"]))})};const connect=()=>{connection.value?.disconnect();connection.value=void 0;if(!mounted||root.value===null||input.value===null)return;connection.value=createTagsInput({root:root.value,input:input.value,direction:direction.value,...props.policies===void 0?{}:{policies:props.policies},...valueControlled?{value:props.modelValue}:{defaultValue:localTags.value},...inputControlled?{inputValue:props.inputValue}:{defaultInputValue:localInput.value},disabled:props.disabled,readOnly:props.readonly,label:props.label,onValueChange:next=>{localTags.value=next;emit("update:modelValue",next)},onInputValueChange:next=>{localInput.value=next;emit("update:inputValue",next)},onUpdate:refresh});refresh()};provide(rootKey,{state,label:computed(()=>props.label),registerRoot:element=>{root.value=element??null},registerInput:element=>{input.value=element??null},registerDelete:(element,index)=>connection.value?.setTagAttributes(element,index),clear:()=>{for(let index=state.value.value.length-1;index>=0;index-=1)connection.value?.handleEvent({type:"remove",index})}});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connection.value?.disconnect();connection.value=void 0});watch([()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.policies,direction],connect);watch([()=>props.modelValue,()=>props.inputValue],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...valueControlled?{value:props.modelValue}:{},...inputControlled?{inputValue:props.inputValue}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{root.value=node instanceof HTMLElement?node:null},role:"group","aria-label":props.label,dir:direction.value,"data-scope":"tags-input","data-part":"root","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0)return visual;return[visual,...state.value.value.map((tag,index)=>h("input",{ref:element=>{submissionElements[index]=element instanceof HTMLInputElement?element:null},type:"hidden",name:props.name,form:props.form,value:tag,disabled:props.disabled,style:visuallyHiddenInputStyle}))]}}});const TagsInputItem=defineComponent({name:"SectileTagsInputItem",inheritAttrs:false,props:{index:{type:Number,required:true},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TagsInputItem");const state=computed(()=>({index:props.index,value:root.state.value.value[props.index]??"",disabled:root.state.value.disabled,readonly:root.state.value.readonly}));provide(itemKey,{state});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"tags-input","data-part":"item","data-index":props.index}),{default:()=>slots["default"]?.(state.value)})}});const TagsInputItemText=defineComponent({name:"SectileTagsInputItemText",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const item=useItem("TagsInputItemText");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"tags-input","data-part":"item-text"}),{default:()=>slots["default"]?.(item.state.value)??item.state.value.value})}});const TagsInputItemDelete=defineComponent({name:"SectileTagsInputItemDelete",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TagsInputItemDelete");const item=useItem("TagsInputItemDelete");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerDelete(node,item.state.value.index)},"data-sectile-tags-delete":item.state.value.index,"data-scope":"tags-input","data-part":"item-delete",disabled:item.state.value.disabled||item.state.value.readonly}),{default:()=>slots["default"]?.(item.state.value)})}});const TagsInputInput=defineComponent({name:"SectileTagsInputInput",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("TagsInputInput");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.registerInput(node instanceof HTMLInputElement?node:void 0),type:"text",value:root.state.value.inputValue,disabled:root.state.value.disabled,readonly:root.state.value.readonly,"aria-label":root.label.value,"data-scope":"tags-input","data-part":"input"}))}});const TagsInputClear=defineComponent({name:"SectileTagsInputClear",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TagsInputClear");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:root.state.value.disabled||root.state.value.readonly||root.state.value.value.length===0,onClick:root.clear,"data-scope":"tags-input","data-part":"clear"}),{default:()=>slots["default"]?.(root.state.value)})}});function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside TagsInputRoot.`);return root}function useItem(part){const item=inject(itemKey);if(item===void 0)throw new TypeError(`${part} must be used inside TagsInputItem.`);return item}export{TagsInputClear,TagsInputInput,TagsInputItem,TagsInputItemDelete,TagsInputItemText,TagsInputRoot};
1
+ import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createTagsInput}from"@sectile/dom/tags-input";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenValueSubmissionCapabilities,useCompositeFormControl}from"./form/control.js";import{useHostDirection}from"./host-provider.js";const rootKey=Symbol("SectileTagsInputRoot");const itemKey=Symbol("SectileTagsInputItem");const partProps={as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}};const TagsInputRoot=defineComponent({name:"SectileTagsInputRoot",inheritAttrs:false,props:{modelValue:{type:Array,default:void 0},defaultValue:{type:Array,default:()=>[]},inputValue:{type:String,default:void 0},defaultInputValue:{type:String,default:""},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:"Tags"},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:inputValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const direction=useHostDirection();const root=shallowRef(null);const input=shallowRef(null);const submissionElements=[];const initialTags=Object.freeze([...props.defaultValue]);const initialInput=props.defaultInputValue;const participation=useCompositeFormControl({root,focusTarget:input,submissions:()=>state.value.value.map((_,index)=>({element:()=>submissionElements[index]??null,capabilities:hiddenValueSubmissionCapabilities})),reset:()=>{queueMicrotask(()=>{if(!valueControlled)localTags.value=initialTags;if(!inputControlled)localInput.value=initialInput;connect()})}});provideFormControlOwner();const connection=shallowRef();const localTags=shallowRef(props.modelValue??initialTags);const localInput=shallowRef(props.inputValue??props.defaultInputValue);const valueControlled=props.modelValue!==void 0;const inputControlled=props.inputValue!==void 0;let proposedInputValue=null;let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;let mounted=false;const state=computed(()=>Object.freeze({value:props.modelValue??localTags.value,inputValue:props.inputValue??localInput.value,disabled:props.disabled,readonly:props.readonly}));const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localTags.value=snapshot.tags;localInput.value=snapshot.draft;refreshDeletes()};const refreshDeletes=()=>{if(root.value===null||connection.value===void 0)return;root.value.querySelectorAll("[data-sectile-tags-delete]").forEach(element=>{connection.value?.setTagAttributes(element,Number(element.dataset["sectileTagsDelete"]))})};const syncControlledValues=()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...valueControlled?{value:props.modelValue}:{},...inputControlled?{inputValue:props.inputValue}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()};const connect=()=>{connection.value?.disconnect();connection.value=void 0;if(!mounted||root.value===null||input.value===null)return;connection.value=createTagsInput({root:root.value,input:input.value,direction:direction.value,...props.policies===void 0?{}:{policies:props.policies},...valueControlled?{value:props.modelValue}:{defaultValue:localTags.value},...inputControlled?{inputValue:proposedInputValue??props.inputValue}:{defaultInputValue:localInput.value},disabled:props.disabled,readOnly:props.readonly,label:props.label,onValueChange:next=>{localTags.value=next;emit("update:modelValue",next)},onInputValueChange:next=>{localInput.value=next;emit("update:inputValue",next);if(!inputControlled)return;proposedInputValue=next;const proposal=next;void nextTick(()=>{if(connection.value===void 0||proposedInputValue!==proposal)return;proposedInputValue=null;syncControlledValues()})},onUpdate:refresh});refresh()};const requestConnect=()=>{if(inputComposing||reconnectPending){reconnectPending=true;return}connect()};const setInputComposing=composing=>{inputComposing=composing;if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||inputComposing)return;reconnectPending=false;connect()},0)};provide(rootKey,{state,label:computed(()=>props.label),registerRoot:element=>{root.value=element??null},registerInput:element=>{input.value=element??null},registerDelete:(element,index)=>connection.value?.setTagAttributes(element,index),setInputComposing,clear:()=>{for(let index=state.value.value.length-1;index>=0;index-=1)connection.value?.handleEvent({type:"remove",index})}});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;proposedInputValue=null;connection.value?.disconnect();connection.value=void 0});watch([()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.policies,direction],requestConnect);watch([()=>props.modelValue,()=>props.inputValue],()=>{proposedInputValue=null;syncControlledValues()});return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{root.value=node instanceof HTMLElement?node:null},role:"group","aria-label":props.label,dir:direction.value,"data-scope":"tags-input","data-part":"root","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0)return visual;return[visual,...state.value.value.map((tag,index)=>h("input",{ref:element=>{submissionElements[index]=element instanceof HTMLInputElement?element:null},type:"hidden",name:props.name,form:props.form,value:tag,disabled:props.disabled,style:visuallyHiddenInputStyle}))]}}});const TagsInputItem=defineComponent({name:"SectileTagsInputItem",inheritAttrs:false,props:{index:{type:Number,required:true},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TagsInputItem");const state=computed(()=>({index:props.index,value:root.state.value.value[props.index]??"",disabled:root.state.value.disabled,readonly:root.state.value.readonly}));provide(itemKey,{state});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"tags-input","data-part":"item","data-index":props.index}),{default:()=>slots["default"]?.(state.value)})}});const TagsInputItemText=defineComponent({name:"SectileTagsInputItemText",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const item=useItem("TagsInputItemText");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"tags-input","data-part":"item-text"}),{default:()=>slots["default"]?.(item.state.value)??item.state.value.value})}});const TagsInputItemDelete=defineComponent({name:"SectileTagsInputItemDelete",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TagsInputItemDelete");const item=useItem("TagsInputItemDelete");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerDelete(node,item.state.value.index)},"data-sectile-tags-delete":item.state.value.index,"data-scope":"tags-input","data-part":"item-delete",disabled:item.state.value.disabled||item.state.value.readonly}),{default:()=>slots["default"]?.(item.state.value)})}});const TagsInputInput=defineComponent({name:"SectileTagsInputInput",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("TagsInputInput");const renderServerValue=typeof window==="undefined";return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.registerInput(node instanceof HTMLInputElement?node:void 0),type:"text",...renderServerValue?{value:root.state.value.inputValue}:{},disabled:root.state.value.disabled,readonly:root.state.value.readonly,"aria-label":root.label.value,onCompositionstart:()=>root.setInputComposing(true),onCompositionend:()=>root.setInputComposing(false),"data-scope":"tags-input","data-part":"input"}))}});const TagsInputClear=defineComponent({name:"SectileTagsInputClear",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TagsInputClear");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:root.state.value.disabled||root.state.value.readonly||root.state.value.value.length===0,onClick:root.clear,"data-scope":"tags-input","data-part":"clear"}),{default:()=>slots["default"]?.(root.state.value)})}});function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside TagsInputRoot.`);return root}function useItem(part){const item=inject(itemKey);if(item===void 0)throw new TypeError(`${part} must be used inside TagsInputItem.`);return item}export{TagsInputClear,TagsInputInput,TagsInputItem,TagsInputItemDelete,TagsInputItemText,TagsInputRoot};
2
2
  //# sourceMappingURL=tags-input.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tags-input.ts"],"mappings":"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","names":[],"file":"tags-input.js"}
1
+ {"version":3,"sources":["../src/tags-input.ts"],"mappings":"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","names":[],"file":"tags-input.js"}
@@ -1,7 +1,7 @@
1
1
  import type { CalendarMonthValue, CalendarPolicies, CalendarViewMode } from '@sectile/dom/temporal/calendar';
2
2
  import type { DateValue } from '@sectile/dom/temporal/calendar';
3
3
  import { type PropType, type SlotsType, type VNodeChild } from 'vue';
4
- import { type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerRootSlotProps } from './internal/date-picker.js';
4
+ import { type PickerRootPartComponent, type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerRootSlotProps } from './picker.js';
5
5
  export interface CalendarRootProps {
6
6
  readonly modelValue?: DateValue | null;
7
7
  readonly defaultValue?: DateValue | null;
@@ -128,15 +128,15 @@ export declare const CalendarRoot: import("vue").DefineComponent<import("vue").E
128
128
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
129
129
  export type CalendarValueChangeHandler = NonNullable<InstanceType<typeof CalendarRoot>['$props']['onUpdate:modelValue']>;
130
130
  export type CalendarHighlightedValueChangeHandler = NonNullable<InstanceType<typeof CalendarRoot>['$props']['onUpdate:highlightedValue']>;
131
- export declare const CalendarContent: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
132
- export declare const CalendarGrid: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
131
+ export declare const CalendarContent: PickerRootPartComponent<'calendar'>;
132
+ export declare const CalendarGrid: PickerRootPartComponent<'calendar'>;
133
133
  export declare const CalendarCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
134
134
  value: {
135
135
  type: PropType<DateValue>;
136
136
  required: true;
137
137
  };
138
138
  as: {
139
- type: PropType<import("./primitive.js").PrimitiveAs>;
139
+ type: PropType<import("../primitive.js").PrimitiveAs>;
140
140
  default: string;
141
141
  };
142
142
  asChild: {
@@ -149,7 +149,7 @@ export declare const CalendarCell: import("vue").DefineComponent<import("vue").E
149
149
  required: true;
150
150
  };
151
151
  as: {
152
- type: PropType<import("./primitive.js").PrimitiveAs>;
152
+ type: PropType<import("../primitive.js").PrimitiveAs>;
153
153
  default: string;
154
154
  };
155
155
  asChild: {
@@ -157,7 +157,7 @@ export declare const CalendarCell: import("vue").DefineComponent<import("vue").E
157
157
  default: boolean;
158
158
  };
159
159
  }>> & Readonly<{}>, {
160
- as: import("./primitive.js").PrimitiveAs;
160
+ as: import("../primitive.js").PrimitiveAs;
161
161
  asChild: boolean;
162
162
  }, SlotsType<{
163
163
  default: (props: PickerCellSlotProps) => VNodeChild;
@@ -168,7 +168,7 @@ export declare const CalendarMonthCell: import("vue").DefineComponent<import("vu
168
168
  required: true;
169
169
  };
170
170
  as: {
171
- type: PropType<import("./primitive.js").PrimitiveAs>;
171
+ type: PropType<import("../primitive.js").PrimitiveAs>;
172
172
  default: string;
173
173
  };
174
174
  asChild: {
@@ -181,7 +181,7 @@ export declare const CalendarMonthCell: import("vue").DefineComponent<import("vu
181
181
  required: true;
182
182
  };
183
183
  as: {
184
- type: PropType<import("./primitive.js").PrimitiveAs>;
184
+ type: PropType<import("../primitive.js").PrimitiveAs>;
185
185
  default: string;
186
186
  };
187
187
  asChild: {
@@ -189,7 +189,7 @@ export declare const CalendarMonthCell: import("vue").DefineComponent<import("vu
189
189
  default: boolean;
190
190
  };
191
191
  }>> & Readonly<{}>, {
192
- as: import("./primitive.js").PrimitiveAs;
192
+ as: import("../primitive.js").PrimitiveAs;
193
193
  asChild: boolean;
194
194
  }, SlotsType<{
195
195
  default: (props: PickerMonthCellSlotProps) => VNodeChild;
@@ -204,7 +204,7 @@ export declare const CalendarInput: import("vue").DefineComponent<import("vue").
204
204
  default: undefined;
205
205
  };
206
206
  as: {
207
- type: PropType<import("./primitive.js").PrimitiveAs>;
207
+ type: PropType<import("../primitive.js").PrimitiveAs>;
208
208
  default: string;
209
209
  };
210
210
  asChild: {
@@ -221,7 +221,7 @@ export declare const CalendarInput: import("vue").DefineComponent<import("vue").
221
221
  default: undefined;
222
222
  };
223
223
  as: {
224
- type: PropType<import("./primitive.js").PrimitiveAs>;
224
+ type: PropType<import("../primitive.js").PrimitiveAs>;
225
225
  default: string;
226
226
  };
227
227
  asChild: {
@@ -231,16 +231,16 @@ export declare const CalendarInput: import("vue").DefineComponent<import("vue").
231
231
  }>> & Readonly<{}>, {
232
232
  name: string;
233
233
  form: string;
234
- as: import("./primitive.js").PrimitiveAs;
234
+ as: import("../primitive.js").PrimitiveAs;
235
235
  asChild: boolean;
236
236
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
237
- export declare const CalendarPreviousWeek: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
238
- export declare const CalendarNextWeek: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
239
- export declare const CalendarPreviousMonth: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
240
- export declare const CalendarNextMonth: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
241
- export declare const CalendarPreviousYear: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
242
- export declare const CalendarNextYear: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
243
- export declare const CalendarWeekViewTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
244
- export declare const CalendarMonthViewTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
245
- export declare const CalendarYearViewTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"calendar">;
237
+ export declare const CalendarPreviousWeek: PickerRootPartComponent<'calendar'>;
238
+ export declare const CalendarNextWeek: PickerRootPartComponent<'calendar'>;
239
+ export declare const CalendarPreviousMonth: PickerRootPartComponent<'calendar'>;
240
+ export declare const CalendarNextMonth: PickerRootPartComponent<'calendar'>;
241
+ export declare const CalendarPreviousYear: PickerRootPartComponent<'calendar'>;
242
+ export declare const CalendarNextYear: PickerRootPartComponent<'calendar'>;
243
+ export declare const CalendarWeekViewTrigger: PickerRootPartComponent<'calendar'>;
244
+ export declare const CalendarMonthViewTrigger: PickerRootPartComponent<'calendar'>;
245
+ export declare const CalendarYearViewTrigger: PickerRootPartComponent<'calendar'>;
246
246
  export type { CalendarMonthValue, CalendarPolicies, CalendarViewMode, DateValue, PickerCellSlotProps as CalendarCellSlotProps, PickerMonthCellSlotProps as CalendarMonthCellSlotProps, PickerPartProps as CalendarPartProps, };
@@ -0,0 +1,2 @@
1
+ import{defineComponent,h,mergeProps}from'vue';import{PickerCell,PickerContent,PickerGrid,PickerMonthCell,createPickerInput,createPickerMove,createPickerRoot,createPickerViewTrigger}from'./picker.js';import{calendarCapability}from'./capabilities/calendar.js';const CalendarProviderRoot=/* @__PURE__ */createPickerRoot(calendarCapability,'SectileCalendarProviderRoot',{scope:'calendar',defaultOpen:true,defaultView:'month',inline:true});export const CalendarRoot=/* @__PURE__ */defineComponent({name:'SectileCalendarRoot',inheritAttrs:false,props:{modelValue:{type:Object,default:undefined},defaultValue:{type:Object,default:null},highlightedValue:{type:Object,default:undefined},defaultHighlightedValue:{type:Object,default:undefined},defaultView:{type:String,default:'month'},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:undefined},policies:{type:Object,default:undefined}},emits:{'update:modelValue':_value=>true,'update:highlightedValue':_value=>true},slots:Object,setup(props,{attrs,emit,slots}){return()=>h(CalendarProviderRoot,mergeProps(attrs,props,{'onUpdate:modelValue':value=>emit('update:modelValue',value),'onUpdate:highlightedValue':value=>emit('update:highlightedValue',value)}),slots)}});export const CalendarContent=PickerContent;export const CalendarGrid=PickerGrid;export const CalendarCell=PickerCell;export const CalendarMonthCell=PickerMonthCell;export const CalendarInput=/* @__PURE__ */createPickerInput('input','SectileCalendarInput','hidden');export const CalendarPreviousWeek=/* @__PURE__ */createPickerMove('week',-1,'SectileCalendarPreviousWeek');export const CalendarNextWeek=/* @__PURE__ */createPickerMove('week',1,'SectileCalendarNextWeek');export const CalendarPreviousMonth=/* @__PURE__ */createPickerMove('month',-1,'SectileCalendarPreviousMonth');export const CalendarNextMonth=/* @__PURE__ */createPickerMove('month',1,'SectileCalendarNextMonth');export const CalendarPreviousYear=/* @__PURE__ */createPickerMove('year',-1,'SectileCalendarPreviousYear');export const CalendarNextYear=/* @__PURE__ */createPickerMove('year',1,'SectileCalendarNextYear');export const CalendarWeekViewTrigger=/* @__PURE__ */createPickerViewTrigger('week','SectileCalendarWeekViewTrigger');export const CalendarMonthViewTrigger=/* @__PURE__ */createPickerViewTrigger('month','SectileCalendarMonthViewTrigger');export const CalendarYearViewTrigger=/* @__PURE__ */createPickerViewTrigger('year','SectileCalendarYearViewTrigger');
2
+ //# sourceMappingURL=calendar.js.map