@sectile/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/dist/accordion.d.ts +43 -0
  4. package/dist/accordion.d.ts.map +1 -0
  5. package/dist/accordion.js +83 -0
  6. package/dist/accordion.js.map +1 -0
  7. package/dist/alert-dialog.d.ts +18 -0
  8. package/dist/alert-dialog.d.ts.map +1 -0
  9. package/dist/alert-dialog.js +9 -0
  10. package/dist/alert-dialog.js.map +1 -0
  11. package/dist/calendar.d.ts +2 -0
  12. package/dist/calendar.d.ts.map +1 -0
  13. package/dist/calendar.js +2 -0
  14. package/dist/calendar.js.map +1 -0
  15. package/dist/carousel.d.ts +40 -0
  16. package/dist/carousel.d.ts.map +1 -0
  17. package/dist/carousel.js +51 -0
  18. package/dist/carousel.js.map +1 -0
  19. package/dist/checkbox-group.d.ts +12 -0
  20. package/dist/checkbox-group.d.ts.map +1 -0
  21. package/dist/checkbox-group.js +12 -0
  22. package/dist/checkbox-group.js.map +1 -0
  23. package/dist/checkbox.d.ts +2 -0
  24. package/dist/checkbox.d.ts.map +1 -0
  25. package/dist/checkbox.js +2 -0
  26. package/dist/checkbox.js.map +1 -0
  27. package/dist/combobox.d.ts +16 -0
  28. package/dist/combobox.d.ts.map +1 -0
  29. package/dist/combobox.js +42 -0
  30. package/dist/combobox.js.map +1 -0
  31. package/dist/date-field.d.ts +58 -0
  32. package/dist/date-field.d.ts.map +1 -0
  33. package/dist/date-field.js +233 -0
  34. package/dist/date-field.js.map +1 -0
  35. package/dist/date-picker.d.ts +53 -0
  36. package/dist/date-picker.d.ts.map +1 -0
  37. package/dist/date-picker.js +157 -0
  38. package/dist/date-picker.js.map +1 -0
  39. package/dist/date-range-picker.d.ts +28 -0
  40. package/dist/date-range-picker.d.ts.map +1 -0
  41. package/dist/date-range-picker.js +85 -0
  42. package/dist/date-range-picker.js.map +1 -0
  43. package/dist/date-time-field.d.ts +53 -0
  44. package/dist/date-time-field.d.ts.map +1 -0
  45. package/dist/date-time-field.js +253 -0
  46. package/dist/date-time-field.js.map +1 -0
  47. package/dist/date-time-picker.d.ts +54 -0
  48. package/dist/date-time-picker.d.ts.map +1 -0
  49. package/dist/date-time-picker.js +151 -0
  50. package/dist/date-time-picker.js.map +1 -0
  51. package/dist/date-time-range-picker.d.ts +67 -0
  52. package/dist/date-time-range-picker.d.ts.map +1 -0
  53. package/dist/date-time-range-picker.js +226 -0
  54. package/dist/date-time-range-picker.js.map +1 -0
  55. package/dist/dialog.d.ts +16 -0
  56. package/dist/dialog.d.ts.map +1 -0
  57. package/dist/dialog.js +5 -0
  58. package/dist/dialog.js.map +1 -0
  59. package/dist/disclosure.d.ts +2 -0
  60. package/dist/disclosure.d.ts.map +1 -0
  61. package/dist/disclosure.js +2 -0
  62. package/dist/disclosure.js.map +1 -0
  63. package/dist/feed.d.ts +29 -0
  64. package/dist/feed.d.ts.map +1 -0
  65. package/dist/feed.js +26 -0
  66. package/dist/feed.js.map +1 -0
  67. package/dist/index.d.ts +17 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +2 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/interaction.d.ts +14 -0
  72. package/dist/interaction.d.ts.map +1 -0
  73. package/dist/interaction.js +38 -0
  74. package/dist/interaction.js.map +1 -0
  75. package/dist/internal/composites/calendar.d.ts +35 -0
  76. package/dist/internal/composites/calendar.d.ts.map +1 -0
  77. package/dist/internal/composites/calendar.js +139 -0
  78. package/dist/internal/composites/calendar.js.map +1 -0
  79. package/dist/internal/composites/combobox.d.ts +41 -0
  80. package/dist/internal/composites/combobox.d.ts.map +1 -0
  81. package/dist/internal/composites/combobox.js +184 -0
  82. package/dist/internal/composites/combobox.js.map +1 -0
  83. package/dist/internal/composites/grid-control.d.ts +36 -0
  84. package/dist/internal/composites/grid-control.d.ts.map +1 -0
  85. package/dist/internal/composites/grid-control.js +86 -0
  86. package/dist/internal/composites/grid-control.js.map +1 -0
  87. package/dist/internal/composites/linear-action.d.ts +35 -0
  88. package/dist/internal/composites/linear-action.d.ts.map +1 -0
  89. package/dist/internal/composites/linear-action.js +92 -0
  90. package/dist/internal/composites/linear-action.js.map +1 -0
  91. package/dist/internal/composites/linear-choice.d.ts +41 -0
  92. package/dist/internal/composites/linear-choice.d.ts.map +1 -0
  93. package/dist/internal/composites/linear-choice.js +139 -0
  94. package/dist/internal/composites/linear-choice.js.map +1 -0
  95. package/dist/internal/composites/listbox.d.ts +50 -0
  96. package/dist/internal/composites/listbox.d.ts.map +1 -0
  97. package/dist/internal/composites/listbox.js +243 -0
  98. package/dist/internal/composites/listbox.js.map +1 -0
  99. package/dist/internal/composites/menu.d.ts +28 -0
  100. package/dist/internal/composites/menu.d.ts.map +1 -0
  101. package/dist/internal/composites/menu.js +72 -0
  102. package/dist/internal/composites/menu.js.map +1 -0
  103. package/dist/internal/composites/popup.d.ts +20 -0
  104. package/dist/internal/composites/popup.d.ts.map +1 -0
  105. package/dist/internal/composites/popup.js +8 -0
  106. package/dist/internal/composites/popup.js.map +1 -0
  107. package/dist/internal/composites/slider.d.ts +20 -0
  108. package/dist/internal/composites/slider.d.ts.map +1 -0
  109. package/dist/internal/composites/slider.js +69 -0
  110. package/dist/internal/composites/slider.js.map +1 -0
  111. package/dist/internal/composites/tree-grid.d.ts +65 -0
  112. package/dist/internal/composites/tree-grid.d.ts.map +1 -0
  113. package/dist/internal/composites/tree-grid.js +274 -0
  114. package/dist/internal/composites/tree-grid.js.map +1 -0
  115. package/dist/internal/composites/tree-view.d.ts +39 -0
  116. package/dist/internal/composites/tree-view.d.ts.map +1 -0
  117. package/dist/internal/composites/tree-view.js +175 -0
  118. package/dist/internal/composites/tree-view.js.map +1 -0
  119. package/dist/internal/editing/text.d.ts +64 -0
  120. package/dist/internal/editing/text.d.ts.map +1 -0
  121. package/dist/internal/editing/text.js +238 -0
  122. package/dist/internal/editing/text.js.map +1 -0
  123. package/dist/internal/kernel/decimal.d.ts +22 -0
  124. package/dist/internal/kernel/decimal.d.ts.map +1 -0
  125. package/dist/internal/kernel/decimal.js +137 -0
  126. package/dist/internal/kernel/decimal.js.map +1 -0
  127. package/dist/internal/kernel/foundation.d.ts +12 -0
  128. package/dist/internal/kernel/foundation.d.ts.map +1 -0
  129. package/dist/internal/kernel/foundation.js +132 -0
  130. package/dist/internal/kernel/foundation.js.map +1 -0
  131. package/dist/internal/kernel/indexed-sequence.d.ts +26 -0
  132. package/dist/internal/kernel/indexed-sequence.d.ts.map +1 -0
  133. package/dist/internal/kernel/indexed-sequence.js +117 -0
  134. package/dist/internal/kernel/indexed-sequence.js.map +1 -0
  135. package/dist/internal/kernel/machine.d.ts +8 -0
  136. package/dist/internal/kernel/machine.d.ts.map +1 -0
  137. package/dist/internal/kernel/machine.js +6 -0
  138. package/dist/internal/kernel/machine.js.map +1 -0
  139. package/dist/internal/runtime/revision.d.ts +22 -0
  140. package/dist/internal/runtime/revision.d.ts.map +1 -0
  141. package/dist/internal/runtime/revision.js +72 -0
  142. package/dist/internal/runtime/revision.js.map +1 -0
  143. package/dist/internal/state/checked.d.ts +21 -0
  144. package/dist/internal/state/checked.d.ts.map +1 -0
  145. package/dist/internal/state/checked.js +29 -0
  146. package/dist/internal/state/checked.js.map +1 -0
  147. package/dist/internal/state/cursor.d.ts +13 -0
  148. package/dist/internal/state/cursor.d.ts.map +1 -0
  149. package/dist/internal/state/cursor.js +24 -0
  150. package/dist/internal/state/cursor.js.map +1 -0
  151. package/dist/internal/state/expansion.d.ts +8 -0
  152. package/dist/internal/state/expansion.d.ts.map +1 -0
  153. package/dist/internal/state/expansion.js +23 -0
  154. package/dist/internal/state/expansion.js.map +1 -0
  155. package/dist/internal/state/open-state.d.ts +16 -0
  156. package/dist/internal/state/open-state.d.ts.map +1 -0
  157. package/dist/internal/state/open-state.js +25 -0
  158. package/dist/internal/state/open-state.js.map +1 -0
  159. package/dist/internal/state/selection.d.ts +23 -0
  160. package/dist/internal/state/selection.d.ts.map +1 -0
  161. package/dist/internal/state/selection.js +110 -0
  162. package/dist/internal/state/selection.js.map +1 -0
  163. package/dist/listbox.d.ts +2 -0
  164. package/dist/listbox.d.ts.map +1 -0
  165. package/dist/listbox.js +2 -0
  166. package/dist/listbox.js.map +1 -0
  167. package/dist/menu-button.d.ts +3 -0
  168. package/dist/menu-button.d.ts.map +1 -0
  169. package/dist/menu-button.js +3 -0
  170. package/dist/menu-button.js.map +1 -0
  171. package/dist/menu.d.ts +8 -0
  172. package/dist/menu.d.ts.map +1 -0
  173. package/dist/menu.js +4 -0
  174. package/dist/menu.js.map +1 -0
  175. package/dist/menubar.d.ts +3 -0
  176. package/dist/menubar.d.ts.map +1 -0
  177. package/dist/menubar.js +3 -0
  178. package/dist/menubar.js.map +1 -0
  179. package/dist/multi-thumb-slider.d.ts +35 -0
  180. package/dist/multi-thumb-slider.d.ts.map +1 -0
  181. package/dist/multi-thumb-slider.js +68 -0
  182. package/dist/multi-thumb-slider.js.map +1 -0
  183. package/dist/number-field.d.ts +49 -0
  184. package/dist/number-field.d.ts.map +1 -0
  185. package/dist/number-field.js +454 -0
  186. package/dist/number-field.js.map +1 -0
  187. package/dist/pagination.d.ts +63 -0
  188. package/dist/pagination.d.ts.map +1 -0
  189. package/dist/pagination.js +190 -0
  190. package/dist/pagination.js.map +1 -0
  191. package/dist/pin-input.d.ts +29 -0
  192. package/dist/pin-input.d.ts.map +1 -0
  193. package/dist/pin-input.js +49 -0
  194. package/dist/pin-input.js.map +1 -0
  195. package/dist/quantity-field.d.ts +58 -0
  196. package/dist/quantity-field.d.ts.map +1 -0
  197. package/dist/quantity-field.js +250 -0
  198. package/dist/quantity-field.js.map +1 -0
  199. package/dist/radio-group.d.ts +22 -0
  200. package/dist/radio-group.d.ts.map +1 -0
  201. package/dist/radio-group.js +16 -0
  202. package/dist/radio-group.js.map +1 -0
  203. package/dist/rating.d.ts +17 -0
  204. package/dist/rating.d.ts.map +1 -0
  205. package/dist/rating.js +15 -0
  206. package/dist/rating.js.map +1 -0
  207. package/dist/result.d.ts +10 -0
  208. package/dist/result.d.ts.map +1 -0
  209. package/dist/result.js +19 -0
  210. package/dist/result.js.map +1 -0
  211. package/dist/revision.d.ts +2 -0
  212. package/dist/revision.d.ts.map +1 -0
  213. package/dist/revision.js +2 -0
  214. package/dist/revision.js.map +1 -0
  215. package/dist/select.d.ts +30 -0
  216. package/dist/select.d.ts.map +1 -0
  217. package/dist/select.js +28 -0
  218. package/dist/select.js.map +1 -0
  219. package/dist/shared.d.ts +42 -0
  220. package/dist/shared.d.ts.map +1 -0
  221. package/dist/shared.js +3 -0
  222. package/dist/shared.js.map +1 -0
  223. package/dist/slider.d.ts +2 -0
  224. package/dist/slider.d.ts.map +1 -0
  225. package/dist/slider.js +2 -0
  226. package/dist/slider.js.map +1 -0
  227. package/dist/spin-button.d.ts +29 -0
  228. package/dist/spin-button.d.ts.map +1 -0
  229. package/dist/spin-button.js +61 -0
  230. package/dist/spin-button.js.map +1 -0
  231. package/dist/stepper.d.ts +17 -0
  232. package/dist/stepper.d.ts.map +1 -0
  233. package/dist/stepper.js +12 -0
  234. package/dist/stepper.js.map +1 -0
  235. package/dist/structures/grid.d.ts +27 -0
  236. package/dist/structures/grid.d.ts.map +1 -0
  237. package/dist/structures/grid.js +197 -0
  238. package/dist/structures/grid.js.map +1 -0
  239. package/dist/structures/range.d.ts +39 -0
  240. package/dist/structures/range.d.ts.map +1 -0
  241. package/dist/structures/range.js +242 -0
  242. package/dist/structures/range.js.map +1 -0
  243. package/dist/structures/sequence.d.ts +17 -0
  244. package/dist/structures/sequence.d.ts.map +1 -0
  245. package/dist/structures/sequence.js +24 -0
  246. package/dist/structures/sequence.js.map +1 -0
  247. package/dist/structures/tree.d.ts +32 -0
  248. package/dist/structures/tree.d.ts.map +1 -0
  249. package/dist/structures/tree.js +234 -0
  250. package/dist/structures/tree.js.map +1 -0
  251. package/dist/switch.d.ts +20 -0
  252. package/dist/switch.d.ts.map +1 -0
  253. package/dist/switch.js +4 -0
  254. package/dist/switch.js.map +1 -0
  255. package/dist/tabs.d.ts +15 -0
  256. package/dist/tabs.d.ts.map +1 -0
  257. package/dist/tabs.js +23 -0
  258. package/dist/tabs.js.map +1 -0
  259. package/dist/tags-input.d.ts +41 -0
  260. package/dist/tags-input.d.ts.map +1 -0
  261. package/dist/tags-input.js +44 -0
  262. package/dist/tags-input.js.map +1 -0
  263. package/dist/text.d.ts +2 -0
  264. package/dist/text.d.ts.map +1 -0
  265. package/dist/text.js +2 -0
  266. package/dist/text.js.map +1 -0
  267. package/dist/time-field.d.ts +46 -0
  268. package/dist/time-field.d.ts.map +1 -0
  269. package/dist/time-field.js +148 -0
  270. package/dist/time-field.js.map +1 -0
  271. package/dist/toggle-button.d.ts +19 -0
  272. package/dist/toggle-button.d.ts.map +1 -0
  273. package/dist/toggle-button.js +16 -0
  274. package/dist/toggle-button.js.map +1 -0
  275. package/dist/toolbar.d.ts +2 -0
  276. package/dist/toolbar.d.ts.map +1 -0
  277. package/dist/toolbar.js +2 -0
  278. package/dist/toolbar.js.map +1 -0
  279. package/dist/tooltip.d.ts +2 -0
  280. package/dist/tooltip.d.ts.map +1 -0
  281. package/dist/tooltip.js +2 -0
  282. package/dist/tooltip.js.map +1 -0
  283. package/dist/tree-grid.d.ts +10 -0
  284. package/dist/tree-grid.d.ts.map +1 -0
  285. package/dist/tree-grid.js +14 -0
  286. package/dist/tree-grid.js.map +1 -0
  287. package/dist/tree-view.d.ts +2 -0
  288. package/dist/tree-view.d.ts.map +1 -0
  289. package/dist/tree-view.js +2 -0
  290. package/dist/tree-view.js.map +1 -0
  291. package/dist/units.d.ts +72 -0
  292. package/dist/units.d.ts.map +1 -0
  293. package/dist/units.js +496 -0
  294. package/dist/units.js.map +1 -0
  295. package/dist/window-splitter.d.ts +2 -0
  296. package/dist/window-splitter.d.ts.map +1 -0
  297. package/dist/window-splitter.js +2 -0
  298. package/dist/window-splitter.js.map +1 -0
  299. package/package.json +304 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quantity-field.js","sourceRoot":"","sources":["../src/quantity-field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Result, StableID } from './shared.js';
