@proyecto-viviana/solid-stately 0.5.1 → 0.6.0-rc.1

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 (418) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +59 -29
  4. package/dist/autocomplete/createAutocompleteState.d.ts +2 -1
  5. package/dist/autocomplete/createAutocompleteState.d.ts.map +1 -0
  6. package/dist/autocomplete/index.d.ts +1 -0
  7. package/dist/autocomplete/index.d.ts.map +1 -0
  8. package/dist/calendar/IncompleteDate.d.ts +2 -1
  9. package/dist/calendar/IncompleteDate.d.ts.map +1 -0
  10. package/dist/calendar/createCalendarState.d.ts +10 -9
  11. package/dist/calendar/createCalendarState.d.ts.map +1 -0
  12. package/dist/calendar/createDateFieldState.d.ts +4 -20
  13. package/dist/calendar/createDateFieldState.d.ts.map +1 -0
  14. package/dist/calendar/createDatePickerState.d.ts +4 -7
  15. package/dist/calendar/createDatePickerState.d.ts.map +1 -0
  16. package/dist/calendar/createRangeCalendarState.d.ts +9 -7
  17. package/dist/calendar/createRangeCalendarState.d.ts.map +1 -0
  18. package/dist/calendar/createTimeFieldState.d.ts +5 -24
  19. package/dist/calendar/createTimeFieldState.d.ts.map +1 -0
  20. package/dist/calendar/index.d.ts +1 -0
  21. package/dist/calendar/index.d.ts.map +1 -0
  22. package/dist/calendar/intl/index.d.ts +1 -0
  23. package/dist/calendar/intl/index.d.ts.map +1 -0
  24. package/dist/checkbox/createCheckboxGroupState.d.ts +3 -0
  25. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -0
  26. package/dist/checkbox/index.d.ts +1 -0
  27. package/dist/checkbox/index.d.ts.map +1 -0
  28. package/dist/collections/ListCollection.d.ts +5 -0
  29. package/dist/collections/ListCollection.d.ts.map +1 -0
  30. package/dist/collections/createListState.d.ts +2 -6
  31. package/dist/collections/createListState.d.ts.map +1 -0
  32. package/dist/collections/createMenuState.d.ts +74 -13
  33. package/dist/collections/createMenuState.d.ts.map +1 -0
  34. package/dist/collections/createSelectionState.d.ts +2 -5
  35. package/dist/collections/createSelectionState.d.ts.map +1 -0
  36. package/dist/collections/getChildNodes.d.ts +6 -3
  37. package/dist/collections/getChildNodes.d.ts.map +1 -0
  38. package/dist/collections/index.d.ts +2 -1
  39. package/dist/collections/index.d.ts.map +1 -0
  40. package/dist/collections/types.d.ts +36 -2
  41. package/dist/collections/types.d.ts.map +1 -0
  42. package/dist/color/Color.d.ts +7 -1
  43. package/dist/color/Color.d.ts.map +1 -0
  44. package/dist/color/createColorAreaState.d.ts +6 -5
  45. package/dist/color/createColorAreaState.d.ts.map +1 -0
  46. package/dist/color/createColorFieldState.d.ts +4 -5
  47. package/dist/color/createColorFieldState.d.ts.map +1 -0
  48. package/dist/color/createColorSliderState.d.ts +4 -5
  49. package/dist/color/createColorSliderState.d.ts.map +1 -0
  50. package/dist/color/createColorWheelState.d.ts +2 -5
  51. package/dist/color/createColorWheelState.d.ts.map +1 -0
  52. package/dist/color/getColorChannels.d.ts +3 -0
  53. package/dist/color/getColorChannels.d.ts.map +1 -0
  54. package/dist/color/index.d.ts +2 -1
  55. package/dist/color/index.d.ts.map +1 -0
  56. package/dist/color/intl/index.d.ts +1 -0
  57. package/dist/color/intl/index.d.ts.map +1 -0
  58. package/dist/color/types.d.ts +2 -1
  59. package/dist/color/types.d.ts.map +1 -0
  60. package/dist/combobox/createComboBoxState.d.ts +92 -29
  61. package/dist/combobox/createComboBoxState.d.ts.map +1 -0
  62. package/dist/combobox/index.d.ts +2 -1
  63. package/dist/combobox/index.d.ts.map +1 -0
  64. package/dist/data/createAsyncList.d.ts +1 -7
  65. package/dist/data/createAsyncList.d.ts.map +1 -0
  66. package/dist/data/createListData.d.ts +1 -6
  67. package/dist/data/createListData.d.ts.map +1 -0
  68. package/dist/data/createTreeData.d.ts +1 -6
  69. package/dist/data/createTreeData.d.ts.map +1 -0
  70. package/dist/data/index.d.ts +1 -0
  71. package/dist/data/index.d.ts.map +1 -0
  72. package/dist/datepicker/index.d.ts +1 -0
  73. package/dist/datepicker/index.d.ts.map +1 -0
  74. package/dist/disclosure/createDisclosureState.d.ts +2 -5
  75. package/dist/disclosure/createDisclosureState.d.ts.map +1 -0
  76. package/dist/disclosure/index.d.ts +1 -0
  77. package/dist/disclosure/index.d.ts.map +1 -0
  78. package/dist/dnd/createDragState.d.ts +2 -6
  79. package/dist/dnd/createDragState.d.ts.map +1 -0
  80. package/dist/dnd/createDraggableCollectionState.d.ts +44 -11
  81. package/dist/dnd/createDraggableCollectionState.d.ts.map +1 -0
  82. package/dist/dnd/createDropState.d.ts +2 -6
  83. package/dist/dnd/createDropState.d.ts.map +1 -0
  84. package/dist/dnd/createDroppableCollectionState.d.ts +34 -11
  85. package/dist/dnd/createDroppableCollectionState.d.ts.map +1 -0
  86. package/dist/dnd/index.d.ts +3 -2
  87. package/dist/dnd/index.d.ts.map +1 -0
  88. package/dist/dnd/types.d.ts +17 -0
  89. package/dist/dnd/types.d.ts.map +1 -0
  90. package/dist/form/createFormValidationState.d.ts +2 -9
  91. package/{src → dist}/form/createFormValidationState.d.ts.map +1 -1
  92. package/dist/form/index.d.ts +1 -0
  93. package/dist/form/index.d.ts.map +1 -0
  94. package/dist/grid/createGridState.d.ts +4 -3
  95. package/dist/grid/createGridState.d.ts.map +1 -0
  96. package/dist/grid/index.d.ts +1 -0
  97. package/dist/grid/index.d.ts.map +1 -0
  98. package/dist/grid/types.d.ts +23 -1
  99. package/dist/grid/types.d.ts.map +1 -0
  100. package/dist/index.d.ts +7 -5
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +2947 -969
  103. package/dist/index.js.map +1 -1
  104. package/dist/menu/index.d.ts +3 -1
  105. package/dist/menu/index.d.ts.map +1 -0
  106. package/dist/numberfield/createNumberFieldState.d.ts +37 -9
  107. package/dist/numberfield/createNumberFieldState.d.ts.map +1 -0
  108. package/dist/numberfield/index.d.ts +1 -0
  109. package/dist/numberfield/index.d.ts.map +1 -0
  110. package/dist/overlays/createOverlayTriggerState.d.ts +12 -1
  111. package/dist/overlays/createOverlayTriggerState.d.ts.map +1 -0
  112. package/dist/overlays/index.d.ts +1 -0
  113. package/dist/overlays/index.d.ts.map +1 -0
  114. package/dist/private/flags/flags.d.ts +5 -0
  115. package/dist/private/flags/flags.d.ts.map +1 -0
  116. package/dist/private/flags/flags.js +26 -0
  117. package/dist/private/flags/flags.js.map +1 -0
  118. package/dist/radio/createRadioGroupState.d.ts +1 -0
  119. package/dist/radio/createRadioGroupState.d.ts.map +1 -0
  120. package/dist/radio/index.d.ts +1 -0
  121. package/dist/radio/index.d.ts.map +1 -0
  122. package/dist/searchfield/createSearchFieldState.d.ts +2 -5
  123. package/dist/searchfield/createSearchFieldState.d.ts.map +1 -0
  124. package/dist/searchfield/index.d.ts +1 -0
  125. package/dist/searchfield/index.d.ts.map +1 -0
  126. package/dist/select/createSelectState.d.ts +100 -33
  127. package/dist/select/createSelectState.d.ts.map +1 -0
  128. package/dist/select/index.d.ts +2 -1
  129. package/dist/select/index.d.ts.map +1 -0
  130. package/dist/selection/Selection.d.ts +2 -1
  131. package/dist/selection/Selection.d.ts.map +1 -0
  132. package/dist/selection/SelectionManager.d.ts +1 -19
  133. package/dist/selection/SelectionManager.d.ts.map +1 -0
  134. package/dist/selection/createMultipleSelectionState.d.ts +2 -13
  135. package/dist/selection/createMultipleSelectionState.d.ts.map +1 -0
  136. package/dist/selection/index.d.ts +1 -0
  137. package/dist/selection/index.d.ts.map +1 -0
  138. package/dist/slider/createSliderState.d.ts +37 -14
  139. package/dist/slider/createSliderState.d.ts.map +1 -0
  140. package/dist/slider/index.d.ts +1 -0
  141. package/dist/slider/index.d.ts.map +1 -0
  142. package/dist/ssr/index.d.ts +2 -13
  143. package/dist/ssr/index.d.ts.map +1 -0
  144. package/dist/steplist/createStepListState.d.ts +10 -18
  145. package/dist/steplist/createStepListState.d.ts.map +1 -0
  146. package/dist/steplist/index.d.ts +1 -0
  147. package/dist/steplist/index.d.ts.map +1 -0
  148. package/dist/table/TableCollection.d.ts +1 -0
  149. package/dist/table/TableCollection.d.ts.map +1 -0
  150. package/dist/table/createTableColumnResizeState.d.ts +2 -9
  151. package/dist/table/createTableColumnResizeState.d.ts.map +1 -0
  152. package/dist/table/createTableState.d.ts +3 -6
  153. package/dist/table/createTableState.d.ts.map +1 -0
  154. package/dist/table/createTreeGridState.d.ts +3 -9
  155. package/dist/table/createTreeGridState.d.ts.map +1 -0
  156. package/dist/table/index.d.ts +1 -0
  157. package/dist/table/index.d.ts.map +1 -0
  158. package/dist/table/types.d.ts +37 -3
  159. package/dist/table/types.d.ts.map +1 -0
  160. package/dist/tabs/createTabListState.d.ts +2 -5
  161. package/dist/tabs/createTabListState.d.ts.map +1 -0
  162. package/dist/tabs/index.d.ts +1 -0
  163. package/dist/tabs/index.d.ts.map +1 -0
  164. package/dist/textfield/createTextFieldState.d.ts +1 -0
  165. package/dist/textfield/createTextFieldState.d.ts.map +1 -0
  166. package/dist/textfield/index.d.ts +1 -0
  167. package/dist/textfield/index.d.ts.map +1 -0
  168. package/dist/toast/createToastState.d.ts +2 -5
  169. package/dist/toast/createToastState.d.ts.map +1 -0
  170. package/dist/toast/index.d.ts +1 -0
  171. package/dist/toast/index.d.ts.map +1 -0
  172. package/dist/toggle/createToggleGroupState.d.ts +1 -0
  173. package/dist/toggle/createToggleGroupState.d.ts.map +1 -0
  174. package/dist/toggle/createToggleState.d.ts +1 -0
  175. package/dist/toggle/createToggleState.d.ts.map +1 -0
  176. package/dist/toggle/index.d.ts +1 -0
  177. package/dist/toggle/index.d.ts.map +1 -0
  178. package/dist/tokenfield/TokenFieldValue.d.ts +96 -0
  179. package/dist/tokenfield/TokenFieldValue.d.ts.map +1 -0
  180. package/dist/tokenfield/createTokenFieldState.d.ts +33 -0
  181. package/dist/tokenfield/createTokenFieldState.d.ts.map +1 -0
  182. package/dist/tokenfield/index.d.ts +3 -0
  183. package/dist/tokenfield/index.d.ts.map +1 -0
  184. package/dist/tooltip/createTooltipTriggerState.d.ts +9 -8
  185. package/dist/tooltip/createTooltipTriggerState.d.ts.map +1 -0
  186. package/dist/tooltip/index.d.ts +1 -0
  187. package/dist/tooltip/index.d.ts.map +1 -0
  188. package/dist/tree/TreeCollection.d.ts +1 -0
  189. package/dist/tree/TreeCollection.d.ts.map +1 -0
  190. package/dist/tree/createTreeState.d.ts +3 -8
  191. package/dist/tree/createTreeState.d.ts.map +1 -0
  192. package/dist/tree/index.d.ts +1 -0
  193. package/dist/tree/index.d.ts.map +1 -0
  194. package/dist/tree/types.d.ts +19 -1
  195. package/dist/tree/types.d.ts.map +1 -0
  196. package/dist/utils/index.d.ts +3 -1
  197. package/dist/utils/index.d.ts.map +1 -0
  198. package/dist/utils/owner.d.ts +9 -0
  199. package/dist/utils/owner.d.ts.map +1 -0
  200. package/dist/utils/reactivity.d.ts +24 -0
  201. package/dist/utils/reactivity.d.ts.map +1 -0
  202. package/package.json +21 -9
  203. package/src/autocomplete/createAutocompleteState.ts +18 -4
  204. package/src/calendar/IncompleteDate.ts +15 -1
  205. package/src/calendar/createCalendarState.ts +321 -125
  206. package/src/calendar/createDateFieldState.ts +45 -31
  207. package/src/calendar/createDatePickerState.ts +47 -26
  208. package/src/calendar/createRangeCalendarState.ts +173 -86
  209. package/src/calendar/createTimeFieldState.ts +26 -7
  210. package/src/calendar/intl/index.ts +37 -2
  211. package/src/checkbox/createCheckboxGroupState.ts +45 -13
  212. package/src/collections/ListCollection.ts +31 -0
  213. package/src/collections/createListState.ts +27 -10
  214. package/src/collections/createMenuState.ts +190 -15
  215. package/src/collections/createSelectionState.ts +33 -13
  216. package/src/collections/getChildNodes.ts +20 -3
  217. package/src/collections/index.ts +6 -0
  218. package/src/collections/types.ts +35 -2
  219. package/src/color/Color.ts +61 -22
  220. package/src/color/createColorAreaState.ts +48 -4
  221. package/src/color/createColorFieldState.ts +114 -38
  222. package/src/color/createColorSliderState.ts +61 -9
  223. package/src/color/createColorWheelState.ts +29 -9
  224. package/src/color/getColorChannels.ts +16 -0
  225. package/src/color/index.ts +1 -0
  226. package/src/color/intl/index.ts +38 -3
  227. package/src/color/types.ts +1 -1
  228. package/src/combobox/createComboBoxState.ts +530 -297
  229. package/src/combobox/index.ts +4 -0
  230. package/src/data/createAsyncList.ts +41 -6
  231. package/src/data/createListData.ts +27 -4
  232. package/src/data/createTreeData.ts +30 -6
  233. package/src/disclosure/createDisclosureState.ts +40 -19
  234. package/src/dnd/createDragState.ts +22 -4
  235. package/src/dnd/createDraggableCollectionState.ts +145 -11
  236. package/src/dnd/createDropState.ts +21 -3
  237. package/src/dnd/createDroppableCollectionState.ts +127 -11
  238. package/src/dnd/index.ts +4 -0
  239. package/src/dnd/types.ts +16 -0
  240. package/src/form/createFormValidationState.ts +69 -37
  241. package/src/grid/createGridState.ts +196 -111
  242. package/src/grid/types.ts +22 -1
  243. package/src/index.ts +33 -2
  244. package/src/menu/index.ts +7 -0
  245. package/src/numberfield/createNumberFieldState.ts +247 -98
  246. package/src/overlays/createOverlayTriggerState.ts +31 -4
  247. package/src/private/flags/flags.ts +25 -0
  248. package/src/radio/createRadioGroupState.ts +23 -6
  249. package/src/searchfield/createSearchFieldState.ts +18 -3
  250. package/src/select/createSelectState.ts +317 -130
  251. package/src/select/index.ts +8 -1
  252. package/src/selection/Selection.ts +15 -1
  253. package/src/selection/SelectionManager.ts +17 -1
  254. package/src/selection/createMultipleSelectionState.ts +45 -26
  255. package/src/slider/createSliderState.ts +243 -104
  256. package/src/ssr/index.ts +34 -4
  257. package/src/steplist/createStepListState.ts +184 -130
  258. package/src/table/TableCollection.ts +14 -0
  259. package/src/table/createTableColumnResizeState.ts +71 -14
  260. package/src/table/createTableState.ts +26 -4
  261. package/src/table/createTreeGridState.ts +22 -6
  262. package/src/table/types.ts +38 -5
  263. package/src/tabs/createTabListState.ts +63 -43
  264. package/src/textfield/createTextFieldState.ts +17 -3
  265. package/src/toast/createToastState.ts +28 -3
  266. package/src/toggle/createToggleGroupState.ts +20 -5
  267. package/src/toggle/createToggleState.ts +19 -4
  268. package/src/tokenfield/TokenFieldValue.ts +499 -0
  269. package/src/tokenfield/createTokenFieldState.ts +88 -0
  270. package/src/tokenfield/index.ts +15 -0
  271. package/src/tooltip/createTooltipTriggerState.ts +49 -13
  272. package/src/tree/TreeCollection.ts +14 -0
  273. package/src/tree/createTreeState.ts +70 -36
  274. package/src/tree/types.ts +18 -1
  275. package/src/utils/index.ts +10 -1
  276. package/src/utils/owner.ts +20 -0
  277. package/src/utils/reactivity.ts +53 -1
  278. package/src/autocomplete/createAutocompleteState.d.ts +0 -48
  279. package/src/autocomplete/createAutocompleteState.d.ts.map +0 -1
  280. package/src/autocomplete/index.d.ts +0 -6
  281. package/src/autocomplete/index.d.ts.map +0 -1
  282. package/src/calendar/createCalendarState.d.ts +0 -152
  283. package/src/calendar/createCalendarState.d.ts.map +0 -1
  284. package/src/calendar/createDateFieldState.d.ts +0 -145
  285. package/src/calendar/createDateFieldState.d.ts.map +0 -1
  286. package/src/calendar/createRangeCalendarState.d.ts +0 -171
  287. package/src/calendar/createRangeCalendarState.d.ts.map +0 -1
  288. package/src/calendar/createTimeFieldState.d.ts +0 -97
  289. package/src/calendar/createTimeFieldState.d.ts.map +0 -1
  290. package/src/calendar/index.d.ts +0 -80
  291. package/src/calendar/index.d.ts.map +0 -1
  292. package/src/checkbox/createCheckboxGroupState.d.ts +0 -73
  293. package/src/checkbox/createCheckboxGroupState.d.ts.map +0 -1
  294. package/src/checkbox/index.d.ts +0 -6
  295. package/src/checkbox/index.d.ts.map +0 -1
  296. package/src/collections/ListCollection.d.ts +0 -40
  297. package/src/collections/ListCollection.d.ts.map +0 -1
  298. package/src/collections/createListState.d.ts +0 -94
  299. package/src/collections/createListState.d.ts.map +0 -1
  300. package/src/collections/createMenuState.d.ts +0 -55
  301. package/src/collections/createMenuState.d.ts.map +0 -1
  302. package/src/collections/createSelectionState.d.ts +0 -89
  303. package/src/collections/createSelectionState.d.ts.map +0 -1
  304. package/src/collections/index.d.ts +0 -38
  305. package/src/collections/index.d.ts.map +0 -1
  306. package/src/collections/types.d.ts +0 -147
  307. package/src/collections/types.d.ts.map +0 -1
  308. package/src/color/Color.d.ts +0 -43
  309. package/src/color/Color.d.ts.map +0 -1
  310. package/src/color/createColorAreaState.d.ts +0 -78
  311. package/src/color/createColorAreaState.d.ts.map +0 -1
  312. package/src/color/createColorFieldState.d.ts +0 -57
  313. package/src/color/createColorFieldState.d.ts.map +0 -1
  314. package/src/color/createColorSliderState.d.ts +0 -69
  315. package/src/color/createColorSliderState.d.ts.map +0 -1
  316. package/src/color/createColorWheelState.d.ts +0 -53
  317. package/src/color/createColorWheelState.d.ts.map +0 -1
  318. package/src/color/index.d.ts +0 -39
  319. package/src/color/index.d.ts.map +0 -1
  320. package/src/color/types.d.ts +0 -111
  321. package/src/color/types.d.ts.map +0 -1
  322. package/src/combobox/createComboBoxState.d.ts +0 -127
  323. package/src/combobox/createComboBoxState.d.ts.map +0 -1
  324. package/src/combobox/index.d.ts +0 -13
  325. package/src/combobox/index.d.ts.map +0 -1
  326. package/src/disclosure/createDisclosureState.d.ts +0 -68
  327. package/src/disclosure/createDisclosureState.d.ts.map +0 -1
  328. package/src/disclosure/index.d.ts +0 -10
  329. package/src/disclosure/index.d.ts.map +0 -1
  330. package/src/dnd/createDragState.d.ts +0 -68
  331. package/src/dnd/createDragState.d.ts.map +0 -1
  332. package/src/dnd/createDraggableCollectionState.d.ts +0 -68
  333. package/src/dnd/createDraggableCollectionState.d.ts.map +0 -1
  334. package/src/dnd/createDropState.d.ts +0 -80
  335. package/src/dnd/createDropState.d.ts.map +0 -1
  336. package/src/dnd/createDroppableCollectionState.d.ts +0 -107
  337. package/src/dnd/createDroppableCollectionState.d.ts.map +0 -1
  338. package/src/dnd/index.d.ts +0 -60
  339. package/src/dnd/index.d.ts.map +0 -1
  340. package/src/dnd/types.d.ts +0 -277
  341. package/src/dnd/types.d.ts.map +0 -1
  342. package/src/form/createFormValidationState.d.ts +0 -102
  343. package/src/form/index.d.ts +0 -16
  344. package/src/form/index.d.ts.map +0 -1
  345. package/src/grid/createGridState.d.ts +0 -15
  346. package/src/grid/createGridState.d.ts.map +0 -1
  347. package/src/grid/index.d.ts +0 -7
  348. package/src/grid/index.d.ts.map +0 -1
  349. package/src/grid/types.d.ts +0 -163
  350. package/src/grid/types.d.ts.map +0 -1
  351. package/src/index.d.ts +0 -311
  352. package/src/index.d.ts.map +0 -1
  353. package/src/numberfield/createNumberFieldState.d.ts +0 -67
  354. package/src/numberfield/createNumberFieldState.d.ts.map +0 -1
  355. package/src/numberfield/index.d.ts +0 -6
  356. package/src/numberfield/index.d.ts.map +0 -1
  357. package/src/overlays/createOverlayTriggerState.d.ts +0 -34
  358. package/src/overlays/createOverlayTriggerState.d.ts.map +0 -1
  359. package/src/overlays/index.d.ts +0 -6
  360. package/src/overlays/index.d.ts.map +0 -1
  361. package/src/radio/createRadioGroupState.d.ts +0 -79
  362. package/src/radio/createRadioGroupState.d.ts.map +0 -1
  363. package/src/radio/index.d.ts +0 -7
  364. package/src/radio/index.d.ts.map +0 -1
  365. package/src/searchfield/createSearchFieldState.d.ts +0 -27
  366. package/src/searchfield/createSearchFieldState.d.ts.map +0 -1
  367. package/src/searchfield/index.d.ts +0 -3
  368. package/src/searchfield/index.d.ts.map +0 -1
  369. package/src/select/createSelectState.d.ts +0 -75
  370. package/src/select/createSelectState.d.ts.map +0 -1
  371. package/src/select/index.d.ts +0 -2
  372. package/src/select/index.d.ts.map +0 -1
  373. package/src/slider/createSliderState.d.ts +0 -72
  374. package/src/slider/createSliderState.d.ts.map +0 -1
  375. package/src/slider/index.d.ts +0 -3
  376. package/src/slider/index.d.ts.map +0 -1
  377. package/src/ssr/index.d.ts +0 -28
  378. package/src/ssr/index.d.ts.map +0 -1
  379. package/src/table/TableCollection.d.ts +0 -54
  380. package/src/table/TableCollection.d.ts.map +0 -1
  381. package/src/table/createTableState.d.ts +0 -15
  382. package/src/table/createTableState.d.ts.map +0 -1
  383. package/src/table/index.d.ts +0 -18
  384. package/src/table/index.d.ts.map +0 -1
  385. package/src/table/types.d.ts +0 -145
  386. package/src/table/types.d.ts.map +0 -1
  387. package/src/tabs/createTabListState.d.ts +0 -70
  388. package/src/tabs/createTabListState.d.ts.map +0 -1
  389. package/src/tabs/index.d.ts +0 -8
  390. package/src/tabs/index.d.ts.map +0 -1
  391. package/src/textfield/createTextFieldState.d.ts +0 -32
  392. package/src/textfield/createTextFieldState.d.ts.map +0 -1
  393. package/src/textfield/index.d.ts +0 -6
  394. package/src/textfield/index.d.ts.map +0 -1
  395. package/src/toast/createToastState.d.ts +0 -129
  396. package/src/toast/createToastState.d.ts.map +0 -1
  397. package/src/toast/index.d.ts +0 -12
  398. package/src/toast/index.d.ts.map +0 -1
  399. package/src/toggle/createToggleState.d.ts +0 -34
  400. package/src/toggle/createToggleState.d.ts.map +0 -1
  401. package/src/toggle/index.d.ts +0 -2
  402. package/src/toggle/index.d.ts.map +0 -1
  403. package/src/tooltip/createTooltipTriggerState.d.ts +0 -39
  404. package/src/tooltip/createTooltipTriggerState.d.ts.map +0 -1
  405. package/src/tooltip/index.d.ts +0 -7
  406. package/src/tooltip/index.d.ts.map +0 -1
  407. package/src/tree/TreeCollection.d.ts +0 -43
  408. package/src/tree/TreeCollection.d.ts.map +0 -1
  409. package/src/tree/createTreeState.d.ts +0 -17
  410. package/src/tree/createTreeState.d.ts.map +0 -1
  411. package/src/tree/index.d.ts +0 -13
  412. package/src/tree/index.d.ts.map +0 -1
  413. package/src/tree/types.d.ts +0 -162
  414. package/src/tree/types.d.ts.map +0 -1
  415. package/src/utils/index.d.ts +0 -2
  416. package/src/utils/index.d.ts.map +0 -1
  417. package/src/utils/reactivity.d.ts +0 -28
  418. 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
 
