@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,90 @@
1
+ import { JSX, JSXElement } from 'solid-js';
2
+ export type ToastTypes = "success" | "info" | "warning" | "error" | "loading" | "default";
3
+ export type Position = "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center";
4
+ export type Theme = "light" | "dark";
5
+ export type SwipeDirection = "top" | "right" | "bottom" | "left";
6
+ export interface Action {
7
+ label: JSXElement;
8
+ onClick: JSX.EventHandler<HTMLButtonElement, MouseEvent>;
9
+ actionButtonStyle?: JSX.CSSProperties;
10
+ }
11
+ export interface ToastIcons {
12
+ success?: JSXElement;
13
+ info?: JSXElement;
14
+ warning?: JSXElement;
15
+ error?: JSXElement;
16
+ loading?: JSXElement;
17
+ close?: JSXElement;
18
+ }
19
+ export interface ToastClassnames {
20
+ toast?: string;
21
+ title?: string;
22
+ description?: string;
23
+ loader?: string;
24
+ cancelButton?: string;
25
+ actionButton?: string;
26
+ closeButton?: string;
27
+ success?: string;
28
+ error?: string;
29
+ info?: string;
30
+ warning?: string;
31
+ loading?: string;
32
+ default?: string;
33
+ content?: string;
34
+ icon?: string;
35
+ }
36
+ export type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);
37
+ export type PromiseTResult<Data = any> = string | JSXElement | ((data: Data) => JSXElement | string | Promise<JSXElement | string>);
38
+ export interface PromiseData<ToastData = any> {
39
+ loading?: string | JSXElement;
40
+ success?: PromiseTResult<ToastData>;
41
+ error?: PromiseTResult;
42
+ description?: PromiseTResult;
43
+ finally?: () => void | Promise<void>;
44
+ }
45
+ export interface ToastT {
46
+ id: string;
47
+ toasterId?: string;
48
+ title?: JSXElement | (() => JSXElement);
49
+ description?: JSXElement | (() => JSXElement);
50
+ type?: ToastTypes;
51
+ icon?: JSXElement;
52
+ jsx?: JSXElement;
53
+ richColors?: boolean;
54
+ invert?: boolean;
55
+ closeButton?: boolean;
56
+ dismissible?: boolean;
57
+ duration?: number;
58
+ delete?: boolean;
59
+ action?: Action | JSXElement;
60
+ cancel?: Action | JSXElement;
61
+ onDismiss?: (toast: ToastT) => void;
62
+ onAutoClose?: (toast: ToastT) => void;
63
+ promise?: PromiseT;
64
+ style?: JSX.CSSProperties;
65
+ class?: string;
66
+ classes?: ToastClassnames;
67
+ descriptionClass?: string;
68
+ position?: Position;
69
+ testId?: string;
70
+ }
71
+ export type ExternalToast = Omit<ToastT, "id" | "type" | "title" | "jsx" | "delete" | "promise"> & {
72
+ id?: string;
73
+ toasterId?: string;
74
+ };
75
+ export interface ToastProps {
76
+ toast: ToastT;
77
+ closeButton: boolean;
78
+ duration?: number;
79
+ class?: string;
80
+ icons?: ToastIcons;
81
+ closeButtonAriaLabel?: string;
82
+ defaultRichColors?: boolean;
83
+ onRemove: (id: string) => void;
84
+ index: number;
85
+ total: number;
86
+ expanded: boolean;
87
+ position: Position;
88
+ gap: number;
89
+ }
90
+ export declare const isAction: (action: Action | JSXElement) => action is Action;
@@ -0,0 +1,6 @@
1
+ //#region src/components/toast/Toast/Toast.types.ts
2
+ var e = (e) => e?.label !== void 0;
3
+ //#endregion
4
+ export { e as isAction };
5
+
6
+ //# sourceMappingURL=Toast.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.types.js","names":[],"sources":["../../../../src/components/toast/Toast/Toast.types.ts"],"sourcesContent":["import type { JSX, JSXElement } from \"solid-js\";\n\nexport type ToastTypes =\n | \"success\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"loading\"\n | \"default\";\n\nexport type Position =\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-center\"\n | \"bottom-center\";\n\nexport type Theme = \"light\" | \"dark\";\nexport type SwipeDirection = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface Action {\n label: JSXElement;\n onClick: JSX.EventHandler<HTMLButtonElement, MouseEvent>;\n actionButtonStyle?: JSX.CSSProperties;\n}\n\nexport interface ToastIcons {\n success?: JSXElement;\n info?: JSXElement;\n warning?: JSXElement;\n error?: JSXElement;\n loading?: JSXElement;\n close?: JSXElement;\n}\n\nexport interface ToastClassnames {\n toast?: string;\n title?: string;\n description?: string;\n loader?: string;\n cancelButton?: string;\n actionButton?: string;\n closeButton?: string;\n success?: string;\n error?: string;\n info?: string;\n warning?: string;\n loading?: string;\n default?: string;\n content?: string;\n icon?: string;\n}\n\nexport type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);\n\nexport type PromiseTResult<Data = any> =\n | string\n | JSXElement\n | ((data: Data) => JSXElement | string | Promise<JSXElement | string>);\n\nexport interface PromiseData<ToastData = any> {\n loading?: string | JSXElement;\n success?: PromiseTResult<ToastData>;\n error?: PromiseTResult;\n description?: PromiseTResult;\n finally?: () => void | Promise<void>;\n}\n\nexport interface ToastT {\n id: string;\n toasterId?: string;\n title?: JSXElement | (() => JSXElement);\n description?: JSXElement | (() => JSXElement);\n type?: ToastTypes;\n icon?: JSXElement;\n jsx?: JSXElement;\n richColors?: boolean;\n invert?: boolean;\n closeButton?: boolean;\n dismissible?: boolean;\n duration?: number;\n delete?: boolean;\n action?: Action | JSXElement;\n cancel?: Action | JSXElement;\n onDismiss?: (toast: ToastT) => void;\n onAutoClose?: (toast: ToastT) => void;\n promise?: PromiseT;\n style?: JSX.CSSProperties;\n class?: string;\n classes?: ToastClassnames;\n descriptionClass?: string;\n position?: Position;\n testId?: string;\n}\n\nexport type ExternalToast = Omit<\n ToastT,\n \"id\" | \"type\" | \"title\" | \"jsx\" | \"delete\" | \"promise\"\n> & {\n id?: string;\n toasterId?: string;\n};\n\nexport interface ToastProps {\n toast: ToastT;\n closeButton: boolean;\n duration?: number;\n class?: string;\n icons?: ToastIcons;\n closeButtonAriaLabel?: string;\n defaultRichColors?: boolean;\n onRemove: (id: string) => void;\n index: number;\n total: number;\n expanded: boolean;\n position: Position;\n gap: number;\n}\n\nexport const isAction = (action: Action | JSXElement): action is Action => {\n return (action as Action)?.label !== undefined;\n};\n"],"mappings":";AAwHA,IAAa,KAAY,MACf,GAAmB,UAAU,KAAA"}
@@ -0,0 +1,2 @@
1
+ export { Toast } from './Toast';
2
+ export type { Action, ExternalToast, Position, PromiseData, PromiseT, PromiseTResult, SwipeDirection, Theme, ToastClassnames, ToastIcons, ToastProps, ToastT, ToastTypes, isAction, } from './Toast.types';
@@ -1,3 +1,3 @@
1
1
  import { Component } from 'solid-js';
