@neut/ui 0.0.11 → 0.0.13

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 (395) 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/label/index.d.ts +1 -0
  146. package/dist/components/popover/Popover/Popover.context.d.ts +3 -0
  147. package/dist/components/popover/Popover/Popover.context.js +12 -0
  148. package/dist/components/popover/Popover/Popover.context.js.map +1 -0
  149. package/dist/components/popover/Popover/Popover.d.ts +18 -0
  150. package/dist/components/popover/Popover/Popover.js +37 -0
  151. package/dist/components/popover/Popover/Popover.js.map +1 -0
  152. package/dist/components/popover/Popover/Popover.types.d.ts +24 -0
  153. package/dist/components/popover/Popover/index.d.ts +3 -0
  154. package/dist/components/popover/PopoverContent/PopoverContent.d.ts +6 -0
  155. package/dist/components/popover/PopoverContent/PopoverContent.js +72 -0
  156. package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -0
  157. package/dist/components/popover/PopoverContent/PopoverContent.types.d.ts +16 -0
  158. package/dist/components/popover/PopoverContent/PopoverContent.utils.d.ts +20 -0
  159. package/dist/components/popover/PopoverContent/PopoverContent.utils.js +36 -0
  160. package/dist/components/popover/PopoverContent/PopoverContent.utils.js.map +1 -0
  161. package/dist/components/popover/PopoverContent/index.d.ts +6 -0
  162. package/dist/components/popover/PopoverContent/usePopoverContent.d.ts +11 -0
  163. package/dist/components/popover/PopoverContent/usePopoverContent.js +42 -0
  164. package/dist/components/popover/PopoverContent/usePopoverContent.js.map +1 -0
  165. package/dist/components/popover/PopoverDescription/PopoverDescription.d.ts +2 -0
  166. package/dist/components/popover/PopoverDescription/PopoverDescription.js +18 -0
  167. package/dist/components/popover/PopoverDescription/PopoverDescription.js.map +1 -0
  168. package/dist/components/popover/PopoverDescription/index.d.ts +1 -0
  169. package/dist/components/popover/PopoverHeader/PopoverHeader.d.ts +2 -0
  170. package/dist/components/popover/PopoverHeader/PopoverHeader.js +18 -0
  171. package/dist/components/popover/PopoverHeader/PopoverHeader.js.map +1 -0
  172. package/dist/components/popover/PopoverHeader/index.d.ts +1 -0
  173. package/dist/components/popover/PopoverTitle/PopoverTitle.d.ts +2 -0
  174. package/dist/components/popover/PopoverTitle/PopoverTitle.js +18 -0
  175. package/dist/components/popover/PopoverTitle/PopoverTitle.js.map +1 -0
  176. package/dist/components/popover/PopoverTitle/index.d.ts +1 -0
  177. package/dist/components/popover/PopoverTrigger/PopoverTrigger.d.ts +4 -0
  178. package/dist/components/popover/PopoverTrigger/PopoverTrigger.js +35 -0
  179. package/dist/components/popover/PopoverTrigger/PopoverTrigger.js.map +1 -0
  180. package/dist/components/popover/PopoverTrigger/PopoverTrigger.types.d.ts +3 -0
  181. package/dist/components/popover/PopoverTrigger/index.d.ts +4 -0
  182. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.d.ts +14 -0
  183. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js +35 -0
  184. package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js.map +1 -0
  185. package/dist/components/popover/index.d.ts +9 -0
  186. package/dist/components/popover/index.js +7 -0
  187. package/dist/components/radio-group/RadioGroup/RadioGroup.context.d.ts +3 -0
  188. package/dist/components/radio-group/RadioGroup/RadioGroup.context.js +12 -0
  189. package/dist/components/radio-group/RadioGroup/RadioGroup.context.js.map +1 -0
  190. package/dist/components/radio-group/RadioGroup/RadioGroup.d.ts +15 -0
  191. package/dist/components/radio-group/RadioGroup/RadioGroup.js +56 -0
  192. package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -0
  193. package/dist/components/radio-group/RadioGroup/RadioGroup.types.d.ts +22 -0
  194. package/dist/components/radio-group/RadioGroup/index.d.ts +3 -0
  195. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.d.ts +6 -0
  196. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js +80 -0
  197. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -0
  198. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.types.d.ts +9 -0
  199. package/dist/components/radio-group/RadioGroupItem/index.d.ts +2 -0
  200. package/dist/components/radio-group/index.d.ts +4 -0
  201. package/dist/components/radio-group/index.js +3 -0
  202. package/dist/components/select/Select/Select.context.d.ts +3 -0
  203. package/dist/components/select/Select/Select.context.js +12 -0
  204. package/dist/components/select/Select/Select.context.js.map +1 -0
  205. package/dist/components/select/Select/Select.d.ts +22 -0
  206. package/dist/components/select/Select/Select.js +48 -0
  207. package/dist/components/select/Select/Select.js.map +1 -0
  208. package/dist/components/select/Select/Select.types.d.ts +45 -0
  209. package/dist/components/select/Select/index.d.ts +3 -0
  210. package/dist/components/select/SelectContent/SelectContent.d.ts +2 -0
  211. package/dist/components/select/SelectContent/SelectContent.js +80 -0
  212. package/dist/components/select/SelectContent/SelectContent.js.map +1 -0
  213. package/dist/components/select/SelectContent/SelectContent.types.d.ts +22 -0
  214. package/dist/components/select/SelectContent/SelectContent.utils.d.ts +36 -0
  215. package/dist/components/select/SelectContent/SelectContent.utils.js +66 -0
  216. package/dist/components/select/SelectContent/SelectContent.utils.js.map +1 -0
  217. package/dist/components/select/SelectContent/index.d.ts +6 -0
  218. package/dist/components/select/SelectContent/useSelectContent.d.ts +28 -0
  219. package/dist/components/select/SelectContent/useSelectContent.js +50 -0
  220. package/dist/components/select/SelectContent/useSelectContent.js.map +1 -0
  221. package/dist/components/select/SelectGroup/SelectGroup.d.ts +2 -0
  222. package/dist/components/select/SelectGroup/SelectGroup.js +13 -0
  223. package/dist/components/select/SelectGroup/SelectGroup.js.map +1 -0
  224. package/dist/components/select/SelectGroup/index.d.ts +1 -0
  225. package/dist/components/select/SelectItem/SelectItem.d.ts +2 -0
  226. package/dist/components/select/SelectItem/SelectItem.js +52 -0
  227. package/dist/components/select/SelectItem/SelectItem.js.map +1 -0
  228. package/dist/components/select/SelectItem/SelectItem.types.d.ts +10 -0
  229. package/dist/components/select/SelectItem/index.d.ts +4 -0
  230. package/dist/components/select/SelectItem/useSelectItem.d.ts +12 -0
  231. package/dist/components/select/SelectItem/useSelectItem.js +32 -0
  232. package/dist/components/select/SelectItem/useSelectItem.js.map +1 -0
  233. package/dist/components/select/SelectLabel/SelectLabel.d.ts +2 -0
  234. package/dist/components/select/SelectLabel/SelectLabel.js +13 -0
  235. package/dist/components/select/SelectLabel/SelectLabel.js.map +1 -0
  236. package/dist/components/select/SelectLabel/index.d.ts +1 -0
  237. package/dist/components/select/SelectSeparator/SelectSeparator.d.ts +2 -0
  238. package/dist/components/select/SelectSeparator/SelectSeparator.js +13 -0
  239. package/dist/components/select/SelectSeparator/SelectSeparator.js.map +1 -0
  240. package/dist/components/select/SelectSeparator/index.d.ts +1 -0
  241. package/dist/components/select/SelectTrigger/SelectTrigger.d.ts +4 -0
  242. package/dist/components/select/SelectTrigger/SelectTrigger.js +50 -0
  243. package/dist/components/select/SelectTrigger/SelectTrigger.js.map +1 -0
  244. package/dist/components/select/SelectTrigger/SelectTrigger.types.d.ts +3 -0
  245. package/dist/components/select/SelectTrigger/index.d.ts +4 -0
  246. package/dist/components/select/SelectTrigger/useSelectTrigger.d.ts +15 -0
  247. package/dist/components/select/SelectTrigger/useSelectTrigger.js +37 -0
  248. package/dist/components/select/SelectTrigger/useSelectTrigger.js.map +1 -0
  249. package/dist/components/select/SelectValue/SelectValue.d.ts +2 -0
  250. package/dist/components/select/SelectValue/SelectValue.js +20 -0
  251. package/dist/components/select/SelectValue/SelectValue.js.map +1 -0
  252. package/dist/components/select/SelectValue/SelectValue.types.d.ts +4 -0
  253. package/dist/components/select/SelectValue/index.d.ts +2 -0
  254. package/dist/components/select/index.d.ts +13 -0
  255. package/dist/components/select/index.js +9 -0
  256. package/dist/components/toast/Toast/Toast.d.ts +3 -0
  257. package/dist/components/toast/Toast/Toast.js +181 -0
  258. package/dist/components/toast/Toast/Toast.js.map +1 -0
  259. package/dist/components/toast/Toast/Toast.styles.d.ts +6 -0
  260. package/dist/components/toast/Toast/Toast.styles.js +27 -0
  261. package/dist/components/toast/Toast/Toast.styles.js.map +1 -0
  262. package/dist/components/toast/Toast/Toast.types.d.ts +90 -0
  263. package/dist/components/toast/Toast/Toast.types.js +6 -0
  264. package/dist/components/toast/Toast/Toast.types.js.map +1 -0
  265. package/dist/components/toast/Toast/index.d.ts +2 -0
  266. package/dist/components/toast/{components → Toaster}/Toaster.d.ts +1 -1
  267. package/dist/components/toast/Toaster/Toaster.js +102 -0
  268. package/dist/components/toast/Toaster/Toaster.js.map +1 -0
  269. package/dist/components/toast/Toaster/Toaster.styles.d.ts +1 -0
  270. package/dist/components/toast/Toaster/Toaster.styles.js +6 -0
  271. package/dist/components/toast/Toaster/Toaster.styles.js.map +1 -0
  272. package/dist/components/toast/Toaster/Toaster.types.d.ts +44 -0
  273. package/dist/components/toast/Toaster/Toaster.utils.d.ts +7 -0
  274. package/dist/components/toast/Toaster/Toaster.utils.js +33 -0
  275. package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -0
  276. package/dist/components/toast/Toaster/index.d.ts +3 -0
  277. package/dist/components/toast/index.d.ts +5 -10
  278. package/dist/components/toast/index.js +4 -5
  279. package/dist/components/toast/state/index.d.ts +1 -0
  280. package/dist/components/toast/state/toast.d.ts +24 -0
  281. package/dist/components/toast/state/toast.js +116 -0
  282. package/dist/components/toast/state/toast.js.map +1 -0
  283. package/dist/components/toggle/Toggle/Toggle.d.ts +3 -0
  284. package/dist/components/toggle/Toggle/Toggle.js +49 -0
  285. package/dist/components/toggle/Toggle/Toggle.js.map +1 -0
  286. package/dist/components/toggle/Toggle/Toggle.styles.d.ts +4 -0
  287. package/dist/components/toggle/Toggle/Toggle.styles.js +23 -0
  288. package/dist/components/toggle/Toggle/Toggle.styles.js.map +1 -0
  289. package/dist/components/toggle/Toggle/Toggle.types.d.ts +12 -0
  290. package/dist/components/toggle/Toggle/index.d.ts +3 -0
  291. package/dist/components/toggle/index.d.ts +2 -0
  292. package/dist/components/toggle/index.js +3 -0
  293. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.d.ts +3 -0
  294. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js +12 -0
  295. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js.map +1 -0
  296. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.d.ts +3 -0
  297. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js +68 -0
  298. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -0
  299. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.types.d.ts +28 -0
  300. package/dist/components/toggle-group/ToggleGroup/index.d.ts +3 -0
  301. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.d.ts +3 -0
  302. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js +72 -0
  303. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -0
  304. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.types.d.ts +10 -0
  305. package/dist/components/toggle-group/ToggleGroupItem/index.d.ts +2 -0
  306. package/dist/components/toggle-group/index.d.ts +4 -0
  307. package/dist/components/toggle-group/index.js +3 -0
  308. package/dist/components/tooltip/Tooltip/Tooltip.js +51 -50
  309. package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
  310. package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +3 -28
  311. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +13 -45
  312. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
  313. package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +2 -0
  314. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
  315. package/dist/components/tooltip/TooltipContent/TooltipContent.js +26 -27
  316. package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
  317. package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +3 -2
  318. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +2 -1
  319. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +8 -4
  320. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  321. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +23 -22
  322. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  323. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.d.ts +3 -0
  324. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js +10 -0
  325. package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js.map +1 -0
  326. package/dist/components/tooltip/TooltipProvider/TooltipProvider.d.ts +3 -0
  327. package/dist/components/tooltip/TooltipProvider/TooltipProvider.js +20 -0
  328. package/dist/components/tooltip/TooltipProvider/TooltipProvider.js.map +1 -0
  329. package/dist/components/tooltip/TooltipProvider/TooltipProvider.types.d.ts +11 -0
  330. package/dist/components/tooltip/TooltipProvider/index.d.ts +3 -0
  331. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js +11 -15
  332. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
  333. package/dist/components/tooltip/index.d.ts +2 -0
  334. package/dist/components/tooltip/index.js +7 -6
  335. package/dist/index.d.ts +9 -0
  336. package/dist/index.js +205 -158
  337. package/dist/lib/positioner/middleware/size.js +21 -0
  338. package/dist/lib/positioner/middleware/size.js.map +1 -0
  339. package/dist/ui.css +1 -1
  340. package/dist/utils/index.d.ts +1 -0
  341. package/dist/utils/index.js +3 -2
  342. package/dist/utils/ref.d.ts +11 -0
  343. package/dist/utils/ref.js +10 -0
  344. package/dist/utils/ref.js.map +1 -0
  345. package/package.json +8 -7
  346. package/dist/components/toast/components/Assets.d.ts +0 -9
  347. package/dist/components/toast/components/Assets.js +0 -32
  348. package/dist/components/toast/components/Assets.js.map +0 -1
  349. package/dist/components/toast/components/Toast.d.ts +0 -3
  350. package/dist/components/toast/components/Toast.js +0 -152
  351. package/dist/components/toast/components/Toast.js.map +0 -1
  352. package/dist/components/toast/components/ToastActions.d.ts +0 -12
  353. package/dist/components/toast/components/ToastActions.js +0 -62
  354. package/dist/components/toast/components/ToastActions.js.map +0 -1
  355. package/dist/components/toast/components/ToastContent.d.ts +0 -9
  356. package/dist/components/toast/components/ToastContent.js +0 -36
  357. package/dist/components/toast/components/ToastContent.js.map +0 -1
  358. package/dist/components/toast/components/ToastIcon.d.ts +0 -9
  359. package/dist/components/toast/components/ToastIcon.js +0 -59
  360. package/dist/components/toast/components/ToastIcon.js.map +0 -1
  361. package/dist/components/toast/components/Toaster.js +0 -163
  362. package/dist/components/toast/components/Toaster.js.map +0 -1
  363. package/dist/components/toast/constants.d.ts +0 -16
  364. package/dist/components/toast/constants.js +0 -6
  365. package/dist/components/toast/constants.js.map +0 -1
  366. package/dist/components/toast/hooks/useSwipe.d.ts +0 -23
  367. package/dist/components/toast/hooks/useSwipe.js +0 -59
  368. package/dist/components/toast/hooks/useSwipe.js.map +0 -1
  369. package/dist/components/toast/hooks/useTheme.d.ts +0 -2
  370. package/dist/components/toast/hooks/useTheme.js +0 -22
  371. package/dist/components/toast/hooks/useTheme.js.map +0 -1
  372. package/dist/components/toast/hooks/useToastHeight.d.ts +0 -11
  373. package/dist/components/toast/hooks/useToastHeight.js +0 -35
  374. package/dist/components/toast/hooks/useToastHeight.js.map +0 -1
  375. package/dist/components/toast/hooks/useToastSubscription.d.ts +0 -5
  376. package/dist/components/toast/hooks/useToastSubscription.js +0 -38
  377. package/dist/components/toast/hooks/useToastSubscription.js.map +0 -1
  378. package/dist/components/toast/hooks/useToastTimer.d.ts +0 -11
  379. package/dist/components/toast/hooks/useToastTimer.js +0 -22
  380. package/dist/components/toast/hooks/useToastTimer.js.map +0 -1
  381. package/dist/components/toast/hooks/useToasterKeyboard.d.ts +0 -7
  382. package/dist/components/toast/hooks/useToasterKeyboard.js +0 -14
  383. package/dist/components/toast/hooks/useToasterKeyboard.js.map +0 -1
  384. package/dist/components/toast/hooks.d.ts +0 -13
  385. package/dist/components/toast/hooks.js +0 -37
  386. package/dist/components/toast/hooks.js.map +0 -1
  387. package/dist/components/toast/state.d.ts +0 -52
  388. package/dist/components/toast/state.js +0 -170
  389. package/dist/components/toast/state.js.map +0 -1
  390. package/dist/components/toast/types.d.ts +0 -168
  391. package/dist/components/toast/types.js +0 -6
  392. package/dist/components/toast/types.js.map +0 -1
  393. package/dist/components/toast/utils.d.ts +0 -10
  394. package/dist/components/toast/utils.js +0 -39
  395. package/dist/components/toast/utils.js.map +0 -1
