@proyecto-viviana/solid-stately 0.5.1 → 0.6.0-rc.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 (414) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/dist/autocomplete/createAutocompleteState.d.ts +2 -1
  4. package/dist/autocomplete/createAutocompleteState.d.ts.map +1 -0
  5. package/dist/autocomplete/index.d.ts +1 -0
  6. package/dist/autocomplete/index.d.ts.map +1 -0
  7. package/dist/calendar/IncompleteDate.d.ts +2 -1
  8. package/dist/calendar/IncompleteDate.d.ts.map +1 -0
  9. package/dist/calendar/createCalendarState.d.ts +7 -8
  10. package/dist/calendar/createCalendarState.d.ts.map +1 -0
  11. package/dist/calendar/createDateFieldState.d.ts +4 -20
  12. package/dist/calendar/createDateFieldState.d.ts.map +1 -0
  13. package/dist/calendar/createDatePickerState.d.ts +2 -7
  14. package/dist/calendar/createDatePickerState.d.ts.map +1 -0
  15. package/dist/calendar/createRangeCalendarState.d.ts +7 -7
  16. package/dist/calendar/createRangeCalendarState.d.ts.map +1 -0
  17. package/dist/calendar/createTimeFieldState.d.ts +4 -23
  18. package/dist/calendar/createTimeFieldState.d.ts.map +1 -0
  19. package/dist/calendar/index.d.ts +1 -0
  20. package/dist/calendar/index.d.ts.map +1 -0
  21. package/dist/calendar/intl/index.d.ts +1 -0
  22. package/dist/calendar/intl/index.d.ts.map +1 -0
  23. package/dist/checkbox/createCheckboxGroupState.d.ts +1 -0
  24. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -0
  25. package/dist/checkbox/index.d.ts +1 -0
  26. package/dist/checkbox/index.d.ts.map +1 -0
  27. package/dist/collections/ListCollection.d.ts +5 -0
  28. package/dist/collections/ListCollection.d.ts.map +1 -0
  29. package/dist/collections/createListState.d.ts +2 -6
  30. package/dist/collections/createListState.d.ts.map +1 -0
  31. package/dist/collections/createMenuState.d.ts +30 -13
  32. package/dist/collections/createMenuState.d.ts.map +1 -0
  33. package/dist/collections/createSelectionState.d.ts +2 -5
  34. package/dist/collections/createSelectionState.d.ts.map +1 -0
  35. package/dist/collections/getChildNodes.d.ts +6 -3
  36. package/dist/collections/getChildNodes.d.ts.map +1 -0
  37. package/dist/collections/index.d.ts +2 -1
  38. package/dist/collections/index.d.ts.map +1 -0
  39. package/dist/collections/types.d.ts +36 -2
  40. package/dist/collections/types.d.ts.map +1 -0
  41. package/dist/color/Color.d.ts +7 -1
  42. package/dist/color/Color.d.ts.map +1 -0
  43. package/dist/color/createColorAreaState.d.ts +2 -5
  44. package/dist/color/createColorAreaState.d.ts.map +1 -0
  45. package/dist/color/createColorFieldState.d.ts +2 -5
  46. package/dist/color/createColorFieldState.d.ts.map +1 -0
  47. package/dist/color/createColorSliderState.d.ts +2 -5
  48. package/dist/color/createColorSliderState.d.ts.map +1 -0
  49. package/dist/color/createColorWheelState.d.ts +2 -5
  50. package/dist/color/createColorWheelState.d.ts.map +1 -0
  51. package/dist/color/getColorChannels.d.ts +3 -0
  52. package/dist/color/getColorChannels.d.ts.map +1 -0
  53. package/dist/color/index.d.ts +2 -1
  54. package/dist/color/index.d.ts.map +1 -0
  55. package/dist/color/intl/index.d.ts +1 -0
  56. package/dist/color/intl/index.d.ts.map +1 -0
  57. package/dist/color/types.d.ts +2 -1
  58. package/dist/color/types.d.ts.map +1 -0
  59. package/dist/combobox/createComboBoxState.d.ts +4 -8
  60. package/dist/combobox/createComboBoxState.d.ts.map +1 -0
  61. package/dist/combobox/index.d.ts +1 -0
  62. package/dist/combobox/index.d.ts.map +1 -0
  63. package/dist/data/createAsyncList.d.ts +1 -7
  64. package/dist/data/createAsyncList.d.ts.map +1 -0
  65. package/dist/data/createListData.d.ts +1 -6
  66. package/dist/data/createListData.d.ts.map +1 -0
  67. package/dist/data/createTreeData.d.ts +1 -6
  68. package/dist/data/createTreeData.d.ts.map +1 -0
  69. package/dist/data/index.d.ts +1 -0
  70. package/dist/data/index.d.ts.map +1 -0
  71. package/dist/datepicker/index.d.ts +1 -0
  72. package/dist/datepicker/index.d.ts.map +1 -0
  73. package/dist/disclosure/createDisclosureState.d.ts +2 -5
  74. package/dist/disclosure/createDisclosureState.d.ts.map +1 -0
  75. package/dist/disclosure/index.d.ts +1 -0
  76. package/dist/disclosure/index.d.ts.map +1 -0
  77. package/dist/dnd/createDragState.d.ts +2 -6
  78. package/dist/dnd/createDragState.d.ts.map +1 -0
  79. package/dist/dnd/createDraggableCollectionState.d.ts +39 -10
  80. package/dist/dnd/createDraggableCollectionState.d.ts.map +1 -0
  81. package/dist/dnd/createDropState.d.ts +2 -6
  82. package/dist/dnd/createDropState.d.ts.map +1 -0
  83. package/dist/dnd/createDroppableCollectionState.d.ts +28 -11
  84. package/dist/dnd/createDroppableCollectionState.d.ts.map +1 -0
  85. package/dist/dnd/index.d.ts +3 -2
  86. package/dist/dnd/index.d.ts.map +1 -0
  87. package/dist/dnd/types.d.ts +17 -0
  88. package/dist/dnd/types.d.ts.map +1 -0
  89. package/dist/flags/flags.d.ts +5 -0
  90. package/dist/flags/flags.d.ts.map +1 -0
  91. package/dist/form/createFormValidationState.d.ts +2 -9
  92. package/{src → dist}/form/createFormValidationState.d.ts.map +1 -1
  93. package/dist/form/index.d.ts +1 -0
  94. package/dist/form/index.d.ts.map +1 -0
  95. package/dist/grid/createGridState.d.ts +3 -2
  96. package/dist/grid/createGridState.d.ts.map +1 -0
  97. package/dist/grid/index.d.ts +1 -0
  98. package/dist/grid/index.d.ts.map +1 -0
  99. package/dist/grid/types.d.ts +23 -1
  100. package/dist/grid/types.d.ts.map +1 -0
  101. package/dist/index.d.ts +4 -2
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +2030 -593
  104. package/dist/index.js.map +1 -1
  105. package/dist/menu/index.d.ts +2 -1
  106. package/dist/menu/index.d.ts.map +1 -0
  107. package/dist/numberfield/createNumberFieldState.d.ts +31 -6
  108. package/dist/numberfield/createNumberFieldState.d.ts.map +1 -0
  109. package/dist/numberfield/index.d.ts +1 -0
  110. package/dist/numberfield/index.d.ts.map +1 -0
  111. package/dist/overlays/createOverlayTriggerState.d.ts +12 -1
  112. package/dist/overlays/createOverlayTriggerState.d.ts.map +1 -0
  113. package/dist/overlays/index.d.ts +1 -0
  114. package/dist/overlays/index.d.ts.map +1 -0
  115. package/dist/private/flags/flags.js +26 -0
  116. package/dist/private/flags/flags.js.map +1 -0
  117. package/dist/radio/createRadioGroupState.d.ts +1 -0
  118. package/dist/radio/createRadioGroupState.d.ts.map +1 -0
  119. package/dist/radio/index.d.ts +1 -0
  120. package/dist/radio/index.d.ts.map +1 -0
  121. package/dist/searchfield/createSearchFieldState.d.ts +2 -5
  122. package/dist/searchfield/createSearchFieldState.d.ts.map +1 -0
  123. package/dist/searchfield/index.d.ts +1 -0
  124. package/dist/searchfield/index.d.ts.map +1 -0
  125. package/dist/select/createSelectState.d.ts +17 -6
  126. package/dist/select/createSelectState.d.ts.map +1 -0
  127. package/dist/select/index.d.ts +1 -0
  128. package/dist/select/index.d.ts.map +1 -0
  129. package/dist/selection/Selection.d.ts +2 -1
  130. package/dist/selection/Selection.d.ts.map +1 -0
  131. package/dist/selection/SelectionManager.d.ts +1 -19
  132. package/dist/selection/SelectionManager.d.ts.map +1 -0
  133. package/dist/selection/createMultipleSelectionState.d.ts +2 -13
  134. package/dist/selection/createMultipleSelectionState.d.ts.map +1 -0
  135. package/dist/selection/index.d.ts +1 -0
  136. package/dist/selection/index.d.ts.map +1 -0
  137. package/dist/slider/createSliderState.d.ts +2 -5
  138. package/dist/slider/createSliderState.d.ts.map +1 -0
  139. package/dist/slider/index.d.ts +1 -0
  140. package/dist/slider/index.d.ts.map +1 -0
  141. package/dist/ssr/index.d.ts +2 -7
  142. package/dist/ssr/index.d.ts.map +1 -0
  143. package/dist/steplist/createStepListState.d.ts +2 -5
  144. package/dist/steplist/createStepListState.d.ts.map +1 -0
  145. package/dist/steplist/index.d.ts +1 -0
  146. package/dist/steplist/index.d.ts.map +1 -0
  147. package/dist/table/TableCollection.d.ts +1 -0
  148. package/dist/table/TableCollection.d.ts.map +1 -0
  149. package/dist/table/createTableColumnResizeState.d.ts +2 -9
  150. package/dist/table/createTableColumnResizeState.d.ts.map +1 -0
  151. package/dist/table/createTableState.d.ts +2 -5
  152. package/dist/table/createTableState.d.ts.map +1 -0
  153. package/dist/table/createTreeGridState.d.ts +2 -8
  154. package/dist/table/createTreeGridState.d.ts.map +1 -0
  155. package/dist/table/index.d.ts +1 -0
  156. package/dist/table/index.d.ts.map +1 -0
  157. package/dist/table/types.d.ts +35 -1
  158. package/dist/table/types.d.ts.map +1 -0
  159. package/dist/tabs/createTabListState.d.ts +2 -5
  160. package/dist/tabs/createTabListState.d.ts.map +1 -0
  161. package/dist/tabs/index.d.ts +1 -0
  162. package/dist/tabs/index.d.ts.map +1 -0
  163. package/dist/textfield/createTextFieldState.d.ts +1 -0
  164. package/dist/textfield/createTextFieldState.d.ts.map +1 -0
  165. package/dist/textfield/index.d.ts +1 -0
  166. package/dist/textfield/index.d.ts.map +1 -0
  167. package/dist/toast/createToastState.d.ts +2 -5
  168. package/dist/toast/createToastState.d.ts.map +1 -0
  169. package/dist/toast/index.d.ts +1 -0
  170. package/dist/toast/index.d.ts.map +1 -0
  171. package/dist/toggle/createToggleGroupState.d.ts +1 -0
  172. package/dist/toggle/createToggleGroupState.d.ts.map +1 -0
  173. package/dist/toggle/createToggleState.d.ts +1 -0
  174. package/dist/toggle/createToggleState.d.ts.map +1 -0
  175. package/dist/toggle/index.d.ts +1 -0
  176. package/dist/toggle/index.d.ts.map +1 -0
  177. package/dist/tokenfield/TokenFieldValue.d.ts +72 -0
  178. package/dist/tokenfield/TokenFieldValue.d.ts.map +1 -0
  179. package/dist/tokenfield/createTokenFieldState.d.ts +33 -0
  180. package/dist/tokenfield/createTokenFieldState.d.ts.map +1 -0
  181. package/dist/tokenfield/index.d.ts +3 -0
  182. package/dist/tokenfield/index.d.ts.map +1 -0
  183. package/dist/tooltip/createTooltipTriggerState.d.ts +9 -8
  184. package/dist/tooltip/createTooltipTriggerState.d.ts.map +1 -0
  185. package/dist/tooltip/index.d.ts +1 -0
  186. package/dist/tooltip/index.d.ts.map +1 -0
  187. package/dist/tree/TreeCollection.d.ts +1 -0
  188. package/dist/tree/TreeCollection.d.ts.map +1 -0
  189. package/dist/tree/createTreeState.d.ts +2 -7
  190. package/{src → dist}/tree/createTreeState.d.ts.map +1 -1
  191. package/dist/tree/index.d.ts +1 -0
  192. package/dist/tree/index.d.ts.map +1 -0
  193. package/dist/tree/types.d.ts +19 -1
  194. package/dist/tree/types.d.ts.map +1 -0
  195. package/dist/utils/index.d.ts +3 -1
  196. package/dist/utils/index.d.ts.map +1 -0
  197. package/dist/utils/owner.d.ts +9 -0
  198. package/dist/utils/owner.d.ts.map +1 -0
  199. package/dist/utils/reactivity.d.ts +19 -0
  200. package/dist/utils/reactivity.d.ts.map +1 -0
  201. package/package.json +21 -9
  202. package/src/autocomplete/createAutocompleteState.ts +18 -4
  203. package/src/calendar/IncompleteDate.ts +15 -1
  204. package/src/calendar/createCalendarState.ts +194 -79
  205. package/src/calendar/createDateFieldState.ts +45 -31
  206. package/src/calendar/createDatePickerState.ts +32 -14
  207. package/src/calendar/createRangeCalendarState.ts +134 -73
  208. package/src/calendar/createTimeFieldState.ts +25 -6
  209. package/src/calendar/intl/index.ts +37 -2
  210. package/src/checkbox/createCheckboxGroupState.ts +29 -13
  211. package/src/collections/ListCollection.ts +31 -0
  212. package/src/collections/createListState.ts +23 -6
  213. package/src/collections/createMenuState.ts +59 -14
  214. package/src/collections/createSelectionState.ts +32 -12
  215. package/src/collections/getChildNodes.ts +20 -3
  216. package/src/collections/index.ts +2 -0
  217. package/src/collections/types.ts +35 -2
  218. package/src/color/Color.ts +61 -22
  219. package/src/color/createColorAreaState.ts +29 -4
  220. package/src/color/createColorFieldState.ts +37 -11
  221. package/src/color/createColorSliderState.ts +36 -7
  222. package/src/color/createColorWheelState.ts +20 -4
  223. package/src/color/getColorChannels.ts +16 -0
  224. package/src/color/index.ts +1 -0
  225. package/src/color/intl/index.ts +38 -3
  226. package/src/color/types.ts +1 -1
  227. package/src/combobox/createComboBoxState.ts +178 -195
  228. package/src/data/createAsyncList.ts +22 -2
  229. package/src/data/createListData.ts +19 -2
  230. package/src/data/createTreeData.ts +19 -3
  231. package/src/disclosure/createDisclosureState.ts +40 -19
  232. package/src/dnd/createDragState.ts +22 -4
  233. package/src/dnd/createDraggableCollectionState.ts +137 -10
  234. package/src/dnd/createDropState.ts +21 -3
  235. package/src/dnd/createDroppableCollectionState.ts +117 -11
  236. package/src/dnd/index.ts +4 -0
  237. package/src/dnd/types.ts +16 -0
  238. package/src/flags/flags.ts +25 -0
  239. package/src/form/createFormValidationState.ts +54 -36
  240. package/src/grid/createGridState.ts +187 -109
  241. package/src/grid/types.ts +22 -1
  242. package/src/index.ts +15 -0
  243. package/src/menu/index.ts +2 -0
  244. package/src/numberfield/createNumberFieldState.ts +153 -66
  245. package/src/overlays/createOverlayTriggerState.ts +31 -4
  246. package/src/radio/createRadioGroupState.ts +19 -5
  247. package/src/searchfield/createSearchFieldState.ts +18 -3
  248. package/src/select/createSelectState.ts +73 -8
  249. package/src/selection/Selection.ts +15 -1
  250. package/src/selection/SelectionManager.ts +14 -0
  251. package/src/selection/createMultipleSelectionState.ts +44 -25
  252. package/src/slider/createSliderState.ts +20 -5
  253. package/src/ssr/index.ts +27 -4
  254. package/src/steplist/createStepListState.ts +38 -17
  255. package/src/table/TableCollection.ts +14 -0
  256. package/src/table/createTableColumnResizeState.ts +20 -3
  257. package/src/table/createTableState.ts +22 -1
  258. package/src/table/createTreeGridState.ts +21 -4
  259. package/src/table/types.ts +36 -3
  260. package/src/tabs/createTabListState.ts +77 -34
  261. package/src/textfield/createTextFieldState.ts +17 -3
  262. package/src/toast/createToastState.ts +28 -3
  263. package/src/toggle/createToggleGroupState.ts +20 -5
  264. package/src/toggle/createToggleState.ts +19 -4
  265. package/src/tokenfield/TokenFieldValue.ts +440 -0
  266. package/src/tokenfield/createTokenFieldState.ts +88 -0
  267. package/src/tokenfield/index.ts +14 -0
  268. package/src/tooltip/createTooltipTriggerState.ts +49 -13
  269. package/src/tree/TreeCollection.ts +14 -0
  270. package/src/tree/createTreeState.ts +62 -35
  271. package/src/tree/types.ts +18 -1
  272. package/src/utils/index.ts +9 -1
  273. package/src/utils/owner.ts +20 -0
  274. package/src/utils/reactivity.ts +45 -1
  275. package/src/autocomplete/createAutocompleteState.d.ts +0 -48
  276. package/src/autocomplete/createAutocompleteState.d.ts.map +0 -1
  277. package/src/autocomplete/index.d.ts +0 -6
  278. package/src/autocomplete/index.d.ts.map +0 -1
  279. package/src/calendar/createCalendarState.d.ts +0 -152
  280. package/src/calendar/createCalendarState.d.ts.map +0 -1
  281. package/src/calendar/createDateFieldState.d.ts +0 -145
  282. package/src/calendar/createDateFieldState.d.ts.map +0 -1
  283. package/src/calendar/createRangeCalendarState.d.ts +0 -171
  284. package/src/calendar/createRangeCalendarState.d.ts.map +0 -1
  285. package/src/calendar/createTimeFieldState.d.ts +0 -97
  286. package/src/calendar/createTimeFieldState.d.ts.map +0 -1
  287. package/src/calendar/index.d.ts +0 -80
  288. package/src/calendar/index.d.ts.map +0 -1
  289. package/src/checkbox/createCheckboxGroupState.d.ts +0 -73
  290. package/src/checkbox/createCheckboxGroupState.d.ts.map +0 -1
  291. package/src/checkbox/index.d.ts +0 -6
  292. package/src/checkbox/index.d.ts.map +0 -1
  293. package/src/collections/ListCollection.d.ts +0 -40
  294. package/src/collections/ListCollection.d.ts.map +0 -1
  295. package/src/collections/createListState.d.ts +0 -94
  296. package/src/collections/createListState.d.ts.map +0 -1
  297. package/src/collections/createMenuState.d.ts +0 -55
  298. package/src/collections/createMenuState.d.ts.map +0 -1
  299. package/src/collections/createSelectionState.d.ts +0 -89
  300. package/src/collections/createSelectionState.d.ts.map +0 -1
  301. package/src/collections/index.d.ts +0 -38
  302. package/src/collections/index.d.ts.map +0 -1
  303. package/src/collections/types.d.ts +0 -147
  304. package/src/collections/types.d.ts.map +0 -1
  305. package/src/color/Color.d.ts +0 -43
  306. package/src/color/Color.d.ts.map +0 -1
  307. package/src/color/createColorAreaState.d.ts +0 -78
  308. package/src/color/createColorAreaState.d.ts.map +0 -1
  309. package/src/color/createColorFieldState.d.ts +0 -57
  310. package/src/color/createColorFieldState.d.ts.map +0 -1
  311. package/src/color/createColorSliderState.d.ts +0 -69
  312. package/src/color/createColorSliderState.d.ts.map +0 -1
  313. package/src/color/createColorWheelState.d.ts +0 -53
  314. package/src/color/createColorWheelState.d.ts.map +0 -1
  315. package/src/color/index.d.ts +0 -39
  316. package/src/color/index.d.ts.map +0 -1
  317. package/src/color/types.d.ts +0 -111
  318. package/src/color/types.d.ts.map +0 -1
  319. package/src/combobox/createComboBoxState.d.ts +0 -127
  320. package/src/combobox/createComboBoxState.d.ts.map +0 -1
  321. package/src/combobox/index.d.ts +0 -13
  322. package/src/combobox/index.d.ts.map +0 -1
  323. package/src/disclosure/createDisclosureState.d.ts +0 -68
  324. package/src/disclosure/createDisclosureState.d.ts.map +0 -1
  325. package/src/disclosure/index.d.ts +0 -10
  326. package/src/disclosure/index.d.ts.map +0 -1
  327. package/src/dnd/createDragState.d.ts +0 -68
  328. package/src/dnd/createDragState.d.ts.map +0 -1
  329. package/src/dnd/createDraggableCollectionState.d.ts +0 -68
  330. package/src/dnd/createDraggableCollectionState.d.ts.map +0 -1
  331. package/src/dnd/createDropState.d.ts +0 -80
  332. package/src/dnd/createDropState.d.ts.map +0 -1
  333. package/src/dnd/createDroppableCollectionState.d.ts +0 -107
  334. package/src/dnd/createDroppableCollectionState.d.ts.map +0 -1
  335. package/src/dnd/index.d.ts +0 -60
  336. package/src/dnd/index.d.ts.map +0 -1
  337. package/src/dnd/types.d.ts +0 -277
  338. package/src/dnd/types.d.ts.map +0 -1
  339. package/src/form/createFormValidationState.d.ts +0 -102
  340. package/src/form/index.d.ts +0 -16
  341. package/src/form/index.d.ts.map +0 -1
  342. package/src/grid/createGridState.d.ts +0 -15
  343. package/src/grid/createGridState.d.ts.map +0 -1
  344. package/src/grid/index.d.ts +0 -7
  345. package/src/grid/index.d.ts.map +0 -1
  346. package/src/grid/types.d.ts +0 -163
  347. package/src/grid/types.d.ts.map +0 -1
  348. package/src/index.d.ts +0 -311
  349. package/src/index.d.ts.map +0 -1
  350. package/src/numberfield/createNumberFieldState.d.ts +0 -67
  351. package/src/numberfield/createNumberFieldState.d.ts.map +0 -1
  352. package/src/numberfield/index.d.ts +0 -6
  353. package/src/numberfield/index.d.ts.map +0 -1
  354. package/src/overlays/createOverlayTriggerState.d.ts +0 -34
  355. package/src/overlays/createOverlayTriggerState.d.ts.map +0 -1
  356. package/src/overlays/index.d.ts +0 -6
  357. package/src/overlays/index.d.ts.map +0 -1
  358. package/src/radio/createRadioGroupState.d.ts +0 -79
  359. package/src/radio/createRadioGroupState.d.ts.map +0 -1
  360. package/src/radio/index.d.ts +0 -7
  361. package/src/radio/index.d.ts.map +0 -1
  362. package/src/searchfield/createSearchFieldState.d.ts +0 -27
  363. package/src/searchfield/createSearchFieldState.d.ts.map +0 -1
  364. package/src/searchfield/index.d.ts +0 -3
  365. package/src/searchfield/index.d.ts.map +0 -1
  366. package/src/select/createSelectState.d.ts +0 -75
  367. package/src/select/createSelectState.d.ts.map +0 -1
  368. package/src/select/index.d.ts +0 -2
  369. package/src/select/index.d.ts.map +0 -1
  370. package/src/slider/createSliderState.d.ts +0 -72
  371. package/src/slider/createSliderState.d.ts.map +0 -1
  372. package/src/slider/index.d.ts +0 -3
  373. package/src/slider/index.d.ts.map +0 -1
  374. package/src/ssr/index.d.ts +0 -28
  375. package/src/ssr/index.d.ts.map +0 -1
  376. package/src/table/TableCollection.d.ts +0 -54
  377. package/src/table/TableCollection.d.ts.map +0 -1
  378. package/src/table/createTableState.d.ts +0 -15
  379. package/src/table/createTableState.d.ts.map +0 -1
  380. package/src/table/index.d.ts +0 -18
  381. package/src/table/index.d.ts.map +0 -1
  382. package/src/table/types.d.ts +0 -145
  383. package/src/table/types.d.ts.map +0 -1
  384. package/src/tabs/createTabListState.d.ts +0 -70
  385. package/src/tabs/createTabListState.d.ts.map +0 -1
  386. package/src/tabs/index.d.ts +0 -8
  387. package/src/tabs/index.d.ts.map +0 -1
  388. package/src/textfield/createTextFieldState.d.ts +0 -32
  389. package/src/textfield/createTextFieldState.d.ts.map +0 -1
  390. package/src/textfield/index.d.ts +0 -6
  391. package/src/textfield/index.d.ts.map +0 -1
  392. package/src/toast/createToastState.d.ts +0 -129
  393. package/src/toast/createToastState.d.ts.map +0 -1
  394. package/src/toast/index.d.ts +0 -12
  395. package/src/toast/index.d.ts.map +0 -1
  396. package/src/toggle/createToggleState.d.ts +0 -34
  397. package/src/toggle/createToggleState.d.ts.map +0 -1
  398. package/src/toggle/index.d.ts +0 -2
  399. package/src/toggle/index.d.ts.map +0 -1
  400. package/src/tooltip/createTooltipTriggerState.d.ts +0 -39
  401. package/src/tooltip/createTooltipTriggerState.d.ts.map +0 -1
  402. package/src/tooltip/index.d.ts +0 -7
  403. package/src/tooltip/index.d.ts.map +0 -1
  404. package/src/tree/TreeCollection.d.ts +0 -43
  405. package/src/tree/TreeCollection.d.ts.map +0 -1
  406. package/src/tree/createTreeState.d.ts +0 -17
  407. package/src/tree/index.d.ts +0 -13
  408. package/src/tree/index.d.ts.map +0 -1
  409. package/src/tree/types.d.ts +0 -162
  410. package/src/tree/types.d.ts.map +0 -1
  411. package/src/utils/index.d.ts +0 -2
  412. package/src/utils/index.d.ts.map +0 -1
  413. package/src/utils/reactivity.d.ts +0 -28
  414. package/src/utils/reactivity.d.ts.map +0 -1
