@neut/ui 0.0.12 → 0.0.14

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 (368) hide show
  1. package/dist/components/calendar/Calendar/Calendar.d.ts +10 -0
  2. package/dist/components/calendar/Calendar/Calendar.js +306 -0
  3. package/dist/components/calendar/Calendar/Calendar.js.map +1 -0
  4. package/dist/components/calendar/Calendar/Calendar.types.d.ts +62 -0
  5. package/dist/components/calendar/Calendar/Calendar.utils.d.ts +21 -0
  6. package/dist/components/calendar/Calendar/Calendar.utils.js +68 -0
  7. package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -0
  8. package/dist/components/calendar/Calendar/index.d.ts +2 -0
  9. package/dist/components/calendar/index.d.ts +2 -0
  10. package/dist/components/calendar/index.js +2 -0
  11. package/dist/components/combobox/Combobox/Combobox.context.d.ts +3 -0
  12. package/dist/components/combobox/Combobox/Combobox.context.js +12 -0
  13. package/dist/components/combobox/Combobox/Combobox.context.js.map +1 -0
  14. package/dist/components/combobox/Combobox/Combobox.d.ts +3 -0
  15. package/dist/components/combobox/Combobox/Combobox.js +60 -0
  16. package/dist/components/combobox/Combobox/Combobox.js.map +1 -0
  17. package/dist/components/combobox/Combobox/Combobox.types.d.ts +40 -0
  18. package/dist/components/combobox/Combobox/index.d.ts +2 -0
  19. package/dist/components/combobox/ComboboxChip/ComboboxChip.d.ts +7 -0
  20. package/dist/components/combobox/ComboboxChip/ComboboxChip.js +35 -0
  21. package/dist/components/combobox/ComboboxChip/ComboboxChip.js.map +1 -0
  22. package/dist/components/combobox/ComboboxChip/index.d.ts +1 -0
  23. package/dist/components/combobox/ComboboxChips/ComboboxChips.d.ts +5 -0
  24. package/dist/components/combobox/ComboboxChips/ComboboxChips.js +16 -0
  25. package/dist/components/combobox/ComboboxChips/ComboboxChips.js.map +1 -0
  26. package/dist/components/combobox/ComboboxChips/index.d.ts +1 -0
  27. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.d.ts +4 -0
  28. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js +27 -0
  29. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -0
  30. package/dist/components/combobox/ComboboxChipsInput/index.d.ts +1 -0
  31. package/dist/components/combobox/ComboboxClear/ComboboxClear.d.ts +4 -0
  32. package/dist/components/combobox/ComboboxClear/ComboboxClear.js +30 -0
  33. package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -0
  34. package/dist/components/combobox/ComboboxClear/index.d.ts +1 -0
  35. package/dist/components/combobox/ComboboxCollection/ComboboxCollection.d.ts +5 -0
  36. package/dist/components/combobox/ComboboxCollection/ComboboxCollection.js +20 -0
  37. package/dist/components/combobox/ComboboxCollection/ComboboxCollection.js.map +1 -0
  38. package/dist/components/combobox/ComboboxCollection/index.d.ts +1 -0
  39. package/dist/components/combobox/ComboboxContent/ComboboxContent.d.ts +2 -0
  40. package/dist/components/combobox/ComboboxContent/ComboboxContent.js +49 -0
  41. package/dist/components/combobox/ComboboxContent/ComboboxContent.js.map +1 -0
  42. package/dist/components/combobox/ComboboxContent/ComboboxContent.types.d.ts +12 -0
  43. package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.d.ts +2 -0
  44. package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.js +6 -0
  45. package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.js.map +1 -0
  46. package/dist/components/combobox/ComboboxContent/index.d.ts +1 -0
  47. package/dist/components/combobox/ComboboxContent/useComboboxContent.d.ts +13 -0
  48. package/dist/components/combobox/ComboboxContent/useComboboxContent.js +48 -0
  49. package/dist/components/combobox/ComboboxContent/useComboboxContent.js.map +1 -0
  50. package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.d.ts +5 -0
  51. package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.js +14 -0
  52. package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.js.map +1 -0
  53. package/dist/components/combobox/ComboboxEmpty/index.d.ts +1 -0
  54. package/dist/components/combobox/ComboboxGroup/ComboboxGroup.d.ts +5 -0
  55. package/dist/components/combobox/ComboboxGroup/ComboboxGroup.js +13 -0
  56. package/dist/components/combobox/ComboboxGroup/ComboboxGroup.js.map +1 -0
  57. package/dist/components/combobox/ComboboxGroup/index.d.ts +1 -0
  58. package/dist/components/combobox/ComboboxInput/ComboboxInput.d.ts +9 -0
  59. package/dist/components/combobox/ComboboxInput/ComboboxInput.js +85 -0
  60. package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -0
  61. package/dist/components/combobox/ComboboxInput/index.d.ts +1 -0
  62. package/dist/components/combobox/ComboboxItem/ComboboxItem.d.ts +7 -0
  63. package/dist/components/combobox/ComboboxItem/ComboboxItem.js +40 -0
  64. package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -0
  65. package/dist/components/combobox/ComboboxItem/index.d.ts +1 -0
  66. package/dist/components/combobox/ComboboxLabel/ComboboxLabel.d.ts +5 -0
  67. package/dist/components/combobox/ComboboxLabel/ComboboxLabel.js +14 -0
  68. package/dist/components/combobox/ComboboxLabel/ComboboxLabel.js.map +1 -0
  69. package/dist/components/combobox/ComboboxLabel/index.d.ts +1 -0
  70. package/dist/components/combobox/ComboboxList/ComboboxList.d.ts +5 -0
  71. package/dist/components/combobox/ComboboxList/ComboboxList.js +22 -0
  72. package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -0
  73. package/dist/components/combobox/ComboboxList/index.d.ts +1 -0
  74. package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.d.ts +3 -0
  75. package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.js +14 -0
  76. package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.js.map +1 -0
  77. package/dist/components/combobox/ComboboxSeparator/index.d.ts +1 -0
  78. package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.d.ts +6 -0
  79. package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js +34 -0
  80. package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -0
  81. package/dist/components/combobox/ComboboxTrigger/index.d.ts +1 -0
  82. package/dist/components/combobox/ComboboxValue/ComboboxValue.d.ts +5 -0
  83. package/dist/components/combobox/ComboboxValue/ComboboxValue.js +15 -0
  84. package/dist/components/combobox/ComboboxValue/ComboboxValue.js.map +1 -0
  85. package/dist/components/combobox/ComboboxValue/index.d.ts +1 -0
  86. package/dist/components/combobox/index.d.ts +18 -0
  87. package/dist/components/combobox/index.js +18 -0
  88. package/dist/components/combobox/useComboboxAnchor/index.d.ts +1 -0
  89. package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.d.ts +1 -0
  90. package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.js +9 -0
  91. package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.js.map +1 -0
  92. package/dist/components/date-picker/DatePicker/DatePicker.d.ts +11 -0
  93. package/dist/components/date-picker/DatePicker/DatePicker.js +136 -0
  94. package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -0
  95. package/dist/components/date-picker/DatePicker/DatePicker.types.d.ts +32 -0
  96. package/dist/components/date-picker/DatePicker/index.d.ts +2 -0
  97. package/dist/components/date-picker/index.d.ts +2 -0
  98. package/dist/components/date-picker/index.js +2 -0
  99. package/dist/components/dialog/Dialog/Dialog.context.d.ts +2 -1
  100. package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
  101. package/dist/components/dialog/Dialog/Dialog.js +21 -12
  102. package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
  103. package/dist/components/dialog/Dialog/Dialog.types.d.ts +13 -1
  104. package/dist/components/dialog/Dialog/index.d.ts +1 -0
  105. package/dist/components/dialog/DialogTrigger/DialogTrigger.d.ts +4 -2
  106. package/dist/components/dialog/DialogTrigger/DialogTrigger.js +27 -6
  107. package/dist/components/dialog/DialogTrigger/DialogTrigger.js.map +1 -1
  108. package/dist/components/dialog/DialogTrigger/DialogTrigger.types.d.ts +3 -0
  109. package/dist/components/dialog/DialogTrigger/index.d.ts +3 -0
  110. package/dist/components/dialog/DialogTrigger/useDialogTrigger.d.ts +13 -2
  111. package/dist/components/dialog/DialogTrigger/useDialogTrigger.js +15 -19
  112. package/dist/components/dialog/DialogTrigger/useDialogTrigger.js.map +1 -1
  113. package/dist/components/dialog/index.js +3 -2
  114. package/dist/components/empty/Empty/Empty.d.ts +2 -0
  115. package/dist/components/empty/Empty/Empty.js +18 -0
  116. package/dist/components/empty/Empty/Empty.js.map +1 -0
  117. package/dist/components/empty/Empty/index.d.ts +1 -0
  118. package/dist/components/empty/EmptyContent/EmptyContent.d.ts +2 -0
  119. package/dist/components/empty/EmptyContent/EmptyContent.js +18 -0
  120. package/dist/components/empty/EmptyContent/EmptyContent.js.map +1 -0
  121. package/dist/components/empty/EmptyContent/index.d.ts +1 -0
  122. package/dist/components/empty/EmptyDescription/EmptyDescription.d.ts +2 -0
  123. package/dist/components/empty/EmptyDescription/EmptyDescription.js +18 -0
  124. package/dist/components/empty/EmptyDescription/EmptyDescription.js.map +1 -0
  125. package/dist/components/empty/EmptyDescription/index.d.ts +1 -0
  126. package/dist/components/empty/EmptyHeader/EmptyHeader.d.ts +2 -0
  127. package/dist/components/empty/EmptyHeader/EmptyHeader.js +18 -0
  128. package/dist/components/empty/EmptyHeader/EmptyHeader.js.map +1 -0
  129. package/dist/components/empty/EmptyHeader/index.d.ts +1 -0
  130. package/dist/components/empty/EmptyMedia/EmptyMedia.d.ts +4 -0
  131. package/dist/components/empty/EmptyMedia/EmptyMedia.js +27 -0
  132. package/dist/components/empty/EmptyMedia/EmptyMedia.js.map +1 -0
  133. package/dist/components/empty/EmptyMedia/EmptyMedia.styles.d.ts +3 -0
  134. package/dist/components/empty/EmptyMedia/EmptyMedia.styles.js +13 -0
  135. package/dist/components/empty/EmptyMedia/EmptyMedia.styles.js.map +1 -0
  136. package/dist/components/empty/EmptyMedia/EmptyMedia.types.d.ts +3 -0
  137. package/dist/components/empty/EmptyMedia/index.d.ts +2 -0
  138. package/dist/components/empty/EmptyTitle/EmptyTitle.d.ts +2 -0
  139. package/dist/components/empty/EmptyTitle/EmptyTitle.js +18 -0
  140. package/dist/components/empty/EmptyTitle/EmptyTitle.js.map +1 -0
  141. package/dist/components/empty/EmptyTitle/index.d.ts +1 -0
  142. package/dist/components/empty/index.d.ts +7 -0
  143. package/dist/components/empty/index.js +7 -0
  144. package/dist/components/image/Image.utils.js.map +1 -1
  145. package/dist/components/popover/Popover/Popover.context.d.ts +3 -0
  146. package/dist/components/popover/Popover/Popover.context.js +12 -0
  147. package/dist/components/popover/Popover/Popover.context.js.map +1 -0
  148. package/dist/components/popover/Popover/Popover.d.ts +18 -0
  149. package/dist/components/popover/Popover/Popover.js +37 -0
  150. package/dist/components/popover/Popover/Popover.js.map +1 -0
  151. package/dist/components/popover/Popover/Popover.types.d.ts +24 -0
  152. package/dist/components/popover/Popover/index.d.ts +3 -0
  153. package/dist/components/popover/PopoverContent/PopoverContent.d.ts +6 -0
  154. package/dist/components/popover/PopoverContent/PopoverContent.js +72 -0
  155. package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -0
  156. package/dist/components/popover/PopoverContent/PopoverContent.types.d.ts +16 -0
  157. package/dist/components/popover/PopoverContent/PopoverContent.utils.d.ts +20 -0
  158. package/dist/components/popover/PopoverContent/PopoverContent.utils.js +36 -0
  159. package/dist/components/popover/PopoverContent/PopoverContent.utils.js.map +1 -0
  160. package/dist/components/popover/PopoverContent/index.d.ts +6 -0
  161. package/dist/components/popover/PopoverContent/usePopoverContent.d.ts +11 -0
  162. package/dist/components/popover/PopoverContent/usePopoverContent.js +42 -0
  163. package/dist/components/popover/PopoverContent/usePopoverContent.js.map +1 -0
  164. package/dist/components/popover/PopoverDescription/PopoverDescription.d.ts +2 -0
  165. package/dist/components/popover/PopoverDescription/PopoverDescription.js +18 -0
  166. package/dist/components/popover/PopoverDescription/PopoverDescription.js.map +1 -0
  167. package/dist/components/popover/PopoverDescription/index.d.ts +1 -0
  168. package/dist/components/popover/PopoverHeader/PopoverHeader.d.ts +2 -0
  169. package/dist/components/popover/PopoverHeader/PopoverHeader.js +18 -0
  170. package/dist/components/popover/PopoverHeader/PopoverHeader.js.map +1 -0
  171. package/dist/components/popover/PopoverHeader/index.d.ts +1 -0
  172. package/dist/components/popover/PopoverTitle/PopoverTitle.d.ts +2 -0
  173. package/dist/components/popover/PopoverTitle/PopoverTitle.js +18 -0
  174. package/dist/components/popover/PopoverTitle/PopoverTitle.js.map +1 -0
  175. package/dist/components/popover/PopoverTitle/index.d.ts +1 -0
  176. package/dist/components/popover/PopoverTrigger/PopoverTrigger.d.ts +4 -0
  177. package/dist/components/popover/PopoverTrigger/PopoverTrigger.js +35 -0
  178. package/dist/components/popover/PopoverTrigger/PopoverTrigger.js.map +1 -0
  179. package/dist/components/popover/PopoverTrigger/PopoverTrigger.types.d.ts +3 -0
  180. package/dist/components/popover/PopoverTrigger/index.d.ts +4 -0
  181. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.d.ts +14 -0
  182. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js +35 -0
  183. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js.map +1 -0
  184. package/dist/components/popover/index.d.ts +9 -0
  185. package/dist/components/popover/index.js +7 -0
  186. package/dist/components/radio-group/RadioGroup/RadioGroup.context.d.ts +3 -0
  187. package/dist/components/radio-group/RadioGroup/RadioGroup.context.js +12 -0
  188. package/dist/components/radio-group/RadioGroup/RadioGroup.context.js.map +1 -0
  189. package/dist/components/radio-group/RadioGroup/RadioGroup.d.ts +15 -0
  190. package/dist/components/radio-group/RadioGroup/RadioGroup.js +56 -0
  191. package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -0
  192. package/dist/components/radio-group/RadioGroup/RadioGroup.types.d.ts +22 -0
  193. package/dist/components/radio-group/RadioGroup/index.d.ts +3 -0
  194. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.d.ts +6 -0
  195. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js +80 -0
  196. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -0
  197. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.types.d.ts +9 -0
  198. package/dist/components/radio-group/RadioGroupItem/index.d.ts +2 -0
  199. package/dist/components/radio-group/index.d.ts +4 -0
  200. package/dist/components/radio-group/index.js +3 -0
  201. package/dist/components/select/Select/Select.context.d.ts +3 -3
  202. package/dist/components/select/Select/Select.context.js.map +1 -1
  203. package/dist/components/select/Select/Select.d.ts +5 -2
  204. package/dist/components/select/Select/Select.js +1 -1
  205. package/dist/components/select/Select/Select.js.map +1 -1
  206. package/dist/components/select/Select/Select.types.d.ts +19 -15
  207. package/dist/components/select/Select/index.d.ts +1 -1
  208. package/dist/components/select/SelectContent/SelectContent.js +2 -2
  209. package/dist/components/select/SelectContent/SelectContent.js.map +1 -1
  210. package/dist/components/select/SelectContent/SelectContent.utils.d.ts +2 -1
  211. package/dist/components/select/SelectContent/SelectContent.utils.js +2 -2
  212. package/dist/components/select/SelectContent/SelectContent.utils.js.map +1 -1
  213. package/dist/components/select/SelectContent/useSelectContent.js +6 -2
  214. package/dist/components/select/SelectContent/useSelectContent.js.map +1 -1
  215. package/dist/components/select/SelectItem/SelectItem.js +1 -1
  216. package/dist/components/select/SelectItem/SelectItem.js.map +1 -1
  217. package/dist/components/select/SelectItem/SelectItem.types.d.ts +3 -2
  218. package/dist/components/select/SelectItem/useSelectItem.d.ts +2 -1
  219. package/dist/components/select/SelectItem/useSelectItem.js +1 -1
  220. package/dist/components/select/SelectItem/useSelectItem.js.map +1 -1
  221. package/dist/components/select/SelectValue/SelectValue.js +1 -1
  222. package/dist/components/select/SelectValue/SelectValue.js.map +1 -1
  223. package/dist/components/toast/Toast/Toast.d.ts +3 -0
  224. package/dist/components/toast/Toast/Toast.js +181 -0
  225. package/dist/components/toast/Toast/Toast.js.map +1 -0
  226. package/dist/components/toast/Toast/Toast.styles.d.ts +6 -0
  227. package/dist/components/toast/Toast/Toast.styles.js +27 -0
  228. package/dist/components/toast/Toast/Toast.styles.js.map +1 -0
  229. package/dist/components/toast/Toast/Toast.types.d.ts +90 -0
  230. package/dist/components/toast/Toast/Toast.types.js +6 -0
  231. package/dist/components/toast/Toast/Toast.types.js.map +1 -0
  232. package/dist/components/toast/Toast/index.d.ts +2 -0
  233. package/dist/components/toast/{components → Toaster}/Toaster.d.ts +1 -1
  234. package/dist/components/toast/Toaster/Toaster.js +102 -0
  235. package/dist/components/toast/Toaster/Toaster.js.map +1 -0
  236. package/dist/components/toast/Toaster/Toaster.styles.d.ts +1 -0
  237. package/dist/components/toast/Toaster/Toaster.styles.js +6 -0
  238. package/dist/components/toast/Toaster/Toaster.styles.js.map +1 -0
  239. package/dist/components/toast/Toaster/Toaster.types.d.ts +44 -0
  240. package/dist/components/toast/Toaster/Toaster.utils.d.ts +7 -0
  241. package/dist/components/toast/Toaster/Toaster.utils.js +33 -0
  242. package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -0
  243. package/dist/components/toast/Toaster/index.d.ts +3 -0
  244. package/dist/components/toast/index.d.ts +5 -10
  245. package/dist/components/toast/index.js +4 -5
  246. package/dist/components/toast/state/index.d.ts +1 -0
  247. package/dist/components/toast/state/toast.d.ts +24 -0
  248. package/dist/components/toast/state/toast.js +116 -0
  249. package/dist/components/toast/state/toast.js.map +1 -0
  250. package/dist/components/toggle/Toggle/Toggle.d.ts +3 -0
  251. package/dist/components/toggle/Toggle/Toggle.js +49 -0
  252. package/dist/components/toggle/Toggle/Toggle.js.map +1 -0
  253. package/dist/components/toggle/Toggle/Toggle.styles.d.ts +4 -0
  254. package/dist/components/toggle/Toggle/Toggle.styles.js +23 -0
  255. package/dist/components/toggle/Toggle/Toggle.styles.js.map +1 -0
  256. package/dist/components/toggle/Toggle/Toggle.types.d.ts +12 -0
  257. package/dist/components/toggle/Toggle/index.d.ts +3 -0
  258. package/dist/components/toggle/index.d.ts +2 -0
  259. package/dist/components/toggle/index.js +3 -0
  260. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.d.ts +36 -0
  261. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js +40 -0
  262. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js.map +1 -0
  263. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.d.ts +18 -0
  264. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js +94 -0
  265. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -0
  266. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.d.ts +8 -0
  267. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.js +7 -0
  268. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.js.map +1 -0
  269. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.types.d.ts +104 -0
  270. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.d.ts +8 -0
  271. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js +25 -0
  272. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -0
  273. package/dist/components/toggle-group/ToggleGroup/index.d.ts +3 -0
  274. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.d.ts +17 -0
  275. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js +47 -0
  276. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -0
  277. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.d.ts +11 -0
  278. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js +88 -0
  279. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -0
  280. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.d.ts +12 -0
  281. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.js +7 -0
  282. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.js.map +1 -0
  283. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.types.d.ts +20 -0
  284. package/dist/components/toggle-group/ToggleGroupItem/index.d.ts +2 -0
  285. package/dist/components/toggle-group/call-event-handler.d.ts +5 -0
  286. package/dist/components/toggle-group/call-event-handler.js +9 -0
  287. package/dist/components/toggle-group/call-event-handler.js.map +1 -0
  288. package/dist/components/toggle-group/index.d.ts +4 -0
  289. package/dist/components/toggle-group/index.js +3 -0
  290. package/dist/components/tooltip/Tooltip/Tooltip.js +51 -50
  291. package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
  292. package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +3 -28
  293. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +13 -45
  294. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
  295. package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +2 -0
  296. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
  297. package/dist/components/tooltip/TooltipContent/TooltipContent.js +2 -1
  298. package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
  299. package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +3 -2
  300. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +2 -1
  301. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +8 -4
  302. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  303. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +20 -19
  304. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  305. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.d.ts +3 -0
  306. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js +10 -0
  307. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js.map +1 -0
  308. package/dist/components/tooltip/TooltipProvider/TooltipProvider.d.ts +3 -0
  309. package/dist/components/tooltip/TooltipProvider/TooltipProvider.js +20 -0
  310. package/dist/components/tooltip/TooltipProvider/TooltipProvider.js.map +1 -0
  311. package/dist/components/tooltip/TooltipProvider/TooltipProvider.types.d.ts +11 -0
  312. package/dist/components/tooltip/TooltipProvider/index.d.ts +3 -0
  313. package/dist/components/tooltip/index.d.ts +2 -0
  314. package/dist/components/tooltip/index.js +7 -6
  315. package/dist/index.d.ts +8 -0
  316. package/dist/index.js +153 -115
  317. package/dist/ui.css +1 -1
  318. package/package.json +7 -6
  319. package/dist/components/toast/components/Assets.d.ts +0 -9
  320. package/dist/components/toast/components/Assets.js +0 -32
  321. package/dist/components/toast/components/Assets.js.map +0 -1
  322. package/dist/components/toast/components/Toast.d.ts +0 -3
  323. package/dist/components/toast/components/Toast.js +0 -152
  324. package/dist/components/toast/components/Toast.js.map +0 -1
  325. package/dist/components/toast/components/ToastActions.d.ts +0 -12
  326. package/dist/components/toast/components/ToastActions.js +0 -62
  327. package/dist/components/toast/components/ToastActions.js.map +0 -1
  328. package/dist/components/toast/components/ToastContent.d.ts +0 -9
  329. package/dist/components/toast/components/ToastContent.js +0 -36
  330. package/dist/components/toast/components/ToastContent.js.map +0 -1
  331. package/dist/components/toast/components/ToastIcon.d.ts +0 -9
  332. package/dist/components/toast/components/ToastIcon.js +0 -59
  333. package/dist/components/toast/components/ToastIcon.js.map +0 -1
  334. package/dist/components/toast/components/Toaster.js +0 -163
  335. package/dist/components/toast/components/Toaster.js.map +0 -1
  336. package/dist/components/toast/constants.d.ts +0 -16
  337. package/dist/components/toast/constants.js +0 -6
  338. package/dist/components/toast/constants.js.map +0 -1
  339. package/dist/components/toast/hooks/useSwipe.d.ts +0 -23
  340. package/dist/components/toast/hooks/useSwipe.js +0 -59
  341. package/dist/components/toast/hooks/useSwipe.js.map +0 -1
  342. package/dist/components/toast/hooks/useTheme.d.ts +0 -2
  343. package/dist/components/toast/hooks/useTheme.js +0 -22
  344. package/dist/components/toast/hooks/useTheme.js.map +0 -1
  345. package/dist/components/toast/hooks/useToastHeight.d.ts +0 -11
  346. package/dist/components/toast/hooks/useToastHeight.js +0 -35
  347. package/dist/components/toast/hooks/useToastHeight.js.map +0 -1
  348. package/dist/components/toast/hooks/useToastSubscription.d.ts +0 -5
  349. package/dist/components/toast/hooks/useToastSubscription.js +0 -38
  350. package/dist/components/toast/hooks/useToastSubscription.js.map +0 -1
  351. package/dist/components/toast/hooks/useToastTimer.d.ts +0 -11
  352. package/dist/components/toast/hooks/useToastTimer.js +0 -22
  353. package/dist/components/toast/hooks/useToastTimer.js.map +0 -1
  354. package/dist/components/toast/hooks/useToasterKeyboard.d.ts +0 -7
  355. package/dist/components/toast/hooks/useToasterKeyboard.js +0 -14
  356. package/dist/components/toast/hooks/useToasterKeyboard.js.map +0 -1
  357. package/dist/components/toast/hooks.d.ts +0 -13
  358. package/dist/components/toast/hooks.js +0 -37
  359. package/dist/components/toast/hooks.js.map +0 -1
  360. package/dist/components/toast/state.d.ts +0 -52
  361. package/dist/components/toast/state.js +0 -170
  362. package/dist/components/toast/state.js.map +0 -1
  363. package/dist/components/toast/types.d.ts +0 -168
  364. package/dist/components/toast/types.js +0 -6
  365. package/dist/components/toast/types.js.map +0 -1
  366. package/dist/components/toast/utils.d.ts +0 -10
  367. package/dist/components/toast/utils.js +0 -39
  368. package/dist/components/toast/utils.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import { JSX } from 'solid-js';