2
+ import type { Sequence } from './structures/sequence.js';
3
+ import { type LinearChoiceCommand, type LinearChoicePolicies, type LinearChoiceState, type LinearChoiceStateInput, type LinearChoiceUpdate } from './internal/composites/linear-choice.js';
4
+ export type RadioGroupEvent<ID extends StableID = StableID> = 'next' | 'previous' | 'first' | 'last' | 'check' | {
5
+ readonly type: 'focus';
6
+ readonly id: ID;
7
+ } | {
8
+ readonly type: 'check';
9
+ readonly id: ID;
10
+ };
11
+ export type RadioGroupCommand<ID extends StableID = StableID> = Extract<LinearChoiceCommand<ID>, {
12
+ readonly type: 'focus';
13
+ }>;
14
+ export type RadioGroupState<ID extends StableID = StableID> = LinearChoiceState<ID>;
15
+ export type RadioGroupStateInput<ID extends StableID = StableID> = LinearChoiceStateInput<ID>;
16
+ export type RadioGroupUpdate<ID extends StableID = StableID> = Omit<LinearChoiceUpdate<ID>, 'commands'> & {
17
+ readonly commands: readonly RadioGroupCommand<ID>[];
18
+ };
19
+ export type RadioGroupPolicies<ID extends StableID = StableID> = Omit<LinearChoicePolicies<ID>, 'selectionFollowsFocus'>;
20
+ export declare function createRadioGroupState<ID extends StableID>(domain: Sequence<ID>, input?: RadioGroupStateInput<ID>): Result<RadioGroupState<ID>>;
21
+ export declare function applyRadioGroupEvent<ID extends StableID>(domain: Sequence<ID>, state: RadioGroupState<ID>, event: RadioGroupEvent<ID>, policies?: RadioGroupPolicies<ID>): Result<RadioGroupUpdate<ID>>;
22
+ //# sourceMappingURL=radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../src/radio-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IACtD,MAAM,GACN,UAAU,GACV,OAAO,GACP,MAAM,GACN,OAAO,GACP;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,GAC3C;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,iBAAiB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAC1D,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACpF,MAAM,MAAM,oBAAoB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC;AAC9F,MAAM,MAAM,gBAAgB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IACzD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,GACtC;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAC3D,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAE1D,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,QAAQ,EACvD,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpB,KAAK,GAAE,oBAAoB,CAAC,EAAE,CAAM,GACnC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAE7B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,QAAQ,EACtD,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpB,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC,EAC1B,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC,EAC1B,QAAQ,GAAE,kBAAkB,CAAC,EAAE,CAAM,GACpC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAU9B"}
@@ -0,0 +1,16 @@
1
+ import { applyLinearChoiceEvent, createLinearChoiceState, } from './internal/composites/linear-choice.js';
2
+ export function createRadioGroupState(domain, input = {}) {
3
+ return createLinearChoiceState(domain, input);
4
+ }
5
+ export function applyRadioGroupEvent(domain, state, event, policies = {}) {
6
+ const mapped = typeof event === 'object'
7
+ ? event.type === 'check' ? { type: 'select', id: event.id } : event
8
+ : event === 'check' ? 'select' : event;
9
+ const result = applyLinearChoiceEvent(domain, state, mapped, {
10
+ boundary: 'wrap',
11
+ ...policies,
12
+ selectionFollowsFocus: true,
13
+ });
14
+ return result;
15
+ }
16
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../src/radio-group.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAMxB,MAAM,wCAAwC,CAAC;AAqBhD,MAAM,UAAU,qBAAqB,CACnC,MAAoB,EACpB,KAAK,GAA6B,EAAE;IAEpC,OAAO,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAoB,EACpB,KAA0B,EAC1B,KAA0B,EAC1B,QAAQ,GAA2B,EAAE;IAErC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;QACtC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;QAC5E,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3D,QAAQ,EAAE,MAAM;QAChB,GAAG,QAAQ;QACX,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAC;IACH,OAAO,MAAsC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Result, StableID } from './shared.js';
2
+ import type { Sequence } from './structures/sequence.js';
3
+ import { type RadioGroupCommand, type RadioGroupPolicies, type RadioGroupState, type RadioGroupUpdate } from './radio-group.js';
4
+ export type RatingEvent<ID extends StableID = StableID> = 'increase' | 'decrease' | 'minimum' | 'maximum' | 'set' | 'clear' | {
5
+ readonly type: 'focus';
6
+ readonly id: ID;
7
+ } | {
8
+ readonly type: 'set';
9
+ readonly id: ID;
10
+ };
11
+ export type RatingCommand<ID extends StableID = StableID> = RadioGroupCommand<ID>;
12
+ export type RatingState<ID extends StableID = StableID> = RadioGroupState<ID>;
13
+ export type RatingPolicies<ID extends StableID = StableID> = RadioGroupPolicies<ID>;
14
+ export type RatingUpdate<ID extends StableID = StableID> = RadioGroupUpdate<ID>;
15
+ export declare function createRatingState<ID extends StableID>(domain: Sequence<ID>, value?: ID | null): Result<RatingState<ID>>;
16
+ export declare function applyRatingEvent<ID extends StableID>(domain: Sequence<ID>, state: RatingState<ID>, event: RatingEvent<ID>, policies?: RatingPolicies<ID>): Result<RatingUpdate<ID>>;
17
+ //# sourceMappingURL=rating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.d.ts","sourceRoot":"","sources":["../src/rating.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAA+C,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7K,MAAM,MAAM,WAAW,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AACtN,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAClF,MAAM,MAAM,WAAW,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;AAC9E,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACpF,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAEhF,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,GAAE,EAAE,GAAG,IAAW,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAE7H;AACD,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAE,cAAc,CAAC,EAAE,CAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAMvL"}
package/dist/rating.js ADDED
@@ -0,0 +1,15 @@
1
+ import { createMachineUpdate } from './internal/kernel/machine.js';
2
+ import { clearSelection } from './internal/state/selection.js';
3
+ import { applyRadioGroupEvent, createRadioGroupState } from './radio-group.js';
4
+ export function createRatingState(domain, value = null) {
5
+ return createRadioGroupState(domain, { current: value, selected: value === null ? [] : [value] });
6
+ }
7
+ export function applyRatingEvent(domain, state, event, policies = {}) {
8
+ if (event === 'clear')
9
+ return createMachineUpdate(Object.freeze({ cursor: state.cursor, selection: clearSelection(state.selection) }));
10
+ const mapped = typeof event === 'object' ? (event.type === 'set' ? { type: 'check', id: event.id } : event)
11
+ : event === 'increase' ? 'next' : event === 'decrease' ? 'previous'
12
+ : event === 'minimum' ? 'first' : event === 'maximum' ? 'last' : 'check';
13
+ return applyRadioGroupEvent(domain, state, mapped, policies);
14
+ }
15
+ //# sourceMappingURL=rating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.js","sourceRoot":"","sources":["../src/rating.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAgG,MAAM,kBAAkB,CAAC;AAQ7K,MAAM,UAAU,iBAAiB,CAAsB,MAAoB,EAAE,KAAK,GAAc,IAAI;IAClG,OAAO,qBAAqB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACpG,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAsB,MAAoB,EAAE,KAAsB,EAAE,KAAsB,EAAE,QAAQ,GAAuB,EAAE;IAC3J,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACvI,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAClH,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAmB;YACnF,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,OAAgB,CAAC;IACxG,OAAO,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ErrorClass, Result, SectileError } from './shared.js';
2
+ export declare class SectileResultError extends Error implements SectileError {
3
+ readonly class: ErrorClass;
4
+ readonly code: string;
5
+ readonly details?: Readonly<Record<string, unknown>>;
6
+ constructor(error: SectileError);
7
+ }
8
+ export declare function unwrap<T>(result: Result<T>): T;
9
+ export type { ErrorClass, Result, SectileError } from './shared.js';
10
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpE,qBAAa,kBAAmB,SAAQ,KAAM,YAAW,YAAY;IACnE,SAAgB,KAAK,EAAE,UAAU,CAAC;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5D,YAAmB,KAAK,EAAE,YAAY,EAMrC;CACF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAG9C;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/dist/result.js ADDED
@@ -0,0 +1,19 @@
1
+ export class SectileResultError extends Error {
2
+ class;
3
+ code;
4
+ details;
5
+ constructor(error) {
6
+ super(error.message, { cause: error });
7
+ this.name = 'SectileResultError';
8
+ this.class = error.class;
9
+ this.code = error.code;
10
+ if (error.details !== undefined)
11
+ this.details = error.details;
12
+ }
13
+ }
14
+ export function unwrap(result) {
15
+ if (result.ok)
16
+ return result.value;
17
+ throw new SectileResultError(result.error);
18
+ }
19
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3B,KAAK,CAAa;IAClB,IAAI,CAAS;IACb,OAAO,CAAqC;IAE5D,YAAmB,KAAmB;QACpC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAChE,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAI,MAAiB;IACzC,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACnC,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { applyRevisionedEvent, createRevisionSnapshot, mapRevisionCommands, rejectRevisionInput, type EventReducer, type MachineUpdate, type RevisionSnapshot, type RevisionResult, } from './internal/runtime/revision.js';
2
+ //# sourceMappingURL=revision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.d.ts","sourceRoot":"","sources":["../src/revision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { applyRevisionedEvent, createRevisionSnapshot, mapRevisionCommands, rejectRevisionInput, } from './internal/runtime/revision.js';
2
+ //# sourceMappingURL=revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.js","sourceRoot":"","sources":["../src/revision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GAKpB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { Result, StableID } from './shared.js';
2
+ import type { Sequence } from './structures/sequence.js';
3
+ import { type LinearChoiceCommand, type LinearChoicePolicies, type LinearChoiceState } from './internal/composites/linear-choice.js';
4
+ export type SelectEvent<ID extends StableID = StableID> = 'open' | 'close' | 'toggle' | 'next' | 'previous' | 'first' | 'last' | 'select' | {
5
+ readonly type: 'focus';
6
+ readonly id: ID;
7
+ } | {
8
+ readonly type: 'select';
9
+ readonly id: ID;
10
+ };
11
+ export type SelectCommand<ID extends StableID = StableID> = LinearChoiceCommand<ID> | {
12
+ readonly type: 'close-popup';
13
+ };
14
+ export interface SelectState<ID extends StableID = StableID> {
15
+ readonly open: boolean;
16
+ readonly choice: LinearChoiceState<ID>;
17
+ }
18
+ export interface SelectStateInput<ID extends StableID = StableID> {
19
+ readonly open?: boolean;
20
+ readonly value?: ID | null;
21
+ readonly current?: ID | null;
22
+ }
23
+ export type SelectPolicies<ID extends StableID = StableID> = Omit<LinearChoicePolicies<ID>, 'selectionFollowsFocus'>;
24
+ export interface SelectUpdate<ID extends StableID = StableID> {
25
+ readonly state: SelectState<ID>;
26
+ readonly commands: readonly SelectCommand<ID>[];
27
+ }
28
+ export declare function createSelectState<ID extends StableID>(domain: Sequence<ID>, input?: SelectStateInput<ID>): Result<SelectState<ID>>;
29
+ export declare function applySelectEvent<ID extends StableID>(domain: Sequence<ID>, state: SelectState<ID>, event: SelectEvent<ID>, policies?: SelectPolicies<ID>): Result<SelectUpdate<ID>>;
30
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../src/select.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,WAAW,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAClD,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,GAC3C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AACjD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,mBAAmB,CAAC,EAAE,CAAC,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AACvH,MAAM,WAAW,WAAW,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ;IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;CAAE;AAC/H,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ;IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAA;CAAE;AACvJ,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACrH,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ;IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,CAAC,EAAE,CAAC,EAAE,CAAA;CAAE;AAElJ,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,GAAE,gBAAgB,CAAC,EAAE,CAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAItI;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAE,cAAc,CAAC,EAAE,CAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAcvL"}
package/dist/select.js ADDED
@@ -0,0 +1,28 @@
1
+ import { fail, ok } from './internal/kernel/foundation.js';
2
+ import { createMachineUpdate } from './internal/kernel/machine.js';
3
+ import { applyLinearChoiceEvent, createLinearChoiceState, } from './internal/composites/linear-choice.js';
4
+ export function createSelectState(domain, input = {}) {
5
+ if (input.open !== undefined && typeof input.open !== 'boolean')
6
+ return fail('construction', 'invalid-select-open', 'Select open state must be boolean.');
7
+ const choice = createLinearChoiceState(domain, { selected: input.value === undefined || input.value === null ? [] : [input.value], current: input.current ?? input.value ?? null });
8
+ return choice.ok ? ok(Object.freeze({ open: input.open ?? false, choice: choice.value })) : choice;
9
+ }
10
+ export function applySelectEvent(domain, state, event, policies = {}) {
11
+ const valid = createSelectState(domain, { open: state.open, value: state.choice.selection.selected[0] ?? null, current: state.choice.cursor.current });
12
+ if (!valid.ok)
13
+ return { ok: false, error: { ...valid.error, class: 'transition-rejection' } };
14
+ if (event === 'open' || event === 'close' || event === 'toggle') {
15
+ const open = event === 'toggle' ? !state.open : event === 'open';
16
+ return createMachineUpdate(open === state.open ? state : Object.freeze({ open, choice: state.choice }));
17
+ }
18
+ const mapped = event === 'select' ? 'select' : event;
19
+ const result = applyLinearChoiceEvent(domain, state.choice, mapped, { ...policies, selectionFollowsFocus: false });
20
+ if (!result.ok)
21
+ return result;
22
+ const selecting = event === 'select' || (typeof event === 'object' && event.type === 'select');
23
+ const commands = [...result.value.commands];
24
+ if (selecting)
25
+ commands.push({ type: 'close-popup' });
26
+ return createMachineUpdate(Object.freeze({ open: selecting ? false : true, choice: result.value.state }), commands);
27
+ }
28
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /** Shared public contracts for the canonical Sectile structures. */
2
+ export type StableID = string;
3
+ export type ErrorClass = 'construction' | 'transition-rejection' | 'resource-rejection' | 'internal-invariant';
4
+ export interface SectileError {
5
+ readonly class: ErrorClass;
6
+ readonly code: string;
7
+ readonly message: string;
8
+ readonly details?: Readonly<Record<string, unknown>>;
9
+ }
10
+ export type Result<T> = {
11
+ readonly ok: true;
12
+ readonly value: T;
13
+ } | {
14
+ readonly ok: false;
15
+ readonly error: SectileError;
16
+ };
17
+ export type BoundaryPolicy = 'stop' | 'wrap';
18
+ export type AxisBoundaryPolicy = 'stop' | 'wrap-axis';
19
+ export type Direction = -1 | 1;
20
+ export type GridDirection = 'left' | 'right' | 'up' | 'down';
21
+ export type TiePolicy = 'lower' | 'upper' | 'even-tick';
22
+ export interface ScanOptions<ID extends StableID> {
23
+ readonly eligible?: (id: ID) => boolean;
24
+ readonly maxScan?: number;
25
+ }
26
+ export type MoveResult<ID extends StableID> = {
27
+ readonly kind: 'found';
28
+ readonly id: ID;
29
+ readonly scanned: number;
30
+ } | {
31
+ readonly kind: 'none';
32
+ readonly scanned: number;
33
+ } | {
34
+ readonly kind: 'resource-rejected';
35
+ readonly scanned: number;
36
+ readonly error: SectileError;
37
+ };
38
+ export interface ResourceCeilings {
39
+ readonly maxIDCodeUnits?: number;
40
+ }
41
+ export declare const DEFAULT_MAX_ID_CODE_UNITS = 1024;
42
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,WAAW,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAExD,MAAM,WAAW,WAAW,CAAC,EAAE,SAAS,QAAQ;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,QAAQ,IACtC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IACE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEN,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,yBAAyB,OAAQ,CAAC"}
package/dist/shared.js ADDED
@@ -0,0 +1,3 @@
1
+ /** Shared public contracts for the canonical Sectile structures. */
2
+ export const DEFAULT_MAX_ID_CODE_UNITS = 1_024;
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,oEAAoE;AA6CpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { applySliderEvent, createSliderState, type SliderCommand, type SliderEvent, type SliderState, type SliderUpdate, } from './internal/composites/slider.js';
2
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../src/slider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,iCAAiC,CAAC"}
package/dist/slider.js ADDED
@@ -0,0 +1,2 @@
1
+ export { applySliderEvent, createSliderState, } from './internal/composites/slider.js';
2
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../src/slider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAKlB,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { Result } from './shared.js';
2
+ import type { QuantizedRange } from './structures/range.js';
3
+ import { type SliderEvent } from './internal/composites/slider.js';
4
+ export interface SpinButtonState {
5
+ readonly value: string;
6
+ readonly draft: string | null;
7
+ }
8
+ export type SpinButtonEvent = SliderEvent | {
9
+ readonly type: 'input';
10
+ readonly text: string;
11
+ } | 'commit' | 'cancel';
12
+ export type SpinButtonCommand = {
13
+ readonly type: 'draft-changed';
14
+ readonly text: string | null;
15
+ } | {
16
+ readonly type: 'announce-value';
17
+ readonly value: string;
18
+ };
19
+ export interface SpinButtonPolicies {
20
+ readonly page?: number;
21
+ readonly parse?: (text: string) => string | null;
22
+ }
23
+ export interface SpinButtonUpdate {
24
+ readonly state: SpinButtonState;
25
+ readonly commands: readonly SpinButtonCommand[];
26
+ }
27
+ export declare function createSpinButtonState(range: QuantizedRange, value?: string, draft?: string | null): Result<SpinButtonState>;
28
+ export declare function applySpinButtonEvent(range: QuantizedRange, state: SpinButtonState, event: SpinButtonEvent, policies?: SpinButtonPolicies): Result<SpinButtonUpdate>;
29
+ //# sourceMappingURL=spin-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spin-button.d.ts","sourceRoot":"","sources":["../src/spin-button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,eAAe,GACvB,WAAW,GACX;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,KAAK,GAAE,MAAoB,EAC3B,KAAK,GAAE,MAAM,GAAG,IAAW,GAC1B,MAAM,CAAC,eAAe,CAAC,CAYzB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,GAAE,kBAAuB,GAChC,MAAM,CAAC,gBAAgB,CAAC,CAiD1B"}
@@ -0,0 +1,61 @@
1
+ import { fail, ok } from './internal/kernel/foundation.js';
2
+ import { createMachineUpdate } from './internal/kernel/machine.js';
3
+ import { applySliderEvent, createSliderState, } from './internal/composites/slider.js';
4
+ export function createSpinButtonState(range, value = range.lower, draft = null) {
5
+ if (typeof value !== 'string') {
6
+ return fail('construction', 'invalid-spin-button-value', 'Spin button value must be decimal text.');
7
+ }
8
+ const tick = range.tickOf(value);
9
+ if (tick === null) {
10
+ return fail('construction', 'spin-button-value-outside-lattice', 'Spin button value must lie on the range lattice.', { value });
11
+ }
12
+ if (draft !== null && typeof draft !== 'string') {
13
+ return fail('construction', 'invalid-spin-button-draft', 'Spin button draft must be text or null.');
14
+ }
15
+ return ok(Object.freeze({ value: range.valueAt(tick), draft }));
16
+ }
17
+ export function applySpinButtonEvent(range, state, event, policies = {}) {
18
+ const valid = createSpinButtonState(range, state.value, state.draft);
19
+ if (!valid.ok)
20
+ return { ok: false, error: { ...valid.error, class: 'transition-rejection' } };
21
+ if (typeof event === 'object' && event.type === 'input') {
22
+ if (typeof event.text !== 'string') {
23
+ return fail('transition-rejection', 'invalid-spin-button-input', 'Spin button input must be text.');
24
+ }
25
+ if (event.text === state.draft)
26
+ return createMachineUpdate(state);
27
+ return createMachineUpdate(Object.freeze({ value: state.value, draft: event.text }), [{ type: 'draft-changed', text: event.text }]);
28
+ }
29
+ if (event === 'cancel') {
30
+ if (state.draft === null)
31
+ return createMachineUpdate(state);
32
+ return createMachineUpdate(Object.freeze({ value: state.value, draft: null }), [{ type: 'draft-changed', text: null }]);
33
+ }
34
+ if (event === 'commit') {
35
+ if (state.draft === null)
36
+ return createMachineUpdate(state);
37
+ const parsed = (policies.parse ?? ((text) => text))(state.draft);
38
+ const tick = parsed === null ? null : range.tickOf(parsed);
39
+ if (tick === null) {
40
+ return fail('transition-rejection', 'spin-button-draft-invalid', 'Spin button draft must parse to a value on the range lattice.', { draft: state.draft });
41
+ }
42
+ const value = range.valueAt(tick);
43
+ return createMachineUpdate(Object.freeze({ value, draft: null }), [
44
+ { type: 'draft-changed', text: null },
45
+ ...(value === state.value ? [] : [{ type: 'announce-value', value }]),
46
+ ]);
47
+ }
48
+ const currentTick = range.tickOf(state.value);
49
+ const sliderState = createSliderState(range, currentTick);
50
+ if (!sliderState.ok)
51
+ return sliderState;
52
+ const moved = applySliderEvent(range, sliderState.value, event, policies.page);
53
+ if (!moved.ok)
54
+ return moved;
55
+ const value = range.valueAt(moved.value.state.tick);
56
+ return createMachineUpdate(Object.freeze({ value, draft: null }), [
57
+ ...(state.draft === null ? [] : [{ type: 'draft-changed', text: null }]),
58
+ ...(value === state.value ? [] : [{ type: 'announce-value', value }]),
59
+ ]);
60
+ }
61
+ //# sourceMappingURL=spin-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spin-button.js","sourceRoot":"","sources":["../src/spin-button.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,iCAAiC,CAAC;AA2BzC,MAAM,UAAU,qBAAqB,CACnC,KAAqB,EACrB,KAAK,GAAW,KAAK,CAAC,KAAK,EAC3B,KAAK,GAAkB,IAAI;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,cAAc,EAAE,2BAA2B,EAAE,yCAAyC,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAAE,kDAAkD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,2BAA2B,EAAE,yCAAyC,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAqB,EACrB,KAAsB,EACtB,KAAsB,EACtB,QAAQ,GAAuB,EAAE;IAEjC,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC;IAC9F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,iCAAiC,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,mBAAmB,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EACxD,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,mBAAmB,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAClD,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CACxC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,+DAA+D,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5J,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAW,CAAC;QAC5C,OAAO,mBAAmB,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACrC;YACE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACrC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;SAC/E,CACF,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAW,CAAC;IACxD,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,WAAW,CAAC;IACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;IAC9D,OAAO,mBAAmB,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACrC;QACE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/E,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Result, StableID } from './shared.js';
2
+ import type { Sequence } from './structures/sequence.js';
3
+ import { type LinearChoiceCommand, type LinearChoicePolicies, type LinearChoiceState, type LinearChoiceUpdate } from './internal/composites/linear-choice.js';
4
+ export type StepperEvent<ID extends StableID = StableID> = 'next-step' | 'previous-step' | 'first-step' | 'last-step' | 'activate-step' | {
5
+ readonly type: 'focus-step';
6
+ readonly id: ID;
7
+ } | {
8
+ readonly type: 'activate-step';
9
+ readonly id: ID;
10
+ };
11
+ export type StepperCommand<ID extends StableID = StableID> = LinearChoiceCommand<ID>;
12
+ export type StepperState<ID extends StableID = StableID> = LinearChoiceState<ID>;
13
+ export type StepperPolicies<ID extends StableID = StableID> = Omit<LinearChoicePolicies<ID>, 'selectionFollowsFocus'>;
14
+ export type StepperUpdate<ID extends StableID = StableID> = LinearChoiceUpdate<ID>;
15
+ export declare function createStepperState<ID extends StableID>(domain: Sequence<ID>, value?: ID | null, current?: ID | null): Result<StepperState<ID>>;
16
+ export declare function applyStepperEvent<ID extends StableID>(domain: Sequence<ID>, state: StepperState<ID>, event: StepperEvent<ID>, policies?: StepperPolicies<ID>): Result<StepperUpdate<ID>>;
17
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../src/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAmD,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE/M,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,WAAW,GAAG,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AACjP,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACrF,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACjF,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACtH,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAEnF,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,GAAE,EAAE,GAAG,IAAW,EAAE,OAAO,GAAE,EAAE,GAAG,IAAY,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAE3J;AACD,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAE,eAAe,CAAC,EAAE,CAAM,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAM5L"}
@@ -0,0 +1,12 @@
1
+ import { applyLinearChoiceEvent, createLinearChoiceState } from './internal/composites/linear-choice.js';
2
+ export function createStepperState(domain, value = null, current = value) {
3
+ return createLinearChoiceState(domain, { current, selected: value === null ? [] : [value] });
4
+ }
5
+ export function applyStepperEvent(domain, state, event, policies = {}) {
6
+ const mapped = typeof event === 'object'
7
+ ? { type: event.type === 'focus-step' ? 'focus' : 'select', id: event.id }
8
+ : event === 'next-step' ? 'next' : event === 'previous-step' ? 'previous'
9
+ : event === 'first-step' ? 'first' : event === 'last-step' ? 'last' : 'select';
10
+ return applyLinearChoiceEvent(domain, state, mapped, { ...policies, selectionFollowsFocus: false });
11
+ }
12
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../src/stepper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAwG,MAAM,wCAAwC,CAAC;AAQ/M,MAAM,UAAU,kBAAkB,CAAsB,MAAoB,EAAE,KAAK,GAAc,IAAI,EAAE,OAAO,GAAc,KAAK;IAC/H,OAAO,uBAAuB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAsB,MAAoB,EAAE,KAAuB,EAAE,KAAuB,EAAE,QAAQ,GAAwB,EAAE;IAC/J,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;QACtC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,QAAiB,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5F,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,UAAmB;YACzF,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,QAAiB,CAAC;IAC9G,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;AACtG,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type AxisBoundaryPolicy, type GridDirection, type MoveResult, type ResourceCeilings, type Result, type ScanOptions, type StableID } from '../shared.js';
2
+ import type { Sequence } from './sequence.js';
3
+ export interface GridPosition {
4
+ readonly row: number;
5
+ readonly column: number;
6
+ }
7
+ export interface GridOptions extends ResourceCeilings {
8
+ readonly columnCount?: number;
9
+ readonly maxRows?: number;
10
+ readonly maxColumns?: number;
11
+ readonly maxItems?: number;
12
+ readonly maxCells?: number;
13
+ }
14
+ export interface Grid<ID extends StableID = StableID> {
15
+ readonly rowCount: number;
16
+ readonly columnCount: number;
17
+ readonly size: number;
18
+ cellAt(row: number, column: number): ID | null;
19
+ positionOf(id: ID): GridPosition | null;
20
+ row(row: number): Sequence<ID> | null;
21
+ column(column: number): Sequence<ID> | null;
22
+ move(current: ID, direction: GridDirection, boundary?: AxisBoundaryPolicy, options?: ScanOptions<ID>): MoveResult<ID>;
23
+ }
24
+ export declare function createGrid<ID extends StableID>(rows: readonly (readonly (ID | null)[])[], options?: GridOptions): Result<Grid<ID>>;
25
+ export type { AxisBoundaryPolicy, GridDirection, MoveResult, Result, ScanOptions, StableID, } from '../shared.js';
26
+ export { applyGridEvent, createGridState, type GridCommand, type GridEditMode, type GridEvent, type GridPolicies, type GridState, type GridStateInput, type GridUpdate, } from '../internal/composites/grid-control.js';
27
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/structures/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAWtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,IAAI,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC;IACxC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5C,IAAI,CACF,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,aAAa,EACxB,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,GACxB,UAAU,CAAC,EAAE,CAAC,CAAC;CACnB;AAwHD,wBAAgB,UAAU,CAAC,EAAE,SAAS,QAAQ,EAC5C,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,EACzC,OAAO,GAAE,WAAgB,GACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAgFlB;AAkBD,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,MAAM,EACN,WAAW,EACX,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,wCAAwC,CAAC"}