@@ -1,11 +1,31 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/calendar/useCalendarState.ts
14
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/calendar/useRangeCalendarState.ts
15
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/calendar/utils.ts
16
+
1
17
  /**
2
18
  * RangeCalendarState for Solid-Stately
3
19
  *
4
20
  * Provides state management for range calendar components.
5
- * Based on @react-stately/calendar useRangeCalendarState
21
+ * Ported from:
22
+ * - packages/react-stately/src/calendar/useRangeCalendarState.ts
23
+ * - packages/react-stately/src/calendar/useCalendarState.ts
24
+ * - packages/react-stately/src/calendar/utils.ts
6
25
  */
7
26
 
8
- import { createSignal, createMemo, createEffect, type Accessor } from "solid-js";
27
+ import { createMemo, createEffect } from "solid-js";
28
+ import type { Accessor } from "solid-js";
9
29
  import {
10
30
  type Calendar as InternationalizedCalendar,
11
31
  type CalendarDate,
@@ -28,7 +48,7 @@ import {
28
48
  toCalendar as intlToCalendar,
29
49
  toCalendarDate as intlToCalendarDate,
30
50
  } from "@internationalized/date";
31
- import { access, type MaybeAccessor } from "../utils";
51
+ import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
32
52
  import type { CalendarDayOfWeek, ValidationState } from "./createCalendarState";
33
53
  import { getFormatOptions } from "./createDateFieldState";
34
54
 
@@ -172,6 +192,11 @@ export interface RangeCalendarState<T extends DateValue = DateValue> {
172
192
  selectFocusedDate: () => void;
173
193
  /** Selects a specific date. */
174
194
  selectDate: (date: CalendarDate) => void;
195
+ /**
196
+ * After a keyboard range-start selection, move focus to the next available
197
+ * day so the in-progress range is visible. RAC `focusNearestAvailableDate`.
198
+ */
199
+ focusNearestAvailableDate: (anchorDate: CalendarDate) => void;
175
200
  /** Whether focus is currently within the calendar. */
176
201
  isFocused: Accessor<boolean>;
177
202
  /** Sets whether focus is within the calendar. */
@@ -216,7 +241,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
216
241
  const calendar = createMemo(() =>
217
242
  (props.createCalendar ?? intlCreateCalendar)(resolvedOptions().calendar as CalendarIdentifier),
218
243
  );
219
- const visibleMonths = Math.max(1, Number(access(props.visibleMonths) ?? 1));
244
+ const visibleMonths = createMemo(() => Math.max(1, Number(access(props.visibleMonths) ?? 1)));
220
245
  const firstDayOfWeekName = (): CalendarDayOfWeek | undefined =>
221
246
  props.firstDayOfWeek == null ? undefined : dayOfWeekNames[props.firstDayOfWeek];
222
247
 
@@ -226,7 +251,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
226
251
  // The anchor date is the first selected date during a range drag. Declared up
227
252
  // here (ahead of constrainDate) because the available-range derivation below
228
253
  // depends on it, and constrainDate consults that range.
229
- const [anchorDate, setAnchorDate] = createSignal<CalendarDate | null>(null);
254
+ const [anchorDate, setAnchorDate] = createInternalSignal<CalendarDate | null>(null);
230
255
 
231
256
  // Mirrors @react-stately/calendar useRangeCalendarState getAvailableRange: once
232
257
  // a range selection is anchored and unavailable dates exist, contiguous ranges
@@ -238,8 +263,8 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
238
263
  if (anchor && props.isDateUnavailable && !props.allowsNonContiguousRanges) {
239
264
  const predicate = (date: CalendarDate): boolean => props.isDateUnavailable!(date, anchor);
240
265
  return {
241
- start: nextUnavailableDate(anchor, predicate, visibleMonths, -1),
242
- end: nextUnavailableDate(anchor, predicate, visibleMonths, 1),
266
+ start: nextUnavailableDate(anchor, predicate, visibleMonths(), -1),
267
+ end: nextUnavailableDate(anchor, predicate, visibleMonths(), 1),
243
268
  };
244
269
  }
245
270
  return null;
@@ -281,7 +306,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
281
306
  const visibleRangeEndFromStart = (start: CalendarDate): CalendarDate => {
282
307
  let end = endOfMonth(start);
283
308
 
284
- for (let i = 1; i < visibleMonths; i++) {
309
+ for (let i = 1; i < visibleMonths(); i++) {
285
310
  end = endOfMonth(end.add({ months: 1 }));
286
311
  }
287
312
 
@@ -291,7 +316,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
291
316
  const rawAlignStart = (date: CalendarDate): CalendarDate => startOfMonth(date);
292
317
 
293
318
  const rawAlignEnd = (date: CalendarDate): CalendarDate =>
294
- startOfMonth(date).subtract({ months: Math.max(visibleMonths - 1, 0) });
319
+ startOfMonth(date).subtract({ months: Math.max(visibleMonths() - 1, 0) });
295
320
 
296
321
  const constrainVisibleRangeStart = (date: CalendarDate, aligned: CalendarDate): CalendarDate => {
297
322
  const minValue = access(props.minValue);
@@ -322,8 +347,8 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
322
347
  constrainVisibleRangeStart(date, rawAlignEnd(date));
323
348
 
324
349
  const alignCenter = (date: CalendarDate): CalendarDate => {
325
- let offset = Math.floor(visibleMonths / 2);
326
- if (offset > 0 && visibleMonths % 2 === 0) {
350
+ let offset = Math.floor(visibleMonths() / 2);
351
+ if (offset > 0 && visibleMonths() % 2 === 0) {
327
352
  offset--;
328
353
  }
329
354
 
@@ -373,16 +398,17 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
373
398
  };
374
399
 
375
400
  // State signals
376
- const [internalValue, setInternalValue] = createSignal<RangeValue<T> | null>(
401
+ const [internalValue, setInternalValue] = createInternalSignal<RangeValue<T> | null>(
377
402
  props.defaultValue ?? null,
378
403
  );
379
404
  const initialFocusedDate = constrainDate(getInitialFocusedDate());
380
- const [focusedDate, setFocusedDateInternal] = createSignal<CalendarDate>(initialFocusedDate);
381
- const [visibleRangeStart, setVisibleRangeStart] = createSignal<CalendarDate>(
405
+ const [focusedDate, setFocusedDateInternal] =
406
+ createInternalSignal<CalendarDate>(initialFocusedDate);
407
+ const [visibleRangeStart, setVisibleRangeStart] = createInternalSignal<CalendarDate>(
382
408
  alignVisibleRangeStart(initialFocusedDate),
383
409
  );
384
- const [isFocused, setFocused] = createSignal(false);
385
- const [isDragging, setDragging] = createSignal(false);
410
+ const [isFocused, setFocused] = createInternalSignal(false);
411
+ const [isDragging, setDragging] = createInternalSignal(false);
386
412
 
387
413
  // Controlled vs uncontrolled value
388
414
  const sourceValue = createMemo<RangeValue<T> | null>(() => {
@@ -448,7 +474,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
448
474
  return { start: focused, end: anchor };
449
475
  });
450
476
 
451
- // Visible range based on React Stately's selection alignment rules.
477
+ // The visible range follows React Stately's selection alignment rules.
452
478
  const visibleRange = createMemo(() => {
453
479
  const start = visibleRangeStart();
454
480
  return { start, end: visibleRangeEndFromStart(start) };
@@ -461,9 +487,10 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
461
487
  // on out-of-range keeps a same-month focus from re-firing visibleRangeStart
462
488
  // with a fresh equal-valued object, which would otherwise recompute the grid
463
489
  // and recreate every cell on focus.
464
- const syncVisibleRangeForFocusedDate = (nextFocusedDate: CalendarDate) => {
465
- const range = visibleRange();
466
-
490
+ const syncVisibleRangeForFocusedDate = (
491
+ nextFocusedDate: CalendarDate,
492
+ range: { start: CalendarDate; end: CalendarDate },
493
+ ) => {
467
494
  if (nextFocusedDate.compare(range.start) < 0) {
468
495
  setVisibleRangeStart(alignEnd(nextFocusedDate));
469
496
  } else if (nextFocusedDate.compare(range.end) > 0) {
@@ -471,56 +498,73 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
471
498
  }
472
499
  };
473
500
 
474
- createEffect(() => {
475
- const controlledFocused = access(props.focusedValue);
476
- if (!controlledFocused) {
477
- return;
478
- }
479
-
480
- const nextFocusedDate = constrainDate(toDisplayCalendarDate(controlledFocused));
481
- const currentFocusedDate = focusedDate();
482
-
483
- if (
484
- nextFocusedDate.compare(currentFocusedDate) !== 0 ||
485
- !isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
486
- ) {
487
- setFocusedDateInternal(nextFocusedDate);
488
- setVisibleRangeStart(alignVisibleRangeStart(nextFocusedDate));
489
- }
490
- });
491
-
492
- createEffect(() => {
493
- const controlledFocused = access(props.focusedValue);
494
- if (controlledFocused) {
495
- return;
496
- }
497
-
498
- const currentFocusedDate = focusedDate();
499
- const nextFocusedDate = constrainDate(currentFocusedDate);
500
-
501
- if (
502
- nextFocusedDate.compare(currentFocusedDate) === 0 &&
503
- isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
504
- ) {
505
- return;
506
- }
507
-
508
- setFocusedDateInternal(nextFocusedDate);
509
- setVisibleRangeStart(alignVisibleRangeStart(nextFocusedDate));
510
- props.onFocusChange?.(nextFocusedDate);
511
- });
512
-
513
- createEffect(() => {
514
- const currentFocusedDate = focusedDate();
515
- const nextFocusedDate = toDisplayCalendarDate(currentFocusedDate);
501
+ createEffect(
502
+ () => {
503
+ const controlledFocused = access(props.focusedValue);
504
+ if (!controlledFocused) return null;
505
+ const nextFocusedDate = constrainDate(toDisplayCalendarDate(controlledFocused));
506
+ return {
507
+ nextFocusedDate,
508
+ currentFocusedDate: focusedDate(),
509
+ alignedStart: alignVisibleRangeStart(nextFocusedDate),
510
+ };
511
+ },
512
+ (data) => {
513
+ if (!data) return;
514
+ const { nextFocusedDate, currentFocusedDate, alignedStart } = data;
515
+ if (
516
+ nextFocusedDate.compare(currentFocusedDate) !== 0 ||
517
+ !isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
518
+ ) {
519
+ setFocusedDateInternal(nextFocusedDate);
520
+ setVisibleRangeStart(alignedStart);
521
+ }
522
+ },
523
+ );
516
524
 
517
- if (isEqualCalendar(currentFocusedDate.calendar, nextFocusedDate.calendar)) {
518
- return;
519
- }
525
+ createEffect(
526
+ () => {
527
+ const controlledFocused = access(props.focusedValue);
528
+ if (controlledFocused) return null;
529
+ const currentFocusedDate = focusedDate();
530
+ const nextFocusedDate = constrainDate(currentFocusedDate);
531
+ if (
532
+ nextFocusedDate.compare(currentFocusedDate) === 0 &&
533
+ isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
534
+ ) {
535
+ return null;
536
+ }
537
+ return {
538
+ nextFocusedDate,
539
+ alignedStart: alignVisibleRangeStart(nextFocusedDate),
540
+ };
541
+ },
542
+ (data) => {
543
+ if (!data) return;
544
+ setFocusedDateInternal(data.nextFocusedDate);
545
+ setVisibleRangeStart(data.alignedStart);
546
+ props.onFocusChange?.(data.nextFocusedDate);
547
+ },
548
+ );
520
549
 
521
- setFocusedDateInternal(nextFocusedDate);
522
- setVisibleRangeStart(alignVisibleRangeStart(nextFocusedDate));
523
- });
550
+ createEffect(
551
+ () => {
552
+ const currentFocusedDate = focusedDate();
553
+ const nextFocusedDate = toDisplayCalendarDate(currentFocusedDate);
554
+ if (isEqualCalendar(currentFocusedDate.calendar, nextFocusedDate.calendar)) {
555
+ return null;
556
+ }
557
+ return {
558
+ nextFocusedDate,
559
+ alignedStart: alignVisibleRangeStart(nextFocusedDate),
560
+ };
561
+ },
562
+ (data) => {
563
+ if (!data) return;
564
+ setFocusedDateInternal(data.nextFocusedDate);
565
+ setVisibleRangeStart(data.alignedStart);
566
+ },
567
+ );
524
568
 
525
569
  // Format week days for headers
526
570
  const weekDays = createMemo(() => {
@@ -581,7 +625,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
581
625
  return;
582
626
  }
583
627
 
584
- syncVisibleRangeForFocusedDate(constrained);
628
+ syncVisibleRangeForFocusedDate(constrained, visibleRange());
585
629
  setFocusedDateInternal(constrained);
586
630
  props.onFocusChange?.(constrained);
587
631
  };
@@ -691,7 +735,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
691
735
  // the window, so a single-month page whose focus stays in view would never
692
736
  // advance the grid.
693
737
  const focusPreviousPage = () => {
694
- const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths;
738
+ const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths();
695
739
  const nextFocusedDate = constrainDate(focusedDate().subtract({ months: pageMonths }));
696
740
  setFocusedDateInternal(nextFocusedDate);
697
741
  setVisibleRangeStart(startOfMonth(visibleRangeStart().subtract({ months: pageMonths })));
@@ -699,7 +743,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
699
743
  };
700
744
 
701
745
  const focusNextPage = () => {
702
- const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths;
746
+ const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths();
703
747
  const nextFocusedDate = constrainDate(focusedDate().add({ months: pageMonths }));
704
748
  setFocusedDateInternal(nextFocusedDate);
705
749
  setVisibleRangeStart(startOfMonth(visibleRangeStart().add({ months: pageMonths })));
@@ -785,7 +829,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
785
829
  );
786
830
  if (!selectableDate) return;
787
831
 
788
- const anchor = anchorDate();
832
+ const anchor = readNow(anchorDate);
789
833
 
790
834
  if (!anchor) {
791
835
  // First click - set anchor
@@ -836,6 +880,20 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
836
880
  return week;
837
881
  };
838
882
 
883
+ const focusNearestAvailableDate = (anchor: CalendarDate) => {
884
+ // RAC `useRangeCalendarState.ts:261-273`: prefer anchor+1, else −1, skip invalid.
885
+ const isDateInvalid = (candidate: CalendarDate) =>
886
+ isInvalid(candidate) || isDateOutsideAllowedRange(candidate);
887
+ let nextDay = anchor.add({ days: 1 });
888
+ if (isDateInvalid(nextDay)) {
889
+ nextDay = anchor.subtract({ days: 1 });
890
+ }
891
+ if (!isDateInvalid(nextDay)) {
892
+ setFocusedDate(nextDay);
893
+ setFocused(true);
894
+ }
895
+ };
896
+
839
897
  // Get number of weeks in a month
840
898
  const getWeeksInMonthFn = (date?: CalendarDate): number => {
841
899
  const monthDate = date ?? focusedDate();
@@ -966,13 +1024,16 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
966
1024
  focusPageEnd,
967
1025
  selectFocusedDate,
968
1026
  selectDate,
1027
+ focusNearestAvailableDate,
969
1028
  isFocused,
970
1029
  setFocused,
971
1030
  getDatesInWeek,
972
1031
  getWeeksInMonth: getWeeksInMonthFn,
973
1032
  weekDays,
974
1033
  title,
975
- visibleMonths,
1034
+ get visibleMonths() {
1035
+ return visibleMonths();
1036
+ },
976
1037
  isDragging,
977
1038
  setDragging,
978
1039
  formatValue,
@@ -1,8 +1,23 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the 'License');
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/datepicker/useTimeFieldState.ts
14
+
1
15
  /**
2
16
  * TimeFieldState for Solid-Stately
3
17
  *
4
- * Faithful port of `@react-stately/datepicker` `useTimeFieldState`, which is a
5
- * thin wrapper over `useDateFieldState`: a time-only `Time` value is converted
18
+ * Faithful port of
19
+ * `packages/react-stately/src/datepicker/useTimeFieldState.ts`, which is a thin
20
+ * wrapper over `useDateFieldState`: a time-only `Time` value is converted
6
21
  * to a `CalendarDateTime` (anchored on today's date, or a zoned date when the
7
22
  * value/default carries a time zone) and fed to the date-field state machine
8
23
  * with `maxGranularity: 'hour'` so the date segments drop away and only
@@ -19,7 +34,10 @@
19
34
  * invoke and freeze them, breaking reactivity.
20
35
  */
21
36
 
22
- import { createSignal, createMemo, type Accessor } from "solid-js";
37
+ import { createMemo } from "solid-js";
38
+ import type { Accessor } from "solid-js";
39
+ import { access, createInternalSignal, type MaybeAccessor } from "../utils";
40
+
23
41
  import {
24
42
  Time,
25
43
  type CalendarDate,
@@ -33,7 +51,6 @@ import {
33
51
  toCalendarDateTime,
34
52
  GregorianCalendar,
35
53
  } from "@internationalized/date";
36
- import { access, type MaybeAccessor } from "../utils";
37
54
  import type { ValidationState } from "./createCalendarState";
38
55
  import type { ValidationBehavior, ValidationFunction } from "../form";
39
56
  import {
@@ -73,7 +90,7 @@ export interface TimeFieldStateProps<T extends TimeValue = Time> {
73
90
  /** Whether the value is invalid (controlled). */
74
91
  isInvalid?: boolean;
75
92
  /** The locale to use for formatting. */
76
- locale?: string;
93
+ locale?: MaybeAccessor<string | undefined>;
77
94
  /** The granularity (hour, minute, second). */
78
95
  granularity?: "hour" | "minute" | "second";
79
96
  /** Whether to show 12 or 24 hour format. */
@@ -137,7 +154,9 @@ export function createTimeFieldState<T extends TimeValue = Time>(
137
154
  const placeholderValue: TimeValue = props.placeholderValue ?? new Time();
138
155
 
139
156
  // Controlled/uncontrolled Time value (mirrors useControlledState).
140
- const [internalValue, setInternalValue] = createSignal<T | null>(props.defaultValue ?? null);
157
+ const [internalValue, setInternalValue] = createInternalSignal<T | null>(
158
+ props.defaultValue ?? null,
159
+ );
141
160
  const value = (): T | null => {
142
161
  const controlled = access(props.value);
143
162
  return controlled !== undefined ? controlled : internalValue();
@@ -1,5 +1,40 @@
1
- // DateField validation-message catalog, ported verbatim from @react-stately/datepicker's
2
- // intl/*.json (34 locales). Keep in sync with the vendored react-spectrum source on every
1
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ar-AE.json
2
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/bg-BG.json
3
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/cs-CZ.json
4
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/da-DK.json
5
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/de-DE.json
6
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/el-GR.json
7
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/en-US.json
8
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/es-ES.json
9
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/et-EE.json
10
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/fi-FI.json
11
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/fr-FR.json
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/he-IL.json
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/hr-HR.json
14
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/hu-HU.json
15
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/it-IT.json
16
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ja-JP.json
17
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ko-KR.json
18
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/lt-LT.json
19
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/lv-LV.json
20
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/nb-NO.json
21
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/nl-NL.json
22
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/pl-PL.json
23
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/pt-BR.json
24
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/pt-PT.json
25
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ro-RO.json
26
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ru-RU.json
27
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sk-SK.json
28
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sl-SI.json
29
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sr-SP.json
30
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sv-SE.json
31
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/tr-TR.json
32
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/uk-UA.json
33
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/zh-CN.json
34
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/zh-TW.json
35
+
36
+ // DateField validation messages. Ported from the @react-stately/datepicker intl catalog.
37
+ // The catalog has 34 locales. Keep it in sync with the vendored react-spectrum source on every
3
38
  // pin bump. Hand-rolled resolver so solid-stately needs no @internationalized/string dep.
4
39
 
5
40
  export type DateFieldErrorKey =
@@ -1,3 +1,17 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/checkbox/useCheckboxGroupState.ts
14
+
1
15
  /**
2
16
  * Checkbox group state for Solid Stately
3
17
  *
@@ -7,8 +21,8 @@
7
21
  * This is a 1:1 port of @react-stately/checkbox's useCheckboxGroupState.
8
22
  */
9
23
 
10
- import { createMemo, createSignal, Accessor } from "solid-js";
11
- import { type MaybeAccessor, access } from "../utils";
24
+ import { createMemo, Accessor } from "solid-js";
25
+ import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
12
26
  import {
13
27
  createFormValidationState,
14
28
  type FormValidationState,
@@ -101,7 +115,7 @@ export function createCheckboxGroupState(
101
115
  const initialProps = getProps();
102
116
  const initialValue = initialProps.value ?? initialProps.defaultValue ?? [];
103
117
 
104
- const [internalValue, setInternalValue] = createSignal<readonly string[]>(initialValue);
118
+ const [internalValue, setInternalValue] = createInternalSignal<readonly string[]>(initialValue);
105
119
 
106
120
  const controlledValue = createMemo<readonly string[] | undefined>(() => getProps().value);
107
121
 
@@ -112,6 +126,8 @@ export function createCheckboxGroupState(
112
126
  return controlled !== undefined ? controlled : internalValue();
113
127
  };
114
128
 
129
+ const liveValue = (): readonly string[] => (isControlled() ? value() : readNow(internalValue));
130
+
115
131
  const isRequired: Accessor<boolean> = () => {
116
132
  const p = getProps();
117
133
  return !!p.isRequired && value().length === 0;
@@ -161,9 +177,9 @@ export function createCheckboxGroupState(
161
177
  return;
162
178
  }
163
179
 
164
- const current = value();
165
- if (!current.includes(addVal)) {
166
- setValue([...current, addVal]);
180
+ const snapshot = liveValue();
181
+ if (!snapshot.includes(addVal)) {
182
+ setValue([...snapshot, addVal]);
167
183
  }
168
184
  }
169
185
 
@@ -173,9 +189,9 @@ export function createCheckboxGroupState(
173
189
  return;
174
190
  }
175
191
 
176
- const current = value();
177
- if (current.includes(removeVal)) {
178
- setValue(current.filter((v) => v !== removeVal));
192
+ const snapshot = liveValue();
193
+ if (snapshot.includes(removeVal)) {
194
+ setValue(snapshot.filter((v) => v !== removeVal));
179
195
  }
180
196
  }
181
197
 
@@ -185,11 +201,11 @@ export function createCheckboxGroupState(
185
201
  return;
186
202
  }
187
203
 
188
- const current = value();
189
- if (current.includes(toggleVal)) {
190
- setValue(current.filter((v) => v !== toggleVal));
204
+ const snapshot = liveValue();
205
+ if (snapshot.includes(toggleVal)) {
206
+ setValue(snapshot.filter((v) => v !== toggleVal));
191
207
  } else {
192
- setValue([...current, toggleVal]);
208
+ setValue([...snapshot, toggleVal]);
193
209
  }
194
210
  }
195
211
 
@@ -1,6 +1,37 @@
1
+ /*
2
+ * Copyright 2024 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ /*
14
+ * Copyright 2020 Adobe. All rights reserved.
15
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ * you may not use this file except in compliance with the License. You may obtain a copy
17
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * Unless required by applicable law or agreed to in writing, software distributed under
20
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ * OF ANY KIND, either express or implied. See the License for the specific language
22
+ * governing permissions and limitations under the License.
23
+ */
24
+
25
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/collections/BaseCollection.ts
26
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/list/ListCollection.ts
27
+
1
28
  /**
2
29
  * A simple list collection implementation.
3
30
  * Provides a Collection interface over an array of nodes.
31
+ *
32
+ * Ported from:
33
+ * - packages/react-stately/src/list/ListCollection.ts
34
+ * - packages/react-aria/src/collections/BaseCollection.ts
4
35
  */
5
36
 
6
37
  import type { Collection, CollectionItemLike, CollectionNode, Key } from "./types";
@@ -1,10 +1,28 @@
1
+ /*
2
+ * Copyright 2020 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/list/useListState.ts
14
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/list/useSingleSelectListState.ts
15
+
1
16
  /**
2
17
  * State management for list-like components.
3
18
  * Combines collection and selection state.
4
- * Based on @react-stately/list.
19
+ * Ported from:
20
+ * - packages/react-stately/src/list/useListState.ts
21
+ * - packages/react-stately/src/list/useSingleSelectListState.ts
5
22
  */
6
23
 
7
- import { createMemo, createEffect, untrack, type Accessor } from "solid-js";
24
+ import { createMemo, createEffect } from "solid-js";
25
+ import type { Accessor } from "solid-js";
8
26
  import { access, type MaybeAccessor } from "../utils";
9
27
  import { ListCollection } from "./ListCollection";
10
28
  import type { SelectionState, SelectionPressEvent } from "./createSelectionState";
@@ -242,9 +260,8 @@ export function createFilteredListState<T = unknown>(
242
260
  // forward (then backward) through the previous collection to the nearest
243
261
  // surviving, enabled item. Mirrors @react-stately's useFocusedKeyReset.
244
262
  let cachedCollection: Collection<T> | null = null;
245
- createEffect(() => {
246
- const coll = collection();
247
- const focusedKey = untrack(() => state.focusedKey());
263
+ createEffect(collection, (coll) => {
264
+ const focusedKey = state.focusedKey();
248
265
  if (focusedKey != null && !coll.getItem(focusedKey) && cachedCollection) {
249
266
  let key = cachedCollection.getKeyAfter(focusedKey);
250
267
  let nextFocusedKey: Key | null = null;
@@ -267,7 +284,7 @@ export function createFilteredListState<T = unknown>(
267
284
  key = cachedCollection.getKeyBefore(key);
268
285
  }
269
286
  }
270
- untrack(() => state.setFocusedKey(nextFocusedKey));
287
+ state.setFocusedKey(nextFocusedKey);
271
288
  }
272
289
  cachedCollection = coll;
273
290
  });