2
- import { ToasterProps } from '../types';
2
+ import { ToasterProps } from './Toaster.types';
3
3
  export declare const Toaster: Component<ToasterProps>;
@@ -0,0 +1,102 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { Toast as t } from "../Toast/Toast.js";
3
+ import { removeToast as n, useSonner as r } from "../state/toast.js";
4
+ import { toasterContainerClass as i } from "./Toaster.styles.js";
5
+ import { getDocumentDirection as a, getPositionClass as o, resolveOffsetStyle as s } from "./Toaster.utils.js";
6
+ import { Portal as c, className as l, createComponent as u, effect as d, insert as f, setAttribute as p, style as m, template as h } from "solid-js/web";
7
+ import { For as g, Show as _, createMemo as v, createSignal as y, mergeProps as b, onCleanup as x, onMount as S } from "solid-js";
8
+ //#region src/components/toast/Toaster/Toaster.tsx
9
+ var C = /*#__PURE__*/ h("<div data-slot=toaster>"), w = /*#__PURE__*/ h("<ol data-slot=toaster-viewport aria-live=polite aria-relevant=\"additions text\"aria-atomic=false tabindex=-1>"), T = (h) => {
10
+ let T = b({
11
+ position: "bottom-right",
12
+ gap: 14,
13
+ visibleToasts: 3,
14
+ dir: a(),
15
+ containerAriaLabel: "Notifications",
16
+ hotkey: ["altKey", "KeyT"]
17
+ }, h), { toasts: E } = r(), [D, O] = y(!1), k = v(() => {
18
+ let e = T.id;
19
+ return e ? E.filter((t) => t.toasterId === e) : E.filter((e) => !e.toasterId);
20
+ }), A = v(() => Array.from(new Set([T.position].concat(k().filter((e) => e.position).map((e) => e.position))))), j = (e) => k().filter((t) => t.position ? t.position === e : e === T.position), M = (e) => {
21
+ let t = j(e);
22
+ return T.expand ? t : t.slice(0, T.visibleToasts);
23
+ };
24
+ S(() => {
25
+ let e = (e) => {
26
+ T.hotkey.length > 0 && T.hotkey.every((t) => e[t] || e.code === t) && O(!0), e.code === "Escape" && O(!1);
27
+ };
28
+ document.addEventListener("keydown", e), x(() => document.removeEventListener("keydown", e));
29
+ });
30
+ let N = (e) => s(e, T.offset, T.mobileOffset);
31
+ return u(c, { get children() {
32
+ var r = C();
33
+ return f(r, u(g, {
34
+ get each() {
35
+ return A();
36
+ },
37
+ children: (r) => u(_, {
38
+ get when() {
39
+ return M(r).length > 0;
40
+ },
41
+ get children() {
42
+ var a = w();
43
+ return a.addEventListener("mouseleave", () => O(!1)), a.addEventListener("mouseenter", () => O(!0)), p(a, "data-position", r), f(a, u(g, {
44
+ get each() {
45
+ return M(r);
46
+ },
47
+ children: (e, i) => u(t, {
48
+ toast: e,
49
+ get index() {
50
+ return i();
51
+ },
52
+ get total() {
53
+ return M(r).length;
54
+ },
55
+ get expanded() {
56
+ return D();
57
+ },
58
+ position: r,
59
+ get gap() {
60
+ return T.gap;
61
+ },
62
+ get closeButton() {
63
+ return e.closeButton ?? T.toastOptions?.closeButton ?? T.closeButton ?? !1;
64
+ },
65
+ get duration() {
66
+ return T.toastOptions?.duration ?? T.duration;
67
+ },
68
+ get class() {
69
+ return T.toastOptions?.class;
70
+ },
71
+ get icons() {
72
+ return T.icons;
73
+ },
74
+ get closeButtonAriaLabel() {
75
+ return T.toastOptions?.closeButtonAriaLabel;
76
+ },
77
+ get defaultRichColors() {
78
+ return T.richColors;
79
+ },
80
+ onRemove: n
81
+ })
82
+ })), d((t) => {
83
+ var n = T.customAriaLabel ?? T.containerAriaLabel, s = e(i, o(r), D() ? r.startsWith("top") ? "flex flex-col" : "flex flex-col-reverse" : "grid"), c = {
84
+ gap: `${T.gap}px`,
85
+ ...N(r),
86
+ ...T.style
87
+ };
88
+ return n !== t.e && p(a, "aria-label", t.e = n), s !== t.t && l(a, t.t = s), t.a = m(a, c, t.a), t;
89
+ }, {
90
+ e: void 0,
91
+ t: void 0,
92
+ a: void 0
93
+ }), a;
94
+ }
95
+ })
96
+ })), d(() => p(r, "dir", T.dir === "auto" ? a() : T.dir)), r;
97
+ } });
98
+ };
99
+ //#endregion
100
+ export { T as Toaster };
101
+
102
+ //# sourceMappingURL=Toaster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toaster.js","names":["For","createMemo","createSignal","mergeProps","onCleanup","onMount","Show","Component","Portal","clsx","Toast","Position","ToastT","removeToast","useSonner","ToasterProps","toasterContainerClass","getDocumentDirection","getPositionClass","resolveOffsetStyle","Toaster","props","merged","position","gap","visibleToasts","dir","containerAriaLabel","hotkey","const","toasts","expanded","setExpanded","filteredToasts","id","filter","toast","toasterId","possiblePositions","Array","from","Set","concat","map","toastsForPosition","visibleToastsForPosition","list","expand","slice","onKeyDown","e","KeyboardEvent","hotkeyPressed","length","every","key","code","document","addEventListener","removeEventListener","offsetStyle","offset","mobileOffset","_$createComponent","children","_el$","_tmpl$","_$insert","each","when","_el$2","_tmpl$2","_$setAttribute","index","total","closeButton","toastOptions","duration","class","icons","closeButtonAriaLabel","defaultRichColors","richColors","onRemove","_$effect","_p$","_v$","customAriaLabel","_v$2","startsWith","_v$3","style","Record","t","_$className","a","_$style","undefined"],"sources":["../../../../src/components/toast/Toaster/Toaster.tsx"],"sourcesContent":["import {\n For,\n createMemo,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n Show,\n type Component,\n} from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { clsx } from \"~/utils\";\nimport { Toast } from \"../Toast\";\nimport type { Position, ToastT } from \"../Toast/Toast.types\";\nimport { removeToast, useSonner } from \"../state/toast\";\nimport type { ToasterProps } from \"./Toaster.types\";\nimport { toasterContainerClass } from \"./Toaster.styles\";\nimport {\n getDocumentDirection,\n getPositionClass,\n resolveOffsetStyle,\n} from \"./Toaster.utils\";\n\nexport const Toaster: Component<ToasterProps> = (props) => {\n const merged = mergeProps(\n {\n position: \"bottom-right\",\n gap: 14,\n visibleToasts: 3,\n dir: getDocumentDirection(),\n containerAriaLabel: \"Notifications\",\n hotkey: [\"altKey\", \"KeyT\"] as string[],\n } as const,\n props,\n );\n\n const { toasts } = useSonner();\n const [expanded, setExpanded] = createSignal(false);\n\n const filteredToasts = createMemo(() => {\n const id = merged.id;\n return id\n ? toasts.filter((toast) => toast.toasterId === id)\n : toasts.filter((toast) => !toast.toasterId);\n });\n\n const possiblePositions = createMemo(() =>\n Array.from(\n new Set(\n [merged.position].concat(\n filteredToasts()\n .filter((toast) => toast.position)\n .map((toast) => toast.position as Position),\n ),\n ),\n ),\n );\n\n const toastsForPosition = (position: Position) =>\n filteredToasts().filter((toast) => {\n if (toast.position) return toast.position === position;\n return position === merged.position;\n });\n\n const visibleToastsForPosition = (position: Position) => {\n const list = toastsForPosition(position);\n if (merged.expand) return list;\n return list.slice(0, merged.visibleToasts);\n };\n\n onMount(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n const hotkeyPressed =\n merged.hotkey.length > 0 &&\n merged.hotkey.every((key) => (e as any)[key] || e.code === key);\n if (hotkeyPressed) setExpanded(true);\n if (e.code === \"Escape\") setExpanded(false);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const offsetStyle = (position: Position) =>\n resolveOffsetStyle(position, merged.offset, merged.mobileOffset);\n\n return (\n <Portal>\n <div\n data-slot=\"toaster\"\n dir={merged.dir === \"auto\" ? getDocumentDirection() : merged.dir}\n >\n <For each={possiblePositions()}>\n {(position) => (\n <Show when={visibleToastsForPosition(position).length > 0}>\n <ol\n data-slot=\"toaster-viewport\"\n data-position={position}\n aria-live=\"polite\"\n aria-relevant=\"additions text\"\n aria-atomic=\"false\"\n aria-label={merged.customAriaLabel ?? merged.containerAriaLabel}\n tabIndex={-1}\n class={clsx(\n toasterContainerClass,\n getPositionClass(position),\n expanded()\n ? position.startsWith(\"top\")\n ? \"flex flex-col\"\n : \"flex flex-col-reverse\"\n : \"grid\",\n )}\n style={{\n gap: `${merged.gap}px`,\n ...offsetStyle(position),\n ...(merged.style as Record<string, string | number>),\n }}\n onMouseEnter={() => setExpanded(true)}\n onMouseLeave={() => setExpanded(false)}\n >\n <For each={visibleToastsForPosition(position)}>\n {(toast: ToastT, index) => (\n <Toast\n toast={toast}\n index={index()}\n total={visibleToastsForPosition(position).length}\n expanded={expanded()}\n position={position}\n gap={merged.gap}\n closeButton={\n toast.closeButton ??\n merged.toastOptions?.closeButton ??\n merged.closeButton ??\n false\n }\n duration={\n merged.toastOptions?.duration ?? merged.duration\n }\n class={merged.toastOptions?.class}\n icons={merged.icons}\n closeButtonAriaLabel={\n merged.toastOptions?.closeButtonAriaLabel\n }\n defaultRichColors={merged.richColors}\n onRemove={removeToast}\n />\n )}\n </For>\n </ol>\n </Show>\n )}\n </For>\n </div>\n </Portal>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const toasterContainerClass = "fixed z-100 w-[356px] max-w-[calc(100vw-2rem)]";
@@ -0,0 +1,6 @@
1
+ //#region src/components/toast/Toaster/Toaster.styles.ts
2
+ var e = "fixed z-100 w-[356px] max-w-[calc(100vw-2rem)]";
3
+ //#endregion
4
+ export { e as toasterContainerClass };
5
+
6
+ //# sourceMappingURL=Toaster.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toaster.styles.js","names":[],"sources":["../../../../src/components/toast/Toaster/Toaster.styles.ts"],"sourcesContent":["export const toasterContainerClass =\n \"fixed z-100 w-[356px] max-w-[calc(100vw-2rem)]\";\n"],"mappings":";AAAA,IAAa,IACX"}
@@ -0,0 +1,44 @@
1
+ import { JSX } from 'solid-js';
2
+ import { Position, SwipeDirection, ToastIcons, ToastClassnames } from '../Toast/Toast.types';
3
+ export type Offset = {
4
+ top?: string | number;
5
+ right?: string | number;
6
+ bottom?: string | number;
7
+ left?: string | number;
8
+ } | string | number;
9
+ export interface ToastOptions {
10
+ class?: string;
11
+ closeButton?: boolean;
12
+ descriptionClass?: string;
13
+ style?: JSX.CSSProperties;
14
+ cancelButtonStyle?: JSX.CSSProperties;
15
+ actionButtonStyle?: JSX.CSSProperties;
16
+ duration?: number;
17
+ classes?: ToastClassnames;
18
+ closeButtonAriaLabel?: string;
19
+ toasterId?: string;
20
+ }
21
+ export interface ToasterProps {
22
+ id?: string;
23
+ invert?: boolean;
24
+ /** @deprecated Toast 不再自行设置明暗主题,请直接设置 <html data-theme="..."> */
25
+ theme?: "light" | "dark" | "system";
26
+ position?: Position;
27
+ hotkey?: string[];
28
+ richColors?: boolean;
29
+ expand?: boolean;
30
+ duration?: number;
31
+ gap?: number;
32
+ visibleToasts?: number;
33
+ closeButton?: boolean;
34
+ toastOptions?: ToastOptions;
35
+ class?: string;
36
+ style?: JSX.CSSProperties;
37
+ offset?: Offset;
38
+ mobileOffset?: Offset;
39
+ dir?: "rtl" | "ltr" | "auto";
40
+ swipeDirections?: SwipeDirection[];
41
+ icons?: ToastIcons;
42
+ customAriaLabel?: string;
43
+ containerAriaLabel?: string;
44
+ }
@@ -0,0 +1,7 @@
1
+ import { JSX } from 'solid-js';
2
+ import { Position, SwipeDirection } from '../Toast/Toast.types';
3
+ import { Offset } from './Toaster.types';
4
+ export declare function getPositionClass(position: Position): string;
5
+ export declare function resolveOffsetStyle(position: Position, offset?: Offset, mobileOffset?: Offset): JSX.CSSProperties;
6
+ export declare function getDefaultSwipeDirections(position: Position): SwipeDirection[];
7
+ export declare function getDocumentDirection(): "rtl" | "ltr" | "auto";
@@ -0,0 +1,33 @@
1
+ //#region src/components/toast/Toaster/Toaster.utils.ts
2
+ var e = "24px", t = "16px";
3
+ function n(e) {
4
+ switch (e) {
5
+ case "top-left": return "top-0 left-0";
6
+ case "top-right": return "top-0 right-0";
7
+ case "top-center": return "top-0 left-1/2 -translate-x-1/2";
8
+ case "bottom-left": return "bottom-0 left-0";
9
+ case "bottom-right": return "bottom-0 right-0";
10
+ case "bottom-center": return "bottom-0 left-1/2 -translate-x-1/2";
11
+ }
12
+ }
13
+ function r(e) {
14
+ return typeof e == "number" ? `${e}px` : e;
15
+ }
16
+ function i(n, i, a) {
17
+ let o = {}, [s, c] = n.split("-"), l = (e, t) => typeof e == "object" && e ? e : {
18
+ top: e ?? t,
19
+ right: e ?? t,
20
+ bottom: e ?? t,
21
+ left: e ?? t
22
+ }, u = l(i, e), d = l(a, t);
23
+ return s === "top" ? (o.top = r(u.top ?? e), o["--mobile-offset-top"] = r(d.top ?? t)) : (o.bottom = r(u.bottom ?? e), o["--mobile-offset-bottom"] = r(d.bottom ?? t)), c === "left" ? (o.left = r(u.left ?? e), o["--mobile-offset-left"] = r(d.left ?? t)) : c === "right" && (o.right = r(u.right ?? e), o["--mobile-offset-right"] = r(d.right ?? t)), o;
24
+ }
25
+ function a() {
26
+ if (typeof document > "u") return "ltr";
27
+ let e = document.documentElement.getAttribute("dir");
28
+ return e === "auto" || !e ? getComputedStyle(document.documentElement).direction : e;
29
+ }
30
+ //#endregion
31
+ export { a as getDocumentDirection, n as getPositionClass, i as resolveOffsetStyle };
32
+
33
+ //# sourceMappingURL=Toaster.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toaster.utils.js","names":[],"sources":["../../../../src/components/toast/Toaster/Toaster.utils.ts"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport type { Position, SwipeDirection } from \"../Toast/Toast.types\";\nimport type { Offset } from \"./Toaster.types\";\n\nconst VIEWPORT_OFFSET = \"24px\";\nconst MOBILE_VIEWPORT_OFFSET = \"16px\";\n\nexport function getPositionClass(position: Position): string {\n switch (position) {\n case \"top-left\":\n return \"top-0 left-0\";\n case \"top-right\":\n return \"top-0 right-0\";\n case \"top-center\":\n return \"top-0 left-1/2 -translate-x-1/2\";\n case \"bottom-left\":\n return \"bottom-0 left-0\";\n case \"bottom-right\":\n return \"bottom-0 right-0\";\n case \"bottom-center\":\n return \"bottom-0 left-1/2 -translate-x-1/2\";\n }\n}\n\nfunction toPx(value: string | number): string {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport function resolveOffsetStyle(\n position: Position,\n offset?: Offset,\n mobileOffset?: Offset,\n): JSX.CSSProperties {\n const style: JSX.CSSProperties = {};\n const [y, x] = position.split(\"-\");\n\n const normalize = (value: Offset | undefined, fallback: string) =>\n typeof value === \"object\" && value !== null\n ? value\n : {\n top: value ?? fallback,\n right: value ?? fallback,\n bottom: value ?? fallback,\n left: value ?? fallback,\n };\n\n const desktop = normalize(offset, VIEWPORT_OFFSET);\n const mobile = normalize(mobileOffset, MOBILE_VIEWPORT_OFFSET);\n\n if (y === \"top\") {\n style.top = toPx(desktop.top ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-top\"] = toPx(mobile.top ?? MOBILE_VIEWPORT_OFFSET);\n } else {\n style.bottom = toPx(desktop.bottom ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-bottom\"] = toPx(\n mobile.bottom ?? MOBILE_VIEWPORT_OFFSET,\n );\n }\n\n if (x === \"left\") {\n style.left = toPx(desktop.left ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-left\"] = toPx(mobile.left ?? MOBILE_VIEWPORT_OFFSET);\n } else if (x === \"right\") {\n style.right = toPx(desktop.right ?? VIEWPORT_OFFSET);\n style[\"--mobile-offset-right\"] = toPx(\n mobile.right ?? MOBILE_VIEWPORT_OFFSET,\n );\n }\n\n return style;\n}\n\nexport function getDefaultSwipeDirections(\n position: Position,\n): SwipeDirection[] {\n const [y, x] = position.split(\"-\");\n const directions: SwipeDirection[] = [];\n if (y) directions.push(y as SwipeDirection);\n if (x) directions.push(x as SwipeDirection);\n return directions;\n}\n\nexport function getDocumentDirection(): \"rtl\" | \"ltr\" | \"auto\" {\n if (typeof document === \"undefined\") return \"ltr\";\n const dir = document.documentElement.getAttribute(\"dir\");\n if (dir === \"auto\" || !dir) {\n return getComputedStyle(document.documentElement).direction as\n | \"rtl\"\n | \"ltr\"\n | \"auto\";\n }\n return dir as \"rtl\" | \"ltr\" | \"auto\";\n}\n"],"mappings":";AAIA,IAAM,IAAkB,QAClB,IAAyB;AAE/B,SAAgB,EAAiB,GAA4B;CAC3D,QAAQ,GAAR;EACE,KAAK,YACH,OAAO;EACT,KAAK,aACH,OAAO;EACT,KAAK,cACH,OAAO;EACT,KAAK,eACH,OAAO;EACT,KAAK,gBACH,OAAO;EACT,KAAK,iBACH,OAAO;CACX;AACF;AAEA,SAAS,EAAK,GAAgC;CAC5C,OAAO,OAAO,KAAU,WAAW,GAAG,EAAM,MAAM;AACpD;AAEA,SAAgB,EACd,GACA,GACA,GACmB;CACnB,IAAM,IAA2B,CAAC,GAC5B,CAAC,GAAG,KAAK,EAAS,MAAM,GAAG,GAE3B,KAAa,GAA2B,MAC5C,OAAO,KAAU,YAAY,IACzB,IACA;EACE,KAAK,KAAS;EACd,OAAO,KAAS;EAChB,QAAQ,KAAS;EACjB,MAAM,KAAS;CACjB,GAEA,IAAU,EAAU,GAAQ,CAAe,GAC3C,IAAS,EAAU,GAAc,CAAsB;CAsB7D,OApBI,MAAM,SACR,EAAM,MAAM,EAAK,EAAQ,OAAO,CAAe,GAC/C,EAAM,yBAAyB,EAAK,EAAO,OAAO,CAAsB,MAExE,EAAM,SAAS,EAAK,EAAQ,UAAU,CAAe,GACrD,EAAM,4BAA4B,EAChC,EAAO,UAAU,CACnB,IAGE,MAAM,UACR,EAAM,OAAO,EAAK,EAAQ,QAAQ,CAAe,GACjD,EAAM,0BAA0B,EAAK,EAAO,QAAQ,CAAsB,KACjE,MAAM,YACf,EAAM,QAAQ,EAAK,EAAQ,SAAS,CAAe,GACnD,EAAM,2BAA2B,EAC/B,EAAO,SAAS,CAClB,IAGK;AACT;AAYA,SAAgB,IAA+C;CAC7D,IAAI,OAAO,WAAa,KAAa,OAAO;CAC5C,IAAM,IAAM,SAAS,gBAAgB,aAAa,KAAK;CAOvD,OANI,MAAQ,UAAU,CAAC,IACd,iBAAiB,SAAS,eAAe,CAAC,CAAC,YAK7C;AACT"}
@@ -0,0 +1,3 @@
1
+ export { Toaster } from './Toaster';
2
+ export type { Offset, ToastOptions, ToasterProps } from './Toaster.types';
3
+ export { getDefaultSwipeDirections, getDocumentDirection, getPositionClass, resolveOffsetStyle, } from './Toaster.utils';
@@ -1,10 +1,5 @@
1
- /**
2
- * index.ts
3
- * Public API surface — only re-exports what consumers need.
4
- * Internal modules (hooks, utils, constants) are intentionally not re-exported.
5
- */
6
- export { toast } from './state';
7
- export { Toaster } from './components/Toaster';
8
- export { Toast } from './components/Toast';
9
- export { useSonner } from './hooks';
10
- export type { Action, ExternalToast, ToasterProps, ToastClassnames, ToastT, ToastToDismiss, } from './types';
1
+ export { Toaster } from './Toaster';
2
+ export type { Offset, ToastOptions, ToasterProps } from './Toaster';
3
+ export { Toast } from './Toast';
4
+ export type { Action, ExternalToast, Position, PromiseData, PromiseT, PromiseTResult, SwipeDirection, Theme, ToastClassnames, ToastIcons, ToastProps, ToastT, ToastTypes, isAction, } from './Toast';
5
+ export { getHistory, getToasts, toast, useSonner } from './state';
@@ -1,5 +1,4 @@
1
- import { toast as e } from "./state.js";
2
- import { useSonner as t } from "./hooks.js";
3
- import { Toast as n } from "./components/Toast.js";
4
- import { Toaster as r } from "./components/Toaster.js";
5
- export { n as Toast, r as Toaster, e as toast, t as useSonner };
1
+ import { Toast as e } from "./Toast/Toast.js";
2
+ import { getHistory as t, getToasts as n, toast as r, useSonner as i } from "./state/toast.js";
3
+ import { Toaster as a } from "./Toaster/Toaster.js";
4
+ export { e as Toast, a as Toaster, t as getHistory, n as getToasts, r as toast, i as useSonner };
@@ -0,0 +1 @@
1
+ export { getHistory, getToasts, toast, useSonner } from './toast';
@@ -0,0 +1,24 @@
1
+ import { JSXElement } from 'solid-js';
2
+ import { ExternalToast, PromiseData, PromiseT, ToastT } from '../Toast/Toast.types';
3
+ export declare function useSonner(): {
4
+ toasts: ToastT[];
5
+ };
6
+ export declare function getToasts(): ToastT[];
7
+ export declare function getHistory(): ToastT[];
8
+ declare function dismissToast(id?: string): string | undefined;
9
+ declare function removeToast(id: string): void;
10
+ export declare const toast: ((message: JSXElement, data?: ExternalToast) => string) & {
11
+ success: (message: JSXElement, data?: ExternalToast) => string;
12
+ info: (message: JSXElement, data?: ExternalToast) => string;
13
+ warning: (message: JSXElement, data?: ExternalToast) => string;
14
+ error: (message: JSXElement, data?: ExternalToast) => string;
15
+ loading: (message: JSXElement, data?: ExternalToast) => string;
16
+ message: (message: JSXElement, data?: ExternalToast) => string;
17
+ custom: (jsx: (id: string) => JSXElement, data?: ExternalToast) => string;
18
+ dismiss: typeof dismissToast;
19
+ promise: <Data = any>(promise: PromiseT<Data>, data?: PromiseData<Data>) => string | undefined;
20
+ getToasts: typeof getToasts;
21
+ getHistory: typeof getHistory;
22
+ remove: typeof removeToast;
23
+ };
24
+ export { dismissToast, removeToast };
@@ -0,0 +1,116 @@
1
+ import { createUniqueId as e } from "solid-js";
2
+ import { createStore as t, produce as n } from "solid-js/store";
3
+ //#region src/components/toast/state/toast.ts
4
+ var [r, i] = t([]);
5
+ function a() {
6
+ return { toasts: r };
7
+ }
8
+ function o() {
9
+ return r;
10
+ }
11
+ function s() {
12
+ return r;
13
+ }
14
+ function c(t) {
15
+ let r = t.id ?? e();
16
+ return i(n((e) => {
17
+ let n = e.find((e) => e.id === r), i = {
18
+ ...t,
19
+ id: r,
20
+ title: t.message,
21
+ dismissible: t.dismissible ?? !0
22
+ };
23
+ n ? Object.assign(n, i, { title: t.message ?? n.title }) : e.unshift(i);
24
+ })), r;
25
+ }
26
+ function l(e) {
27
+ return i(n(e === void 0 ? (e) => {
28
+ for (let t of e) t.delete = !0;
29
+ } : (t) => {
30
+ let n = t.find((t) => t.id === e);
31
+ n && (n.delete = !0);
32
+ })), e;
33
+ }
34
+ function u(e) {
35
+ i(n((t) => {
36
+ let n = t.findIndex((t) => t.id === e);
37
+ n !== -1 && t.splice(n, 1);
38
+ }));
39
+ }
40
+ var d = Object.assign((e, t) => c({
41
+ ...t,
42
+ message: e
43
+ }), {
44
+ success: (e, t) => c({
45
+ ...t,
46
+ type: "success",
47
+ message: e
48
+ }),
49
+ info: (e, t) => c({
50
+ ...t,
51
+ type: "info",
52
+ message: e
53
+ }),
54
+ warning: (e, t) => c({
55
+ ...t,
56
+ type: "warning",
57
+ message: e
58
+ }),
59
+ error: (e, t) => c({
60
+ ...t,
61
+ type: "error",
62
+ message: e
63
+ }),
64
+ loading: (e, t) => c({
65
+ ...t,
66
+ type: "loading",
67
+ message: e
68
+ }),
69
+ message: (e, t) => c({
70
+ ...t,
71
+ message: e
72
+ }),
73
+ custom: (t, n) => {
74
+ let r = n?.id ?? e();
75
+ return c({
76
+ ...n,
77
+ id: r,
78
+ jsx: t(r)
79
+ });
80
+ },
81
+ dismiss: l,
82
+ promise: (e, t) => {
83
+ if (!t) return;
84
+ let n;
85
+ return t.loading !== void 0 && (n = c({
86
+ ...t,
87
+ type: "loading",
88
+ message: t.loading
89
+ })), Promise.resolve(typeof e == "function" ? e() : e).then(async (e) => {
90
+ let r = typeof t.success == "function" ? await t.success(e) : t.success;
91
+ r === void 0 ? n !== void 0 && l(n) : c({
92
+ id: n,
93
+ type: "success",
94
+ message: r,
95
+ description: typeof t.description == "function" ? await t.description(e) : t.description
96
+ });
97
+ }).catch(async (e) => {
98
+ let r = typeof t.error == "function" ? await t.error(e) : t.error;
99
+ r === void 0 ? n !== void 0 && l(n) : c({
100
+ id: n,
101
+ type: "error",
102
+ message: r,
103
+ description: typeof t.description == "function" ? await t.description(e) : t.description
104
+ });
105
+ }).finally(() => {
106
+ t.finally?.();
107
+ }), n;
108
+ },
109
+ getToasts: o,
110
+ getHistory: s,
111
+ remove: u
112
+ });
113
+ //#endregion
114
+ export { l as dismissToast, s as getHistory, o as getToasts, u as removeToast, d as toast, a as useSonner };
115
+
116
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","names":[],"sources":["../../../../src/components/toast/state/toast.ts"],"sourcesContent":["import { createUniqueId, type JSXElement } from \"solid-js\";\nimport { createStore, produce } from \"solid-js/store\";\nimport type {\n ExternalToast,\n PromiseData,\n PromiseT,\n ToastT,\n ToastTypes,\n} from \"../Toast/Toast.types\";\n\nconst [toasts, setToasts] = createStore<ToastT[]>([]);\n\nexport function useSonner() {\n return { toasts };\n}\n\nexport function getToasts() {\n return toasts;\n}\n\nexport function getHistory() {\n return toasts;\n}\n\nfunction createToast(\n data: ExternalToast & {\n message?: JSXElement;\n type?: ToastTypes;\n jsx?: JSXElement;\n promise?: PromiseT;\n },\n): string {\n const id = data.id ?? createUniqueId();\n\n setToasts(\n produce((list) => {\n const existing = list.find((toast) => toast.id === id);\n const next: ToastT = {\n ...data,\n id,\n title: data.message,\n dismissible: data.dismissible ?? true,\n } as ToastT;\n\n if (existing) {\n Object.assign(existing, next, {\n title: data.message ?? existing.title,\n });\n } else {\n list.unshift(next);\n }\n }),\n );\n\n return id;\n}\n\nfunction dismissToast(id?: string) {\n if (id !== undefined) {\n setToasts(\n produce((list) => {\n const toast = list.find((item) => item.id === id);\n if (toast) toast.delete = true;\n }),\n );\n } else {\n setToasts(\n produce((list) => {\n for (const toast of list) toast.delete = true;\n }),\n );\n }\n return id;\n}\n\nfunction removeToast(id: string) {\n setToasts(\n produce((list) => {\n const index = list.findIndex((toast) => toast.id === id);\n if (index !== -1) list.splice(index, 1);\n }),\n );\n}\n\nconst toastFunction = (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, message });\n\nexport const toast = Object.assign(toastFunction, {\n success: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"success\", message }),\n info: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"info\", message }),\n warning: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"warning\", message }),\n error: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"error\", message }),\n loading: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, type: \"loading\", message }),\n message: (message: JSXElement, data?: ExternalToast) =>\n createToast({ ...data, message }),\n custom: (jsx: (id: string) => JSXElement, data?: ExternalToast) => {\n const id = data?.id ?? createUniqueId();\n return createToast({ ...data, id, jsx: jsx(id) });\n },\n dismiss: dismissToast,\n promise: <Data = any>(promise: PromiseT<Data>, data?: PromiseData<Data>) => {\n if (!data) return;\n\n let id: string | undefined;\n if (data.loading !== undefined) {\n id = createToast({\n ...data,\n type: \"loading\",\n message: data.loading,\n } as any);\n }\n\n Promise.resolve(typeof promise === \"function\" ? promise() : promise)\n .then(async (result) => {\n const message =\n typeof data.success === \"function\"\n ? await data.success(result)\n : data.success;\n\n if (message !== undefined) {\n createToast({\n id,\n type: \"success\",\n message: message as JSXElement,\n description:\n typeof data.description === \"function\"\n ? await data.description(result)\n : data.description,\n } as any);\n } else if (id !== undefined) {\n dismissToast(id);\n }\n })\n .catch(async (error) => {\n const message =\n typeof data.error === \"function\"\n ? await data.error(error)\n : data.error;\n\n if (message !== undefined) {\n createToast({\n id,\n type: \"error\",\n message: message as JSXElement,\n description:\n typeof data.description === \"function\"\n ? await data.description(error)\n : data.description,\n } as any);\n } else if (id !== undefined) {\n dismissToast(id);\n }\n })\n .finally(() => {\n data.finally?.();\n });\n\n return id as string;\n },\n getToasts,\n getHistory,\n remove: removeToast,\n});\n\nexport { dismissToast, removeToast };\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { JSX } from 'solid-js';
2
+ import { ToggleProps } from './Toggle.types';
3
+ export declare function Toggle(props: ToggleProps): JSX.Element;
@@ -0,0 +1,49 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { toggleVariants as t } from "./Toggle.styles.js";
3
+ import { delegateEvents as n, mergeProps as r, spread as i, template as a } from "solid-js/web";
4
+ import { createMemo as o, createSignal as s, mergeProps as c, splitProps as l } from "solid-js";
5
+ //#region src/components/toggle/Toggle/Toggle.tsx
6
+ var u = /*#__PURE__*/ a("<button data-slot=toggle>");
7
+ function d(n) {
8
+ let a = c({ type: "button" }, n), [d, f] = l(a, [
9
+ "pressed",
10
+ "defaultPressed",
11
+ "onPressedChange",
12
+ "variant",
13
+ "size",
14
+ "class",
15
+ "value",
16
+ "type",
17
+ "onClick"
18
+ ]), [p, m] = s(d.defaultPressed ?? !1), h = o(() => d.pressed === void 0 ? p() : d.pressed), g = (e) => {
19
+ d.pressed === void 0 && m(e), d.onPressedChange?.(e);
20
+ };
21
+ return (() => {
22
+ var n = u();
23
+ return n.$$click = (e) => {
24
+ d.onClick?.(e), e.defaultPrevented || g(!h());
25
+ }, i(n, r({
26
+ get type() {
27
+ return d.type;
28
+ },
29
+ get "data-state"() {
30
+ return h() ? "on" : "off";
31
+ },
32
+ get "aria-pressed"() {
33
+ return h();
34
+ },
35
+ get class() {
36
+ return e(t({
37
+ variant: d.variant,
38
+ size: d.size,
39
+ class: d.class
40
+ }));
41
+ }
42
+ }, f), !1, !1), n;
43
+ })();
44
+ }
45
+ n(["click"]);
46
+ //#endregion
47
+ export { d as Toggle };
48
+
49
+ //# sourceMappingURL=Toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.js","names":["createMemo","createSignal","mergeProps","splitProps","JSX","clsx","toggleVariants","ToggleProps","Toggle","props","Element","merged","type","const","local","rest","internalPressed","setInternalPressed","defaultPressed","pressed","undefined","setPressed","next","onPressedChange","_el$","_tmpl$","$$click","e","onClick","defaultPrevented","_$spread","_$mergeProps","data-state","aria-pressed","class","variant","size","_$delegateEvents"],"sources":["../../../../src/components/toggle/Toggle/Toggle.tsx"],"sourcesContent":["import {\n createMemo,\n createSignal,\n mergeProps,\n splitProps,\n type JSX,\n} from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { toggleVariants } from \"./Toggle.styles\";\nimport type { ToggleProps } from \"./Toggle.types\";\n\nexport function Toggle(props: ToggleProps): JSX.Element {\n const merged = mergeProps({ type: \"button\" as const }, props);\n\n const [local, rest] = splitProps(merged, [\n \"pressed\",\n \"defaultPressed\",\n \"onPressedChange\",\n \"variant\",\n \"size\",\n \"class\",\n \"value\",\n \"type\",\n \"onClick\",\n ]);\n\n const [internalPressed, setInternalPressed] = createSignal(\n local.defaultPressed ?? false,\n );\n const pressed = createMemo(() =>\n local.pressed !== undefined ? local.pressed : internalPressed(),\n );\n\n const setPressed = (next: boolean) => {\n if (local.pressed === undefined) setInternalPressed(next);\n local.onPressedChange?.(next);\n };\n\n return (\n <button\n type={local.type as \"button\"}\n data-slot=\"toggle\"\n data-state={pressed() ? \"on\" : \"off\"}\n aria-pressed={pressed()}\n class={clsx(\n toggleVariants({\n variant: local.variant,\n size: local.size,\n class: local.class,\n }),\n )}\n onClick={(e) => {\n (local.onClick as any)?.(e);\n if (!e.defaultPrevented) setPressed(!pressed());\n }}\n {...rest}\n />\n );\n}\n"],"mappings":";;;;;;AAWA,SAAgBQ,EAAOC,GAAiC;CACtD,IAAME,IAAST,EAAW,EAAEU,MAAM,SAAkB,GAAGH,CAAK,GAEtD,CAACK,GAAOC,KAAQZ,EAAWQ,GAAQ;EACvC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAS,CACV,GAEK,CAACK,GAAiBC,KAAsBhB,EAC5Ca,EAAMI,kBAAkB,EAC1B,GACMC,IAAUnB,QACdc,EAAMK,YAAYC,KAAAA,IAA4BJ,EAAgB,IAAhCF,EAAMK,OACtC,GAEME,KAAcC,MAAkB;EAEpCR,AADIA,EAAMK,YAAYC,KAAAA,KAAWH,EAAmBK,CAAI,GACxDR,EAAMS,kBAAkBD,CAAI;CAC9B;CAEA,cAAA;EAAA,IAAAE,IAAAC,EAAA;EAiBY,OAjBZD,EAAAE,WAacC,MAAM;GAEd,AADA,EAAOC,UAAkBD,CAAC,GACrBA,EAAEE,oBAAkBR,EAAW,CAACF,EAAQ,CAAC;EAChD,GAACW,EAAAN,GAAAO,EAAA;GAAA,IAdDnB,OAAI;IAAA,OAAEE,EAAMF;GAAgB;GAAA,IAAA,eAAA;IAAA,OAEhBO,EAAQ,IAAI,OAAO;GAAK;GAAA,IAAA,iBAAA;IAAA,OACtBA,EAAQ;GAAC;GAAA,IAAA,QAAA;IAAA,OAChBd,EACLC,EAAe;KACb6B,SAASrB,EAAMqB;KACfC,MAAMtB,EAAMsB;KACZF,OAAOpB,EAAMoB;IACf,CAAC,CACH;GAAC;EAAA,GAKGnB,CAAI,GAAA,IAAA,EAAA,GAAAS;CAAA,EAAA,CAAA;AAGd;AAACa,EAAA,CAAA,OAAA,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const toggleVariants: (props?: ({
2
+ variant?: "outline" | "default" | null | undefined;
3
+ size?: "sm" | "lg" | "default" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;