@vibe/core 4.5.5 → 4.5.6

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 (355) hide show
  1. package/dist/components/checkbox/dist/Checkbox/Checkbox.js +2 -0
  2. package/dist/components/checkbox/dist/Checkbox/Checkbox.js.map +1 -0
  3. package/dist/components/checkbox/dist/Checkbox/Checkbox.module.scss.js +2 -0
  4. package/dist/components/checkbox/dist/Checkbox/hooks/useSupportFirefoxLabelClick.js +2 -0
  5. package/dist/components/checkbox/dist/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +1 -0
  6. package/dist/components/divider/dist/Divider/Divider.module.scss.js +1 -1
  7. package/dist/components/formatted-number/dist/FormattedNumber/FormattedNumber.js +2 -0
  8. package/dist/components/formatted-number/dist/FormattedNumber/FormattedNumber.js.map +1 -0
  9. package/dist/components/formatted-number/dist/FormattedNumber/FormattedNumber.module.scss.js +2 -0
  10. package/dist/components/formatted-number/dist/FormattedNumber/FormattedNumberHelpers.js +2 -0
  11. package/dist/components/formatted-number/dist/FormattedNumber/FormattedNumberHelpers.js.map +1 -0
  12. package/dist/components/formatted-number/dist/FormattedNumber/textManipulations.js +2 -0
  13. package/dist/components/formatted-number/dist/FormattedNumber/textManipulations.js.map +1 -0
  14. package/dist/components/index.d.ts +2 -2
  15. package/dist/metadata/components.json +2 -2
  16. package/dist/metadata.json +2 -2
  17. package/dist/mocked_classnames/components/index.d.ts +2 -2
  18. package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
  19. package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
  20. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
  21. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
  22. package/dist/mocked_classnames/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
  23. package/dist/mocked_classnames/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
  24. package/dist/mocked_classnames/src/components/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.module.scss.js +1 -1
  25. package/dist/mocked_classnames/src/components/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.module.scss.js +1 -1
  26. package/dist/mocked_classnames/src/components/AttentionBox/components/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
  27. package/dist/mocked_classnames/src/components/AttentionBox/layouts/AttentionBoxCompact/AttentionBoxCompact.module.scss.js +1 -1
  28. package/dist/mocked_classnames/src/components/AttentionBox/layouts/AttentionBoxDefault/AttentionBoxDefault.module.scss.js +1 -1
  29. package/dist/mocked_classnames/src/components/Avatar/Avatar.module.scss.js +1 -1
  30. package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.module.scss.js +1 -1
  31. package/dist/mocked_classnames/src/components/Avatar/AvatarContent.module.scss.js +1 -1
  32. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
  33. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
  34. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
  35. package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
  36. package/dist/mocked_classnames/src/components/Badge/Badge.module.scss.js +1 -1
  37. package/dist/mocked_classnames/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
  38. package/dist/mocked_classnames/src/components/BaseItem/BaseItem.module.scss.js +1 -1
  39. package/dist/mocked_classnames/src/components/BaseList/BaseList.module.scss.js +1 -1
  40. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
  41. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
  42. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbsMenu.module.scss.js +1 -1
  43. package/dist/mocked_classnames/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
  44. package/dist/mocked_classnames/src/components/Chips/Chips.module.scss.js +1 -1
  45. package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.module.scss.js +1 -1
  46. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
  47. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
  48. package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
  49. package/dist/mocked_classnames/src/components/Combobox/Combobox.module.scss.js +1 -1
  50. package/dist/mocked_classnames/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
  51. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
  52. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
  53. package/dist/mocked_classnames/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
  54. package/dist/mocked_classnames/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
  55. package/dist/mocked_classnames/src/components/Counter/Counter.module.scss.js +1 -1
  56. package/dist/mocked_classnames/src/components/DatePicker/DatePicker.module.scss.js +1 -1
  57. package/dist/mocked_classnames/src/components/DatePicker/DatePickerHeader.module.scss.js +1 -1
  58. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownBase/DropdownBase.module.scss.js +1 -1
  59. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownBaseList/DropdownBaseList.module.scss.js +1 -1
  60. package/dist/mocked_classnames/src/components/Dropdown/components/DropdownBoxMode/DropdownBoxMode.module.scss.js +1 -1
  61. package/dist/mocked_classnames/src/components/Dropdown/components/Menu/Menu.module.scss.js +1 -1
  62. package/dist/mocked_classnames/src/components/Dropdown/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +1 -1
  63. package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/Trigger.module.scss.js +1 -1
  64. package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.module.scss.js +1 -1
  65. package/dist/mocked_classnames/src/components/EditableText/EditableText.module.scss.js +1 -1
  66. package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.module.scss.js +1 -1
  67. package/dist/mocked_classnames/src/components/EmptyState/EmptyState.module.scss.js +1 -1
  68. package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
  69. package/dist/mocked_classnames/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
  70. package/dist/mocked_classnames/src/components/HiddenText/HiddenText.module.scss.js +1 -1
  71. package/dist/mocked_classnames/src/components/Info/components/InfoDialogContent/InfoDialogContent.module.scss.js +1 -1
  72. package/dist/mocked_classnames/src/components/Info/components/InfoLink/InfoLink.module.scss.js +1 -1
  73. package/dist/mocked_classnames/src/components/InfoText/InfoText.module.scss.js +1 -1
  74. package/dist/mocked_classnames/src/components/Label/Label.module.scss.js +1 -1
  75. package/dist/mocked_classnames/src/components/Label/LabelCelebrationAnimation.module.scss.js +1 -1
  76. package/dist/mocked_classnames/src/components/Link/Link.module.scss.js +1 -1
  77. package/dist/mocked_classnames/src/components/List/List.module.scss.js +1 -1
  78. package/dist/mocked_classnames/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
  79. package/dist/mocked_classnames/src/components/ListItem/ListItem.module.scss.js +1 -1
  80. package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
  81. package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
  82. package/dist/mocked_classnames/src/components/ListTitle/ListTitle.module.scss.js +1 -1
  83. package/dist/mocked_classnames/src/components/Menu/Menu/Menu.module.scss.js +1 -1
  84. package/dist/mocked_classnames/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
  85. package/dist/mocked_classnames/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
  86. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.module.scss.js +1 -1
  87. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.module.scss.js +1 -1
  88. package/dist/mocked_classnames/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.module.scss.js +1 -1
  89. package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
  90. package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
  91. package/dist/mocked_classnames/src/components/MenuButton/MenuButton.module.scss.js +1 -1
  92. package/dist/mocked_classnames/src/components/Modal/Modal/Modal.module.scss.js +1 -1
  93. package/dist/mocked_classnames/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
  94. package/dist/mocked_classnames/src/components/Modal/ModalMedia/ModalMedia.module.scss.js +1 -1
  95. package/dist/mocked_classnames/src/components/Modal/ModalTopActions/ModalTopActions.module.scss.js +1 -1
  96. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooter/ModalFooter.module.scss.js +1 -1
  97. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.module.scss.js +1 -1
  98. package/dist/mocked_classnames/src/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.module.scss.js +1 -1
  99. package/dist/mocked_classnames/src/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.module.scss.js +1 -1
  100. package/dist/mocked_classnames/src/components/Modal/layouts/ModalFooterShadow.module.scss.js +1 -1
  101. package/dist/mocked_classnames/src/components/Modal/layouts/ModalLayoutScrollableContent.module.scss.js +1 -1
  102. package/dist/mocked_classnames/src/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.module.scss.js +1 -1
  103. package/dist/mocked_classnames/src/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.module.scss.js +1 -1
  104. package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
  105. package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
  106. package/dist/mocked_classnames/src/components/NumberField/NumberField.module.scss.js +1 -1
  107. package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.module.scss.js +1 -1
  108. package/dist/mocked_classnames/src/components/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
  109. package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/Bar/Bar.module.scss.js +1 -1
  110. package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/ProgressBar.module.scss.js +1 -1
  111. package/dist/mocked_classnames/src/components/RadioButton/RadioButton.module.scss.js +1 -1
  112. package/dist/mocked_classnames/src/components/Search/Search.module.scss.js +1 -1
  113. package/dist/mocked_classnames/src/components/Skeleton/Skeleton.module.scss.js +1 -1
  114. package/dist/mocked_classnames/src/components/SlideTransition/SlideTransition.module.scss.js +1 -1
  115. package/dist/mocked_classnames/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
  116. package/dist/mocked_classnames/src/components/Slider/Slider.module.scss.js +1 -1
  117. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
  118. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
  119. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
  120. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
  121. package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
  122. package/dist/mocked_classnames/src/components/Slider/SliderInfix.module.scss.js +1 -1
  123. package/dist/mocked_classnames/src/components/SplitButton/SplitButton.module.scss.js +1 -1
  124. package/dist/mocked_classnames/src/components/Steps/Steps.module.scss.js +1 -1
  125. package/dist/mocked_classnames/src/components/Steps/StepsCommand.module.scss.js +1 -1
  126. package/dist/mocked_classnames/src/components/Steps/StepsDot.module.scss.js +1 -1
  127. package/dist/mocked_classnames/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
  128. package/dist/mocked_classnames/src/components/Steps/StepsHeader.module.scss.js +1 -1
  129. package/dist/mocked_classnames/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
  130. package/dist/mocked_classnames/src/components/Switch/Switch.module.scss.js +1 -1
  131. package/dist/mocked_classnames/src/components/Table/Table/Table.module.scss.js +1 -1
  132. package/dist/mocked_classnames/src/components/Table/TableBody/TableBody.module.scss.js +1 -1
  133. package/dist/mocked_classnames/src/components/Table/TableCell/TableCell.module.scss.js +1 -1
  134. package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.module.scss.js +1 -1
  135. package/dist/mocked_classnames/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
  136. package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.module.scss.js +1 -1
  137. package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.module.scss.js +1 -1
  138. package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.module.scss.js +1 -1
  139. package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.module.scss.js +1 -1
  140. package/dist/mocked_classnames/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.module.scss.js +1 -1
  141. package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.module.scss.js +1 -1
  142. package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.module.scss.js +1 -1
  143. package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.module.scss.js +1 -1
  144. package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.module.scss.js +1 -1
  145. package/dist/mocked_classnames/src/components/TextArea/TextArea.module.scss.js +1 -1
  146. package/dist/mocked_classnames/src/components/TextField/TextField.module.scss.js +1 -1
  147. package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
  148. package/dist/mocked_classnames/src/components/Tipseen/Tipseen.module.scss.js +1 -1
  149. package/dist/mocked_classnames/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
  150. package/dist/mocked_classnames/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
  151. package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
  152. package/dist/mocked_classnames/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
  153. package/dist/mocked_classnames/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
  154. package/dist/mocked_classnames/src/components/Toast/Toast.module.scss.js +1 -1
  155. package/dist/mocked_classnames/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
  156. package/dist/mocked_classnames/src/components/Toggle/MockToggle.module.scss.js +1 -1
  157. package/dist/mocked_classnames/src/components/Toggle/Toggle.module.scss.js +1 -1
  158. package/dist/mocked_classnames/src/components/Toggle/ToggleText.module.scss.js +1 -1
  159. package/dist/mocked_classnames/src/components/TransitionView/TransitionView.module.scss.js +1 -1
  160. package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
  161. package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
  162. package/dist/mocked_classnames/src/components/next/List/List.module.scss.js +1 -1
  163. package/dist/mocked_classnames/src/components/next/List/ListTitle/ListTitle.module.scss.js +1 -1
  164. package/dist/mocked_classnames/src/index.js +1 -1
  165. package/dist/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
  166. package/dist/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
  167. package/dist/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
  168. package/dist/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
  169. package/dist/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
  170. package/dist/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
  171. package/dist/src/components/AttentionBox/components/AttentionBoxCloseButton/AttentionBoxCloseButton.module.scss.js +1 -1
  172. package/dist/src/components/AttentionBox/components/AttentionBoxLeadingIcon/AttentionBoxLeadingIcon.module.scss.js +1 -1
  173. package/dist/src/components/AttentionBox/components/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
  174. package/dist/src/components/AttentionBox/layouts/AttentionBoxCompact/AttentionBoxCompact.module.scss.js +1 -1
  175. package/dist/src/components/AttentionBox/layouts/AttentionBoxDefault/AttentionBoxDefault.module.scss.js +1 -1
  176. package/dist/src/components/Avatar/Avatar.module.scss.js +1 -1
  177. package/dist/src/components/Avatar/AvatarBadge.module.scss.js +1 -1
  178. package/dist/src/components/Avatar/AvatarContent.module.scss.js +1 -1
  179. package/dist/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
  180. package/dist/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
  181. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
  182. package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
  183. package/dist/src/components/Badge/Badge.module.scss.js +1 -1
  184. package/dist/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
  185. package/dist/src/components/BaseItem/BaseItem.module.scss.js +1 -1
  186. package/dist/src/components/BaseList/BaseList.module.scss.js +1 -1
  187. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
  188. package/dist/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
  189. package/dist/src/components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbsMenu.module.scss.js +1 -1
  190. package/dist/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
  191. package/dist/src/components/Chips/Chips.module.scss.js +1 -1
  192. package/dist/src/components/ColorPicker/ColorPicker.module.scss.js +1 -1
  193. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
  194. package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
  195. package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
  196. package/dist/src/components/Combobox/Combobox.module.scss.js +1 -1
  197. package/dist/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
  198. package/dist/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
  199. package/dist/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
  200. package/dist/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
  201. package/dist/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
  202. package/dist/src/components/Counter/Counter.module.scss.js +1 -1
  203. package/dist/src/components/DatePicker/DatePicker.module.scss.js +1 -1
  204. package/dist/src/components/DatePicker/DatePickerHeader.module.scss.js +1 -1
  205. package/dist/src/components/Dropdown/components/DropdownBase/DropdownBase.module.scss.js +1 -1
  206. package/dist/src/components/Dropdown/components/DropdownBaseList/DropdownBaseList.module.scss.js +1 -1
  207. package/dist/src/components/Dropdown/components/DropdownBoxMode/DropdownBoxMode.module.scss.js +1 -1
  208. package/dist/src/components/Dropdown/components/Menu/Menu.module.scss.js +1 -1
  209. package/dist/src/components/Dropdown/components/MultiSelectedValues/MultiSelectedValues.module.scss.js +1 -1
  210. package/dist/src/components/Dropdown/components/Trigger/Trigger.module.scss.js +1 -1
  211. package/dist/src/components/EditableHeading/EditableHeading.module.scss.js +1 -1
  212. package/dist/src/components/EditableText/EditableText.module.scss.js +1 -1
  213. package/dist/src/components/EditableTypography/EditableTypography.module.scss.js +1 -1
  214. package/dist/src/components/EmptyState/EmptyState.module.scss.js +1 -1
  215. package/dist/src/components/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
  216. package/dist/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
  217. package/dist/src/components/HiddenText/HiddenText.module.scss.js +1 -1
  218. package/dist/src/components/Info/components/InfoDialogContent/InfoDialogContent.module.scss.js +1 -1
  219. package/dist/src/components/Info/components/InfoLink/InfoLink.module.scss.js +1 -1
  220. package/dist/src/components/InfoText/InfoText.module.scss.js +1 -1
  221. package/dist/src/components/Label/Label.module.scss.js +1 -1
  222. package/dist/src/components/Label/LabelCelebrationAnimation.module.scss.js +1 -1
  223. package/dist/src/components/Link/Link.module.scss.js +1 -1
  224. package/dist/src/components/List/List.module.scss.js +1 -1
  225. package/dist/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
  226. package/dist/src/components/ListItem/ListItem.module.scss.js +1 -1
  227. package/dist/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
  228. package/dist/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
  229. package/dist/src/components/ListTitle/ListTitle.module.scss.js +1 -1
  230. package/dist/src/components/Menu/Menu/Menu.module.scss.js +1 -1
  231. package/dist/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
  232. package/dist/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
  233. package/dist/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.module.scss.js +1 -1
  234. package/dist/src/components/Menu/MenuItem/components/MenuItemIcon/MenuItemIcon.module.scss.js +1 -1
  235. package/dist/src/components/Menu/MenuItem/components/MenuItemSubMenuIcon/MenuItemSubMenuIcon.module.scss.js +1 -1
  236. package/dist/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
  237. package/dist/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
  238. package/dist/src/components/MenuButton/MenuButton.module.scss.js +1 -1
  239. package/dist/src/components/Modal/Modal/Modal.module.scss.js +1 -1
  240. package/dist/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
  241. package/dist/src/components/Modal/ModalMedia/ModalMedia.module.scss.js +1 -1
  242. package/dist/src/components/Modal/ModalTopActions/ModalTopActions.module.scss.js +1 -1
  243. package/dist/src/components/Modal/footers/ModalFooter/ModalFooter.module.scss.js +1 -1
  244. package/dist/src/components/Modal/footers/ModalFooterBase/ModalFooterBase.module.scss.js +1 -1
  245. package/dist/src/components/Modal/footers/ModalFooterWizard/ModalFooterWizard.module.scss.js +1 -1
  246. package/dist/src/components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.module.scss.js +1 -1
  247. package/dist/src/components/Modal/layouts/ModalFooterShadow.module.scss.js +1 -1
  248. package/dist/src/components/Modal/layouts/ModalLayoutScrollableContent.module.scss.js +1 -1
  249. package/dist/src/components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.module.scss.js +1 -1
  250. package/dist/src/components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.module.scss.js +1 -1
  251. package/dist/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
  252. package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
  253. package/dist/src/components/NumberField/NumberField.module.scss.js +1 -1
  254. package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.module.scss.js +1 -1
  255. package/dist/src/components/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
  256. package/dist/src/components/ProgressBars/ProgressBar/Bar/Bar.module.scss.js +1 -1
  257. package/dist/src/components/ProgressBars/ProgressBar/ProgressBar.module.scss.js +1 -1
  258. package/dist/src/components/RadioButton/RadioButton.module.scss.js +1 -1
  259. package/dist/src/components/Search/Search.module.scss.js +1 -1
  260. package/dist/src/components/Skeleton/Skeleton.module.scss.js +1 -1
  261. package/dist/src/components/SlideTransition/SlideTransition.module.scss.js +1 -1
  262. package/dist/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
  263. package/dist/src/components/Slider/Slider.module.scss.js +1 -1
  264. package/dist/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
  265. package/dist/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
  266. package/dist/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
  267. package/dist/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
  268. package/dist/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
  269. package/dist/src/components/Slider/SliderInfix.module.scss.js +1 -1
  270. package/dist/src/components/SplitButton/SplitButton.module.scss.js +1 -1
  271. package/dist/src/components/Steps/Steps.module.scss.js +1 -1
  272. package/dist/src/components/Steps/StepsCommand.module.scss.js +1 -1
  273. package/dist/src/components/Steps/StepsDot.module.scss.js +1 -1
  274. package/dist/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
  275. package/dist/src/components/Steps/StepsHeader.module.scss.js +1 -1
  276. package/dist/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
  277. package/dist/src/components/Switch/Switch.module.scss.js +1 -1
  278. package/dist/src/components/Table/Table/Table.module.scss.js +1 -1
  279. package/dist/src/components/Table/TableBody/TableBody.module.scss.js +1 -1
  280. package/dist/src/components/Table/TableCell/TableCell.module.scss.js +1 -1
  281. package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.module.scss.js +1 -1
  282. package/dist/src/components/Table/TableContainer/TableContainer.module.scss.js +1 -1
  283. package/dist/src/components/Table/TableHeader/TableHeader.module.scss.js +1 -1
  284. package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.module.scss.js +1 -1
  285. package/dist/src/components/Table/TableRow/TableRow.module.scss.js +1 -1
  286. package/dist/src/components/Table/TableRowMenu/TableRowMenu.module.scss.js +1 -1
  287. package/dist/src/components/Table/TableVirtualizedBody/TableVirtualizedBody.module.scss.js +1 -1
  288. package/dist/src/components/Tabs/Tab/Tab.module.scss.js +1 -1
  289. package/dist/src/components/Tabs/TabList/TabList.module.scss.js +1 -1
  290. package/dist/src/components/Tabs/TabPanel/TabPanel.module.scss.js +1 -1
  291. package/dist/src/components/Tabs/TabPanels/TabPanels.module.scss.js +1 -1
  292. package/dist/src/components/TextArea/TextArea.module.scss.js +1 -1
  293. package/dist/src/components/TextField/TextField.module.scss.js +1 -1
  294. package/dist/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
  295. package/dist/src/components/Tipseen/Tipseen.module.scss.js +1 -1
  296. package/dist/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
  297. package/dist/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
  298. package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
  299. package/dist/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
  300. package/dist/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
  301. package/dist/src/components/Toast/Toast.module.scss.js +1 -1
  302. package/dist/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
  303. package/dist/src/components/Toggle/MockToggle.module.scss.js +1 -1
  304. package/dist/src/components/Toggle/Toggle.module.scss.js +1 -1
  305. package/dist/src/components/Toggle/ToggleText.module.scss.js +1 -1
  306. package/dist/src/components/TransitionView/TransitionView.module.scss.js +1 -1
  307. package/dist/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
  308. package/dist/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
  309. package/dist/src/components/next/List/List.module.scss.js +1 -1
  310. package/dist/src/components/next/List/ListTitle/ListTitle.module.scss.js +1 -1
  311. package/dist/src/index.js +1 -1
  312. package/dist/style/dist/index.min.css.js +1 -1
  313. package/package.json +4 -2
  314. package/dist/components/Checkbox/Checkbox.d.ts +0 -67
  315. package/dist/components/Checkbox/hooks/useSupportFirefoxLabelClick.d.ts +0 -6
  316. package/dist/components/Checkbox/index.d.ts +0 -1
  317. package/dist/components/FormattedNumber/FormattedNumber.d.ts +0 -38
  318. package/dist/components/FormattedNumber/FormattedNumberHelpers.d.ts +0 -4
  319. package/dist/components/FormattedNumber/index.d.ts +0 -1
  320. package/dist/helpers/textManipulations.d.ts +0 -10
  321. package/dist/mocked_classnames/components/Checkbox/Checkbox.d.ts +0 -67
  322. package/dist/mocked_classnames/components/Checkbox/hooks/useSupportFirefoxLabelClick.d.ts +0 -6
  323. package/dist/mocked_classnames/components/Checkbox/index.d.ts +0 -1
  324. package/dist/mocked_classnames/components/FormattedNumber/FormattedNumber.d.ts +0 -38
  325. package/dist/mocked_classnames/components/FormattedNumber/FormattedNumberHelpers.d.ts +0 -4
  326. package/dist/mocked_classnames/components/FormattedNumber/index.d.ts +0 -1
  327. package/dist/mocked_classnames/helpers/textManipulations.d.ts +0 -10
  328. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js +0 -2
  329. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js.map +0 -1
  330. package/dist/mocked_classnames/src/components/Checkbox/Checkbox.module.scss.js +0 -2
  331. package/dist/mocked_classnames/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js +0 -2
  332. package/dist/mocked_classnames/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +0 -1
  333. package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumber.js +0 -2
  334. package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumber.js.map +0 -1
  335. package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumber.module.scss.js +0 -2
  336. package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumberHelpers.js +0 -2
  337. package/dist/mocked_classnames/src/components/FormattedNumber/FormattedNumberHelpers.js.map +0 -1
  338. package/dist/mocked_classnames/src/helpers/textManipulations.js +0 -2
  339. package/dist/mocked_classnames/src/helpers/textManipulations.js.map +0 -1
  340. package/dist/src/components/Checkbox/Checkbox.js +0 -2
  341. package/dist/src/components/Checkbox/Checkbox.js.map +0 -1
  342. package/dist/src/components/Checkbox/Checkbox.module.scss.js +0 -2
  343. package/dist/src/components/Checkbox/Checkbox.module.scss.js.map +0 -1
  344. package/dist/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js +0 -2
  345. package/dist/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +0 -1
  346. package/dist/src/components/FormattedNumber/FormattedNumber.js +0 -2
  347. package/dist/src/components/FormattedNumber/FormattedNumber.js.map +0 -1
  348. package/dist/src/components/FormattedNumber/FormattedNumber.module.scss.js +0 -2
  349. package/dist/src/components/FormattedNumber/FormattedNumber.module.scss.js.map +0 -1
  350. package/dist/src/components/FormattedNumber/FormattedNumberHelpers.js +0 -2
  351. package/dist/src/components/FormattedNumber/FormattedNumberHelpers.js.map +0 -1
  352. package/dist/src/helpers/textManipulations.js +0 -2
  353. package/dist/src/helpers/textManipulations.js.map +0 -1
  354. /package/dist/{mocked_classnames/src/components → components/checkbox/dist}/Checkbox/Checkbox.module.scss.js.map +0 -0
  355. /package/dist/{mocked_classnames/src/components → components/formatted-number/dist}/FormattedNumber/FormattedNumber.module.scss.js.map +0 -0
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- import { type VibeComponentProps } from "../../types";
3
- export interface FormattedNumberProps extends VibeComponentProps {
4
- /**
5
- * The numeric value to format.
6
- */
7
- value?: number | string;
8
- /**
9
- * The text displayed before the number.
10
- */
11
- prefix?: string;
12
- /**
13
- * The text displayed after the number.
14
- */
15
- suffix?: string;
16
- /**
17
- * The text displayed when no value is provided.
18
- */
19
- emptyPlaceHolder?: string;
20
- /**
21
- * The number of decimal places to display (0 ~ 20).
22
- */
23
- decimalPrecision?: number;
24
- /**
25
- * If true, formats the number into a compact notation.
26
- */
27
- compact?: boolean;
28
- /**
29
- * The locale used for formatting (Unicode BCP 47 locale identifier).
30
- */
31
- local?: string;
32
- /**
33
- * If true, reverses the order of the prefix and suffix.
34
- */
35
- rtl?: boolean;
36
- }
37
- declare const FormattedNumber: React.ForwardRefExoticComponent<FormattedNumberProps & React.RefAttributes<HTMLDivElement>>;
38
- export default FormattedNumber;
@@ -1,4 +0,0 @@
1
- export declare const validateValue: (value: number | string) => boolean;
2
- export declare const customPropTypes: Readonly<{
3
- range: (min: number, max: number) => (props: Record<string, number>, propName: string, componentName: string) => Error;
4
- }>;
@@ -1 +0,0 @@
1
- export { default as FormattedNumber, type FormattedNumberProps } from "./FormattedNumber";
@@ -1,10 +0,0 @@
1
- export declare const formatNumberConsts: Readonly<{
2
- MIN_PRECISION: 0;
3
- MAX_PRECISION: 20;
4
- DEFAULT_LOCAL: "en-US";
5
- }>;
6
- export declare function formatNumber(value: number, { local, isCompact, precision }?: {
7
- local?: Intl.Locale["language"];
8
- isCompact?: boolean;
9
- precision?: number;
10
- }): string;
@@ -1,67 +0,0 @@
1
- import React from "react";
2
- import { type VibeComponentProps } from "../../types";
3
- export interface CheckBoxProps extends VibeComponentProps {
4
- /**
5
- * Class name applied to the checkbox element.
6
- */
7
- checkboxClassName?: string;
8
- /**
9
- * Class name applied to the label element.
10
- */
11
- labelClassName?: string;
12
- /**
13
- * The label of the checkbox for accessibility.
14
- */
15
- "aria-label"?: string;
16
- /**
17
- * The content displayed next to the checkbox.
18
- */
19
- label?: React.ReactNode | Array<React.ReactNode>;
20
- /**
21
- * The ID of an element describing the checkbox.
22
- */
23
- "aria-labelledby"?: string;
24
- /**
25
- * Callback fired when the checkbox value changes.
26
- */
27
- onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
28
- /**
29
- * If true, controls the checked state of the checkbox.
30
- */
31
- checked?: boolean;
32
- /**
33
- * If true, displays an indeterminate state.
34
- */
35
- indeterminate?: boolean;
36
- /**
37
- * If true, the checkbox automatically receives focus.
38
- */
39
- autoFocus?: boolean;
40
- /**
41
- * If true, the checkbox is disabled.
42
- */
43
- disabled?: boolean;
44
- /**
45
- * The initial checked state of the checkbox.
46
- */
47
- defaultChecked?: boolean;
48
- /**
49
- * The value submitted with the form when checked.
50
- */
51
- value?: string;
52
- /**
53
- * The name of the checkbox, used for form submission.
54
- */
55
- name?: string;
56
- /**
57
- * The tab order of the checkbox.
58
- */
59
- tabIndex?: number;
60
- /**
61
- * If true, uses separate labels with htmlFor/id association instead of wrapping the input.
62
- * If using this the id prop is required for it to function correctly.
63
- */
64
- separateLabel?: boolean;
65
- }
66
- declare const Checkbox: React.ForwardRefExoticComponent<CheckBoxProps & React.RefAttributes<HTMLInputElement>>;
67
- export default Checkbox;
@@ -1,6 +0,0 @@
1
- import type React from "react";
2
- export declare function useSupportFirefoxLabelClick({ inputRef }: {
3
- inputRef: React.RefObject<HTMLInputElement>;
4
- }): {
5
- onClickCapture: (e: React.MouseEvent) => void;
6
- };
@@ -1 +0,0 @@
1
- export { default as Checkbox, type CheckBoxProps as CheckboxProps } from "./Checkbox";
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- import { type VibeComponentProps } from "../../types";
3
- export interface FormattedNumberProps extends VibeComponentProps {
4
- /**
5
- * The numeric value to format.
6
- */
7
- value?: number | string;
8
- /**
9
- * The text displayed before the number.
10
- */
11
- prefix?: string;
12
- /**
13
- * The text displayed after the number.
14
- */
15
- suffix?: string;
16
- /**
17
- * The text displayed when no value is provided.
18
- */
19
- emptyPlaceHolder?: string;
20
- /**
21
- * The number of decimal places to display (0 ~ 20).
22
- */
23
- decimalPrecision?: number;
24
- /**
25
- * If true, formats the number into a compact notation.
26
- */
27
- compact?: boolean;
28
- /**
29
- * The locale used for formatting (Unicode BCP 47 locale identifier).
30
- */
31
- local?: string;
32
- /**
33
- * If true, reverses the order of the prefix and suffix.
34
- */
35
- rtl?: boolean;
36
- }
37
- declare const FormattedNumber: React.ForwardRefExoticComponent<FormattedNumberProps & React.RefAttributes<HTMLDivElement>>;
38
- export default FormattedNumber;
@@ -1,4 +0,0 @@
1
- export declare const validateValue: (value: number | string) => boolean;
2
- export declare const customPropTypes: Readonly<{
3
- range: (min: number, max: number) => (props: Record<string, number>, propName: string, componentName: string) => Error;
4
- }>;
@@ -1 +0,0 @@
1
- export { default as FormattedNumber, type FormattedNumberProps } from "./FormattedNumber";
@@ -1,10 +0,0 @@
1
- export declare const formatNumberConsts: Readonly<{
2
- MIN_PRECISION: 0;
3
- MAX_PRECISION: 20;
4
- DEFAULT_LOCAL: "en-US";
5
- }>;
6
- export declare function formatNumber(value: number, { local, isCompact, precision }?: {
7
- local?: Intl.Locale["language"];
8
- isCompact?: boolean;
9
- precision?: number;
10
- }): string;
@@ -1,2 +0,0 @@
1
- import e,{forwardRef as a,useRef as t,useCallback as o,useEffect as l,useMemo as n}from"react";import i from"classnames";import{isNil as r,noop as s}from"es-toolkit";import{Icon as c}from"@vibe/icon/mockedClassNames";import{Remove as d,Check as m}from"@vibe/icons";import{useSupportFirefoxLabelClick as u}from"./hooks/useSupportFirefoxLabelClick.js";import{useMergeRef as p}from"@vibe/shared";import{getTestId as C}from"../../tests/testIds.js";import{ComponentDefaultTestId as b,ComponentVibeId as f}from"../../tests/constants.js";import{Text as v}from"@vibe/typography/mockedClassNames";import h from"./Checkbox.module.scss.js";var k=a((function(a,k){var E=a.className,y=a.checkboxClassName,x=a.labelClassName,N=a["aria-label"],B=a.label,K=a["aria-labelledby"],F=a.onChange,g=void 0===F?s:F,H=a.checked,O=a.autoFocus,X=a.indeterminate,w=void 0!==X&&X,I=a.disabled,L=void 0!==I&&I,j=a.defaultChecked,A=a.tabIndex,_=a.value,D=void 0===_?"":_,M=a.name,S=void 0===M?"":M,U=a.id,q=a.separateLabel,z=void 0!==q&&q,R=a["data-testid"],T=t(null),G=p(k,T),J=o((function(e){var a=e.currentTarget;window.requestAnimationFrame((function(){window.requestAnimationFrame((function(){a.blur()}))}))}),[]),P=j;r(P)&&r(H)&&(P=!1),l((function(){T.current&&(T.current.indeterminate=w)}),[T,w]);var Q=u({inputRef:T}).onClickCapture,V=n((function(){return N||("string"==typeof B?B:"")}),[N,B]),W=o((function(e){var a;" "===e.key&&(e.preventDefault(),null===(a=T.current)||void 0===a||a.click())}),[T]),Y=L?void 0:null!=A?A:0;return z?e.createElement("div",{className:i(h.wrapper,E),"data-testid":R||C(b.CHECKBOX,U),"data-vibe":f.CHECKBOX},e.createElement("input",{ref:G,id:U,className:h.input,value:D,name:S,type:"checkbox",autoFocus:O,onChange:g,defaultChecked:P,disabled:L,"aria-label":V,"aria-labelledby":K,checked:H,tabIndex:-1}),e.createElement("label",{htmlFor:U,className:i(h.checkbox,y),"data-testid":C(b.CHECKBOX_CHECKBOX,U),tabIndex:Y,onMouseUp:J,onKeyDown:W,onClickCapture:Q},e.createElement(c,{className:h.icon,type:"svg",icon:w?d:m,ignoreFocusStyle:!0,"aria-hidden":!0,size:"16"})),!1===B?null:e.createElement("label",{htmlFor:U,className:i(h.label,x),"data-testid":C(b.CHECKBOX_LABEL,U),onMouseUp:J,onClickCapture:Q},e.createElement(v,{element:"span",type:"text2"},B))):e.createElement("label",{className:i(h.wrapper,E),tabIndex:Y,onMouseUp:J,onKeyDown:W,"data-testid":R||C(b.CHECKBOX,U),htmlFor:U,onClickCapture:Q,"data-vibe":f.CHECKBOX},e.createElement("input",{ref:G,id:U,className:h.input,value:D,name:S,type:"checkbox",autoFocus:O,onChange:g,defaultChecked:P,disabled:L,"aria-label":V,"aria-labelledby":K,checked:H,tabIndex:-1}),e.createElement("div",{className:i(h.checkbox,y),"data-testid":C(b.CHECKBOX_CHECKBOX,U)},e.createElement(c,{className:h.icon,type:"svg",icon:w?d:m,ignoreFocusStyle:!0,"aria-hidden":!0,size:"16"})),!1===B?null:e.createElement(v,{element:"span",type:"text2",className:i(h.label,x),"data-testid":C(b.CHECKBOX_LABEL,U)},B))}));export{k as default};
2
- //# sourceMappingURL=Checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { isNil, noop as NOOP } from \"es-toolkit\";\nimport { Icon } from \"@vibe/icon\";\nimport { Check, Remove } from \"@vibe/icons\";\nimport { useSupportFirefoxLabelClick } from \"./hooks/useSupportFirefoxLabelClick\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { type VibeComponentProps } from \"../../types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../tests/constants\";\nimport { Text } from \"@vibe/typography\";\nimport styles from \"./Checkbox.module.scss\";\n\nexport interface CheckBoxProps extends VibeComponentProps {\n /**\n * Class name applied to the checkbox element.\n */\n checkboxClassName?: string;\n /**\n * Class name applied to the label element.\n */\n labelClassName?: string;\n /**\n * The label of the checkbox for accessibility.\n */\n \"aria-label\"?: string;\n /**\n * The content displayed next to the checkbox.\n */\n label?: React.ReactNode | Array<React.ReactNode>;\n /**\n * The ID of an element describing the checkbox.\n */\n \"aria-labelledby\"?: string;\n /**\n * Callback fired when the checkbox value changes.\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n /**\n * If true, controls the checked state of the checkbox.\n */\n checked?: boolean;\n /**\n * If true, displays an indeterminate state.\n */\n indeterminate?: boolean;\n /**\n * If true, the checkbox automatically receives focus.\n */\n autoFocus?: boolean;\n /**\n * If true, the checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * The initial checked state of the checkbox.\n */\n defaultChecked?: boolean;\n /**\n * The value submitted with the form when checked.\n */\n value?: string;\n /**\n * The name of the checkbox, used for form submission.\n */\n name?: string;\n /**\n * The tab order of the checkbox.\n */\n tabIndex?: number;\n /**\n * If true, uses separate labels with htmlFor/id association instead of wrapping the input.\n * If using this the id prop is required for it to function correctly.\n */\n separateLabel?: boolean;\n}\n\nconst Checkbox = forwardRef(\n (\n {\n className,\n checkboxClassName,\n labelClassName,\n \"aria-label\": ariaLabel,\n label,\n \"aria-labelledby\": ariaLabelledBy,\n onChange = NOOP,\n checked,\n autoFocus,\n indeterminate = false,\n disabled = false,\n defaultChecked,\n tabIndex,\n value = \"\",\n name = \"\",\n id,\n separateLabel = false,\n \"data-testid\": dataTestId\n }: CheckBoxProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const mergedInputRef = useMergeRef(ref, inputRef);\n\n const onMouseUpCallback = useCallback((e: React.MouseEvent<HTMLElement>) => {\n const target = e.currentTarget;\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n target.blur();\n });\n });\n }, []);\n\n let overrideDefaultChecked = defaultChecked;\n\n // If component did not receive default checked and checked props, choose default checked as\n // default behavior (handle isChecked logic inside input) and set default value\n if (isNil(overrideDefaultChecked) && isNil(checked)) {\n overrideDefaultChecked = false;\n }\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [inputRef, indeterminate]);\n\n const { onClickCapture: onClickCaptureLabel } = useSupportFirefoxLabelClick({ inputRef });\n\n const finalAriaLabel = useMemo(() => {\n if (ariaLabel) return ariaLabel;\n if (typeof label === \"string\") return label;\n return \"\";\n }, [ariaLabel, label]);\n\n const onKeyDownCallback = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \" \") {\n e.preventDefault();\n inputRef.current?.click();\n }\n },\n [inputRef]\n );\n\n const wrapperTabIndex = disabled ? undefined : tabIndex ?? 0;\n\n if (separateLabel) {\n return (\n <div\n className={cx(styles.wrapper, className)}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.CHECKBOX, id)}\n data-vibe={ComponentVibeId.CHECKBOX}\n >\n <input\n ref={mergedInputRef}\n id={id}\n className={styles.input}\n value={value}\n name={name}\n type=\"checkbox\"\n autoFocus={autoFocus}\n onChange={onChange}\n defaultChecked={overrideDefaultChecked}\n disabled={disabled}\n aria-label={finalAriaLabel}\n aria-labelledby={ariaLabelledBy}\n checked={checked}\n tabIndex={-1}\n />\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}\n <label\n htmlFor={id}\n className={cx(styles.checkbox, checkboxClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_CHECKBOX, id)}\n tabIndex={wrapperTabIndex}\n onMouseUp={onMouseUpCallback}\n onKeyDown={onKeyDownCallback}\n onClickCapture={onClickCaptureLabel}\n >\n <Icon\n className={styles.icon}\n type=\"svg\"\n icon={indeterminate ? Remove : Check}\n ignoreFocusStyle\n aria-hidden={true}\n size=\"16\"\n />\n </label>\n {label === false ? null : (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <label\n htmlFor={id}\n className={cx(styles.label, labelClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_LABEL, id)}\n onMouseUp={onMouseUpCallback}\n onClickCapture={onClickCaptureLabel}\n >\n <Text element=\"span\" type=\"text2\">\n {label}\n </Text>\n </label>\n )}\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <label\n className={cx(styles.wrapper, className)}\n tabIndex={wrapperTabIndex}\n onMouseUp={onMouseUpCallback}\n onKeyDown={onKeyDownCallback}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.CHECKBOX, id)}\n htmlFor={id}\n onClickCapture={onClickCaptureLabel}\n data-vibe={ComponentVibeId.CHECKBOX}\n >\n <input\n ref={mergedInputRef}\n id={id}\n className={styles.input}\n value={value}\n name={name}\n type=\"checkbox\"\n autoFocus={autoFocus}\n onChange={onChange}\n defaultChecked={overrideDefaultChecked}\n disabled={disabled}\n aria-label={finalAriaLabel}\n aria-labelledby={ariaLabelledBy}\n checked={checked}\n tabIndex={-1}\n />\n <div\n className={cx(styles.checkbox, checkboxClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_CHECKBOX, id)}\n >\n <Icon\n className={styles.icon}\n type=\"svg\"\n icon={indeterminate ? Remove : Check}\n ignoreFocusStyle\n aria-hidden={true}\n size=\"16\"\n />\n </div>\n {label === false ? null : (\n <Text\n element=\"span\"\n type=\"text2\"\n className={cx(styles.label, labelClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_LABEL, id)}\n >\n {label}\n </Text>\n )}\n </label>\n );\n }\n);\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","className","checkboxClassName","labelClassName","ariaLabel","label","ariaLabelledBy","_ref$onChange","onChange","NOOP","checked","autoFocus","_ref$indeterminate","indeterminate","_ref$disabled","disabled","defaultChecked","tabIndex","_ref$value","value","_ref$name","name","id","_ref$separateLabel","separateLabel","dataTestId","inputRef","useRef","mergedInputRef","useMergeRef","onMouseUpCallback","useCallback","e","target","currentTarget","window","requestAnimationFrame","blur","overrideDefaultChecked","isNil","useEffect","current","onClickCaptureLabel","useSupportFirefoxLabelClick","onClickCapture","finalAriaLabel","useMemo","onKeyDownCallback","key","preventDefault","_a","click","wrapperTabIndex","undefined","React","createElement","cx","styles","wrapper","getTestId","ComponentDefaultTestId","CHECKBOX","ComponentVibeId","input","type","htmlFor","checkbox","CHECKBOX_CHECKBOX","onMouseUp","onKeyDown","Icon","icon","Remove","Check","ignoreFocusStyle","size","CHECKBOX_LABEL","Text","element"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var n={wrapper:"wrapper",checkbox:"checkbox",icon:"icon",label:"label",input:"input",checkboxGrowAnimation:"checkboxGrowAnimation"};!function(n){const e="s_id-61898ce5ef6e_4_5_4";if("undefined"!=typeof document){const o=document.head||document.getElementsByTagName("head")[0];if(o.querySelector("#"+e))return;const r=document.createElement("style");r.id=e,o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.appendChild(document.createTextNode(n))}else globalThis.injectedStyles&&(globalThis.injectedStyles[e]=n)}('@charset "UTF-8";\n/* stylelint-disable */\n/* stylelint-enable */\n/* stylelint-disable */\n/* stylelint-enable */\n/* stylelint-disable selector-class-pattern */\n.wrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: fit-content;\n height: min-content;\n outline: none; /* focus ring is rendered on .checkbox child, not the wrapper */\n}\n.checkbox {\n cursor: pointer;\n visibility: visible;\n display: flex;\n justify-content: center;\n flex-direction: column;\n height: 16px;\n width: 16px;\n border: 1px solid;\n border-color: var(--ui-border-color);\n border-radius: 2px;\n transition: transform var(--motion-productive-short) var(--motion-timing-enter);\n position: relative;\n overflow: hidden;\n background-color: var(--secondary-background-color);\n}\n.checkbox:after {\n content: " ";\n background-color: transparent;\n position: absolute;\n height: 16px;\n z-index: 2;\n inset-inline: 0;\n width: 100%;\n}\n.checkbox:hover {\n border-color: var(--secondary-text-color);\n}\n.icon {\n width: 100%;\n color: var(--text-color-on-primary);\n visibility: hidden;\n}\n.label {\n -webkit-font-smoothing: var(--font-smoothing-webkit);\n -moz-osx-font-smoothing: var(--font-smoothing-moz);\n cursor: pointer;\n user-select: none;\n margin-inline-start: var(--space-8);\n}\n/* Since it is not possible to change the design of the checkbox according to the requirements using css, */\n/* we hide the checkbox and draw a new one instead. */\n/* In order to allow accessibility, all operations will be performed on the hidden checkbox and be reflected */\n.input {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n}\n/* For any active attribute in the hidden checkbox, we will change the appearance of the checkbox we drew in its place. */\n.input:focus + .checkbox {\n border-color: var(--secondary-text-color);\n}\n.input:focus:checked + .checkbox {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n.input:focus-visible + .checkbox {\n outline: none;\n z-index: 11;\n border-radius: 2px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.input:checked:focus + .checkbox:after,\n.input:indeterminate:focus + .checkbox:after {\n background-color: var(--primary-hover-color);\n}\n/* Tab navigation — non-separate mode: the wrapper <label> is the Tab target */\n.wrapper:focus-visible > .checkbox {\n outline: none;\n z-index: 11;\n border-radius: 2px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.wrapper:focus-visible > .input:checked ~ .checkbox,\n.wrapper:focus-visible > .input:indeterminate ~ .checkbox {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n/* Tab navigation — separate mode: the .checkbox <label> is the Tab target */\n.checkbox:focus-visible {\n outline: none;\n z-index: 11;\n border-radius: 2px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.input:checked + .checkbox:focus-visible,\n.input:indeterminate + .checkbox:focus-visible {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n.input:checked + .checkbox,\n.input:indeterminate + .checkbox {\n animation: checkboxGrowAnimation var(--motion-productive-short);\n background-color: var(--primary-color);\n border-color: transparent;\n}\n.input:checked + .checkbox:hover,\n.input:indeterminate + .checkbox:hover {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n.input:checked + .checkbox:hover:after,\n.input:indeterminate + .checkbox:hover:after {\n background-color: var(--primary-hover-color);\n}\n.input:checked + .checkbox:after,\n.input:indeterminate + .checkbox:after {\n content: " ";\n background-color: var(--primary-color);\n height: 16px;\n transform: scaleX(0);\n transition: transform var(--motion-productive-long);\n transform-origin: right;\n inset-inline-start: 0;\n}\n.input:checked + .checkbox > .icon,\n.input:indeterminate + .checkbox > .icon {\n visibility: visible;\n}\n.input:checked:disabled + .checkbox:after,\n.input:indeterminate:disabled + .checkbox:after {\n background-color: var(--disabled-background-color);\n}\n.input:disabled + .checkbox .icon,\n.input:disabled + .checkbox:hover .icon {\n color: var(--disabled-text-color);\n}\n.input:disabled + .checkbox,\n.input:disabled + .checkbox:hover {\n cursor: not-allowed;\n background-color: var(--disabled-background-color);\n border-color: var(--ui-border-color);\n}\n.input:disabled ~ .label {\n cursor: not-allowed;\n color: var(--disabled-text-color);\n}\n@keyframes checkboxGrowAnimation {\n 0% {\n transform: scale(0.8);\n }\n 100% {\n transform: scale(1);\n }\n}');export{n as default};
2
- //# sourceMappingURL=Checkbox.module.scss.js.map
@@ -1,2 +0,0 @@
1
- import{useRef as e,useCallback as r}from"react";import{isFirefox as t}from"@vibe/shared";function n(n){var c=n.inputRef,i=e(!1);return{onClickCapture:r((function(e){var r;if(!i.current&&e.shiftKey&&t()&&(null===(r=null==c?void 0:c.current)||void 0===r?void 0:r.dispatchEvent)){e.preventDefault();var n=new MouseEvent("click",{shiftKey:!0,bubbles:!0,cancelable:!0});i.current=!0,c.current.dispatchEvent(n)}else i.current&&(i.current=!1)}),[i,c])}}export{n as useSupportFirefoxLabelClick};
2
- //# sourceMappingURL=useSupportFirefoxLabelClick.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSupportFirefoxLabelClick.js","sources":["../../../../../../src/components/Checkbox/hooks/useSupportFirefoxLabelClick.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback, useRef } from \"react\";\nimport { isFirefox } from \"@vibe/shared\";\n\nexport function useSupportFirefoxLabelClick({ inputRef }: { inputRef: React.RefObject<HTMLInputElement> }) {\n // The purpose of this variable is to make sure that the captured event is a checkbox's label click event and not a manual event\n // that we actually created in this hook.\n // We handle the custom event create state as ref because this variable should not be depend on the component renders\n // and it should be unique per checkbox.\n const customEventCreated = useRef(false);\n\n // fix for known bug firefox bug: firefox does not support checking or unchecking checkbox by its label when shift pressed\n const onClickCapture = useCallback(\n (e: React.MouseEvent) => {\n // We would like to dispatch a manual event to click on the input only for cases where there is a bug in supporting this capability -\n // firefox browsers when the shift key is pressed.\n // In addition we make sure here that the captured event is not a manually generated event created by this code because we want to prevent\n // an infinite loop in recursion here.\n if (!customEventCreated.current && e.shiftKey && isFirefox() && inputRef?.current?.dispatchEvent) {\n e.preventDefault();\n const manualClickEvent = new MouseEvent(\"click\", {\n shiftKey: true,\n // After dispatch this event we will want it to be captured by all the relevant event listeners which registered to this checkbox input.\n bubbles: true,\n cancelable: true\n });\n\n customEventCreated.current = true;\n inputRef.current.dispatchEvent(manualClickEvent);\n } else if (customEventCreated.current) {\n customEventCreated.current = false;\n }\n },\n [customEventCreated, inputRef]\n );\n\n return { onClickCapture };\n}\n"],"names":["useSupportFirefoxLabelClick","_ref","inputRef","customEventCreated","useRef","onClickCapture","useCallback","e","current","shiftKey","isFirefox","_a","dispatchEvent","preventDefault","manualClickEvent","MouseEvent","bubbles","cancelable"],"mappings":"yFAIgB,SAAAA,EAA2BC,GAA8D,IAA3DC,EAAQD,EAARC,SAKtCC,EAAqBC,GAAO,GA2BlC,MAAO,CAAEC,eAxBcC,GACrB,SAACC,SAKC,IAAKJ,EAAmBK,SAAWD,EAAEE,UAAYC,MAAkC,UAAnBR,aAAQ,EAARA,EAAUM,eAAS,IAAAG,OAAA,EAAAA,EAAAC,eAAe,CAChGL,EAAEM,iBACF,IAAMC,EAAmB,IAAIC,WAAW,QAAS,CAC/CN,UAAU,EAEVO,SAAS,EACTC,YAAY,IAGdd,EAAmBK,SAAU,EAC7BN,EAASM,QAAQI,cAAcE,EACjC,MAAWX,EAAmBK,UAC5BL,EAAmBK,SAAU,EAEjC,GACA,CAACL,EAAoBD,IAIzB"}
@@ -1,2 +0,0 @@
1
- import e from"classnames";import t,{forwardRef as r,useMemo as a}from"react";import{formatNumberConsts as s,formatNumber as l}from"../../helpers/textManipulations.js";import{validateValue as m}from"./FormattedNumberHelpers.js";import{getTestId as o,ComponentDefaultTestId as i}from"../../tests/testIds.js";import n from"./FormattedNumber.module.scss.js";var c=r((function(r,c){var u=r.value,p=r.className,d=r.local,f=void 0===d?s.DEFAULT_LOCAL:d,N=r.prefix,v=r.suffix,E=r.emptyPlaceHolder,x=void 0===E?"N/A":E,j=r.decimalPrecision,A=void 0===j?2:j,F=r.compact,b=void 0===F||F,L=r.rtl,M=r.id,T=r["data-testid"],C=a((function(){return v?t.createElement("span",{className:e(n.suffix)},v):null}),[v]),D=a((function(){return N?t.createElement("span",{className:e(n.prefix)},N):null}),[N]),H=a((function(){return l(Number(u),{local:f,precision:A,isCompact:b})}),[u,A,f,b]);return m(u)?t.createElement("span",null,x):t.createElement("div",{ref:c,className:p,id:M,"data-testid":T||o(i.FORMATTED_NUMBER,M)},L?C:D,t.createElement("span",null,H),L?D:C)}));export{c as default};
2
- //# sourceMappingURL=FormattedNumber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormattedNumber.js","sources":["../../../../../src/components/FormattedNumber/FormattedNumber.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useMemo, forwardRef } from \"react\";\nimport { formatNumber, formatNumberConsts } from \"../../helpers/textManipulations\";\nimport { validateValue } from \"./FormattedNumberHelpers\";\nimport { type VibeComponentProps } from \"../../types\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./FormattedNumber.module.scss\";\n\nexport interface FormattedNumberProps extends VibeComponentProps {\n /**\n * The numeric value to format.\n */\n value?: number | string;\n /**\n * The text displayed before the number.\n */\n prefix?: string;\n /**\n * The text displayed after the number.\n */\n suffix?: string;\n /**\n * The text displayed when no value is provided.\n */\n emptyPlaceHolder?: string;\n /**\n * The number of decimal places to display (0 ~ 20).\n */\n decimalPrecision?: number;\n /**\n * If true, formats the number into a compact notation.\n */\n compact?: boolean;\n /**\n * The locale used for formatting (Unicode BCP 47 locale identifier).\n */\n local?: string;\n /**\n * If true, reverses the order of the prefix and suffix.\n */\n rtl?: boolean;\n}\n\nconst FormattedNumber = forwardRef(\n (\n {\n value,\n className,\n local = formatNumberConsts.DEFAULT_LOCAL,\n prefix,\n suffix,\n emptyPlaceHolder = \"N/A\",\n decimalPrecision = 2,\n compact = true,\n rtl,\n id,\n \"data-testid\": dataTestId\n }: FormattedNumberProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const renderSuffix = useMemo(() => {\n if (!suffix) return null;\n\n return <span className={cx(styles.suffix)}>{suffix}</span>;\n }, [suffix]);\n\n const renderPrefix = useMemo(() => {\n if (!prefix) return null;\n\n return <span className={cx(styles.prefix)}>{prefix}</span>;\n }, [prefix]);\n\n const calculatedValue = useMemo(() => {\n return formatNumber(Number(value), {\n local,\n precision: decimalPrecision,\n isCompact: compact\n });\n }, [value, decimalPrecision, local, compact]);\n\n if (validateValue(value)) {\n return <span>{emptyPlaceHolder}</span>;\n }\n\n return (\n <div\n ref={ref}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.FORMATTED_NUMBER, id)}\n >\n {rtl ? renderSuffix : renderPrefix}\n <span>{calculatedValue}</span>\n {rtl ? renderPrefix : renderSuffix}\n </div>\n );\n }\n);\n\nexport default FormattedNumber;\n"],"names":["FormattedNumber","forwardRef","_ref","ref","value","className","_ref$local","local","formatNumberConsts","DEFAULT_LOCAL","prefix","suffix","_ref$emptyPlaceHolder","emptyPlaceHolder","_ref$decimalPrecision","decimalPrecision","_ref$compact","compact","rtl","id","dataTestId","renderSuffix","useMemo","React","createElement","cx","styles","renderPrefix","calculatedValue","formatNumber","Number","precision","isCompact","validateValue","getTestId","ComponentDefaultTestId","FORMATTED_NUMBER"],"mappings":"kWA2CMA,IAAAA,EAAkBC,GACtB,SAAAC,EAcEC,GACE,IAbAC,EAAKF,EAALE,MACAC,EAASH,EAATG,UAASC,EAAAJ,EACTK,MAAAA,OAAK,IAAAD,EAAGE,EAAmBC,cAAaH,EACxCI,EAAMR,EAANQ,OACAC,EAAMT,EAANS,OAAMC,EAAAV,EACNW,iBAAAA,OAAmB,IAAHD,EAAG,MAAKA,EAAAE,EAAAZ,EACxBa,iBAAAA,OAAmB,IAAHD,EAAG,EAACA,EAAAE,EAAAd,EACpBe,QAAAA,OAAU,IAAHD,GAAOA,EACdE,EAAGhB,EAAHgB,IACAC,EAAEjB,EAAFiB,GACeC,EAAUlB,EAAzB,eAIImB,EAAeC,GAAQ,WAC3B,OAAKX,EAEEY,EAAMC,cAAA,OAAA,CAAAnB,UAAWoB,EAAGC,EAAOf,SAAUA,GAFxB,IAGtB,GAAG,CAACA,IAEEgB,EAAeL,GAAQ,WAC3B,OAAKZ,EAEEa,EAAMC,cAAA,OAAA,CAAAnB,UAAWoB,EAAGC,EAAOhB,SAAUA,GAFxB,IAGtB,GAAG,CAACA,IAEEkB,EAAkBN,GAAQ,WAC9B,OAAOO,EAAaC,OAAO1B,GAAQ,CACjCG,MAAAA,EACAwB,UAAWhB,EACXiB,UAAWf,GAEd,GAAE,CAACb,EAAOW,EAAkBR,EAAOU,IAEpC,OAAIgB,EAAc7B,GACTmB,EAAAC,cAAA,OAAA,KAAOX,GAIdU,uBACEpB,IAAKA,EACLE,UAAWA,EACXc,GAAIA,EAAE,cACOC,GAAcc,EAAUC,EAAuBC,iBAAkBjB,IAE7ED,EAAMG,EAAeM,EACtBJ,EAAAC,cAAA,OAAA,KAAOI,GACNV,EAAMS,EAAeN,EAG5B"}
@@ -1,2 +0,0 @@
1
- var e={formattedNumberComponent:"formattedNumberComponent",prefix:"prefix",suffix:"suffix"};!function(e){const n="s_id-d821b20045aa_4_5_4";if("undefined"!=typeof document){const t=document.head||document.getElementsByTagName("head")[0];if(t.querySelector("#"+n))return;const i=document.createElement("style");i.id=n,t.firstChild?t.insertBefore(i,t.firstChild):t.appendChild(i),i.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}("/* stylelint-disable */\n/* stylelint-enable */\n.formattedNumberComponent {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n font-family: var(--font-family);\n width: 100%;\n}\n.prefix {\n white-space: pre;\n}\n.suffix {\n white-space: pre;\n}");export{e as default};
2
- //# sourceMappingURL=FormattedNumber.module.scss.js.map
@@ -1,2 +0,0 @@
1
- var n=function(n){var e=null==n,t="string"==typeof n&&!n.replace(" ","").length;return e||isNaN(Number(n))||t};Object.freeze({range:function(n,e){return function(t,r,c){if(n>t[r]||t[r]>e)return Error("Invalid prop ".concat(r," supplied to ").concat(c,". ").concat(r," should be between ").concat(n," to ").concat(e,"."))}}});export{n as validateValue};
2
- //# sourceMappingURL=FormattedNumberHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormattedNumberHelpers.js","sources":["../../../../../src/components/FormattedNumber/FormattedNumberHelpers.ts"],"sourcesContent":["export const validateValue = (value: number | string): boolean => {\n const isNullOrUndefined = value === null || value === undefined;\n const isEmptyStringWithSpaces = typeof value === \"string\" && !value.replace(\" \", \"\").length;\n return isNullOrUndefined || isNaN(Number(value)) || isEmptyStringWithSpaces;\n};\n\nconst range =\n (min: number, max: number) => (props: Record<string, number>, propName: string, componentName: string) => {\n if (props[propName] < min || props[propName] > max) {\n return new Error(\n `Invalid prop ${propName} supplied to ${componentName}. ${propName} should be between ${min} to ${max}.`\n );\n }\n };\n\nexport const customPropTypes = Object.freeze({\n range\n});\n"],"names":["validateValue","value","isNullOrUndefined","isEmptyStringWithSpaces","replace","length","isNaN","Number","Object","freeze","range","min","max","props","propName","componentName","Error","concat"],"mappings":"IAAaA,EAAgB,SAACC,GAC5B,IAAMC,EAAoBD,QACpBE,EAA2C,iBAAVF,IAAuBA,EAAMG,QAAQ,IAAK,IAAIC,OACrF,OAAOH,GAAqBI,MAAMC,OAAON,KAAWE,CACtD,EAW+BK,OAAOC,OAAO,CAC3CC,MATA,SAACC,EAAaC,GAAW,OAAK,SAACC,EAA+BC,EAAkBC,GAC9E,GAAsBJ,EAAlBE,EAAMC,IAAmBD,EAAMC,GAAYF,EAC7C,OAAWI,MAAKC,gBAAAA,OACEH,EAAQ,iBAAAG,OAAgBF,EAAa,MAAAE,OAAKH,EAAQG,uBAAAA,OAAsBN,UAAGM,OAAOL,EAAG,MAG1G"}
@@ -1,2 +0,0 @@
1
- import{convertToArray as t}from"@vibe/shared";var r=0,o=20,e="en-US";var n=Object.freeze({MIN_PRECISION:r,MAX_PRECISION:o,DEFAULT_LOCAL:e});function a(n){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.local,c=void 0===i?e:i,l=a.isCompact,m=void 0===l||l,u=a.precision,s=void 0===u?2:u;if(null!=n){var v=function(r){var o;try{o=!!Intl.NumberFormat.supportedLocalesOf(t(r),{localeMatcher:"lookup"}).length}catch(t){o=!1}return o}(c),f=function(t){return r>t?r:t>o?o:t}(s);return new Intl.NumberFormat(v?c:e,Object.assign(Object.assign({},m&&{notation:"compact"}),{maximumFractionDigits:f})).format(n)}}export{a as formatNumber,n as formatNumberConsts};
2
- //# sourceMappingURL=textManipulations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textManipulations.js","sources":["../../../../src/helpers/textManipulations.ts"],"sourcesContent":["import { convertToArray } from \"@vibe/shared\";\n\nconst MIN_PRECISION = 0;\nconst MAX_PRECISION = 20;\nconst DEFAULT_LOCAL = \"en-US\";\n\nfunction validateLocalSupported(local: string) {\n let isLocalSupported;\n try {\n const options = { localeMatcher: \"lookup\" as const };\n isLocalSupported = !!Intl.NumberFormat.supportedLocalesOf(convertToArray(local), options).length;\n } catch (err) {\n isLocalSupported = false;\n }\n\n return isLocalSupported;\n}\n\nfunction validatePrecision(precision: number) {\n if (precision < MIN_PRECISION) return MIN_PRECISION;\n if (precision > MAX_PRECISION) return MAX_PRECISION;\n return precision;\n}\n\nexport const formatNumberConsts = Object.freeze({\n MIN_PRECISION,\n MAX_PRECISION,\n DEFAULT_LOCAL\n});\n\nexport function formatNumber(\n value: number,\n {\n local = DEFAULT_LOCAL,\n isCompact = true,\n precision = 2\n }: { local?: Intl.Locale[\"language\"]; isCompact?: boolean; precision?: number } = {}\n) {\n if (value === undefined || value === null) return;\n const isLocalSupported = validateLocalSupported(local);\n const normalizedPrecision = validatePrecision(precision);\n const selectedLocal = isLocalSupported ? local : DEFAULT_LOCAL;\n return new Intl.NumberFormat(selectedLocal, {\n ...(isCompact && { notation: \"compact\" }),\n maximumFractionDigits: normalizedPrecision\n }).format(value);\n}\n"],"names":["MIN_PRECISION","MAX_PRECISION","DEFAULT_LOCAL","formatNumberConsts","Object","freeze","formatNumber","value","_ref","arguments","length","undefined","_ref$local","local","_ref$isCompact","isCompact","_ref$precision","precision","isLocalSupported","Intl","NumberFormat","supportedLocalesOf","convertToArray","localeMatcher","err","validateLocalSupported","normalizedPrecision","validatePrecision","assign","notation","maximumFractionDigits","format"],"mappings":"8CAEA,IAAMA,EAAgB,EAChBC,EAAgB,GAChBC,EAAgB,YAoBTC,EAAqBC,OAAOC,OAAO,CAC9CL,cAAAA,EACAC,cAAAA,EACAC,cAAAA,aAGcI,EACdC,GAKoF,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAF,CAAE,EAAAG,EAAAJ,EAHlFK,MAAAA,OAAQX,IAAHU,EAAGV,EAAaU,EAAAE,EAAAN,EACrBO,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAAAR,EAChBS,UAAAA,OAAY,IAAHD,EAAG,EAACA,EAGf,GAAIT,QAAJ,CACA,IAAMW,EAjCR,SAAgCL,GAC9B,IAAIK,EACJ,IAEEA,IAAqBC,KAAKC,aAAaC,mBAAmBC,EAAeT,GADzD,CAAEU,cAAe,WACyDb,MAC3F,CAAC,MAAOc,GACPN,GAAmB,CACrB,CAEA,OAAOA,CACT,CAuB2BO,CAAuBZ,GAC1Ca,EAtBR,SAA2BT,GACzB,OAAgBjB,EAAZiB,EAAkCjB,EAClCiB,EAAYhB,EAAsBA,EAC/BgB,CACT,CAkB8BU,CAAkBV,GAE9C,OAAO,IAAIE,KAAKC,aADMF,EAAmBL,EAAQX,EACPE,OAAAwB,OAAAxB,OAAAwB,OAAA,CAAA,EACpCb,GAAa,CAAEc,SAAU,YAC7B,CAAAC,sBAAuBJ,KACtBK,OAAOxB,EAPiC,CAQ7C"}
@@ -1,2 +0,0 @@
1
- import e,{forwardRef as t,useRef as a,useCallback as o,useEffect as n,useMemo as r}from"react";import i from"classnames";import{isNil as l,noop as s}from"es-toolkit";import{useSupportFirefoxLabelClick as c}from"./hooks/useSupportFirefoxLabelClick.js";import{getTestId as d}from"../../tests/testIds.js";import{ComponentDefaultTestId as m,ComponentVibeId as u}from"../../tests/constants.js";import p from"./Checkbox.module.scss.js";import C from"../../../components/icon/dist/Icon/Icon.js";import b from"../../../icons/dist/react/Remove.js";import f from"../../../icons/dist/react/Check.js";import h from"../../../components/typography/dist/Text/Text.js";import{useMergeRef as v}from"../../../shared/dist/hooks/useMergeRef.js";var k=t((function(t,k){var E=t.className,x=t.checkboxClassName,y=t.labelClassName,N=t["aria-label"],B=t.label,K=t["aria-labelledby"],g=t.onChange,F=void 0===g?s:g,H=t.checked,O=t.autoFocus,X=t.indeterminate,j=void 0!==X&&X,w=t.disabled,I=void 0!==w&&w,L=t.defaultChecked,A=t.tabIndex,M=t.value,_=void 0===M?"":M,D=t.name,R=void 0===D?"":D,S=t.id,T=t.separateLabel,U=void 0!==T&&T,q=t["data-testid"],z=a(null),G=v(k,z),J=o((function(e){var t=e.currentTarget;window.requestAnimationFrame((function(){window.requestAnimationFrame((function(){t.blur()}))}))}),[]),P=L;l(P)&&l(H)&&(P=!1),n((function(){z.current&&(z.current.indeterminate=j)}),[z,j]);var Q=c({inputRef:z}).onClickCapture,V=r((function(){return N||("string"==typeof B?B:"")}),[N,B]),W=o((function(e){var t;" "===e.key&&(e.preventDefault(),null===(t=z.current)||void 0===t||t.click())}),[z]),Y=I?void 0:null!=A?A:0;return U?e.createElement("div",{className:i(p.wrapper,E),"data-testid":q||d(m.CHECKBOX,S),"data-vibe":u.CHECKBOX},e.createElement("input",{ref:G,id:S,className:p.input,value:_,name:R,type:"checkbox",autoFocus:O,onChange:F,defaultChecked:P,disabled:I,"aria-label":V,"aria-labelledby":K,checked:H,tabIndex:-1}),e.createElement("label",{htmlFor:S,className:i(p.checkbox,x),"data-testid":d(m.CHECKBOX_CHECKBOX,S),tabIndex:Y,onMouseUp:J,onKeyDown:W,onClickCapture:Q},e.createElement(C,{className:p.icon,type:"svg",icon:j?b:f,ignoreFocusStyle:!0,"aria-hidden":!0,size:"16"})),!1===B?null:e.createElement("label",{htmlFor:S,className:i(p.label,y),"data-testid":d(m.CHECKBOX_LABEL,S),onMouseUp:J,onClickCapture:Q},e.createElement(h,{element:"span",type:"text2"},B))):e.createElement("label",{className:i(p.wrapper,E),tabIndex:Y,onMouseUp:J,onKeyDown:W,"data-testid":q||d(m.CHECKBOX,S),htmlFor:S,onClickCapture:Q,"data-vibe":u.CHECKBOX},e.createElement("input",{ref:G,id:S,className:p.input,value:_,name:R,type:"checkbox",autoFocus:O,onChange:F,defaultChecked:P,disabled:I,"aria-label":V,"aria-labelledby":K,checked:H,tabIndex:-1}),e.createElement("div",{className:i(p.checkbox,x),"data-testid":d(m.CHECKBOX_CHECKBOX,S)},e.createElement(C,{className:p.icon,type:"svg",icon:j?b:f,ignoreFocusStyle:!0,"aria-hidden":!0,size:"16"})),!1===B?null:e.createElement(h,{element:"span",type:"text2",className:i(p.label,y),"data-testid":d(m.CHECKBOX_LABEL,S)},B))}));export{k as default};
2
- //# sourceMappingURL=Checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport cx from \"classnames\";\nimport { isNil, noop as NOOP } from \"es-toolkit\";\nimport { Icon } from \"@vibe/icon\";\nimport { Check, Remove } from \"@vibe/icons\";\nimport { useSupportFirefoxLabelClick } from \"./hooks/useSupportFirefoxLabelClick\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { type VibeComponentProps } from \"../../types\";\nimport { getTestId } from \"../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../tests/constants\";\nimport { Text } from \"@vibe/typography\";\nimport styles from \"./Checkbox.module.scss\";\n\nexport interface CheckBoxProps extends VibeComponentProps {\n /**\n * Class name applied to the checkbox element.\n */\n checkboxClassName?: string;\n /**\n * Class name applied to the label element.\n */\n labelClassName?: string;\n /**\n * The label of the checkbox for accessibility.\n */\n \"aria-label\"?: string;\n /**\n * The content displayed next to the checkbox.\n */\n label?: React.ReactNode | Array<React.ReactNode>;\n /**\n * The ID of an element describing the checkbox.\n */\n \"aria-labelledby\"?: string;\n /**\n * Callback fired when the checkbox value changes.\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n /**\n * If true, controls the checked state of the checkbox.\n */\n checked?: boolean;\n /**\n * If true, displays an indeterminate state.\n */\n indeterminate?: boolean;\n /**\n * If true, the checkbox automatically receives focus.\n */\n autoFocus?: boolean;\n /**\n * If true, the checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * The initial checked state of the checkbox.\n */\n defaultChecked?: boolean;\n /**\n * The value submitted with the form when checked.\n */\n value?: string;\n /**\n * The name of the checkbox, used for form submission.\n */\n name?: string;\n /**\n * The tab order of the checkbox.\n */\n tabIndex?: number;\n /**\n * If true, uses separate labels with htmlFor/id association instead of wrapping the input.\n * If using this the id prop is required for it to function correctly.\n */\n separateLabel?: boolean;\n}\n\nconst Checkbox = forwardRef(\n (\n {\n className,\n checkboxClassName,\n labelClassName,\n \"aria-label\": ariaLabel,\n label,\n \"aria-labelledby\": ariaLabelledBy,\n onChange = NOOP,\n checked,\n autoFocus,\n indeterminate = false,\n disabled = false,\n defaultChecked,\n tabIndex,\n value = \"\",\n name = \"\",\n id,\n separateLabel = false,\n \"data-testid\": dataTestId\n }: CheckBoxProps,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const mergedInputRef = useMergeRef(ref, inputRef);\n\n const onMouseUpCallback = useCallback((e: React.MouseEvent<HTMLElement>) => {\n const target = e.currentTarget;\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n target.blur();\n });\n });\n }, []);\n\n let overrideDefaultChecked = defaultChecked;\n\n // If component did not receive default checked and checked props, choose default checked as\n // default behavior (handle isChecked logic inside input) and set default value\n if (isNil(overrideDefaultChecked) && isNil(checked)) {\n overrideDefaultChecked = false;\n }\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [inputRef, indeterminate]);\n\n const { onClickCapture: onClickCaptureLabel } = useSupportFirefoxLabelClick({ inputRef });\n\n const finalAriaLabel = useMemo(() => {\n if (ariaLabel) return ariaLabel;\n if (typeof label === \"string\") return label;\n return \"\";\n }, [ariaLabel, label]);\n\n const onKeyDownCallback = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \" \") {\n e.preventDefault();\n inputRef.current?.click();\n }\n },\n [inputRef]\n );\n\n const wrapperTabIndex = disabled ? undefined : tabIndex ?? 0;\n\n if (separateLabel) {\n return (\n <div\n className={cx(styles.wrapper, className)}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.CHECKBOX, id)}\n data-vibe={ComponentVibeId.CHECKBOX}\n >\n <input\n ref={mergedInputRef}\n id={id}\n className={styles.input}\n value={value}\n name={name}\n type=\"checkbox\"\n autoFocus={autoFocus}\n onChange={onChange}\n defaultChecked={overrideDefaultChecked}\n disabled={disabled}\n aria-label={finalAriaLabel}\n aria-labelledby={ariaLabelledBy}\n checked={checked}\n tabIndex={-1}\n />\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}\n <label\n htmlFor={id}\n className={cx(styles.checkbox, checkboxClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_CHECKBOX, id)}\n tabIndex={wrapperTabIndex}\n onMouseUp={onMouseUpCallback}\n onKeyDown={onKeyDownCallback}\n onClickCapture={onClickCaptureLabel}\n >\n <Icon\n className={styles.icon}\n type=\"svg\"\n icon={indeterminate ? Remove : Check}\n ignoreFocusStyle\n aria-hidden={true}\n size=\"16\"\n />\n </label>\n {label === false ? null : (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <label\n htmlFor={id}\n className={cx(styles.label, labelClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_LABEL, id)}\n onMouseUp={onMouseUpCallback}\n onClickCapture={onClickCaptureLabel}\n >\n <Text element=\"span\" type=\"text2\">\n {label}\n </Text>\n </label>\n )}\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <label\n className={cx(styles.wrapper, className)}\n tabIndex={wrapperTabIndex}\n onMouseUp={onMouseUpCallback}\n onKeyDown={onKeyDownCallback}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.CHECKBOX, id)}\n htmlFor={id}\n onClickCapture={onClickCaptureLabel}\n data-vibe={ComponentVibeId.CHECKBOX}\n >\n <input\n ref={mergedInputRef}\n id={id}\n className={styles.input}\n value={value}\n name={name}\n type=\"checkbox\"\n autoFocus={autoFocus}\n onChange={onChange}\n defaultChecked={overrideDefaultChecked}\n disabled={disabled}\n aria-label={finalAriaLabel}\n aria-labelledby={ariaLabelledBy}\n checked={checked}\n tabIndex={-1}\n />\n <div\n className={cx(styles.checkbox, checkboxClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_CHECKBOX, id)}\n >\n <Icon\n className={styles.icon}\n type=\"svg\"\n icon={indeterminate ? Remove : Check}\n ignoreFocusStyle\n aria-hidden={true}\n size=\"16\"\n />\n </div>\n {label === false ? null : (\n <Text\n element=\"span\"\n type=\"text2\"\n className={cx(styles.label, labelClassName)}\n data-testid={getTestId(ComponentDefaultTestId.CHECKBOX_LABEL, id)}\n >\n {label}\n </Text>\n )}\n </label>\n );\n }\n);\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","className","checkboxClassName","labelClassName","ariaLabel","label","ariaLabelledBy","_ref$onChange","onChange","NOOP","checked","autoFocus","_ref$indeterminate","indeterminate","_ref$disabled","disabled","defaultChecked","tabIndex","_ref$value","value","_ref$name","name","id","_ref$separateLabel","separateLabel","dataTestId","inputRef","useRef","mergedInputRef","useMergeRef","onMouseUpCallback","useCallback","e","target","currentTarget","window","requestAnimationFrame","blur","overrideDefaultChecked","isNil","useEffect","current","onClickCaptureLabel","useSupportFirefoxLabelClick","onClickCapture","finalAriaLabel","useMemo","onKeyDownCallback","key","preventDefault","_a","click","wrapperTabIndex","undefined","React","createElement","cx","styles","wrapper","getTestId","ComponentDefaultTestId","CHECKBOX","ComponentVibeId","input","type","htmlFor","checkbox","CHECKBOX_CHECKBOX","onMouseUp","onKeyDown","Icon","icon","Remove","Check","ignoreFocusStyle","size","CHECKBOX_LABEL","Text","element"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var e={wrapper:"wrapper_8341aabd77",checkbox:"checkbox_5d16de95b9",icon:"icon_ba218ab9aa",label:"label_07235812cb",input:"input_cb5ffbc5ad",checkboxGrowAnimation:"checkboxGrowAnimation_6b89439b20"};!function(e){const n="s_id-61898ce5ef6e_4_5_4";if("undefined"!=typeof document){const o=document.head||document.getElementsByTagName("head")[0];if(o.querySelector("#"+n))return;const c=document.createElement("style");c.id=n,o.firstChild?o.insertBefore(c,o.firstChild):o.appendChild(c),c.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}('@charset "UTF-8";\n/* stylelint-disable */\n/* stylelint-enable */\n/* stylelint-disable */\n/* stylelint-enable */\n/* stylelint-disable selector-class-pattern */\n.wrapper_8341aabd77 {\n position: relative;\n display: flex;\n align-items: center;\n width: fit-content;\n height: min-content;\n outline: none; /* focus ring is rendered on .checkbox child, not the wrapper */\n}\n.checkbox_5d16de95b9 {\n cursor: pointer;\n visibility: visible;\n display: flex;\n justify-content: center;\n flex-direction: column;\n height: 16px;\n width: 16px;\n border: 1px solid;\n border-color: var(--ui-border-color);\n border-radius: 2px;\n transition: transform var(--motion-productive-short) var(--motion-timing-enter);\n position: relative;\n overflow: hidden;\n background-color: var(--secondary-background-color);\n}\n.checkbox_5d16de95b9:after {\n content: " ";\n background-color: transparent;\n position: absolute;\n height: 16px;\n z-index: 2;\n inset-inline: 0;\n width: 100%;\n}\n.checkbox_5d16de95b9:hover {\n border-color: var(--secondary-text-color);\n}\n.icon_ba218ab9aa {\n width: 100%;\n color: var(--text-color-on-primary);\n visibility: hidden;\n}\n.label_07235812cb {\n -webkit-font-smoothing: var(--font-smoothing-webkit);\n -moz-osx-font-smoothing: var(--font-smoothing-moz);\n cursor: pointer;\n user-select: none;\n margin-inline-start: var(--space-8);\n}\n/* Since it is not possible to change the design of the checkbox according to the requirements using css, */\n/* we hide the checkbox and draw a new one instead. */\n/* In order to allow accessibility, all operations will be performed on the hidden checkbox and be reflected */\n.input_cb5ffbc5ad {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n}\n/* For any active attribute in the hidden checkbox, we will change the appearance of the checkbox we drew in its place. */\n.input_cb5ffbc5ad:focus + .checkbox_5d16de95b9 {\n border-color: var(--secondary-text-color);\n}\n.input_cb5ffbc5ad:focus:checked + .checkbox_5d16de95b9 {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n.input_cb5ffbc5ad:focus-visible + .checkbox_5d16de95b9 {\n outline: none;\n z-index: 11;\n border-radius: 2px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.input_cb5ffbc5ad:checked:focus + .checkbox_5d16de95b9:after,\n.input_cb5ffbc5ad:indeterminate:focus + .checkbox_5d16de95b9:after {\n background-color: var(--primary-hover-color);\n}\n/* Tab navigation — non-separate mode: the wrapper <label> is the Tab target */\n.wrapper_8341aabd77:focus-visible > .checkbox_5d16de95b9 {\n outline: none;\n z-index: 11;\n border-radius: 2px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.wrapper_8341aabd77:focus-visible > .input_cb5ffbc5ad:checked ~ .checkbox_5d16de95b9,\n.wrapper_8341aabd77:focus-visible > .input_cb5ffbc5ad:indeterminate ~ .checkbox_5d16de95b9 {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n/* Tab navigation — separate mode: the .checkbox <label> is the Tab target */\n.checkbox_5d16de95b9:focus-visible {\n outline: none;\n z-index: 11;\n border-radius: 2px;\n box-shadow: 0 0 0 3px hsla(209, 100%, 50%, 0.5), 0 0 0 1px var(--primary-hover-color) inset;\n}\n.input_cb5ffbc5ad:checked + .checkbox_5d16de95b9:focus-visible,\n.input_cb5ffbc5ad:indeterminate + .checkbox_5d16de95b9:focus-visible {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n.input_cb5ffbc5ad:checked + .checkbox_5d16de95b9,\n.input_cb5ffbc5ad:indeterminate + .checkbox_5d16de95b9 {\n animation: checkboxGrowAnimation_6b89439b20 var(--motion-productive-short);\n background-color: var(--primary-color);\n border-color: transparent;\n}\n.input_cb5ffbc5ad:checked + .checkbox_5d16de95b9:hover,\n.input_cb5ffbc5ad:indeterminate + .checkbox_5d16de95b9:hover {\n background-color: var(--primary-hover-color);\n border-color: transparent;\n}\n.input_cb5ffbc5ad:checked + .checkbox_5d16de95b9:hover:after,\n.input_cb5ffbc5ad:indeterminate + .checkbox_5d16de95b9:hover:after {\n background-color: var(--primary-hover-color);\n}\n.input_cb5ffbc5ad:checked + .checkbox_5d16de95b9:after,\n.input_cb5ffbc5ad:indeterminate + .checkbox_5d16de95b9:after {\n content: " ";\n background-color: var(--primary-color);\n height: 16px;\n transform: scaleX(0);\n transition: transform var(--motion-productive-long);\n transform-origin: right;\n inset-inline-start: 0;\n}\n.input_cb5ffbc5ad:checked + .checkbox_5d16de95b9 > .icon_ba218ab9aa,\n.input_cb5ffbc5ad:indeterminate + .checkbox_5d16de95b9 > .icon_ba218ab9aa {\n visibility: visible;\n}\n.input_cb5ffbc5ad:checked:disabled + .checkbox_5d16de95b9:after,\n.input_cb5ffbc5ad:indeterminate:disabled + .checkbox_5d16de95b9:after {\n background-color: var(--disabled-background-color);\n}\n.input_cb5ffbc5ad:disabled + .checkbox_5d16de95b9 .icon_ba218ab9aa,\n.input_cb5ffbc5ad:disabled + .checkbox_5d16de95b9:hover .icon_ba218ab9aa {\n color: var(--disabled-text-color);\n}\n.input_cb5ffbc5ad:disabled + .checkbox_5d16de95b9,\n.input_cb5ffbc5ad:disabled + .checkbox_5d16de95b9:hover {\n cursor: not-allowed;\n background-color: var(--disabled-background-color);\n border-color: var(--ui-border-color);\n}\n.input_cb5ffbc5ad:disabled ~ .label_07235812cb {\n cursor: not-allowed;\n color: var(--disabled-text-color);\n}\n@keyframes checkboxGrowAnimation_6b89439b20 {\n 0% {\n transform: scale(0.8);\n }\n 100% {\n transform: scale(1);\n }\n}');export{e as default};
2
- //# sourceMappingURL=Checkbox.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{useRef as e,useCallback as t}from"react";import{isFirefox as r}from"../../../../shared/dist/utils/user-agent-utils.js";function n(n){var u=n.inputRef,i=e(!1);return{onClickCapture:t((function(e){var t;if(!i.current&&e.shiftKey&&r()&&(null===(t=null==u?void 0:u.current)||void 0===t?void 0:t.dispatchEvent)){e.preventDefault();var n=new MouseEvent("click",{shiftKey:!0,bubbles:!0,cancelable:!0});i.current=!0,u.current.dispatchEvent(n)}else i.current&&(i.current=!1)}),[i,u])}}export{n as useSupportFirefoxLabelClick};
2
- //# sourceMappingURL=useSupportFirefoxLabelClick.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSupportFirefoxLabelClick.js","sources":["../../../../../src/components/Checkbox/hooks/useSupportFirefoxLabelClick.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback, useRef } from \"react\";\nimport { isFirefox } from \"@vibe/shared\";\n\nexport function useSupportFirefoxLabelClick({ inputRef }: { inputRef: React.RefObject<HTMLInputElement> }) {\n // The purpose of this variable is to make sure that the captured event is a checkbox's label click event and not a manual event\n // that we actually created in this hook.\n // We handle the custom event create state as ref because this variable should not be depend on the component renders\n // and it should be unique per checkbox.\n const customEventCreated = useRef(false);\n\n // fix for known bug firefox bug: firefox does not support checking or unchecking checkbox by its label when shift pressed\n const onClickCapture = useCallback(\n (e: React.MouseEvent) => {\n // We would like to dispatch a manual event to click on the input only for cases where there is a bug in supporting this capability -\n // firefox browsers when the shift key is pressed.\n // In addition we make sure here that the captured event is not a manually generated event created by this code because we want to prevent\n // an infinite loop in recursion here.\n if (!customEventCreated.current && e.shiftKey && isFirefox() && inputRef?.current?.dispatchEvent) {\n e.preventDefault();\n const manualClickEvent = new MouseEvent(\"click\", {\n shiftKey: true,\n // After dispatch this event we will want it to be captured by all the relevant event listeners which registered to this checkbox input.\n bubbles: true,\n cancelable: true\n });\n\n customEventCreated.current = true;\n inputRef.current.dispatchEvent(manualClickEvent);\n } else if (customEventCreated.current) {\n customEventCreated.current = false;\n }\n },\n [customEventCreated, inputRef]\n );\n\n return { onClickCapture };\n}\n"],"names":["useSupportFirefoxLabelClick","_ref","inputRef","customEventCreated","useRef","onClickCapture","useCallback","e","current","shiftKey","isFirefox","_a","dispatchEvent","preventDefault","manualClickEvent","MouseEvent","bubbles","cancelable"],"mappings":"8HAIgB,SAAAA,EAA2BC,GAA8D,IAA3DC,EAAQD,EAARC,SAKtCC,EAAqBC,GAAO,GA2BlC,MAAO,CAAEC,eAxBcC,GACrB,SAACC,SAKC,IAAKJ,EAAmBK,SAAWD,EAAEE,UAAYC,MAAkC,UAAnBR,aAAQ,EAARA,EAAUM,eAAS,IAAAG,OAAA,EAAAA,EAAAC,eAAe,CAChGL,EAAEM,iBACF,IAAMC,EAAmB,IAAIC,WAAW,QAAS,CAC/CN,UAAU,EAEVO,SAAS,EACTC,YAAY,IAGdd,EAAmBK,SAAU,EAC7BN,EAASM,QAAQI,cAAcE,EACjC,MAAWX,EAAmBK,UAC5BL,EAAmBK,SAAU,EAEjC,GACA,CAACL,EAAoBD,IAIzB"}
@@ -1,2 +0,0 @@
1
- import e from"classnames";import t,{forwardRef as r,useMemo as a}from"react";import{formatNumberConsts as s,formatNumber as l}from"../../helpers/textManipulations.js";import{validateValue as m}from"./FormattedNumberHelpers.js";import{getTestId as o,ComponentDefaultTestId as i}from"../../tests/testIds.js";import n from"./FormattedNumber.module.scss.js";var c=r((function(r,c){var u=r.value,p=r.className,d=r.local,f=void 0===d?s.DEFAULT_LOCAL:d,N=r.prefix,v=r.suffix,E=r.emptyPlaceHolder,x=void 0===E?"N/A":E,j=r.decimalPrecision,A=void 0===j?2:j,F=r.compact,b=void 0===F||F,L=r.rtl,M=r.id,T=r["data-testid"],C=a((function(){return v?t.createElement("span",{className:e(n.suffix)},v):null}),[v]),D=a((function(){return N?t.createElement("span",{className:e(n.prefix)},N):null}),[N]),H=a((function(){return l(Number(u),{local:f,precision:A,isCompact:b})}),[u,A,f,b]);return m(u)?t.createElement("span",null,x):t.createElement("div",{ref:c,className:p,id:M,"data-testid":T||o(i.FORMATTED_NUMBER,M)},L?C:D,t.createElement("span",null,H),L?D:C)}));export{c as default};
2
- //# sourceMappingURL=FormattedNumber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormattedNumber.js","sources":["../../../../src/components/FormattedNumber/FormattedNumber.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { useMemo, forwardRef } from \"react\";\nimport { formatNumber, formatNumberConsts } from \"../../helpers/textManipulations\";\nimport { validateValue } from \"./FormattedNumberHelpers\";\nimport { type VibeComponentProps } from \"../../types\";\nimport { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport styles from \"./FormattedNumber.module.scss\";\n\nexport interface FormattedNumberProps extends VibeComponentProps {\n /**\n * The numeric value to format.\n */\n value?: number | string;\n /**\n * The text displayed before the number.\n */\n prefix?: string;\n /**\n * The text displayed after the number.\n */\n suffix?: string;\n /**\n * The text displayed when no value is provided.\n */\n emptyPlaceHolder?: string;\n /**\n * The number of decimal places to display (0 ~ 20).\n */\n decimalPrecision?: number;\n /**\n * If true, formats the number into a compact notation.\n */\n compact?: boolean;\n /**\n * The locale used for formatting (Unicode BCP 47 locale identifier).\n */\n local?: string;\n /**\n * If true, reverses the order of the prefix and suffix.\n */\n rtl?: boolean;\n}\n\nconst FormattedNumber = forwardRef(\n (\n {\n value,\n className,\n local = formatNumberConsts.DEFAULT_LOCAL,\n prefix,\n suffix,\n emptyPlaceHolder = \"N/A\",\n decimalPrecision = 2,\n compact = true,\n rtl,\n id,\n \"data-testid\": dataTestId\n }: FormattedNumberProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const renderSuffix = useMemo(() => {\n if (!suffix) return null;\n\n return <span className={cx(styles.suffix)}>{suffix}</span>;\n }, [suffix]);\n\n const renderPrefix = useMemo(() => {\n if (!prefix) return null;\n\n return <span className={cx(styles.prefix)}>{prefix}</span>;\n }, [prefix]);\n\n const calculatedValue = useMemo(() => {\n return formatNumber(Number(value), {\n local,\n precision: decimalPrecision,\n isCompact: compact\n });\n }, [value, decimalPrecision, local, compact]);\n\n if (validateValue(value)) {\n return <span>{emptyPlaceHolder}</span>;\n }\n\n return (\n <div\n ref={ref}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.FORMATTED_NUMBER, id)}\n >\n {rtl ? renderSuffix : renderPrefix}\n <span>{calculatedValue}</span>\n {rtl ? renderPrefix : renderSuffix}\n </div>\n );\n }\n);\n\nexport default FormattedNumber;\n"],"names":["FormattedNumber","forwardRef","_ref","ref","value","className","_ref$local","local","formatNumberConsts","DEFAULT_LOCAL","prefix","suffix","_ref$emptyPlaceHolder","emptyPlaceHolder","_ref$decimalPrecision","decimalPrecision","_ref$compact","compact","rtl","id","dataTestId","renderSuffix","useMemo","React","createElement","cx","styles","renderPrefix","calculatedValue","formatNumber","Number","precision","isCompact","validateValue","getTestId","ComponentDefaultTestId","FORMATTED_NUMBER"],"mappings":"kWA2CMA,IAAAA,EAAkBC,GACtB,SAAAC,EAcEC,GACE,IAbAC,EAAKF,EAALE,MACAC,EAASH,EAATG,UAASC,EAAAJ,EACTK,MAAAA,OAAK,IAAAD,EAAGE,EAAmBC,cAAaH,EACxCI,EAAMR,EAANQ,OACAC,EAAMT,EAANS,OAAMC,EAAAV,EACNW,iBAAAA,OAAmB,IAAHD,EAAG,MAAKA,EAAAE,EAAAZ,EACxBa,iBAAAA,OAAmB,IAAHD,EAAG,EAACA,EAAAE,EAAAd,EACpBe,QAAAA,OAAU,IAAHD,GAAOA,EACdE,EAAGhB,EAAHgB,IACAC,EAAEjB,EAAFiB,GACeC,EAAUlB,EAAzB,eAIImB,EAAeC,GAAQ,WAC3B,OAAKX,EAEEY,EAAMC,cAAA,OAAA,CAAAnB,UAAWoB,EAAGC,EAAOf,SAAUA,GAFxB,IAGtB,GAAG,CAACA,IAEEgB,EAAeL,GAAQ,WAC3B,OAAKZ,EAEEa,EAAMC,cAAA,OAAA,CAAAnB,UAAWoB,EAAGC,EAAOhB,SAAUA,GAFxB,IAGtB,GAAG,CAACA,IAEEkB,EAAkBN,GAAQ,WAC9B,OAAOO,EAAaC,OAAO1B,GAAQ,CACjCG,MAAAA,EACAwB,UAAWhB,EACXiB,UAAWf,GAEd,GAAE,CAACb,EAAOW,EAAkBR,EAAOU,IAEpC,OAAIgB,EAAc7B,GACTmB,EAAAC,cAAA,OAAA,KAAOX,GAIdU,uBACEpB,IAAKA,EACLE,UAAWA,EACXc,GAAIA,EAAE,cACOC,GAAcc,EAAUC,EAAuBC,iBAAkBjB,IAE7ED,EAAMG,EAAeM,EACtBJ,EAAAC,cAAA,OAAA,KAAOI,GACNV,EAAMS,EAAeN,EAG5B"}
@@ -1,2 +0,0 @@
1
- var e={formattedNumberComponent:"formattedNumberComponent_92cee071f8",prefix:"prefix_02bcabb918",suffix:"suffix_02bcabb918"};!function(e){const n="s_id-d821b20045aa_4_5_4";if("undefined"!=typeof document){const t=document.head||document.getElementsByTagName("head")[0];if(t.querySelector("#"+n))return;const i=document.createElement("style");i.id=n,t.firstChild?t.insertBefore(i,t.firstChild):t.appendChild(i),i.appendChild(document.createTextNode(e))}else globalThis.injectedStyles&&(globalThis.injectedStyles[n]=e)}("/* stylelint-disable */\n/* stylelint-enable */\n.formattedNumberComponent_92cee071f8 {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n font-family: var(--font-family);\n width: 100%;\n}\n.prefix_02bcabb918 {\n white-space: pre;\n}\n.suffix_02bcabb918 {\n white-space: pre;\n}");export{e as default};
2
- //# sourceMappingURL=FormattedNumber.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormattedNumber.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- var n=function(n){var e=null==n,t="string"==typeof n&&!n.replace(" ","").length;return e||isNaN(Number(n))||t};Object.freeze({range:function(n,e){return function(t,r,c){if(n>t[r]||t[r]>e)return Error("Invalid prop ".concat(r," supplied to ").concat(c,". ").concat(r," should be between ").concat(n," to ").concat(e,"."))}}});export{n as validateValue};
2
- //# sourceMappingURL=FormattedNumberHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormattedNumberHelpers.js","sources":["../../../../src/components/FormattedNumber/FormattedNumberHelpers.ts"],"sourcesContent":["export const validateValue = (value: number | string): boolean => {\n const isNullOrUndefined = value === null || value === undefined;\n const isEmptyStringWithSpaces = typeof value === \"string\" && !value.replace(\" \", \"\").length;\n return isNullOrUndefined || isNaN(Number(value)) || isEmptyStringWithSpaces;\n};\n\nconst range =\n (min: number, max: number) => (props: Record<string, number>, propName: string, componentName: string) => {\n if (props[propName] < min || props[propName] > max) {\n return new Error(\n `Invalid prop ${propName} supplied to ${componentName}. ${propName} should be between ${min} to ${max}.`\n );\n }\n };\n\nexport const customPropTypes = Object.freeze({\n range\n});\n"],"names":["validateValue","value","isNullOrUndefined","isEmptyStringWithSpaces","replace","length","isNaN","Number","Object","freeze","range","min","max","props","propName","componentName","Error","concat"],"mappings":"IAAaA,EAAgB,SAACC,GAC5B,IAAMC,EAAoBD,QACpBE,EAA2C,iBAAVF,IAAuBA,EAAMG,QAAQ,IAAK,IAAIC,OACrF,OAAOH,GAAqBI,MAAMC,OAAON,KAAWE,CACtD,EAW+BK,OAAOC,OAAO,CAC3CC,MATA,SAACC,EAAaC,GAAW,OAAK,SAACC,EAA+BC,EAAkBC,GAC9E,GAAsBJ,EAAlBE,EAAMC,IAAmBD,EAAMC,GAAYF,EAC7C,OAAWI,MAAKC,gBAAAA,OACEH,EAAQ,iBAAAG,OAAgBF,EAAa,MAAAE,OAAKH,EAAQG,uBAAAA,OAAsBN,UAAGM,OAAOL,EAAG,MAG1G"}
@@ -1,2 +0,0 @@
1
- import{convertToArray as t}from"../../shared/dist/utils/function-utils.js";var o=0,r=20,n="en-US";var i=Object.freeze({MIN_PRECISION:o,MAX_PRECISION:r,DEFAULT_LOCAL:n});function e(i){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=e.local,c=void 0===a?n:a,u=e.isCompact,l=void 0===u||u,s=e.precision,m=void 0===s?2:s;if(null!=i){var f=function(o){var r;try{r=!!Intl.NumberFormat.supportedLocalesOf(t(o),{localeMatcher:"lookup"}).length}catch(t){r=!1}return r}(c),v=function(t){return o>t?o:t>r?r:t}(m);return new Intl.NumberFormat(f?c:n,Object.assign(Object.assign({},l&&{notation:"compact"}),{maximumFractionDigits:v})).format(i)}}export{e as formatNumber,i as formatNumberConsts};
2
- //# sourceMappingURL=textManipulations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textManipulations.js","sources":["../../../src/helpers/textManipulations.ts"],"sourcesContent":["import { convertToArray } from \"@vibe/shared\";\n\nconst MIN_PRECISION = 0;\nconst MAX_PRECISION = 20;\nconst DEFAULT_LOCAL = \"en-US\";\n\nfunction validateLocalSupported(local: string) {\n let isLocalSupported;\n try {\n const options = { localeMatcher: \"lookup\" as const };\n isLocalSupported = !!Intl.NumberFormat.supportedLocalesOf(convertToArray(local), options).length;\n } catch (err) {\n isLocalSupported = false;\n }\n\n return isLocalSupported;\n}\n\nfunction validatePrecision(precision: number) {\n if (precision < MIN_PRECISION) return MIN_PRECISION;\n if (precision > MAX_PRECISION) return MAX_PRECISION;\n return precision;\n}\n\nexport const formatNumberConsts = Object.freeze({\n MIN_PRECISION,\n MAX_PRECISION,\n DEFAULT_LOCAL\n});\n\nexport function formatNumber(\n value: number,\n {\n local = DEFAULT_LOCAL,\n isCompact = true,\n precision = 2\n }: { local?: Intl.Locale[\"language\"]; isCompact?: boolean; precision?: number } = {}\n) {\n if (value === undefined || value === null) return;\n const isLocalSupported = validateLocalSupported(local);\n const normalizedPrecision = validatePrecision(precision);\n const selectedLocal = isLocalSupported ? local : DEFAULT_LOCAL;\n return new Intl.NumberFormat(selectedLocal, {\n ...(isCompact && { notation: \"compact\" }),\n maximumFractionDigits: normalizedPrecision\n }).format(value);\n}\n"],"names":["MIN_PRECISION","MAX_PRECISION","DEFAULT_LOCAL","formatNumberConsts","Object","freeze","formatNumber","value","_ref","arguments","length","undefined","_ref$local","local","_ref$isCompact","isCompact","_ref$precision","precision","isLocalSupported","Intl","NumberFormat","supportedLocalesOf","convertToArray","localeMatcher","err","validateLocalSupported","normalizedPrecision","validatePrecision","assign","notation","maximumFractionDigits","format"],"mappings":"2EAEA,IAAMA,EAAgB,EAChBC,EAAgB,GAChBC,EAAgB,YAoBTC,EAAqBC,OAAOC,OAAO,CAC9CL,cAAAA,EACAC,cAAAA,EACAC,cAAAA,aAGcI,EACdC,GAKoF,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAF,CAAE,EAAAG,EAAAJ,EAHlFK,MAAAA,OAAQX,IAAHU,EAAGV,EAAaU,EAAAE,EAAAN,EACrBO,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAAAR,EAChBS,UAAAA,OAAY,IAAHD,EAAG,EAACA,EAGf,GAAIT,QAAJ,CACA,IAAMW,EAjCR,SAAgCL,GAC9B,IAAIK,EACJ,IAEEA,IAAqBC,KAAKC,aAAaC,mBAAmBC,EAAeT,GADzD,CAAEU,cAAe,WACyDb,MAC3F,CAAC,MAAOc,GACPN,GAAmB,CACrB,CAEA,OAAOA,CACT,CAuB2BO,CAAuBZ,GAC1Ca,EAtBR,SAA2BT,GACzB,OAAgBjB,EAAZiB,EAAkCjB,EAClCiB,EAAYhB,EAAsBA,EAC/BgB,CACT,CAkB8BU,CAAkBV,GAE9C,OAAO,IAAIE,KAAKC,aADMF,EAAmBL,EAAQX,EACPE,OAAAwB,OAAAxB,OAAAwB,OAAA,CAAA,EACpCb,GAAa,CAAEc,SAAU,YAC7B,CAAAC,sBAAuBJ,KACtBK,OAAOxB,EAPiC,CAQ7C"}