@@ -87,6 +107,8 @@ export interface RangeCalendarStateProps<T extends DateValue = DateValue> {
87
107
  isDateDisabled?: (date: DateValue) => boolean;
88
108
  /** Validation state. */
89
109
  validationState?: MaybeAccessor<ValidationState | undefined>;
110
+ /** Whether the current selection is invalid according to application logic. */
111
+ isInvalid?: boolean;
90
112
  /** Whether to allow selecting the same date for start and end. */
91
113
  allowsNonContiguousRanges?: boolean;
92
114
  /** The first day of the week (0 = Sunday, 1 = Monday, etc.). */
@@ -172,6 +194,11 @@ export interface RangeCalendarState<T extends DateValue = DateValue> {
172
194
  selectFocusedDate: () => void;
173
195
  /** Selects a specific date. */
174
196
  selectDate: (date: CalendarDate) => void;
197
+ /**
198
+ * After a keyboard range-start selection, move focus to the next available
199
+ * day so the in-progress range is visible. RAC `focusNearestAvailableDate`.
200
+ */
201
+ focusNearestAvailableDate: (anchorDate: CalendarDate) => void;
175
202
  /** Whether focus is currently within the calendar. */
176
203
  isFocused: Accessor<boolean>;
177
204
  /** Sets whether focus is within the calendar. */
@@ -216,7 +243,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
216
243
  const calendar = createMemo(() =>
217
244
  (props.createCalendar ?? intlCreateCalendar)(resolvedOptions().calendar as CalendarIdentifier),
218
245
  );
219
- const visibleMonths = Math.max(1, Number(access(props.visibleMonths) ?? 1));
246
+ const visibleMonths = createMemo(() => Math.max(1, Number(access(props.visibleMonths) ?? 1)));
220
247
  const firstDayOfWeekName = (): CalendarDayOfWeek | undefined =>
221
248
  props.firstDayOfWeek == null ? undefined : dayOfWeekNames[props.firstDayOfWeek];
222
249
 
@@ -226,7 +253,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
226
253
  // The anchor date is the first selected date during a range drag. Declared up
227
254
  // here (ahead of constrainDate) because the available-range derivation below
228
255
  // depends on it, and constrainDate consults that range.
229
- const [anchorDate, setAnchorDate] = createSignal<CalendarDate | null>(null);
256
+ const [anchorDate, setAnchorDate] = createInternalSignal<CalendarDate | null>(null);
230
257
 
231
258
  // Mirrors @react-stately/calendar useRangeCalendarState getAvailableRange: once
232
259
  // a range selection is anchored and unavailable dates exist, contiguous ranges
@@ -238,8 +265,8 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
238
265
  if (anchor && props.isDateUnavailable && !props.allowsNonContiguousRanges) {
239
266
  const predicate = (date: CalendarDate): boolean => props.isDateUnavailable!(date, anchor);
240
267
  return {
241
- start: nextUnavailableDate(anchor, predicate, visibleMonths, -1),
242
- end: nextUnavailableDate(anchor, predicate, visibleMonths, 1),
268
+ start: nextUnavailableDate(anchor, predicate, visibleMonths(), -1),
269
+ end: nextUnavailableDate(anchor, predicate, visibleMonths(), 1),
243
270
  };
244
271
  }
245
272
  return null;
@@ -281,7 +308,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
281
308
  const visibleRangeEndFromStart = (start: CalendarDate): CalendarDate => {
282
309
  let end = endOfMonth(start);
283
310
 
284
- for (let i = 1; i < visibleMonths; i++) {
311
+ for (let i = 1; i < visibleMonths(); i++) {
285
312
  end = endOfMonth(end.add({ months: 1 }));
286
313
  }
287
314
 
@@ -290,10 +317,14 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
290
317
 
291
318
  const rawAlignStart = (date: CalendarDate): CalendarDate => startOfMonth(date);
292
319
 
293
- const rawAlignEnd = (date: CalendarDate): CalendarDate =>
294
- startOfMonth(date).subtract({ months: Math.max(visibleMonths - 1, 0) });
320
+ const rawAlignEnd = (date: CalendarDate, months = visibleMonths()): CalendarDate =>
321
+ startOfMonth(date).subtract({ months: Math.max(months - 1, 0) });
295
322
 
296
- const constrainVisibleRangeStart = (date: CalendarDate, aligned: CalendarDate): CalendarDate => {
323
+ const constrainVisibleRangeStart = (
324
+ date: CalendarDate,
325
+ aligned: CalendarDate,
326
+ months = visibleMonths(),
327
+ ): CalendarDate => {
297
328
  const minValue = access(props.minValue);
298
329
  const maxValue = access(props.maxValue);
299
330
  let constrained = aligned;
@@ -306,7 +337,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
306
337
  }
307
338
 
308
339
  if (maxValue && date.compare(toDisplayCalendarDate(maxValue)) <= 0) {
309
- const maxStart = rawAlignEnd(toDisplayCalendarDate(maxValue));
340
+ const maxStart = rawAlignEnd(toDisplayCalendarDate(maxValue), months);
310
341
  if (maxStart.compare(constrained) < 0) {
311
342
  constrained = maxStart;
312
343
  }
@@ -322,16 +353,19 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
322
353
  constrainVisibleRangeStart(date, rawAlignEnd(date));
323
354
 
324
355
  const alignCenter = (date: CalendarDate): CalendarDate => {
325
- let offset = Math.floor(visibleMonths / 2);
326
- if (offset > 0 && visibleMonths % 2 === 0) {
356
+ let offset = Math.floor(visibleMonths() / 2);
357
+ if (offset > 0 && visibleMonths() % 2 === 0) {
327
358
  offset--;
328
359
  }
329
360
 
330
361
  return constrainVisibleRangeStart(date, rawAlignStart(date).subtract({ months: offset }));
331
362
  };
332
363
 
364
+ // A controlled null is a cleared selection. Pin useControlledState treats
365
+ // `value !== undefined` as controlled, so null must not fall through to defaultValue.
333
366
  const defaultSelectionAlignment = (): RangeCalendarSelectionAlignment => {
334
- const currentValue = access(props.value) ?? props.defaultValue;
367
+ const controlled = access(props.value);
368
+ const currentValue = controlled !== undefined ? controlled : props.defaultValue;
335
369
  if (!currentValue?.start || !currentValue?.end) {
336
370
  return "center";
337
371
  }
@@ -363,26 +397,28 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
363
397
  return toDisplayCalendarDate(props.defaultFocusedValue);
364
398
  }
365
399
  const controlledValue = access(props.value);
366
- if (controlledValue?.start) {
367
- return toDisplayCalendarDate(controlledValue.start);
368
- }
369
- if (props.defaultValue?.start) {
400
+ if (controlledValue !== undefined) {
401
+ if (controlledValue?.start) {
402
+ return toDisplayCalendarDate(controlledValue.start);
403
+ }
404
+ } else if (props.defaultValue?.start) {
370
405
  return toDisplayCalendarDate(props.defaultValue.start);
371
406
  }
372
407
  return intlToCalendar(today(timeZone), calendar());
373
408
  };
374
409
 
375
410
  // State signals
376
- const [internalValue, setInternalValue] = createSignal<RangeValue<T> | null>(
411
+ const [internalValue, setInternalValue] = createInternalSignal<RangeValue<T> | null>(
377
412
  props.defaultValue ?? null,
378
413
  );
379
414
  const initialFocusedDate = constrainDate(getInitialFocusedDate());
380
- const [focusedDate, setFocusedDateInternal] = createSignal<CalendarDate>(initialFocusedDate);
381
- const [visibleRangeStart, setVisibleRangeStart] = createSignal<CalendarDate>(
415
+ const [focusedDate, setFocusedDateInternal] =
416
+ createInternalSignal<CalendarDate>(initialFocusedDate);
417
+ const [visibleRangeStart, setVisibleRangeStart] = createInternalSignal<CalendarDate>(
382
418
  alignVisibleRangeStart(initialFocusedDate),
383
419
  );
384
- const [isFocused, setFocused] = createSignal(false);
385
- const [isDragging, setDragging] = createSignal(false);
420
+ const [isFocused, setFocused] = createInternalSignal(false);
421
+ const [isDragging, setDragging] = createInternalSignal(false);
386
422
 
387
423
  // Controlled vs uncontrolled value
388
424
  const sourceValue = createMemo<RangeValue<T> | null>(() => {
@@ -425,7 +461,10 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
425
461
  isDateOutsideRange(toDisplayCalendarDate(v.end), minCal, maxCal)
426
462
  );
427
463
  });
428
- const isValueInvalid = createMemo(() => validationState() === "invalid" || isInvalidSelection());
464
+ const isValueInvalid = createMemo(
465
+ () =>
466
+ Boolean(access(props.isInvalid)) || validationState() === "invalid" || isInvalidSelection(),
467
+ );
429
468
 
430
469
  // Highlighted range during selection
431
470
  const highlightedRange = createMemo<RangeValue<CalendarDate> | null>(() => {
@@ -448,7 +487,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
448
487
  return { start: focused, end: anchor };
449
488
  });
450
489
 
451
- // Visible range based on React Stately's selection alignment rules.
490
+ // The visible range follows React Stately's selection alignment rules.
452
491
  const visibleRange = createMemo(() => {
453
492
  const start = visibleRangeStart();
454
493
  return { start, end: visibleRangeEndFromStart(start) };
@@ -461,9 +500,10 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
461
500
  // on out-of-range keeps a same-month focus from re-firing visibleRangeStart
462
501
  // with a fresh equal-valued object, which would otherwise recompute the grid
463
502
  // and recreate every cell on focus.
464
- const syncVisibleRangeForFocusedDate = (nextFocusedDate: CalendarDate) => {
465
- const range = visibleRange();
466
-
503
+ const syncVisibleRangeForFocusedDate = (
504
+ nextFocusedDate: CalendarDate,
505
+ range: { start: CalendarDate; end: CalendarDate },
506
+ ) => {
467
507
  if (nextFocusedDate.compare(range.start) < 0) {
468
508
  setVisibleRangeStart(alignEnd(nextFocusedDate));
469
509
  } else if (nextFocusedDate.compare(range.end) > 0) {
@@ -471,56 +511,73 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
471
511
  }
472
512
  };
473
513
 
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);
514
+ createEffect(
515
+ () => {
516
+ const controlledFocused = access(props.focusedValue);
517
+ if (!controlledFocused) return null;
518
+ const nextFocusedDate = constrainDate(toDisplayCalendarDate(controlledFocused));
519
+ return {
520
+ nextFocusedDate,
521
+ currentFocusedDate: focusedDate(),
522
+ alignedStart: alignVisibleRangeStart(nextFocusedDate),
523
+ };
524
+ },
525
+ (data) => {
526
+ if (!data) return;
527
+ const { nextFocusedDate, currentFocusedDate, alignedStart } = data;
528
+ if (
529
+ nextFocusedDate.compare(currentFocusedDate) !== 0 ||
530
+ !isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
531
+ ) {
532
+ setFocusedDateInternal(nextFocusedDate);
533
+ setVisibleRangeStart(alignedStart);
534
+ }
535
+ },
536
+ );
516
537
 
517
- if (isEqualCalendar(currentFocusedDate.calendar, nextFocusedDate.calendar)) {
518
- return;
519
- }
538
+ createEffect(
539
+ () => {
540
+ const controlledFocused = access(props.focusedValue);
541
+ if (controlledFocused) return null;
542
+ const currentFocusedDate = focusedDate();
543
+ const nextFocusedDate = constrainDate(currentFocusedDate);
544
+ if (
545
+ nextFocusedDate.compare(currentFocusedDate) === 0 &&
546
+ isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
547
+ ) {
548
+ return null;
549
+ }
550
+ return {
551
+ nextFocusedDate,
552
+ alignedStart: alignVisibleRangeStart(nextFocusedDate),
553
+ };
554
+ },
555
+ (data) => {
556
+ if (!data) return;
557
+ setFocusedDateInternal(data.nextFocusedDate);
558
+ setVisibleRangeStart(data.alignedStart);
559
+ props.onFocusChange?.(data.nextFocusedDate);
560
+ },
561
+ );
520
562
 
521
- setFocusedDateInternal(nextFocusedDate);
522
- setVisibleRangeStart(alignVisibleRangeStart(nextFocusedDate));
523
- });
563
+ createEffect(
564
+ () => {
565
+ const currentFocusedDate = focusedDate();
566
+ const nextFocusedDate = toDisplayCalendarDate(currentFocusedDate);
567
+ if (isEqualCalendar(currentFocusedDate.calendar, nextFocusedDate.calendar)) {
568
+ return null;
569
+ }
570
+ return {
571
+ nextFocusedDate,
572
+ alignedStart: alignVisibleRangeStart(nextFocusedDate),
573
+ };
574
+ },
575
+ (data) => {
576
+ if (!data) return;
577
+ setFocusedDateInternal(data.nextFocusedDate);
578
+ setVisibleRangeStart(data.alignedStart);
579
+ },
580
+ );
524
581
 
525
582
  // Format week days for headers
526
583
  const weekDays = createMemo(() => {
@@ -581,7 +638,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
581
638
  return;
582
639
  }
583
640
 
584
- syncVisibleRangeForFocusedDate(constrained);
641
+ syncVisibleRangeForFocusedDate(constrained, visibleRange());
585
642
  setFocusedDateInternal(constrained);
586
643
  props.onFocusChange?.(constrained);
587
644
  };
@@ -691,18 +748,22 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
691
748
  // the window, so a single-month page whose focus stays in view would never
692
749
  // advance the grid.
693
750
  const focusPreviousPage = () => {
694
- const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths;
695
- const nextFocusedDate = constrainDate(focusedDate().subtract({ months: pageMonths }));
751
+ const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths();
752
+ const currentFocused = focusedDate();
753
+ const nextFocusedDate = constrainDate(currentFocused.subtract({ months: pageMonths }));
754
+ const slidStart = startOfMonth(visibleRangeStart().subtract({ months: pageMonths }));
696
755
  setFocusedDateInternal(nextFocusedDate);
697
- setVisibleRangeStart(startOfMonth(visibleRangeStart().subtract({ months: pageMonths })));
756
+ setVisibleRangeStart(constrainVisibleRangeStart(currentFocused, slidStart, pageMonths));
698
757
  props.onFocusChange?.(nextFocusedDate);
699
758
  };
700
759
 
701
760
  const focusNextPage = () => {
702
- const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths;
703
- const nextFocusedDate = constrainDate(focusedDate().add({ months: pageMonths }));
761
+ const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths();
762
+ const currentFocused = focusedDate();
763
+ const nextFocusedDate = constrainDate(currentFocused.add({ months: pageMonths }));
764
+ const slidStart = startOfMonth(visibleRangeStart().add({ months: pageMonths }));
704
765
  setFocusedDateInternal(nextFocusedDate);
705
- setVisibleRangeStart(startOfMonth(visibleRangeStart().add({ months: pageMonths })));
766
+ setVisibleRangeStart(constrainVisibleRangeStart(currentFocused, slidStart, pageMonths));
706
767
  props.onFocusChange?.(nextFocusedDate);
707
768
  };
708
769
 
@@ -785,7 +846,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
785
846
  );
786
847
  if (!selectableDate) return;
787
848
 
788
- const anchor = anchorDate();
849
+ const anchor = readNow(anchorDate);
789
850
 
790
851
  if (!anchor) {
791
852
  // First click - set anchor
@@ -836,6 +897,29 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
836
897
  return week;
837
898
  };
838
899
 
900
+ const focusNearestAvailableDate = (anchor: CalendarDate) => {
901
+ // RAC `useRangeCalendarState.ts:261-273`: prefer anchor+1, else −1.
902
+ // Invalid is outside min/max or this anchor's contiguous span. A day in
903
+ // the next month, or an unavailable day when non-contiguous ranges are
904
+ // allowed, is still a valid focus target.
905
+ const passedRange = getAvailableRange(anchor);
906
+ const isDateInvalid = (candidate: CalendarDate) => {
907
+ if (isDateOutsideAllowedRange(candidate)) return true;
908
+ const calDate = toDisplayCalendarDate(candidate);
909
+ if (passedRange?.start && calDate.compare(passedRange.start) < 0) return true;
910
+ if (passedRange?.end && calDate.compare(passedRange.end) > 0) return true;
911
+ return false;
912
+ };
913
+ let nextDay = anchor.add({ days: 1 });
914
+ if (isDateInvalid(nextDay)) {
915
+ nextDay = anchor.subtract({ days: 1 });
916
+ }
917
+ if (!isDateInvalid(nextDay)) {
918
+ setFocusedDate(nextDay);
919
+ setFocused(true);
920
+ }
921
+ };
922
+
839
923
  // Get number of weeks in a month
840
924
  const getWeeksInMonthFn = (date?: CalendarDate): number => {
841
925
  const monthDate = date ?? focusedDate();
@@ -966,13 +1050,16 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
966
1050
  focusPageEnd,
967
1051
  selectFocusedDate,
968
1052
  selectDate,
1053
+ focusNearestAvailableDate,
969
1054
  isFocused,
970
1055
  setFocused,
971
1056
  getDatesInWeek,
972
1057
  getWeeksInMonth: getWeeksInMonthFn,
973
1058
  weekDays,
974
1059
  title,
975
- visibleMonths,
1060
+ get visibleMonths() {
1061
+ return visibleMonths();
1062
+ },
976
1063
  isDragging,
977
1064
  setDragging,
978
1065
  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. */
@@ -105,7 +122,7 @@ export interface TimeFieldStateProps<T extends TimeValue = Time> {
105
122
  * consumers.
106
123
  */
107
124
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
108
- export interface TimeFieldState<T extends TimeValue = Time> extends DateFieldState {
125
+ export interface TimeFieldState<_T extends TimeValue = Time> extends DateFieldState {
109
126
  /** The current value in the `Time`/`CalendarDateTime`/`ZonedDateTime` domain. */
110
127
  timeValue: Accessor<TimeValue | null>;
111
128
  }
@@ -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 =