@vibe/core 4.5.13 → 4.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/dist/base/dist/BaseInput/BaseInput.module.scss.js +1 -1
  2. package/dist/components/Table/Table/tableHelpers.d.ts +1 -1
  3. package/dist/components/a11y/dist/HiddenText/HiddenText.module.scss.js +1 -1
  4. package/dist/components/avatar/dist/Avatar/Avatar.module.scss.js +1 -1
  5. package/dist/components/avatar/dist/Avatar/AvatarBadge.module.scss.js +1 -1
  6. package/dist/components/avatar/dist/Avatar/AvatarContent.module.scss.js +1 -1
  7. package/dist/components/button/dist/Button/Button.module.scss.js +1 -1
  8. package/dist/components/button-group/dist/ButtonGroup/ButtonGroup.module.scss.js +1 -1
  9. package/dist/components/checkbox/dist/Checkbox/Checkbox.module.scss.js +1 -1
  10. package/dist/components/clickable/dist/Clickable/Clickable.module.scss.js +1 -1
  11. package/dist/components/color-picker/dist/ColorPicker/ColorPicker.module.scss.js +1 -1
  12. package/dist/components/color-picker/dist/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
  13. package/dist/components/color-picker/dist/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
  14. package/dist/components/color-picker/dist/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
  15. package/dist/components/counter/dist/Counter/Counter.module.scss.js +1 -1
  16. package/dist/components/dialog/dist/Dialog/Dialog.module.scss.js +1 -1
  17. package/dist/components/dialog/dist/Dialog/components/DialogContent/DialogContent.module.scss.js +1 -1
  18. package/dist/components/dialog/dist/DialogContentContainer/DialogContentContainer.module.scss.js +1 -1
  19. package/dist/components/divider/dist/Divider/Divider.module.scss.js +1 -1
  20. package/dist/components/editable/dist/EditableHeading/EditableHeading.module.scss.js +1 -1
  21. package/dist/components/editable/dist/EditableText/EditableText.module.scss.js +1 -1
  22. package/dist/components/editable/dist/EditableTypography/EditableTypography.module.scss.js +1 -1
  23. package/dist/components/expand-collapse/dist/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
  24. package/dist/components/formatted-number/dist/FormattedNumber/FormattedNumber.module.scss.js +1 -1
  25. package/dist/components/icon/dist/Icon/Icon.module.scss.js +1 -1
  26. package/dist/components/icon-button/dist/IconButton/IconButton.module.scss.js +1 -1
  27. package/dist/components/index.d.ts +2 -2
  28. package/dist/components/label/dist/Label/Label.module.scss.js +1 -1
  29. package/dist/components/label/dist/Label/LabelCelebrationAnimation.module.scss.js +1 -1
  30. package/dist/components/layout/dist/Box/Box.module.scss.js +1 -1
  31. package/dist/components/layout/dist/Flex/Flex.module.scss.js +1 -1
  32. package/dist/components/link/dist/Link/Link.module.scss.js +1 -1
  33. package/dist/components/loader/dist/Loader/Loader.module.scss.js +1 -1
  34. package/dist/components/progress-bars/dist/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
  35. package/dist/components/progress-bars/dist/ProgressBars/ProgressBar/Bar/Bar.module.scss.js +1 -1
  36. package/dist/components/progress-bars/dist/ProgressBars/ProgressBar/ProgressBar.module.scss.js +1 -1
  37. package/dist/components/radio-button/dist/RadioButton/RadioButton.module.scss.js +1 -1
  38. package/dist/components/skeleton/dist/Skeleton/Skeleton.js +2 -0
  39. package/dist/components/skeleton/dist/Skeleton/Skeleton.js.map +1 -0
  40. package/dist/components/skeleton/dist/Skeleton/Skeleton.module.scss.js +2 -0
  41. package/dist/components/skeleton/dist/Skeleton/SkeletonConstants.js +2 -0
  42. package/dist/components/skeleton/dist/Skeleton/SkeletonConstants.js.map +1 -0
  43. package/dist/components/tabs/dist/Tab/Tab.js +2 -0
  44. package/dist/components/tabs/dist/Tab/Tab.js.map +1 -0
  45. package/dist/components/tabs/dist/Tab/Tab.module.scss.js +2 -0
  46. package/dist/components/tabs/dist/TabList/TabList.js +2 -0
  47. package/dist/components/tabs/dist/TabList/TabList.js.map +1 -0
  48. package/dist/components/tabs/dist/TabList/TabList.module.scss.js +2 -0
  49. package/dist/components/tabs/dist/TabPanel/TabPanel.js +2 -0
  50. package/dist/components/tabs/dist/TabPanel/TabPanel.js.map +1 -0
  51. package/dist/components/tabs/dist/TabPanel/TabPanel.module.scss.js +2 -0
  52. package/dist/components/tabs/dist/TabPanels/TabPanels.js +2 -0
  53. package/dist/components/tabs/dist/TabPanels/TabPanels.js.map +1 -0
  54. package/dist/components/tabs/dist/TabPanels/TabPanels.module.scss.js +2 -0
  55. package/dist/components/tabs/dist/TabsContext/TabsContext.js +2 -0
  56. package/dist/components/tabs/dist/TabsContext/TabsContext.js.map +1 -0
  57. package/dist/components/tooltip/dist/Tooltip/Tooltip.module.scss.js +1 -1
  58. package/dist/components/typography/dist/Heading/Heading.module.scss.js +1 -1
  59. package/dist/components/typography/dist/Text/Text.module.scss.js +1 -1
  60. package/dist/components/typography/dist/Typography/Typography.module.scss.js +1 -1
  61. package/dist/metadata/components.json +6 -11
  62. package/dist/metadata.json +6 -11
  63. package/dist/mocked_classnames/components/Table/Table/tableHelpers.d.ts +1 -1
  64. package/dist/mocked_classnames/components/index.d.ts +2 -2
  65. package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
  66. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
  67. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
  68. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
  69. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
  70. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
  71. package/dist/mocked_classnames/src/components/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.module.scss.js +1 -1
  72. package/dist/mocked_classnames/src/components/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.module.scss.js +1 -1
  73. package/dist/mocked_classnames/src/components/AttentionBox/components/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
  74. package/dist/mocked_classnames/src/components/AttentionBox/layouts/AttentionBoxCompact/AttentionBoxCompact.module.scss.js +1 -1
  75. package/dist/mocked_classnames/src/components/AttentionBox/layouts/AttentionBoxDefault/AttentionBoxDefault.module.scss.js +1 -1
  76. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
  77. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
  78. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
  79. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
  80. package/dist/mocked_classnames/src/components/Badge/Badge.module.scss.js +1 -1
  81. package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
  82. package/dist/mocked_classnames/src/components/BaseItem/BaseItem.module.scss.js +1 -1
  83. package/dist/mocked_classnames/src/components/BaseList/BaseList.module.scss.js +1 -1
  84. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
  85. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
  86. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbsMenu.module.scss.js +1 -1
  87. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
  88. package/dist/mocked_classnames/src/components/Chips/Chips.module.scss.js +1 -1
  89. package/dist/mocked_classnames/src/components/Combobox/Combobox.module.scss.js +1 -1
  90. package/dist/mocked_classnames/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
  91. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
  92. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
  93. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
  94. package/dist/mocked_classnames/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
  95. package/dist/mocked_classnames/src/components/DatePicker/DatePicker.module.scss.js +1 -1
  96. package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader.module.scss.js +1 -1
  97. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownBase/DropdownBase.module.scss.js +1 -1
  98. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownBaseList/DropdownBaseList.module.scss.js +1 -1
  99. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownBoxMode/DropdownBoxMode.module.scss.js +1 -1
  100. package/dist/mocked_classnames/src/components/Dropdown/components/Menu/Menu.module.scss.js +1 -1
  101. package/dist/mocked_classnames/src/components/Dropdown/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +1 -1
  102. package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/Trigger.module.scss.js +1 -1
  103. package/dist/mocked_classnames/src/components/EmptyState/EmptyState.module.scss.js +1 -1
  104. package/dist/mocked_classnames/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
  105. package/dist/mocked_classnames/src/components/Info/components/InfoDialogContent/InfoDialogContent.module.scss.js +1 -1
  106. package/dist/mocked_classnames/src/components/Info/components/InfoLink/InfoLink.module.scss.js +1 -1
  107. package/dist/mocked_classnames/src/components/InfoText/InfoText.module.scss.js +1 -1
  108. package/dist/mocked_classnames/src/components/List/List.module.scss.js +1 -1
  109. package/dist/mocked_classnames/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
  110. package/dist/mocked_classnames/src/components/ListItem/ListItem.module.scss.js +1 -1
  111. package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
  112. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
  113. package/dist/mocked_classnames/src/components/ListTitle/ListTitle.module.scss.js +1 -1
  114. package/dist/mocked_classnames/src/components/Menu/Menu/Menu.module.scss.js +1 -1
  115. package/dist/mocked_classnames/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
  116. package/dist/mocked_classnames/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
  117. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.module.scss.js +1 -1
  118. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.module.scss.js +1 -1
  119. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.module.scss.js +1 -1
  120. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
  121. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
  122. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.module.scss.js +1 -1
  123. package/dist/mocked_classnames/src/components/Modal/Modal/Modal.module.scss.js +1 -1
  124. package/dist/mocked_classnames/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
  125. package/dist/mocked_classnames/src/components/Modal/ModalMedia/ModalMedia.module.scss.js +1 -1
  126. package/dist/mocked_classnames/src/components/Modal/ModalTopActions/ModalTopActions.module.scss.js +1 -1
  127. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooter/ModalFooter.module.scss.js +1 -1
  128. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.module.scss.js +1 -1
  129. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.module.scss.js +1 -1
  130. package/dist/mocked_classnames/src/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.module.scss.js +1 -1
  131. package/dist/mocked_classnames/src/components/Modal/layouts/ModalFooterShadow.module.scss.js +1 -1
  132. package/dist/mocked_classnames/src/components/Modal/layouts/ModalLayoutScrollableContent.module.scss.js +1 -1
  133. package/dist/mocked_classnames/src/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.module.scss.js +1 -1
  134. package/dist/mocked_classnames/src/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.module.scss.js +1 -1
  135. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
  136. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
  137. package/dist/mocked_classnames/src/components/NumberField/NumberField.module.scss.js +1 -1
  138. package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.module.scss.js +1 -1
  139. package/dist/mocked_classnames/src/components/Search/Search.module.scss.js +1 -1
  140. package/dist/mocked_classnames/src/components/SlideTransition/SlideTransition.module.scss.js +1 -1
  141. package/dist/mocked_classnames/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
  142. package/dist/mocked_classnames/src/components/Slider/Slider.module.scss.js +1 -1
  143. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
  144. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
  145. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
  146. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
  147. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
  148. package/dist/mocked_classnames/src/components/Slider/SliderInfix.module.scss.js +1 -1
  149. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.module.scss.js +1 -1
  150. package/dist/mocked_classnames/src/components/Steps/Steps.module.scss.js +1 -1
  151. package/dist/mocked_classnames/src/components/Steps/StepsCommand.module.scss.js +1 -1
  152. package/dist/mocked_classnames/src/components/Steps/StepsDot.module.scss.js +1 -1
  153. package/dist/mocked_classnames/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
  154. package/dist/mocked_classnames/src/components/Steps/StepsHeader.module.scss.js +1 -1
  155. package/dist/mocked_classnames/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
  156. package/dist/mocked_classnames/src/components/Switch/Switch.module.scss.js +1 -1
  157. package/dist/mocked_classnames/src/components/Table/Table/Table.module.scss.js +1 -1
  158. package/dist/mocked_classnames/src/components/Table/Table/tableHelpers.js.map +1 -1
  159. package/dist/mocked_classnames/src/components/Table/TableBody/TableBody.module.scss.js +1 -1
  160. package/dist/mocked_classnames/src/components/Table/TableCell/TableCell.module.scss.js +1 -1
  161. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js +1 -1
  162. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
  163. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.module.scss.js +1 -1
  164. package/dist/mocked_classnames/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
  165. package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.module.scss.js +1 -1
  166. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.module.scss.js +1 -1
  167. package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.module.scss.js +1 -1
  168. package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.module.scss.js +1 -1
  169. package/dist/mocked_classnames/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.module.scss.js +1 -1
  170. package/dist/mocked_classnames/src/components/TextArea/TextArea.module.scss.js +1 -1
  171. package/dist/mocked_classnames/src/components/TextField/TextField.module.scss.js +1 -1
  172. package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
  173. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.module.scss.js +1 -1
  174. package/dist/mocked_classnames/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
  175. package/dist/mocked_classnames/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
  176. package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
  177. package/dist/mocked_classnames/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
  178. package/dist/mocked_classnames/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
  179. package/dist/mocked_classnames/src/components/Toast/Toast.module.scss.js +1 -1
  180. package/dist/mocked_classnames/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
  181. package/dist/mocked_classnames/src/components/Toggle/MockToggle.module.scss.js +1 -1
  182. package/dist/mocked_classnames/src/components/Toggle/Toggle.module.scss.js +1 -1
  183. package/dist/mocked_classnames/src/components/Toggle/ToggleText.module.scss.js +1 -1
  184. package/dist/mocked_classnames/src/components/TransitionView/TransitionView.module.scss.js +1 -1
  185. package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
  186. package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
  187. package/dist/mocked_classnames/src/components/next/List/List.module.scss.js +1 -1
  188. package/dist/mocked_classnames/src/components/next/List/ListTitle/ListTitle.module.scss.js +1 -1
  189. package/dist/mocked_classnames/src/index.js +1 -1
  190. package/dist/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
  191. package/dist/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
  192. package/dist/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
  193. package/dist/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
  194. package/dist/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
  195. package/dist/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
  196. package/dist/src/components/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.module.scss.js +1 -1
  197. package/dist/src/components/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.module.scss.js +1 -1
  198. package/dist/src/components/AttentionBox/components/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
  199. package/dist/src/components/AttentionBox/layouts/AttentionBoxCompact/AttentionBoxCompact.module.scss.js +1 -1
  200. package/dist/src/components/AttentionBox/layouts/AttentionBoxDefault/AttentionBoxDefault.module.scss.js +1 -1
  201. package/dist/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
  202. package/dist/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
  203. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
  204. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
  205. package/dist/src/components/Badge/Badge.module.scss.js +1 -1
  206. package/dist/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
  207. package/dist/src/components/BaseItem/BaseItem.module.scss.js +1 -1
  208. package/dist/src/components/BaseList/BaseList.module.scss.js +1 -1
  209. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
  210. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
  211. package/dist/src/components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbsMenu.module.scss.js +1 -1
  212. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
  213. package/dist/src/components/Chips/Chips.module.scss.js +1 -1
  214. package/dist/src/components/Combobox/Combobox.module.scss.js +1 -1
  215. package/dist/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
  216. package/dist/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
  217. package/dist/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
  218. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
  219. package/dist/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
  220. package/dist/src/components/DatePicker/DatePicker.module.scss.js +1 -1
  221. package/dist/src/components/DatePicker/DatePickerHeader.module.scss.js +1 -1
  222. package/dist/src/components/Dropdown/components/DropdownBase/DropdownBase.module.scss.js +1 -1
  223. package/dist/src/components/Dropdown/components/DropdownBaseList/DropdownBaseList.module.scss.js +1 -1
  224. package/dist/src/components/Dropdown/components/DropdownBoxMode/DropdownBoxMode.module.scss.js +1 -1
  225. package/dist/src/components/Dropdown/components/Menu/Menu.module.scss.js +1 -1
  226. package/dist/src/components/Dropdown/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +1 -1
  227. package/dist/src/components/Dropdown/components/Trigger/Trigger.module.scss.js +1 -1
  228. package/dist/src/components/EmptyState/EmptyState.module.scss.js +1 -1
  229. package/dist/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
  230. package/dist/src/components/Info/components/InfoDialogContent/InfoDialogContent.module.scss.js +1 -1
  231. package/dist/src/components/Info/components/InfoLink/InfoLink.module.scss.js +1 -1
  232. package/dist/src/components/InfoText/InfoText.module.scss.js +1 -1
  233. package/dist/src/components/List/List.module.scss.js +1 -1
  234. package/dist/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
  235. package/dist/src/components/ListItem/ListItem.module.scss.js +1 -1
  236. package/dist/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
  237. package/dist/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
  238. package/dist/src/components/ListTitle/ListTitle.module.scss.js +1 -1
  239. package/dist/src/components/Menu/Menu/Menu.module.scss.js +1 -1
  240. package/dist/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
  241. package/dist/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
  242. package/dist/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.module.scss.js +1 -1
  243. package/dist/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.module.scss.js +1 -1
  244. package/dist/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.module.scss.js +1 -1
  245. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
  246. package/dist/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
  247. package/dist/src/components/MenuButton/MenuButton.module.scss.js +1 -1
  248. package/dist/src/components/Modal/Modal/Modal.module.scss.js +1 -1
  249. package/dist/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
  250. package/dist/src/components/Modal/ModalMedia/ModalMedia.module.scss.js +1 -1
  251. package/dist/src/components/Modal/ModalTopActions/ModalTopActions.module.scss.js +1 -1
  252. package/dist/src/components/Modal/footers/ModalFooter/ModalFooter.module.scss.js +1 -1
  253. package/dist/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.module.scss.js +1 -1
  254. package/dist/src/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.module.scss.js +1 -1
  255. package/dist/src/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.module.scss.js +1 -1
  256. package/dist/src/components/Modal/layouts/ModalFooterShadow.module.scss.js +1 -1
  257. package/dist/src/components/Modal/layouts/ModalLayoutScrollableContent.module.scss.js +1 -1
  258. package/dist/src/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.module.scss.js +1 -1
  259. package/dist/src/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.module.scss.js +1 -1
  260. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
  261. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
  262. package/dist/src/components/NumberField/NumberField.module.scss.js +1 -1
  263. package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.module.scss.js +1 -1
  264. package/dist/src/components/Search/Search.module.scss.js +1 -1
  265. package/dist/src/components/SlideTransition/SlideTransition.module.scss.js +1 -1
  266. package/dist/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
  267. package/dist/src/components/Slider/Slider.module.scss.js +1 -1
  268. package/dist/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
  269. package/dist/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
  270. package/dist/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
  271. package/dist/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
  272. package/dist/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
  273. package/dist/src/components/Slider/SliderInfix.module.scss.js +1 -1
  274. package/dist/src/components/SplitButton/SplitButton.module.scss.js +1 -1
  275. package/dist/src/components/Steps/Steps.module.scss.js +1 -1
  276. package/dist/src/components/Steps/StepsCommand.module.scss.js +1 -1
  277. package/dist/src/components/Steps/StepsDot.module.scss.js +1 -1
  278. package/dist/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
  279. package/dist/src/components/Steps/StepsHeader.module.scss.js +1 -1
  280. package/dist/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
  281. package/dist/src/components/Switch/Switch.module.scss.js +1 -1
  282. package/dist/src/components/Table/Table/Table.module.scss.js +1 -1
  283. package/dist/src/components/Table/Table/tableHelpers.js.map +1 -1
  284. package/dist/src/components/Table/TableBody/TableBody.module.scss.js +1 -1
  285. package/dist/src/components/Table/TableCell/TableCell.module.scss.js +1 -1
  286. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js +1 -1
  287. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
  288. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.module.scss.js +1 -1
  289. package/dist/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
  290. package/dist/src/components/Table/TableHeader/TableHeader.module.scss.js +1 -1
  291. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.module.scss.js +1 -1
  292. package/dist/src/components/Table/TableRow/TableRow.module.scss.js +1 -1
  293. package/dist/src/components/Table/TableRowMenu/TableRowMenu.module.scss.js +1 -1
  294. package/dist/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.module.scss.js +1 -1
  295. package/dist/src/components/TextArea/TextArea.module.scss.js +1 -1
  296. package/dist/src/components/TextField/TextField.module.scss.js +1 -1
  297. package/dist/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
  298. package/dist/src/components/Tipseen/Tipseen.module.scss.js +1 -1
  299. package/dist/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
  300. package/dist/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
  301. package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
  302. package/dist/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
  303. package/dist/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
  304. package/dist/src/components/Toast/Toast.module.scss.js +1 -1
  305. package/dist/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
  306. package/dist/src/components/Toggle/MockToggle.module.scss.js +1 -1
  307. package/dist/src/components/Toggle/Toggle.module.scss.js +1 -1
  308. package/dist/src/components/Toggle/ToggleText.module.scss.js +1 -1
  309. package/dist/src/components/TransitionView/TransitionView.module.scss.js +1 -1
  310. package/dist/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
  311. package/dist/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
  312. package/dist/src/components/next/List/List.module.scss.js +1 -1
  313. package/dist/src/components/next/List/ListTitle/ListTitle.module.scss.js +1 -1
  314. package/dist/src/index.js +1 -1
  315. package/dist/style/dist/index.min.css.js +1 -1
  316. package/package.json +4 -2
  317. package/dist/components/Skeleton/Skeleton.d.ts +0 -31
  318. package/dist/components/Skeleton/SkeletonConstants.d.ts +0 -1
  319. package/dist/components/Skeleton/Skelton.types.d.ts +0 -4
  320. package/dist/components/Skeleton/index.d.ts +0 -2
  321. package/dist/components/Tabs/Tab/Tab.d.ts +0 -64
  322. package/dist/components/Tabs/TabList/TabList.d.ts +0 -35
  323. package/dist/components/Tabs/TabPanel/TabPanel.d.ts +0 -14
  324. package/dist/components/Tabs/TabPanels/TabPanels.d.ts +0 -20
  325. package/dist/components/Tabs/TabPanels/TabPanels.types.d.ts +0 -1
  326. package/dist/components/Tabs/TabsContext/TabsContext.d.ts +0 -14
  327. package/dist/components/Tabs/index.d.ts +0 -6
  328. package/dist/mocked_classnames/components/Skeleton/Skeleton.d.ts +0 -31
  329. package/dist/mocked_classnames/components/Skeleton/SkeletonConstants.d.ts +0 -1
  330. package/dist/mocked_classnames/components/Skeleton/Skelton.types.d.ts +0 -4
  331. package/dist/mocked_classnames/components/Skeleton/index.d.ts +0 -2
  332. package/dist/mocked_classnames/components/Tabs/Tab/Tab.d.ts +0 -64
  333. package/dist/mocked_classnames/components/Tabs/TabList/TabList.d.ts +0 -35
  334. package/dist/mocked_classnames/components/Tabs/TabPanel/TabPanel.d.ts +0 -14
  335. package/dist/mocked_classnames/components/Tabs/TabPanels/TabPanels.d.ts +0 -20
  336. package/dist/mocked_classnames/components/Tabs/TabPanels/TabPanels.types.d.ts +0 -1
  337. package/dist/mocked_classnames/components/Tabs/TabsContext/TabsContext.d.ts +0 -14
  338. package/dist/mocked_classnames/components/Tabs/index.d.ts +0 -6
  339. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js +0 -2
  340. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +0 -1
  341. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.module.scss.js +0 -2
  342. package/dist/mocked_classnames/src/components/Skeleton/SkeletonConstants.js +0 -2
  343. package/dist/mocked_classnames/src/components/Skeleton/SkeletonConstants.js.map +0 -1
  344. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js +0 -2
  345. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js.map +0 -1
  346. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.module.scss.js +0 -2
  347. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js +0 -2
  348. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js.map +0 -1
  349. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.module.scss.js +0 -2
  350. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js +0 -2
  351. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js.map +0 -1
  352. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.module.scss.js +0 -2
  353. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js +0 -2
  354. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js.map +0 -1
  355. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.module.scss.js +0 -2
  356. package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js +0 -2
  357. package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js.map +0 -1
  358. package/dist/src/components/Skeleton/Skeleton.js +0 -2
  359. package/dist/src/components/Skeleton/Skeleton.js.map +0 -1
  360. package/dist/src/components/Skeleton/Skeleton.module.scss.js +0 -2
  361. package/dist/src/components/Skeleton/Skeleton.module.scss.js.map +0 -1
  362. package/dist/src/components/Skeleton/SkeletonConstants.js +0 -2
  363. package/dist/src/components/Skeleton/SkeletonConstants.js.map +0 -1
  364. package/dist/src/components/Tabs/Tab/Tab.js +0 -2
  365. package/dist/src/components/Tabs/Tab/Tab.js.map +0 -1
  366. package/dist/src/components/Tabs/Tab/Tab.module.scss.js +0 -2
  367. package/dist/src/components/Tabs/Tab/Tab.module.scss.js.map +0 -1
  368. package/dist/src/components/Tabs/TabList/TabList.js +0 -2
  369. package/dist/src/components/Tabs/TabList/TabList.js.map +0 -1
  370. package/dist/src/components/Tabs/TabList/TabList.module.scss.js +0 -2
  371. package/dist/src/components/Tabs/TabList/TabList.module.scss.js.map +0 -1
  372. package/dist/src/components/Tabs/TabPanel/TabPanel.js +0 -2
  373. package/dist/src/components/Tabs/TabPanel/TabPanel.js.map +0 -1
  374. package/dist/src/components/Tabs/TabPanel/TabPanel.module.scss.js +0 -2
  375. package/dist/src/components/Tabs/TabPanel/TabPanel.module.scss.js.map +0 -1
  376. package/dist/src/components/Tabs/TabPanels/TabPanels.js +0 -2
  377. package/dist/src/components/Tabs/TabPanels/TabPanels.js.map +0 -1
  378. package/dist/src/components/Tabs/TabPanels/TabPanels.module.scss.js +0 -2
  379. package/dist/src/components/Tabs/TabPanels/TabPanels.module.scss.js.map +0 -1
  380. package/dist/src/components/Tabs/TabsContext/TabsContext.js +0 -2
  381. package/dist/src/components/Tabs/TabsContext/TabsContext.js.map +0 -1
  382. /package/dist/{mocked_classnames/src/components → components/skeleton/dist}/Skeleton/Skeleton.module.scss.js.map +0 -0
  383. /package/dist/{mocked_classnames/src/components/Tabs → components/tabs/dist}/Tab/Tab.module.scss.js.map +0 -0
  384. /package/dist/{mocked_classnames/src/components/Tabs → components/tabs/dist}/TabList/TabList.module.scss.js.map +0 -0
  385. /package/dist/{mocked_classnames/src/components/Tabs → components/tabs/dist}/TabPanel/TabPanel.module.scss.js.map +0 -0
  386. /package/dist/{mocked_classnames/src/components/Tabs → components/tabs/dist}/TabPanels/TabPanels.module.scss.js.map +0 -0
