@proyecto-viviana/solid-stately 0.5.0 → 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 +3016 -1579
  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 +23 -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 +60 -42
  206. package/src/calendar/createDatePickerState.ts +32 -14
  207. package/src/calendar/createRangeCalendarState.ts +136 -74
  208. package/src/calendar/createTimeFieldState.ts +25 -6
  209. package/src/calendar/intl/index.ts +205 -142
  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 +66 -29
  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 +890 -855
  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,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/datepicker/useDatePickerState.ts
14
+
1
15
  /**
2
16
  * DatePickerState for Solid-Stately
3
17
  *
@@ -5,7 +19,8 @@
5
19
  * Based on @react-stately/datepicker useDatePickerState
6
20
  */
7
21
 
8
- import { createSignal, createMemo, type Accessor } from "solid-js";
22
+ import { createMemo } from "solid-js";
23
+ import type { Accessor } from "solid-js";
9
24
  import {
10
25
  type DateValue,
11
26
  type CalendarDateTime,
@@ -16,7 +31,7 @@ import {
16
31
  toZoned,
17
32
  getLocalTimeZone,
18
33
  } from "@internationalized/date";
19
- import { access, type MaybeAccessor } from "../utils";
34
+ import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
20
35
  import type { ValidationState } from "./createCalendarState";
21
36
  import type { TimeValue } from "./createTimeFieldState";
22
37
 
@@ -76,18 +91,21 @@ export function createDatePickerState<T extends DateValue = DateValue>(
76
91
  const timeZone = getLocalTimeZone();
77
92
 
78
93
  // Internal signals for value and overlay state
79
- const [internalValue, setInternalValue] = createSignal<T | null>(props.defaultValue ?? null);
80
- const [internalOpen, setInternalOpen] = createSignal(props.defaultOpen ?? false);
94
+ const [internalValue, setInternalValue] = createInternalSignal<T | null>(
95
+ props.defaultValue ?? null,
96
+ );
97
+ const [internalOpen, setInternalOpen] = createInternalSignal(props.defaultOpen ?? false);
81
98
 
82
99
  // Transient selections for date and time
83
- const [selectedDate, setSelectedDate] = createSignal<DateValue | null>(null);
84
- const [selectedTime, setSelectedTime] = createSignal<TimeValue | null>(null);
100
+ const [selectedDate, setSelectedDate] = createInternalSignal<DateValue | null>(null);
101
+ const [selectedTime, setSelectedTime] = createInternalSignal<TimeValue | null>(null);
85
102
 
86
- // Controlled vs uncontrolled value
87
- const value = createMemo<T | null>(() => {
103
+ // Controlled vs uncontrolled value. Function (not memo) so same-turn
104
+ // methods and tests see the live internal write.
105
+ const value: Accessor<T | null> = () => {
88
106
  const controlled = access(props.value);
89
107
  return controlled !== undefined ? controlled : internalValue();
90
- });
108
+ };
91
109
 
92
110
  // Granularity: auto-detect from value type if not provided
93
111
  const granularity = createMemo<Granularity>(() => {
@@ -109,7 +127,7 @@ export function createDatePickerState<T extends DateValue = DateValue>(
109
127
  const isDisabled = createMemo(() => access(props.isDisabled) ?? false);
110
128
  const isReadOnly = createMemo(() => access(props.isReadOnly) ?? false);
111
129
  const validationState = createMemo(() => access(props.validationState));
112
- const isOpen: Accessor<boolean> = () => access(props.isOpen) ?? internalOpen();
130
+ const isOpen: Accessor<boolean> = () => access(props.isOpen) ?? readNow(internalOpen);
113
131
 
114
132
  // Date and time portions of the current value
115
133
  const dateValue = createMemo<DateValue | null>(() => {
@@ -187,7 +205,7 @@ export function createDatePickerState<T extends DateValue = DateValue>(
187
205
  const setDateValue = (date: DateValue) => {
188
206
  if (isDisabled() || isReadOnly()) return;
189
207
 
190
- const currentTime = selectedTime();
208
+ const currentTime = readNow(selectedTime);
191
209
  const currentValue = value();
192
210
  const shouldClose =
193
211
  typeof props.shouldCloseOnSelect === "function"
@@ -222,7 +240,7 @@ export function createDatePickerState<T extends DateValue = DateValue>(
222
240
  const setTimeValue = (time: TimeValue) => {
223
241
  if (isDisabled() || isReadOnly()) return;
224
242
 
225
- const currentDate = selectedDate();
243
+ const currentDate = readNow(selectedDate);
226
244
  const currentValue = value();
227
245
 
228
246
  if (currentDate) {
@@ -252,8 +270,8 @@ export function createDatePickerState<T extends DateValue = DateValue>(
252
270
  // When closing, only commit if both date and time are available (when time is required).
253
271
  // Don't auto-commit partial selections with placeholder time to avoid phantom values.
254
272
  const currentValue = value();
255
- const currentDate = selectedDate();
256
- const currentTime = selectedTime();
273
+ const currentDate = readNow(selectedDate);
274
+ const currentTime = readNow(selectedTime);
257
275
 
258
276
  if (!currentValue && currentDate && hasTime() && currentTime) {
259
277
  // Both date and time explicitly selected — safe to commit
@@ -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();
@@ -858,7 +916,8 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
858
916
 
859
917
  const start = v.start as unknown as DateValue;
860
918
  const end = v.end as unknown as DateValue;
861
- const startTimeZone = "timeZone" in start ? (start as { timeZone: string }).timeZone : undefined;
919
+ const startTimeZone =
920
+ "timeZone" in start ? (start as { timeZone: string }).timeZone : undefined;
862
921
  const startGranularity = "minute" in start ? "minute" : "day";
863
922
  const endTimeZone = "timeZone" in end ? (end as { timeZone: string }).timeZone : undefined;
864
923
  const endGranularity = "minute" in end ? "minute" : "day";
@@ -965,13 +1024,16 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
965
1024
  focusPageEnd,
966
1025
  selectFocusedDate,
967
1026
  selectDate,
1027
+ focusNearestAvailableDate,
968
1028
  isFocused,
969
1029
  setFocused,
970
1030
  getDatesInWeek,
971
1031
  getWeeksInMonth: getWeeksInMonthFn,
972
1032
  weekDays,
973
1033
  title,
974
- visibleMonths,
1034
+ get visibleMonths() {
1035
+ return visibleMonths();
1036
+ },
975
1037
  isDragging,
976
1038
  setDragging,
977
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();