@@ -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;
@@ -0,0 +1,23 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ //#region src/components/toggle/Toggle/Toggle.styles.ts
3
+ var t = e("group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
4
+ variants: {
5
+ variant: {
6
+ default: "bg-transparent",
7
+ outline: "border border-input bg-transparent hover:bg-muted"
8
+ },
9
+ size: {
10
+ default: "h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
11
+ sm: "h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
12
+ lg: "h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"
13
+ }
14
+ },
15
+ defaultVariants: {
16
+ variant: "default",
17
+ size: "default"
18
+ }
19
+ });
20
+ //#endregion
21
+ export { t as toggleVariants };
22
+
23
+ //# sourceMappingURL=Toggle.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.styles.js","names":[],"sources":["../../../../src/components/toggle/Toggle/Toggle.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border border-input bg-transparent hover:bg-muted\",\n },\n size: {\n default:\n \"h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n sm: \"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAAiB,EAC5B,uhBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SAAS;EACX;EACA,MAAM;GACJ,SACE;GACF,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF"}
@@ -0,0 +1,12 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { ComponentProps } from 'solid-js';
3
+ import { toggleVariants } from './Toggle.styles';
4
+ export interface ToggleProps extends ComponentProps<"button">, VariantProps<typeof toggleVariants> {
5
+ /** 受控按下状态;不传则内部自管理 */
6
+ pressed?: boolean;
7
+ /** 非受控模式下的初始按下状态 */
8
+ defaultPressed?: boolean;
9
+ onPressedChange?: (pressed: boolean) => void;
10
+ /** 在 ToggleGroup 中使用的唯一值 */
11
+ value?: string;
12
+ }
@@ -0,0 +1,3 @@
1
+ export { Toggle } from './Toggle';
2
+ export type { ToggleProps } from './Toggle.types';
3
+ export { toggleVariants } from './Toggle.styles';
@@ -0,0 +1,2 @@
1
+ export { Toggle, toggleVariants } from './Toggle';
2
+ export type { ToggleProps } from './Toggle';
@@ -0,0 +1,3 @@
1
+ import { toggleVariants as e } from "./Toggle/Toggle.styles.js";
2
+ import { Toggle as t } from "./Toggle/Toggle.js";
3
+ export { t as Toggle, e as toggleVariants };
@@ -0,0 +1,3 @@
1
+ import { ToggleGroupContextValue } from './ToggleGroup.types';
2
+ export declare const ToggleGroupContext: import('solid-js').Context<ToggleGroupContextValue | undefined>;
3
+ export declare function useToggleGroupContext(component: string): ToggleGroupContextValue;
@@ -0,0 +1,12 @@
1
+ import { createContext as e, useContext as t } from "solid-js";
2
+ //#region src/components/toggle-group/ToggleGroup/ToggleGroup.context.ts
3
+ var n = e();
4
+ function r(e) {
5
+ let r = t(n);
6
+ if (!r) throw Error(`<${e}> 必须渲染在 <ToggleGroup> 内部`);
7
+ return r;
8
+ }
9
+ //#endregion
10
+ export { n as ToggleGroupContext, r as useToggleGroupContext };
11
+
12
+ //# sourceMappingURL=ToggleGroup.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleGroup.context.js","names":[],"sources":["../../../../src/components/toggle-group/ToggleGroup/ToggleGroup.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { ToggleGroupContextValue } from \"./ToggleGroup.types\";\n\nexport const ToggleGroupContext = createContext<ToggleGroupContextValue>();\n\nexport function useToggleGroupContext(\n component: string,\n): ToggleGroupContextValue {\n const ctx = useContext(ToggleGroupContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <ToggleGroup> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,IAAa,IAAqB,EAAuC;AAEzE,SAAgB,EACd,GACyB;CACzB,IAAM,IAAM,EAAW,CAAkB;CACzC,IAAI,CAAC,GACH,MAAU,MAAM,IAAI,EAAU,yBAAyB;CAEzD,OAAO;AACT"}
@@ -0,0 +1,3 @@
1
+ import { JSX } from 'solid-js';
2
+ import { ToggleGroupProps } from './ToggleGroup.types';
3
+ export declare function ToggleGroup(props: ToggleGroupProps): JSX.Element;