@adgytec/adgytec-web-ui-components 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/dist/App.d.ts +2 -2
  2. package/dist/assets/AppBarHeadline.css +1 -1
  3. package/dist/assets/CalendarCell.css +1 -1
  4. package/dist/assets/CalendarMenuItem.css +1 -1
  5. package/dist/assets/Card.css +1 -0
  6. package/dist/assets/CardIcon.css +1 -0
  7. package/dist/assets/ConnectedButtonGroup.css +1 -1
  8. package/dist/assets/ListAvatar.css +1 -0
  9. package/dist/assets/ListBox.css +1 -0
  10. package/dist/assets/ListIcon.css +1 -0
  11. package/dist/assets/ListItem.css +1 -0
  12. package/dist/assets/ListLabelText.css +1 -0
  13. package/dist/assets/ListMedia.css +1 -0
  14. package/dist/assets/ListOverlineText.css +1 -0
  15. package/dist/assets/ListSupportingText.css +1 -0
  16. package/dist/assets/ListTrailingText.css +1 -0
  17. package/dist/assets/NavigationScrollContainer.css +1 -1
  18. package/dist/assets/SideSheet.css +1 -1
  19. package/dist/assets/Snackbar.css +1 -1
  20. package/dist/assets/core7.css +1 -1
  21. package/dist/chunks/ActionDialog.map +1 -1
  22. package/dist/chunks/AppBar +42 -42
  23. package/dist/chunks/AppBar.map +1 -1
  24. package/dist/chunks/AppBarAction.map +1 -1
  25. package/dist/chunks/AppBarAvatar.map +1 -1
  26. package/dist/chunks/AppBarHeadline +2 -2
  27. package/dist/chunks/AppBarHeadline.map +1 -1
  28. package/dist/chunks/BaseCalendar +69 -63
  29. package/dist/chunks/BaseCalendar.map +1 -1
  30. package/dist/chunks/BottomSheet.map +1 -1
  31. package/dist/chunks/BottomSheetModal.map +1 -1
  32. package/dist/chunks/ButtonGroup.map +1 -1
  33. package/dist/chunks/CalendarCell +25 -39
  34. package/dist/chunks/CalendarCell.map +1 -1
  35. package/dist/chunks/CalendarGrid.map +1 -1
  36. package/dist/chunks/CalendarMenuItem +1 -1
  37. package/dist/chunks/CalendarMenuItem.map +1 -1
  38. package/dist/chunks/Card +22 -0
  39. package/dist/chunks/Card.map +1 -0
  40. package/dist/chunks/CardIcon +23 -0
  41. package/dist/chunks/CardIcon.map +1 -0
  42. package/dist/chunks/CenteredSlider.map +1 -1
  43. package/dist/chunks/ComboBox.map +1 -1
  44. package/dist/chunks/ComboBoxPopover.map +1 -1
  45. package/dist/chunks/ComboBoxTrigger +592 -62
  46. package/dist/chunks/ComboBoxTrigger.map +1 -1
  47. package/dist/chunks/ConnectedButtonGroup +19 -16
  48. package/dist/chunks/ConnectedButtonGroup.map +1 -1
  49. package/dist/chunks/Dialog.map +1 -1
  50. package/dist/chunks/Disclosure.map +1 -1
  51. package/dist/chunks/DisclosureGroup.map +1 -1
  52. package/dist/chunks/DisclosureHeader.map +1 -1
  53. package/dist/chunks/DisclosurePanel.map +1 -1
  54. package/dist/chunks/Divider.map +1 -1
  55. package/dist/chunks/FieldError.map +1 -1
  56. package/dist/chunks/GridBackgroundDecorator.map +1 -1
  57. package/dist/chunks/Icon.map +1 -1
  58. package/dist/chunks/Input.map +1 -1
  59. package/dist/chunks/Input2 +2 -1
  60. package/dist/chunks/Input2.map +1 -1
  61. package/dist/chunks/ListAction +13 -0
  62. package/dist/chunks/ListAction.map +1 -0
  63. package/dist/chunks/ListAvatar +20 -0
  64. package/dist/chunks/ListAvatar.map +1 -0
  65. package/dist/chunks/ListBox +16 -0
  66. package/dist/chunks/ListBox.map +1 -0
  67. package/dist/chunks/ListIcon +21 -0
  68. package/dist/chunks/ListIcon.map +1 -0
  69. package/dist/chunks/ListItem +63 -0
  70. package/dist/chunks/ListItem.map +1 -0
  71. package/dist/chunks/ListLabelText +22 -0
  72. package/dist/chunks/ListLabelText.map +1 -0
  73. package/dist/chunks/ListMedia +15 -0
  74. package/dist/chunks/ListMedia.map +1 -0
  75. package/dist/chunks/ListOverlineText +21 -0
  76. package/dist/chunks/ListOverlineText.map +1 -0
  77. package/dist/chunks/ListSupportingText +22 -0
  78. package/dist/chunks/ListSupportingText.map +1 -0
  79. package/dist/chunks/ListTrailingText +21 -0
  80. package/dist/chunks/ListTrailingText.map +1 -0
  81. package/dist/chunks/Loader.map +1 -1
  82. package/dist/chunks/MenuPopover.map +1 -1
  83. package/dist/chunks/Modal.map +1 -1
  84. package/dist/chunks/ModalOverlay.map +1 -1
  85. package/dist/chunks/Navigation +20 -20
  86. package/dist/chunks/Navigation.map +1 -1
  87. package/dist/chunks/NavigationScrollContainer +48 -32
  88. package/dist/chunks/NavigationScrollContainer.map +1 -1
  89. package/dist/chunks/NavigationSection.map +1 -1
  90. package/dist/chunks/NavigationSectionLabel.map +1 -1
  91. package/dist/chunks/Popover.map +1 -1
  92. package/dist/chunks/RadialGlowDecorator.map +1 -1
  93. package/dist/chunks/Radio.map +1 -1
  94. package/dist/chunks/RichTooltip.map +1 -1
  95. package/dist/chunks/RichTooltipActions.map +1 -1
  96. package/dist/chunks/RichTooltipInfo.map +1 -1
  97. package/dist/chunks/SearchField.map +1 -1
  98. package/dist/chunks/SelectPopover.map +1 -1
  99. package/dist/chunks/SelectTrigger.map +1 -1
  100. package/dist/chunks/SideSheet +7 -7
  101. package/dist/chunks/SideSheet.map +1 -1
  102. package/dist/chunks/SideSheetModal.map +1 -1
  103. package/dist/chunks/Slider.map +1 -1
  104. package/dist/chunks/SliderOutput.map +1 -1
  105. package/dist/chunks/SliderStops +3 -3
  106. package/dist/chunks/SliderStops.map +1 -1
  107. package/dist/chunks/SliderThumb.map +1 -1
  108. package/dist/chunks/Snackbar +18 -27
  109. package/dist/chunks/Snackbar.map +1 -1
  110. package/dist/chunks/SplitButton +13 -10
  111. package/dist/chunks/SplitButton.map +1 -1
  112. package/dist/chunks/SplitButtonTrigger +8 -7
  113. package/dist/chunks/SplitButtonTrigger.map +1 -1
  114. package/dist/chunks/SubmenuPopover.map +1 -1
  115. package/dist/chunks/Switch.map +1 -1
  116. package/dist/chunks/Tab.map +1 -1
  117. package/dist/chunks/TabList.map +1 -1
  118. package/dist/chunks/TabPanel.map +1 -1
  119. package/dist/chunks/TabPanels.map +1 -1
  120. package/dist/chunks/Tabs.map +1 -1
  121. package/dist/chunks/Tag.map +1 -1
  122. package/dist/chunks/ThemeSelector +75 -71
  123. package/dist/chunks/ThemeSelector.map +1 -1
  124. package/dist/chunks/Toolbar.map +1 -1
  125. package/dist/chunks/Tooltip.map +1 -1
  126. package/dist/chunks/base.map +1 -1
  127. package/dist/chunks/compiler-runtime +2 -2
  128. package/dist/chunks/compiler-runtime.map +1 -1
  129. package/dist/chunks/context.map +1 -1
  130. package/dist/chunks/core +27 -25
  131. package/dist/chunks/core.map +1 -1
  132. package/dist/chunks/core2.map +1 -1
  133. package/dist/chunks/core3.map +1 -1
  134. package/dist/chunks/core4.map +1 -1
  135. package/dist/chunks/core5.map +1 -1
  136. package/dist/chunks/core6 +11 -11
  137. package/dist/chunks/core6.map +1 -1
  138. package/dist/chunks/core7.map +1 -1
  139. package/dist/chunks/core8.map +1 -1
  140. package/dist/chunks/core9.map +1 -1
  141. package/dist/chunks/navContext.map +1 -1
  142. package/dist/chunks/tapTarget.map +1 -1
  143. package/dist/chunks/types +6 -0
  144. package/dist/chunks/types.map +1 -0
  145. package/dist/chunks/useHover +460 -153
  146. package/dist/chunks/useHover.map +1 -1
  147. package/dist/chunks/useSplash +17 -19
  148. package/dist/chunks/useSplash.map +1 -1
  149. package/dist/components/AppBar/AppBar/AppBar.d.ts +29 -0
  150. package/dist/components/AppBar/AppBar/types.d.ts +29 -4
  151. package/dist/components/AppBar/AppBarAction/AppBarAction.d.ts +19 -1
  152. package/dist/components/AppBar/AppBarAvatar/AppBarAvatar.d.ts +20 -1
  153. package/dist/components/AppBar/AppBarHeadline/AppBarHeadline.d.ts +19 -1
  154. package/dist/components/AppBar/AppBarState/AppBarState.d.ts +28 -2
  155. package/dist/components/AppBar/AppBarState/context.d.ts +37 -0
  156. package/dist/components/AppBar/AppBarState/index.js +16 -10
  157. package/dist/components/AppBar/AppBarState/index.js.map +1 -1
  158. package/dist/components/AppBar/core/alignment.d.ts +6 -0
  159. package/dist/components/AppBar/core/context.d.ts +16 -0
  160. package/dist/components/AppBar/core/index.js.map +1 -1
  161. package/dist/components/AppBar/core/size.d.ts +13 -0
  162. package/dist/components/AppBar/index.js +7 -7
  163. package/dist/components/Button/Button/Button.d.ts +17 -0
  164. package/dist/components/Button/Button/index.js.map +1 -1
  165. package/dist/components/Button/Button/types.d.ts +4 -0
  166. package/dist/components/Button/ButtonGroups/ButtonGroup/ButtonGroup.d.ts +17 -0
  167. package/dist/components/Button/ButtonGroups/ButtonGroup/types.d.ts +24 -0
  168. package/dist/components/Button/ButtonGroups/ButtonGroupContext/context.d.ts +22 -0
  169. package/dist/components/Button/ButtonGroups/ButtonGroupContext/index.js.map +1 -1
  170. package/dist/components/Button/ButtonGroups/ButtonGroupContext/useButtonGroupContext.d.ts +5 -0
  171. package/dist/components/Button/ButtonGroups/ButtonGroupContext/useConnectedButtonGroupContext.d.ts +5 -0
  172. package/dist/components/Button/ButtonGroups/ConnectedButton/ConnectedButton.d.ts +13 -0
  173. package/dist/components/Button/ButtonGroups/ConnectedButton/types.d.ts +19 -1
  174. package/dist/components/Button/ButtonGroups/ConnectedButtonGroup/ConnectedButtonGroup.d.ts +18 -0
  175. package/dist/components/Button/ButtonGroups/ConnectedButtonGroup/types.d.ts +24 -0
  176. package/dist/components/Button/IconButton/IconButton.d.ts +21 -0
  177. package/dist/components/Button/IconButton/index.js.map +1 -1
  178. package/dist/components/Button/IconButton/types.d.ts +4 -0
  179. package/dist/components/Button/LinkButton/LinkButton.d.ts +15 -0
  180. package/dist/components/Button/LinkButton/index.js.map +1 -1
  181. package/dist/components/Button/LinkButton/types.d.ts +4 -0
  182. package/dist/components/Button/LinkIconButton/LinkIconButton.d.ts +19 -0
  183. package/dist/components/Button/LinkIconButton/index.js.map +1 -1
  184. package/dist/components/Button/LinkIconButton/types.d.ts +4 -0
  185. package/dist/components/Button/SplitButton/SplitButton/SplitButton.d.ts +24 -0
  186. package/dist/components/Button/SplitButton/SplitButton/types.d.ts +23 -0
  187. package/dist/components/Button/SplitButton/SplitButtonContext/context.d.ts +11 -0
  188. package/dist/components/Button/SplitButton/SplitButtonContext/index.js.map +1 -1
  189. package/dist/components/Button/SplitButton/SplitButtonContext/useSplitButtonContext.d.ts +5 -0
  190. package/dist/components/Button/SplitButton/SplitButtonPrimary/SplitButtonPrimary.d.ts +15 -0
  191. package/dist/components/Button/SplitButton/SplitButtonPrimary/index.js +2 -2
  192. package/dist/components/Button/SplitButton/SplitButtonPrimary/index.js.map +1 -1
  193. package/dist/components/Button/SplitButton/SplitButtonPrimary/types.d.ts +11 -0
  194. package/dist/components/Button/SplitButton/SplitButtonTrigger/SplitButtonTrigger.d.ts +19 -0
  195. package/dist/components/Button/SplitButton/SplitButtonTrigger/types.d.ts +5 -0
  196. package/dist/components/Button/SplitButton/core/size.d.ts +13 -0
  197. package/dist/components/Button/ToggleButton/ToggleButton.d.ts +21 -0
  198. package/dist/components/Button/ToggleButton/index.js.map +1 -1
  199. package/dist/components/Button/ToggleButton/types.d.ts +14 -0
  200. package/dist/components/Button/ToggleIconButton/ToggleIconButton.d.ts +21 -0
  201. package/dist/components/Button/ToggleIconButton/index.js.map +1 -1
  202. package/dist/components/Button/ToggleIconButton/types.d.ts +9 -0
  203. package/dist/components/Button/core/button.d.ts +33 -0
  204. package/dist/components/Button/core/color.d.ts +38 -0
  205. package/dist/components/Button/core/shape.d.ts +6 -0
  206. package/dist/components/Button/core/sizes.d.ts +26 -0
  207. package/dist/components/Button/core/useButtonConfig.d.ts +25 -0
  208. package/dist/components/Button/core/variant.d.ts +6 -0
  209. package/dist/components/Button/core/width.d.ts +7 -0
  210. package/dist/components/Button/core/withTooltip.d.ts +9 -2
  211. package/dist/components/Calendar/BaseCalendar/BaseCalendar.d.ts +23 -2
  212. package/dist/components/Calendar/Calendar/Calendar.d.ts +39 -2
  213. package/dist/components/Calendar/Calendar/index.js +18 -12
  214. package/dist/components/Calendar/Calendar/index.js.map +1 -1
  215. package/dist/components/Calendar/CalendarCell/CalendarCell.d.ts +14 -2
  216. package/dist/components/Calendar/CalendarGrid/CalendarGrid.d.ts +12 -2
  217. package/dist/components/Calendar/CalendarMenuItem/CalendarMenuItem.d.ts +12 -1
  218. package/dist/components/Calendar/CalendarMonthMenu/CalendarMonthMenu.d.ts +14 -2
  219. package/dist/components/Calendar/CalendarMonthMenu/index.js +2 -2
  220. package/dist/components/Calendar/CalendarMonthMenu/index.js.map +1 -1
  221. package/dist/components/Calendar/CalendarYearMenu/CalendarYearMenu.d.ts +14 -2
  222. package/dist/components/Calendar/CalendarYearMenu/index.js.map +1 -1
  223. package/dist/components/Calendar/RangeCalendar/RangeCalendar.d.ts +40 -2
  224. package/dist/components/Calendar/RangeCalendar/index.js +19 -15
  225. package/dist/components/Calendar/RangeCalendar/index.js.map +1 -1
  226. package/dist/components/Calendar/core/calendar.d.ts +26 -0
  227. package/dist/components/Calendar/core/useCalendarState.d.ts +15 -0
  228. package/dist/components/Calendar/index.d.ts +1 -0
  229. package/dist/components/Calendar/index.js +4 -3
  230. package/dist/components/Card/Card/Card.d.ts +22 -0
  231. package/dist/components/{Image → Card/Card}/index.d.ts +1 -1
  232. package/dist/components/Card/Card/index.js +3 -0
  233. package/dist/components/Card/Card/types.d.ts +30 -0
  234. package/dist/components/Card/CardIcon/CardIcon.d.ts +26 -0
  235. package/dist/components/Card/CardIcon/index.d.ts +1 -0
  236. package/dist/components/Card/CardIcon/index.js +2 -0
  237. package/dist/components/Card/index.d.ts +2 -0
  238. package/dist/components/Card/index.js +4 -0
  239. package/dist/components/Decorators/GridBackgroundDecorator/GridBackgroundDecorator.d.ts +46 -7
  240. package/dist/components/Decorators/RadialGlowDecorator/RadialGlowDecorator.d.ts +53 -6
  241. package/dist/components/Dialog/ActionDialog/ActionDialog.d.ts +33 -0
  242. package/dist/components/Dialog/ActionDialog/types.d.ts +28 -2
  243. package/dist/components/Dialog/Dialog/Dialog.d.ts +32 -1
  244. package/dist/components/Dialog/Modal/Modal.d.ts +24 -1
  245. package/dist/components/Dialog/ModalOverlay/ModalOverlay.d.ts +25 -1
  246. package/dist/components/Dialog/core/context.d.ts +8 -0
  247. package/dist/components/Dialog/core/index.js.map +1 -1
  248. package/dist/components/Dialog/core/typography.d.ts +9 -0
  249. package/dist/components/Disclosure/Disclosure/Disclosure.d.ts +25 -1
  250. package/dist/components/Disclosure/DisclosureGroup/DisclosureGroup.d.ts +50 -2
  251. package/dist/components/Disclosure/DisclosureHeader/DisclosureHeader.d.ts +31 -2
  252. package/dist/components/Disclosure/DisclosurePanel/DisclosurePanel.d.ts +31 -2
  253. package/dist/components/Disclosure/context/context.d.ts +11 -2
  254. package/dist/components/Disclosure/context/index.js.map +1 -1
  255. package/dist/components/Disclosure/context/useDisclosureTypographyContext.d.ts +18 -2
  256. package/dist/components/Divider/Divider.d.ts +30 -1
  257. package/dist/components/Icon/Icon.d.ts +29 -0
  258. package/dist/components/Icon/types.d.ts +28 -0
  259. package/dist/components/Input/CharacterCount/CharacterCount.d.ts +11 -2
  260. package/dist/components/Input/CharacterCount/index.js.map +1 -1
  261. package/dist/components/Input/Checkbox/Checkbox.d.ts +15 -0
  262. package/dist/components/Input/Checkbox/CheckboxGroup.d.ts +17 -0
  263. package/dist/components/Input/Checkbox/context.d.ts +10 -2
  264. package/dist/components/Input/Checkbox/types.d.ts +42 -0
  265. package/dist/components/Input/DateField/DateField.d.ts +17 -1
  266. package/dist/components/Input/DateField/index.js.map +1 -1
  267. package/dist/components/Input/DateField/types.d.ts +4 -0
  268. package/dist/components/Input/DatePicker/DatePicker/DatePicker.d.ts +17 -1
  269. package/dist/components/Input/DatePicker/DatePicker/index.js.map +1 -1
  270. package/dist/components/Input/DatePicker/DatePicker/types.d.ts +10 -0
  271. package/dist/components/Input/DatePicker/DateRangePicker/DateRangePicker.d.ts +17 -1
  272. package/dist/components/Input/DatePicker/DateRangePicker/index.js.map +1 -1
  273. package/dist/components/Input/DatePicker/DateRangePicker/types.d.ts +10 -0
  274. package/dist/components/Input/DatePicker/core/datePicker.d.ts +3 -0
  275. package/dist/components/Input/Description/Description.d.ts +12 -1
  276. package/dist/components/Input/Description/index.js.map +1 -1
  277. package/dist/components/Input/FieldError/FieldError.d.ts +12 -1
  278. package/dist/components/Input/Input/Input.d.ts +27 -0
  279. package/dist/components/Input/Input/InputButton.d.ts +10 -1
  280. package/dist/components/Input/Input/handleInputButton.d.ts +6 -0
  281. package/dist/components/Input/Input/types.d.ts +20 -0
  282. package/dist/components/Input/Label/Label.d.ts +12 -1
  283. package/dist/components/Input/Label/index.js.map +1 -1
  284. package/dist/components/Input/Radio/Radio.d.ts +16 -0
  285. package/dist/components/Input/Radio/RadioGroup.d.ts +17 -0
  286. package/dist/components/Input/Radio/context.d.ts +10 -2
  287. package/dist/components/Input/Radio/types.d.ts +40 -0
  288. package/dist/components/Input/SearchField/SearchField.d.ts +16 -0
  289. package/dist/components/Input/SearchField/types.d.ts +9 -0
  290. package/dist/components/Input/Select/ComboBox/ComboBox.d.ts +29 -1
  291. package/dist/components/Input/Select/ComboBox/context.d.ts +3 -0
  292. package/dist/components/Input/Select/ComboBox/types.d.ts +9 -0
  293. package/dist/components/Input/Select/ComboBoxPopover/ComboBoxPopover.d.ts +10 -1
  294. package/dist/components/Input/Select/ComboBoxTrigger/ComboBoxTrigger.d.ts +10 -2
  295. package/dist/components/Input/Select/Select/Select.d.ts +29 -1
  296. package/dist/components/Input/Select/Select/index.js.map +1 -1
  297. package/dist/components/Input/Select/Select/types.d.ts +4 -0
  298. package/dist/components/Input/Select/SelectItem/SelectItem.d.ts +19 -0
  299. package/dist/components/Input/Select/SelectItem/index.js.map +1 -1
  300. package/dist/components/Input/Select/SelectItem/types.d.ts +9 -0
  301. package/dist/components/Input/Select/SelectList/SelectList.d.ts +14 -2
  302. package/dist/components/Input/Select/SelectList/index.js.map +1 -1
  303. package/dist/components/Input/Select/SelectListSection/SelectListSection.d.ts +4 -1
  304. package/dist/components/Input/Select/SelectListSection/index.js.map +1 -1
  305. package/dist/components/Input/Select/SelectListSectionHeader/SelectListSectionHeader.d.ts +3 -0
  306. package/dist/components/Input/Select/SelectListSectionHeader/index.js.map +1 -1
  307. package/dist/components/Input/Select/SelectPopover/SelectPopover.d.ts +10 -1
  308. package/dist/components/Input/Select/SelectTrigger/SelectTrigger.d.ts +10 -1
  309. package/dist/components/Input/Slider/CenteredSlider/CenteredSlider.d.ts +23 -1
  310. package/dist/components/Input/Slider/CenteredSlider/types.d.ts +6 -0
  311. package/dist/components/Input/Slider/RangeSlider/RangeSlider.d.ts +24 -1
  312. package/dist/components/Input/Slider/RangeSlider/index.js.map +1 -1
  313. package/dist/components/Input/Slider/RangeSlider/types.d.ts +9 -0
  314. package/dist/components/Input/Slider/Slider/Slider.d.ts +24 -1
  315. package/dist/components/Input/Slider/Slider/types.d.ts +13 -0
  316. package/dist/components/Input/Slider/SliderOutput/SliderOutput.d.ts +19 -1
  317. package/dist/components/Input/Slider/SliderStops/SliderStops.d.ts +18 -0
  318. package/dist/components/Input/Slider/SliderStops/core.d.ts +54 -10
  319. package/dist/components/Input/Slider/SliderStops/types.d.ts +38 -0
  320. package/dist/components/Input/Slider/SliderThumb/SliderThumb.d.ts +32 -2
  321. package/dist/components/Input/Slider/SliderThumb/context.d.ts +20 -0
  322. package/dist/components/Input/Slider/core/color.d.ts +1 -0
  323. package/dist/components/Input/Slider/core/size.d.ts +12 -0
  324. package/dist/components/Input/Slider/core/slider.d.ts +44 -0
  325. package/dist/components/Input/Slider/core/variant.d.ts +10 -0
  326. package/dist/components/Input/Switch/Switch.d.ts +15 -0
  327. package/dist/components/Input/Switch/types.d.ts +33 -0
  328. package/dist/components/Input/TextArea/TextArea.d.ts +19 -0
  329. package/dist/components/Input/TextArea/index.js.map +1 -1
  330. package/dist/components/Input/TextArea/types.d.ts +11 -0
  331. package/dist/components/Input/TimeField/TimeField.d.ts +17 -1
  332. package/dist/components/Input/TimeField/index.js.map +1 -1
  333. package/dist/components/Input/TimeField/types.d.ts +4 -0
  334. package/dist/components/Input/core/input.d.ts +15 -0
  335. package/dist/components/Input/core/textField.d.ts +13 -0
  336. package/dist/components/Input/hooks/index.js.map +1 -1
  337. package/dist/components/Input/hooks/useControllableState.d.ts +17 -2
  338. package/dist/components/List/ListAction/ListAction.d.ts +24 -0
  339. package/dist/components/List/ListAction/index.d.ts +1 -0
  340. package/dist/components/List/ListAction/index.js +2 -0
  341. package/dist/components/List/ListAvatar/ListAvatar.d.ts +23 -0
  342. package/dist/components/List/ListAvatar/index.d.ts +1 -0
  343. package/dist/components/List/ListAvatar/index.js +2 -0
  344. package/dist/components/List/ListBox/ListBox.d.ts +29 -0
  345. package/dist/components/List/ListBox/index.d.ts +2 -0
  346. package/dist/components/List/ListBox/index.js +2 -0
  347. package/dist/components/List/ListBox/types.d.ts +20 -0
  348. package/dist/components/List/ListIcon/ListIcon.d.ts +20 -0
  349. package/dist/components/List/ListIcon/index.d.ts +1 -0
  350. package/dist/components/List/ListIcon/index.js +2 -0
  351. package/dist/components/List/ListItem/ListItem.d.ts +36 -0
  352. package/dist/components/List/ListItem/index.d.ts +2 -0
  353. package/dist/components/List/ListItem/index.js +2 -0
  354. package/dist/components/List/ListItem/types.d.ts +30 -0
  355. package/dist/components/List/ListLabelText/ListLabelText.d.ts +17 -0
  356. package/dist/components/List/ListLabelText/index.d.ts +1 -0
  357. package/dist/components/List/ListLabelText/index.js +2 -0
  358. package/dist/components/List/ListMedia/ListMedia.d.ts +22 -0
  359. package/dist/components/List/ListMedia/index.d.ts +2 -0
  360. package/dist/components/List/ListMedia/index.js +2 -0
  361. package/dist/components/List/ListMedia/types.d.ts +42 -0
  362. package/dist/components/List/ListOverlineText/ListOverlineText.d.ts +17 -0
  363. package/dist/components/List/ListOverlineText/index.d.ts +1 -0
  364. package/dist/components/List/ListOverlineText/index.js +2 -0
  365. package/dist/components/List/ListSupportingText/ListSupportingText.d.ts +17 -0
  366. package/dist/components/List/ListSupportingText/index.d.ts +1 -0
  367. package/dist/components/List/ListSupportingText/index.js +2 -0
  368. package/dist/components/List/ListTrailingText/ListTrailingText.d.ts +17 -0
  369. package/dist/components/List/ListTrailingText/index.d.ts +1 -0
  370. package/dist/components/List/ListTrailingText/index.js +2 -0
  371. package/dist/components/List/index.d.ts +10 -0
  372. package/dist/components/List/index.js +11 -0
  373. package/dist/components/Loader/Loader.d.ts +26 -1
  374. package/dist/components/Menu/Menu/Menu.d.ts +31 -1
  375. package/dist/components/Menu/Menu/index.js.map +1 -1
  376. package/dist/components/Menu/Menu/types.d.ts +18 -0
  377. package/dist/components/Menu/MenuItem/MenuItem.d.ts +22 -0
  378. package/dist/components/Menu/MenuItem/index.js.map +1 -1
  379. package/dist/components/Menu/MenuItem/types.d.ts +24 -0
  380. package/dist/components/Menu/MenuPopover/MenuPopover.d.ts +21 -1
  381. package/dist/components/Menu/MenuSection/MenuSection.d.ts +23 -1
  382. package/dist/components/Menu/MenuSection/index.js.map +1 -1
  383. package/dist/components/Menu/MenuSectionHeader/MenuSectionHeader.d.ts +16 -1
  384. package/dist/components/Menu/MenuSectionHeader/index.js.map +1 -1
  385. package/dist/components/Menu/MenuShortcut/MenuShortcut.d.ts +16 -1
  386. package/dist/components/Menu/MenuShortcut/index.js.map +1 -1
  387. package/dist/components/Menu/MenuTrailingText/MenuTrailingText.d.ts +16 -1
  388. package/dist/components/Menu/MenuTrailingText/index.js.map +1 -1
  389. package/dist/components/Menu/MenuTrigger/MenuTrigger.d.ts +43 -2
  390. package/dist/components/Menu/MenuTrigger/index.js.map +1 -1
  391. package/dist/components/Menu/SubmenuPopover/SubmenuPopover.d.ts +22 -1
  392. package/dist/components/Menu/context/context.d.ts +13 -0
  393. package/dist/components/Menu/context/index.js.map +1 -1
  394. package/dist/components/Menu/context/useMenuConfigContext.d.ts +6 -0
  395. package/dist/components/Menu/core/color.d.ts +20 -0
  396. package/dist/components/Menu/core/layout.d.ts +17 -0
  397. package/dist/components/Menu/core/menu.d.ts +18 -0
  398. package/dist/components/Navigation/Navigation/Navigation.d.ts +28 -0
  399. package/dist/components/Navigation/Navigation/navContext.d.ts +19 -0
  400. package/dist/components/Navigation/Navigation/navRenderingContext.d.ts +16 -0
  401. package/dist/components/Navigation/Navigation/types.d.ts +28 -0
  402. package/dist/components/Navigation/NavigationItem/NavigationButton/NavigationButton.d.ts +15 -0
  403. package/dist/components/Navigation/NavigationItem/NavigationButton/index.js.map +1 -1
  404. package/dist/components/Navigation/NavigationItem/NavigationButton/types.d.ts +9 -0
  405. package/dist/components/Navigation/NavigationItem/NavigationItemIconRenderer/NavigationItemIconRenderer.d.ts +21 -2
  406. package/dist/components/Navigation/NavigationItem/NavigationItemIconRenderer/index.js.map +1 -1
  407. package/dist/components/Navigation/NavigationItem/NavigationLink/NavigationLink.d.ts +15 -0
  408. package/dist/components/Navigation/NavigationItem/NavigationLink/index.js.map +1 -1
  409. package/dist/components/Navigation/NavigationItem/NavigationLink/types.d.ts +5 -0
  410. package/dist/components/Navigation/NavigationItem/core/navigationItem.d.ts +22 -0
  411. package/dist/components/Navigation/NavigationScrollContainer/NavigationScrollContainer.d.ts +22 -1
  412. package/dist/components/Navigation/NavigationSection/NavigationSection/NavigationSection.d.ts +24 -1
  413. package/dist/components/Navigation/NavigationSection/NavigationSectionLabel/NavigationSectionLabel.d.ts +16 -1
  414. package/dist/components/Navigation/NavigationState/NavigationState.d.ts +27 -2
  415. package/dist/components/Navigation/NavigationState/context.d.ts +32 -1
  416. package/dist/components/Navigation/NavigationState/index.d.ts +1 -0
  417. package/dist/components/Navigation/NavigationState/index.js +61 -2
  418. package/dist/components/Navigation/NavigationState/index.js.map +1 -0
  419. package/dist/components/Navigation/NavigationState/types.d.ts +12 -0
  420. package/dist/components/Navigation/SubNavigation/SubNavigation/SubNavigation.d.ts +35 -2
  421. package/dist/components/Navigation/SubNavigation/SubNavigation/index.js +4 -4
  422. package/dist/components/Navigation/SubNavigation/SubNavigation/index.js.map +1 -1
  423. package/dist/components/Navigation/SubNavigation/SubNavigationTrigger/SubNavigationTrigger.d.ts +40 -2
  424. package/dist/components/Navigation/SubNavigation/SubNavigationTrigger/index.js +5 -5
  425. package/dist/components/Navigation/SubNavigation/SubNavigationTrigger/index.js.map +1 -1
  426. package/dist/components/Navigation/core/navLabelContext.d.ts +6 -0
  427. package/dist/components/Navigation/core/navigation.d.ts +9 -0
  428. package/dist/components/Navigation/core/navigationInfo.d.ts +19 -0
  429. package/dist/components/Navigation/index.js +2 -2
  430. package/dist/components/Popover/Popover.d.ts +34 -1
  431. package/dist/components/Sheets/BottomSheet/BottomSheet.d.ts +40 -2
  432. package/dist/components/Sheets/BottomSheet/index.d.ts +1 -0
  433. package/dist/components/Sheets/BottomSheet/types.d.ts +37 -0
  434. package/dist/components/Sheets/BottomSheetModal/BottomSheetModal.d.ts +34 -0
  435. package/dist/components/Sheets/BottomSheetModal/context.d.ts +10 -0
  436. package/dist/components/Sheets/BottomSheetModal/types.d.ts +38 -0
  437. package/dist/components/Sheets/SideSheet/SideSheet.d.ts +46 -0
  438. package/dist/components/Sheets/SideSheet/SideSheetDialog.d.ts +43 -0
  439. package/dist/components/Sheets/SideSheet/types.d.ts +96 -2
  440. package/dist/components/Sheets/SideSheetModal/SideSheetModal.d.ts +34 -0
  441. package/dist/components/Sheets/SideSheetModal/context.d.ts +13 -0
  442. package/dist/components/Sheets/SideSheetModal/types.d.ts +49 -0
  443. package/dist/components/Sheets/core/layout.d.ts +11 -0
  444. package/dist/components/Snackbar/SnackbarRegion.d.ts +50 -0
  445. package/dist/components/Snackbar/context.d.ts +38 -0
  446. package/dist/components/Snackbar/types.d.ts +69 -0
  447. package/dist/components/Splash/Splash.d.ts +6 -0
  448. package/dist/components/Splash/types.d.ts +10 -0
  449. package/dist/components/Splash/useSplash.d.ts +21 -0
  450. package/dist/components/Tabs/Tab/Tab.d.ts +33 -2
  451. package/dist/components/Tabs/TabList/TabList.d.ts +42 -1
  452. package/dist/components/Tabs/TabPanel/TabPanel.d.ts +28 -1
  453. package/dist/components/Tabs/TabPanels/TabPanels.d.ts +28 -1
  454. package/dist/components/Tabs/Tabs/Tabs.d.ts +43 -1
  455. package/dist/components/Tag/Tag.d.ts +37 -0
  456. package/dist/components/Tag/core.d.ts +6 -0
  457. package/dist/components/Tag/types.d.ts +48 -2
  458. package/dist/components/ThemeSelector/ThemeItem.d.ts +46 -2
  459. package/dist/components/ThemeSelector/ThemeProvider.d.ts +29 -2
  460. package/dist/components/ThemeSelector/ThemeSelector.d.ts +24 -0
  461. package/dist/components/ThemeSelector/core.d.ts +58 -0
  462. package/dist/components/ThemeSelector/index.d.ts +2 -0
  463. package/dist/components/ThemeSelector/index.js +2 -2
  464. package/dist/components/ThemeSelector/types.d.ts +69 -2
  465. package/dist/components/Toolbar/Toolbar.d.ts +47 -0
  466. package/dist/components/Toolbar/ToolbarToggleButtonGroup.d.ts +35 -1
  467. package/dist/components/Toolbar/types.d.ts +60 -0
  468. package/dist/components/Tooltip/RichTooltip/RichTooltip/RichTooltip.d.ts +56 -1
  469. package/dist/components/Tooltip/RichTooltip/RichTooltipActions/RichTooltipActions.d.ts +27 -1
  470. package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipInfo/RichTooltipInfo.d.ts +31 -1
  471. package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipSubhead/RichTooltipSubhead.d.ts +22 -1
  472. package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipSubhead/index.js.map +1 -1
  473. package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipText/RichTooltipText.d.ts +26 -1
  474. package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipText/index.js.map +1 -1
  475. package/dist/components/Tooltip/Tooltip/Tooltip.d.ts +35 -1
  476. package/dist/components/Tooltip/TooltipTrigger/TooltipTrigger.d.ts +29 -1
  477. package/dist/components/Tooltip/TooltipTrigger/index.js.map +1 -1
  478. package/dist/index.d.ts +2 -1
  479. package/dist/index.js +131 -125
  480. package/dist/index.js.map +1 -1
  481. package/dist/utils/gradients/gradients.d.ts +97 -0
  482. package/dist/utils/index.d.ts +0 -1
  483. package/dist/utils/ref/ref.d.ts +35 -2
  484. package/dist/utils/scroll/scroll.d.ts +67 -4
  485. package/dist/utils/tapTarget/tapTarget.d.ts +57 -0
  486. package/dist/utils/theme/build.d.ts +24 -0
  487. package/dist/utils/theme/types.d.ts +70 -0
  488. package/dist/utils/theme/useTheme.d.ts +40 -0
  489. package/dist/utils/typography/base.d.ts +68 -0
  490. package/dist/utils/typography/core.d.ts +16 -0
  491. package/dist/utils/typography/fluid.d.ts +36 -0
  492. package/package.json +23 -25
  493. package/dist/chunks/NavigationState +0 -69
  494. package/dist/chunks/NavigationState.map +0 -1
  495. package/dist/chunks/useGlobalListeners +0 -294
  496. package/dist/chunks/useGlobalListeners.map +0 -1
  497. package/dist/chunks/usePress +0 -535
  498. package/dist/chunks/usePress.map +0 -1
  499. package/dist/components/Image/Image.d.ts +0 -2
  500. package/dist/components/Image/index.js +0 -29
  501. package/dist/components/Image/index.js.map +0 -1
  502. package/dist/components/Image/types.d.ts +0 -9
  503. package/dist/utils/form/form.d.ts +0 -13
  504. package/dist/utils/form/index.d.ts +0 -1