2
+ import { CalendarClassNames, CalendarProps } from './Calendar.types';
3
+ declare const defaultClassNames: Record<keyof CalendarClassNames, string>;
4
+ /**
5
+ * 日历组件:react-day-picker 的 SolidJS 移植,覆盖 shadcn Base UI 版本
6
+ * Calendar 中使用到的核心 props(mode/selected/onSelect/month/classNames 等)。
7
+ * 支持 single、multiple、range 三种模式,以及 label/dropdown 两种标题布局。
8
+ */
9
+ export declare function Calendar(props: CalendarProps): JSX.Element;
10
+ export { defaultClassNames as calendarClassNames };
@@ -0,0 +1,306 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import t from "../../button/Button.styles.js";
3
+ import { Select as n } from "../../select/Select/Select.js";
4
+ import { SelectTrigger as r } from "../../select/SelectTrigger/SelectTrigger.js";
5
+ import { SelectValue as i } from "../../select/SelectValue/SelectValue.js";
6
+ import { SelectContent as a } from "../../select/SelectContent/SelectContent.js";
7
+ import { SelectItem as o } from "../../select/SelectItem/SelectItem.js";
8
+ import { addDays as s, addMonths as c, eachDayOfInterval as l, endOfWeek as u, formatMonthYear as d, formatWeekday as f, getFirstDate as p, getISOWeekNumber as m, isAfter as h, isAfterOrSame as g, isBefore as _, isBeforeOrSame as v, isSameDay as y, resolveLocaleCode as b, startOfMonth as x, startOfWeek as S } from "./Calendar.utils.js";
9
+ import { className as C, createComponent as w, delegateEvents as T, effect as E, insert as D, mergeProps as O, setAttribute as k, spread as ee, template as A } from "solid-js/web";
10
+ import { For as j, Show as M, createMemo as N, createSignal as P, mergeProps as te, splitProps as ne } from "solid-js";
11
+ import { ChevronLeft as re, ChevronRight as ie } from "lucide-solid";
12
+ //#region src/components/calendar/Calendar/Calendar.tsx
13
+ var ae = /*#__PURE__*/ A("<div><button type=button>"), F = /*#__PURE__*/ A("<div>"), I = /*#__PURE__*/ A("<div><div><button type=button aria-label=\"Previous month\"></button><button type=button aria-label=\"Next month\"></button></div><div></div><div><div>"), L = /*#__PURE__*/ A("<span>"), R = /*#__PURE__*/ A("<div data-slot=calendar><div>"), z = {
14
+ root: "group/calendar w-fit bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",
15
+ months: "relative flex flex-row gap-4",
16
+ month: "relative flex w-full flex-col gap-4",
17
+ nav: "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
18
+ button_previous: "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
19
+ button_next: "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
20
+ month_caption: "flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",
21
+ dropdowns: "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",
22
+ dropdown_root: "relative rounded-(--cell-radius)",
23
+ dropdown: "absolute inset-0 bg-popover opacity-0",
24
+ caption_label: "font-medium select-none text-sm",
25
+ month_grid: "w-full border-collapse",
26
+ weekdays: "flex",
27
+ weekday: "flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",
28
+ week: "mt-2 flex w-full",
29
+ week_number_header: "w-(--cell-size) select-none",
30
+ week_number: "text-[0.8rem] text-muted-foreground select-none",
31
+ day: "relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius) [&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",
32
+ outside: "text-muted-foreground aria-selected:text-muted-foreground",
33
+ disabled: "text-muted-foreground opacity-50",
34
+ hidden: "invisible",
35
+ today: "rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",
36
+ range_start: "relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",
37
+ range_middle: "rounded-none",
38
+ range_end: "relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted"
39
+ };
40
+ function B(e) {
41
+ return e.month ?? e.defaultMonth ?? p(e.selected ?? e.defaultSelected) ?? /* @__PURE__ */ new Date();
42
+ }
43
+ function V(p) {
44
+ let T = te({
45
+ mode: "single",
46
+ showOutsideDays: !0,
47
+ captionLayout: "label",
48
+ buttonVariant: "ghost",
49
+ weekStartsOn: 0,
50
+ numberOfMonths: 1
51
+ }, p), [A, V] = ne(T, [
52
+ "mode",
53
+ "selected",
54
+ "defaultSelected",
55
+ "onSelect",
56
+ "month",
57
+ "defaultMonth",
58
+ "onMonthChange",
59
+ "numberOfMonths",
60
+ "showOutsideDays",
61
+ "showWeekNumber",
62
+ "weekStartsOn",
63
+ "captionLayout",
64
+ "locale",
65
+ "buttonVariant",
66
+ "classNames",
67
+ "disabled",
68
+ "min",
69
+ "max",
70
+ "class",
71
+ "classList",
72
+ "style",
73
+ "dir"
74
+ ]), [oe, se] = P(T.defaultSelected), H = N(() => T.selected === void 0 ? oe() : T.selected), U = (e) => {
75
+ T.selected === void 0 && se(e), T.onSelect?.(e);
76
+ }, [ce, le] = P(x(B(T))), W = N(() => x(T.month ?? ce())), G = (e) => {
77
+ let t = x(e);
78
+ T.month === void 0 && le(t), T.onMonthChange?.(t);
79
+ }, K = (e) => G(c(W(), e)), ue = () => !T.min || h(x(W()), x(T.min)), de = () => !T.max || _(x(W()), x(T.max)), fe = N(() => {
80
+ let e = Math.max(1, T.numberOfMonths ?? 1);
81
+ return Array.from({ length: e }, (e, t) => c(W(), t));
82
+ }), q = N(() => b(T.locale)), pe = N(() => Array.from({ length: 12 }, (e, t) => {
83
+ let n = new Date(2024, t, 1);
84
+ return {
85
+ value: String(t),
86
+ label: new Intl.DateTimeFormat(q(), { month: "long" }).format(n)
87
+ };
88
+ })), me = N(() => {
89
+ let e = (/* @__PURE__ */ new Date()).getFullYear();
90
+ return Array.from({ length: 201 }, (t, n) => e - 100 + n);
91
+ }), J = (t) => e(z[t], T.classNames?.[t]), Y = (e) => T.disabled === !0 ? !0 : typeof T.disabled == "function" ? T.disabled(e) : !!(T.min && _(e, T.min) || T.max && h(e, T.max)), X = (e) => {
92
+ let t = H();
93
+ return !!t?.from && y(e, t.from);
94
+ }, Z = (e) => {
95
+ let t = H();
96
+ return !!t?.to && y(e, t.to);
97
+ }, Q = (e) => {
98
+ let t = H();
99
+ return !!t?.from && !!t?.to && h(e, t.from) && _(e, t.to);
100
+ }, $ = (e) => {
101
+ let t = H();
102
+ if (T.mode === "single") return t instanceof Date && y(e, t);
103
+ if (T.mode === "multiple") return Array.isArray(t) && t.some((t) => y(t, e));
104
+ let n = t;
105
+ return !!n && (n.from && y(e, n.from) || n.to && y(e, n.to) || !!n.from && !!n.to && g(e, n.from) && v(e, n.to));
106
+ }, he = (e) => {
107
+ if (Y(e)) return;
108
+ if (T.mode === "single") {
109
+ let t = H();
110
+ U(t instanceof Date && y(t, e) ? void 0 : e);
111
+ return;
112
+ }
113
+ if (T.mode === "multiple") {
114
+ let t = H(), n = Array.isArray(t) ? [...t] : [], r = n.findIndex((t) => y(t, e));
115
+ r >= 0 ? n.splice(r, 1) : n.push(e), U(n);
116
+ return;
117
+ }
118
+ let t = H();
119
+ !t?.from || t.from && t.to ? U({ from: e }) : _(e, t.from) ? U({
120
+ from: e,
121
+ to: t.from
122
+ }) : y(e, t.from) ? U({
123
+ from: e,
124
+ to: e
125
+ }) : U({
126
+ from: t.from,
127
+ to: e
128
+ });
129
+ }, ge = (n, r) => (() => {
130
+ var i = ae(), a = i.firstChild;
131
+ return a.$$click = () => he(n), D(a, () => n.getDate()), E((o) => {
132
+ var s = Y(n), c = $(n) ? "true" : void 0, l = e(J("day"), n.getMonth() !== r.getMonth() && J("outside"), !T.showOutsideDays && n.getMonth() !== r.getMonth() && J("hidden"), y(n, /* @__PURE__ */ new Date()) && J("today"), Y(n) && J("disabled"), X(n) && J("range_start"), Q(n) && J("range_middle"), Z(n) && J("range_end")), u = Y(n), d = $(n), f = n.toLocaleDateString(q()), p = T.mode === "single" && H() instanceof Date && y(n, H()) ? "true" : void 0, m = X(n) ? "true" : void 0, h = Z(n) ? "true" : void 0, g = Q(n) ? "true" : void 0, _ = e(t({ variant: T.buttonVariant }), "relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal", "data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground", "data-[range-end=true]:hover:bg-primary data-[range-end=true]:hover:text-primary-foreground", "data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground", "data-[range-middle=true]:hover:bg-muted data-[range-middle=true]:hover:text-foreground", "data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground", "data-[range-start=true]:hover:bg-primary data-[range-start=true]:hover:text-primary-foreground", "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground", "data-[selected-single=true]:hover:bg-primary data-[selected-single=true]:hover:text-primary-foreground", n.getMonth() !== r.getMonth() && "text-muted-foreground");
133
+ return s !== o.e && k(i, "aria-disabled", o.e = s), c !== o.t && k(i, "data-selected", o.t = c), l !== o.a && C(i, o.a = l), u !== o.o && (a.disabled = o.o = u), d !== o.i && k(a, "aria-pressed", o.i = d), f !== o.n && k(a, "data-day", o.n = f), p !== o.s && k(a, "data-selected-single", o.s = p), m !== o.h && k(a, "data-range-start", o.h = m), h !== o.r && k(a, "data-range-end", o.r = h), g !== o.d && k(a, "data-range-middle", o.d = g), _ !== o.l && C(a, o.l = _), o;
134
+ }, {
135
+ e: void 0,
136
+ t: void 0,
137
+ a: void 0,
138
+ o: void 0,
139
+ i: void 0,
140
+ n: void 0,
141
+ s: void 0,
142
+ h: void 0,
143
+ r: void 0,
144
+ d: void 0,
145
+ l: void 0
146
+ }), i;
147
+ })(), _e = (p) => {
148
+ let h = x(p), g = s(c(p, 1), -1), _ = S(h, T.weekStartsOn), v = u(g, T.weekStartsOn), y = l(_, v), b = [];
149
+ for (let e = 0; e < y.length; e += 7) b.push(y.slice(e, e + 7));
150
+ let O = Array.from({ length: 7 }, (e, t) => f(s(_, t), q()));
151
+ return (() => {
152
+ var s = I(), c = s.firstChild, l = c.firstChild, u = l.nextSibling, f = c.nextSibling, h = f.nextSibling, g = h.firstChild;
153
+ return l.$$click = () => K(-1), D(l, w(re, { class: "size-4" })), u.$$click = () => K(1), D(u, w(ie, { class: "size-4" })), D(f, w(M, {
154
+ get when() {
155
+ return T.captionLayout === "dropdown";
156
+ },
157
+ get fallback() {
158
+ return (() => {
159
+ var e = L();
160
+ return D(e, () => d(p, q())), E(() => C(e, J("caption_label"))), e;
161
+ })();
162
+ },
163
+ get children() {
164
+ var t = F();
165
+ return D(t, w(n, {
166
+ get value() {
167
+ return String(p.getMonth());
168
+ },
169
+ onValueChange: (e) => {
170
+ G(new Date(p.getFullYear(), Number(e), 1));
171
+ },
172
+ get children() {
173
+ return [w(r, {
174
+ variant: "ghost",
175
+ get class() {
176
+ return e("h-(--cell-size) rounded-(--cell-radius) px-2 text-sm font-medium", J("dropdown_root"));
177
+ },
178
+ get children() {
179
+ return w(i, {});
180
+ }
181
+ }), w(a, {
182
+ class: "max-h-56",
183
+ get children() {
184
+ return w(j, {
185
+ get each() {
186
+ return pe();
187
+ },
188
+ children: (e) => w(o, {
189
+ get value() {
190
+ return e.value;
191
+ },
192
+ get children() {
193
+ return e.label;
194
+ }
195
+ })
196
+ });
197
+ }
198
+ })];
199
+ }
200
+ }), null), D(t, w(n, {
201
+ get value() {
202
+ return String(p.getFullYear());
203
+ },
204
+ onValueChange: (e) => {
205
+ G(new Date(Number(e), p.getMonth(), 1));
206
+ },
207
+ get children() {
208
+ return [w(r, {
209
+ variant: "ghost",
210
+ get class() {
211
+ return e("h-(--cell-size) rounded-(--cell-radius) px-2 text-sm font-medium tabular-nums", J("dropdown_root"));
212
+ },
213
+ get children() {
214
+ return w(i, {});
215
+ }
216
+ }), w(a, {
217
+ class: "max-h-56",
218
+ get children() {
219
+ return w(j, {
220
+ get each() {
221
+ return me();
222
+ },
223
+ children: (e) => w(o, {
224
+ get value() {
225
+ return String(e);
226
+ },
227
+ children: e
228
+ })
229
+ });
230
+ }
231
+ })];
232
+ }
233
+ }), null), E(() => C(t, J("dropdowns"))), t;
234
+ }
235
+ })), D(g, w(M, {
236
+ get when() {
237
+ return T.showWeekNumber;
238
+ },
239
+ get children() {
240
+ var e = F();
241
+ return E(() => C(e, J("week_number_header"))), e;
242
+ }
243
+ }), null), D(g, w(j, {
244
+ each: O,
245
+ children: (e) => (() => {
246
+ var t = F();
247
+ return D(t, e), E(() => C(t, J("weekday"))), t;
248
+ })()
249
+ }), null), D(h, w(j, {
250
+ each: b,
251
+ children: (e) => (() => {
252
+ var t = F();
253
+ return D(t, w(M, {
254
+ get when() {
255
+ return T.showWeekNumber;
256
+ },
257
+ get children() {
258
+ var t = F();
259
+ return D(t, () => m(e[0])), E(() => C(t, J("week_number"))), t;
260
+ }
261
+ }), null), D(t, w(j, {
262
+ each: e,
263
+ children: (e) => ge(e, p)
264
+ }), null), E(() => C(t, J("week"))), t;
265
+ })()
266
+ }), null), E((n) => {
267
+ var r = J("month"), i = J("nav"), a = !ue(), o = e(t({ variant: T.buttonVariant }), J("button_previous")), d = !de(), p = e(t({ variant: T.buttonVariant }), J("button_next")), m = J("month_caption"), _ = J("month_grid"), v = J("weekdays");
268
+ return r !== n.e && C(s, n.e = r), i !== n.t && C(c, n.t = i), a !== n.a && (l.disabled = n.a = a), o !== n.o && C(l, n.o = o), d !== n.i && (u.disabled = n.i = d), p !== n.n && C(u, n.n = p), m !== n.s && C(f, n.s = m), _ !== n.h && C(h, n.h = _), v !== n.r && C(g, n.r = v), n;
269
+ }, {
270
+ e: void 0,
271
+ t: void 0,
272
+ a: void 0,
273
+ o: void 0,
274
+ i: void 0,
275
+ n: void 0,
276
+ s: void 0,
277
+ h: void 0,
278
+ r: void 0
279
+ }), s;
280
+ })();
281
+ };
282
+ return (() => {
283
+ var t = R(), n = t.firstChild;
284
+ return ee(t, O({
285
+ get class() {
286
+ return e(J("root"), A.class);
287
+ },
288
+ get style() {
289
+ return A.style;
290
+ },
291
+ get dir() {
292
+ return A.dir;
293
+ }
294
+ }, V), !1, !0), D(n, w(j, {
295
+ get each() {
296
+ return fe();
297
+ },
298
+ children: (e) => _e(e)
299
+ })), E(() => C(n, J("months"))), t;
300
+ })();
301
+ }
302
+ T(["click"]);
303
+ //#endregion
304
+ export { V as Calendar, z as calendarClassNames };
305
+
306
+ //# sourceMappingURL=Calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.js","names":["For","Show","createMemo","createSignal","mergeProps","splitProps","JSX","ChevronLeft","ChevronRight","buttonVariants","Select","SelectContent","SelectItem","SelectTrigger","SelectValue","clsx","CalendarClassNames","CalendarMode","CalendarProps","CalendarSelected","DateRange","addDays","addMonths","eachDayOfInterval","endOfWeek","formatMonthYear","formatWeekday","getFirstDate","getISOWeekNumber","isAfter","isAfterOrSame","isBefore","isBeforeOrSame","isSameDay","resolveLocaleCode","startOfMonth","startOfWeek","defaultClassNames","Record","root","months","month","nav","button_previous","button_next","month_caption","dropdowns","dropdown_root","dropdown","caption_label","month_grid","weekdays","weekday","week","week_number_header","week_number","day","outside","disabled","hidden","today","range_start","range_middle","range_end","resolveInitialMonth","props","Date","defaultMonth","selected","defaultSelected","Calendar","Element","merged","mode","showOutsideDays","captionLayout","buttonVariant","weekStartsOn","numberOfMonths","local","rest","internalSelected","setInternalSelected","undefined","commitSelected","next","onSelect","internalMonth","setInternalMonth","currentMonth","setMonth","value","onMonthChange","moveMonth","delta","canPrev","min","canNext","max","monthList","count","Math","Array","from","length","_","i","localeCode","locale","monthOptions","monthDate","String","label","Intl","DateTimeFormat","format","yearOptions","currentYear","getFullYear","slotClass","key","classNames","isDisabledDay","isRangeStart","range","isRangeEnd","to","isRangeMiddle","isDateSelected","isArray","some","d","selectDay","current","list","index","findIndex","splice","push","renderDay","_el$","_tmpl$","_el$2","firstChild","$$click","_$insert","getDate","_$effect","_p$","_v$","_v$2","_v$3","getMonth","_v$4","_v$5","_v$6","toLocaleDateString","_v$7","_v$8","_v$9","_v$0","_v$1","variant","e","_$setAttribute","t","a","_$className","o","n","s","h","r","l","renderMonth","firstDay","lastDay","gridStart","gridEnd","days","weeks","slice","weekdayLabels","_el$3","_tmpl$3","_el$4","_el$5","_el$6","nextSibling","_el$7","_el$9","_el$0","_$createComponent","when","fallback","_el$10","_tmpl$4","children","_el$8","_tmpl$2","onValueChange","Number","class","each","option","year","showWeekNumber","_el$1","_el$11","_el$12","_el$13","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","_el$14","_tmpl$5","_el$15","_$spread","_$mergeProps","style","dir","calendarClassNames","_$delegateEvents"],"sources":["../../../../src/components/calendar/Calendar/Calendar.tsx"],"sourcesContent":["import {\n For,\n Show,\n createMemo,\n createSignal,\n mergeProps,\n splitProps,\n type JSX,\n} from \"solid-js\";\nimport { ChevronLeft, ChevronRight } from \"lucide-solid\";\nimport buttonVariants from \"~/components/button/Button.styles\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"~/components/select\";\nimport { clsx } from \"~/utils\";\nimport type {\n CalendarClassNames,\n CalendarMode,\n CalendarProps,\n CalendarSelected,\n DateRange,\n} from \"./Calendar.types\";\nimport {\n addDays,\n addMonths,\n eachDayOfInterval,\n endOfWeek,\n formatMonthYear,\n formatWeekday,\n getFirstDate,\n getISOWeekNumber,\n isAfter,\n isAfterOrSame,\n isBefore,\n isBeforeOrSame,\n isSameDay,\n resolveLocaleCode,\n startOfMonth,\n startOfWeek,\n} from \"./Calendar.utils\";\n\nconst defaultClassNames: Record<keyof CalendarClassNames, string> = {\n root: \"group/calendar w-fit bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent\",\n months: \"relative flex flex-row gap-4\",\n month: \"relative flex w-full flex-col gap-4\",\n nav: \"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1\",\n button_previous:\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n button_next: \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n month_caption:\n \"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)\",\n dropdowns:\n \"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium\",\n dropdown_root: \"relative rounded-(--cell-radius)\",\n dropdown: \"absolute inset-0 bg-popover opacity-0\",\n caption_label: \"font-medium select-none text-sm\",\n month_grid: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday:\n \"flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none\",\n week: \"mt-2 flex w-full\",\n week_number_header: \"w-(--cell-size) select-none\",\n week_number: \"text-[0.8rem] text-muted-foreground select-none\",\n day: \"relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius) [&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)\",\n outside: \"text-muted-foreground aria-selected:text-muted-foreground\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n today:\n \"rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none\",\n range_start:\n \"relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted\",\n range_middle: \"rounded-none\",\n range_end:\n \"relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted\",\n};\n\nfunction resolveInitialMonth(props: CalendarProps): Date {\n return (\n props.month ??\n props.defaultMonth ??\n getFirstDate(props.selected ?? props.defaultSelected) ??\n new Date()\n );\n}\n\n/**\n * 日历组件:react-day-picker 的 SolidJS 移植,覆盖 shadcn Base UI 版本\n * Calendar 中使用到的核心 props(mode/selected/onSelect/month/classNames 等)。\n * 支持 single、multiple、range 三种模式,以及 label/dropdown 两种标题布局。\n */\nexport function Calendar(props: CalendarProps): JSX.Element {\n const merged = mergeProps(\n {\n mode: \"single\" as CalendarMode,\n showOutsideDays: true,\n captionLayout: \"label\" as CalendarProps[\"captionLayout\"],\n buttonVariant: \"ghost\" as CalendarProps[\"buttonVariant\"],\n weekStartsOn: 0 as 0 | 1 | 2 | 3 | 4 | 5 | 6,\n numberOfMonths: 1,\n },\n props,\n );\n\n const [local, rest] = splitProps(merged, [\n \"mode\",\n \"selected\",\n \"defaultSelected\",\n \"onSelect\",\n \"month\",\n \"defaultMonth\",\n \"onMonthChange\",\n \"numberOfMonths\",\n \"showOutsideDays\",\n \"showWeekNumber\",\n \"weekStartsOn\",\n \"captionLayout\",\n \"locale\",\n \"buttonVariant\",\n \"classNames\",\n \"disabled\",\n \"min\",\n \"max\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n ]);\n\n const [internalSelected, setInternalSelected] =\n createSignal<CalendarSelected>(merged.defaultSelected);\n const selected = createMemo(() =>\n merged.selected !== undefined ? merged.selected : internalSelected(),\n );\n\n const commitSelected = (next: CalendarSelected) => {\n if (merged.selected === undefined) setInternalSelected(next);\n merged.onSelect?.(next);\n };\n\n const [internalMonth, setInternalMonth] = createSignal<Date>(\n startOfMonth(resolveInitialMonth(merged)),\n );\n const currentMonth = createMemo(() =>\n startOfMonth(merged.month ?? internalMonth()),\n );\n\n const setMonth = (next: Date) => {\n const value = startOfMonth(next);\n if (merged.month === undefined) setInternalMonth(value);\n merged.onMonthChange?.(value);\n };\n\n const moveMonth = (delta: number) =>\n setMonth(addMonths(currentMonth(), delta));\n\n const canPrev = () =>\n !merged.min ||\n isAfter(startOfMonth(currentMonth()), startOfMonth(merged.min));\n\n const canNext = () =>\n !merged.max ||\n isBefore(startOfMonth(currentMonth()), startOfMonth(merged.max));\n\n const monthList = createMemo(() => {\n const count = Math.max(1, merged.numberOfMonths ?? 1);\n return Array.from({ length: count }, (_, i) =>\n addMonths(currentMonth(), i),\n );\n });\n\n const localeCode = createMemo(() => resolveLocaleCode(merged.locale));\n\n const monthOptions = createMemo(() =>\n Array.from({ length: 12 }, (_, i) => {\n const monthDate = new Date(2024, i, 1);\n return {\n value: String(i),\n label: new Intl.DateTimeFormat(localeCode(), {\n month: \"long\",\n }).format(monthDate),\n };\n }),\n );\n\n const yearOptions = createMemo(() => {\n const currentYear = new Date().getFullYear();\n return Array.from({ length: 201 }, (_, i) => currentYear - 100 + i);\n });\n\n const slotClass = (key: keyof CalendarClassNames) =>\n clsx(defaultClassNames[key], merged.classNames?.[key]);\n\n const isDisabledDay = (day: Date) => {\n if (merged.disabled === true) return true;\n if (typeof merged.disabled === \"function\") return merged.disabled(day);\n if (merged.min && isBefore(day, merged.min)) return true;\n if (merged.max && isAfter(day, merged.max)) return true;\n return false;\n };\n\n const isRangeStart = (day: Date) => {\n const range = selected() as DateRange | undefined;\n return !!range?.from && isSameDay(day, range.from);\n };\n\n const isRangeEnd = (day: Date) => {\n const range = selected() as DateRange | undefined;\n return !!range?.to && isSameDay(day, range.to);\n };\n\n const isRangeMiddle = (day: Date) => {\n const range = selected() as DateRange | undefined;\n return (\n !!range?.from &&\n !!range?.to &&\n isAfter(day, range.from) &&\n isBefore(day, range.to)\n );\n };\n\n const isDateSelected = (day: Date) => {\n const value = selected();\n if (merged.mode === \"single\") {\n return value instanceof Date && isSameDay(day, value);\n }\n if (merged.mode === \"multiple\") {\n return Array.isArray(value) && value.some((d) => isSameDay(d, day));\n }\n const range = value as DateRange | undefined;\n return (\n !!range &&\n ((range.from && isSameDay(day, range.from)) ||\n (range.to && isSameDay(day, range.to)) ||\n (!!range.from &&\n !!range.to &&\n isAfterOrSame(day, range.from) &&\n isBeforeOrSame(day, range.to)))\n );\n };\n\n const selectDay = (day: Date) => {\n if (isDisabledDay(day)) return;\n\n if (merged.mode === \"single\") {\n const current = selected();\n commitSelected(\n current instanceof Date && isSameDay(current, day) ? undefined : day,\n );\n return;\n }\n\n if (merged.mode === \"multiple\") {\n const current = selected();\n const list = Array.isArray(current) ? [...current] : [];\n const index = list.findIndex((d) => isSameDay(d, day));\n if (index >= 0) list.splice(index, 1);\n else list.push(day);\n commitSelected(list);\n return;\n }\n\n const range = selected() as DateRange | undefined;\n if (!range?.from || (range.from && range.to)) {\n commitSelected({ from: day });\n } else if (isBefore(day, range.from)) {\n commitSelected({ from: day, to: range.from });\n } else if (isSameDay(day, range.from)) {\n commitSelected({ from: day, to: day });\n } else {\n commitSelected({ from: range.from, to: day });\n }\n };\n\n const renderDay = (day: Date, monthDate: Date) => {\n return (\n <div\n aria-disabled={isDisabledDay(day)}\n data-selected={isDateSelected(day) ? \"true\" : undefined}\n class={clsx(\n slotClass(\"day\"),\n day.getMonth() !== monthDate.getMonth() && slotClass(\"outside\"),\n !merged.showOutsideDays &&\n day.getMonth() !== monthDate.getMonth() &&\n slotClass(\"hidden\"),\n isSameDay(day, new Date()) && slotClass(\"today\"),\n isDisabledDay(day) && slotClass(\"disabled\"),\n isRangeStart(day) && slotClass(\"range_start\"),\n isRangeMiddle(day) && slotClass(\"range_middle\"),\n isRangeEnd(day) && slotClass(\"range_end\"),\n )}\n >\n <button\n type=\"button\"\n disabled={isDisabledDay(day)}\n aria-pressed={isDateSelected(day)}\n data-day={day.toLocaleDateString(localeCode())}\n data-selected-single={\n merged.mode === \"single\" &&\n selected() instanceof Date &&\n isSameDay(day, selected() as Date)\n ? \"true\"\n : undefined\n }\n data-range-start={isRangeStart(day) ? \"true\" : undefined}\n data-range-end={isRangeEnd(day) ? \"true\" : undefined}\n data-range-middle={isRangeMiddle(day) ? \"true\" : undefined}\n onClick={() => selectDay(day)}\n class={clsx(\n buttonVariants({ variant: merged.buttonVariant }),\n \"relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal\",\n \"data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground\",\n \"data-[range-end=true]:hover:bg-primary data-[range-end=true]:hover:text-primary-foreground\",\n \"data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground\",\n \"data-[range-middle=true]:hover:bg-muted data-[range-middle=true]:hover:text-foreground\",\n \"data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground\",\n \"data-[range-start=true]:hover:bg-primary data-[range-start=true]:hover:text-primary-foreground\",\n \"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground\",\n \"data-[selected-single=true]:hover:bg-primary data-[selected-single=true]:hover:text-primary-foreground\",\n day.getMonth() !== monthDate.getMonth() && \"text-muted-foreground\",\n )}\n >\n {day.getDate()}\n </button>\n </div>\n );\n };\n\n const renderMonth = (monthDate: Date) => {\n const firstDay = startOfMonth(monthDate);\n const lastDay = addDays(addMonths(monthDate, 1), -1);\n const gridStart = startOfWeek(firstDay, merged.weekStartsOn);\n const gridEnd = endOfWeek(lastDay, merged.weekStartsOn);\n const days = eachDayOfInterval(gridStart, gridEnd);\n const weeks: Date[][] = [];\n for (let i = 0; i < days.length; i += 7) {\n weeks.push(days.slice(i, i + 7));\n }\n\n const weekdayLabels = Array.from({ length: 7 }, (_, i) =>\n formatWeekday(addDays(gridStart, i), localeCode()),\n );\n\n return (\n <div class={slotClass(\"month\")}>\n <div class={slotClass(\"nav\")}>\n <button\n type=\"button\"\n disabled={!canPrev()}\n aria-label=\"Previous month\"\n onClick={() => moveMonth(-1)}\n class={clsx(\n buttonVariants({ variant: merged.buttonVariant }),\n slotClass(\"button_previous\"),\n )}\n >\n <ChevronLeft class=\"size-4\" />\n </button>\n <button\n type=\"button\"\n disabled={!canNext()}\n aria-label=\"Next month\"\n onClick={() => moveMonth(1)}\n class={clsx(\n buttonVariants({ variant: merged.buttonVariant }),\n slotClass(\"button_next\"),\n )}\n >\n <ChevronRight class=\"size-4\" />\n </button>\n </div>\n\n <div class={slotClass(\"month_caption\")}>\n <Show\n when={merged.captionLayout === \"dropdown\"}\n fallback={\n <span class={slotClass(\"caption_label\")}>\n {formatMonthYear(monthDate, localeCode())}\n </span>\n }\n >\n <div class={slotClass(\"dropdowns\")}>\n <Select\n value={String(monthDate.getMonth())}\n onValueChange={(value) => {\n setMonth(new Date(monthDate.getFullYear(), Number(value), 1));\n }}\n >\n <SelectTrigger\n variant=\"ghost\"\n class={clsx(\n \"h-(--cell-size) rounded-(--cell-radius) px-2 text-sm font-medium\",\n slotClass(\"dropdown_root\"),\n )}\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent class=\"max-h-56\">\n <For each={monthOptions()}>\n {(option) => (\n <SelectItem value={option.value}>\n {option.label}\n </SelectItem>\n )}\n </For>\n </SelectContent>\n </Select>\n\n <Select\n value={String(monthDate.getFullYear())}\n onValueChange={(value) => {\n setMonth(new Date(Number(value), monthDate.getMonth(), 1));\n }}\n >\n <SelectTrigger\n variant=\"ghost\"\n class={clsx(\n \"h-(--cell-size) rounded-(--cell-radius) px-2 text-sm font-medium tabular-nums\",\n slotClass(\"dropdown_root\"),\n )}\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent class=\"max-h-56\">\n <For each={yearOptions()}>\n {(year) => (\n <SelectItem value={String(year)}>{year}</SelectItem>\n )}\n </For>\n </SelectContent>\n </Select>\n </div>\n </Show>\n </div>\n\n <div class={slotClass(\"month_grid\")}>\n <div class={slotClass(\"weekdays\")}>\n <Show when={merged.showWeekNumber}>\n <div class={slotClass(\"week_number_header\")} />\n </Show>\n <For each={weekdayLabels}>\n {(label) => <div class={slotClass(\"weekday\")}>{label}</div>}\n </For>\n </div>\n\n <For each={weeks}>\n {(week) => (\n <div class={slotClass(\"week\")}>\n <Show when={merged.showWeekNumber}>\n <div class={slotClass(\"week_number\")}>\n {getISOWeekNumber(week[0])}\n </div>\n </Show>\n <For each={week}>{(day) => renderDay(day, monthDate)}</For>\n </div>\n )}\n </For>\n </div>\n </div>\n );\n };\n\n return (\n <div\n data-slot=\"calendar\"\n class={clsx(slotClass(\"root\"), local.class)}\n style={local.style}\n dir={local.dir}\n {...rest}\n >\n <div class={slotClass(\"months\")}>\n <For each={monthList()}>{(monthDate) => renderMonth(monthDate)}</For>\n </div>\n </div>\n );\n}\n\nexport { defaultClassNames as calendarClassNames };\n"],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { BaseProps } from '../../../types';
2
+ import { ButtonVariant } from '../../button/Button.types';
3
+ export type CalendarMode = "single" | "multiple" | "range";
4
+ export interface DateRange {
5
+ from?: Date;
6
+ to?: Date;
7
+ }
8
+ export type CalendarSelected = Date | Date[] | DateRange | undefined;
9
+ export interface CalendarClassNames {
10
+ root?: string;
11
+ months?: string;
12
+ month?: string;
13
+ nav?: string;
14
+ button_previous?: string;
15
+ button_next?: string;
16
+ month_caption?: string;
17
+ dropdowns?: string;
18
+ dropdown_root?: string;
19
+ dropdown?: string;
20
+ caption_label?: string;
21
+ month_grid?: string;
22
+ weekdays?: string;
23
+ weekday?: string;
24
+ week?: string;
25
+ week_number_header?: string;
26
+ week_number?: string;
27
+ day?: string;
28
+ outside?: string;
29
+ disabled?: string;
30
+ hidden?: string;
31
+ today?: string;
32
+ range_start?: string;
33
+ range_middle?: string;
34
+ range_end?: string;
35
+ }
36
+ export interface CalendarProps extends BaseProps {
37
+ /** 选择模式,默认 'single' */
38
+ mode?: CalendarMode;
39
+ /** 受控选中值;不传则内部自管理 */
40
+ selected?: CalendarSelected;
41
+ defaultSelected?: CalendarSelected;
42
+ onSelect?: (selected: CalendarSelected) => void;
43
+ /** 受控展示月份;不传则内部自管理 */
44
+ month?: Date;
45
+ defaultMonth?: Date;
46
+ onMonthChange?: (month: Date) => void;
47
+ numberOfMonths?: number;
48
+ showOutsideDays?: boolean;
49
+ showWeekNumber?: boolean;
50
+ /** 一周从周几开始,0=周日,1=周一,默认 0 */
51
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
52
+ captionLayout?: "label" | "dropdown";
53
+ /** 与 react-day-picker 的 Locale 类似,支持 Intl 字符串或 { code } 对象 */
54
+ locale?: string | {
55
+ code?: string;
56
+ };
57
+ buttonVariant?: ButtonVariant;
58
+ classNames?: Partial<CalendarClassNames>;
59
+ disabled?: boolean | ((date: Date) => boolean);
60
+ min?: Date;
61
+ max?: Date;
62
+ }
@@ -0,0 +1,21 @@
1
+ import { CalendarSelected } from './Calendar.types';
2
+ export declare function toDateOnly(date: Date): Date;
3
+ export declare function startOfMonth(date: Date): Date;
4
+ export declare function addMonths(date: Date, amount: number): Date;
5
+ export declare function addDays(date: Date, amount: number): Date;
6
+ export declare function isSameDay(a: Date, b: Date): boolean;
7
+ export declare function isBefore(a: Date, b: Date): boolean;
8
+ export declare function isAfter(a: Date, b: Date): boolean;
9
+ export declare function isBeforeOrSame(a: Date, b: Date): boolean;
10
+ export declare function isAfterOrSame(a: Date, b: Date): boolean;
11
+ export declare function startOfWeek(date: Date, weekStartsOn?: number): Date;
12
+ export declare function endOfWeek(date: Date, weekStartsOn?: number): Date;
13
+ export declare function eachDayOfInterval(start: Date, end: Date): Date[];
14
+ export declare function resolveLocaleCode(locale?: string | {
15
+ code?: string;
16
+ }): string | undefined;
17
+ export declare function getFirstDate(selected: CalendarSelected): Date | undefined;
18
+ export declare function formatWeekday(date: Date, locale?: string): string;
19
+ export declare function formatMonthYear(date: Date, locale?: string): string;
20
+ export declare function formatMonthShort(date: Date, locale?: string): string;
21
+ export declare function getISOWeekNumber(date: Date): number;
@@ -0,0 +1,68 @@
1
+ //#region src/components/calendar/Calendar/Calendar.utils.ts
2
+ function e(e) {
3
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate());
4
+ }
5
+ function t(e) {
6
+ return new Date(e.getFullYear(), e.getMonth(), 1);
7
+ }
8
+ function n(e, t) {
9
+ return new Date(e.getFullYear(), e.getMonth() + t, 1);
10
+ }
11
+ function r(e, t) {
12
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate() + t);
13
+ }
14
+ function i(e, t) {
15
+ return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
16
+ }
17
+ function a(t, n) {
18
+ return e(t).getTime() < e(n).getTime();
19
+ }
20
+ function o(t, n) {
21
+ return e(t).getTime() > e(n).getTime();
22
+ }
23
+ function s(t, n) {
24
+ return e(t).getTime() <= e(n).getTime();
25
+ }
26
+ function c(t, n) {
27
+ return e(t).getTime() >= e(n).getTime();
28
+ }
29
+ function l(t, n = 0) {
30
+ let i = e(t);
31
+ return r(i, -((i.getDay() - n + 7) % 7));
32
+ }
33
+ function u(e, t = 0) {
34
+ return r(l(e, t), 6);
35
+ }
36
+ function d(t, n) {
37
+ let i = [], a = e(t), o = e(n);
38
+ for (; a.getTime() <= o.getTime();) i.push(a), a = r(a, 1);
39
+ return i;
40
+ }
41
+ function f(e) {
42
+ if (e) return typeof e == "string" ? e : e.code;
43
+ }
44
+ function p(e) {
45
+ if (e instanceof Date) return e;
46
+ if (Array.isArray(e)) return e[0];
47
+ if (e?.from) return e.from;
48
+ if (e?.to) return e.to;
49
+ }
50
+ function m(e, t) {
51
+ return new Intl.DateTimeFormat(t, { weekday: "short" }).format(e);
52
+ }
53
+ function h(e, t) {
54
+ return new Intl.DateTimeFormat(t, {
55
+ month: "long",
56
+ year: "numeric"
57
+ }).format(e);
58
+ }
59
+ function g(e) {
60
+ let t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), n = t.getUTCDay() || 7;
61
+ t.setUTCDate(t.getUTCDate() + 4 - n);
62
+ let r = new Date(Date.UTC(t.getUTCFullYear(), 0, 1));
63
+ return Math.ceil(((t.getTime() - r.getTime()) / 864e5 + 1) / 7);
64
+ }
65
+ //#endregion
66
+ export { r as addDays, n as addMonths, d as eachDayOfInterval, u as endOfWeek, h as formatMonthYear, m as formatWeekday, p as getFirstDate, g as getISOWeekNumber, o as isAfter, c as isAfterOrSame, a as isBefore, s as isBeforeOrSame, i as isSameDay, f as resolveLocaleCode, t as startOfMonth, l as startOfWeek, e as toDateOnly };
67
+
68
+ //# sourceMappingURL=Calendar.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.utils.js","names":[],"sources":["../../../../src/components/calendar/Calendar/Calendar.utils.ts"],"sourcesContent":["import type { CalendarSelected } from \"./Calendar.types\";\n\nexport function toDateOnly(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function addMonths(date: Date, amount: number): Date {\n return new Date(date.getFullYear(), date.getMonth() + amount, 1);\n}\n\nexport function addDays(date: Date, amount: number): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount);\n}\n\nexport function isSameDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n}\n\nexport function isBefore(a: Date, b: Date): boolean {\n return toDateOnly(a).getTime() < toDateOnly(b).getTime();\n}\n\nexport function isAfter(a: Date, b: Date): boolean {\n return toDateOnly(a).getTime() > toDateOnly(b).getTime();\n}\n\nexport function isBeforeOrSame(a: Date, b: Date): boolean {\n return toDateOnly(a).getTime() <= toDateOnly(b).getTime();\n}\n\nexport function isAfterOrSame(a: Date, b: Date): boolean {\n return toDateOnly(a).getTime() >= toDateOnly(b).getTime();\n}\n\nexport function startOfWeek(date: Date, weekStartsOn = 0): Date {\n const day = toDateOnly(date);\n const diff = (day.getDay() - weekStartsOn + 7) % 7;\n return addDays(day, -diff);\n}\n\nexport function endOfWeek(date: Date, weekStartsOn = 0): Date {\n return addDays(startOfWeek(date, weekStartsOn), 6);\n}\n\nexport function eachDayOfInterval(start: Date, end: Date): Date[] {\n const days: Date[] = [];\n let current = toDateOnly(start);\n const last = toDateOnly(end);\n while (current.getTime() <= last.getTime()) {\n days.push(current);\n current = addDays(current, 1);\n }\n return days;\n}\n\nexport function resolveLocaleCode(\n locale?: string | { code?: string },\n): string | undefined {\n if (!locale) return undefined;\n return typeof locale === \"string\" ? locale : locale.code;\n}\n\nexport function getFirstDate(selected: CalendarSelected): Date | undefined {\n if (selected instanceof Date) return selected;\n if (Array.isArray(selected)) return selected[0];\n if (selected?.from) return selected.from;\n if (selected?.to) return selected.to;\n return undefined;\n}\n\nexport function formatWeekday(date: Date, locale?: string): string {\n return new Intl.DateTimeFormat(locale, { weekday: \"short\" }).format(date);\n}\n\nexport function formatMonthYear(date: Date, locale?: string): string {\n return new Intl.DateTimeFormat(locale, {\n month: \"long\",\n year: \"numeric\",\n }).format(date);\n}\n\nexport function formatMonthShort(date: Date, locale?: string): string {\n return new Intl.DateTimeFormat(locale, { month: \"short\" }).format(date);\n}\n\nexport function getISOWeekNumber(date: Date): number {\n const d = new Date(\n Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()),\n );\n const dayNum = d.getUTCDay() || 7;\n d.setUTCDate(d.getUTCDate() + 4 - dayNum);\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));\n return Math.ceil(((d.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Calendar, calendarClassNames } from './Calendar';
2
+ export type { CalendarClassNames, CalendarMode, CalendarProps, CalendarSelected, DateRange, } from './Calendar.types';
@@ -0,0 +1,2 @@
1
+ export { Calendar, calendarClassNames } from './Calendar';
2
+ export type { CalendarClassNames, CalendarMode, CalendarProps, CalendarSelected, DateRange, } from './Calendar';
@@ -0,0 +1,2 @@
1
+ import { Calendar as e, calendarClassNames as t } from "./Calendar/Calendar.js";
2
+ export { e as Calendar, t as calendarClassNames };
@@ -0,0 +1,3 @@
1
+ import { ComboboxContextValue } from './Combobox.types';
2
+ export declare const ComboboxContext: import('solid-js').Context<ComboboxContextValue<any> | undefined>;
3
+ export declare function useComboboxContext(component: string): ComboboxContextValue;
@@ -0,0 +1,12 @@
1
+ import { createContext as e, useContext as t } from "solid-js";
2
+ //#region src/components/combobox/Combobox/Combobox.context.ts
3
+ var n = e();
4
+ function r(e) {
5
+ let r = t(n);
6
+ if (!r) throw Error(`<${e}> 必须渲染在 <Combobox> 内部`);
7
+ return r;
8
+ }
9
+ //#endregion
10
+ export { n as ComboboxContext, r as useComboboxContext };
11
+
12
+ //# sourceMappingURL=Combobox.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.context.js","names":[],"sources":["../../../../src/components/combobox/Combobox/Combobox.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { ComboboxContextValue } from \"./Combobox.types\";\n\nexport const ComboboxContext = createContext<ComboboxContextValue>();\n\nexport function useComboboxContext(component: string): ComboboxContextValue {\n const ctx = useContext(ComboboxContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <Combobox> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,IAAa,IAAkB,EAAoC;AAEnE,SAAgB,EAAmB,GAAyC;CAC1E,IAAM,IAAM,EAAW,CAAe;CACtC,IAAI,CAAC,GACH,MAAU,MAAM,IAAI,EAAU,sBAAsB;CAEtD,OAAO;AACT"}
@@ -0,0 +1,3 @@
1
+ import { JSX } from 'solid-js';
2
+ import { ComboboxProps } from './Combobox.types';
3
+ export declare function Combobox<T = any>(props: ComboboxProps<T>): JSX.Element;