@@ -1,64 +0,0 @@
1
- import { type FC, type ReactElement } from "react";
2
- import { type IconType, type SubIcon } from "@vibe/icon";
3
- import type VibeComponentProps from "../../../types/VibeComponentProps";
4
- import { type TooltipProps } from "@vibe/tooltip";
5
- export interface TabProps extends VibeComponentProps {
6
- /**
7
- * Class name applied to the inner tab content.
8
- */
9
- tabInnerClassName?: string;
10
- /**
11
- * The index value of the tab.
12
- */
13
- value?: number;
14
- /**
15
- * If true, disables the tab.
16
- */
17
- disabled?: boolean;
18
- /**
19
- * If true, marks the tab as active.
20
- */
21
- active?: boolean;
22
- /**
23
- * If true, applies focus styles to the tab.
24
- */
25
- focus?: boolean;
26
- /**
27
- * If true, hides the individual tab border when using stretched underline.
28
- */
29
- stretchedUnderline?: boolean;
30
- /**
31
- * The icon displayed in the tab.
32
- */
33
- icon?: SubIcon;
34
- /**
35
- * The type of icon.
36
- */
37
- iconType?: IconType;
38
- /**
39
- * The position of the icon relative to the text.
40
- */
41
- iconSide?: string;
42
- /**
43
- * Callback fired when the tab is clicked.
44
- */
45
- onClick?: (value: number) => void;
46
- /**
47
- * Props passed to the tab's tooltip.
48
- */
49
- tooltipProps?: Partial<TooltipProps>;
50
- /**
51
- * The content displayed inside the tab.
52
- */
53
- children?: string | ReactElement | ReactElement[];
54
- /**
55
- * Tab index for focus management.
56
- */
57
- tabIndex?: number;
58
- /**
59
- * The id of the associated TabPanel for aria-controls attribute.
60
- */
61
- "aria-controls"?: string;
62
- }
63
- declare const Tab: FC<TabProps>;
64
- export default Tab;
@@ -1,35 +0,0 @@
1
- import { type FC, type ReactElement } from "react";
2
- import type VibeComponentProps from "../../../types/VibeComponentProps";
3
- import { type TabProps } from "../Tab/Tab";
4
- export interface TabListProps extends VibeComponentProps {
5
- /**
6
- * Callback fired when the active tab changes.
7
- */
8
- onTabChange?: (tabId: number) => void;
9
- /**
10
- * The index of the currently active tab.
11
- */
12
- activeTabId?: number;
13
- /**
14
- * The type of tab style.
15
- */
16
- tabType?: string;
17
- /**
18
- * The size of the tab list.
19
- */
20
- size?: string;
21
- /**
22
- * If true, Sets an E2E underline under the whole tabs component.
23
- */
24
- stretchedUnderline?: boolean;
25
- /**
26
- * Array of corresponding TabPanel ids for aria-controls relationship.
27
- */
28
- tabPanelIds?: string[];
29
- /**
30
- * The child elements representing tabs.
31
- */
32
- children?: ReactElement<TabProps>[];
33
- }
34
- declare const TabList: FC<TabListProps>;
35
- export default TabList;
@@ -1,14 +0,0 @@
1
- import { type FC, type ReactElement } from "react";
2
- import type VibeComponentProps from "../../../types/VibeComponentProps";
3
- export interface TabPanelProps extends VibeComponentProps {
4
- /**
5
- * The content inside the tab panel.
6
- */
7
- children?: ReactElement | ReactElement[] | string;
8
- /**
9
- * The index of the tab panel.
10
- */
11
- index?: number;
12
- }
13
- declare const TabPanel: FC<TabPanelProps>;
14
- export default TabPanel;
@@ -1,20 +0,0 @@
1
- import React, { type ReactElement } from "react";
2
- import { type TabPanelsAnimationDirection } from "./TabPanels.types";
3
- import { type TabPanelProps } from "../TabPanel/TabPanel";
4
- import { type VibeComponentProps } from "../../../types";
5
- export interface TabPanelsProps extends VibeComponentProps {
6
- /**
7
- * The index of the currently active tab panel.
8
- */
9
- activeTabId?: number;
10
- /**
11
- * The animation direction when switching between tab panels.
12
- */
13
- animationDirection?: TabPanelsAnimationDirection;
14
- /**
15
- * The child elements representing tab panels.
16
- */
17
- children?: ReactElement<TabPanelProps> | ReactElement<TabPanelProps>[];
18
- }
19
- declare const TabPanels: React.ForwardRefExoticComponent<TabPanelsProps & React.RefAttributes<HTMLElement>>;
20
- export default TabPanels;
@@ -1 +0,0 @@
1
- export type TabPanelsAnimationDirection = "rtl" | "ltr";
@@ -1,14 +0,0 @@
1
- import { type FC, type ReactElement } from "react";
2
- import type VibeComponentProps from "../../../types/VibeComponentProps";
3
- export interface TabsContextProps extends VibeComponentProps {
4
- /**
5
- * The index of the currently active tab.
6
- */
7
- activeTabId?: number;
8
- /**
9
- * The child elements representing the tab list and tab panels.
10
- */
11
- children?: ReactElement | ReactElement[];
12
- }
13
- declare const TabsContext: FC<TabsContextProps>;
14
- export default TabsContext;
@@ -1,6 +0,0 @@
1
- export { default as Tab, type TabProps } from "./Tab/Tab";
2
- export { default as TabList, type TabListProps } from "./TabList/TabList";
3
- export { default as TabPanel, type TabPanelProps } from "./TabPanel/TabPanel";
4
- export { default as TabsContext, type TabsContextProps } from "./TabsContext/TabsContext";
5
- export { default as TabPanels, type TabPanelsProps } from "./TabPanels/TabPanels";
6
- export * from "./TabPanels/TabPanels.types";
@@ -1,2 +0,0 @@
1
- import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import e from"react";import{camelCase as s}from"es-toolkit";import{getTestId as r,ComponentDefaultTestId as i}from"../../tests/testIds.js";import o from"classnames";import{SKELETON_CUSTOM_SIZE as a}from"./SkeletonConstants.js";import{getStyle as l}from"@vibe/shared";import m from"./Skeleton.module.scss.js";var d=function(d){var n=d.type,p=d.size,f=d.className,c=d.width,u=d.height,h=d.fullWidth,v=void 0!==h&&h,g=d.id,N=d["data-testid"],j=(void 0===n?"rectangle":n)||"rectangle",k=(void 0===p?"custom":p)||a;return e.createElement("div",{id:g,className:o(m.skeleton,d.wrapperClassName,t({},m.fullWidth,v)),"data-testid":N||r(i.SKELETON,g)},e.createElement("div",{className:o(m[j],l(m,s(j+"-"+k)),f,t({},m.fullWidth,v)),style:{width:c,height:u}}))};export{d as default};
2
- //# sourceMappingURL=Skeleton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["import React from \"react\";\nimport { camelCase } from \"es-toolkit\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { SKELETON_CUSTOM_SIZE } from \"./SkeletonConstants\";\nimport { type SkeletonType, type SkeletonSizeType } from \"./Skelton.types\";\nimport { getStyle } from \"@vibe/shared\";\nimport { type VibeComponentProps } from \"../../types\";\nimport styles from \"./Skeleton.module.scss\";\n\nexport interface SkeletonProps extends VibeComponentProps {\n /**\n * The type of skeleton.\n */\n type?: SkeletonType;\n /**\n * The predefined size of the skeleton.\n */\n size?: SkeletonSizeType;\n /**\n * The width of the skeleton in pixels.\n */\n width?: number;\n /**\n * The height of the skeleton in pixels.\n */\n height?: number;\n /**\n * Class name applied to the wrapper element.\n */\n wrapperClassName?: string;\n /**\n * If true, the skeleton will take up the full width of its container.\n */\n fullWidth?: boolean;\n}\n\nconst Skeleton = ({\n type = \"rectangle\",\n size = \"custom\",\n className,\n wrapperClassName,\n width,\n height,\n fullWidth = false,\n id,\n \"data-testid\": dataTestId\n}: SkeletonProps) => {\n const skeletonType = type || \"rectangle\";\n\n // Skeleton has sizes only for text type, other types support only custom size\n const skeletonSize = size || SKELETON_CUSTOM_SIZE;\n\n return (\n <div\n id={id}\n className={cx(styles.skeleton, wrapperClassName, { [styles.fullWidth]: fullWidth })}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.SKELETON, id)}\n >\n <div\n className={cx(styles[skeletonType], getStyle(styles, camelCase(skeletonType + \"-\" + skeletonSize)), className, {\n [styles.fullWidth]: fullWidth\n })}\n style={{ width, height }}\n />\n </div>\n );\n};\n\nexport default Skeleton;\n"],"names":["Skeleton","_ref","_ref$type","type","_ref$size","size","className","width","height","_ref$fullWidth","fullWidth","id","dataTestId","skeletonType","skeletonSize","SKELETON_CUSTOM_SIZE","React","createElement","cx","styles","skeleton","wrapperClassName","_defineProperty","getTestId","ComponentDefaultTestId","SKELETON","getStyle","camelCase","style"],"mappings":"oYAqCA,IAAMA,EAAW,SAAHC,GAUM,IAAAC,EAAAD,EATlBE,KAAkBC,EAAAH,EAClBI,KACAC,EAASL,EAATK,UAEAC,EAAKN,EAALM,MACAC,EAAMP,EAANO,OAAMC,EAAAR,EACNS,UAAAA,OAAY,IAAHD,GAAQA,EACjBE,EAAEV,EAAFU,GACeC,EAAUX,EAAzB,eAEMY,QAVC,IAAHX,EAAG,YAAWA,IAUW,YAGvBY,QAZC,IAAHV,EAAG,SAAQA,IAYcW,EAE7B,OACEC,EACEC,cAAA,MAAA,CAAAN,GAAIA,EACJL,UAAWY,EAAGC,EAAOC,SAfTnB,EAAhBoB,iBAemDC,KAAKH,EAAOT,UAAYA,IAC1D,cAAAE,GAAcW,EAAUC,EAAuBC,SAAUd,IAEtEK,EACEC,cAAA,MAAA,CAAAX,UAAWY,EAAGC,EAAON,GAAea,EAASP,EAAQQ,EAAUd,EAAe,IAAMC,IAAgBR,EAASgB,EAC1GH,CAAAA,EAAAA,EAAOT,UAAYA,IAEtBkB,MAAO,CAAErB,MAAAA,EAAOC,OAAAA,KAIxB"}
@@ -1,2 +0,0 @@
1
- var n={skeleton:"skeleton",rectangle:"rectangle",shine:"shine",circle:"circle",text:"text",textH1:"textH1",textH2:"textH2",textH3:"textH3",textH4:"textH4",textH5:"textH5",textH6:"textH6",textSmall:"textSmall",textCustom:"textCustom",fullWidth:"fullWidth"};!function(n){const t="s_id-41cda04b2bc0_4_5_12";if("undefined"!=typeof document){const e=document.head||document.getElementsByTagName("head")[0];if(e.querySelector("#"+t))return;const i=document.createElement("style");i.id=t,e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i),i.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=n)}(".skeleton {\n display: flex;\n}\n\n.rectangle {\n height: 160px;\n background: var(--ui-background-color);\n border-radius: var(--border-radius-small);\n overflow: hidden;\n animation-duration: 0.8s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n animation-name: shine;\n animation-timing-function: steps(10, end);\n}\n\n@keyframes shine {\n 0% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.circle {\n height: 40px;\n background: var(--ui-background-color);\n border-radius: 50%;\n overflow: hidden;\n animation-duration: 0.8s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n animation-name: shine;\n animation-timing-function: steps(10, end);\n}\n\n@keyframes shine {\n 0% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.text {\n background: var(--ui-background-color);\n border-radius: var(--border-radius-small);\n overflow: hidden;\n animation-duration: 0.8s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n animation-name: shine;\n animation-timing-function: steps(10, end);\n}\n\n@keyframes shine {\n 0% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.textH1 {\n height: 32px;\n}\n\n.textH2 {\n height: 24px;\n}\n\n.textH3 {\n height: 24px;\n}\n\n.textH4 {\n height: 21px;\n}\n\n.textH5 {\n height: 16px;\n}\n\n.textH6 {\n height: 12px;\n}\n\n.textSmall,\n.textCustom {\n height: 12px;\n}\n\n.fullWidth {\n width: 100%;\n}\n\n.skeleton:not(.fullWidth) .text {\n width: 162px;\n}\n\n.skeleton:not(.fullWidth) .circle {\n width: 40px;\n}\n\n.skeleton:not(.fullWidth) .rectangle {\n width: 160px;\n}");export{n as default};
2
- //# sourceMappingURL=Skeleton.module.scss.js.map
@@ -1,2 +0,0 @@
1
- var o="custom";export{o as SKELETON_CUSTOM_SIZE};
2
- //# sourceMappingURL=SkeletonConstants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkeletonConstants.js","sources":["../../../../../src/components/Skeleton/SkeletonConstants.ts"],"sourcesContent":["// Fixed names\nexport const SKELETON_CUSTOM_SIZE = \"custom\";\n"],"names":["SKELETON_CUSTOM_SIZE"],"mappings":"AACO,IAAMA,EAAuB"}
@@ -1,2 +0,0 @@
1
- import{defineProperty as e,toConsumableArray as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o from"classnames";import a,{forwardRef as r,useRef as i}from"react";import{noop as s}from"es-toolkit";import{useMergeRef as n,getStyle as c}from"@vibe/shared";import{Icon as l}from"@vibe/icon/mockedClassNames";import{getTestId as d,ComponentDefaultTestId as m}from"../../../tests/testIds.js";import p from"./Tab.module.scss.js";import{Tooltip as f}from"@vibe/tooltip/mockedClassNames";import{ComponentVibeId as v}from"../../../tests/constants.js";import{keyCodes as b}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";var u=r((function(r,u){var y=r.className,k=r.tabInnerClassName,C=r.id,N=r.value,j=void 0===N?0:N,E=r.disabled,I=void 0!==E&&E,h=r.active,A=void 0!==h&&h,T=r.focus,P=void 0!==T&&T,g=r.stretchedUnderline,x=void 0!==g&&g,B=r.onClick,S=void 0===B?s:B,z=r.tooltipProps,D=void 0===z?{}:z,F=r.icon,U=r.iconType,_=r.iconSide,w=void 0===_?"left":_,H=r.children,K=r["data-testid"],O=r.tabIndex,R=r["aria-controls"],V=i(null),W=n(u,V);return a.createElement(f,Object.assign({},D,{content:D.content}),a.createElement("li",{ref:W,key:C,className:o(p.tabWrapper,y,e(e(e(e({},p.active,A),p.disabled,I),p.tabFocusVisibleInset,P),p.stretchedUnderline,x)),id:C,role:"tab","aria-selected":A,"aria-disabled":I,"aria-controls":R||void 0,tabIndex:O,"data-testid":K||d(m.TAB,C),"data-vibe":v.TAB,onClick:function(){return!I&&S(j)},onKeyDown:function(e){e.key!==b.ENTER&&e.key!==b.SPACE||(e.preventDefault(),!I&&S(j))}},a.createElement("div",{className:o(p.tabInner,k)},function(){if(!F)return H;var e=a.createElement(l,{"aria-hidden":!0,type:U,icon:F,className:o(p.tabIcon,c(p,w)),size:18,ignoreFocusStyle:!0}),r=a.Children.toArray(H);return"left"===w?[e].concat(t(r)):[].concat(t(r),[e])}())))}));export{u as default};
2
- //# sourceMappingURL=Tab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../../../../src/components/Tabs/Tab/Tab.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { type FC, forwardRef, type ReactElement, useRef } from \"react\";\nimport { noop as NOOP } from \"es-toolkit\";\nimport { useMergeRef, getStyle } from \"@vibe/shared\";\n\nimport { Icon, type IconType, type SubIcon } from \"@vibe/icon\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\nimport styles from \"./Tab.module.scss\";\nimport { Tooltip, type TooltipProps } from \"@vibe/tooltip\";\nimport { ComponentVibeId } from \"../../../tests/constants\";\nimport { keyCodes } from \"../../../constants\";\n\nexport interface TabProps extends VibeComponentProps {\n /**\n * Class name applied to the inner tab content.\n */\n tabInnerClassName?: string;\n /**\n * The index value of the tab.\n */\n value?: number;\n /**\n * If true, disables the tab.\n */\n disabled?: boolean;\n /**\n * If true, marks the tab as active.\n */\n active?: boolean;\n /**\n * If true, applies focus styles to the tab.\n */\n focus?: boolean;\n /**\n * If true, hides the individual tab border when using stretched underline.\n */\n stretchedUnderline?: boolean;\n /**\n * The icon displayed in the tab.\n */\n icon?: SubIcon;\n /**\n * The type of icon.\n */\n iconType?: IconType;\n /**\n * The position of the icon relative to the text.\n */\n iconSide?: string;\n /**\n * Callback fired when the tab is clicked.\n */\n onClick?: (value: number) => void;\n /**\n * Props passed to the tab's tooltip.\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * The content displayed inside the tab.\n */\n children?: string | ReactElement | ReactElement[];\n /**\n * Tab index for focus management.\n */\n tabIndex?: number;\n /**\n * The id of the associated TabPanel for aria-controls attribute.\n */\n \"aria-controls\"?: string;\n}\n\nconst Tab: FC<TabProps> = forwardRef(\n (\n {\n className,\n tabInnerClassName,\n id,\n value = 0,\n disabled = false,\n active = false,\n focus = false,\n stretchedUnderline = false,\n onClick = NOOP,\n tooltipProps = {} as TooltipProps,\n icon,\n iconType,\n iconSide = \"left\",\n children,\n \"data-testid\": dataTestId,\n tabIndex,\n \"aria-controls\": ariaControls\n }: TabProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n function renderIconAndChildren() {\n if (!icon) return children;\n\n const iconElement = (\n <Icon\n aria-hidden={true}\n type={iconType}\n icon={icon}\n className={cx(styles.tabIcon, getStyle(styles, iconSide))}\n size={18}\n ignoreFocusStyle\n />\n );\n\n const childrenArray = React.Children.toArray(children);\n\n if (iconSide === \"left\") {\n return [iconElement, ...childrenArray];\n }\n\n return [...childrenArray, iconElement];\n }\n\n function handleKeyDown(event: React.KeyboardEvent) {\n if (event.key === keyCodes.ENTER || event.key === keyCodes.SPACE) {\n event.preventDefault();\n !disabled && onClick(value);\n }\n }\n\n return (\n <Tooltip {...tooltipProps} content={tooltipProps.content}>\n <li\n ref={mergedRef}\n key={id}\n className={cx(styles.tabWrapper, className, {\n [styles.active]: active,\n [styles.disabled]: disabled,\n [styles.tabFocusVisibleInset]: focus,\n [styles.stretchedUnderline]: stretchedUnderline\n })}\n id={id}\n role=\"tab\"\n aria-selected={active}\n aria-disabled={disabled}\n aria-controls={ariaControls || undefined}\n tabIndex={tabIndex}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB, id)}\n data-vibe={ComponentVibeId.TAB}\n onClick={() => !disabled && onClick(value)}\n onKeyDown={handleKeyDown}\n >\n <div className={cx(styles.tabInner, tabInnerClassName)}>{renderIconAndChildren()}</div>\n </li>\n </Tooltip>\n );\n }\n);\n\nexport default Tab;\n"],"names":["Tab","forwardRef","_ref","ref","className","tabInnerClassName","id","_ref$value","value","_ref$disabled","disabled","_ref$active","active","_ref$focus","focus","_ref$stretchedUnderli","stretchedUnderline","_ref$onClick","onClick","NOOP","_ref$tooltipProps","tooltipProps","icon","iconType","_ref$iconSide","iconSide","children","dataTestId","tabIndex","ariaControls","componentRef","useRef","mergedRef","useMergeRef","React","createElement","Tooltip","Object","assign","content","key","cx","styles","tabWrapper","_defineProperty","tabFocusVisibleInset","role","undefined","getTestId","ComponentDefaultTestId","TAB","ComponentVibeId","onKeyDown","event","keyCodes","ENTER","SPACE","preventDefault","tabInner","iconElement","Icon","type","tabIcon","getStyle","size","ignoreFocusStyle","childrenArray","Children","toArray","concat","_toConsumableArray","renderIconAndChildren"],"mappings":"+oBAwEMA,IAAAA,EAAoBC,GACxB,SAAAC,EAoBEC,GACE,IAnBAC,EAASF,EAATE,UACAC,EAAiBH,EAAjBG,kBACAC,EAAEJ,EAAFI,GAAEC,EAAAL,EACFM,MAAAA,OAAQ,IAAHD,EAAG,EAACA,EAAAE,EAAAP,EACTQ,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAT,EAChBU,OAAAA,OAAS,IAAHD,GAAQA,EAAAE,EAAAX,EACdY,MAAAA,OAAQ,IAAHD,GAAQA,EAAAE,EAAAb,EACbc,mBAAAA,OAAqB,IAAHD,GAAQA,EAAAE,EAAAf,EAC1BgB,QAAAA,OAAUC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAlB,EACdmB,aAAAA,OAAY,IAAAD,EAAG,CAAkB,EAAAA,EACjCE,EAAIpB,EAAJoB,KACAC,EAAQrB,EAARqB,SAAQC,EAAAtB,EACRuB,SAAAA,OAAW,IAAHD,EAAG,OAAMA,EACjBE,EAAQxB,EAARwB,SACeC,EAAUzB,EAAzB,eACA0B,EAAQ1B,EAAR0B,SACiBC,EAAY3B,EAA7B,iBAII4B,EAAeC,EAAO,MACtBC,EAAYC,EAAY9B,EAAK2B,GAgCnC,OACEI,EAACC,cAAAC,EAAYC,OAAAC,OAAA,CAAA,EAAAjB,GAAckB,QAASlB,EAAakB,UAC/CL,EAAAC,cAAA,KAAA,CACEhC,IAAK6B,EACLQ,IAAKlC,EACLF,UAAWqC,EAAGC,EAAOC,WAAYvC,EAASwC,EAAAA,EAAAA,EAAAA,EAAA,CAAA,EACvCF,EAAO9B,OAASA,GAChB8B,EAAOhC,SAAWA,GAClBgC,EAAOG,qBAAuB/B,GAC9B4B,EAAO1B,mBAAqBA,IAE/BV,GAAIA,EACJwC,KAAK,MAAK,gBACKlC,EAAM,gBACNF,EACA,gBAAAmB,QAAgBkB,EAC/BnB,SAAUA,EAAQ,cACLD,GAAcqB,EAAUC,EAAuBC,IAAK5C,GAAG,YACzD6C,EAAgBD,IAC3BhC,QAAS,WAAA,OAAOR,GAAYQ,EAAQV,EAAM,EAC1C4C,UA3BN,SAAuBC,GACjBA,EAAMb,MAAQc,EAASC,OAASF,EAAMb,MAAQc,EAASE,QACzDH,EAAMI,kBACL/C,GAAYQ,EAAQV,GAEzB,GAwBM0B,EAAAC,cAAA,MAAA,CAAK/B,UAAWqC,EAAGC,EAAOgB,SAAUrD,IApD1C,WACE,IAAKiB,EAAM,OAAOI,EAElB,IAAMiC,EACJzB,EAACC,cAAAyB,kBACc,EACbC,KAAMtC,EACND,KAAMA,EACNlB,UAAWqC,EAAGC,EAAOoB,QAASC,EAASrB,EAAQjB,IAC/CuC,KAAM,GACNC,kBAAgB,IAIdC,EAAgBhC,EAAMiC,SAASC,QAAQ1C,GAE7C,MAAiB,SAAbD,EACF,CAAQkC,GAAWU,OAAAC,EAAKJ,IAG1B,GAAAG,OAAAC,EAAWJ,IAAeP,GAC5B,CA+B+DY,KAIjE"}
@@ -1,2 +0,0 @@
1
- var n={tabWrapper:"tabWrapper",stretchedUnderline:"stretchedUnderline",tabInner:"tabInner",tabIcon:"tabIcon",right:"right",tabFocusVisibleInset:"tabFocusVisibleInset",active:"active",disabled:"disabled"};!function(n){const e="s_id-bfaa9c7255c3_4_5_12";if("undefined"!=typeof document){const t=document.head||document.getElementsByTagName("head")[0];if(t.querySelector("#"+e))return;const r=document.createElement("style");r.id=e,t.firstChild?t.insertBefore(r,t.firstChild):t.appendChild(r),r.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=n)}('/* stylelint-disable */\n/* stylelint-enable */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable */\n/* stylelint-enable */\n.tabWrapper {\n position: relative;\n display: inline-block;\n padding-inline: 1px;\n border-top: 1px solid transparent;\n border-bottom: 2px solid;\n border-bottom-color: var(--ui-background-color);\n color: var(--primary-text-color);\n text-align: center;\n height: 100%;\n margin: 0;\n}\n.tabWrapper.stretchedUnderline {\n border-bottom: 0;\n}\n.tabWrapper:after {\n display: block;\n position: absolute;\n inset-inline: 0;\n content: "";\n border-bottom: solid 2px;\n border-bottom-color: var(--primary-color);\n transform: scaleX(0);\n z-index: 0;\n}\n.tabWrapper .tabInner {\n height: calc(100% - 1px);\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n padding: 4px 16px;\n font: var(--font-text1-normal);\n user-select: none;\n margin-bottom: 1px;\n cursor: pointer;\n color: var(--primary-text-color);\n}\n.tabWrapper .tabInner:focus {\n outline: none;\n}\n.tabWrapper .tabInner .tabIcon {\n color: var(--icon-color);\n margin-inline-end: var(--space-8);\n}\n.tabWrapper .tabInner .tabIcon.right {\n margin-inline-end: 0;\n margin-inline-start: var(--space-8);\n}\n.tabWrapper.tabFocusVisibleInset {\n outline: none;\n z-index: 11;\n border-radius: 3px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5) inset, 0 0 0 1px var(--primary-hover-color) inset;\n position: relative;\n}\n.tabWrapper.active:after {\n transform: scaleX(1);\n transition: transform var(--motion-productive-medium) var(--motion-timing-enter);\n}\n.tabWrapper.disabled .tabInner {\n color: var(--disabled-text-color);\n cursor: not-allowed;\n}\n.tabWrapper:not(.disabled) .tabInner:hover {\n border-radius: 4px;\n background-color: var(--primary-background-hover-color);\n}');export{n as default};
2
- //# sourceMappingURL=Tab.module.scss.js.map
@@ -1,2 +0,0 @@
1
- import{slicedToArray as e,defineProperty as r}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t from"classnames";import{camelCase as n}from"es-toolkit";import a,{forwardRef as i,useRef as o,useState as s,useEffect as l,useMemo as c,useCallback as d}from"react";import{useGridKeyboardNavigation as u}from"@vibe/a11y/mockedClassNames";import{useMergeRef as m,getStyle as f,NOOP as v}from"@vibe/shared";import{usePrevious as p}from"@vibe/hooks";import{getTestId as b,ComponentDefaultTestId as I}from"../../../tests/testIds.js";import h from"./TabList.module.scss.js";var C=i((function(i,C){var T=i.className,N=i.id,g=i.onTabChange,L=void 0===g?v:g,k=i.activeTabId,y=void 0===k?0:k,x=i.tabType,j=void 0===x?"Compact":x,A=i.size,E=i.stretchedUnderline,B=void 0!==E&&E,P=i.tabPanelIds,S=void 0===P?[]:P,U=i.children,_=i["data-testid"],O=o(null),W=m(C,O),w=o({}),z=s(y),H=e(z,2),q=H[0],D=H[1],F=p(y),G=p(q);l((function(){y!==F&&y!==q&&D(y)}),[y,F,q,D]),l((function(){var e;void 0!==G&&G!==q&&w.current[q]&&(null===(e=w.current[q])||void 0===e||e.focus())}),[q,G]);var J=c((function(){var e=new Set;return a.Children.forEach(U,(function(r,t){r.props.disabled&&e.add(t)})),e}),[U]),K=d((function(e){J.has(e)||(D(e),L&&L(e))}),[L,J]),M=d((function(e,r){var t,n=null===(t=U[r].props)||void 0===t?void 0:t.onClick;J.has(r)||(n&&n(r),K(r))}),[U,J,K]),Q=d((function(e){return U[e]}),[U]),R=c((function(){return Array.from(J)}),[J]),V=o(),X=u({ref:V,numberOfItemsInLine:null==U?void 0:U.length,itemsCount:null==U?void 0:U.length,getItemByIndex:Q,onItemClicked:M,disabledIndexes:R,circularNavigation:!0}),Y=X.activeIndex,Z=X.onSelectionAction,$=p(Y);l((function(){var e;void 0!==Y&&Y>=0&&$!==Y&&w.current[Y]&&(null===(e=w.current[Y])||void 0===e||e.focus())}),[Y,$]);var ee=c((function(){return a.Children.map(U,(function(e,r){var n=q===r,i=void 0===Y||0>Y?n:Y===r;return a.cloneElement(e,{value:r,active:n,focus:Y===r,onClick:Z,stretchedUnderline:B,className:t(h.tabListTabWrapper,e.props.className),tabInnerClassName:t(h.tabListTabInner,e.props.tabInnerClassName),tabIndex:i?0:-1,"aria-controls":S[r],ref:function(e){w.current[r]=e}})}))}),[U,q,Y,Z,B,S,N]);return a.createElement("div",{ref:W,className:t(h.tabsWrapper,T,[f(h,n(j))],r({},h.stretchedUnderline,B)),id:N,"data-testid":_||b(I.TAB_LIST,N)},a.createElement("ul",{ref:V,className:t(h.tabsList,[f(h,A)]),role:"tablist"},ee))}));Object.assign(C,{isTabList:!0});export{C as default};
2
- //# sourceMappingURL=TabList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabList.js","sources":["../../../../../../src/components/Tabs/TabList/TabList.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { camelCase } from \"es-toolkit\";\nimport React, {\n type FC,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\nimport { useGridKeyboardNavigation } from \"@vibe/a11y\";\nimport { useMergeRef, NOOP, getStyle } from \"@vibe/shared\";\nimport { usePrevious } from \"@vibe/hooks\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\n\nimport { type TabProps } from \"../Tab/Tab\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nimport styles from \"./TabList.module.scss\";\n\nexport interface TabListProps extends VibeComponentProps {\n /**\n * Callback fired when the active tab changes.\n */\n onTabChange?: (tabId: number) => void;\n /**\n * The index of the currently active tab.\n */\n activeTabId?: number;\n /**\n * The type of tab style.\n */\n tabType?: string;\n /**\n * The size of the tab list.\n */\n size?: string;\n /**\n * If true, Sets an E2E underline under the whole tabs component.\n */\n stretchedUnderline?: boolean;\n /**\n * Array of corresponding TabPanel ids for aria-controls relationship.\n */\n tabPanelIds?: string[];\n /**\n * The child elements representing tabs.\n */\n children?: ReactElement<TabProps>[];\n}\nconst TabList: FC<TabListProps> = forwardRef(\n (\n {\n className,\n id,\n onTabChange = NOOP,\n activeTabId = 0,\n tabType = \"Compact\",\n size,\n stretchedUnderline = false,\n tabPanelIds = [],\n children,\n \"data-testid\": dataTestId\n },\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const tabRefs = useRef<Record<number, HTMLElement | null>>({});\n\n const [activeTabState, setActiveTabState] = useState<number>(activeTabId);\n\n const prevActiveTabIdProp = usePrevious(activeTabId);\n const prevActiveTabState = usePrevious(activeTabState);\n\n useEffect(() => {\n // Update active tab if changed from props\n\n if (activeTabId !== prevActiveTabIdProp && activeTabId !== activeTabState) {\n setActiveTabState(activeTabId);\n }\n }, [activeTabId, prevActiveTabIdProp, activeTabState, setActiveTabState]);\n\n // Focus management: when activeTabState changes, focus the active tab\n useEffect(() => {\n if (\n prevActiveTabState !== undefined &&\n prevActiveTabState !== activeTabState &&\n tabRefs.current[activeTabState]\n ) {\n tabRefs.current[activeTabState]?.focus();\n }\n }, [activeTabState, prevActiveTabState]);\n\n const disabledTabIds = useMemo(() => {\n const disabledIds = new Set<number>();\n React.Children.forEach(children, (child, index) => {\n if (child.props.disabled) {\n disabledIds.add(index);\n }\n });\n return disabledIds;\n }, [children]);\n const onTabSelect = useCallback(\n (tabId: number) => {\n if (disabledTabIds.has(tabId)) return;\n setActiveTabState(tabId);\n onTabChange && onTabChange(tabId);\n },\n [onTabChange, disabledTabIds]\n );\n const onTabClick = useCallback(\n (value: HTMLElement | void, tabId: number) => {\n const tabCallbackFunc = children[tabId].props?.onClick;\n if (disabledTabIds.has(tabId)) return;\n if (tabCallbackFunc) tabCallbackFunc(tabId);\n onTabSelect(tabId);\n },\n [children, disabledTabIds, onTabSelect]\n );\n const getItemByIndex = useCallback((index: number): ReactElement<TabProps> => children[index], [children]);\n const disabledIndexes = useMemo(() => Array.from(disabledTabIds), [disabledTabIds]);\n const ulRef = useRef();\n const { activeIndex: focusIndex, onSelectionAction } = useGridKeyboardNavigation({\n ref: ulRef,\n numberOfItemsInLine: children?.length,\n itemsCount: children?.length,\n getItemByIndex,\n onItemClicked: onTabClick,\n disabledIndexes,\n circularNavigation: true\n });\n\n // Focus management: when focusIndex changes during keyboard navigation, focus the focused tab\n const prevFocusIndex = usePrevious(focusIndex);\n useEffect(() => {\n if (focusIndex !== undefined && focusIndex >= 0 && prevFocusIndex !== focusIndex && tabRefs.current[focusIndex]) {\n tabRefs.current[focusIndex]?.focus();\n }\n }, [focusIndex, prevFocusIndex]);\n\n const tabsToRender = useMemo(() => {\n const childrenToRender = React.Children.map(children, (child, index) => {\n const isActive = activeTabState === index;\n\n const shouldBeFocusable = focusIndex !== undefined && focusIndex >= 0 ? focusIndex === index : isActive;\n\n return React.cloneElement(child, {\n value: index,\n active: isActive,\n focus: focusIndex === index,\n onClick: onSelectionAction,\n stretchedUnderline,\n className: cx(styles.tabListTabWrapper, child.props.className),\n tabInnerClassName: cx(styles.tabListTabInner, child.props.tabInnerClassName),\n tabIndex: shouldBeFocusable ? 0 : -1,\n \"aria-controls\": tabPanelIds[index],\n ref: (element: HTMLElement | null) => {\n tabRefs.current[index] = element;\n }\n } as Partial<TabProps> & { ref: React.Ref<HTMLElement>; tabInnerLabelId?: string });\n });\n return childrenToRender;\n }, [children, activeTabState, focusIndex, onSelectionAction, stretchedUnderline, tabPanelIds, id]);\n\n return (\n <div\n ref={mergedRef}\n className={cx(styles.tabsWrapper, className, [getStyle(styles, camelCase(tabType))], {\n [styles.stretchedUnderline]: stretchedUnderline\n })}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB_LIST, id)}\n >\n <ul ref={ulRef} className={cx(styles.tabsList, [getStyle(styles, size)])} role=\"tablist\">\n {tabsToRender}\n </ul>\n </div>\n );\n }\n);\nObject.assign(TabList, {\n isTabList: true\n});\n\nexport default TabList;\n"],"names":["TabList","forwardRef","_ref","ref","className","id","_ref$onTabChange","onTabChange","NOOP","_ref$activeTabId","activeTabId","_ref$tabType","tabType","size","_ref$stretchedUnderli","stretchedUnderline","_ref$tabPanelIds","tabPanelIds","children","dataTestId","componentRef","useRef","mergedRef","useMergeRef","tabRefs","_useState","useState","_useState2","_slicedToArray","activeTabState","setActiveTabState","prevActiveTabIdProp","usePrevious","prevActiveTabState","useEffect","undefined","current","_a","focus","disabledTabIds","useMemo","disabledIds","Set","React","Children","forEach","child","index","props","disabled","add","onTabSelect","useCallback","tabId","has","onTabClick","value","tabCallbackFunc","onClick","getItemByIndex","disabledIndexes","Array","from","ulRef","_useGridKeyboardNavig","useGridKeyboardNavigation","numberOfItemsInLine","length","itemsCount","onItemClicked","circularNavigation","focusIndex","activeIndex","onSelectionAction","prevFocusIndex","tabsToRender","map","isActive","shouldBeFocusable","cloneElement","active","cx","styles","tabListTabWrapper","tabInnerClassName","tabListTabInner","tabIndex","element","createElement","tabsWrapper","getStyle","camelCase","_defineProperty","getTestId","ComponentDefaultTestId","TAB_LIST","tabsList","role","Object","assign","isTabList"],"mappings":"mkBAoDMA,IAAAA,EAA4BC,GAChC,SAAAC,EAaEC,GACE,IAZAC,EAASF,EAATE,UACAC,EAAEH,EAAFG,GAAEC,EAAAJ,EACFK,YAAAA,OAAcC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAP,EAClBQ,YAAAA,OAAc,IAAHD,EAAG,EAACA,EAAAE,EAAAT,EACfU,QAAAA,OAAU,IAAHD,EAAG,UAASA,EACnBE,EAAIX,EAAJW,KAAIC,EAAAZ,EACJa,mBAAAA,OAAqB,IAAHD,GAAQA,EAAAE,EAAAd,EAC1Be,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAChBE,EAAQhB,EAARgB,SACeC,EAAUjB,EAAzB,eAIIkB,EAAeC,EAAO,MACtBC,EAAYC,EAAYpB,EAAKiB,GAC7BI,EAAUH,EAA2C,CAAA,GAE3DI,EAA4CC,EAAiBhB,GAAYiB,EAAAC,EAAAH,EAAA,GAAlEI,EAAcF,EAAA,GAAEG,EAAiBH,EAAA,GAElCI,EAAsBC,EAAYtB,GAClCuB,EAAqBD,EAAYH,GAEvCK,GAAU,WAGJxB,IAAgBqB,GAAuBrB,IAAgBmB,GACzDC,EAAkBpB,EAErB,GAAE,CAACA,EAAaqB,EAAqBF,EAAgBC,IAGtDI,GAAU,sBAEiBC,IAAvBF,GACAA,IAAuBJ,GACvBL,EAAQY,QAAQP,KAEe,QAA/BQ,EAAAb,EAAQY,QAAQP,UAAe,IAAAQ,GAAAA,EAAEC,QAErC,GAAG,CAACT,EAAgBI,IAEpB,IAAMM,EAAiBC,GAAQ,WAC7B,IAAMC,EAAc,IAAIC,IAMxB,OALAC,EAAMC,SAASC,QAAQ3B,GAAU,SAAC4B,EAAOC,GACnCD,EAAME,MAAMC,UACdR,EAAYS,IAAIH,EAEpB,IACON,CACT,GAAG,CAACvB,IACEiC,EAAcC,GAClB,SAACC,GACKd,EAAee,IAAID,KACvBvB,EAAkBuB,GAClB9C,GAAeA,EAAY8C,GAC7B,GACA,CAAC9C,EAAagC,IAEVgB,EAAaH,GACjB,SAACI,EAA2BH,SACpBI,EAAyC,QAAvBpB,EAAAnB,EAASmC,GAAOL,aAAO,IAAAX,OAAA,EAAAA,EAAAqB,QAC3CnB,EAAee,IAAID,KACnBI,GAAiBA,EAAgBJ,GACrCF,EAAYE,GACb,GACD,CAACnC,EAAUqB,EAAgBY,IAEvBQ,EAAiBP,GAAY,SAACL,GAAa,OAA6B7B,EAAS6B,KAAQ,CAAC7B,IAC1F0C,EAAkBpB,GAAQ,WAAA,OAAMqB,MAAMC,KAAKvB,KAAiB,CAACA,IAC7DwB,EAAQ1C,IACd2C,EAAuDC,EAA0B,CAC/E9D,IAAK4D,EACLG,oBAAqBhD,aAAA,EAAAA,EAAUiD,OAC/BC,WAAYlD,aAAA,EAAAA,EAAUiD,OACtBR,eAAAA,EACAU,cAAed,EACfK,gBAAAA,EACAU,oBAAoB,IAPDC,EAAUP,EAAvBQ,YAAyBC,EAAiBT,EAAjBS,kBAW3BC,EAAiB1C,EAAYuC,GACnCrC,GAAU,sBACWC,IAAfoC,GAA4BA,GAAc,GAAKG,IAAmBH,GAAc/C,EAAQY,QAAQmC,KACvE,QAA3BlC,EAAAb,EAAQY,QAAQmC,UAAW,IAAAlC,GAAAA,EAAEC,QAEjC,GAAG,CAACiC,EAAYG,IAEhB,IAAMC,GAAenC,GAAQ,WAqB3B,OApByBG,EAAMC,SAASgC,IAAI1D,GAAU,SAAC4B,EAAOC,GAC5D,IAAM8B,EAAWhD,IAAmBkB,EAE9B+B,OAAmC3C,IAAfoC,GAA0C,EAAdA,EAAyCM,EAAvBN,IAAexB,EAEvF,OAAOJ,EAAMoC,aAAajC,EAAO,CAC/BU,MAAOT,EACPiC,OAAQH,EACRvC,MAAOiC,IAAexB,EACtBW,QAASe,EACT1D,mBAAAA,EACAX,UAAW6E,EAAGC,EAAOC,kBAAmBrC,EAAME,MAAM5C,WACpDgF,kBAAmBH,EAAGC,EAAOG,gBAAiBvC,EAAME,MAAMoC,mBAC1DE,SAAUR,EAAoB,GAAK,EACnC,gBAAiB7D,EAAY8B,GAC7B5C,IAAK,SAACoF,GACJ/D,EAAQY,QAAQW,GAASwC,CAC3B,GAEJ,GAEF,GAAG,CAACrE,EAAUW,EAAgB0C,EAAYE,EAAmB1D,EAAoBE,EAAaZ,IAE9F,OACEsC,EACE6C,cAAA,MAAA,CAAArF,IAAKmB,EACLlB,UAAW6E,EAAGC,EAAOO,YAAarF,EAAW,CAACsF,EAASR,EAAQS,EAAU/E,KAAUgF,EAChFV,CAAAA,EAAAA,EAAOnE,mBAAqBA,IAE/BV,GAAIA,gBACSc,GAAc0E,EAAUC,EAAuBC,SAAU1F,IAEtEsC,EAAA6C,cAAA,KAAA,CAAIrF,IAAK4D,EAAO3D,UAAW6E,EAAGC,EAAOc,SAAU,CAACN,EAASR,EAAQrE,KAASoF,KAAK,WAC5EtB,IAIT,IAEFuB,OAAOC,OAAOnG,EAAS,CACrBoG,WAAW"}
@@ -1,2 +0,0 @@
1
- var e={tabsWrapper:"tabsWrapper",tabsList:"tabsList",sm:"sm",lg:"lg",stretched:"stretched",tabListTabWrapper:"tabListTabWrapper",tabListTabInner:"tabListTabInner",disabled:"disabled",stretchedUnderline:"stretchedUnderline"};!function(e){const t="s_id-1dd2e005bc2f_4_5_12";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+t))return;const s=document.createElement("style");s.id=t,n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=e)}("/* stylelint-disable */\n/* stylelint-enable */\n.tabsWrapper .tabsList {\n display: flex;\n flex-direction: row;\n list-style-type: none;\n font-size: 0;\n position: relative;\n height: 40px;\n outline: none;\n padding: 0;\n}\n.tabsWrapper .tabsList.sm {\n height: 32px;\n}\n.tabsWrapper .tabsList.lg {\n height: 48px;\n}\n.tabsWrapper.stretched .tabsList {\n width: 100%;\n}\n.tabsWrapper.stretched .tabsList .tabListTabWrapper {\n width: 100%;\n}\n.tabsWrapper.stretched .tabsList .tabListTabWrapper .tabListTabInner {\n width: 100%;\n}\n.tabsWrapper.disabled {\n opacity: 0;\n height: 0;\n padding-bottom: 5px;\n pointer-events: none;\n}\n.tabsWrapper.stretchedUnderline {\n border-bottom: 2px solid var(--ui-background-color);\n}");export{e as default};
2
- //# sourceMappingURL=TabList.module.scss.js.map
@@ -1,2 +0,0 @@
1
- import e,{forwardRef as a,useRef as t}from"react";import r from"classnames";import{useMergeRef as s}from"@vibe/shared";import{getTestId as o,ComponentDefaultTestId as m}from"../../../tests/testIds.js";import i from"./TabPanel.module.scss.js";var d=a((function(a,d){var l=a.className,n=a.id,c=a.children,p=a.index,f=a["data-testid"],u=t(null),b=s(d,u);return e.createElement("div",{key:"".concat(n,"_").concat(p),ref:b,className:r(i.tabPanelWrapper,l),id:n,"data-testid":f||o(m.TAB_PANEL,n),role:"tabpanel"},c)}));export{d as default};
2
- //# sourceMappingURL=TabPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanel.js","sources":["../../../../../../src/components/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["import React, { type FC, forwardRef, type ReactElement, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\nimport styles from \"./TabPanel.module.scss\";\n\nexport interface TabPanelProps extends VibeComponentProps {\n /**\n * The content inside the tab panel.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * The index of the tab panel.\n */\n index?: number;\n}\n\nconst TabPanel: FC<TabPanelProps> = forwardRef(({ className, id, children, index, \"data-testid\": dataTestId }, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <div\n key={`${id}_${index}`}\n ref={mergedRef}\n className={cx(styles.tabPanelWrapper, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB_PANEL, id)}\n role=\"tabpanel\"\n >\n {children}\n </div>\n );\n});\n\nexport default TabPanel;\n"],"names":["TabPanel","forwardRef","_ref","ref","className","id","children","index","dataTestId","componentRef","useRef","mergedRef","useMergeRef","React","key","concat","cx","styles","tabPanelWrapper","getTestId","ComponentDefaultTestId","TAB_PANEL","role"],"mappings":"kPAkBMA,IAAAA,EAA8BC,GAAW,SAAAC,EAAgEC,GAAO,IAApEC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAIC,EAAQJ,EAARI,SAAUC,EAAKL,EAALK,MAAsBC,EAAUN,EAAzB,eAC1EO,EAAeC,EAAO,MACtBC,EAAYC,EAAYT,EAAKM,GAEnC,OACEI,uBACEC,IAAG,GAAAC,OAAKV,OAAEU,OAAIR,GACdJ,IAAKQ,EACLP,UAAWY,EAAGC,EAAOC,gBAAiBd,GACtCC,GAAIA,EAAE,cACOG,GAAcW,EAAUC,EAAuBC,UAAWhB,GACvEiB,KAAK,YAEJhB,EAGP"}
@@ -1,2 +0,0 @@
1
- var e={tabPanelWrapper:"tabPanelWrapper"};!function(e){const t="s_id-82244d4a2f7b_4_5_12";if("undefined"!=typeof document){const a=document.head||document.getElementsByTagName("head")[0];if(a.querySelector("#"+t))return;const n=document.createElement("style");n.id=t,a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=e)}(".tabPanelWrapper {\n color: var(--primary-text-color);\n}");export{e as default};
2
- //# sourceMappingURL=TabPanel.module.scss.js.map
@@ -1,2 +0,0 @@
1
- import a from"classnames";import{camelCase as e}from"es-toolkit";import t,{forwardRef as r,useRef as i,useMemo as s}from"react";import{useMergeRef as n,getStyle as o}from"@vibe/shared";import{getTestId as l,ComponentDefaultTestId as c}from"../../../tests/testIds.js";import m from"./TabPanels.module.scss.js";var d=r((function(r,d){var p=r.className,f=r.id,u=r.activeTabId,v=void 0===u?0:u,b=r.animationDirection,j=void 0===b?"rtl":b,N=r.children,P=r["data-testid"],T=i(null),g=n(d,T),h=s((function(){return t.Children.map(N,(function(r,i){var s=v===i;if(!s)return null;var n=s?"active":"non-active",l=s?"animation-direction-".concat(j):"";return t.cloneElement(r,Object.assign(Object.assign({index:i},r.props),{className:a(m.tabPanel,[o(m,n)],[o(m,e(l))],r.props.className)}))})).filter(Boolean)}),[N,v,j]);return t.createElement("div",{ref:g,className:a(m.tabPanelsWrapper,p),id:f,"data-testid":P||l(c.TAB_PANELS,f)},h)}));Object.assign(d,{isTabPanels:!0});export{d as default};
2
- //# sourceMappingURL=TabPanels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanels.js","sources":["../../../../../../src/components/Tabs/TabPanels/TabPanels.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { camelCase } from \"es-toolkit\";\nimport React, { forwardRef, type ReactElement, useMemo, useRef } from \"react\";\nimport { useMergeRef, getStyle } from \"@vibe/shared\";\nimport { type TabPanelsAnimationDirection } from \"./TabPanels.types\";\nimport { type TabPanelProps } from \"../TabPanel/TabPanel\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nimport { type VibeComponentProps } from \"../../../types\";\nimport styles from \"./TabPanels.module.scss\";\n\nexport interface TabPanelsProps extends VibeComponentProps {\n /**\n * The index of the currently active tab panel.\n */\n activeTabId?: number;\n /**\n * The animation direction when switching between tab panels.\n */\n animationDirection?: TabPanelsAnimationDirection;\n /**\n * The child elements representing tab panels.\n */\n children?: ReactElement<TabPanelProps> | ReactElement<TabPanelProps>[];\n}\n\nconst TabPanels = forwardRef(\n (\n { className, id, activeTabId = 0, animationDirection = \"rtl\", children, \"data-testid\": dataTestId }: TabPanelsProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const renderedTabs = useMemo(() => {\n return React.Children.map(children, (child, index) => {\n const isActiveTab = activeTabId === index;\n if (!isActiveTab) return null;\n const activeClass = isActiveTab ? \"active\" : \"non-active\";\n const animationClass = isActiveTab ? `animation-direction-${animationDirection}` : \"\";\n return React.cloneElement(child, {\n index,\n ...child.props,\n className: cx(\n styles.tabPanel,\n [getStyle(styles, activeClass)],\n [getStyle(styles, camelCase(animationClass))],\n child.props.className\n )\n });\n }).filter(Boolean);\n }, [children, activeTabId, animationDirection]);\n\n return (\n <div\n ref={mergedRef}\n className={cx(styles.tabPanelsWrapper, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB_PANELS, id)}\n >\n {renderedTabs}\n </div>\n );\n }\n);\n\nObject.assign(TabPanels, {\n isTabPanels: true\n});\n\nexport default TabPanels;\n"],"names":["TabPanels","forwardRef","_ref","ref","className","id","_ref$activeTabId","activeTabId","_ref$animationDirecti","animationDirection","children","dataTestId","componentRef","useRef","mergedRef","useMergeRef","renderedTabs","useMemo","React","Children","map","child","index","isActiveTab","activeClass","animationClass","concat","cloneElement","Object","assign","props","cx","styles","tabPanel","getStyle","camelCase","filter","Boolean","createElement","tabPanelsWrapper","getTestId","ComponentDefaultTestId","TAB_PANELS","isTabPanels"],"mappings":"qTA0BMA,IAAAA,EAAYC,GAChB,SAAAC,EAEEC,GACE,IAFAC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAEC,EAAAJ,EAAEK,YAAAA,OAAc,IAAHD,EAAG,EAACA,EAAAE,EAAAN,EAAEO,mBAAAA,OAAqB,IAAHD,EAAG,MAAKA,EAAEE,EAAQR,EAARQ,SAAyBC,EAAUT,EAAzB,eAGlEU,EAAeC,EAAO,MACtBC,EAAYC,EAAYZ,EAAKS,GAC7BI,EAAeC,GAAQ,WAC3B,OAAOC,EAAMC,SAASC,IAAIV,GAAU,SAACW,EAAOC,GAC1C,IAAMC,EAAchB,IAAgBe,EACpC,IAAKC,EAAa,OAAO,KACzB,IAAMC,EAAcD,EAAc,SAAW,aACvCE,EAAiBF,EAAW,uBAAAG,OAA0BjB,GAAuB,GACnF,OAAOS,EAAMS,aAAaN,EACxBO,OAAAC,OAAAD,OAAAC,OAAA,CAAAP,MAAAA,GACGD,EAAMS,QACT1B,UAAW2B,EACTC,EAAOC,SACP,CAACC,EAASF,EAAQR,IAClB,CAACU,EAASF,EAAQG,EAAUV,KAC5BJ,EAAMS,MAAM1B,aAGlB,IAAGgC,OAAOC,QACX,GAAE,CAAC3B,EAAUH,EAAaE,IAE3B,OACES,EAAAoB,cAAA,MAAA,CACEnC,IAAKW,EACLV,UAAW2B,EAAGC,EAAOO,iBAAkBnC,GACvCC,GAAIA,EACS,cAAAM,GAAc6B,EAAUC,EAAuBC,WAAYrC,IAEvEW,EAGP,IAGFY,OAAOC,OAAO7B,EAAW,CACvB2C,aAAa"}
@@ -1,2 +0,0 @@
1
- var n={tabPanelsWrapper:"tabPanelsWrapper",tabPanel:"tabPanel",animationDirectionRtl:"animationDirectionRtl",animationDirectionLtr:"animationDirectionLtr",active:"active",panelSlideIn:"panelSlideIn"};!function(n){const e="s_id-078bacbdb1e4_4_5_12";if("undefined"!=typeof document){const a=document.head||document.getElementsByTagName("head")[0];if(a.querySelector("#"+e))return;const t=document.createElement("style");t.id=e,a.firstChild?a.insertBefore(t,a.firstChild):a.appendChild(t),t.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=n)}("/* stylelint-disable */\n/* stylelint-enable */\n.tabPanelsWrapper .tabPanel {\n display: none;\n}\n.tabPanelsWrapper .tabPanel.animationDirectionRtl {\n transform: translateX(8px);\n}\n.tabPanelsWrapper .tabPanel.animationDirectionLtr {\n transform: translateX(-8px);\n}\n.tabPanelsWrapper .tabPanel.active {\n display: block;\n animation: panelSlideIn var(--motion-productive-long) forwards var(--motion-timing-enter);\n}\n@keyframes panelSlideIn {\n 100% {\n transform: translateX(0%);\n }\n}");export{n as default};
2
- //# sourceMappingURL=TabPanels.module.scss.js.map
@@ -1,2 +0,0 @@
1
- import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as r,useRef as a,useState as n,useEffect as i,useCallback as o,useMemo as l}from"react";import{useMergeRef as s}from"@vibe/shared";import{usePrevious as c}from"@vibe/hooks";import{getTestId as d,ComponentDefaultTestId as f}from"../../../tests/testIds.js";var p=r((function(r,p){var u=r.className,m=r.id,v=r.activeTabId,b=void 0===v?0:v,T=r.children,h=r["data-testid"],C=a(null),E=s(p,C),I=n(b),y=e(I,2),P=y[0],g=y[1],N=n(b),_=e(N,2),j=_[0],A=_[1],B=c(b);i((function(){b!==B&&b!==j&&(g(j),A(b))}),[b,j,B]);var k=o((function(e){g(j),A(e)}),[j]),x=l((function(){var e=[];return t.Children.forEach(T,(function(r){r.type.isTabPanels&&t.Children.forEach(r.props.children,(function(t,r){e[r]=t.props.id}))})),e}),[T]);return t.createElement("div",{ref:E,className:u,id:m,"data-testid":h||d(f.TABS_CONTEXT,m)},t.Children.map(T,(function(e){if(e.type.isTabList){var r=e.props.onTabChange;return t.cloneElement(e,{activeTabId:j,onTabChange:function(e){k(e),null==r||r(e)},tabPanelIds:x})}return e.type.isTabPanels?t.cloneElement(e,{activeTabId:j,animationDirection:j>P?"ltr":"rtl"}):e})))}));export{p as default};
2
- //# sourceMappingURL=TabsContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabsContext.js","sources":["../../../../../../src/components/Tabs/TabsContext/TabsContext.tsx"],"sourcesContent":["import React, {\n type FC,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n useMemo\n} from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { usePrevious } from \"@vibe/hooks\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nexport interface TabsContextProps extends VibeComponentProps {\n /**\n * The index of the currently active tab.\n */\n activeTabId?: number;\n /**\n * The child elements representing the tab list and tab panels.\n */\n children?: ReactElement | ReactElement[];\n}\n\ntype TabsChild = ReactElement & {\n type: Record<string, unknown>;\n};\n\nconst TabsContext: FC<TabsContextProps> = forwardRef(\n ({ className, id, activeTabId = 0, children, \"data-testid\": dataTestId }, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const [previousActiveTabIdState, setPreviousActiveTabIdState] = useState(activeTabId);\n const [activeTabIdState, setActiveTabIdState] = useState(activeTabId);\n const prevActiveTabIdProp = usePrevious(activeTabId);\n\n useEffect(() => {\n // Update active tab if changed from props\n if (activeTabId !== prevActiveTabIdProp && activeTabId !== activeTabIdState) {\n setPreviousActiveTabIdState(activeTabIdState);\n setActiveTabIdState(activeTabId);\n }\n }, [activeTabId, activeTabIdState, prevActiveTabIdProp]);\n\n const onTabClick = useCallback(\n (tabId: number) => {\n setPreviousActiveTabIdState(activeTabIdState);\n setActiveTabIdState(tabId);\n },\n [activeTabIdState]\n );\n\n // Collect TabPanel ids for aria-controls relationship\n const tabPanelIds = useMemo(() => {\n const ids: string[] = [];\n React.Children.forEach(children, (child: TabsChild) => {\n if (child.type.isTabPanels) {\n React.Children.forEach(child.props.children, (panelChild: ReactElement, index: number) => {\n ids[index] = panelChild.props.id;\n });\n }\n });\n return ids;\n }, [children]);\n\n return (\n <div\n ref={mergedRef}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TABS_CONTEXT, id)}\n >\n {React.Children.map(children, (child: TabsChild) => {\n if (child.type.isTabList) {\n const originalOnTabChange = child.props.onTabChange;\n const onTabChange = (tabId: number) => {\n onTabClick(tabId);\n originalOnTabChange?.(tabId);\n };\n return React.cloneElement(child, { activeTabId: activeTabIdState, onTabChange, tabPanelIds });\n }\n if (child.type.isTabPanels) {\n const animationDirection = previousActiveTabIdState < activeTabIdState ? \"ltr\" : \"rtl\";\n return React.cloneElement(child, { activeTabId: activeTabIdState, animationDirection });\n }\n return child;\n })}\n </div>\n );\n }\n);\n\nexport default TabsContext;\n"],"names":["TabsContext","forwardRef","_ref","ref","className","id","_ref$activeTabId","activeTabId","children","dataTestId","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","previousActiveTabIdState","setPreviousActiveTabIdState","_useState3","_useState4","activeTabIdState","setActiveTabIdState","prevActiveTabIdProp","usePrevious","useEffect","onTabClick","useCallback","tabId","tabPanelIds","useMemo","ids","React","Children","forEach","child","type","isTabPanels","props","panelChild","index","createElement","getTestId","ComponentDefaultTestId","TABS_CONTEXT","map","isTabList","originalOnTabChange","onTabChange","cloneElement","animationDirection"],"mappings":"sWA8BMA,IAAAA,EAAoCC,GACxC,SAAAC,EAA0EC,GAAO,IAA9EC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAEC,EAAAJ,EAAEK,YAAAA,OAAc,IAAHD,EAAG,EAACA,EAAEE,EAAQN,EAARM,SAAyBC,EAAUP,EAAzB,eACrCQ,EAAeC,EAAO,MACtBC,EAAYC,EAAYV,EAAKO,GAEnCI,EAAgEC,EAASR,GAAYS,EAAAC,EAAAH,EAAA,GAA9EI,EAAwBF,EAAA,GAAEG,EAA2BH,EAAA,GAC5DI,EAAgDL,EAASR,GAAYc,EAAAJ,EAAAG,EAAA,GAA9DE,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GACtCG,EAAsBC,EAAYlB,GAExCmB,GAAU,WAEJnB,IAAgBiB,GAAuBjB,IAAgBe,IACzDH,EAA4BG,GAC5BC,EAAoBhB,GAEvB,GAAE,CAACA,EAAae,EAAkBE,IAEnC,IAAMG,EAAaC,GACjB,SAACC,GACCV,EAA4BG,GAC5BC,EAAoBM,EACtB,GACA,CAACP,IAIGQ,EAAcC,GAAQ,WAC1B,IAAMC,EAAgB,GAQtB,OAPAC,EAAMC,SAASC,QAAQ3B,GAAU,SAAC4B,GAC5BA,EAAMC,KAAKC,aACbL,EAAMC,SAASC,QAAQC,EAAMG,MAAM/B,UAAU,SAACgC,EAA0BC,GACtET,EAAIS,GAASD,EAAWD,MAAMlC,EAChC,GAEJ,IACO2B,CACT,GAAG,CAACxB,IAEJ,OACEyB,EACES,cAAA,MAAA,CAAAvC,IAAKS,EACLR,UAAWA,EACXC,GAAIA,EACS,cAAAI,GAAckC,EAAUC,EAAuBC,aAAcxC,IAEzE4B,EAAMC,SAASY,IAAItC,GAAU,SAAC4B,GAC7B,GAAIA,EAAMC,KAAKU,UAAW,CACxB,IAAMC,EAAsBZ,EAAMG,MAAMU,YAKxC,OAAOhB,EAAMiB,aAAad,EAAO,CAAE7B,YAAae,EAAkB2B,YAJ9C,SAACpB,GACnBF,EAAWE,GACXmB,SAAAA,EAAsBnB,IAEuDC,YAAAA,GACjF,CACA,OAAIM,EAAMC,KAAKC,YAENL,EAAMiB,aAAad,EAAO,CAAE7B,YAAae,EAAkB6B,mBADZ7B,EAA3BJ,EAA8C,MAAQ,QAG5EkB,CACR,IAGP"}
@@ -1,2 +0,0 @@
1
- import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import e from"react";import{camelCase as s}from"es-toolkit";import{getTestId as r,ComponentDefaultTestId as i}from"../../tests/testIds.js";import o from"classnames";import{SKELETON_CUSTOM_SIZE as l}from"./SkeletonConstants.js";import a from"./Skeleton.module.scss.js";import{getStyle as m}from"../../../shared/dist/utils/typesciptCssModulesHelper.js";var d=function(d){var p=d.type,n=d.size,f=d.className,c=d.width,u=d.height,h=d.fullWidth,v=void 0!==h&&h,g=d.id,j=d["data-testid"],N=(void 0===p?"rectangle":p)||"rectangle",k=(void 0===n?"custom":n)||l;return e.createElement("div",{id:g,className:o(a.skeleton,d.wrapperClassName,t({},a.fullWidth,v)),"data-testid":j||r(i.SKELETON,g)},e.createElement("div",{className:o(a[N],m(a,s(N+"-"+k)),f,t({},a.fullWidth,v)),style:{width:c,height:u}}))};export{d as default};
2
- //# sourceMappingURL=Skeleton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["import React from \"react\";\nimport { camelCase } from \"es-toolkit\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { SKELETON_CUSTOM_SIZE } from \"./SkeletonConstants\";\nimport { type SkeletonType, type SkeletonSizeType } from \"./Skelton.types\";\nimport { getStyle } from \"@vibe/shared\";\nimport { type VibeComponentProps } from \"../../types\";\nimport styles from \"./Skeleton.module.scss\";\n\nexport interface SkeletonProps extends VibeComponentProps {\n /**\n * The type of skeleton.\n */\n type?: SkeletonType;\n /**\n * The predefined size of the skeleton.\n */\n size?: SkeletonSizeType;\n /**\n * The width of the skeleton in pixels.\n */\n width?: number;\n /**\n * The height of the skeleton in pixels.\n */\n height?: number;\n /**\n * Class name applied to the wrapper element.\n */\n wrapperClassName?: string;\n /**\n * If true, the skeleton will take up the full width of its container.\n */\n fullWidth?: boolean;\n}\n\nconst Skeleton = ({\n type = \"rectangle\",\n size = \"custom\",\n className,\n wrapperClassName,\n width,\n height,\n fullWidth = false,\n id,\n \"data-testid\": dataTestId\n}: SkeletonProps) => {\n const skeletonType = type || \"rectangle\";\n\n // Skeleton has sizes only for text type, other types support only custom size\n const skeletonSize = size || SKELETON_CUSTOM_SIZE;\n\n return (\n <div\n id={id}\n className={cx(styles.skeleton, wrapperClassName, { [styles.fullWidth]: fullWidth })}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.SKELETON, id)}\n >\n <div\n className={cx(styles[skeletonType], getStyle(styles, camelCase(skeletonType + \"-\" + skeletonSize)), className, {\n [styles.fullWidth]: fullWidth\n })}\n style={{ width, height }}\n />\n </div>\n );\n};\n\nexport default Skeleton;\n"],"names":["Skeleton","_ref","_ref$type","type","_ref$size","size","className","width","height","_ref$fullWidth","fullWidth","id","dataTestId","skeletonType","skeletonSize","SKELETON_CUSTOM_SIZE","React","createElement","cx","styles","skeleton","wrapperClassName","_defineProperty","getTestId","ComponentDefaultTestId","SKELETON","getStyle","camelCase","style"],"mappings":"+aAqCA,IAAMA,EAAW,SAAHC,GAUM,IAAAC,EAAAD,EATlBE,KAAkBC,EAAAH,EAClBI,KACAC,EAASL,EAATK,UAEAC,EAAKN,EAALM,MACAC,EAAMP,EAANO,OAAMC,EAAAR,EACNS,UAAAA,OAAY,IAAHD,GAAQA,EACjBE,EAAEV,EAAFU,GACeC,EAAUX,EAAzB,eAEMY,QAVC,IAAHX,EAAG,YAAWA,IAUW,YAGvBY,QAZC,IAAHV,EAAG,SAAQA,IAYcW,EAE7B,OACEC,EACEC,cAAA,MAAA,CAAAN,GAAIA,EACJL,UAAWY,EAAGC,EAAOC,SAfTnB,EAAhBoB,iBAemDC,KAAKH,EAAOT,UAAYA,IAC1D,cAAAE,GAAcW,EAAUC,EAAuBC,SAAUd,IAEtEK,EACEC,cAAA,MAAA,CAAAX,UAAWY,EAAGC,EAAON,GAAea,EAASP,EAAQQ,EAAUd,EAAe,IAAMC,IAAgBR,EAASgB,EAC1GH,CAAAA,EAAAA,EAAOT,UAAYA,IAEtBkB,MAAO,CAAErB,MAAAA,EAAOC,OAAAA,KAIxB"}
@@ -1,2 +0,0 @@
1
- var n={skeleton:"skeleton_214347145b",rectangle:"rectangle_06c57f8381",shine:"shine_c9afa0c551",circle:"circle_4aed9658f6",text:"text_1d926b904e",textH1:"textH1_313c9f1eb4",textH2:"textH2_8ef0535ab5",textH3:"textH3_8ef0535ab5",textH4:"textH4_6a7717590b",textH5:"textH5_093a3f7f93",textH6:"textH6_b1d35bbd57",textSmall:"textSmall_ae38a5b0b1",textCustom:"textCustom_b1d35bbd57",fullWidth:"fullWidth_32872c93b9"};!function(n){const t="s_id-41cda04b2bc0_4_5_12";if("undefined"!=typeof document){const e=document.head||document.getElementsByTagName("head")[0];if(e.querySelector("#"+t))return;const i=document.createElement("style");i.id=t,e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i),i.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=n)}(".skeleton_214347145b {\n display: flex;\n}\n\n.rectangle_06c57f8381 {\n height: 160px;\n background: var(--ui-background-color);\n border-radius: var(--border-radius-small);\n overflow: hidden;\n animation-duration: 0.8s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n animation-name: shine_c9afa0c551;\n animation-timing-function: steps(10, end);\n}\n\n@keyframes shine_c9afa0c551 {\n 0% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.circle_4aed9658f6 {\n height: 40px;\n background: var(--ui-background-color);\n border-radius: 50%;\n overflow: hidden;\n animation-duration: 0.8s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n animation-name: shine_c9afa0c551;\n animation-timing-function: steps(10, end);\n}\n\n@keyframes shine_c9afa0c551 {\n 0% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.text_1d926b904e {\n background: var(--ui-background-color);\n border-radius: var(--border-radius-small);\n overflow: hidden;\n animation-duration: 0.8s;\n animation-direction: alternate;\n animation-iteration-count: infinite;\n animation-name: shine_c9afa0c551;\n animation-timing-function: steps(10, end);\n}\n\n@keyframes shine_c9afa0c551 {\n 0% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.textH1_313c9f1eb4 {\n height: 32px;\n}\n\n.textH2_8ef0535ab5 {\n height: 24px;\n}\n\n.textH3_8ef0535ab5 {\n height: 24px;\n}\n\n.textH4_6a7717590b {\n height: 21px;\n}\n\n.textH5_093a3f7f93 {\n height: 16px;\n}\n\n.textH6_b1d35bbd57 {\n height: 12px;\n}\n\n.textSmall_ae38a5b0b1,\n.textCustom_b1d35bbd57 {\n height: 12px;\n}\n\n.fullWidth_32872c93b9 {\n width: 100%;\n}\n\n.skeleton_214347145b:not(.fullWidth_32872c93b9) .text_1d926b904e {\n width: 162px;\n}\n\n.skeleton_214347145b:not(.fullWidth_32872c93b9) .circle_4aed9658f6 {\n width: 40px;\n}\n\n.skeleton_214347145b:not(.fullWidth_32872c93b9) .rectangle_06c57f8381 {\n width: 160px;\n}");export{n as default};
2
- //# sourceMappingURL=Skeleton.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Skeleton.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- var o="custom";export{o as SKELETON_CUSTOM_SIZE};
2
- //# sourceMappingURL=SkeletonConstants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkeletonConstants.js","sources":["../../../../src/components/Skeleton/SkeletonConstants.ts"],"sourcesContent":["// Fixed names\nexport const SKELETON_CUSTOM_SIZE = \"custom\";\n"],"names":["SKELETON_CUSTOM_SIZE"],"mappings":"AACO,IAAMA,EAAuB"}
@@ -1,2 +0,0 @@
1
- import{defineProperty as e,toConsumableArray as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o from"classnames";import s,{forwardRef as i,useRef as r}from"react";import{noop as a}from"es-toolkit";import{getTestId as n,ComponentDefaultTestId as c}from"../../../tests/testIds.js";import l from"./Tab.module.scss.js";import{ComponentVibeId as d}from"../../../tests/constants.js";import{keyCodes as m}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";import p from"../../../../components/tooltip/dist/Tooltip/Tooltip.js";import f from"../../../../components/icon/dist/Icon/Icon.js";import{useMergeRef as u}from"../../../../shared/dist/hooks/useMergeRef.js";import{getStyle as v}from"../../../../shared/dist/utils/typesciptCssModulesHelper.js";var b=i((function(i,b){var y=i.className,j=i.tabInnerClassName,I=i.id,h=i.value,k=void 0===h?0:h,C=i.disabled,E=void 0!==C&&C,T=i.active,N=void 0!==T&&T,A=i.focus,g=void 0!==A&&A,P=i.stretchedUnderline,x=void 0!==P&&P,B=i.onClick,S=void 0===B?a:B,z=i.tooltipProps,D=void 0===z?{}:z,F=i.icon,H=i.iconType,M=i.iconSide,R=void 0===M?"left":M,U=i.children,_=i["data-testid"],w=i.tabIndex,K=i["aria-controls"],O=r(null),V=u(b,O);return s.createElement(p,Object.assign({},D,{content:D.content}),s.createElement("li",{ref:V,key:I,className:o(l.tabWrapper,y,e(e(e(e({},l.active,N),l.disabled,E),l.tabFocusVisibleInset,g),l.stretchedUnderline,x)),id:I,role:"tab","aria-selected":N,"aria-disabled":E,"aria-controls":K||void 0,tabIndex:w,"data-testid":_||n(c.TAB,I),"data-vibe":d.TAB,onClick:function(){return!E&&S(k)},onKeyDown:function(e){e.key!==m.ENTER&&e.key!==m.SPACE||(e.preventDefault(),!E&&S(k))}},s.createElement("div",{className:o(l.tabInner,j)},function(){if(!F)return U;var e=s.createElement(f,{"aria-hidden":!0,type:H,icon:F,className:o(l.tabIcon,v(l,R)),size:18,ignoreFocusStyle:!0}),i=s.Children.toArray(U);return"left"===R?[e].concat(t(i)):[].concat(t(i),[e])}())))}));export{b as default};
2
- //# sourceMappingURL=Tab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../../../src/components/Tabs/Tab/Tab.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { type FC, forwardRef, type ReactElement, useRef } from \"react\";\nimport { noop as NOOP } from \"es-toolkit\";\nimport { useMergeRef, getStyle } from \"@vibe/shared\";\n\nimport { Icon, type IconType, type SubIcon } from \"@vibe/icon\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\nimport styles from \"./Tab.module.scss\";\nimport { Tooltip, type TooltipProps } from \"@vibe/tooltip\";\nimport { ComponentVibeId } from \"../../../tests/constants\";\nimport { keyCodes } from \"../../../constants\";\n\nexport interface TabProps extends VibeComponentProps {\n /**\n * Class name applied to the inner tab content.\n */\n tabInnerClassName?: string;\n /**\n * The index value of the tab.\n */\n value?: number;\n /**\n * If true, disables the tab.\n */\n disabled?: boolean;\n /**\n * If true, marks the tab as active.\n */\n active?: boolean;\n /**\n * If true, applies focus styles to the tab.\n */\n focus?: boolean;\n /**\n * If true, hides the individual tab border when using stretched underline.\n */\n stretchedUnderline?: boolean;\n /**\n * The icon displayed in the tab.\n */\n icon?: SubIcon;\n /**\n * The type of icon.\n */\n iconType?: IconType;\n /**\n * The position of the icon relative to the text.\n */\n iconSide?: string;\n /**\n * Callback fired when the tab is clicked.\n */\n onClick?: (value: number) => void;\n /**\n * Props passed to the tab's tooltip.\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * The content displayed inside the tab.\n */\n children?: string | ReactElement | ReactElement[];\n /**\n * Tab index for focus management.\n */\n tabIndex?: number;\n /**\n * The id of the associated TabPanel for aria-controls attribute.\n */\n \"aria-controls\"?: string;\n}\n\nconst Tab: FC<TabProps> = forwardRef(\n (\n {\n className,\n tabInnerClassName,\n id,\n value = 0,\n disabled = false,\n active = false,\n focus = false,\n stretchedUnderline = false,\n onClick = NOOP,\n tooltipProps = {} as TooltipProps,\n icon,\n iconType,\n iconSide = \"left\",\n children,\n \"data-testid\": dataTestId,\n tabIndex,\n \"aria-controls\": ariaControls\n }: TabProps,\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n function renderIconAndChildren() {\n if (!icon) return children;\n\n const iconElement = (\n <Icon\n aria-hidden={true}\n type={iconType}\n icon={icon}\n className={cx(styles.tabIcon, getStyle(styles, iconSide))}\n size={18}\n ignoreFocusStyle\n />\n );\n\n const childrenArray = React.Children.toArray(children);\n\n if (iconSide === \"left\") {\n return [iconElement, ...childrenArray];\n }\n\n return [...childrenArray, iconElement];\n }\n\n function handleKeyDown(event: React.KeyboardEvent) {\n if (event.key === keyCodes.ENTER || event.key === keyCodes.SPACE) {\n event.preventDefault();\n !disabled && onClick(value);\n }\n }\n\n return (\n <Tooltip {...tooltipProps} content={tooltipProps.content}>\n <li\n ref={mergedRef}\n key={id}\n className={cx(styles.tabWrapper, className, {\n [styles.active]: active,\n [styles.disabled]: disabled,\n [styles.tabFocusVisibleInset]: focus,\n [styles.stretchedUnderline]: stretchedUnderline\n })}\n id={id}\n role=\"tab\"\n aria-selected={active}\n aria-disabled={disabled}\n aria-controls={ariaControls || undefined}\n tabIndex={tabIndex}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB, id)}\n data-vibe={ComponentVibeId.TAB}\n onClick={() => !disabled && onClick(value)}\n onKeyDown={handleKeyDown}\n >\n <div className={cx(styles.tabInner, tabInnerClassName)}>{renderIconAndChildren()}</div>\n </li>\n </Tooltip>\n );\n }\n);\n\nexport default Tab;\n"],"names":["Tab","forwardRef","_ref","ref","className","tabInnerClassName","id","_ref$value","value","_ref$disabled","disabled","_ref$active","active","_ref$focus","focus","_ref$stretchedUnderli","stretchedUnderline","_ref$onClick","onClick","NOOP","_ref$tooltipProps","tooltipProps","icon","iconType","_ref$iconSide","iconSide","children","dataTestId","tabIndex","ariaControls","componentRef","useRef","mergedRef","useMergeRef","React","createElement","Tooltip","Object","assign","content","key","cx","styles","tabWrapper","_defineProperty","tabFocusVisibleInset","role","undefined","getTestId","ComponentDefaultTestId","TAB","ComponentVibeId","onKeyDown","event","keyCodes","ENTER","SPACE","preventDefault","tabInner","iconElement","Icon","type","tabIcon","getStyle","size","ignoreFocusStyle","childrenArray","Children","toArray","concat","_toConsumableArray","renderIconAndChildren"],"mappings":"8wBAwEMA,IAAAA,EAAoBC,GACxB,SAAAC,EAoBEC,GACE,IAnBAC,EAASF,EAATE,UACAC,EAAiBH,EAAjBG,kBACAC,EAAEJ,EAAFI,GAAEC,EAAAL,EACFM,MAAAA,OAAQ,IAAHD,EAAG,EAACA,EAAAE,EAAAP,EACTQ,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAT,EAChBU,OAAAA,OAAS,IAAHD,GAAQA,EAAAE,EAAAX,EACdY,MAAAA,OAAQ,IAAHD,GAAQA,EAAAE,EAAAb,EACbc,mBAAAA,OAAqB,IAAHD,GAAQA,EAAAE,EAAAf,EAC1BgB,QAAAA,OAAUC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAlB,EACdmB,aAAAA,OAAY,IAAAD,EAAG,CAAkB,EAAAA,EACjCE,EAAIpB,EAAJoB,KACAC,EAAQrB,EAARqB,SAAQC,EAAAtB,EACRuB,SAAAA,OAAW,IAAHD,EAAG,OAAMA,EACjBE,EAAQxB,EAARwB,SACeC,EAAUzB,EAAzB,eACA0B,EAAQ1B,EAAR0B,SACiBC,EAAY3B,EAA7B,iBAII4B,EAAeC,EAAO,MACtBC,EAAYC,EAAY9B,EAAK2B,GAgCnC,OACEI,EAACC,cAAAC,EAAYC,OAAAC,OAAA,CAAA,EAAAjB,GAAckB,QAASlB,EAAakB,UAC/CL,EAAAC,cAAA,KAAA,CACEhC,IAAK6B,EACLQ,IAAKlC,EACLF,UAAWqC,EAAGC,EAAOC,WAAYvC,EAASwC,EAAAA,EAAAA,EAAAA,EAAA,CAAA,EACvCF,EAAO9B,OAASA,GAChB8B,EAAOhC,SAAWA,GAClBgC,EAAOG,qBAAuB/B,GAC9B4B,EAAO1B,mBAAqBA,IAE/BV,GAAIA,EACJwC,KAAK,MAAK,gBACKlC,EAAM,gBACNF,EACA,gBAAAmB,QAAgBkB,EAC/BnB,SAAUA,EAAQ,cACLD,GAAcqB,EAAUC,EAAuBC,IAAK5C,GAAG,YACzD6C,EAAgBD,IAC3BhC,QAAS,WAAA,OAAOR,GAAYQ,EAAQV,EAAM,EAC1C4C,UA3BN,SAAuBC,GACjBA,EAAMb,MAAQc,EAASC,OAASF,EAAMb,MAAQc,EAASE,QACzDH,EAAMI,kBACL/C,GAAYQ,EAAQV,GAEzB,GAwBM0B,EAAAC,cAAA,MAAA,CAAK/B,UAAWqC,EAAGC,EAAOgB,SAAUrD,IApD1C,WACE,IAAKiB,EAAM,OAAOI,EAElB,IAAMiC,EACJzB,EAACC,cAAAyB,kBACc,EACbC,KAAMtC,EACND,KAAMA,EACNlB,UAAWqC,EAAGC,EAAOoB,QAASC,EAASrB,EAAQjB,IAC/CuC,KAAM,GACNC,kBAAgB,IAIdC,EAAgBhC,EAAMiC,SAASC,QAAQ1C,GAE7C,MAAiB,SAAbD,EACF,CAAQkC,GAAWU,OAAAC,EAAKJ,IAG1B,GAAAG,OAAAC,EAAWJ,IAAeP,GAC5B,CA+B+DY,KAIjE"}
@@ -1,2 +0,0 @@
1
- var e={tabWrapper:"tabWrapper_cfa3de9419",stretchedUnderline:"stretchedUnderline_16884e9956",tabInner:"tabInner_ecadb13f05",tabIcon:"tabIcon_ffed076c47",right:"right_6797a2a86c",tabFocusVisibleInset:"tabFocusVisibleInset_08b9a433dc",active:"active_4af6c649ff",disabled:"disabled_18cfc0d9e7"};!function(e){const n="s_id-bfaa9c7255c3_4_5_12";if("undefined"!=typeof document){const a=document.head||document.getElementsByTagName("head")[0];if(a.querySelector("#"+n))return;const t=document.createElement("style");t.id=n,a.firstChild?a.insertBefore(t,a.firstChild):a.appendChild(t),t.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}('/* stylelint-disable */\n/* stylelint-enable */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable */\n/* stylelint-enable */\n.tabWrapper_cfa3de9419 {\n position: relative;\n display: inline-block;\n padding-inline: 1px;\n border-top: 1px solid transparent;\n border-bottom: 2px solid;\n border-bottom-color: var(--ui-background-color);\n color: var(--primary-text-color);\n text-align: center;\n height: 100%;\n margin: 0;\n}\n.tabWrapper_cfa3de9419.stretchedUnderline_16884e9956 {\n border-bottom: 0;\n}\n.tabWrapper_cfa3de9419:after {\n display: block;\n position: absolute;\n inset-inline: 0;\n content: "";\n border-bottom: solid 2px;\n border-bottom-color: var(--primary-color);\n transform: scaleX(0);\n z-index: 0;\n}\n.tabWrapper_cfa3de9419 .tabInner_ecadb13f05 {\n height: calc(100% - 1px);\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n padding: 4px 16px;\n font: var(--font-text1-normal);\n user-select: none;\n margin-bottom: 1px;\n cursor: pointer;\n color: var(--primary-text-color);\n}\n.tabWrapper_cfa3de9419 .tabInner_ecadb13f05:focus {\n outline: none;\n}\n.tabWrapper_cfa3de9419 .tabInner_ecadb13f05 .tabIcon_ffed076c47 {\n color: var(--icon-color);\n margin-inline-end: var(--space-8);\n}\n.tabWrapper_cfa3de9419 .tabInner_ecadb13f05 .tabIcon_ffed076c47.right_6797a2a86c {\n margin-inline-end: 0;\n margin-inline-start: var(--space-8);\n}\n.tabWrapper_cfa3de9419.tabFocusVisibleInset_08b9a433dc {\n outline: none;\n z-index: 11;\n border-radius: 3px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5) inset, 0 0 0 1px var(--primary-hover-color) inset;\n position: relative;\n}\n.tabWrapper_cfa3de9419.active_4af6c649ff:after {\n transform: scaleX(1);\n transition: transform var(--motion-productive-medium) var(--motion-timing-enter);\n}\n.tabWrapper_cfa3de9419.disabled_18cfc0d9e7 .tabInner_ecadb13f05 {\n color: var(--disabled-text-color);\n cursor: not-allowed;\n}\n.tabWrapper_cfa3de9419:not(.disabled_18cfc0d9e7) .tabInner_ecadb13f05:hover {\n border-radius: 4px;\n background-color: var(--primary-background-hover-color);\n}');export{e as default};
2
- //# sourceMappingURL=Tab.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tab.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{slicedToArray as e,defineProperty as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import r from"classnames";import{camelCase as i}from"es-toolkit";import n,{forwardRef as s,useRef as o,useState as a,useEffect as d,useMemo as l,useCallback as c}from"react";import{getTestId as u,ComponentDefaultTestId as m}from"../../../tests/testIds.js";import f from"./TabList.module.scss.js";import p from"../../../../hooks/dist/usePrevious/index.js";import v from"../../../../components/a11y/dist/useGridKeyboardNavigation/useGridKeyboardNavigation.js";import{useMergeRef as b}from"../../../../shared/dist/hooks/useMergeRef.js";import{getStyle as h}from"../../../../shared/dist/utils/typesciptCssModulesHelper.js";import{NOOP as I}from"../../../../shared/dist/utils/function-utils.js";var C=s((function(s,C){var g=s.className,N=s.id,T=s.onTabChange,j=void 0===T?I:T,y=s.activeTabId,L=void 0===y?0:y,k=s.tabType,x=void 0===k?"Compact":k,A=s.size,E=s.stretchedUnderline,P=void 0!==E&&E,B=s.tabPanelIds,S=void 0===B?[]:B,U=s.children,_=s["data-testid"],G=o(null),H=b(C,G),K=o({}),M=a(L),O=e(M,2),W=O[0],w=O[1],z=p(L),R=p(W);d((function(){L!==z&&L!==W&&w(L)}),[L,z,W,w]),d((function(){var e;void 0!==R&&R!==W&&K.current[W]&&(null===(e=K.current[W])||void 0===e||e.focus())}),[W,R]);var q=l((function(){var e=new Set;return n.Children.forEach(U,(function(t,r){t.props.disabled&&e.add(r)})),e}),[U]),D=c((function(e){q.has(e)||(w(e),j&&j(e))}),[j,q]),F=c((function(e,t){var r,i=null===(r=U[t].props)||void 0===r?void 0:r.onClick;q.has(t)||(i&&i(t),D(t))}),[U,q,D]),J=c((function(e){return U[e]}),[U]),Q=l((function(){return Array.from(q)}),[q]),V=o(),X=v({ref:V,numberOfItemsInLine:null==U?void 0:U.length,itemsCount:null==U?void 0:U.length,getItemByIndex:J,onItemClicked:F,disabledIndexes:Q,circularNavigation:!0}),Y=X.activeIndex,Z=X.onSelectionAction,$=p(Y);d((function(){var e;void 0!==Y&&Y>=0&&$!==Y&&K.current[Y]&&(null===(e=K.current[Y])||void 0===e||e.focus())}),[Y,$]);var ee=l((function(){return n.Children.map(U,(function(e,t){var i=W===t,s=void 0===Y||0>Y?i:Y===t;return n.cloneElement(e,{value:t,active:i,focus:Y===t,onClick:Z,stretchedUnderline:P,className:r(f.tabListTabWrapper,e.props.className),tabInnerClassName:r(f.tabListTabInner,e.props.tabInnerClassName),tabIndex:s?0:-1,"aria-controls":S[t],ref:function(e){K.current[t]=e}})}))}),[U,W,Y,Z,P,S,N]);return n.createElement("div",{ref:H,className:r(f.tabsWrapper,g,[h(f,i(x))],t({},f.stretchedUnderline,P)),id:N,"data-testid":_||u(m.TAB_LIST,N)},n.createElement("ul",{ref:V,className:r(f.tabsList,[h(f,A)]),role:"tablist"},ee))}));Object.assign(C,{isTabList:!0});export{C as default};
2
- //# sourceMappingURL=TabList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabList.js","sources":["../../../../../src/components/Tabs/TabList/TabList.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { camelCase } from \"es-toolkit\";\nimport React, {\n type FC,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\nimport { useGridKeyboardNavigation } from \"@vibe/a11y\";\nimport { useMergeRef, NOOP, getStyle } from \"@vibe/shared\";\nimport { usePrevious } from \"@vibe/hooks\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\n\nimport { type TabProps } from \"../Tab/Tab\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nimport styles from \"./TabList.module.scss\";\n\nexport interface TabListProps extends VibeComponentProps {\n /**\n * Callback fired when the active tab changes.\n */\n onTabChange?: (tabId: number) => void;\n /**\n * The index of the currently active tab.\n */\n activeTabId?: number;\n /**\n * The type of tab style.\n */\n tabType?: string;\n /**\n * The size of the tab list.\n */\n size?: string;\n /**\n * If true, Sets an E2E underline under the whole tabs component.\n */\n stretchedUnderline?: boolean;\n /**\n * Array of corresponding TabPanel ids for aria-controls relationship.\n */\n tabPanelIds?: string[];\n /**\n * The child elements representing tabs.\n */\n children?: ReactElement<TabProps>[];\n}\nconst TabList: FC<TabListProps> = forwardRef(\n (\n {\n className,\n id,\n onTabChange = NOOP,\n activeTabId = 0,\n tabType = \"Compact\",\n size,\n stretchedUnderline = false,\n tabPanelIds = [],\n children,\n \"data-testid\": dataTestId\n },\n ref\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const tabRefs = useRef<Record<number, HTMLElement | null>>({});\n\n const [activeTabState, setActiveTabState] = useState<number>(activeTabId);\n\n const prevActiveTabIdProp = usePrevious(activeTabId);\n const prevActiveTabState = usePrevious(activeTabState);\n\n useEffect(() => {\n // Update active tab if changed from props\n\n if (activeTabId !== prevActiveTabIdProp && activeTabId !== activeTabState) {\n setActiveTabState(activeTabId);\n }\n }, [activeTabId, prevActiveTabIdProp, activeTabState, setActiveTabState]);\n\n // Focus management: when activeTabState changes, focus the active tab\n useEffect(() => {\n if (\n prevActiveTabState !== undefined &&\n prevActiveTabState !== activeTabState &&\n tabRefs.current[activeTabState]\n ) {\n tabRefs.current[activeTabState]?.focus();\n }\n }, [activeTabState, prevActiveTabState]);\n\n const disabledTabIds = useMemo(() => {\n const disabledIds = new Set<number>();\n React.Children.forEach(children, (child, index) => {\n if (child.props.disabled) {\n disabledIds.add(index);\n }\n });\n return disabledIds;\n }, [children]);\n const onTabSelect = useCallback(\n (tabId: number) => {\n if (disabledTabIds.has(tabId)) return;\n setActiveTabState(tabId);\n onTabChange && onTabChange(tabId);\n },\n [onTabChange, disabledTabIds]\n );\n const onTabClick = useCallback(\n (value: HTMLElement | void, tabId: number) => {\n const tabCallbackFunc = children[tabId].props?.onClick;\n if (disabledTabIds.has(tabId)) return;\n if (tabCallbackFunc) tabCallbackFunc(tabId);\n onTabSelect(tabId);\n },\n [children, disabledTabIds, onTabSelect]\n );\n const getItemByIndex = useCallback((index: number): ReactElement<TabProps> => children[index], [children]);\n const disabledIndexes = useMemo(() => Array.from(disabledTabIds), [disabledTabIds]);\n const ulRef = useRef();\n const { activeIndex: focusIndex, onSelectionAction } = useGridKeyboardNavigation({\n ref: ulRef,\n numberOfItemsInLine: children?.length,\n itemsCount: children?.length,\n getItemByIndex,\n onItemClicked: onTabClick,\n disabledIndexes,\n circularNavigation: true\n });\n\n // Focus management: when focusIndex changes during keyboard navigation, focus the focused tab\n const prevFocusIndex = usePrevious(focusIndex);\n useEffect(() => {\n if (focusIndex !== undefined && focusIndex >= 0 && prevFocusIndex !== focusIndex && tabRefs.current[focusIndex]) {\n tabRefs.current[focusIndex]?.focus();\n }\n }, [focusIndex, prevFocusIndex]);\n\n const tabsToRender = useMemo(() => {\n const childrenToRender = React.Children.map(children, (child, index) => {\n const isActive = activeTabState === index;\n\n const shouldBeFocusable = focusIndex !== undefined && focusIndex >= 0 ? focusIndex === index : isActive;\n\n return React.cloneElement(child, {\n value: index,\n active: isActive,\n focus: focusIndex === index,\n onClick: onSelectionAction,\n stretchedUnderline,\n className: cx(styles.tabListTabWrapper, child.props.className),\n tabInnerClassName: cx(styles.tabListTabInner, child.props.tabInnerClassName),\n tabIndex: shouldBeFocusable ? 0 : -1,\n \"aria-controls\": tabPanelIds[index],\n ref: (element: HTMLElement | null) => {\n tabRefs.current[index] = element;\n }\n } as Partial<TabProps> & { ref: React.Ref<HTMLElement>; tabInnerLabelId?: string });\n });\n return childrenToRender;\n }, [children, activeTabState, focusIndex, onSelectionAction, stretchedUnderline, tabPanelIds, id]);\n\n return (\n <div\n ref={mergedRef}\n className={cx(styles.tabsWrapper, className, [getStyle(styles, camelCase(tabType))], {\n [styles.stretchedUnderline]: stretchedUnderline\n })}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB_LIST, id)}\n >\n <ul ref={ulRef} className={cx(styles.tabsList, [getStyle(styles, size)])} role=\"tablist\">\n {tabsToRender}\n </ul>\n </div>\n );\n }\n);\nObject.assign(TabList, {\n isTabList: true\n});\n\nexport default TabList;\n"],"names":["TabList","forwardRef","_ref","ref","className","id","_ref$onTabChange","onTabChange","NOOP","_ref$activeTabId","activeTabId","_ref$tabType","tabType","size","_ref$stretchedUnderli","stretchedUnderline","_ref$tabPanelIds","tabPanelIds","children","dataTestId","componentRef","useRef","mergedRef","useMergeRef","tabRefs","_useState","useState","_useState2","_slicedToArray","activeTabState","setActiveTabState","prevActiveTabIdProp","usePrevious","prevActiveTabState","useEffect","undefined","current","_a","focus","disabledTabIds","useMemo","disabledIds","Set","React","Children","forEach","child","index","props","disabled","add","onTabSelect","useCallback","tabId","has","onTabClick","value","tabCallbackFunc","onClick","getItemByIndex","disabledIndexes","Array","from","ulRef","_useGridKeyboardNavig","useGridKeyboardNavigation","numberOfItemsInLine","length","itemsCount","onItemClicked","circularNavigation","focusIndex","activeIndex","onSelectionAction","prevFocusIndex","tabsToRender","map","isActive","shouldBeFocusable","cloneElement","active","cx","styles","tabListTabWrapper","tabInnerClassName","tabListTabInner","tabIndex","element","createElement","tabsWrapper","getStyle","camelCase","_defineProperty","getTestId","ComponentDefaultTestId","TAB_LIST","tabsList","role","Object","assign","isTabList"],"mappings":"wxBAoDMA,IAAAA,EAA4BC,GAChC,SAAAC,EAaEC,GACE,IAZAC,EAASF,EAATE,UACAC,EAAEH,EAAFG,GAAEC,EAAAJ,EACFK,YAAAA,OAAcC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAP,EAClBQ,YAAAA,OAAc,IAAHD,EAAG,EAACA,EAAAE,EAAAT,EACfU,QAAAA,OAAU,IAAHD,EAAG,UAASA,EACnBE,EAAIX,EAAJW,KAAIC,EAAAZ,EACJa,mBAAAA,OAAqB,IAAHD,GAAQA,EAAAE,EAAAd,EAC1Be,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAChBE,EAAQhB,EAARgB,SACeC,EAAUjB,EAAzB,eAIIkB,EAAeC,EAAO,MACtBC,EAAYC,EAAYpB,EAAKiB,GAC7BI,EAAUH,EAA2C,CAAA,GAE3DI,EAA4CC,EAAiBhB,GAAYiB,EAAAC,EAAAH,EAAA,GAAlEI,EAAcF,EAAA,GAAEG,EAAiBH,EAAA,GAElCI,EAAsBC,EAAYtB,GAClCuB,EAAqBD,EAAYH,GAEvCK,GAAU,WAGJxB,IAAgBqB,GAAuBrB,IAAgBmB,GACzDC,EAAkBpB,EAErB,GAAE,CAACA,EAAaqB,EAAqBF,EAAgBC,IAGtDI,GAAU,sBAEiBC,IAAvBF,GACAA,IAAuBJ,GACvBL,EAAQY,QAAQP,KAEe,QAA/BQ,EAAAb,EAAQY,QAAQP,UAAe,IAAAQ,GAAAA,EAAEC,QAErC,GAAG,CAACT,EAAgBI,IAEpB,IAAMM,EAAiBC,GAAQ,WAC7B,IAAMC,EAAc,IAAIC,IAMxB,OALAC,EAAMC,SAASC,QAAQ3B,GAAU,SAAC4B,EAAOC,GACnCD,EAAME,MAAMC,UACdR,EAAYS,IAAIH,EAEpB,IACON,CACT,GAAG,CAACvB,IACEiC,EAAcC,GAClB,SAACC,GACKd,EAAee,IAAID,KACvBvB,EAAkBuB,GAClB9C,GAAeA,EAAY8C,GAC7B,GACA,CAAC9C,EAAagC,IAEVgB,EAAaH,GACjB,SAACI,EAA2BH,SACpBI,EAAyC,QAAvBpB,EAAAnB,EAASmC,GAAOL,aAAO,IAAAX,OAAA,EAAAA,EAAAqB,QAC3CnB,EAAee,IAAID,KACnBI,GAAiBA,EAAgBJ,GACrCF,EAAYE,GACb,GACD,CAACnC,EAAUqB,EAAgBY,IAEvBQ,EAAiBP,GAAY,SAACL,GAAa,OAA6B7B,EAAS6B,KAAQ,CAAC7B,IAC1F0C,EAAkBpB,GAAQ,WAAA,OAAMqB,MAAMC,KAAKvB,KAAiB,CAACA,IAC7DwB,EAAQ1C,IACd2C,EAAuDC,EAA0B,CAC/E9D,IAAK4D,EACLG,oBAAqBhD,aAAA,EAAAA,EAAUiD,OAC/BC,WAAYlD,aAAA,EAAAA,EAAUiD,OACtBR,eAAAA,EACAU,cAAed,EACfK,gBAAAA,EACAU,oBAAoB,IAPDC,EAAUP,EAAvBQ,YAAyBC,EAAiBT,EAAjBS,kBAW3BC,EAAiB1C,EAAYuC,GACnCrC,GAAU,sBACWC,IAAfoC,GAA4BA,GAAc,GAAKG,IAAmBH,GAAc/C,EAAQY,QAAQmC,KACvE,QAA3BlC,EAAAb,EAAQY,QAAQmC,UAAW,IAAAlC,GAAAA,EAAEC,QAEjC,GAAG,CAACiC,EAAYG,IAEhB,IAAMC,GAAenC,GAAQ,WAqB3B,OApByBG,EAAMC,SAASgC,IAAI1D,GAAU,SAAC4B,EAAOC,GAC5D,IAAM8B,EAAWhD,IAAmBkB,EAE9B+B,OAAmC3C,IAAfoC,GAA0C,EAAdA,EAAyCM,EAAvBN,IAAexB,EAEvF,OAAOJ,EAAMoC,aAAajC,EAAO,CAC/BU,MAAOT,EACPiC,OAAQH,EACRvC,MAAOiC,IAAexB,EACtBW,QAASe,EACT1D,mBAAAA,EACAX,UAAW6E,EAAGC,EAAOC,kBAAmBrC,EAAME,MAAM5C,WACpDgF,kBAAmBH,EAAGC,EAAOG,gBAAiBvC,EAAME,MAAMoC,mBAC1DE,SAAUR,EAAoB,GAAK,EACnC,gBAAiB7D,EAAY8B,GAC7B5C,IAAK,SAACoF,GACJ/D,EAAQY,QAAQW,GAASwC,CAC3B,GAEJ,GAEF,GAAG,CAACrE,EAAUW,EAAgB0C,EAAYE,EAAmB1D,EAAoBE,EAAaZ,IAE9F,OACEsC,EACE6C,cAAA,MAAA,CAAArF,IAAKmB,EACLlB,UAAW6E,EAAGC,EAAOO,YAAarF,EAAW,CAACsF,EAASR,EAAQS,EAAU/E,KAAUgF,EAChFV,CAAAA,EAAAA,EAAOnE,mBAAqBA,IAE/BV,GAAIA,gBACSc,GAAc0E,EAAUC,EAAuBC,SAAU1F,IAEtEsC,EAAA6C,cAAA,KAAA,CAAIrF,IAAK4D,EAAO3D,UAAW6E,EAAGC,EAAOc,SAAU,CAACN,EAASR,EAAQrE,KAASoF,KAAK,WAC5EtB,IAIT,IAEFuB,OAAOC,OAAOnG,EAAS,CACrBoG,WAAW"}
@@ -1,2 +0,0 @@
1
- var e={tabsWrapper:"tabsWrapper_ab7a208044",tabsList:"tabsList_4ad002b444",sm:"sm_313c9f1eb4",lg:"lg_97a848f8df",stretched:"stretched_4fb1af6c03",tabListTabWrapper:"tabListTabWrapper_32872c93b9",tabListTabInner:"tabListTabInner_32872c93b9",disabled:"disabled_d7ef3ab1e2",stretchedUnderline:"stretchedUnderline_108a3f1b8c"};!function(e){const t="s_id-1dd2e005bc2f_4_5_12";if("undefined"!=typeof document){const a=document.head||document.getElementsByTagName("head")[0];if(a.querySelector("#"+t))return;const n=document.createElement("style");n.id=t,a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=e)}("/* stylelint-disable */\n/* stylelint-enable */\n.tabsWrapper_ab7a208044 .tabsList_4ad002b444 {\n display: flex;\n flex-direction: row;\n list-style-type: none;\n font-size: 0;\n position: relative;\n height: 40px;\n outline: none;\n padding: 0;\n}\n.tabsWrapper_ab7a208044 .tabsList_4ad002b444.sm_313c9f1eb4 {\n height: 32px;\n}\n.tabsWrapper_ab7a208044 .tabsList_4ad002b444.lg_97a848f8df {\n height: 48px;\n}\n.tabsWrapper_ab7a208044.stretched_4fb1af6c03 .tabsList_4ad002b444 {\n width: 100%;\n}\n.tabsWrapper_ab7a208044.stretched_4fb1af6c03 .tabsList_4ad002b444 .tabListTabWrapper_32872c93b9 {\n width: 100%;\n}\n.tabsWrapper_ab7a208044.stretched_4fb1af6c03 .tabsList_4ad002b444 .tabListTabWrapper_32872c93b9 .tabListTabInner_32872c93b9 {\n width: 100%;\n}\n.tabsWrapper_ab7a208044.disabled_d7ef3ab1e2 {\n opacity: 0;\n height: 0;\n padding-bottom: 5px;\n pointer-events: none;\n}\n.tabsWrapper_ab7a208044.stretchedUnderline_108a3f1b8c {\n border-bottom: 2px solid var(--ui-background-color);\n}");export{e as default};
2
- //# sourceMappingURL=TabList.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabList.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import e,{forwardRef as t,useRef as a}from"react";import r from"classnames";import{getTestId as s,ComponentDefaultTestId as o}from"../../../tests/testIds.js";import m from"./TabPanel.module.scss.js";import{useMergeRef as d}from"../../../../shared/dist/hooks/useMergeRef.js";var i=t((function(t,i){var l=t.className,n=t.id,c=t.children,f=t.index,p=t["data-testid"],u=a(null),b=d(i,u);return e.createElement("div",{key:"".concat(n,"_").concat(f),ref:b,className:r(m.tabPanelWrapper,l),id:n,"data-testid":p||s(o.TAB_PANEL,n),role:"tabpanel"},c)}));export{i as default};
2
- //# sourceMappingURL=TabPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanel.js","sources":["../../../../../src/components/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["import React, { type FC, forwardRef, type ReactElement, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\nimport styles from \"./TabPanel.module.scss\";\n\nexport interface TabPanelProps extends VibeComponentProps {\n /**\n * The content inside the tab panel.\n */\n children?: ReactElement | ReactElement[] | string;\n /**\n * The index of the tab panel.\n */\n index?: number;\n}\n\nconst TabPanel: FC<TabPanelProps> = forwardRef(({ className, id, children, index, \"data-testid\": dataTestId }, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <div\n key={`${id}_${index}`}\n ref={mergedRef}\n className={cx(styles.tabPanelWrapper, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB_PANEL, id)}\n role=\"tabpanel\"\n >\n {children}\n </div>\n );\n});\n\nexport default TabPanel;\n"],"names":["TabPanel","forwardRef","_ref","ref","className","id","children","index","dataTestId","componentRef","useRef","mergedRef","useMergeRef","React","key","concat","cx","styles","tabPanelWrapper","getTestId","ComponentDefaultTestId","TAB_PANEL","role"],"mappings":"kRAkBMA,IAAAA,EAA8BC,GAAW,SAAAC,EAAgEC,GAAO,IAApEC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAIC,EAAQJ,EAARI,SAAUC,EAAKL,EAALK,MAAsBC,EAAUN,EAAzB,eAC1EO,EAAeC,EAAO,MACtBC,EAAYC,EAAYT,EAAKM,GAEnC,OACEI,uBACEC,IAAG,GAAAC,OAAKV,OAAEU,OAAIR,GACdJ,IAAKQ,EACLP,UAAWY,EAAGC,EAAOC,gBAAiBd,GACtCC,GAAIA,EAAE,cACOG,GAAcW,EAAUC,EAAuBC,UAAWhB,GACvEiB,KAAK,YAEJhB,EAGP"}
@@ -1,2 +0,0 @@
1
- var e={tabPanelWrapper:"tabPanelWrapper_241dde3dc3"};!function(e){const t="s_id-82244d4a2f7b_4_5_12";if("undefined"!=typeof document){const d=document.head||document.getElementsByTagName("head")[0];if(d.querySelector("#"+t))return;const a=document.createElement("style");a.id=t,d.firstChild?d.insertBefore(a,d.firstChild):d.appendChild(a),a.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[t]=e)}(".tabPanelWrapper_241dde3dc3 {\n color: var(--primary-text-color);\n}");export{e as default};
2
- //# sourceMappingURL=TabPanel.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanel.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import e from"classnames";import{camelCase as t}from"es-toolkit";import s,{forwardRef as a,useRef as r,useMemo as i}from"react";import{getTestId as o,ComponentDefaultTestId as n}from"../../../tests/testIds.js";import l from"./TabPanels.module.scss.js";import{useMergeRef as m}from"../../../../shared/dist/hooks/useMergeRef.js";import{getStyle as c}from"../../../../shared/dist/utils/typesciptCssModulesHelper.js";var d=a((function(a,d){var p=a.className,f=a.id,u=a.activeTabId,v=void 0===u?0:u,b=a.animationDirection,j=void 0===b?"rtl":b,h=a.children,N=a["data-testid"],P=r(null),g=m(d,P),T=i((function(){return s.Children.map(h,(function(a,r){var i=v===r;if(!i)return null;var o=i?"active":"non-active",n=i?"animation-direction-".concat(j):"";return s.cloneElement(a,Object.assign(Object.assign({index:r},a.props),{className:e(l.tabPanel,[c(l,o)],[c(l,t(n))],a.props.className)}))})).filter(Boolean)}),[h,v,j]);return s.createElement("div",{ref:g,className:e(l.tabPanelsWrapper,p),id:f,"data-testid":N||o(n.TAB_PANELS,f)},T)}));Object.assign(d,{isTabPanels:!0});export{d as default};
2
- //# sourceMappingURL=TabPanels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanels.js","sources":["../../../../../src/components/Tabs/TabPanels/TabPanels.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { camelCase } from \"es-toolkit\";\nimport React, { forwardRef, type ReactElement, useMemo, useRef } from \"react\";\nimport { useMergeRef, getStyle } from \"@vibe/shared\";\nimport { type TabPanelsAnimationDirection } from \"./TabPanels.types\";\nimport { type TabPanelProps } from \"../TabPanel/TabPanel\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nimport { type VibeComponentProps } from \"../../../types\";\nimport styles from \"./TabPanels.module.scss\";\n\nexport interface TabPanelsProps extends VibeComponentProps {\n /**\n * The index of the currently active tab panel.\n */\n activeTabId?: number;\n /**\n * The animation direction when switching between tab panels.\n */\n animationDirection?: TabPanelsAnimationDirection;\n /**\n * The child elements representing tab panels.\n */\n children?: ReactElement<TabPanelProps> | ReactElement<TabPanelProps>[];\n}\n\nconst TabPanels = forwardRef(\n (\n { className, id, activeTabId = 0, animationDirection = \"rtl\", children, \"data-testid\": dataTestId }: TabPanelsProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const renderedTabs = useMemo(() => {\n return React.Children.map(children, (child, index) => {\n const isActiveTab = activeTabId === index;\n if (!isActiveTab) return null;\n const activeClass = isActiveTab ? \"active\" : \"non-active\";\n const animationClass = isActiveTab ? `animation-direction-${animationDirection}` : \"\";\n return React.cloneElement(child, {\n index,\n ...child.props,\n className: cx(\n styles.tabPanel,\n [getStyle(styles, activeClass)],\n [getStyle(styles, camelCase(animationClass))],\n child.props.className\n )\n });\n }).filter(Boolean);\n }, [children, activeTabId, animationDirection]);\n\n return (\n <div\n ref={mergedRef}\n className={cx(styles.tabPanelsWrapper, className)}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TAB_PANELS, id)}\n >\n {renderedTabs}\n </div>\n );\n }\n);\n\nObject.assign(TabPanels, {\n isTabPanels: true\n});\n\nexport default TabPanels;\n"],"names":["TabPanels","forwardRef","_ref","ref","className","id","_ref$activeTabId","activeTabId","_ref$animationDirecti","animationDirection","children","dataTestId","componentRef","useRef","mergedRef","useMergeRef","renderedTabs","useMemo","React","Children","map","child","index","isActiveTab","activeClass","animationClass","concat","cloneElement","Object","assign","props","cx","styles","tabPanel","getStyle","camelCase","filter","Boolean","createElement","tabPanelsWrapper","getTestId","ComponentDefaultTestId","TAB_PANELS","isTabPanels"],"mappings":"6ZA0BMA,IAAAA,EAAYC,GAChB,SAAAC,EAEEC,GACE,IAFAC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAEC,EAAAJ,EAAEK,YAAAA,OAAc,IAAHD,EAAG,EAACA,EAAAE,EAAAN,EAAEO,mBAAAA,OAAqB,IAAHD,EAAG,MAAKA,EAAEE,EAAQR,EAARQ,SAAyBC,EAAUT,EAAzB,eAGlEU,EAAeC,EAAO,MACtBC,EAAYC,EAAYZ,EAAKS,GAC7BI,EAAeC,GAAQ,WAC3B,OAAOC,EAAMC,SAASC,IAAIV,GAAU,SAACW,EAAOC,GAC1C,IAAMC,EAAchB,IAAgBe,EACpC,IAAKC,EAAa,OAAO,KACzB,IAAMC,EAAcD,EAAc,SAAW,aACvCE,EAAiBF,EAAW,uBAAAG,OAA0BjB,GAAuB,GACnF,OAAOS,EAAMS,aAAaN,EACxBO,OAAAC,OAAAD,OAAAC,OAAA,CAAAP,MAAAA,GACGD,EAAMS,QACT1B,UAAW2B,EACTC,EAAOC,SACP,CAACC,EAASF,EAAQR,IAClB,CAACU,EAASF,EAAQG,EAAUV,KAC5BJ,EAAMS,MAAM1B,aAGlB,IAAGgC,OAAOC,QACX,GAAE,CAAC3B,EAAUH,EAAaE,IAE3B,OACES,EAAAoB,cAAA,MAAA,CACEnC,IAAKW,EACLV,UAAW2B,EAAGC,EAAOO,iBAAkBnC,GACvCC,GAAIA,EACS,cAAAM,GAAc6B,EAAUC,EAAuBC,WAAYrC,IAEvEW,EAGP,IAGFY,OAAOC,OAAO7B,EAAW,CACvB2C,aAAa"}
@@ -1,2 +0,0 @@
1
- var a={tabPanelsWrapper:"tabPanelsWrapper_4a78cca0e7",tabPanel:"tabPanel_75147a5806",animationDirectionRtl:"animationDirectionRtl_5fa0c49198",animationDirectionLtr:"animationDirectionLtr_b25cf1c7bd",active:"active_b08b39b8da",panelSlideIn:"panelSlideIn_8b09faea94"};!function(a){const e="s_id-078bacbdb1e4_4_5_12";if("undefined"!=typeof document){const n=document.head||document.getElementsByTagName("head")[0];if(n.querySelector("#"+e))return;const t=document.createElement("style");t.id=e,n.firstChild?n.insertBefore(t,n.firstChild):n.appendChild(t),t.appendChild(document.createTextNode(a))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=a)}("/* stylelint-disable */\n/* stylelint-enable */\n.tabPanelsWrapper_4a78cca0e7 .tabPanel_75147a5806 {\n display: none;\n}\n.tabPanelsWrapper_4a78cca0e7 .tabPanel_75147a5806.animationDirectionRtl_5fa0c49198 {\n transform: translateX(8px);\n}\n.tabPanelsWrapper_4a78cca0e7 .tabPanel_75147a5806.animationDirectionLtr_b25cf1c7bd {\n transform: translateX(-8px);\n}\n.tabPanelsWrapper_4a78cca0e7 .tabPanel_75147a5806.active_b08b39b8da {\n display: block;\n animation: panelSlideIn_8b09faea94 var(--motion-productive-long) forwards var(--motion-timing-enter);\n}\n@keyframes panelSlideIn_8b09faea94 {\n 100% {\n transform: translateX(0%);\n }\n}");export{a as default};
2
- //# sourceMappingURL=TabPanels.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabPanels.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as r,useRef as a,useState as i,useEffect as n,useCallback as o,useMemo as s}from"react";import{getTestId as l,ComponentDefaultTestId as d}from"../../../tests/testIds.js";import c from"../../../../hooks/dist/usePrevious/index.js";import{useMergeRef as u}from"../../../../shared/dist/hooks/useMergeRef.js";var f=r((function(r,f){var p=r.className,m=r.id,h=r.activeTabId,v=void 0===h?0:h,T=r.children,b=r["data-testid"],C=a(null),E=u(f,C),I=i(v),P=e(I,2),g=P[0],j=P[1],y=i(v),N=e(y,2),_=N[0],k=N[1],x=c(v);n((function(){v!==x&&v!==_&&(j(_),k(v))}),[v,_,x]);var A=o((function(e){j(_),k(e)}),[_]),B=s((function(){var e=[];return t.Children.forEach(T,(function(r){r.type.isTabPanels&&t.Children.forEach(r.props.children,(function(t,r){e[r]=t.props.id}))})),e}),[T]);return t.createElement("div",{ref:E,className:p,id:m,"data-testid":b||l(d.TABS_CONTEXT,m)},t.Children.map(T,(function(e){if(e.type.isTabList){var r=e.props.onTabChange;return t.cloneElement(e,{activeTabId:_,onTabChange:function(e){A(e),null==r||r(e)},tabPanelIds:B})}return e.type.isTabPanels?t.cloneElement(e,{activeTabId:_,animationDirection:_>g?"ltr":"rtl"}):e})))}));export{f as default};
2
- //# sourceMappingURL=TabsContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabsContext.js","sources":["../../../../../src/components/Tabs/TabsContext/TabsContext.tsx"],"sourcesContent":["import React, {\n type FC,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n useMemo\n} from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { usePrevious } from \"@vibe/hooks\";\nimport type VibeComponentProps from \"../../../types/VibeComponentProps\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nexport interface TabsContextProps extends VibeComponentProps {\n /**\n * The index of the currently active tab.\n */\n activeTabId?: number;\n /**\n * The child elements representing the tab list and tab panels.\n */\n children?: ReactElement | ReactElement[];\n}\n\ntype TabsChild = ReactElement & {\n type: Record<string, unknown>;\n};\n\nconst TabsContext: FC<TabsContextProps> = forwardRef(\n ({ className, id, activeTabId = 0, children, \"data-testid\": dataTestId }, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n const [previousActiveTabIdState, setPreviousActiveTabIdState] = useState(activeTabId);\n const [activeTabIdState, setActiveTabIdState] = useState(activeTabId);\n const prevActiveTabIdProp = usePrevious(activeTabId);\n\n useEffect(() => {\n // Update active tab if changed from props\n if (activeTabId !== prevActiveTabIdProp && activeTabId !== activeTabIdState) {\n setPreviousActiveTabIdState(activeTabIdState);\n setActiveTabIdState(activeTabId);\n }\n }, [activeTabId, activeTabIdState, prevActiveTabIdProp]);\n\n const onTabClick = useCallback(\n (tabId: number) => {\n setPreviousActiveTabIdState(activeTabIdState);\n setActiveTabIdState(tabId);\n },\n [activeTabIdState]\n );\n\n // Collect TabPanel ids for aria-controls relationship\n const tabPanelIds = useMemo(() => {\n const ids: string[] = [];\n React.Children.forEach(children, (child: TabsChild) => {\n if (child.type.isTabPanels) {\n React.Children.forEach(child.props.children, (panelChild: ReactElement, index: number) => {\n ids[index] = panelChild.props.id;\n });\n }\n });\n return ids;\n }, [children]);\n\n return (\n <div\n ref={mergedRef}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.TABS_CONTEXT, id)}\n >\n {React.Children.map(children, (child: TabsChild) => {\n if (child.type.isTabList) {\n const originalOnTabChange = child.props.onTabChange;\n const onTabChange = (tabId: number) => {\n onTabClick(tabId);\n originalOnTabChange?.(tabId);\n };\n return React.cloneElement(child, { activeTabId: activeTabIdState, onTabChange, tabPanelIds });\n }\n if (child.type.isTabPanels) {\n const animationDirection = previousActiveTabIdState < activeTabIdState ? \"ltr\" : \"rtl\";\n return React.cloneElement(child, { activeTabId: activeTabIdState, animationDirection });\n }\n return child;\n })}\n </div>\n );\n }\n);\n\nexport default TabsContext;\n"],"names":["TabsContext","forwardRef","_ref","ref","className","id","_ref$activeTabId","activeTabId","children","dataTestId","componentRef","useRef","mergedRef","useMergeRef","_useState","useState","_useState2","_slicedToArray","previousActiveTabIdState","setPreviousActiveTabIdState","_useState3","_useState4","activeTabIdState","setActiveTabIdState","prevActiveTabIdProp","usePrevious","useEffect","onTabClick","useCallback","tabId","tabPanelIds","useMemo","ids","React","Children","forEach","child","type","isTabPanels","props","panelChild","index","createElement","getTestId","ComponentDefaultTestId","TABS_CONTEXT","map","isTabList","originalOnTabChange","onTabChange","cloneElement","animationDirection"],"mappings":"uZA8BMA,IAAAA,EAAoCC,GACxC,SAAAC,EAA0EC,GAAO,IAA9EC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAEC,EAAAJ,EAAEK,YAAAA,OAAc,IAAHD,EAAG,EAACA,EAAEE,EAAQN,EAARM,SAAyBC,EAAUP,EAAzB,eACrCQ,EAAeC,EAAO,MACtBC,EAAYC,EAAYV,EAAKO,GAEnCI,EAAgEC,EAASR,GAAYS,EAAAC,EAAAH,EAAA,GAA9EI,EAAwBF,EAAA,GAAEG,EAA2BH,EAAA,GAC5DI,EAAgDL,EAASR,GAAYc,EAAAJ,EAAAG,EAAA,GAA9DE,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GACtCG,EAAsBC,EAAYlB,GAExCmB,GAAU,WAEJnB,IAAgBiB,GAAuBjB,IAAgBe,IACzDH,EAA4BG,GAC5BC,EAAoBhB,GAEvB,GAAE,CAACA,EAAae,EAAkBE,IAEnC,IAAMG,EAAaC,GACjB,SAACC,GACCV,EAA4BG,GAC5BC,EAAoBM,EACtB,GACA,CAACP,IAIGQ,EAAcC,GAAQ,WAC1B,IAAMC,EAAgB,GAQtB,OAPAC,EAAMC,SAASC,QAAQ3B,GAAU,SAAC4B,GAC5BA,EAAMC,KAAKC,aACbL,EAAMC,SAASC,QAAQC,EAAMG,MAAM/B,UAAU,SAACgC,EAA0BC,GACtET,EAAIS,GAASD,EAAWD,MAAMlC,EAChC,GAEJ,IACO2B,CACT,GAAG,CAACxB,IAEJ,OACEyB,EACES,cAAA,MAAA,CAAAvC,IAAKS,EACLR,UAAWA,EACXC,GAAIA,EACS,cAAAI,GAAckC,EAAUC,EAAuBC,aAAcxC,IAEzE4B,EAAMC,SAASY,IAAItC,GAAU,SAAC4B,GAC7B,GAAIA,EAAMC,KAAKU,UAAW,CACxB,IAAMC,EAAsBZ,EAAMG,MAAMU,YAKxC,OAAOhB,EAAMiB,aAAad,EAAO,CAAE7B,YAAae,EAAkB2B,YAJ9C,SAACpB,GACnBF,EAAWE,GACXmB,SAAAA,EAAsBnB,IAEuDC,YAAAA,GACjF,CACA,OAAIM,EAAMC,KAAKC,YAENL,EAAMiB,aAAad,EAAO,CAAE7B,YAAae,EAAkB6B,mBADZ7B,EAA3BJ,EAA8C,MAAQ,QAG5EkB,CACR,IAGP"}