@@ -5,44 +5,35 @@ import { createContext as r, useContext as i, useMemo as a } from "react";
5
5
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
6
  import { Text as c, UNSTABLE_Toast as l, UNSTABLE_ToastContent as u, UNSTABLE_ToastQueue as d, UNSTABLE_ToastRegion as f } from "react-aria-components";
7
7
  import { X as p } from "lucide-react";
8
- import { flushSync as m } from "react-dom";
9
8
  import '../assets/Snackbar.css';//#region src/components/Snackbar/context.ts
10
- var h = r(null);
11
- function g() {
12
- let e = i(h);
9
+ var m = r(null);
10
+ function h() {
11
+ let e = i(m);
13
12
  if (!e) throw Error("useSnackbarQueue must be used inside SnackbarRegion");
14
13
  return e;
15
14
  }
16
- var _ = {
17
- "snackbar-region": "_snackbar-region_1xcaw_10",
18
- snackbar: "_snackbar_1xcaw_10",
19
- "snackbar-content": "_snackbar-content_1xcaw_66",
20
- text: "_text_1xcaw_78"
21
- }, v = ({ children: r, maxVisibleSnackbars: i = 1 }) => {
22
- let g = a(() => new d({
23
- maxVisibleToasts: i,
24
- wrapUpdate(e) {
25
- "startViewTransition" in document ? document.startViewTransition(() => {
26
- m(e);
27
- }) : e();
28
- }
29
- }), [i]);
30
- return /* @__PURE__ */ s(h, {
31
- value: g,
15
+ var g = {
16
+ "snackbar-region": "_snackbar-region_1uhs8_10",
17
+ snackbar: "_snackbar_1uhs8_10",
18
+ "snackbar-content": "_snackbar-content_1uhs8_68",
19
+ text: "_text_1uhs8_80"
20
+ }, _ = ({ children: r, maxVisibleSnackbars: i = 1 }) => {
21
+ let h = a(() => new d({ maxVisibleToasts: i }), [i]);
22
+ return /* @__PURE__ */ s(m, {
23
+ value: h,
32
24
  children: [r, /* @__PURE__ */ o(f, {
33
- queue: g,
34
- className: n(_["snackbar-region"]),
25
+ queue: h,
26
+ className: n(g["snackbar-region"]),
35
27
  children: ({ toast: r }) => /* @__PURE__ */ s(l, {
36
28
  toast: r,
37
- className: n(_.snackbar),
38
- style: { viewTransitionName: r.key },
29
+ className: n(g.snackbar),
39
30
  "data-close": !r.content.hideCloseAction || void 0,
40
31
  "data-action": r.content.hideCloseAction && !!r.content.action || void 0,
41
32
  children: [/* @__PURE__ */ s(u, {
42
- className: _["snackbar-content"],
33
+ className: g["snackbar-content"],
43
34
  children: [/* @__PURE__ */ o(c, {
44
35
  slot: "description",
45
- className: n(_.text, e.bodyMedium),
36
+ className: n(g.text, e.bodyMedium),
46
37
  children: r.content.supportingText
47
38
  }), r.content.action]
48
39
  }), !r.content.hideCloseAction && /* @__PURE__ */ o(t, {
@@ -56,6 +47,6 @@ var _ = {
56
47
  });
57
48
  };
58
49
  //#endregion
59
- export { h as n, g as r, v as t };
50
+ export { m as n, h as r, _ as t };
60
51
 
61
52
  //# sourceMappingURL=Snackbar.map
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar","names":[],"sources":["../../src/components/Snackbar/context.ts","../../src/components/Snackbar/snackbar.module.css","../../src/components/Snackbar/SnackbarRegion.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { UNSTABLE_ToastQueue as ToastQueue } from \"react-aria-components\";\nimport type { SnackbarContent } from \"./types\";\n\nexport const SnackbarQueueContext =\n createContext<ToastQueue<SnackbarContent> | null>(null);\n\nexport function useSnackbarQueue() {\n const queue = useContext(SnackbarQueueContext);\n\n if (!queue) {\n throw new Error(\"useSnackbarQueue must be used inside SnackbarRegion\");\n }\n\n return queue;\n}\n","/* configurable tokens\n*\n* --md-snackbar-background\n* --md-snackbar-color\n* --md-snackbar-action-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .snackbar-region {\n position: fixed;\n\n display: flex;\n flex-direction: column-reverse;\n gap: calc(2 * var(--dp, 1px));\n\n inset-block-end: var(--md-sys-layout-space-24);\n\n inset-inline-start: 50%;\n translate: -50%;\n }\n\n .snackbar {\n --_md-snackbar-background: var(\n --md-snackbar-background,\n var(--md-sys-color-inverse-surface)\n );\n --_md-snackbar-color: var(\n --md-snackbar-color,\n var(--md-sys-color-inverse-on-surface)\n );\n --_md-snackbar-action-color: var(\n --md-snackbar-action-color,\n var(--md-sys-color-inverse-primary)\n );\n\n inline-size: min(90svi, calc(568 * var(--dp, 1px)));\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-4);\n\n padding-block: var(--md-sys-layout-space-4);\n padding-inline: var(--md-sys-layout-space-16);\n\n box-shadow: var(--md-sys-elevation-shadow-3);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n background-color: var(--_md-snackbar-background);\n color: var(--_md-snackbar-color);\n\n &[data-close] {\n padding-inline-end: var(--md-sys-layout-space-4);\n }\n\n &[data-action] {\n padding-inline-end: var(--md-sys-layout-space-8);\n }\n\n [data-close-button] {\n --md-button-color: var(--_md-snackbar-color);\n }\n }\n\n .snackbar-content {\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-8);\n\n [data-button] {\n --md-button-color: var(--_md-snackbar-action-color);\n }\n }\n\n .text {\n padding-block: calc(10 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { X } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport {\n Text,\n UNSTABLE_Toast as Toast,\n UNSTABLE_ToastContent as ToastContent,\n UNSTABLE_ToastQueue as ToastQueue,\n UNSTABLE_ToastRegion as ToastRegion,\n} from \"react-aria-components\";\nimport { flushSync } from \"react-dom\";\nimport { typography } from \"@/utils\";\nimport { IconButton } from \"../Button\";\nimport { SnackbarQueueContext } from \"./context\";\nimport styles from \"./snackbar.module.css\";\nimport type { SnackbarContent, SnackbarRegionProps } from \"./types\";\n\nexport const SnackbarRegion: React.FC<SnackbarRegionProps> = ({\n children,\n maxVisibleSnackbars = 1,\n}) => {\n const queue = useMemo(() => {\n return new ToastQueue<SnackbarContent>({\n maxVisibleToasts: maxVisibleSnackbars,\n\n wrapUpdate(fn) {\n if (\"startViewTransition\" in document) {\n document.startViewTransition(() => {\n flushSync(fn);\n });\n } else {\n fn();\n }\n },\n });\n }, [maxVisibleSnackbars]);\n\n return (\n <SnackbarQueueContext value={queue}>\n {children}\n <ToastRegion\n queue={queue}\n className={clsx(styles[\"snackbar-region\"])}\n >\n {({ toast }) => (\n <Toast\n toast={toast}\n className={clsx(styles[\"snackbar\"])}\n style={{ viewTransitionName: toast.key }}\n data-close={!toast.content.hideCloseAction || undefined}\n data-action={\n (toast.content.hideCloseAction &&\n !!toast.content.action) ||\n undefined\n }\n >\n <ToastContent className={styles[\"snackbar-content\"]}>\n <Text\n slot=\"description\"\n className={clsx(\n styles[\"text\"],\n typography.bodyMedium\n )}\n >\n {toast.content.supportingText}\n </Text>\n\n {toast.content.action}\n </ToastContent>\n\n {!toast.content.hideCloseAction && (\n <IconButton\n slot=\"close\"\n icon={X}\n color=\"standard\"\n data-close-button\n />\n )}\n </Toast>\n )}\n </ToastRegion>\n </SnackbarQueueContext>\n );\n};\n"],"mappings":";;;;;;;;;AAIA,IAAa,IACT,EAAkD,IAAI;AAE1D,SAAO,IAAA;CACH,IAAA,IAAc,EAAW,CAAoB;CAE7C,IAAI,CAAC,GACD,MAAU,MAAM,qDAAqD;CACxE,OAEM;AAAK;;;;;;GEGH,KAAiD,EAC1D,aACA,yBAAsB,QACpB;CACF,IAAM,IAAQ,QACH,IAAI,EAA4B;EACnC,kBAAkB;EAElB,WAAW,GAAI;GACX,AAAI,yBAAyB,WACzB,SAAS,0BAA0B;IAC/B,EAAU,CAAE;GAChB,CAAC,IAED,EAAG;EAEX;CACJ,CAAC,GACF,CAAC,CAAmB,CAAC;CAExB,OACI,kBAAC,GAAD;EAAsB,OAAO;YAA7B,CACK,GACD,kBAAC,GAAD;GACW;GACP,WAAW,EAAK,EAAO,kBAAkB;cAEvC,EAAE,eACA,kBAAC,GAAD;IACW;IACP,WAAW,EAAK,EAAO,QAAW;IAClC,OAAO,EAAE,oBAAoB,EAAM,IAAI;IACvC,cAAY,CAAC,EAAM,QAAQ,mBAAmB,KAAA;IAC9C,eACK,EAAM,QAAQ,mBACX,CAAC,CAAC,EAAM,QAAQ,UACpB,KAAA;cARR,CAWI,kBAAC,GAAD;KAAc,WAAW,EAAO;eAAhC,CACI,kBAAC,GAAD;MACI,MAAK;MACL,WAAW,EACP,EAAO,MACP,EAAW,UACf;gBAEC,EAAM,QAAQ;KACb,CAAA,GAEL,EAAM,QAAQ,MACL;QAEb,CAAC,EAAM,QAAQ,mBACZ,kBAAC,GAAD;KACI,MAAK;KACL,MAAM;KACN,OAAM;KACN,qBAAA;IAAiB,CAAA,CAGtB;;EAEF,CAAA,CACK;;AAE9B"}
1
+ {"version":3,"file":"Snackbar","names":["ToastQueue","ToastRegion","styles","Toast","ToastContent","typography","SnackbarQueueContext","createContext","useSnackbarQueue","queue","useContext","snackbar_module_default","SnackbarRegion","useMemo","UNSTABLE_ToastQueue","maxVisibleSnackbars","children","UNSTABLE_ToastRegion","clsx","UNSTABLE_Toast","\"snackbar\"","toast","UNSTABLE_ToastContent","Text","\"text\"","IconButton","X"],"sources":["../../src/components/Snackbar/context.ts","../../src/components/Snackbar/snackbar.module.css","../../src/components/Snackbar/SnackbarRegion.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { UNSTABLE_ToastQueue as ToastQueue } from \"react-aria-components\";\nimport type { SnackbarContent } from \"./types\";\n\n/**\n * React context holding the active `ToastQueue` instance for snackbars,\n * or `null` if accessed outside a {@link SnackbarRegion}.\n */\nexport const SnackbarQueueContext =\n createContext<ToastQueue<SnackbarContent> | null>(null);\n\n/**\n * Hook to access the active snackbar queue from any child component within a {@link SnackbarRegion}.\n *\n * Returns the underlying React Aria `ToastQueue` instance, allowing components\n * to enqueue new snackbars, dismiss existing ones, or inspect the queue.\n *\n * @throws {Error} If called outside of a {@link SnackbarRegion}.\n *\n * @example\n * ```tsx\n * import { Button, useSnackbarQueue } from \"@adgytec/web-ui-components\";\n *\n * export function CopyButton({ text }: { text: string }) {\n * const snackbarQueue = useSnackbarQueue();\n *\n * const handleCopy = async () => {\n * await navigator.clipboard.writeText(text);\n * snackbarQueue.add(\n * {\n * supportingText: \"Copied to clipboard\",\n * action: (\n * <Button color=\"text\" onPress={() => console.log(\"Undo\")}>\n * Undo\n * </Button>\n * ),\n * },\n * { timeout: 4000 }\n * );\n * };\n *\n * return <Button onPress={handleCopy}>Copy</Button>;\n * }\n * ```\n */\nexport function useSnackbarQueue() {\n const queue = useContext(SnackbarQueueContext);\n\n if (!queue) {\n throw new Error(\"useSnackbarQueue must be used inside SnackbarRegion\");\n }\n\n return queue;\n}\n","/* configurable tokens\n*\n* --md-snackbar-background\n* --md-snackbar-color\n* --md-snackbar-action-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .snackbar-region {\n position: fixed;\n\n display: flex;\n flex-direction: column-reverse;\n gap: calc(2 * var(--dp, 1px));\n\n inset-block-end: var(--md-sys-layout-space-24);\n\n inset-inline-start: 50%;\n translate: -50%;\n\n z-index: 999999;\n }\n\n .snackbar {\n --_md-snackbar-background: var(\n --md-snackbar-background,\n var(--md-sys-color-inverse-surface)\n );\n --_md-snackbar-color: var(\n --md-snackbar-color,\n var(--md-sys-color-inverse-on-surface)\n );\n --_md-snackbar-action-color: var(\n --md-snackbar-action-color,\n var(--md-sys-color-inverse-primary)\n );\n\n inline-size: min(90svi, calc(568 * var(--dp, 1px)));\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-4);\n\n padding-block: var(--md-sys-layout-space-4);\n padding-inline: var(--md-sys-layout-space-16);\n\n box-shadow: var(--md-sys-elevation-shadow-3);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n background-color: var(--_md-snackbar-background);\n color: var(--_md-snackbar-color);\n\n &[data-close] {\n padding-inline-end: var(--md-sys-layout-space-4);\n }\n\n &[data-action] {\n padding-inline-end: var(--md-sys-layout-space-8);\n }\n\n [data-close-button] {\n --md-button-color: var(--_md-snackbar-color);\n }\n }\n\n .snackbar-content {\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-8);\n\n [data-button] {\n --md-button-color: var(--_md-snackbar-action-color);\n }\n }\n\n .text {\n padding-block: calc(10 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { X } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport {\n Text,\n UNSTABLE_Toast as Toast,\n UNSTABLE_ToastContent as ToastContent,\n UNSTABLE_ToastQueue as ToastQueue,\n UNSTABLE_ToastRegion as ToastRegion,\n} from \"react-aria-components\";\nimport { typography } from \"@/utils\";\nimport { IconButton } from \"../Button\";\nimport { SnackbarQueueContext } from \"./context\";\nimport styles from \"./snackbar.module.css\";\nimport type { SnackbarContent, SnackbarRegionProps } from \"./types\";\n\n/**\n * Root region component for managing and rendering [Material 3 Snackbars](https://m3.material.io/components/snackbar/overview).\n *\n * Wraps your application or a section of it to provide a snackbar context via {@link SnackbarQueueContext}.\n * Renders an underlying React Aria `ToastRegion` fixed at the bottom center of the viewport (elevated with\n * high z-index), displaying queued snackbar notifications with supporting text, optional actions,\n * and an optional dismiss button.\n *\n * Configurable CSS tokens:\n * - `--md-snackbar-background`: Background color of the snackbar (`var(--md-sys-color-inverse-surface)`).\n * - `--md-snackbar-color`: Text and icon color of the snackbar (`var(--md-sys-color-inverse-on-surface)`).\n * - `--md-snackbar-action-color`: Text color of the action button (`var(--md-sys-color-inverse-primary)`).\n *\n * @example\n * ```tsx\n * import {\n * Button,\n * SnackbarRegion,\n * useSnackbarQueue,\n * } from \"@adgytec/web-ui-components\";\n *\n * function NotificationTrigger() {\n * const queue = useSnackbarQueue();\n *\n * const showNotification = () => {\n * queue.add(\n * {\n * supportingText: \"File uploaded successfully.\",\n * action: (\n * <Button color=\"text\" onPress={() => console.log(\"View\")}>\n * View\n * </Button>\n * ),\n * },\n * { timeout: 5000 }\n * );\n * };\n *\n * return <Button onPress={showNotification}>Upload</Button>;\n * }\n *\n * export function App() {\n * return (\n * <SnackbarRegion maxVisibleSnackbars={1}>\n * <NotificationTrigger />\n * </SnackbarRegion>\n * );\n * }\n * ```\n */\nexport const SnackbarRegion: React.FC<SnackbarRegionProps> = ({\n children,\n maxVisibleSnackbars = 1,\n}) => {\n const queue = useMemo(() => {\n return new ToastQueue<SnackbarContent>({\n maxVisibleToasts: maxVisibleSnackbars,\n });\n }, [maxVisibleSnackbars]);\n\n return (\n <SnackbarQueueContext value={queue}>\n {children}\n <ToastRegion\n queue={queue}\n className={clsx(styles[\"snackbar-region\"])}\n >\n {({ toast }) => (\n <Toast\n toast={toast}\n className={clsx(styles[\"snackbar\"])}\n data-close={!toast.content.hideCloseAction || undefined}\n data-action={\n (toast.content.hideCloseAction &&\n !!toast.content.action) ||\n undefined\n }\n >\n <ToastContent className={styles[\"snackbar-content\"]}>\n <Text\n slot=\"description\"\n className={clsx(\n styles[\"text\"],\n typography.bodyMedium\n )}\n >\n {toast.content.supportingText}\n </Text>\n\n {toast.content.action}\n </ToastContent>\n\n {!toast.content.hideCloseAction && (\n <IconButton\n slot=\"close\"\n icon={X}\n color=\"standard\"\n data-close-button\n />\n )}\n </Toast>\n )}\n </ToastRegion>\n </SnackbarQueueContext>\n );\n};\n"],"mappings":";;;;;;;;AAQA,IAAaM,IACTC,EAAkD,IAAI;AAoC1D,SAAOC,IAAA;CACH,IAAAC,IAAcC,EAAWJ,CAAoB;CAE7C,IAAI,CAACG,GACD,MAAU,MAAM,qDAAqD;CACxE,OAEMA;AAAK;;;;;;GEcHG,KAAiD,EAC1D,aACA,yBAAsB,QACpB;CACF,IAAMH,IAAQI,QACH,IAAIb,EAA4B,EACnC,kBAAkBe,EACtB,CAAC,GACF,CAACA,CAAmB,CAAC;CAExB,OACI,kBAACT,GAAD;EAAsB,OAAOG;EAA7B,UAAA,CACKO,GACD,kBAACf,GAAD;GACW;GACP,WAAWiB,EAAKhB,EAAO,kBAAkB;GAEvC,WAAA,EAAE,eACA,kBAACC,GAAD;IACW;IACP,WAAWe,EAAKhB,EAAOkB,QAAW;IAClC,cAAY,CAACC,EAAM,QAAQ,mBAAmB,KAAA;IAC9C,eACKA,EAAM,QAAQ,mBACX,CAAC,CAACA,EAAM,QAAQ,UACpB,KAAA;IAPR,UAAA,CAUI,kBAACjB,GAAD;KAAc,WAAWF,EAAO;KAAhC,UAAA,CACI,kBAACqB,GAAD;MACI,MAAK;MACL,WAAWL,EACPhB,EAAOsB,MACPnB,EAAW,UACf;MAEC,UAAAgB,EAAM,QAAQ;KACb,CAAA,GAELA,EAAM,QAAQ,MACL;IAEb,CAAA,GAAA,CAACA,EAAM,QAAQ,mBACZ,kBAACI,GAAD;KACI,MAAK;KACL,MAAMC;KACN,OAAM;KACN,qBAAA;IAAiB,CAAA,CAGtB;;EAEF,CAAA,CACK;;AAE9B"}
@@ -5,8 +5,8 @@ import { useMemo as r } from "react";
5
5
  import { jsx as i } from "react/jsx-runtime";
6
6
  import { Toolbar as a } from "react-aria-components";
7
7
  import '../assets/SplitButton.css';//#region src/components/Button/SplitButton/SplitButton/splitButton.module.css
8
- var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled", size: c = "small", isPending: l, isDisabled: u, children: d, className: f, ...p }) => /* @__PURE__ */ i(t, {
9
- value: r(() => ({
8
+ var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled", size: c = "small", isPending: l, isDisabled: u, children: d, className: f, ...p }) => {
9
+ let m = r(() => ({
10
10
  isPending: l,
11
11
  isDisabled: u,
12
12
  color: s,
@@ -16,14 +16,17 @@ var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled",
16
16
  u,
17
17
  s,
18
18
  c
19
- ]),
20
- children: /* @__PURE__ */ i(a, {
21
- className: n(o["split-button"], e(c), f),
22
- ...p,
23
- "data-split-button": !0,
24
- children: d
25
- })
26
- });
19
+ ]);
20
+ return /* @__PURE__ */ i(t, {
21
+ value: m,
22
+ children: /* @__PURE__ */ i(a, {
23
+ className: n(o["split-button"], e(c), f),
24
+ ...p,
25
+ "data-split-button": !0,
26
+ children: d
27
+ })
28
+ });
29
+ };
27
30
  //#endregion
28
31
  export { s as t };
29
32
 
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButton","names":[],"sources":["../../src/components/Button/SplitButton/SplitButton/splitButton.module.css","../../src/components/Button/SplitButton/SplitButton/SplitButton.tsx"],"sourcesContent":["@layer adgytec.overrides {\n .split-button [data-visual-button] {\n --_md-button-shape-motion: var(--md-sys-motion-standard-fast-spatial);\n --_md-button-shape-motion-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n }\n}\n\n@layer adgytec.comps {\n .split-button {\n display: inline-flex;\n gap: calc(2 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { useMemo } from \"react\";\nimport { Toolbar } from \"react-aria-components\";\nimport { splitButtonSizeConfig } from \"../core\";\nimport { SplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButton.module.css\";\nimport type { SplitButtonProps } from \"./types\";\n\nexport const SplitButton: React.FC<SplitButtonProps> = ({\n color = \"filled\",\n size = \"small\",\n\n isPending,\n isDisabled,\n\n children,\n className,\n\n ...props\n}) => {\n const contextValue = useMemo(\n () => ({\n isPending,\n isDisabled,\n color,\n size,\n }),\n [isPending, isDisabled, color, size]\n );\n\n return (\n <SplitButtonContext value={contextValue}>\n <Toolbar\n className={clsx(\n styles[\"split-button\"],\n splitButtonSizeConfig(size),\n className\n )}\n {...props}\n data-split-button\n >\n {children}\n </Toolbar>\n </SplitButtonContext>\n );\n};\n"],"mappings":";;;;;;;qDCQa,KAA2C,EACpD,WAAQ,UACR,UAAO,SAEP,cACA,eAEA,aACA,cAEA,GAAG,QAaC,kBAAC,GAAD;CAAoB,OAXH,SACV;EACH;EACA;EACA;EACA;CACJ,IACA;EAAC;EAAW;EAAY;EAAO;CAAI,CAIR;WACvB,kBAAC,GAAD;EACI,WAAW,EACP,EAAO,iBACP,EAAsB,CAAI,GAC1B,CACJ;EACA,GAAI;EACJ,qBAAA;EAEC;CACI,CAAA;AACO,CAAA"}
1
+ {"version":3,"file":"SplitButton","names":["styles","splitButtonSizeConfig","splitButton_module_default","SplitButton","props","contextValue","useMemo","isPending","isDisabled","color","size","SplitButtonContext","Toolbar","clsx","className"],"sources":["../../src/components/Button/SplitButton/SplitButton/splitButton.module.css","../../src/components/Button/SplitButton/SplitButton/SplitButton.tsx"],"sourcesContent":["@layer adgytec.overrides {\n .split-button [data-visual-button] {\n --_md-button-shape-motion: var(--md-sys-motion-standard-fast-spatial);\n --_md-button-shape-motion-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n }\n}\n\n@layer adgytec.comps {\n .split-button {\n display: inline-flex;\n gap: calc(2 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { useMemo } from \"react\";\nimport { Toolbar } from \"react-aria-components\";\nimport { splitButtonSizeConfig } from \"../core\";\nimport { SplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButton.module.css\";\nimport type { SplitButtonProps } from \"./types\";\n\n/**\n * A composite button container implementing Material Design 3 Split Buttons.\n *\n * Couples a primary action button ({@link SplitButtonPrimary}) with an adjacent dropdown menu trigger\n * ({@link SplitButtonTrigger}) inside an accessible React Aria `Toolbar`.\n * Synchronizes size, color variant, disabled, and pending states across both button parts via context.\n *\n * @example\n * ```tsx\n * <SplitButton color=\"tonal\">\n * <SplitButtonPrimary icon={Save} onPress={handleSave}>\n * Save\n * </SplitButtonPrimary>\n * <MenuTrigger>\n * <SplitButtonTrigger aria-label=\"More save options\" />\n * <MenuPopover>\n * <Menu>\n * <MenuItem label=\"Save as draft\" />\n * </Menu>\n * </MenuPopover>\n * </MenuTrigger>\n * </SplitButton>\n * ```\n */\nexport const SplitButton: React.FC<SplitButtonProps> = ({\n color = \"filled\",\n size = \"small\",\n\n isPending,\n isDisabled,\n\n children,\n className,\n\n ...props\n}) => {\n const contextValue = useMemo(\n () => ({\n isPending,\n isDisabled,\n color,\n size,\n }),\n [isPending, isDisabled, color, size]\n );\n\n return (\n <SplitButtonContext value={contextValue}>\n <Toolbar\n className={clsx(\n styles[\"split-button\"],\n splitButtonSizeConfig(size),\n className\n )}\n {...props}\n data-split-button\n >\n {children}\n </Toolbar>\n </SplitButtonContext>\n );\n};\n"],"mappings":";;;;;;;qDCgCaG,KAA2C,EACpD,WAAQ,UACR,UAAO,SAEP,cACA,eAEA,aACA,cAEA,GAAGC,QACD;CACF,IAAMC,IAAeC,SACV;EACH;EACA;EACA;EACA;CACJ,IACA;EAACC;EAAWC;EAAYC;EAAOC;CAAI,CACvC;CAEA,OACI,kBAACC,GAAD;EAAoB,OAAON;EACvB,UAAA,kBAACO,GAAD;GACI,WAAWC,EACPb,EAAO,iBACPC,EAAsBS,CAAI,GAC1BI,CACJ;GACA,GAAIV;GACJ,qBAAA;GAEC;EACI,CAAA;CACO,CAAA;AAE5B"}
@@ -11,19 +11,20 @@ import { Button as _ } from "react-aria-components";
11
11
  import { ChevronDown as v } from "lucide-react";
12
12
  import '../assets/SplitButtonTrigger.css';//#region src/components/Button/SplitButton/SplitButtonTrigger/splitButtonTrigger.module.css
13
13
  var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
14
- let x = (0, y.c)(23), S, C, w, T, E, D;
14
+ let x = (0, y.c)(24), S, C, w, T, E, D;
15
15
  x[0] === e ? (S = x[1], C = x[2], w = x[3], T = x[4], E = x[5], D = x[6]) : ({tooltip: D, onPress: T, isDisabled: C, isPending: w, className: S, ...E} = e, x[0] = e, x[1] = S, x[2] = C, x[3] = w, x[4] = T, x[5] = E, x[6] = D);
16
16
  let O = p(), { splashInfo: k, handlePress: A } = i(T), j = w || O.isPending, M = C || O.isDisabled, N;
17
17
  x[7] !== S || x[8] !== O.color ? (N = (e) => m(o, t, d, l(O.color), typeof S == "function" ? S(e) : S), x[7] = S, x[8] = O.color, x[9] = N) : N = x[9];
18
18
  let P;
19
- x[10] !== k || x[11] !== O.size ? (P = (e) => {
19
+ x[10] !== j || x[11] !== k || x[12] !== O.size ? (P = (e) => {
20
20
  let { isDisabled: t, isFocusVisible: i, isFocused: o, isPressed: c, isHovered: l } = e, d = {
21
21
  "data-hovered": l || void 0,
22
22
  "data-disabled": t || void 0,
23
23
  "data-focused": o || void 0,
24
24
  "data-focus-visible": i || void 0,
25
25
  "data-pressed": c || void 0,
26
- "data-visual-button": !0
26
+ "data-visual-button": !0,
27
+ "data-pending": j || void 0
27
28
  };
28
29
  return /* @__PURE__ */ g("span", {
29
30
  className: m(a, s, b.trigger, u),
@@ -33,9 +34,9 @@ var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
33
34
  size: f[O.size]
34
35
  })]
35
36
  });
36
- }, x[10] = k, x[11] = O.size, x[12] = P) : P = x[12];
37
+ }, x[10] = j, x[11] = k, x[12] = O.size, x[13] = P) : P = x[13];
37
38
  let F;
38
- x[13] !== M || x[14] !== A || x[15] !== j || x[16] !== E || x[17] !== N || x[18] !== P ? (F = /* @__PURE__ */ h(_, {
39
+ x[14] !== M || x[15] !== A || x[16] !== j || x[17] !== E || x[18] !== N || x[19] !== P ? (F = /* @__PURE__ */ h(_, {
39
40
  onPress: A,
40
41
  isDisabled: M,
41
42
  isPending: j,
@@ -44,9 +45,9 @@ var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
44
45
  "data-button": !0,
45
46
  "data-split-button-trigger": !0,
46
47
  children: P
47
- }), x[13] = M, x[14] = A, x[15] = j, x[16] = E, x[17] = N, x[18] = P, x[19] = F) : F = x[19];
48
+ }), x[14] = M, x[15] = A, x[16] = j, x[17] = E, x[18] = N, x[19] = P, x[20] = F) : F = x[20];
48
49
  let I;
49
- return x[20] !== F || x[21] !== D ? (I = c(F, D), x[20] = F, x[21] = D, x[22] = I) : I = x[22], I;
50
+ return x[21] !== F || x[22] !== D ? (I = c(F, D), x[21] = F, x[22] = D, x[23] = I) : I = x[23], I;
50
51
  };
51
52
  //#endregion
52
53
  export { x as t };
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButtonTrigger","names":["ChevronDown","handlePress","disabled","pending"],"sources":["../../src/components/Button/SplitButton/SplitButtonTrigger/splitButtonTrigger.module.css","../../src/components/Button/SplitButton/SplitButtonTrigger/SplitButtonTrigger.tsx"],"sourcesContent":["@layer adgytec.comps {\n .trigger {\n --rotate: 0;\n\n &[data-pressed] {\n --rotate: 180deg;\n }\n\n > svg {\n rotate: var(--rotate);\n transition: rotate var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n }\n}\n","import { clsx } from \"clsx\";\nimport { ChevronDown } from \"lucide-react\";\nimport { Button as AriaButton } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport {\n ButtonCore,\n ButtonReset,\n buttonColorBase,\n buttonColorConfig,\n withTooltip,\n} from \"../../core\";\nimport {\n SplitButtonTriggerBase,\n SplitButtonTriggerIconSize,\n SplitButtonVariantBase,\n} from \"../core\";\nimport { useSplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButtonTrigger.module.css\";\nimport type { SplitButtonTriggerProps } from \"./types\";\n\nexport const SplitButtonTrigger: React.FC<SplitButtonTriggerProps> = ({\n tooltip,\n onPress,\n isDisabled,\n isPending,\n className,\n ...props\n}) => {\n const splitButtonState = useSplitButtonContext();\n\n const { splashInfo, handlePress } = useSplash(onPress);\n\n const pending = isPending || splitButtonState.isPending;\n const disabled = isDisabled || splitButtonState.isDisabled;\n\n return withTooltip(\n <AriaButton\n onPress={handlePress}\n isDisabled={disabled}\n isPending={pending}\n className={(renderProps) =>\n clsx(\n ButtonReset,\n TapTarget,\n SplitButtonTriggerBase,\n buttonColorConfig(splitButtonState.color),\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-button\n data-split-button-trigger\n >\n {({\n isDisabled,\n isFocusVisible,\n isFocused,\n isPressed,\n isHovered,\n }) => {\n const dataAttrs = {\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-visual-button\": true,\n };\n\n return (\n <span\n className={clsx(\n ButtonCore,\n buttonColorBase,\n styles[\"trigger\"],\n SplitButtonVariantBase\n )}\n {...dataAttrs}\n >\n {splashInfo && <Splash {...splashInfo} />}\n <Icon\n icon={ChevronDown}\n size={\n SplitButtonTriggerIconSize[\n splitButtonState.size\n ]\n }\n />\n </span>\n );\n }}\n </AriaButton>,\n tooltip\n );\n};\n"],"mappings":";;;;;;;;;;;;kDCuBa,KAAwD,MAAA;CAAA,IAAA,KAAA,GAAA,EAAA,EAAA,CAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;CAAA,AAAA,EAAA,OAAA,KAOpE,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,OAPqE,uEAAA,KAAA,GAOrE,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA;CACG,IAAA,IAAyB,EAAsB,GAE/C,EAAA,eAAA,mBAAoC,EAAU,CAAO,GAErD,IAAgB,KAAa,EAAgB,WAC7C,IAAiB,KAAc,EAAgB,YAAY;CAAA,AAAA,EAAA,OAAA,KAAA,EAAA,OAAA,EAAA,SAOxC,KAAA,MACP,EACI,GACA,GACA,GACA,EAAkB,EAAgB,KAAM,GACxC,OAAO,KAAc,aACf,EAAU,CACF,IAFd,CAGJ,GAAC,EAAA,KAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,KAAA,IAAA,EAAA;CAAA,IAAA;CAAA,AAAA,EAAA,QAAA,KAAA,EAAA,QAAA,EAAA,QAMJ,KAAA,MAAA;EAAC,IAAA,EAAA,YAAA,GAAA,mBAAA,cAAA,cAAA,iBAAA,GAOE,IAAkB;GAAA,gBACE,KAAA,KAAA;GAAsB,iBACrB,KAAA,KAAA;GAAuB,gBACxB,KAAA,KAAA;GAAsB,sBAChB,KAAA,KAAA;GAA2B,gBACjC,KAAA,KAAA;GAAsB,sBAChB;EAC1B;EAAE,OAGE,kBAAA,QAAA;GACe,WAAA,EACP,GACA,GACA,EAAM,SACN,CACJ;GAAC,GACG;aAPR,CASK,KAAc,kBAAC,GAAD,EAAO,GAAK,EAAU,CAAA,GACrC,kBAAC,GAAD;IACUA,MAAA;IAEF,MAAA,EACI,EAAgB;GACnB,CAAA,CAGN;;CAAA,GAEd,EAAA,MAAA,GAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,KAAA,IAAA,EAAA;CAAA,IAAA;CAAA,AAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAxDL,IAAA,kBAAC,GAAD;EACaC,SAAA;EACGC,YAAA;EACDC,WAAA;EACA,WAAA;EASN,GAED;EACJ,eAAA;EACA,6BAAA;YAEC;CAnBM,CAAA,GAyDE,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,KAAA,IAAA,EAAA;CAAA,IAAA;CAEhB,OAFgB,EAAA,QAAA,KAAA,EAAA,QAAA,KA1DV,IAAA,EACH,GA0DA,CACJ,GAAC,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,KAAA,IAAA,EAAA,KA5DM;AA4DN"}
1
+ {"version":3,"file":"SplitButtonTrigger","names":["ChevronDown","handlePress","disabled","pending","_c","styles","AriaButton","require_compiler_runtime","Icon","Splash","useSplash","ButtonCore","ButtonReset","buttonColorBase","withTooltip","buttonColorConfig","SplitButtonVariantBase","SplitButtonTriggerBase","SplitButtonTriggerIconSize","import_compiler_runtime","splitButtonTrigger_module_default","SplitButtonTrigger","$","className","isDisabled","isPending","onPress","props","tooltip","t0","splitButtonState","useSplitButtonContext","pending","disabled","t1","clsx","TapTarget","renderProps","t2","splashInfo","isDisabled_0","t3","dataAttrs","isHovered","isFocused","isFocusVisible","isPressed","ChevronDown","handlePress","Button","t4"],"sources":["../../src/components/Button/SplitButton/SplitButtonTrigger/splitButtonTrigger.module.css","../../src/components/Button/SplitButton/SplitButtonTrigger/SplitButtonTrigger.tsx"],"sourcesContent":["@layer adgytec.comps {\n .trigger {\n --rotate: 0;\n\n &[data-pressed] {\n --rotate: 180deg;\n }\n\n > svg {\n rotate: var(--rotate);\n transition: rotate var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n }\n}\n","import { clsx } from \"clsx\";\nimport { ChevronDown } from \"lucide-react\";\nimport { Button as AriaButton } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport {\n ButtonCore,\n ButtonReset,\n buttonColorBase,\n buttonColorConfig,\n withTooltip,\n} from \"../../core\";\nimport {\n SplitButtonTriggerBase,\n SplitButtonTriggerIconSize,\n SplitButtonVariantBase,\n} from \"../core\";\nimport { useSplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButtonTrigger.module.css\";\nimport type { SplitButtonTriggerProps } from \"./types\";\n\n/**\n * The dropdown menu trigger button within a {@link SplitButton}.\n *\n * Renders a chevron icon indicating that more actions are available in an adjacent menu.\n * Inherits visual styling (size and color) and states (disabled, pending) from the parent `SplitButtonContext`.\n * Typically wrapped inside a `MenuTrigger` component alongside a `MenuPopover`.\n *\n * @example\n * ```tsx\n * <MenuTrigger>\n * <SplitButtonTrigger aria-label=\"More options\" />\n * <MenuPopover>\n * <Menu>\n * <MenuItem label=\"Export\" />\n * </Menu>\n * </MenuPopover>\n * </MenuTrigger>\n * ```\n */\nexport const SplitButtonTrigger: React.FC<SplitButtonTriggerProps> = ({\n tooltip,\n onPress,\n isDisabled,\n isPending,\n className,\n ...props\n}) => {\n const splitButtonState = useSplitButtonContext();\n\n const { splashInfo, handlePress } = useSplash(onPress);\n\n const pending = isPending || splitButtonState.isPending;\n const disabled = isDisabled || splitButtonState.isDisabled;\n\n return withTooltip(\n <AriaButton\n onPress={handlePress}\n isDisabled={disabled}\n isPending={pending}\n className={(renderProps) =>\n clsx(\n ButtonReset,\n TapTarget,\n SplitButtonTriggerBase,\n buttonColorConfig(splitButtonState.color),\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-button\n data-split-button-trigger\n >\n {({\n isDisabled,\n isFocusVisible,\n isFocused,\n isPressed,\n isHovered,\n }) => {\n const dataAttrs = {\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-visual-button\": true,\n \"data-pending\": pending || undefined,\n };\n\n return (\n <span\n className={clsx(\n ButtonCore,\n buttonColorBase,\n styles[\"trigger\"],\n SplitButtonVariantBase\n )}\n {...dataAttrs}\n >\n {splashInfo && <Splash {...splashInfo} />}\n <Icon\n icon={ChevronDown}\n size={\n SplitButtonTriggerIconSize[\n splitButtonState.size\n ]\n }\n />\n </span>\n );\n }}\n </AriaButton>,\n tooltip\n );\n};\n"],"mappings":";;;;;;;;;;;;kDC0CaqB,KAAwD,MAAA;CAAA,IAAAC,KAAA,GAAAlB,EAAAA,EAAAA,CAAA,EAAA,GAAAmB,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;CAAA,AAAAN,EAAA,OAAAO,KAOpE,IAAAP,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,OAPqE,oEAAA,GAAAK,KAAAE,GAOrE,EAAA,KAAAA,GAAA,EAAA,KAAAN,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC;CACG,IAAAE,IAAyBC,EAAsB,GAE/C,EAAA,eAAA,mBAAoCrB,EAAUgB,CAAO,GAErDM,IAAgBP,KAAaK,EAAgB,WAC7CG,IAAiBT,KAAcM,EAAgB,YAAYI;CAAA,AAAAZ,EAAA,OAAAC,KAAAD,EAAA,OAAAQ,EAAA,SAOxC,KAAA,MACPK,EACIvB,GACAwB,GACAnB,GACAF,EAAkBe,EAAgB,KAAM,GACxC,OAAOP,KAAc,aACfA,EAAUc,CACF,IAFdd,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAO,EAAA,OAAA,EAAA,KAAAI,KAAA,IAAAZ,EAAA;CAAA,IAAAgB;CAAA,AAAAhB,EAAA,QAAAU,KAAAV,EAAA,QAAAiB,KAAAjB,EAAA,QAAAQ,EAAA,QAMJ,KAAA,MAAA;EAAC,IAAA,EAAA,YAAAU,GAAA,mBAAA,cAAA,cAAA,iBAAAC,GAOEC,IAAkB;GAAA,gBACEC,KAAA,KAAA;GAAsB,iBACrBH,KAAA,KAAA;GAAuB,gBACxBI,KAAA,KAAA;GAAsB,sBAChBC,KAAA,KAAA;GAA2B,gBACjCC,KAAA,KAAA;GAAsB,sBAChB;GAAI,gBACVd,KAAA,KAAA;EACpB;EAAE,OAGE,kBAAA,QAAA;GACe,WAAAG,EACPxB,GACAE,GACAR,EAAM,SACNW,CACJ;GAAC,GACG0B;GAPR,UAAA,CASKH,KAAc,kBAAC9B,GAAD,EAAO,GAAK8B,EAAU,CAAA,GACrC,kBAAC/B,GAAD;IACUR,MAAA+C;IAEF,MAAA7B,EACIY,EAAgB;GACnB,CAAA,CAGN;;CAAA,GAEd,EAAA,MAAAE,GAAA,EAAA,MAAAO,GAAA,EAAA,MAAAT,EAAA,MAAA,EAAA,MAAAQ,KAAA,IAAAhB,EAAA;CAAA,IAAAmB;CAAA,AAAAnB,EAAA,QAAAW,KAAAX,EAAA,QAAA0B,KAAA1B,EAAA,QAAAU,KAAAV,EAAA,QAAAK,KAAAL,EAAA,QAAAY,KAAAZ,EAAA,QAAAgB,KAzDL,IAAA,kBAAChC,GAAD;EACaL,SAAA+C;EACG9C,YAAA+B;EACD9B,WAAA6B;EACA,WAAAE;EASN,GAEDP;EACJ,eAAA;EACA,6BAAA;EAEC,UAAAW;CAnBM,CAAA,GA0DE,EAAA,MAAAL,GAAA,EAAA,MAAAe,GAAA,EAAA,MAAAhB,GAAA,EAAA,MAAAL,GAAA,EAAA,MAAAO,GAAA,EAAA,MAAAI,GAAA,EAAA,MAAAG,KAAA,IAAAnB,EAAA;CAAA,IAAA4B;CAEhB,OAFgB5B,EAAA,QAAAmB,KAAAnB,EAAA,QAAAM,KA3DV,IAAAd,EACH2B,GA2DAb,CACJ,GAAC,EAAA,MAAAa,GAAA,EAAA,MAAAb,GAAA,EAAA,MAAAsB,KAAA,IAAA5B,EAAA,KA7DM4B;AA6DN"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubmenuPopover","names":[],"sources":["../../src/components/Menu/SubmenuPopover/submenuPopover.module.css","../../src/components/Menu/SubmenuPopover/SubmenuPopover.tsx"],"sourcesContent":["@layer adgytec.comps {\n .popover {\n display: grid;\n grid-template-rows: 1fr;\n }\n}\n","import clsx from \"clsx\";\nimport { Popover } from \"@/components/Popover\";\nimport styles from \"./submenuPopover.module.css\";\n\nexport const SubmenuPopover: React.FC<\n React.ComponentPropsWithRef<typeof Popover>\n> = ({ offset = -1, className, ...props }) => {\n return (\n <Popover\n offset={offset}\n className={(renderProps) =>\n clsx(\n styles[\"popover\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;yCCIa,KAER,EAAE,YAAS,IAAI,cAAW,GAAG,QAE1B,kBAAC,GAAD;CACY;CACR,YAAY,MACR,EACI,EAAO,SACP,OAAO,KAAc,aACf,EAAU,CAAW,IACrB,CACV;CAEJ,GAAI;AAAM,CAAA"}
1
+ {"version":3,"file":"SubmenuPopover","names":["clsx","styles","Popover","clsx$1","submenuPopover_module_default","SubmenuPopover","props","\"popover\"","className","renderProps"],"sources":["../../src/components/Menu/SubmenuPopover/submenuPopover.module.css","../../src/components/Menu/SubmenuPopover/SubmenuPopover.tsx"],"sourcesContent":["@layer adgytec.comps {\n .popover {\n display: grid;\n grid-template-rows: 1fr;\n }\n}\n","import clsx from \"clsx\";\nimport { Popover } from \"@/components/Popover\";\nimport styles from \"./submenuPopover.module.css\";\n\n/**\n * Props for the [`SubmenuPopover`](file:///home/rohan/work/adgytec/adgytec-web-ui-components/src/components/Menu/SubmenuPopover/SubmenuPopover.tsx) component.\n */\nexport interface SubmenuPopoverProps\n extends React.ComponentPropsWithRef<typeof Popover> {}\n\n/**\n * Specialized popover container for nested cascading submenus.\n *\n * Defaults to an `offset` of `-1` px so the submenu slightly overlaps the parent\n * menu edge according to Material Design 3 menu specifications.\n *\n * @example\n * ```tsx\n * <SubmenuPopover>\n * <Menu>\n * <MenuItem label=\"Sub-item 1\" />\n * <MenuItem label=\"Sub-item 2\" />\n * </Menu>\n * </SubmenuPopover>\n * ```\n */\nexport const SubmenuPopover: React.FC<SubmenuPopoverProps> = ({\n offset = -1,\n className,\n ...props\n}) => {\n return (\n <Popover\n offset={offset}\n className={(renderProps) =>\n clsx(\n styles[\"popover\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;yCC0BaK,KAAiD,EAC1D,YAAS,IACT,cACA,GAAGC,QAGC,kBAACJ,GAAD;CACY;CACR,YAAY,MACRF,EACIC,EAAOM,SACP,OAAOC,KAAc,aACfA,EAAUC,CAAW,IACrBD,CACV;CAEJ,GAAIF;AAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch","names":["renderProps"],"sources":["../../src/components/Input/Switch/switch.module.css","../../src/components/Input/Switch/Switch.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-switch-handle-color\n* --md-switch-selected-handle-color\n*\n* --md-switch-handle-interaction-color\n* --md-switch-selected-handle-interaction-color\n*\n* --md-switch-handle-icon-color\n* --md-switch-selected-handle-icon-color\n*\n* --md-switch-track-color\n* --md-switch-selected-track-color\n* --md-switch-track-outline-color\n*\n* --md-switch-state-layer-color\n* --md-switch-selected-state-layer-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .switch {\n /* switch tokens */\n /* handle tokens */\n --_md-switch-handle-color: var(\n --md-switch-handle-color,\n var(--md-sys-color-outline)\n );\n --_md-switch-selected-handle-color: var(\n --md-switch-selected-handle-color,\n var(--md-sys-color-on-primary)\n );\n\n /* for hovered, focused and pressed state */\n --_md-switch-handle-interaction-color: var(\n --md-switch-handle-interaction-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-switch-selected-handle-interaction-color: var(\n --md-switch-selected-handle-interaction-color,\n var(--md-sys-color-primary-container)\n );\n\n /* handle icon tokens */\n --_md-switch-handle-icon-color: var(\n --md-switch-handle-icon-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-handle-icon-color: var(\n --md-switch-selected-handle-icon-color,\n var(--md-sys-color-primary)\n );\n\n /* track tokens */\n --_md-switch-track-color: var(\n --md-switch-track-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-track-color: var(\n --md-switch-selected-track-color,\n var(--md-sys-color-primary)\n );\n --_md-switch-track-outline-color: var(\n --md-switch-track-outline-color,\n var(--md-sys-color-outline)\n );\n\n /* state layer tokens */\n --_md-switch-state-layer-color: var(\n --md-switch-state-layer-color,\n var(--md-sys-color-on-surface)\n );\n --_md-switch-selected-state-layer-color: var(\n --md-switch-selected-state-layer-color,\n var(--_md-switch-selected-track-color)\n );\n\n /* configurable tokens end */\n\n /* handle specific tokens */\n /* size */\n --_md-switch-handle-size: calc(16 * var(--dp, 1px));\n --_md-switch-handle-with-icon-size: calc(24 * var(--dp, 1px));\n --_md-switch-selected-handle-size: calc(24 * var(--dp, 1px));\n --_md-switch-pressed-handle-size: calc(28 * var(--dp, 1px));\n\n /* shape */\n --_md-switch-handle-shape: var(--md-sys-shape-corner-radius-full);\n\n /* handle tokens end */\n\n /* track tokens */\n /* dimensions and shape */\n --_md-switch-track-block-size: calc(32 * var(--dp, 1px));\n --_md-switch-track-inline-size: calc(52 * var(--dp, 1px));\n --_md-switch-track-shape: var(--md-sys-shape-corner-radius-full);\n\n /* outline */\n --_md-switch-track-outline-thickness: calc(2 * var(--dp, 1px));\n\n /* track tokens end */\n\n /* state layer tokens */\n --_state-layer-opacity: 0;\n --_state-color: var(--_md-switch-state-layer-color);\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n /* state layer tokens end */\n\n position: relative;\n display: inline-flex;\n\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-16);\n\n color: inherit;\n cursor: pointer;\n\n & * {\n cursor: inherit;\n }\n\n &[data-disabled] {\n color: rgb(\n from currentColor r g b /\n var(--md-sys-state-disabled-content)\n );\n cursor: default;\n }\n\n &[data-selected] {\n --_state-color: var(--_md-switch-selected-state-layer-color);\n }\n\n &[data-hovered] {\n --_state-layer-opacity: var(--md-sys-state-hover);\n z-index: 1;\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n z-index: 1;\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n }\n\n .state-layer::before {\n content: \"\";\n\n position: absolute;\n inset: calc(-1 * var(--md-sys-layout-space-12));\n\n background-color: var(--_state-layer-color);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n pointer-events: none;\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .icon {\n color: var(--_icon-color);\n }\n\n .handle {\n /* derived size */\n --_handle-size: var(--_md-switch-handle-size);\n --_handle-color: var(--_md-switch-handle-color);\n --_handle-x: calc(6 * var(--dp, 1px));\n\n --_icon-color: var(--_md-switch-handle-icon-color);\n\n /* handle style */\n position: absolute;\n inset-block-start: 50%;\n translate: var(--_handle-x) -50%;\n\n inline-size: var(--_handle-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_md-switch-handle-shape);\n\n background-color: var(--_handle-color);\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n transition:\n translate var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration),\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n inline-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n block-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n --_handle-size: var(--_md-switch-handle-with-icon-size);\n --_handle-x: calc(2 * var(--dp, 1px));\n }\n\n &[data-selected] {\n --_handle-color: var(--_md-switch-selected-handle-color);\n --_handle-size: var(--_md-switch-selected-handle-size);\n --_handle-x: calc(22 * var(--dp, 1px));\n --_icon-color: var(--_md-switch-selected-handle-icon-color);\n }\n\n &[data-pressed] {\n --_handle-size: var(--_md-switch-pressed-handle-size);\n --_handle-x: 0;\n\n &[data-selected] {\n --_handle-x: calc(20 * var(--dp, 1px));\n }\n }\n\n &[data-focus-visible],\n &[data-hovered],\n &[data-pressed] {\n --_handle-color: var(--_md-switch-handle-interaction-color);\n\n &[data-selected] {\n --_handle-color: var(\n --_md-switch-selected-handle-interaction-color\n );\n }\n }\n\n &[data-disabled] {\n --_icon-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n &[data-selected] {\n --_icon-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-surface) r g b /\n 1\n );\n }\n }\n }\n\n /* handle state layer */\n .handle[data-show-state-layer]::before {\n --_state-size: calc(40 * var(--dp, 1px));\n --_state-shape: var(--md-sys-shape-corner-radius-full);\n\n content: \"\";\n\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n transform: translate(-50%, -50%);\n\n inline-size: var(--_state-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_state-shape);\n\n background-color: var(--_state-layer-color);\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track {\n --_track-color: var(--_md-switch-track-color);\n --_track-outline-color: var(--_md-switch-track-outline-color);\n\n position: relative;\n border-radius: var(--_md-switch-track-shape);\n\n inline-size: var(--_md-switch-track-inline-size);\n min-inline-size: var(--_md-switch-track-inline-size);\n\n block-size: var(--_md-switch-track-block-size);\n min-block-size: var(--_md-switch-track-block-size);\n\n border-width: var(--_md-switch-track-outline-thickness);\n border-style: solid;\n border-color: var(--_track-outline-color);\n\n background-color: var(--_track-color);\n\n transition:\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n border-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track[data-disabled] {\n --_track-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-container)\n );\n --_track-outline-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n\n &[data-selected] {\n --_track-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n }\n }\n\n .track[data-selected] {\n --_track-color: var(--_md-switch-selected-track-color);\n --_track-outline-color: transparent;\n }\n\n .track[data-focus-visible] {\n --focus-indicator-color: var(--md-sys-color-secondary);\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(2 * var(--dp, 1px));\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n }\n}\n","import clsx from \"clsx\";\nimport { Check, type LucideIcon, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Switch as AriaSwitch } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { typography } from \"@/utils\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport styles from \"./switch.module.css\";\nimport type { SwitchProps } from \"./types\";\n\nexport const Switch: React.FC<SwitchProps> = ({\n className,\n children,\n icon = \"selected\",\n labelPlacement = \"start\",\n containerStateLayer = false,\n unselectedIcon = X,\n selectedIcon = Check,\n ...props\n}) => {\n return (\n <AriaSwitch\n className={(renderProps) =>\n clsx(\n styles[\"switch\"],\n containerStateLayer && styles[\"state-layer\"],\n typography.labelLarge,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-switch\n >\n {(renderProps) => {\n const {\n isSelected,\n isHovered,\n isDisabled,\n isFocused,\n isFocusVisible,\n isPressed,\n isReadOnly,\n } = renderProps;\n\n let iconValue: LucideIcon | undefined;\n if (icon !== \"none\" && isSelected) {\n iconValue = selectedIcon;\n }\n\n if (icon === \"both\" && !isSelected) {\n iconValue = unselectedIcon;\n }\n\n const dataAttrs = {\n \"data-selected\": isSelected || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-icon\": iconValue ? true : undefined,\n \"data-show-state-layer\": !containerStateLayer || undefined,\n };\n\n let iconElement: ReactNode;\n if (iconValue) {\n iconElement = (\n <Icon\n icon={iconValue}\n size={16}\n className={clsx(styles[\"icon\"])}\n {...dataAttrs}\n />\n );\n }\n\n const label =\n typeof children === \"function\"\n ? children(renderProps)\n : children;\n\n return (\n <>\n {labelPlacement === \"start\" && label}\n\n <span\n {...dataAttrs}\n className={clsx(styles[\"track\"], TapTarget)}\n >\n <span\n {...dataAttrs}\n className={clsx(styles[\"handle\"])}\n >\n {iconElement}\n </span>\n </span>\n\n {labelPlacement === \"end\" && label}\n </>\n );\n }}\n </AriaSwitch>\n );\n};\n"],"mappings":";;;;;;;;;;;;;GCUa,KAAiC,EAC1C,cACA,aACA,UAAO,YACP,oBAAiB,SACjB,yBAAsB,IACtB,oBAAiB,GACjB,kBAAe,GACf,GAAG,QAGC,kBAAC,GAAD;CACI,YAAY,MACR,EACI,EAAO,QACP,KAAuB,EAAO,gBAC9B,EAAW,YACX,OAAO,KAAc,aACf,EAAU,CAAW,IACrB,CACV;CAEJ,GAAI;CACJ,eAAA;YAEEA,MAAgB;EACd,IAAM,EACF,eACA,cACA,eACA,cACA,mBACA,cACA,kBACAA,GAEA;EAKJ,AAJI,MAAS,UAAU,MACnB,IAAY,IAGZ,MAAS,UAAU,CAAC,MACpB,IAAY;EAGhB,IAAM,IAAY;GACd,iBAAiB,KAAc,KAAA;GAC/B,gBAAgB,KAAa,KAAA;GAC7B,iBAAiB,KAAc,KAAA;GAC/B,gBAAgB,KAAa,KAAA;GAC7B,sBAAsB,KAAkB,KAAA;GACxC,gBAAgB,KAAa,KAAA;GAC7B,iBAAiB,KAAc,KAAA;GAC/B,aAAa,IAAY,KAAO,KAAA;GAChC,yBAAyB,CAAC,KAAuB,KAAA;EACrD,GAEI;EACJ,AAAI,MACA,IACI,kBAAC,GAAD;GACI,MAAM;GACN,MAAM;GACN,WAAW,EAAK,EAAO,IAAO;GAC9B,GAAI;EAAU,CAAA;EAK1B,IAAM,IACF,OAAO,KAAa,aACd,EAASA,CAAW,IACpB;EAEV,OACI,kBAAA,GAAA,EAAA,UAAA;GACK,MAAmB,WAAW;GAE/B,kBAAC,QAAD;IACI,GAAI;IACJ,WAAW,EAAK,EAAO,OAAU,CAAS;cAE1C,kBAAC,QAAD;KACI,GAAI;KACJ,WAAW,EAAK,EAAO,MAAS;eAE/B;IACC,CAAA;GACJ,CAAA;GAEL,MAAmB,SAAS;EACjC,EAAA,CAAA;CAER;AACQ,CAAA"}
1
+ {"version":3,"file":"Switch","names":["renderProps","Switch","AriaSwitch","clsx","styles","_Fragment","TapTarget","Icon","clsx$1","switch_module_default","\"switch\"","Switch$1","X","Check","props","Switch","containerStateLayer","typography","className","renderProps","renderProps_0","iconValue","icon","isSelected","selectedIcon","unselectedIcon","dataAttrs","isHovered","isDisabled","isFocused","isFocusVisible","isPressed","isReadOnly","iconElement","\"icon\"","label","children","Fragment","labelPlacement","\"track\"","\"handle\""],"sources":["../../src/components/Input/Switch/switch.module.css","../../src/components/Input/Switch/Switch.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-switch-handle-color\n* --md-switch-selected-handle-color\n*\n* --md-switch-handle-interaction-color\n* --md-switch-selected-handle-interaction-color\n*\n* --md-switch-handle-icon-color\n* --md-switch-selected-handle-icon-color\n*\n* --md-switch-track-color\n* --md-switch-selected-track-color\n* --md-switch-track-outline-color\n*\n* --md-switch-state-layer-color\n* --md-switch-selected-state-layer-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .switch {\n /* switch tokens */\n /* handle tokens */\n --_md-switch-handle-color: var(\n --md-switch-handle-color,\n var(--md-sys-color-outline)\n );\n --_md-switch-selected-handle-color: var(\n --md-switch-selected-handle-color,\n var(--md-sys-color-on-primary)\n );\n\n /* for hovered, focused and pressed state */\n --_md-switch-handle-interaction-color: var(\n --md-switch-handle-interaction-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-switch-selected-handle-interaction-color: var(\n --md-switch-selected-handle-interaction-color,\n var(--md-sys-color-primary-container)\n );\n\n /* handle icon tokens */\n --_md-switch-handle-icon-color: var(\n --md-switch-handle-icon-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-handle-icon-color: var(\n --md-switch-selected-handle-icon-color,\n var(--md-sys-color-primary)\n );\n\n /* track tokens */\n --_md-switch-track-color: var(\n --md-switch-track-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-track-color: var(\n --md-switch-selected-track-color,\n var(--md-sys-color-primary)\n );\n --_md-switch-track-outline-color: var(\n --md-switch-track-outline-color,\n var(--md-sys-color-outline)\n );\n\n /* state layer tokens */\n --_md-switch-state-layer-color: var(\n --md-switch-state-layer-color,\n var(--md-sys-color-on-surface)\n );\n --_md-switch-selected-state-layer-color: var(\n --md-switch-selected-state-layer-color,\n var(--_md-switch-selected-track-color)\n );\n\n /* configurable tokens end */\n\n /* handle specific tokens */\n /* size */\n --_md-switch-handle-size: calc(16 * var(--dp, 1px));\n --_md-switch-handle-with-icon-size: calc(24 * var(--dp, 1px));\n --_md-switch-selected-handle-size: calc(24 * var(--dp, 1px));\n --_md-switch-pressed-handle-size: calc(28 * var(--dp, 1px));\n\n /* shape */\n --_md-switch-handle-shape: var(--md-sys-shape-corner-radius-full);\n\n /* handle tokens end */\n\n /* track tokens */\n /* dimensions and shape */\n --_md-switch-track-block-size: calc(32 * var(--dp, 1px));\n --_md-switch-track-inline-size: calc(52 * var(--dp, 1px));\n --_md-switch-track-shape: var(--md-sys-shape-corner-radius-full);\n\n /* outline */\n --_md-switch-track-outline-thickness: calc(2 * var(--dp, 1px));\n\n /* track tokens end */\n\n /* state layer tokens */\n --_state-layer-opacity: 0;\n --_state-color: var(--_md-switch-state-layer-color);\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n /* state layer tokens end */\n\n position: relative;\n display: inline-flex;\n\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-16);\n\n color: inherit;\n cursor: pointer;\n\n & * {\n cursor: inherit;\n }\n\n &[data-disabled] {\n color: rgb(\n from currentColor r g b /\n var(--md-sys-state-disabled-content)\n );\n cursor: default;\n }\n\n &[data-selected] {\n --_state-color: var(--_md-switch-selected-state-layer-color);\n }\n\n &[data-hovered] {\n --_state-layer-opacity: var(--md-sys-state-hover);\n z-index: 1;\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n z-index: 1;\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n }\n\n .state-layer::before {\n content: \"\";\n\n position: absolute;\n inset: calc(-1 * var(--md-sys-layout-space-12));\n\n background-color: var(--_state-layer-color);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n pointer-events: none;\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .icon {\n color: var(--_icon-color);\n }\n\n .handle {\n /* derived size */\n --_handle-size: var(--_md-switch-handle-size);\n --_handle-color: var(--_md-switch-handle-color);\n --_handle-x: calc(6 * var(--dp, 1px));\n\n --_icon-color: var(--_md-switch-handle-icon-color);\n\n /* handle style */\n position: absolute;\n inset-block-start: 50%;\n translate: var(--_handle-x) -50%;\n\n inline-size: var(--_handle-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_md-switch-handle-shape);\n\n background-color: var(--_handle-color);\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n transition:\n translate var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration),\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n inline-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n block-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n --_handle-size: var(--_md-switch-handle-with-icon-size);\n --_handle-x: calc(2 * var(--dp, 1px));\n }\n\n &[data-selected] {\n --_handle-color: var(--_md-switch-selected-handle-color);\n --_handle-size: var(--_md-switch-selected-handle-size);\n --_handle-x: calc(22 * var(--dp, 1px));\n --_icon-color: var(--_md-switch-selected-handle-icon-color);\n }\n\n &[data-pressed] {\n --_handle-size: var(--_md-switch-pressed-handle-size);\n --_handle-x: 0;\n\n &[data-selected] {\n --_handle-x: calc(20 * var(--dp, 1px));\n }\n }\n\n &[data-focus-visible],\n &[data-hovered],\n &[data-pressed] {\n --_handle-color: var(--_md-switch-handle-interaction-color);\n\n &[data-selected] {\n --_handle-color: var(\n --_md-switch-selected-handle-interaction-color\n );\n }\n }\n\n &[data-disabled] {\n --_icon-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n &[data-selected] {\n --_icon-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-surface) r g b /\n 1\n );\n }\n }\n }\n\n /* handle state layer */\n .handle[data-show-state-layer]::before {\n --_state-size: calc(40 * var(--dp, 1px));\n --_state-shape: var(--md-sys-shape-corner-radius-full);\n\n content: \"\";\n\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n transform: translate(-50%, -50%);\n\n inline-size: var(--_state-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_state-shape);\n\n background-color: var(--_state-layer-color);\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track {\n --_track-color: var(--_md-switch-track-color);\n --_track-outline-color: var(--_md-switch-track-outline-color);\n\n position: relative;\n border-radius: var(--_md-switch-track-shape);\n\n inline-size: var(--_md-switch-track-inline-size);\n min-inline-size: var(--_md-switch-track-inline-size);\n\n block-size: var(--_md-switch-track-block-size);\n min-block-size: var(--_md-switch-track-block-size);\n\n border-width: var(--_md-switch-track-outline-thickness);\n border-style: solid;\n border-color: var(--_track-outline-color);\n\n background-color: var(--_track-color);\n\n transition:\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n border-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track[data-disabled] {\n --_track-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-container)\n );\n --_track-outline-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n\n &[data-selected] {\n --_track-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n }\n }\n\n .track[data-selected] {\n --_track-color: var(--_md-switch-selected-track-color);\n --_track-outline-color: transparent;\n }\n\n .track[data-focus-visible] {\n --focus-indicator-color: var(--md-sys-color-secondary);\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(2 * var(--dp, 1px));\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n }\n}\n","import clsx from \"clsx\";\nimport { Check, type LucideIcon, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Switch as AriaSwitch } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { typography } from \"@/utils\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport styles from \"./switch.module.css\";\nimport type { SwitchProps } from \"./types\";\n\n/**\n * A toggle switch control implementing Material Design 3 Switch specifications.\n *\n * Toggles a binary on/off setting with animated sliding thumb indicator, support for optional\n * handle icons (such as checkmark and cross), and configurable label placement.\n *\n * @example\n * ```tsx\n * import { Switch } from '@adgytec/web-ui-components';\n *\n * <Switch isSelected={airplaneMode} onChange={setAirplaneMode}>\n * Airplane Mode\n * </Switch>\n * ```\n */\nexport const Switch: React.FC<SwitchProps> = ({\n className,\n children,\n icon = \"selected\",\n labelPlacement = \"start\",\n containerStateLayer = false,\n unselectedIcon = X,\n selectedIcon = Check,\n ...props\n}) => {\n return (\n <AriaSwitch\n className={(renderProps) =>\n clsx(\n styles[\"switch\"],\n containerStateLayer && styles[\"state-layer\"],\n typography.labelLarge,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-switch\n >\n {(renderProps) => {\n const {\n isSelected,\n isHovered,\n isDisabled,\n isFocused,\n isFocusVisible,\n isPressed,\n isReadOnly,\n } = renderProps;\n\n let iconValue: LucideIcon | undefined;\n if (icon !== \"none\" && isSelected) {\n iconValue = selectedIcon;\n }\n\n if (icon === \"both\" && !isSelected) {\n iconValue = unselectedIcon;\n }\n\n const dataAttrs = {\n \"data-selected\": isSelected || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-icon\": iconValue ? true : undefined,\n \"data-show-state-layer\": !containerStateLayer || undefined,\n };\n\n let iconElement: ReactNode;\n if (iconValue) {\n iconElement = (\n <Icon\n icon={iconValue}\n size={16}\n className={clsx(styles[\"icon\"])}\n {...dataAttrs}\n />\n );\n }\n\n const label =\n typeof children === \"function\"\n ? children(renderProps)\n : children;\n\n return (\n <>\n {labelPlacement === \"start\" && label}\n\n <span\n {...dataAttrs}\n className={clsx(styles[\"track\"], TapTarget)}\n >\n <span\n {...dataAttrs}\n className={clsx(styles[\"handle\"])}\n >\n {iconElement}\n </span>\n </span>\n\n {labelPlacement === \"end\" && label}\n </>\n );\n }}\n </AriaSwitch>\n );\n};\n"],"mappings":";;;;;;;;;;;;;GCyBaC,KAAiC,EAC1C,cACA,aACA,UAAO,YACP,oBAAiB,SACjB,yBAAsB,IACtB,oBAAiBW,GACjB,kBAAeC,GACf,GAAGC,QAGC,kBAACZ,GAAD;CACI,YAAY,MACRC,EACIC,EAAOM,QACPM,KAAuBZ,EAAO,gBAC9Ba,EAAW,YACX,OAAOC,KAAc,aACfA,EAAUC,CAAW,IACrBD,CACV;CAEJ,GAAIJ;CACJ,eAAA;CAEEd,WAAAA,MAAgB;EACd,IAAM,EACF,eACA,cACA,eACA,cACA,mBACA,cACA,kBACAA,GAEAqB;EAKJ,AAJIC,MAAS,UAAUC,MACnB,IAAYC,IAGZF,MAAS,UAAU,CAACC,MACpB,IAAYE;EAGhB,IAAMC,IAAY;GACd,iBAAiBH,KAAc,KAAA;GAC/B,gBAAgBI,KAAa,KAAA;GAC7B,iBAAiBC,KAAc,KAAA;GAC/B,gBAAgBC,KAAa,KAAA;GAC7B,sBAAsBC,KAAkB,KAAA;GACxC,gBAAgBC,KAAa,KAAA;GAC7B,iBAAiBC,KAAc,KAAA;GAC/B,aAAaX,IAAY,KAAO,KAAA;GAChC,yBAAyB,CAACL,KAAuB,KAAA;EACrD,GAEIiB;EACJ,AAAIZ,MACA,IACI,kBAACd,GAAD;GACI,MAAMc;GACN,MAAM;GACN,WAAWlB,EAAKC,EAAO8B,IAAO;GAC9B,GAAIR;EAAU,CAAA;EAK1B,IAAMS,IACF,OAAOC,KAAa,aACdA,EAASpC,CAAW,IACpBoC;EAEV,OACI,kBAAA/B,GAAA,EAAA,UAAA;GACKiC,MAAmB,WAAWH;GAE/B,kBAAC,QAAD;IACI,GAAIT;IACJ,WAAWvB,EAAKC,EAAOmC,OAAUjC,CAAS;IAE1C,UAAA,kBAAC,QAAD;KACI,GAAIoB;KACJ,WAAWvB,EAAKC,EAAOoC,MAAS;KAE/B,UAAAP;IACC,CAAA;GACJ,CAAA;GAELK,MAAmB,SAASH;EACjC,EAAA,CAAA;CAER;AACQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tab","names":["icon","handlePress","label"],"sources":["../../src/components/Tabs/Tab/tab.module.css","../../src/components/Tabs/Tab/Tab.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab {\n --_state-color: var(--md-sys-color-on-surface);\n --_state-layer-opacity: 0;\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n --_color: var(--_md-tabs-color);\n\n --_focus-inset-inline-start: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end: var(--md-sys-layout-space-4);\n --_focus-inset-block-start: var(--md-sys-layout-space-4);\n --_focus-inset-block-end: var(--md-sys-layout-space-4);\n\n position: relative;\n outline: none;\n\n padding-block: calc(14 * var(--dp, 1px));\n padding-inline: var(--md-sys-layout-space-16);\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: var(--md-sys-layout-space-8);\n\n color: var(--_color);\n\n cursor: pointer;\n\n transition: color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n padding-block: var(--md-sys-layout-space-12);\n }\n\n &[data-selected] {\n --_color: var(--_md-tabs-active-color);\n\n --_focus-inset-inline-end: var(--_focus-inset-inline-end-active);\n --_focus-inset-block-end: var(--_focus-inset-block-end-active);\n }\n\n &[data-hovered] {\n --_color: var(--_md-tabs-active-color);\n --_state-layer-opacity: var(--md-sys-state-hover);\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n\n &[data-disabled] {\n cursor: default;\n\n --_color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n --_md-tabs-active-indicator-color: var(--_color);\n }\n }\n\n /* state layer */\n .tab::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n background-color: var(--_state-layer-color);\n\n transition: background-color var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n /* focus indicator */\n .tab[data-focus-visible]::after {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n content: \"\";\n position: absolute;\n\n inset-inline-start: var(--_focus-inset-inline-start);\n inset-inline-end: var(--_focus-inset-inline-end);\n inset-block-start: var(--_focus-inset-block-start);\n inset-block-end: var(--_focus-inset-block-end);\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-color: var(--focus-indicator-color);\n\n border-radius: var(--md-sys-shape-corner-radius-small);\n\n z-index: 1;\n }\n\n .selection-indicator {\n position: absolute;\n\n transition-timing-function: var(--md-sys-motion-standard-fast-spatial);\n transition-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .splash {\n position: absolute;\n inset: 0;\n overflow: clip;\n }\n}\n","import clsx from \"clsx\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Tab as AriaTab, SelectionIndicator } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { typography } from \"@/utils\";\nimport styles from \"./tab.module.css\";\n\nexport const Tab: React.FC<\n Omit<React.ComponentPropsWithRef<typeof AriaTab>, \"children\"> & {\n label?: ReactNode;\n icon?: LucideIcon;\n }\n> = ({ className, label, icon, onPress, ...props }) => {\n const { splashInfo, handlePress } = useSplash(onPress);\n\n return (\n <AriaTab\n onPress={handlePress}\n className={(renderProps) =>\n clsx(\n styles[\"tab\"],\n typography.titleSmall,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-icon={icon ? true : undefined}\n data-tab={true}\n >\n {splashInfo && (\n <span className={clsx(styles[\"splash\"])}>\n <Splash {...splashInfo} />\n </span>\n )}\n {icon && <Icon icon={icon} size={24} />}\n {label}\n <SelectionIndicator\n className={clsx(styles[\"selection-indicator\"])}\n data-selection-indicator={true}\n />\n </AriaTab>\n );\n};\n"],"mappings":";;;;;;;;;;;;GCUa,KAKT,MAAA;CAAA,IAAA,KAAA,GAAA,EAAA,EAAA,CAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA;CAAA,AAAA,EAAA,OAAA,KAA8C,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,OAA7C,iDAAA,KAAA,GAA6C,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA;CAC9C,IAAA,EAAA,eAAA,mBAAoC,EAAU,CAAO,GAAE;CAAA,AAAA,EAAA,OAAA,IAY1C,IAAA,EAAA,MAPM,KAAA,MACP,EACI,EAAM,KACN,EAAU,YACV,OAAO,KAAc,aACf,EAAU,CACF,IAFd,CAGJ,GAAC,EAAA,KAAA,GAAA,EAAA,KAAA;CAGM,IAAA,IAAA,IAAA,KAAA,KAAA,GAAuB;CAAA,AAAA,EAAA,OAAA,IAOjC,IAAA,EAAA,MAJA,IAAA,KACG,kBAAA,QAAA;EAAiB,WAAA,EAAK,EAAM,MAAU;YAClC,kBAAC,GAAD,EAAO,GAAK,EAAU,CAAA;CACnB,CAAA,GACV,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAAA,AAAA,EAAA,QAAA,IACsC,IAAA,EAAA,OAAtC,IAAA,KAAQ,kBAAC,GAAD;EAAY;EAAY,MAAA;CAAE,CAAA,GAAI,EAAA,MAAA,GAAA,EAAA,MAAA;CAAA,IAAA;CAAA,AAAA,EAAA,QAAA,OAAA,IAAA,2BAAA,KAEvC,IAAA,kBAAC,GAAD;EACe,WAAA,EAAK,EAAO,sBAAsB;EACnB,4BAAA;CAAI,CAAA,GAChC,EAAA,MAAA,KAAA,IAAA,EAAA;CAAA,IAAA;CACI,OADJ,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAAA,EAAA,QAAA,KAzBN,IAAA,kBAAC,GAAD;EACaC,SAAA;EACE,WAAA;EAON,GAED;EACO,aAAA;EACD,YAAA;YAbd;GAeK;GAKA;GACA;GACD;EAtBI;KA0BE,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,GAAA,EAAA,MAAA,KAAA,IAAA,EAAA,KA1BV;AA0BU"}
1
+ {"version":3,"file":"Tab","names":["icon","handlePress","label","Tab","_c","clsx","styles","AriaTab","require_compiler_runtime","Icon","Splash","useSplash","clsx$1","import_compiler_runtime","tab_module_default","Tab$1","$","className","icon","label","onPress","props","t0","t1","typography","renderProps","t2","t3","splashInfo","t4","t5","SelectionIndicator","t6","handlePress","Tab"],"sources":["../../src/components/Tabs/Tab/tab.module.css","../../src/components/Tabs/Tab/Tab.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab {\n --_state-color: var(--md-sys-color-on-surface);\n --_state-layer-opacity: 0;\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n --_color: var(--_md-tabs-color);\n\n --_focus-inset-inline-start: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end: var(--md-sys-layout-space-4);\n --_focus-inset-block-start: var(--md-sys-layout-space-4);\n --_focus-inset-block-end: var(--md-sys-layout-space-4);\n\n position: relative;\n outline: none;\n\n padding-block: calc(14 * var(--dp, 1px));\n padding-inline: var(--md-sys-layout-space-16);\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: var(--md-sys-layout-space-8);\n\n color: var(--_color);\n\n cursor: pointer;\n\n transition: color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n padding-block: var(--md-sys-layout-space-12);\n }\n\n &[data-selected] {\n --_color: var(--_md-tabs-active-color);\n\n --_focus-inset-inline-end: var(--_focus-inset-inline-end-active);\n --_focus-inset-block-end: var(--_focus-inset-block-end-active);\n }\n\n &[data-hovered] {\n --_color: var(--_md-tabs-active-color);\n --_state-layer-opacity: var(--md-sys-state-hover);\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n\n &[data-disabled] {\n cursor: default;\n\n --_color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n --_md-tabs-active-indicator-color: var(--_color);\n }\n }\n\n /* state layer */\n .tab::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n background-color: var(--_state-layer-color);\n\n transition: background-color var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n /* focus indicator */\n .tab[data-focus-visible]::after {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n content: \"\";\n position: absolute;\n\n inset-inline-start: var(--_focus-inset-inline-start);\n inset-inline-end: var(--_focus-inset-inline-end);\n inset-block-start: var(--_focus-inset-block-start);\n inset-block-end: var(--_focus-inset-block-end);\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-color: var(--focus-indicator-color);\n\n border-radius: var(--md-sys-shape-corner-radius-small);\n\n z-index: 1;\n }\n\n .selection-indicator {\n position: absolute;\n\n transition-timing-function: var(--md-sys-motion-standard-fast-spatial);\n transition-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .splash {\n position: absolute;\n inset: 0;\n overflow: clip;\n }\n}\n","import clsx from \"clsx\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Tab as AriaTab, SelectionIndicator } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { typography } from \"@/utils\";\nimport styles from \"./tab.module.css\";\n\n/**\n * Props for the {@link Tab} component.\n * Extends React Aria Components `Tab` props (omitting raw `children` in favor of `label` and `icon`).\n */\nexport interface TabProps\n extends Omit<React.ComponentPropsWithRef<typeof AriaTab>, \"children\"> {\n /**\n * Text label to display inside the tab.\n */\n label?: ReactNode;\n\n /**\n * Optional icon displayed alongside the tab label.\n */\n icon?: LucideIcon;\n}\n\n/**\n * An individual interactive tab button within a {@link TabList}, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `Tab` with Material 3 styling, supporting:\n * - A text `label` and an optional `icon` (rendered via {@link Icon}).\n * - Interactive ripple feedback via {@link Splash}.\n * - An animated {@link SelectionIndicator} that underlines or highlights the active tab.\n * - State layer feedback on hover, focus-visible, and pressed states.\n *\n * @example\n * ```tsx\n * import { Tab } from \"@adgytec/web-ui-components\";\n * import { Home } from \"lucide-react\";\n *\n * export function Example() {\n * return <Tab id=\"home\" label=\"Home\" icon={Home} />;\n * }\n * ```\n */\nexport const Tab: React.FC<TabProps> = ({\n className,\n label,\n icon,\n onPress,\n ...props\n}) => {\n const { splashInfo, handlePress } = useSplash(onPress);\n\n return (\n <AriaTab\n onPress={handlePress}\n className={(renderProps) =>\n clsx(\n styles[\"tab\"],\n typography.titleSmall,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-icon={icon ? true : undefined}\n data-tab={true}\n >\n {splashInfo && (\n <span className={clsx(styles[\"splash\"])}>\n <Splash {...splashInfo} />\n </span>\n )}\n {icon && <Icon icon={icon} size={24} />}\n {label}\n <SelectionIndicator\n className={clsx(styles[\"selection-indicator\"])}\n data-selection-indicator={true}\n />\n </AriaTab>\n );\n};\n"],"mappings":";;;;;;;;;;;;GC+CaG,KAA0B,MAAA;CAAA,IAAAa,KAAA,GAAAZ,EAAAA,EAAAA,CAAA,EAAA,GAAAa,GAAAC,GAAAC,GAAAC,GAAAC;CAAA,AAAAL,EAAA,OAAAM,KAMtC,IAAAN,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,OANuC,8CAAA,GAAAK,KAAAC,GAMvC,EAAA,KAAAA,GAAA,EAAA,KAAAL,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC;CACG,IAAA,EAAA,eAAA,mBAAoCV,EAAUS,CAAO,GAAEG;CAAA,AAAAP,EAAA,OAAAC,IAY1C,IAAAD,EAAA,MAPM,KAAA,MACPX,EACIC,EAAM,KACNkB,EAAU,YACV,OAAOP,KAAc,aACfA,EAAUQ,CACF,IAFdR,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAM;CAGM,IAAAG,IAAAR,IAAA,KAAA,KAAA,GAAuBS;CAAA,AAAAX,EAAA,OAAAY,IAOjC,IAAAZ,EAAA,MAJA,IAAAY,KACG,kBAAA,QAAA;EAAiB,WAAAvB,EAAKC,EAAM,MAAU;EAClC,UAAA,kBAACI,GAAD,EAAO,GAAKkB,EAAU,CAAA;CACnB,CAAA,GACV,EAAA,KAAAA,GAAA,EAAA,KAAAD;CAAA,IAAAE;CAAA,AAAAb,EAAA,QAAAE,IACsC,IAAAF,EAAA,OAAtC,IAAAE,KAAQ,kBAACT,GAAD;EAAY;EAAY,MAAA;CAAE,CAAA,GAAI,EAAA,MAAAS,GAAA,EAAA,MAAAW;CAAA,IAAAC;CAAA,AAAAd,EAAA,QAAA,OAAA,IAAA,2BAAA,KAEvC,IAAA,kBAACe,GAAD;EACe,WAAA1B,EAAKC,EAAO,sBAAsB;EACnB,4BAAA;CAAI,CAAA,GAChC,EAAA,MAAAwB,KAAA,IAAAd,EAAA;CAAA,IAAAgB;CACI,OADJhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAG,KAAAH,EAAA,QAAAK,KAAAL,EAAA,QAAAO,KAAAP,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAAAX,EAAA,QAAAa,KAzBN,IAAA,kBAACtB,GAAD;EACaN,SAAAgC;EACE,WAAAV;EAON,GAEDF;EACO,aAAAK;EACD,YAAA;EAbd,UAAA;GAeKC;GAKAE;GACAV;GACDW;EAtBI;KA0BE,EAAA,MAAAG,GAAA,EAAA,MAAAd,GAAA,EAAA,MAAAE,GAAA,EAAA,MAAAE,GAAA,EAAA,MAAAG,GAAA,EAAA,MAAAC,GAAA,EAAA,MAAAE,GAAA,EAAA,MAAAG,KAAA,IAAAhB,EAAA,KA1BVgB;AA0BU"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabList","names":[],"sources":["../../src/components/Tabs/TabList/tabList.module.css","../../src/components/Tabs/TabList/TabList.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-tab-list-divider-color\n* --md-tabs-active-indicator-color\n*\n* --md-tabs-color\n* --md-tabs-active-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .tab-list {\n --_md-tabs-color: var(\n --md-tabs-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-tabs-active-color: var(\n --md-tabs-active-color,\n var(--md-sys-color-on-surface)\n );\n\n --_md-tab-list-divider-width: calc(1 * var(--dp, 1px));\n --_md-tab-list-divider-color: var(\n --md-tab-list-divider-color,\n var(--md-sys-color-surface-variant)\n );\n\n --_md-tabs-active-indicator-size: calc(2 * var(--dp, 1px));\n --_md-tabs-active-indicator-color: var(\n --md-tabs-active-indicator-color,\n var(--md-sys-color-primary)\n );\n\n [data-selection-indicator] {\n background-color: var(--_md-tabs-active-indicator-color);\n }\n\n &[data-orientation=\"horizontal\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-8);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-4);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n overflow-x: auto;\n\n border-block-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-tab] {\n flex: 1;\n text-align: center;\n }\n\n [data-selection-indicator] {\n inset-inline-start: 0;\n inset-block-end: 0px;\n\n inline-size: 100%;\n block-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, inline-size;\n }\n }\n\n &[data-orientation=\"vertical\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-8);\n\n border-inline-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-selection-indicator] {\n inset-block-start: 0;\n inset-inline-end: 0px;\n\n block-size: 100%;\n inline-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, block-size;\n }\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabList as AriaTabList } from \"react-aria-components\";\nimport styles from \"./tabList.module.css\";\n\nexport const TabList = <T extends object>({\n className,\n ...props\n}: React.ComponentPropsWithRef<typeof AriaTabList<T>>) => {\n return (\n <AriaTabList\n className={(renderProps) =>\n clsx(\n styles[\"tab-list\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;uDCIa,KAAU,MAAA;CAAA,IAAA,KAAA,GAAA,EAAA,EAAA,CAAA,CAAA,GAAA,GAAA;CAAA,AAAA,EAAA,OAAA,KAG8B,IAAA,EAAA,IAAA,IAAA,EAAA,OAHX,kBAAA,KAAA,GAGW,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAAA,AAAA,EAAA,OAAA,IASpC,IAAA,EAAA,MANM,KAAA,MACP,EACI,EAAO,aACP,OAAO,KAAc,aACf,EAAU,CACF,IAFd,CAGJ,GAAC,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAGP,OAHO,EAAA,OAAA,KAAA,EAAA,OAAA,KAPT,IAAA,kBAAC,GAAD;EACe,WAAA;EAMN,GAED;CAAK,CAAA,GACX,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,KAAA,IAAA,EAAA,IAVF;AAUE"}
1
+ {"version":3,"file":"TabList","names":["TabList","_c","clsx","styles","AriaTabList","require_compiler_runtime","clsx$1","import_compiler_runtime","tabList_module_default","TabList$1","$","className","props","t0","t1","renderProps","t2","TabList"],"sources":["../../src/components/Tabs/TabList/tabList.module.css","../../src/components/Tabs/TabList/TabList.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-tab-list-divider-color\n* --md-tabs-active-indicator-color\n*\n* --md-tabs-color\n* --md-tabs-active-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .tab-list {\n --_md-tabs-color: var(\n --md-tabs-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-tabs-active-color: var(\n --md-tabs-active-color,\n var(--md-sys-color-on-surface)\n );\n\n --_md-tab-list-divider-width: calc(1 * var(--dp, 1px));\n --_md-tab-list-divider-color: var(\n --md-tab-list-divider-color,\n var(--md-sys-color-surface-variant)\n );\n\n --_md-tabs-active-indicator-size: calc(2 * var(--dp, 1px));\n --_md-tabs-active-indicator-color: var(\n --md-tabs-active-indicator-color,\n var(--md-sys-color-primary)\n );\n\n [data-selection-indicator] {\n background-color: var(--_md-tabs-active-indicator-color);\n }\n\n &[data-orientation=\"horizontal\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-8);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-4);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n overflow-x: auto;\n\n border-block-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-tab] {\n flex: 1;\n text-align: center;\n }\n\n [data-selection-indicator] {\n inset-inline-start: 0;\n inset-block-end: 0px;\n\n inline-size: 100%;\n block-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, inline-size;\n }\n }\n\n &[data-orientation=\"vertical\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-8);\n\n border-inline-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-selection-indicator] {\n inset-block-start: 0;\n inset-inline-end: 0px;\n\n block-size: 100%;\n inline-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, block-size;\n }\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabList as AriaTabList } from \"react-aria-components\";\nimport styles from \"./tabList.module.css\";\n\n/**\n * Props for the {@link TabList} component.\n * Extends React Aria Components `TabList` props.\n *\n * Configurable CSS tokens:\n * - `--md-tabs-color`: Text and icon color for inactive tabs (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-tabs-active-color`: Text and icon color for the active tab (`var(--md-sys-color-on-surface)`).\n * - `--md-tabs-active-indicator-color`: Color of the selection indicator line (`var(--md-sys-color-primary)`).\n * - `--md-tab-list-divider-color`: Color of the divider line below or beside the tab list (`var(--md-sys-color-surface-variant)`).\n */\nexport interface TabListProps<T extends object = object>\n extends React.ComponentPropsWithRef<typeof AriaTabList<T>> {}\n\n/**\n * Container for interactive {@link Tab} elements, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabList` with Material 3 styling, active selection\n * indicator positioning, and divider styling for horizontal and vertical orientations.\n *\n * Configurable CSS tokens:\n * - `--md-tabs-color`: Text and icon color for inactive tabs (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-tabs-active-color`: Text and icon color for the active tab (`var(--md-sys-color-on-surface)`).\n * - `--md-tabs-active-indicator-color`: Color of the selection indicator line (`var(--md-sys-color-primary)`).\n * - `--md-tab-list-divider-color`: Color of the divider line below or beside the tab list (`var(--md-sys-color-surface-variant)`).\n *\n * @example\n * ```tsx\n * import { Tab, TabList } from \"@adgytec/web-ui-components\";\n * import { Home, Settings, User } from \"lucide-react\";\n *\n * export function NavigationTabList() {\n * return (\n * <TabList aria-label=\"Account Tabs\">\n * <Tab id=\"home\" label=\"Home\" icon={Home} />\n * <Tab id=\"profile\" label=\"Profile\" icon={User} />\n * <Tab id=\"settings\" label=\"Settings\" icon={Settings} />\n * </TabList>\n * );\n * }\n * ```\n */\nexport const TabList = <T extends object>({\n className,\n ...props\n}: TabListProps<T>) => {\n return (\n <AriaTabList\n className={(renderProps) =>\n clsx(\n styles[\"tab-list\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;uDC8CaA,KAAU,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAGL,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAHwB,eAAA,GAAAE,KAAAC,GAGxB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IASD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAO,aACP,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanel","names":[],"sources":["../../src/components/Tabs/TabPanel/tabPanel.module.css","../../src/components/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panel {\n transition: opacity var(--md-sys-motion-expressive-slow-effects)\n var(--md-sys-motion-expressive-slow-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-entering] {\n opacity: 0;\n }\n\n &[data-exiting] {\n display: none;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabPanel as AriaTabPanel } from \"react-aria-components\";\nimport styles from \"./tabPanel.module.css\";\n\nexport const TabPanel: React.FC<\n React.ComponentPropsWithRef<typeof AriaTabPanel>\n> = ({ className, ...props }) => {\n return (\n <AriaTabPanel\n className={(renderProps) =>\n clsx(\n styles[\"tab-panel\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;wDCIa,KAET,MAAA;CAAA,IAAA,KAAA,GAAA,EAAA,EAAA,CAAA,CAAA,GAAA,GAAA;CAAA,AAAA,EAAA,OAAA,KAAwB,IAAA,EAAA,IAAA,IAAA,EAAA,OAAvB,kBAAA,KAAA,GAAuB,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAAA,AAAA,EAAA,OAAA,IASX,IAAA,EAAA,MANM,KAAA,MACP,EACI,EAAO,cACP,OAAO,KAAc,aACf,EAAU,CACF,IAFd,CAGJ,GAAC,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAGP,OAHO,EAAA,OAAA,KAAA,EAAA,OAAA,KAPT,IAAA,kBAAC,GAAD;EACe,WAAA;EAMN,GAED;CAAK,CAAA,GACX,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,KAAA,IAAA,EAAA,IAVF;AAUE"}
1
+ {"version":3,"file":"TabPanel","names":["TabPanel","_c","clsx","styles","AriaTabPanel","require_compiler_runtime","clsx$1","import_compiler_runtime","tabPanel_module_default","TabPanel$1","$","className","props","t0","t1","renderProps","t2","TabPanel"],"sources":["../../src/components/Tabs/TabPanel/tabPanel.module.css","../../src/components/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panel {\n transition: opacity var(--md-sys-motion-expressive-slow-effects)\n var(--md-sys-motion-expressive-slow-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-entering] {\n opacity: 0;\n }\n\n &[data-exiting] {\n display: none;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabPanel as AriaTabPanel } from \"react-aria-components\";\nimport styles from \"./tabPanel.module.css\";\n\n/**\n * Props for the {@link TabPanel} component.\n * Extends React Aria Components `TabPanel` props.\n */\nexport interface TabPanelProps\n extends React.ComponentPropsWithRef<typeof AriaTabPanel> {}\n\n/**\n * Content panel associated with a specific {@link Tab}, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabPanel` with Material 3 styling and smooth\n * fade entrance animations when the tab becomes active.\n *\n * @example\n * ```tsx\n * import { TabPanel } from \"@adgytec/web-ui-components\";\n *\n * export function PanelExample() {\n * return (\n * <TabPanel id=\"profile\">\n * <h3>User Profile</h3>\n * <p>Manage user profile information here.</p>\n * </TabPanel>\n * );\n * }\n * ```\n */\nexport const TabPanel: React.FC<TabPanelProps> = ({ className, ...props }) => {\n return (\n <AriaTabPanel\n className={(renderProps) =>\n clsx(\n styles[\"tab-panel\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;wDCgCaA,KAAoC,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAAwB,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAAvB,eAAA,GAAAE,KAAAC,GAAuB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IASxD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAO,cACP,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanels","names":[],"sources":["../../src/components/Tabs/TabPanels/tabPanels.module.css","../../src/components/Tabs/TabPanels/TabPanels.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panels {\n position: relative;\n\n height: var(--tab-panel-height);\n transition: height var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabPanels as AriaTabPanels } from \"react-aria-components\";\nimport styles from \"./tabPanels.module.css\";\n\nexport const TabPanels = <T extends object>({\n className,\n ...props\n}: React.ComponentPropsWithRef<typeof AriaTabPanels<T>>) => {\n return (\n <AriaTabPanels\n className={clsx(styles[\"tab-panels\"], className)}\n {...props}\n data-tab-panels={true}\n />\n );\n};\n"],"mappings":";;;;;0DCIa,KAAY,MAAA;CAAA,IAAA,KAAA,GAAA,EAAA,EAAA,CAAA,CAAA,GAAA,GAAA;CAAA,AAAA,EAAA,OAAA,KAG8B,IAAA,EAAA,IAAA,IAAA,EAAA,OAHX,kBAAA,KAAA,GAGW,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAAA,AAAA,EAAA,OAAA,IAGK,IAAA,EAAA,MAArC,IAAA,EAAK,EAAO,eAAe,CAAS,GAAC,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAGlD,OAHkD,EAAA,OAAA,KAAA,EAAA,OAAA,KADpD,IAAA,kBAAC,GAAD;EACe,WAAA;EAAqC,GAC5C;EACa,mBAAA;CAAI,CAAA,GACvB,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,KAAA,IAAA,EAAA,IAJF;AAIE"}
1
+ {"version":3,"file":"TabPanels","names":["TabPanels","_c","clsx","styles","AriaTabPanels","require_compiler_runtime","clsx$1","import_compiler_runtime","tabPanels_module_default","TabPanels$1","$","className","props","t0","t1","t2","TabPanels"],"sources":["../../src/components/Tabs/TabPanels/tabPanels.module.css","../../src/components/Tabs/TabPanels/TabPanels.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panels {\n position: relative;\n\n height: var(--tab-panel-height);\n transition: height var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabPanels as AriaTabPanels } from \"react-aria-components\";\nimport styles from \"./tabPanels.module.css\";\n\n/**\n * Props for the {@link TabPanels} component.\n * Extends React Aria Components `TabPanels` props.\n */\nexport interface TabPanelsProps<T extends object = object>\n extends React.ComponentPropsWithRef<typeof AriaTabPanels<T>> {}\n\n/**\n * Container for {@link TabPanel} elements in a {@link Tabs} structure, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabPanels` and provides coordinated smooth height transitions\n * when switching between tab panels.\n *\n * @example\n * ```tsx\n * import { TabPanel, TabPanels } from \"@adgytec/web-ui-components\";\n *\n * export function PanelsExample() {\n * return (\n * <TabPanels>\n * <TabPanel id=\"account\">Account settings content</TabPanel>\n * <TabPanel id=\"security\">Security settings content</TabPanel>\n * </TabPanels>\n * );\n * }\n * ```\n */\nexport const TabPanels = <T extends object>({\n className,\n ...props\n}: TabPanelsProps<T>) => {\n return (\n <AriaTabPanels\n className={clsx(styles[\"tab-panels\"], className)}\n {...props}\n data-tab-panels={true}\n />\n );\n};\n"],"mappings":";;;;;0DCgCaA,KAAY,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAGL,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAHwB,eAAA,GAAAE,KAAAC,GAGxB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IAGwC,IAAAD,EAAA,MAArC,IAAAR,EAAKC,EAAO,eAAeQ,CAAS,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAC;CAGlD,OAHkDL,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KADpD,IAAA,kBAACV,GAAD;EACe,WAAAU;EAAqC,GAC5CF;EACa,mBAAA;CAAI,CAAA,GACvB,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAC,KAAA,IAAAL,EAAA,IAJFK;AAIE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs","names":[],"sources":["../../src/components/Tabs/Tabs/tabs.module.css","../../src/components/Tabs/Tabs/Tabs.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tabs {\n display: grid;\n gap: var(--md-sys-layout-space-16);\n\n &[data-orientation=\"vertical\"] {\n grid-template-columns: auto 1fr;\n }\n\n &[data-orientation=\"horizontal\"] {\n grid-template-rows: auto 1fr;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { Tabs as AriaTabs } from \"react-aria-components\";\nimport styles from \"./tabs.module.css\";\n\nexport const Tabs: React.FC<React.ComponentPropsWithRef<typeof AriaTabs>> = ({\n className,\n ...props\n}) => {\n return (\n <AriaTabs\n className={(renderProps) =>\n clsx(\n styles[\"tabs\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;4CCIa,KAA+D,MAAA;CAAA,IAAA,KAAA,GAAA,EAAA,EAAA,CAAA,CAAA,GAAA,GAAA;CAAA,AAAA,EAAA,OAAA,KAG3E,IAAA,EAAA,IAAA,IAAA,EAAA,OAH4E,kBAAA,KAAA,GAG5E,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAAA,AAAA,EAAA,OAAA,IASgB,IAAA,EAAA,MANM,KAAA,MACP,EACI,EAAM,MACN,OAAO,KAAc,aACf,EAAU,CACF,IAFd,CAGJ,GAAC,EAAA,KAAA,GAAA,EAAA,KAAA;CAAA,IAAA;CAGP,OAHO,EAAA,OAAA,KAAA,EAAA,OAAA,KAPT,IAAA,kBAAC,GAAD;EACe,WAAA;EAMN,GAED;CAAK,CAAA,GACX,EAAA,KAAA,GAAA,EAAA,KAAA,GAAA,EAAA,KAAA,KAAA,IAAA,EAAA,IAVF;AAUE"}
1
+ {"version":3,"file":"Tabs","names":["Tabs","_c","clsx","styles","AriaTabs","require_compiler_runtime","clsx$1","import_compiler_runtime","tabs_module_default","Tabs$1","$","className","props","t0","t1","renderProps","t2","Tabs"],"sources":["../../src/components/Tabs/Tabs/tabs.module.css","../../src/components/Tabs/Tabs/Tabs.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tabs {\n display: grid;\n gap: var(--md-sys-layout-space-16);\n\n &[data-orientation=\"vertical\"] {\n grid-template-columns: auto 1fr;\n }\n\n &[data-orientation=\"horizontal\"] {\n grid-template-rows: auto 1fr;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { Tabs as AriaTabs } from \"react-aria-components\";\nimport styles from \"./tabs.module.css\";\n\n/**\n * Props for the {@link Tabs} component.\n * Extends React Aria Components `Tabs` props.\n */\nexport interface TabsProps\n extends React.ComponentPropsWithRef<typeof AriaTabs> {}\n\n/**\n * Main container for organizing content into high-level categories based on\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `Tabs` to manage tab selection state, keyboard navigation,\n * and layout orientation (horizontal or vertical).\n *\n * @example\n * ```tsx\n * import {\n * Tab,\n * TabList,\n * TabPanel,\n * TabPanels,\n * Tabs,\n * } from \"@adgytec/web-ui-components\";\n * import { Home, Settings, User } from \"lucide-react\";\n *\n * export function Example() {\n * return (\n * <Tabs defaultSelectedKey=\"home\">\n * <TabList aria-label=\"Navigation\">\n * <Tab id=\"home\" label=\"Home\" icon={Home} />\n * <Tab id=\"profile\" label=\"Profile\" icon={User} />\n * <Tab id=\"settings\" label=\"Settings\" icon={Settings} />\n * </TabList>\n * <TabPanels>\n * <TabPanel id=\"home\">Home content goes here.</TabPanel>\n * <TabPanel id=\"profile\">Profile content goes here.</TabPanel>\n * <TabPanel id=\"settings\">Settings content goes here.</TabPanel>\n * </TabPanels>\n * </Tabs>\n * );\n * }\n * ```\n */\nexport const Tabs: React.FC<TabsProps> = ({ className, ...props }) => {\n return (\n <AriaTabs\n className={(renderProps) =>\n clsx(\n styles[\"tabs\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;4CC+CaA,KAA4B,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAAwB,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAAvB,eAAA,GAAAE,KAAAC,GAAuB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IAShD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAM,MACN,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tag","names":[],"sources":["../../src/components/Tag/core.ts","../../src/components/Tag/tag.module.css","../../src/components/Tag/Tag.tsx"],"sourcesContent":["export const TagIconSize = 18;\nexport const AvatarSize = 24;\n","/* configurable tokens\n*\n* --md-chip-background-color\n* --md-chip-selected-background-color\n*\n* --md-chip-icon-color\n* --md-chip-selected-icon-color\n*\n* --md-chip-label-color\n* --md-chip-selected-label-color\n*\n* configurable tokens end */\n\n@layer adgytec.overrides {\n .tag {\n [data-visual-button] {\n --focus-indicator-offset: calc(-4 * var(--dp, 1px));\n }\n }\n}\n\n@layer adgytec.comps {\n .tag {\n --_md-chip-background-color: var(\n --md-chip-background-color,\n var(--md-sys-color-surface-container-low)\n );\n --_md-chip-selected-background-color: var(\n --md-chip-selected-background-color,\n var(--md-sys-color-secondary-container)\n );\n --_md-chip-icon-color: var(\n --md-chip-icon-color,\n var(--md-sys-color-primary)\n );\n --_md-chip-selected-icon-color: var(\n --md-chip-selected-icon-color,\n var(--md-sys-color-on-secondary-container)\n );\n --_md-chip-label-color: var(\n --md-chip-label-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-chip-selected-label-color: var(\n --md-chip-selected-label-color,\n var(--md-sys-color-on-secondary-container)\n );\n\n /* derived */\n --_background: var(--_md-chip-background-color);\n --_label-color: var(--_md-chip-label-color);\n --_icon-color: var(--_md-chip-icon-color);\n\n --_state-layer-opacity: 0;\n\n --_state-layer-color: rgb(\n from var(--_label-color) r g b /\n var(--_state-layer-opacity)\n );\n\n /* styles */\n\n display: flex;\n align-items: center;\n gap: var(--md-sys-layout-space-8);\n\n position: relative;\n overflow: clip;\n\n background-color: var(--_background);\n color: var(--_icon-color);\n\n padding-inline: var(--md-sys-layout-space-12);\n padding-block: calc(5 * var(--dp, 1px));\n border-radius: var(--md-sys-shape-corner-radius-small);\n\n border: calc(1 * var(--dp, 1px)) solid\n var(--md-sys-color-outline-variant);\n outline: none;\n\n transition:\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n border-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n padding var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n padding-inline-start: var(--md-sys-layout-space-8);\n }\n\n &[data-avatar] {\n padding-block: calc(3 * var(--dp, 1px));\n padding-inline-start: var(--md-sys-layout-space-4);\n }\n\n &[data-allows-removing] {\n padding-block: 0;\n padding-inline-end: calc(2 * var(--dp, 1px));\n }\n\n &[data-selection-mode] {\n cursor: pointer;\n }\n\n &[data-selected] {\n --_background: var(--_md-chip-selected-background-color);\n --_label-color: var(--_md-chip-selected-label-color);\n --_icon-color: var(--_md-chip-selected-icon-color);\n\n border-color: transparent;\n }\n\n &[data-hovered] {\n --_state-layer-opacity: var(--md-sys-state-hover);\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n\n &[data-disabled] {\n cursor: default;\n border-color: transparent;\n\n --_background: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n --_label-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_icon-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n }\n\n /* state layer */\n .tag::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n background-color: var(--_state-layer-color);\n\n transition: background-color var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n /* focus indicator */\n .tag[data-focus-visible] {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(2 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n\n z-index: 1;\n }\n\n .label {\n color: var(--_label-color);\n\n transition: color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .avatar-constraint {\n inline-size: var(--md-sys-layout-space-24);\n max-inline-size: var(--md-sys-layout-space-24);\n\n block-size: var(--md-sys-layout-space-24);\n max-block-size: var(--md-sys-layout-space-24);\n\n aspect-ratio: 1 / 1;\n border-radius: 50%;\n\n overflow: clip;\n\n &[data-disabled] {\n position: relative;\n\n &::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: 50%;\n\n background: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n }\n }\n}\n","import clsx from \"clsx\";\nimport { Check, X } from \"lucide-react\";\nimport { Tag as AriaTag } from \"react-aria-components\";\nimport { typography } from \"@/utils\";\nimport { IconButton } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Splash } from \"../Splash/Splash\";\nimport { useSplash } from \"../Splash/useSplash\";\nimport { TagIconSize } from \"./core\";\nimport styles from \"./tag.module.css\";\nimport type { TagProps } from \"./types\";\n\nexport const Tag: React.FC<TagProps> = ({\n icon,\n avatar,\n label,\n className,\n onPress,\n textValue = label,\n ...props\n}) => {\n const { splashInfo, handlePress } = useSplash(onPress);\n\n return (\n <AriaTag\n onPress={handlePress}\n className={(renderProps) =>\n clsx(\n styles[\"tag\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n textValue={textValue}\n {...props}\n data-avatar={avatar ? true : undefined}\n data-icon={!avatar && icon ? true : undefined}\n >\n {({ isSelected, allowsRemoving, isDisabled }) => (\n <>\n {splashInfo && <Splash {...splashInfo} />}\n {avatar ? (\n <div\n className={clsx(styles[\"avatar-constraint\"])}\n data-disabled={isDisabled || undefined}\n >\n {avatar}\n </div>\n ) : isSelected ? (\n <Icon icon={Check} size={TagIconSize} />\n ) : (\n icon && <Icon icon={icon} size={TagIconSize} />\n )}\n\n <p className={clsx(typography.labelLarge, styles[\"label\"])}>\n {label}\n </p>\n\n {allowsRemoving && (\n <IconButton\n slot=\"remove\"\n icon={X}\n size=\"extra-small\"\n color=\"standard\"\n />\n )}\n </>\n )}\n </AriaTag>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAa,IAAc,IACd,IAAa;;;;GEWb,KAA2B,EACpC,SACA,WACA,UACA,cACA,YACA,eAAY,GACZ,GAAG,QACD;CACF,IAAM,EAAE,eAAY,mBAAgB,EAAU,CAAO;CAErD,OACI,kBAAC,GAAD;EACI,SAAS;EACT,YAAY,MACR,EACI,EAAO,KACP,OAAO,KAAc,aACf,EAAU,CAAW,IACrB,CACV;EAEO;EACX,GAAI;EACJ,eAAa,IAAS,KAAO,KAAA;EAC7B,aAAW,CAAC,KAAU,IAAO,KAAO,KAAA;aAElC,EAAE,eAAY,mBAAgB,oBAC5B,kBAAA,GAAA,EAAA,UAAA;GACK,KAAc,kBAAC,GAAD,EAAQ,GAAI,EAAW,CAAA;GACrC,IACG,kBAAC,OAAD;IACI,WAAW,EAAK,EAAO,oBAAoB;IAC3C,iBAAe,KAAc,KAAA;cAE5B;GACA,CAAA,IACL,IACA,kBAAC,GAAD;IAAM,MAAM;IAAO,MAAA;GAAkB,CAAA,IAErC,KAAQ,kBAAC,GAAD;IAAY;IAAM,MAAA;GAAkB,CAAA;GAGhD,kBAAC,KAAD;IAAG,WAAW,EAAK,EAAW,YAAY,EAAO,KAAQ;cACpD;GACF,CAAA;GAEF,KACG,kBAAC,GAAD;IACI,MAAK;IACL,MAAM;IACN,MAAK;IACL,OAAM;GAAU,CAAA;EAG5B,EAAA,CAAA;CAEC,CAAA;AAEjB"}
1
+ {"version":3,"file":"Tag","names":["Tag","AriaTag","clsx","styles","_Fragment","typography","useSplash","clsx$1","TagIconSize","AvatarSize","tag_module_default","Tag$1","label","props","onPress","Tag","handlePress","\"tag\"","className","renderProps","avatar","icon","Fragment","splashInfo","Splash","isDisabled","isSelected","Icon","Check","\"label\"","allowsRemoving","IconButton","X"],"sources":["../../src/components/Tag/core.ts","../../src/components/Tag/tag.module.css","../../src/components/Tag/Tag.tsx"],"sourcesContent":["/**\n * Default icon size (in pixels) rendered inside a {@link Tag}.\n */\nexport const TagIconSize = 18;\n\n/**\n * Diameter (in pixels) for avatar elements rendered inside a {@link Tag}.\n */\nexport const AvatarSize = 24;\n","/* configurable tokens\n*\n* --md-chip-background-color\n* --md-chip-selected-background-color\n*\n* --md-chip-icon-color\n* --md-chip-selected-icon-color\n*\n* --md-chip-label-color\n* --md-chip-selected-label-color\n*\n* configurable tokens end */\n\n@layer adgytec.overrides {\n .tag {\n [data-visual-button] {\n --focus-indicator-offset: calc(-4 * var(--dp, 1px));\n }\n }\n}\n\n@layer adgytec.comps {\n .tag {\n --_md-chip-background-color: var(\n --md-chip-background-color,\n var(--md-sys-color-surface-container-low)\n );\n --_md-chip-selected-background-color: var(\n --md-chip-selected-background-color,\n var(--md-sys-color-secondary-container)\n );\n --_md-chip-icon-color: var(\n --md-chip-icon-color,\n var(--md-sys-color-primary)\n );\n --_md-chip-selected-icon-color: var(\n --md-chip-selected-icon-color,\n var(--md-sys-color-on-secondary-container)\n );\n --_md-chip-label-color: var(\n --md-chip-label-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-chip-selected-label-color: var(\n --md-chip-selected-label-color,\n var(--md-sys-color-on-secondary-container)\n );\n\n /* derived */\n --_background: var(--_md-chip-background-color);\n --_label-color: var(--_md-chip-label-color);\n --_icon-color: var(--_md-chip-icon-color);\n\n --_state-layer-opacity: 0;\n\n --_state-layer-color: rgb(\n from var(--_label-color) r g b /\n var(--_state-layer-opacity)\n );\n\n /* styles */\n\n display: flex;\n align-items: center;\n gap: var(--md-sys-layout-space-8);\n\n position: relative;\n overflow: clip;\n\n background-color: var(--_background);\n color: var(--_icon-color);\n\n padding-inline: var(--md-sys-layout-space-12);\n padding-block: calc(5 * var(--dp, 1px));\n border-radius: var(--md-sys-shape-corner-radius-small);\n\n border: calc(1 * var(--dp, 1px)) solid\n var(--md-sys-color-outline-variant);\n outline: none;\n\n transition:\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n border-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n padding var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n padding-inline-start: var(--md-sys-layout-space-8);\n }\n\n &[data-avatar] {\n padding-block: calc(3 * var(--dp, 1px));\n padding-inline-start: var(--md-sys-layout-space-4);\n }\n\n &[data-allows-removing] {\n padding-block: 0;\n padding-inline-end: calc(2 * var(--dp, 1px));\n }\n\n &[data-selection-mode] {\n cursor: pointer;\n }\n\n &[data-selected] {\n --_background: var(--_md-chip-selected-background-color);\n --_label-color: var(--_md-chip-selected-label-color);\n --_icon-color: var(--_md-chip-selected-icon-color);\n\n border-color: transparent;\n }\n\n &[data-hovered] {\n --_state-layer-opacity: var(--md-sys-state-hover);\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n\n &[data-disabled] {\n cursor: default;\n border-color: transparent;\n\n --_background: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n --_label-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_icon-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n }\n\n /* state layer */\n .tag::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n background-color: var(--_state-layer-color);\n\n transition: background-color var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n /* focus indicator */\n .tag[data-focus-visible] {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(2 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n\n z-index: 1;\n }\n\n .label {\n color: var(--_label-color);\n\n transition: color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .avatar-constraint {\n inline-size: var(--md-sys-layout-space-24);\n max-inline-size: var(--md-sys-layout-space-24);\n\n block-size: var(--md-sys-layout-space-24);\n max-block-size: var(--md-sys-layout-space-24);\n\n aspect-ratio: 1 / 1;\n border-radius: 50%;\n\n overflow: clip;\n\n &[data-disabled] {\n position: relative;\n\n &::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: 50%;\n\n background: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n }\n }\n}\n","import clsx from \"clsx\";\nimport { Check, X } from \"lucide-react\";\nimport { Tag as AriaTag } from \"react-aria-components\";\nimport { typography } from \"@/utils\";\nimport { IconButton } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Splash } from \"../Splash/Splash\";\nimport { useSplash } from \"../Splash/useSplash\";\nimport { TagIconSize } from \"./core\";\nimport styles from \"./tag.module.css\";\nimport type { TagProps } from \"./types\";\n\n/**\n * Compact interactive element representing an attribute, entity, or action, based on\n * [Material 3 Chips](https://m3.material.io/components/chips/overview).\n *\n * Extends React Aria Components `Tag` with Material 3 styling and interactive behaviors:\n * - Renders a text `label` using `typography.labelLarge`.\n * - Supports an optional leading `icon` or circular `avatar`.\n * - When selected, dynamically displays a checkmark icon unless an avatar is present.\n * - Supports removable tags by rendering a built-in remove icon button (`X`) when `allowsRemoving` is true.\n * - Interactive ripple feedback via {@link Splash}.\n *\n * Configurable CSS tokens:\n * - `--md-chip-background-color`: Background color of the tag (`var(--md-sys-color-surface-container-low)`).\n * - `--md-chip-selected-background-color`: Background color when selected (`var(--md-sys-color-secondary-container)`).\n * - `--md-chip-icon-color`: Color of the leading icon (`var(--md-sys-color-primary)`).\n * - `--md-chip-selected-icon-color`: Color of the icon when selected (`var(--md-sys-color-on-secondary-container)`).\n * - `--md-chip-label-color`: Text color of the label (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-chip-selected-label-color`: Text color when selected (`var(--md-sys-color-on-secondary-container)`).\n *\n * @example\n * ```tsx\n * import { Tag } from \"@adgytec/web-ui-components\";\n * import { TagGroup, TagList } from \"react-aria-components\";\n * import { PlaneTakeoff, ShoppingCart } from \"lucide-react\";\n *\n * export function Example() {\n * return (\n * <TagGroup aria-label=\"Categories\" selectionMode=\"multiple\">\n * <TagList>\n * <Tag id=\"travel\" label=\"Travel\" icon={PlaneTakeoff} />\n * <Tag id=\"shopping\" label=\"Shopping\" icon={ShoppingCart} />\n * </TagList>\n * </TagGroup>\n * );\n * }\n * ```\n */\nexport const Tag: React.FC<TagProps> = ({\n icon,\n avatar,\n label,\n className,\n onPress,\n textValue = label,\n ...props\n}) => {\n const { splashInfo, handlePress } = useSplash(onPress);\n\n return (\n <AriaTag\n onPress={handlePress}\n className={(renderProps) =>\n clsx(\n styles[\"tag\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n textValue={textValue}\n {...props}\n data-avatar={avatar ? true : undefined}\n data-icon={!avatar && icon ? true : undefined}\n >\n {({ isSelected, allowsRemoving, isDisabled }) => (\n <>\n {splashInfo && <Splash {...splashInfo} />}\n {avatar ? (\n <div\n className={clsx(styles[\"avatar-constraint\"])}\n data-disabled={isDisabled || undefined}\n >\n {avatar}\n </div>\n ) : isSelected ? (\n <Icon icon={Check} size={TagIconSize} />\n ) : (\n icon && <Icon icon={icon} size={TagIconSize} />\n )}\n\n <p className={clsx(typography.labelLarge, styles[\"label\"])}>\n {label}\n </p>\n\n {allowsRemoving && (\n <IconButton\n slot=\"remove\"\n icon={X}\n size=\"extra-small\"\n color=\"standard\"\n />\n )}\n </>\n )}\n </AriaTag>\n );\n};\n"],"mappings":";;;;;;;;;AAGA,IAAaQ,IAAc,IAKdC,IAAa;;;;GEyCbT,KAA2B,EACpC,SACA,WACA,UACA,cACA,YACA,eAAYY,GACZ,GAAGC,QACD;CACF,IAAM,EAAE,eAAY,mBAAgBP,EAAUQ,CAAO;CAErD,OACI,kBAACb,GAAD;EACI,SAASe;EACT,YAAY,MACRd,EACIC,EAAOc,KACP,OAAOC,KAAc,aACfA,EAAUC,CAAW,IACrBD,CACV;EAEO;EACX,GAAIL;EACJ,eAAaO,IAAS,KAAO,KAAA;EAC7B,aAAW,CAACA,KAAUC,IAAO,KAAO,KAAA;EAElC,WAAA,EAAE,eAAY,mBAAgB,oBAC5B,kBAAAjB,GAAA,EAAA,UAAA;GACKmB,KAAc,kBAACC,GAAD,EAAQ,GAAID,EAAW,CAAA;GACrCH,IACG,kBAAC,OAAD;IACI,WAAWlB,EAAKC,EAAO,oBAAoB;IAC3C,iBAAesB,KAAc,KAAA;IAE5B,UAAAL;GACA,CAAA,IACLM,IACA,kBAACC,GAAD;IAAM,MAAMC;IAAO,MAAA;GAAkB,CAAA,IAErCP,KAAQ,kBAACM,GAAD;IAAY;IAAM,MAAA;GAAkB,CAAA;GAGhD,kBAAC,KAAD;IAAG,WAAWzB,EAAKG,EAAW,YAAYF,EAAO0B,KAAQ;IACpD,UAAAjB;GACF,CAAA;GAEFkB,KACG,kBAACC,GAAD;IACI,MAAK;IACL,MAAMC;IACN,MAAK;IACL,OAAM;GAAU,CAAA;EAG5B,EAAA,CAAA;CAEC,CAAA;AAEjB"}