@alma-oss/spirit-web-react 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +2 -1
  2. package/bundles/web-react.umd.js +450 -277
  3. package/bundles/web-react.umd.js.map +1 -1
  4. package/bundles/web-react.umd.min.js +1 -1
  5. package/bundles/web-react.umd.min.js.map +1 -1
  6. package/components/Accordion/Accordion.cjs +2 -2
  7. package/components/Accordion/Accordion.cjs.map +1 -1
  8. package/components/ActionGroup/ActionGroup.cjs +2 -2
  9. package/components/ActionGroup/ActionGroup.cjs.map +1 -1
  10. package/components/Avatar/Avatar.js.map +1 -1
  11. package/components/Button/Button.cjs +49 -12
  12. package/components/Button/Button.cjs.map +1 -1
  13. package/components/Button/Button.js.map +1 -1
  14. package/components/Button/useButtonStyleProps.js +6 -6
  15. package/components/Button/useButtonStyleProps.js.map +1 -1
  16. package/components/ButtonLink/ButtonLink.js.map +1 -1
  17. package/components/ButtonLink/useButtonLinkStyleProps.js +6 -6
  18. package/components/ButtonLink/useButtonLinkStyleProps.js.map +1 -1
  19. package/components/Card/CardLink.js.map +1 -1
  20. package/components/Checkbox/Checkbox.cjs +45 -1
  21. package/components/Checkbox/Checkbox.cjs.map +1 -1
  22. package/components/Checkbox/Checkbox.js.map +1 -1
  23. package/components/Checkbox/useCheckboxStyleProps.js +5 -2
  24. package/components/Checkbox/useCheckboxStyleProps.js.map +1 -1
  25. package/components/Collapse/Collapse.cjs +2 -2
  26. package/components/Collapse/Collapse.cjs.map +1 -1
  27. package/components/ControlButton/ControlButton.js.map +1 -1
  28. package/components/ControlButton/useControlButtonStyleProps.js +3 -4
  29. package/components/ControlButton/useControlButtonStyleProps.js.map +1 -1
  30. package/components/Drawer/Drawer.cjs +49 -12
  31. package/components/Drawer/Drawer.cjs.map +1 -1
  32. package/components/Drawer/DrawerPanel.js.map +1 -1
  33. package/components/FileUploader/useFileUploaderInput.js.map +1 -1
  34. package/components/Flex/Flex.cjs +2 -2
  35. package/components/Flex/Flex.cjs.map +1 -1
  36. package/components/Grid/Grid.cjs +6 -5
  37. package/components/Grid/Grid.cjs.map +1 -1
  38. package/components/Grid/useGridItemStyleProps.js +6 -5
  39. package/components/Grid/useGridItemStyleProps.js.map +1 -1
  40. package/components/Header/Header.cjs +49 -12
  41. package/components/Header/Header.cjs.map +1 -1
  42. package/components/Header/HeaderDialogLink.js.map +1 -1
  43. package/components/Header/HeaderLink.js.map +1 -1
  44. package/components/Hidden/Hidden.d.ts +9 -0
  45. package/components/Hidden/Hidden.js +31 -0
  46. package/components/Hidden/Hidden.js.map +1 -0
  47. package/components/Hidden/index.d.ts +1 -0
  48. package/components/Hidden/index.js +2 -0
  49. package/components/Hidden/index.js.map +1 -0
  50. package/components/Icon/Icon.js.map +1 -1
  51. package/components/Link/Link.js.map +1 -1
  52. package/components/Matrix/Matrix.cjs.map +1 -1
  53. package/components/Matrix/Matrix.js +2 -2
  54. package/components/Matrix/Matrix.js.map +1 -1
  55. package/components/Matrix/useMatrixStyleProps.d.ts +1 -1
  56. package/components/Matrix/useMatrixStyleProps.js.map +1 -1
  57. package/components/Modal/Modal.cjs +50 -14
  58. package/components/Modal/Modal.cjs.map +1 -1
  59. package/components/Modal/useModalDialogStyleProps.js +1 -2
  60. package/components/Modal/useModalDialogStyleProps.js.map +1 -1
  61. package/components/Navigation/NavigationAction.js.map +1 -1
  62. package/components/Navigation/NavigationAvatar.js.map +1 -1
  63. package/components/Pagination/Pagination.cjs +50 -13
  64. package/components/Pagination/Pagination.cjs.map +1 -1
  65. package/components/Pagination/PaginationButtonLink.js.map +1 -1
  66. package/components/Pagination/PaginationLink.js +1 -1
  67. package/components/Pagination/PaginationLink.js.map +1 -1
  68. package/components/Pagination/PaginationLinkNext.js.map +1 -1
  69. package/components/Pagination/PaginationLinkPrevious.js.map +1 -1
  70. package/components/PricingPlan/PricingPlan.cjs +50 -14
  71. package/components/PricingPlan/PricingPlan.cjs.map +1 -1
  72. package/components/Radio/Radio.cjs +45 -1
  73. package/components/Radio/Radio.cjs.map +1 -1
  74. package/components/Radio/Radio.js.map +1 -1
  75. package/components/Radio/useRadioStyleProps.js +5 -2
  76. package/components/Radio/useRadioStyleProps.js.map +1 -1
  77. package/components/ScrollView/ScrollView.cjs +39 -3
  78. package/components/ScrollView/ScrollView.cjs.map +1 -1
  79. package/components/ScrollView/useScrollPosition.js.map +1 -1
  80. package/components/SegmentedControl/SegmentedControlContext.js.map +1 -1
  81. package/components/Select/Select.js.map +1 -1
  82. package/components/SkipLink/SkipLink.js.map +1 -1
  83. package/components/Slider/Slider.js.map +1 -1
  84. package/components/Spinner/Spinner.js.map +1 -1
  85. package/components/SplitButton/SplitButton.cjs +49 -12
  86. package/components/SplitButton/SplitButton.cjs.map +1 -1
  87. package/components/Tabs/TabContext.js.map +1 -1
  88. package/components/Tabs/TabLink.js.map +1 -1
  89. package/components/Tag/Tag.js.map +1 -1
  90. package/components/TextArea/TextArea.js.map +1 -1
  91. package/components/TextArea/useAdjustHeight.js.map +1 -1
  92. package/components/TextField/TextField.js.map +1 -1
  93. package/components/TextFieldBase/TextFieldBase.js.map +1 -1
  94. package/components/TextFieldBase/TextFieldBaseInput.js.map +1 -1
  95. package/components/Toast/Toast.cjs.map +1 -1
  96. package/components/Toast/ToastBarLink.js.map +1 -1
  97. package/components/Toast/ToastContext.js +2 -2
  98. package/components/Toast/ToastContext.js.map +1 -1
  99. package/components/Toggle/Toggle.cjs +46 -1
  100. package/components/Toggle/Toggle.cjs.map +1 -1
  101. package/components/Toggle/Toggle.js.map +1 -1
  102. package/components/Toggle/useToggleStyleProps.js +5 -2
  103. package/components/Toggle/useToggleStyleProps.js.map +1 -1
  104. package/components/UNSTABLE_Header/UNSTABLE_HeaderLogo.js.map +1 -1
  105. package/components/components.cjs +344 -263
  106. package/components/components.cjs.map +1 -1
  107. package/components/index.d.ts +1 -0
  108. package/components/index.js +1 -0
  109. package/components/index.js.map +1 -1
  110. package/constants/constants.cjs +6 -0
  111. package/constants/constants.cjs.map +1 -1
  112. package/constants/index.d.ts +1 -0
  113. package/constants/index.js +1 -0
  114. package/constants/index.js.map +1 -1
  115. package/constants/inputs.d.ts +4 -0
  116. package/constants/inputs.js +5 -0
  117. package/constants/inputs.js.map +1 -0
  118. package/hooks/hooks.cjs +48 -7
  119. package/hooks/hooks.cjs.map +1 -1
  120. package/hooks/index.d.ts +2 -1
  121. package/hooks/index.js +2 -1
  122. package/hooks/index.js.map +1 -1
  123. package/hooks/useDeprecationMessage.js +2 -2
  124. package/hooks/useDeprecationMessage.js.map +1 -1
  125. package/hooks/useInputPositionClass.d.ts +2 -0
  126. package/hooks/useInputPositionClass.js +8 -0
  127. package/hooks/useInputPositionClass.js.map +1 -0
  128. package/hooks/useSymmetry.d.ts +7 -0
  129. package/hooks/useSymmetry.js +39 -0
  130. package/hooks/useSymmetry.js.map +1 -0
  131. package/index.cjs +347 -268
  132. package/index.cjs.map +1 -1
  133. package/package.json +6 -15
  134. package/spirit-web-react.cjs +347 -268
  135. package/spirit-web-react.cjs.map +1 -1
  136. package/spirit-web-react.min.cjs +1 -1
  137. package/types/button.d.ts +2 -2
  138. package/types/checkbox.d.ts +2 -1
  139. package/types/controlButton.d.ts +2 -2
  140. package/types/hidden.d.ts +10 -0
  141. package/types/hidden.js +2 -0
  142. package/types/hidden.js.map +1 -0
  143. package/types/index.d.ts +1 -0
  144. package/types/index.js +1 -0
  145. package/types/index.js.map +1 -1
  146. package/types/item.d.ts +2 -2
  147. package/types/pricingPlan.d.ts +1 -1
  148. package/types/radio.d.ts +2 -1
  149. package/types/shared/inputs.d.ts +3 -0
  150. package/types/slider.d.ts +2 -2
  151. package/types/toggle.d.ts +2 -1
  152. package/hooks/useDirectionClass.d.ts +0 -2
  153. package/hooks/useDirectionClass.js +0 -5
  154. package/hooks/useDirectionClass.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Collapse.cjs","sources":["../../common/constants/environments.js","../../common/utilities/warning.js","../../constants/classes.js","../../constants/dictionaries.js","../../constants/direction.js","../../constants/style.js","../../context/ClassNamePrefixContext.js","../../types/card.js","../../types/shared/style.js","../../types/shared/tokens.js","../../types/shared/index.js","../../utils/assert.js","../../utils/classname.js","../../utils/mergeStyleProps.js","../../utils/ssr.js","../../utils/string.js","../../hooks/useStyleUtilities.js","../../hooks/styleProps.js","../../hooks/useClassNamePrefix.js","../../hooks/useDeprecationMessage.js","../../context/IconsContext.js","../../hooks/useIsMounted.js","../../hooks/useResizeObserver.js","useCollapseAriaProps.js","useCollapseStyleProps.js","useResizeHeight.js","Collapse.js","useCollapse.js","UncontrolledCollapse.js"],"sourcesContent":["export const ENVIRONMENTS = {\n DEVELOPMENT: 'development',\n TESTING: 'testing',\n PRODUCTION: 'production',\n};\nexport const isDevelopment = () => process.env.NODE_ENV === ENVIRONMENTS.DEVELOPMENT;\nexport const isTesting = () => process.env.NODE_ENV === ENVIRONMENTS.TESTING;\nexport const isProduction = () => process.env.NODE_ENV === ENVIRONMENTS.PRODUCTION;\n//# sourceMappingURL=environments.js.map","import { isProduction } from \"../constants/environments.js\";\nconst warning = (condition, message) => {\n if (!isProduction()) {\n if (condition) {\n return;\n }\n const text = `Warning: ${message}`;\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n try {\n throw Error(text);\n }\n catch (x) {\n }\n }\n};\nexport default warning;\n//# sourceMappingURL=warning.js.map","export const CLASS_NAME_OPEN = 'is-open';\n//# sourceMappingURL=classes.js.map","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { componentColors, containers, emotionColors, textColors } from '@alma-oss/spirit-design-tokens';\nfunction createUppercaseKeyDictionary(obj) {\n return Object.fromEntries(Object.keys(obj).map((key) => [key.toUpperCase(), key]));\n}\nexport const AlignmentX = {\n LEFT: 'left',\n CENTER: 'center',\n RIGHT: 'right',\n};\nexport const AlignmentXExtended = Object.assign({ SPACE_BETWEEN: 'space-between', STRETCH: 'stretch' }, AlignmentX);\nexport const AlignmentY = {\n TOP: 'top',\n CENTER: 'center',\n BOTTOM: 'bottom',\n};\nexport const AlignmentYExtended = Object.assign({ BASELINE: 'baseline', STRETCH: 'stretch' }, AlignmentY);\nexport const TextAlignments = {\n LEFT: 'left',\n CENTER: 'center',\n RIGHT: 'right',\n};\nexport const BorderColors = {\n BASIC: 'basic',\n};\nexport const BorderRadii = {\n 0: '0',\n 100: '100',\n 200: '200',\n 300: '300',\n 400: '400',\n 500: '500',\n FULL: 'full',\n};\nexport const BorderStyles = {\n SOLID: 'solid',\n DOTTED: 'dotted',\n DASHED: 'dashed',\n};\nexport const BorderWidths = {\n 0: '0',\n 100: '100',\n 200: '200',\n};\nexport const BackgroundColors = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n TERTIARY: 'tertiary',\n};\nexport const ComponentButtonColors = createUppercaseKeyDictionary(componentColors.button);\nexport const EmotionColors = createUppercaseKeyDictionary(emotionColors);\nexport const LinkColors = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n TERTIARY: 'tertiary',\n};\nexport const TextColors = createUppercaseKeyDictionary(textColors);\nexport const Intensity = {\n BASIC: 'basic',\n SUBTLE: 'subtle',\n};\nexport const Emphasis = {\n REGULAR: 'regular',\n SEMIBOLD: 'semibold',\n BOLD: 'bold',\n ITALIC: 'italic',\n};\nexport const BackgroundGradients = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n};\nexport const Placements = {\n TOP: 'top',\n TOP_START: 'top-start',\n TOP_END: 'top-end',\n BOTTOM: 'bottom',\n BOTTOM_START: 'bottom-start',\n BOTTOM_END: 'bottom-end',\n LEFT: 'left',\n LEFT_START: 'left-start',\n LEFT_END: 'left-end',\n RIGHT: 'right',\n RIGHT_START: 'right-start',\n RIGHT_END: 'right-end',\n};\nexport const Sizes = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n};\nexport const SizesExtended = Object.assign(Object.assign({ XSMALL: 'xsmall' }, Sizes), { XLARGE: 'xlarge' });\nconst _a = createUppercaseKeyDictionary(containers), { MAXWIDTH, PADDING } = _a, ContainerTokenSizes = __rest(_a, [\"MAXWIDTH\", \"PADDING\"]);\nexport { ContainerTokenSizes };\nexport const ValidationStates = {\n SUCCESS: 'success',\n WARNING: 'warning',\n DANGER: 'danger',\n};\nexport const FillVariants = {\n FILL: 'fill',\n OUTLINE: 'outline',\n};\nexport const ShapeVariants = {\n BOX: 'box',\n PILL: 'pill',\n};\n//# sourceMappingURL=dictionaries.js.map","export const Direction = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n};\nexport const DirectionExtended = Object.assign(Object.assign({}, Direction), { HORIZONTAL_REVERSED: 'horizontal-reversed' });\nexport var DirectionAxis;\n(function (DirectionAxis) {\n DirectionAxis[\"X\"] = \"x\";\n DirectionAxis[\"Y\"] = \"y\";\n})(DirectionAxis || (DirectionAxis = {}));\nexport const isDirectionHorizontal = (direction) => direction === Direction.HORIZONTAL;\n//# sourceMappingURL=direction.js.map","export const BackgroundStyleProps = {\n backgroundGradient: 'bg-gradient',\n};\nexport const BorderRadiusStyleProps = {\n borderRadius: 'rounded',\n};\nexport const SpacingStyleProp = {\n margin: 'm',\n marginTop: 'mt',\n marginRight: 'mr',\n marginBottom: 'mb',\n marginLeft: 'ml',\n marginX: 'mx',\n marginY: 'my',\n};\nexport const PaddingStyleProps = {\n padding: 'p',\n paddingBottom: 'pb',\n paddingLeft: 'pl',\n paddingRight: 'pr',\n paddingTop: 'pt',\n paddingX: 'px',\n paddingY: 'py',\n};\nexport const TextStyleProps = {\n isTextBalanced: 'text-wrap-pretty',\n textAlignment: 'text',\n textHyphens: 'text-hyphens',\n textWordBreak: 'text-word-break',\n};\nexport const HeadingStyleProps = {\n isTextBalanced: 'text-wrap-balance',\n};\nexport const DisplayStyleProps = {\n hideOn: 'd',\n hideFrom: 'd',\n};\nexport const ThemeStyleProps = {\n theme: '',\n};\n//# sourceMappingURL=style.js.map","'use client';\nimport { createContext } from 'react';\nconst defaultContext = undefined;\nconst ClassNamePrefixContext = createContext(defaultContext);\nconst ClassNamePrefixProvider = ClassNamePrefixContext.Provider;\nconst ClassNamePrefixConsumer = ClassNamePrefixContext.Consumer;\nexport default ClassNamePrefixContext;\nexport { ClassNamePrefixConsumer, ClassNamePrefixProvider };\n//# sourceMappingURL=ClassNamePrefixContext.js.map","import { Sizes } from \"../constants/index.js\";\nexport const CardSizes = Object.assign(Object.assign({}, Sizes), { AUTO: 'auto' });\n//# sourceMappingURL=card.js.map","export const STYLE_SPACING_AUTO = 'auto';\n//# sourceMappingURL=style.js.map","export const BREAKPOINT_MOBILE = 'mobile';\n//# sourceMappingURL=tokens.js.map","export * from \"./adornments.js\";\nexport * from \"./buttons.js\";\nexport * from \"./colors.js\";\nexport * from \"./columns.js\";\nexport * from \"./dialogs.js\";\nexport * from \"./dictionaries.js\";\nexport * from \"./directions.js\";\nexport * from \"./dragAndDrop.js\";\nexport * from \"./element.js\";\nexport * from \"./events.js\";\nexport * from \"./inputs.js\";\nexport * from \"./item.js\";\nexport * from \"./positions.js\";\nexport * from \"./radii.js\";\nexport * from \"./refs.js\";\nexport * from \"./responsive.js\";\nexport * from \"./rest.js\";\nexport * from \"./sizes.js\";\nexport * from \"./style.js\";\nexport * from \"./text.js\";\nexport * from \"./tokens.js\";\nexport var SpiritBreakpoints;\n(function (SpiritBreakpoints) {\n SpiritBreakpoints[\"TABLET\"] = \"tablet\";\n SpiritBreakpoints[\"DESKTOP\"] = \"desktop\";\n})(SpiritBreakpoints || (SpiritBreakpoints = {}));\n//# sourceMappingURL=index.js.map","export const isNullish = (value) => value == null;\nexport const isEmptyString = (value) => typeof value === 'string' && value.trim() === '';\nexport const isEmptyArray = (value) => Array.isArray(value) && value.length === 0;\nexport const isEmptyObject = (value) => typeof value === 'object' && value !== null && Object.keys(value).length === 0;\nexport const isEnumerable = (value) => {\n if (typeof value === 'object' && value !== null) {\n for (const key in value) {\n if (Object.hasOwnProperty.call(value, key)) {\n return true;\n }\n }\n }\n return false;\n};\nexport const isEmpty = (value) => {\n if (isNullish(value)) {\n return true;\n }\n if (isEmptyString(value)) {\n return true;\n }\n if (isEmptyArray(value)) {\n return true;\n }\n if (isEmptyObject(value)) {\n return true;\n }\n if (isEnumerable(value)) {\n return false;\n }\n return false;\n};\n//# sourceMappingURL=assert.js.map","export const applyClassNamePrefix = (prefix) => (className) => prefix != null && prefix !== '' ? `${prefix}-${className}` : className;\nexport const applyColor = (color) => (className) => `${className}--${color}`;\nexport const applySize = (size) => (className) => `${className}--${size}`;\nexport const applyTheme = (theme) => (className) => `${className}--${theme}`;\n//# sourceMappingURL=classname.js.map","export function mergeStyleProps(ElementTag, styleProps) {\n const isSpiritComponent = typeof ElementTag !== 'string' && !!(ElementTag === null || ElementTag === void 0 ? void 0 : ElementTag.spiritComponent);\n const isNonNullableObject = (styleProp) => typeof styleProp === 'object' && styleProp !== null;\n const extractClassNames = (styleProp) => {\n if (typeof styleProp === 'string') {\n return [styleProp];\n }\n if (isNonNullableObject(styleProp)) {\n return [styleProp.className, styleProp.UNSAFE_className].filter(Boolean);\n }\n return [];\n };\n const extractCssVariables = (styleProp) => isNonNullableObject(styleProp)\n ? Object.entries(styleProp)\n .filter(([key]) => key.startsWith('--'))\n .reduce((extractedCssVariable, [key, value]) => (Object.assign(Object.assign({}, extractedCssVariable), { [key]: value })), {})\n : {};\n const extractCssStylesAndVariables = (cssProperties, styleProp) => {\n if (!isNonNullableObject(styleProp)) {\n return cssProperties;\n }\n const typedStyleProp = styleProp;\n const styles = typedStyleProp.style || typedStyleProp.UNSAFE_style || {};\n const cssVariables = extractCssVariables(styleProp);\n return Object.assign(Object.assign(Object.assign({}, cssProperties), styles), cssVariables);\n };\n const mergedClasses = Object.values(styleProps).flatMap(extractClassNames).filter(Boolean).join(' ');\n const mergedStyles = Object.values(styleProps)\n .filter(isNonNullableObject)\n .reduce(extractCssStylesAndVariables, {});\n return isSpiritComponent\n ? { UNSAFE_className: mergedClasses, UNSAFE_style: mergedStyles }\n : { className: mergedClasses, style: mergedStyles };\n}\n//# sourceMappingURL=mergeStyleProps.js.map","export const isSSR = typeof window === 'undefined';\n//# sourceMappingURL=ssr.js.map","export const camelCaseToKebabCase = (input) => input.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\nexport const kebabCaseToCamelCase = (input) => input.replace(/-([a-z])/g, (g) => g[1].toUpperCase());\nexport const kebabCaseToCamelCaseValues = (input) => {\n if (typeof input === 'object' && input !== null) {\n const result = {};\n for (const [key, value] of Object.entries(input)) {\n result[key] = typeof value === 'string' ? kebabCaseToCamelCase(value) : value;\n }\n return result;\n }\n return input;\n};\nexport const stringOrObjectKebabCaseToCamelCase = (input) => {\n if (typeof input === 'string') {\n return kebabCaseToCamelCase(input);\n }\n if (typeof input === 'object' && input !== null) {\n return kebabCaseToCamelCaseValues(input);\n }\n return input;\n};\n//# sourceMappingURL=string.js.map","import { SpacingStyleProp as DefaultSpacingStyleProp, DisplayStyleProps, ThemeStyleProps } from \"../constants/index.js\";\nimport { BREAKPOINT_MOBILE, STYLE_SPACING_AUTO, } from \"../types/index.js\";\nimport { applyClassNamePrefix, camelCaseToKebabCase, isEmpty } from \"../utils/index.js\";\nconst CLASS_SEPARATOR = '-';\nconst normalizeSpacingValue = (value) => value === STYLE_SPACING_AUTO ? STYLE_SPACING_AUTO : value.replace(/[^0-9]/g, '');\nconst isSpaceToken = (value) => typeof value === 'string' && value.startsWith('space-');\nconst getUtilityValue = (value) => (isSpaceToken(value) ? normalizeSpacingValue(value) : value);\nconst isKeyIncluded = (object, key) => Object.keys(object).includes(key);\nconst processBreakpointProperties = (utilityName, propValue, prefix) => Object.keys(propValue).reduce((accumulatedBreakpointUtilities, breakpoint) => {\n const breakpointValue = propValue[breakpoint];\n if (typeof breakpointValue === 'string') {\n const utilityValue = getUtilityValue(breakpointValue);\n const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `${CLASS_SEPARATOR}${breakpoint}`;\n accumulatedBreakpointUtilities.push(applyClassNamePrefix(prefix)(`${utilityName}${infix}${CLASS_SEPARATOR}${utilityValue}`));\n }\n return accumulatedBreakpointUtilities;\n}, []);\nconst processHideOnProperty = (utilityName, propValue, prefix) => {\n const breakpoints = Array.isArray(propValue) ? propValue : [propValue];\n return breakpoints.map((breakpoint) => applyClassNamePrefix(prefix)(`${utilityName}${CLASS_SEPARATOR}only${CLASS_SEPARATOR}${breakpoint}${CLASS_SEPARATOR}none`));\n};\nconst processHideFromProperty = (utilityName, propValue, prefix) => {\n const breakpoint = propValue;\n const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `${CLASS_SEPARATOR}${breakpoint}`;\n return [applyClassNamePrefix(prefix)(`${utilityName}${infix}${CLASS_SEPARATOR}none`)];\n};\nconst processDisplayProperties = (utilityKey, utilityName, propValue, prefix) => {\n switch (utilityKey) {\n case 'hideOn':\n return processHideOnProperty(utilityName, propValue, prefix);\n case 'hideFrom':\n return processHideFromProperty(utilityName, propValue, prefix);\n default:\n return [];\n }\n};\nconst processProperties = (utilityKey, utilityName, propValue, prefix) => {\n if (utilityName === ThemeStyleProps.theme) {\n if (typeof propValue !== 'string') {\n return [];\n }\n const themeClassName = camelCaseToKebabCase(propValue);\n return [applyClassNamePrefix(prefix)(themeClassName)];\n }\n if (utilityKey in DisplayStyleProps) {\n return processDisplayProperties(utilityKey, utilityName, propValue, prefix);\n }\n if (typeof propValue === 'boolean') {\n return propValue ? [applyClassNamePrefix(prefix)(utilityName)] : [];\n }\n if (typeof propValue === 'string') {\n return [applyClassNamePrefix(prefix)(`${utilityName}-${getUtilityValue(propValue)}`)];\n }\n return processBreakpointProperties(utilityName, propValue, prefix);\n};\nconst isStylePropProcessable = (styleProps, stylePropKey, stylePropValue, options = { includesKey: true }) => {\n const isStylePropKeyIncluded = isKeyIncluded(styleProps, stylePropKey);\n const isProcessable = (options.includesKey ? isStylePropKeyIncluded : !isStylePropKeyIncluded) && !isEmpty(stylePropValue);\n return isProcessable;\n};\nexport const useStyleUtilities = (props, prefix = '', additionalProps = {}) => {\n const styleProps = Object.assign(Object.assign(Object.assign(Object.assign({}, DefaultSpacingStyleProp), DisplayStyleProps), ThemeStyleProps), additionalProps);\n const propEntries = Object.entries(props);\n const styleUtilities = propEntries.reduce((accumulatedUtilities, [key, propValue]) => {\n if (isStylePropProcessable(styleProps, key, propValue)) {\n const utilityName = styleProps[key];\n return [\n ...accumulatedUtilities,\n ...processProperties(key, utilityName, propValue, prefix),\n ];\n }\n return accumulatedUtilities;\n }, []);\n const updatedProps = propEntries.reduce((accumulatedProps, [key, propValue]) => {\n if (isStylePropProcessable(styleProps, key, propValue, { includesKey: false })) {\n return Object.assign(Object.assign({}, accumulatedProps), { [key]: propValue });\n }\n return accumulatedProps;\n }, {});\n return {\n styleUtilities,\n props: updatedProps,\n };\n};\n//# sourceMappingURL=useStyleUtilities.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { useContext } from 'react';\nimport { warning } from \"../common/utilities/index.js\";\nimport { ThemeStyleProps } from \"../constants/index.js\";\nimport ClassNamePrefixContext from \"../context/ClassNamePrefixContext.js\";\nimport { useStyleUtilities } from \"./useStyleUtilities.js\";\nexport function useStyleProps(props, additionalUtilities) {\n const classNamePrefix = useContext(ClassNamePrefixContext);\n const { UNSAFE_className, UNSAFE_style } = props, otherProps = __rest(props, [\"UNSAFE_className\", \"UNSAFE_style\"]);\n const styleUtilitiesConfig = Object.assign({ theme: ThemeStyleProps.theme }, (additionalUtilities !== null && additionalUtilities !== void 0 ? additionalUtilities : {}));\n const { styleUtilities, props: modifiedProps } = useStyleUtilities(otherProps, classNamePrefix, styleUtilitiesConfig);\n const style = Object.assign({}, UNSAFE_style);\n if (modifiedProps.className) {\n warning(false, 'The className prop is unsafe and is unsupported in Spirit Web React. ' +\n 'Please use style props with Spirit Design Tokens, or UNSAFE_className if you absolutely must do something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.');\n delete modifiedProps.className;\n }\n if (modifiedProps.style) {\n warning(false, 'The style prop is unsafe and is unsupported in Spirit Web React. ' +\n 'Please use style props with Spirit Design Tokens, or UNSAFE_style if you absolutely must do something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.');\n delete modifiedProps.style;\n }\n const styleProps = {\n style: Object.keys(style).length > 0 ? style : undefined,\n className: classNames(UNSAFE_className, ...styleUtilities) || undefined,\n };\n return {\n styleProps,\n props: modifiedProps,\n };\n}\n//# sourceMappingURL=styleProps.js.map","'use client';\nimport { useContext } from 'react';\nimport ClassNamePrefixContext from \"../context/ClassNamePrefixContext.js\";\nimport { applyClassNamePrefix } from \"../utils/classname.js\";\nexport const useClassNamePrefix = (className) => {\n const classNamePrefix = useContext(ClassNamePrefixContext);\n let prefixedClassName = className;\n if (className && classNamePrefix) {\n prefixedClassName = applyClassNamePrefix(classNamePrefix)(className);\n }\n else if (classNamePrefix) {\n prefixedClassName = classNamePrefix;\n }\n return prefixedClassName;\n};\n//# sourceMappingURL=useClassNamePrefix.js.map","'use client';\nimport { useEffect } from 'react';\nimport { warning } from \"../common/utilities/index.js\";\nexport const useDeprecationMessage = ({ method = 'component', trigger, componentName, componentProps, propertyProps, customText, }) => {\n let message;\n let hasProps;\n const messageBase = `Deprecation warning (${componentName}):`;\n useEffect(() => {\n const isExecutable = trigger && componentName && process.env.NODE_ENV === 'development';\n switch (method) {\n case 'property':\n if (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.delete) {\n message = `${messageBase} \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedName}\" property will be deleted in the next major version.`;\n }\n else if ((propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedValue) && (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.newValue) && (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.propertyName)) {\n message = `${messageBase} The \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedValue}\" value for \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.propertyName}\" property will be renamed to \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.newValue}\" in the next major version.`;\n }\n else {\n message = `${messageBase} \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedName}\" property will be replaced in the next major version. Please use \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.newName}\" instead. ♻️️`;\n }\n hasProps = !!propertyProps;\n break;\n case 'custom':\n message = `${messageBase} ${customText}`;\n hasProps = true;\n break;\n case 'component':\n default:\n if (componentProps === null || componentProps === void 0 ? void 0 : componentProps.delete) {\n message = `${messageBase} The component and its subcomponents will be deleted in the next major version.`;\n }\n else {\n message = `${messageBase} The component and its subcomponents will be renamed to \"${componentProps === null || componentProps === void 0 ? void 0 : componentProps.newName}\" in the next major version.`;\n }\n hasProps = !!componentProps;\n break;\n }\n if (message && isExecutable && hasProps) {\n warning(false, message);\n }\n }, []);\n};\n//# sourceMappingURL=useDeprecationMessage.js.map","'use client';\nimport { createContext } from 'react';\nconst defaultContext = undefined;\nconst IconsContext = createContext(defaultContext);\nconst IconsProvider = IconsContext.Provider;\nconst IconsConsumer = IconsContext.Consumer;\nexport default IconsContext;\nexport { IconsConsumer, IconsProvider };\n//# sourceMappingURL=IconsContext.js.map","'use client';\nimport { useCallback, useEffect, useRef } from 'react';\nexport function useIsMounted() {\n const isMounted = useRef(false);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return useCallback(() => isMounted.current, []);\n}\n//# sourceMappingURL=useIsMounted.js.map","'use client';\nimport { useEffect, useRef, useState } from 'react';\nimport { isSSR } from \"../utils/index.js\";\nimport { useIsMounted } from \"./useIsMounted.js\";\nfunction extractSize(entry, box, sizeType) {\n if (!entry[box]) {\n if (box === 'contentBoxSize') {\n return entry.contentRect[sizeType === 'inlineSize' ? 'width' : 'height'];\n }\n return undefined;\n }\n return Array.isArray(entry[box])\n ? entry[box][0][sizeType]\n :\n entry[box][sizeType];\n}\nconst initialSize = {\n width: undefined,\n height: undefined,\n};\nexport function useResizeObserver(options) {\n const { ref, box = 'border-box' } = options;\n const [{ width, height }, setSize] = useState(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef(Object.assign({}, initialSize));\n const onResize = useRef(undefined);\n onResize.current = options.onResize;\n useEffect(() => {\n if (isSSR) {\n return;\n }\n if (!('ResizeObserver' in window)) {\n return;\n }\n if (!ref.current) {\n return;\n }\n const observer = new ResizeObserver(([entry]) => {\n const boxProp = box === 'border-box'\n ? 'borderBoxSize'\n : box === 'device-pixel-content-box'\n ? 'devicePixelContentBoxSize'\n : 'contentBoxSize';\n const newWidth = extractSize(entry, boxProp, 'inlineSize');\n const newHeight = extractSize(entry, boxProp, 'blockSize');\n const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n if (hasChanged) {\n const newSize = { width: newWidth, height: newHeight };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n if (onResize.current) {\n onResize.current(newSize);\n }\n else if (isMounted()) {\n setSize(newSize);\n }\n }\n });\n observer.observe(ref.current, { box });\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted]);\n return { width, height };\n}\n//# sourceMappingURL=useResizeObserver.js.map","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useDeprecationMessage } from \"../../hooks/index.js\";\nconst ATTRIBUTE_ARIA_EXPANDED = 'aria-expanded';\nconst ATTRIBUTE_ARIA_CONTROLS = 'aria-controls';\nconst ATTRIBUTE_DATA_BREAKPOINT = 'data-spirit-breakpoint';\nexport const useCollapseAriaProps = (props) => {\n const { isOpen, collapsibleToBreakpoint } = props, modifiedProps = __rest(props, [\"isOpen\", \"collapsibleToBreakpoint\"]);\n useDeprecationMessage({\n method: 'custom',\n trigger: !modifiedProps.id,\n componentName: 'Collapse',\n customText: 'The \"id\" property will be required instead of optional starting from the next major version.',\n });\n return {\n ariaProps: {\n root: {\n [ATTRIBUTE_DATA_BREAKPOINT]: collapsibleToBreakpoint,\n },\n trigger: {\n [ATTRIBUTE_ARIA_EXPANDED]: isOpen,\n [ATTRIBUTE_ARIA_CONTROLS]: String(modifiedProps.id),\n },\n },\n props: modifiedProps,\n };\n};\n//# sourceMappingURL=useCollapseAriaProps.js.map","import classNames from 'classnames';\nimport { CLASS_NAME_OPEN } from \"../../constants/index.js\";\nimport { useClassNamePrefix } from \"../../hooks/index.js\";\nexport const useCollapseStyleProps = (isOpen, elementType, collapseHeight) => {\n const collapseClass = useClassNamePrefix('Collapse');\n const collapseContentClass = `${collapseClass}__content`;\n const openClass = isOpen ? CLASS_NAME_OPEN : '';\n const rootClass = classNames(collapseClass, openClass);\n const isSpanElement = elementType === 'span';\n const styleProps = isSpanElement ? {} : { height: isOpen ? collapseHeight : 0 };\n return {\n classProps: {\n root: rootClass,\n content: collapseContentClass,\n },\n styleProps,\n };\n};\n//# sourceMappingURL=useCollapseStyleProps.js.map","'use client';\nimport { useState } from 'react';\nimport { useResizeObserver } from \"../../hooks/useResizeObserver.js\";\nexport const useResizeHeight = (ref) => {\n const [height, setHeight] = useState(undefined);\n const onResize = (size) => {\n const currentHeight = size.height;\n setHeight(`${currentHeight}px`);\n };\n useResizeObserver({ ref, onResize });\n return height;\n};\n//# sourceMappingURL=useResizeHeight.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useRef } from 'react';\nimport { Transition } from 'react-transition-group';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nimport { useCollapseAriaProps } from \"./useCollapseAriaProps.js\";\nimport { useCollapseStyleProps } from \"./useCollapseStyleProps.js\";\nimport { useResizeHeight } from \"./useResizeHeight.js\";\nconst TRANSITION_DURATION = 250;\nconst transitioningStyles = {\n entering: 'is-transitioning',\n entered: '',\n exiting: 'is-transitioning',\n exited: '',\n};\nconst defaultProps = {\n elementType: 'div',\n isOpen: false,\n collapsibleToBreakpoint: undefined,\n transitionDuration: TRANSITION_DURATION,\n};\nconst Collapse = (props) => {\n const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n const { elementType: ElementTag = defaultProps.elementType, children, transitionDuration = TRANSITION_DURATION } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"elementType\", \"children\", \"transitionDuration\"]);\n const rootElementRef = useRef(null);\n const collapseElementRef = useRef(null);\n const collapseHeight = useResizeHeight(collapseElementRef);\n const { classProps, styleProps: collapseStyleProps } = useCollapseStyleProps(restProps.isOpen, ElementTag, collapseHeight);\n const { ariaProps, props: otherProps } = useCollapseAriaProps(restProps);\n const { styleProps, props: transferProps } = useStyleProps(otherProps);\n const mergedCollapseStyleProps = {\n className: styleProps.className,\n style: Object.assign(Object.assign({}, collapseStyleProps), styleProps.style),\n };\n const isInlineElement = ElementTag === 'span';\n if (isInlineElement && restProps.isOpen) {\n return children;\n }\n return (React.createElement(Transition, { in: restProps.isOpen, nodeRef: rootElementRef, timeout: transitionDuration }, (transitionState) => (React.createElement(ElementTag, Object.assign({}, transferProps, ariaProps.root, mergeStyleProps(ElementTag, {\n classProps: classProps.root,\n styleProps,\n collapseStyleProps: mergedCollapseStyleProps,\n transitioningStyles: transitioningStyles[transitionState],\n }), { ref: rootElementRef }),\n React.createElement(ElementTag, { ref: collapseElementRef, className: classProps.content }, children)))));\n};\nCollapse.spiritComponent = 'Collapse';\nexport default Collapse;\n//# sourceMappingURL=Collapse.js.map","'use client';\nimport { useState } from 'react';\nexport const useCollapse = (defaultOpenState) => {\n const [isOpen, toggle] = useState(defaultOpenState);\n const toggleHandler = (event) => {\n event.preventDefault();\n toggle(!isOpen);\n };\n return {\n toggleHandler,\n toggle,\n isOpen,\n };\n};\n//# sourceMappingURL=useCollapse.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport Collapse from \"./Collapse.js\";\nimport { useCollapse } from \"./useCollapse.js\";\nimport { useCollapseAriaProps } from \"./useCollapseAriaProps.js\";\nconst defaultProps = {\n isOpen: false,\n};\nconst UncontrolledCollapse = (props) => {\n const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n const { children, hideOnCollapse, isDisposable, renderTrigger } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"children\", \"hideOnCollapse\", \"isDisposable\", \"renderTrigger\"]);\n const { isOpen, toggleHandler } = useCollapse(restProps.isOpen);\n const { ariaProps } = useCollapseAriaProps(Object.assign(Object.assign({}, restProps), { isOpen }));\n const isDisposed = hideOnCollapse || isDisposable;\n const triggerRenderHandler = () => {\n const showTrigger = isDisposed ? !(isDisposed && isOpen) : true;\n return renderTrigger && showTrigger\n ? renderTrigger(Object.assign({ isOpen, onClick: toggleHandler }, ariaProps.trigger))\n : null;\n };\n return (React.createElement(React.Fragment, null,\n triggerRenderHandler(),\n isDisposed && isOpen ? (children) : (React.createElement(Collapse, Object.assign({}, restProps, { isOpen: isOpen }), children))));\n};\nUncontrolledCollapse.spiritComponent = 'UncontrolledCollapse';\nexport default UncontrolledCollapse;\n//# sourceMappingURL=UncontrolledCollapse.js.map"],"names":["__rest","this","componentColors","emotionColors","textColors","containers","defaultContext","createContext","DefaultSpacingStyleProp","useContext","useEffect","useRef","useCallback","useState","defaultProps","Transition"],"mappings":"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"}
1
+ {"version":3,"file":"Collapse.cjs","sources":["../../common/constants/environments.js","../../common/utilities/warning.js","../../constants/classes.js","../../constants/dictionaries.js","../../constants/direction.js","../../constants/style.js","../../context/ClassNamePrefixContext.js","../../types/card.js","../../types/shared/style.js","../../types/shared/tokens.js","../../types/shared/index.js","../../utils/assert.js","../../utils/classname.js","../../utils/mergeStyleProps.js","../../utils/ssr.js","../../utils/string.js","../../hooks/useStyleUtilities.js","../../hooks/styleProps.js","../../hooks/useClassNamePrefix.js","../../hooks/useDeprecationMessage.js","../../context/IconsContext.js","../../hooks/useIsMounted.js","../../hooks/useResizeObserver.js","useCollapseAriaProps.js","useCollapseStyleProps.js","useResizeHeight.js","Collapse.js","useCollapse.js","UncontrolledCollapse.js"],"sourcesContent":["export const ENVIRONMENTS = {\n DEVELOPMENT: 'development',\n TESTING: 'testing',\n PRODUCTION: 'production',\n};\nexport const isDevelopment = () => process.env.NODE_ENV === ENVIRONMENTS.DEVELOPMENT;\nexport const isTesting = () => process.env.NODE_ENV === ENVIRONMENTS.TESTING;\nexport const isProduction = () => process.env.NODE_ENV === ENVIRONMENTS.PRODUCTION;\n//# sourceMappingURL=environments.js.map","import { isProduction } from \"../constants/environments.js\";\nconst warning = (condition, message) => {\n if (!isProduction()) {\n if (condition) {\n return;\n }\n const text = `Warning: ${message}`;\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n try {\n throw Error(text);\n }\n catch (x) {\n }\n }\n};\nexport default warning;\n//# sourceMappingURL=warning.js.map","export const CLASS_NAME_OPEN = 'is-open';\n//# sourceMappingURL=classes.js.map","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { componentColors, containers, emotionColors, textColors } from '@alma-oss/spirit-design-tokens';\nfunction createUppercaseKeyDictionary(obj) {\n return Object.fromEntries(Object.keys(obj).map((key) => [key.toUpperCase(), key]));\n}\nexport const AlignmentX = {\n LEFT: 'left',\n CENTER: 'center',\n RIGHT: 'right',\n};\nexport const AlignmentXExtended = Object.assign({ SPACE_BETWEEN: 'space-between', STRETCH: 'stretch' }, AlignmentX);\nexport const AlignmentY = {\n TOP: 'top',\n CENTER: 'center',\n BOTTOM: 'bottom',\n};\nexport const AlignmentYExtended = Object.assign({ BASELINE: 'baseline', STRETCH: 'stretch' }, AlignmentY);\nexport const TextAlignments = {\n LEFT: 'left',\n CENTER: 'center',\n RIGHT: 'right',\n};\nexport const BorderColors = {\n BASIC: 'basic',\n};\nexport const BorderRadii = {\n 0: '0',\n 100: '100',\n 200: '200',\n 300: '300',\n 400: '400',\n 500: '500',\n FULL: 'full',\n};\nexport const BorderStyles = {\n SOLID: 'solid',\n DOTTED: 'dotted',\n DASHED: 'dashed',\n};\nexport const BorderWidths = {\n 0: '0',\n 100: '100',\n 200: '200',\n};\nexport const BackgroundColors = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n TERTIARY: 'tertiary',\n};\nexport const ComponentButtonColors = createUppercaseKeyDictionary(componentColors.button);\nexport const EmotionColors = createUppercaseKeyDictionary(emotionColors);\nexport const LinkColors = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n TERTIARY: 'tertiary',\n};\nexport const TextColors = createUppercaseKeyDictionary(textColors);\nexport const Intensity = {\n BASIC: 'basic',\n SUBTLE: 'subtle',\n};\nexport const Emphasis = {\n REGULAR: 'regular',\n SEMIBOLD: 'semibold',\n BOLD: 'bold',\n ITALIC: 'italic',\n};\nexport const BackgroundGradients = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n};\nexport const Placements = {\n TOP: 'top',\n TOP_START: 'top-start',\n TOP_END: 'top-end',\n BOTTOM: 'bottom',\n BOTTOM_START: 'bottom-start',\n BOTTOM_END: 'bottom-end',\n LEFT: 'left',\n LEFT_START: 'left-start',\n LEFT_END: 'left-end',\n RIGHT: 'right',\n RIGHT_START: 'right-start',\n RIGHT_END: 'right-end',\n};\nexport const Sizes = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n};\nexport const SizesExtended = Object.assign(Object.assign({ XSMALL: 'xsmall' }, Sizes), { XLARGE: 'xlarge' });\nconst _a = createUppercaseKeyDictionary(containers), { MAXWIDTH, PADDING } = _a, ContainerTokenSizes = __rest(_a, [\"MAXWIDTH\", \"PADDING\"]);\nexport { ContainerTokenSizes };\nexport const ValidationStates = {\n SUCCESS: 'success',\n WARNING: 'warning',\n DANGER: 'danger',\n};\nexport const FillVariants = {\n FILL: 'fill',\n OUTLINE: 'outline',\n};\nexport const ShapeVariants = {\n BOX: 'box',\n PILL: 'pill',\n};\n//# sourceMappingURL=dictionaries.js.map","export const Direction = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n};\nexport const DirectionExtended = Object.assign(Object.assign({}, Direction), { HORIZONTAL_REVERSED: 'horizontal-reversed' });\nexport var DirectionAxis;\n(function (DirectionAxis) {\n DirectionAxis[\"X\"] = \"x\";\n DirectionAxis[\"Y\"] = \"y\";\n})(DirectionAxis || (DirectionAxis = {}));\nexport const isDirectionHorizontal = (direction) => direction === Direction.HORIZONTAL;\n//# sourceMappingURL=direction.js.map","export const BackgroundStyleProps = {\n backgroundGradient: 'bg-gradient',\n};\nexport const BorderRadiusStyleProps = {\n borderRadius: 'rounded',\n};\nexport const SpacingStyleProp = {\n margin: 'm',\n marginTop: 'mt',\n marginRight: 'mr',\n marginBottom: 'mb',\n marginLeft: 'ml',\n marginX: 'mx',\n marginY: 'my',\n};\nexport const PaddingStyleProps = {\n padding: 'p',\n paddingBottom: 'pb',\n paddingLeft: 'pl',\n paddingRight: 'pr',\n paddingTop: 'pt',\n paddingX: 'px',\n paddingY: 'py',\n};\nexport const TextStyleProps = {\n isTextBalanced: 'text-wrap-pretty',\n textAlignment: 'text',\n textHyphens: 'text-hyphens',\n textWordBreak: 'text-word-break',\n};\nexport const HeadingStyleProps = {\n isTextBalanced: 'text-wrap-balance',\n};\nexport const DisplayStyleProps = {\n hideOn: 'd',\n hideFrom: 'd',\n};\nexport const ThemeStyleProps = {\n theme: '',\n};\n//# sourceMappingURL=style.js.map","'use client';\nimport { createContext } from 'react';\nconst defaultContext = undefined;\nconst ClassNamePrefixContext = createContext(defaultContext);\nconst ClassNamePrefixProvider = ClassNamePrefixContext.Provider;\nconst ClassNamePrefixConsumer = ClassNamePrefixContext.Consumer;\nexport default ClassNamePrefixContext;\nexport { ClassNamePrefixConsumer, ClassNamePrefixProvider };\n//# sourceMappingURL=ClassNamePrefixContext.js.map","import { Sizes } from \"../constants/index.js\";\nexport const CardSizes = Object.assign(Object.assign({}, Sizes), { AUTO: 'auto' });\n//# sourceMappingURL=card.js.map","export const STYLE_SPACING_AUTO = 'auto';\n//# sourceMappingURL=style.js.map","export const BREAKPOINT_MOBILE = 'mobile';\n//# sourceMappingURL=tokens.js.map","export * from \"./adornments.js\";\nexport * from \"./buttons.js\";\nexport * from \"./colors.js\";\nexport * from \"./columns.js\";\nexport * from \"./dialogs.js\";\nexport * from \"./dictionaries.js\";\nexport * from \"./directions.js\";\nexport * from \"./dragAndDrop.js\";\nexport * from \"./element.js\";\nexport * from \"./events.js\";\nexport * from \"./inputs.js\";\nexport * from \"./item.js\";\nexport * from \"./positions.js\";\nexport * from \"./radii.js\";\nexport * from \"./refs.js\";\nexport * from \"./responsive.js\";\nexport * from \"./rest.js\";\nexport * from \"./sizes.js\";\nexport * from \"./style.js\";\nexport * from \"./text.js\";\nexport * from \"./tokens.js\";\nexport var SpiritBreakpoints;\n(function (SpiritBreakpoints) {\n SpiritBreakpoints[\"TABLET\"] = \"tablet\";\n SpiritBreakpoints[\"DESKTOP\"] = \"desktop\";\n})(SpiritBreakpoints || (SpiritBreakpoints = {}));\n//# sourceMappingURL=index.js.map","export const isNullish = (value) => value == null;\nexport const isEmptyString = (value) => typeof value === 'string' && value.trim() === '';\nexport const isEmptyArray = (value) => Array.isArray(value) && value.length === 0;\nexport const isEmptyObject = (value) => typeof value === 'object' && value !== null && Object.keys(value).length === 0;\nexport const isEnumerable = (value) => {\n if (typeof value === 'object' && value !== null) {\n for (const key in value) {\n if (Object.hasOwnProperty.call(value, key)) {\n return true;\n }\n }\n }\n return false;\n};\nexport const isEmpty = (value) => {\n if (isNullish(value)) {\n return true;\n }\n if (isEmptyString(value)) {\n return true;\n }\n if (isEmptyArray(value)) {\n return true;\n }\n if (isEmptyObject(value)) {\n return true;\n }\n if (isEnumerable(value)) {\n return false;\n }\n return false;\n};\n//# sourceMappingURL=assert.js.map","export const applyClassNamePrefix = (prefix) => (className) => prefix != null && prefix !== '' ? `${prefix}-${className}` : className;\nexport const applyColor = (color) => (className) => `${className}--${color}`;\nexport const applySize = (size) => (className) => `${className}--${size}`;\nexport const applyTheme = (theme) => (className) => `${className}--${theme}`;\n//# sourceMappingURL=classname.js.map","export function mergeStyleProps(ElementTag, styleProps) {\n const isSpiritComponent = typeof ElementTag !== 'string' && !!(ElementTag === null || ElementTag === void 0 ? void 0 : ElementTag.spiritComponent);\n const isNonNullableObject = (styleProp) => typeof styleProp === 'object' && styleProp !== null;\n const extractClassNames = (styleProp) => {\n if (typeof styleProp === 'string') {\n return [styleProp];\n }\n if (isNonNullableObject(styleProp)) {\n return [styleProp.className, styleProp.UNSAFE_className].filter(Boolean);\n }\n return [];\n };\n const extractCssVariables = (styleProp) => isNonNullableObject(styleProp)\n ? Object.entries(styleProp)\n .filter(([key]) => key.startsWith('--'))\n .reduce((extractedCssVariable, [key, value]) => (Object.assign(Object.assign({}, extractedCssVariable), { [key]: value })), {})\n : {};\n const extractCssStylesAndVariables = (cssProperties, styleProp) => {\n if (!isNonNullableObject(styleProp)) {\n return cssProperties;\n }\n const typedStyleProp = styleProp;\n const styles = typedStyleProp.style || typedStyleProp.UNSAFE_style || {};\n const cssVariables = extractCssVariables(styleProp);\n return Object.assign(Object.assign(Object.assign({}, cssProperties), styles), cssVariables);\n };\n const mergedClasses = Object.values(styleProps).flatMap(extractClassNames).filter(Boolean).join(' ');\n const mergedStyles = Object.values(styleProps)\n .filter(isNonNullableObject)\n .reduce(extractCssStylesAndVariables, {});\n return isSpiritComponent\n ? { UNSAFE_className: mergedClasses, UNSAFE_style: mergedStyles }\n : { className: mergedClasses, style: mergedStyles };\n}\n//# sourceMappingURL=mergeStyleProps.js.map","export const isSSR = typeof window === 'undefined';\n//# sourceMappingURL=ssr.js.map","export const camelCaseToKebabCase = (input) => input.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\nexport const kebabCaseToCamelCase = (input) => input.replace(/-([a-z])/g, (g) => g[1].toUpperCase());\nexport const kebabCaseToCamelCaseValues = (input) => {\n if (typeof input === 'object' && input !== null) {\n const result = {};\n for (const [key, value] of Object.entries(input)) {\n result[key] = typeof value === 'string' ? kebabCaseToCamelCase(value) : value;\n }\n return result;\n }\n return input;\n};\nexport const stringOrObjectKebabCaseToCamelCase = (input) => {\n if (typeof input === 'string') {\n return kebabCaseToCamelCase(input);\n }\n if (typeof input === 'object' && input !== null) {\n return kebabCaseToCamelCaseValues(input);\n }\n return input;\n};\n//# sourceMappingURL=string.js.map","import { SpacingStyleProp as DefaultSpacingStyleProp, DisplayStyleProps, ThemeStyleProps } from \"../constants/index.js\";\nimport { BREAKPOINT_MOBILE, STYLE_SPACING_AUTO, } from \"../types/index.js\";\nimport { applyClassNamePrefix, camelCaseToKebabCase, isEmpty } from \"../utils/index.js\";\nconst CLASS_SEPARATOR = '-';\nconst normalizeSpacingValue = (value) => value === STYLE_SPACING_AUTO ? STYLE_SPACING_AUTO : value.replace(/[^0-9]/g, '');\nconst isSpaceToken = (value) => typeof value === 'string' && value.startsWith('space-');\nconst getUtilityValue = (value) => (isSpaceToken(value) ? normalizeSpacingValue(value) : value);\nconst isKeyIncluded = (object, key) => Object.keys(object).includes(key);\nconst processBreakpointProperties = (utilityName, propValue, prefix) => Object.keys(propValue).reduce((accumulatedBreakpointUtilities, breakpoint) => {\n const breakpointValue = propValue[breakpoint];\n if (typeof breakpointValue === 'string') {\n const utilityValue = getUtilityValue(breakpointValue);\n const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `${CLASS_SEPARATOR}${breakpoint}`;\n accumulatedBreakpointUtilities.push(applyClassNamePrefix(prefix)(`${utilityName}${infix}${CLASS_SEPARATOR}${utilityValue}`));\n }\n return accumulatedBreakpointUtilities;\n}, []);\nconst processHideOnProperty = (utilityName, propValue, prefix) => {\n const breakpoints = Array.isArray(propValue) ? propValue : [propValue];\n return breakpoints.map((breakpoint) => applyClassNamePrefix(prefix)(`${utilityName}${CLASS_SEPARATOR}only${CLASS_SEPARATOR}${breakpoint}${CLASS_SEPARATOR}none`));\n};\nconst processHideFromProperty = (utilityName, propValue, prefix) => {\n const breakpoint = propValue;\n const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `${CLASS_SEPARATOR}${breakpoint}`;\n return [applyClassNamePrefix(prefix)(`${utilityName}${infix}${CLASS_SEPARATOR}none`)];\n};\nconst processDisplayProperties = (utilityKey, utilityName, propValue, prefix) => {\n switch (utilityKey) {\n case 'hideOn':\n return processHideOnProperty(utilityName, propValue, prefix);\n case 'hideFrom':\n return processHideFromProperty(utilityName, propValue, prefix);\n default:\n return [];\n }\n};\nconst processProperties = (utilityKey, utilityName, propValue, prefix) => {\n if (utilityName === ThemeStyleProps.theme) {\n if (typeof propValue !== 'string') {\n return [];\n }\n const themeClassName = camelCaseToKebabCase(propValue);\n return [applyClassNamePrefix(prefix)(themeClassName)];\n }\n if (utilityKey in DisplayStyleProps) {\n return processDisplayProperties(utilityKey, utilityName, propValue, prefix);\n }\n if (typeof propValue === 'boolean') {\n return propValue ? [applyClassNamePrefix(prefix)(utilityName)] : [];\n }\n if (typeof propValue === 'string') {\n return [applyClassNamePrefix(prefix)(`${utilityName}-${getUtilityValue(propValue)}`)];\n }\n return processBreakpointProperties(utilityName, propValue, prefix);\n};\nconst isStylePropProcessable = (styleProps, stylePropKey, stylePropValue, options = { includesKey: true }) => {\n const isStylePropKeyIncluded = isKeyIncluded(styleProps, stylePropKey);\n const isProcessable = (options.includesKey ? isStylePropKeyIncluded : !isStylePropKeyIncluded) && !isEmpty(stylePropValue);\n return isProcessable;\n};\nexport const useStyleUtilities = (props, prefix = '', additionalProps = {}) => {\n const styleProps = Object.assign(Object.assign(Object.assign(Object.assign({}, DefaultSpacingStyleProp), DisplayStyleProps), ThemeStyleProps), additionalProps);\n const propEntries = Object.entries(props);\n const styleUtilities = propEntries.reduce((accumulatedUtilities, [key, propValue]) => {\n if (isStylePropProcessable(styleProps, key, propValue)) {\n const utilityName = styleProps[key];\n return [\n ...accumulatedUtilities,\n ...processProperties(key, utilityName, propValue, prefix),\n ];\n }\n return accumulatedUtilities;\n }, []);\n const updatedProps = propEntries.reduce((accumulatedProps, [key, propValue]) => {\n if (isStylePropProcessable(styleProps, key, propValue, { includesKey: false })) {\n return Object.assign(Object.assign({}, accumulatedProps), { [key]: propValue });\n }\n return accumulatedProps;\n }, {});\n return {\n styleUtilities,\n props: updatedProps,\n };\n};\n//# sourceMappingURL=useStyleUtilities.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { useContext } from 'react';\nimport { warning } from \"../common/utilities/index.js\";\nimport { ThemeStyleProps } from \"../constants/index.js\";\nimport ClassNamePrefixContext from \"../context/ClassNamePrefixContext.js\";\nimport { useStyleUtilities } from \"./useStyleUtilities.js\";\nexport function useStyleProps(props, additionalUtilities) {\n const classNamePrefix = useContext(ClassNamePrefixContext);\n const { UNSAFE_className, UNSAFE_style } = props, otherProps = __rest(props, [\"UNSAFE_className\", \"UNSAFE_style\"]);\n const styleUtilitiesConfig = Object.assign({ theme: ThemeStyleProps.theme }, (additionalUtilities !== null && additionalUtilities !== void 0 ? additionalUtilities : {}));\n const { styleUtilities, props: modifiedProps } = useStyleUtilities(otherProps, classNamePrefix, styleUtilitiesConfig);\n const style = Object.assign({}, UNSAFE_style);\n if (modifiedProps.className) {\n warning(false, 'The className prop is unsafe and is unsupported in Spirit Web React. ' +\n 'Please use style props with Spirit Design Tokens, or UNSAFE_className if you absolutely must do something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.');\n delete modifiedProps.className;\n }\n if (modifiedProps.style) {\n warning(false, 'The style prop is unsafe and is unsupported in Spirit Web React. ' +\n 'Please use style props with Spirit Design Tokens, or UNSAFE_style if you absolutely must do something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.');\n delete modifiedProps.style;\n }\n const styleProps = {\n style: Object.keys(style).length > 0 ? style : undefined,\n className: classNames(UNSAFE_className, ...styleUtilities) || undefined,\n };\n return {\n styleProps,\n props: modifiedProps,\n };\n}\n//# sourceMappingURL=styleProps.js.map","'use client';\nimport { useContext } from 'react';\nimport ClassNamePrefixContext from \"../context/ClassNamePrefixContext.js\";\nimport { applyClassNamePrefix } from \"../utils/classname.js\";\nexport const useClassNamePrefix = (className) => {\n const classNamePrefix = useContext(ClassNamePrefixContext);\n let prefixedClassName = className;\n if (className && classNamePrefix) {\n prefixedClassName = applyClassNamePrefix(classNamePrefix)(className);\n }\n else if (classNamePrefix) {\n prefixedClassName = classNamePrefix;\n }\n return prefixedClassName;\n};\n//# sourceMappingURL=useClassNamePrefix.js.map","'use client';\nimport { useEffect } from 'react';\nimport { warning } from \"../common/utilities/index.js\";\nexport const useDeprecationMessage = ({ method = 'component', trigger, componentName, componentProps, propertyProps, customText, }) => {\n const messageBase = `Deprecation warning (${componentName}):`;\n useEffect(() => {\n const isExecutable = trigger && componentName && process.env.NODE_ENV === 'development';\n let message;\n let hasProps;\n switch (method) {\n case 'property':\n if (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.delete) {\n message = `${messageBase} \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedName}\" property will be deleted in the next major version.`;\n }\n else if ((propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedValue) && (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.newValue) && (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.propertyName)) {\n message = `${messageBase} The \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedValue}\" value for \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.propertyName}\" property will be renamed to \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.newValue}\" in the next major version.`;\n }\n else {\n message = `${messageBase} \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.deprecatedName}\" property will be replaced in the next major version. Please use \"${propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.newName}\" instead. ♻️️`;\n }\n hasProps = !!propertyProps;\n break;\n case 'custom':\n message = `${messageBase} ${customText}`;\n hasProps = true;\n break;\n case 'component':\n default:\n if (componentProps === null || componentProps === void 0 ? void 0 : componentProps.delete) {\n message = `${messageBase} The component and its subcomponents will be deleted in the next major version.`;\n }\n else {\n message = `${messageBase} The component and its subcomponents will be renamed to \"${componentProps === null || componentProps === void 0 ? void 0 : componentProps.newName}\" in the next major version.`;\n }\n hasProps = !!componentProps;\n break;\n }\n if (message && isExecutable && hasProps) {\n warning(false, message);\n }\n }, []);\n};\n//# sourceMappingURL=useDeprecationMessage.js.map","'use client';\nimport { createContext } from 'react';\nconst defaultContext = undefined;\nconst IconsContext = createContext(defaultContext);\nconst IconsProvider = IconsContext.Provider;\nconst IconsConsumer = IconsContext.Consumer;\nexport default IconsContext;\nexport { IconsConsumer, IconsProvider };\n//# sourceMappingURL=IconsContext.js.map","'use client';\nimport { useCallback, useEffect, useRef } from 'react';\nexport function useIsMounted() {\n const isMounted = useRef(false);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return useCallback(() => isMounted.current, []);\n}\n//# sourceMappingURL=useIsMounted.js.map","'use client';\nimport { useEffect, useRef, useState } from 'react';\nimport { isSSR } from \"../utils/index.js\";\nimport { useIsMounted } from \"./useIsMounted.js\";\nfunction extractSize(entry, box, sizeType) {\n if (!entry[box]) {\n if (box === 'contentBoxSize') {\n return entry.contentRect[sizeType === 'inlineSize' ? 'width' : 'height'];\n }\n return undefined;\n }\n return Array.isArray(entry[box])\n ? entry[box][0][sizeType]\n :\n entry[box][sizeType];\n}\nconst initialSize = {\n width: undefined,\n height: undefined,\n};\nexport function useResizeObserver(options) {\n const { ref, box = 'border-box' } = options;\n const [{ width, height }, setSize] = useState(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef(Object.assign({}, initialSize));\n const onResize = useRef(undefined);\n onResize.current = options.onResize;\n useEffect(() => {\n if (isSSR) {\n return;\n }\n if (!('ResizeObserver' in window)) {\n return;\n }\n if (!ref.current) {\n return;\n }\n const observer = new ResizeObserver(([entry]) => {\n const boxProp = box === 'border-box'\n ? 'borderBoxSize'\n : box === 'device-pixel-content-box'\n ? 'devicePixelContentBoxSize'\n : 'contentBoxSize';\n const newWidth = extractSize(entry, boxProp, 'inlineSize');\n const newHeight = extractSize(entry, boxProp, 'blockSize');\n const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n if (hasChanged) {\n const newSize = { width: newWidth, height: newHeight };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n if (onResize.current) {\n onResize.current(newSize);\n }\n else if (isMounted()) {\n setSize(newSize);\n }\n }\n });\n observer.observe(ref.current, { box });\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted]);\n return { width, height };\n}\n//# sourceMappingURL=useResizeObserver.js.map","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useDeprecationMessage } from \"../../hooks/index.js\";\nconst ATTRIBUTE_ARIA_EXPANDED = 'aria-expanded';\nconst ATTRIBUTE_ARIA_CONTROLS = 'aria-controls';\nconst ATTRIBUTE_DATA_BREAKPOINT = 'data-spirit-breakpoint';\nexport const useCollapseAriaProps = (props) => {\n const { isOpen, collapsibleToBreakpoint } = props, modifiedProps = __rest(props, [\"isOpen\", \"collapsibleToBreakpoint\"]);\n useDeprecationMessage({\n method: 'custom',\n trigger: !modifiedProps.id,\n componentName: 'Collapse',\n customText: 'The \"id\" property will be required instead of optional starting from the next major version.',\n });\n return {\n ariaProps: {\n root: {\n [ATTRIBUTE_DATA_BREAKPOINT]: collapsibleToBreakpoint,\n },\n trigger: {\n [ATTRIBUTE_ARIA_EXPANDED]: isOpen,\n [ATTRIBUTE_ARIA_CONTROLS]: String(modifiedProps.id),\n },\n },\n props: modifiedProps,\n };\n};\n//# sourceMappingURL=useCollapseAriaProps.js.map","import classNames from 'classnames';\nimport { CLASS_NAME_OPEN } from \"../../constants/index.js\";\nimport { useClassNamePrefix } from \"../../hooks/index.js\";\nexport const useCollapseStyleProps = (isOpen, elementType, collapseHeight) => {\n const collapseClass = useClassNamePrefix('Collapse');\n const collapseContentClass = `${collapseClass}__content`;\n const openClass = isOpen ? CLASS_NAME_OPEN : '';\n const rootClass = classNames(collapseClass, openClass);\n const isSpanElement = elementType === 'span';\n const styleProps = isSpanElement ? {} : { height: isOpen ? collapseHeight : 0 };\n return {\n classProps: {\n root: rootClass,\n content: collapseContentClass,\n },\n styleProps,\n };\n};\n//# sourceMappingURL=useCollapseStyleProps.js.map","'use client';\nimport { useState } from 'react';\nimport { useResizeObserver } from \"../../hooks/useResizeObserver.js\";\nexport const useResizeHeight = (ref) => {\n const [height, setHeight] = useState(undefined);\n const onResize = (size) => {\n const currentHeight = size.height;\n setHeight(`${currentHeight}px`);\n };\n useResizeObserver({ ref, onResize });\n return height;\n};\n//# sourceMappingURL=useResizeHeight.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useRef } from 'react';\nimport { Transition } from 'react-transition-group';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nimport { useCollapseAriaProps } from \"./useCollapseAriaProps.js\";\nimport { useCollapseStyleProps } from \"./useCollapseStyleProps.js\";\nimport { useResizeHeight } from \"./useResizeHeight.js\";\nconst TRANSITION_DURATION = 250;\nconst transitioningStyles = {\n entering: 'is-transitioning',\n entered: '',\n exiting: 'is-transitioning',\n exited: '',\n};\nconst defaultProps = {\n elementType: 'div',\n isOpen: false,\n collapsibleToBreakpoint: undefined,\n transitionDuration: TRANSITION_DURATION,\n};\nconst Collapse = (props) => {\n const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n const { elementType: ElementTag = defaultProps.elementType, children, transitionDuration = TRANSITION_DURATION } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"elementType\", \"children\", \"transitionDuration\"]);\n const rootElementRef = useRef(null);\n const collapseElementRef = useRef(null);\n const collapseHeight = useResizeHeight(collapseElementRef);\n const { classProps, styleProps: collapseStyleProps } = useCollapseStyleProps(restProps.isOpen, ElementTag, collapseHeight);\n const { ariaProps, props: otherProps } = useCollapseAriaProps(restProps);\n const { styleProps, props: transferProps } = useStyleProps(otherProps);\n const mergedCollapseStyleProps = {\n className: styleProps.className,\n style: Object.assign(Object.assign({}, collapseStyleProps), styleProps.style),\n };\n const isInlineElement = ElementTag === 'span';\n if (isInlineElement && restProps.isOpen) {\n return children;\n }\n return (React.createElement(Transition, { in: restProps.isOpen, nodeRef: rootElementRef, timeout: transitionDuration }, (transitionState) => (React.createElement(ElementTag, Object.assign({}, transferProps, ariaProps.root, mergeStyleProps(ElementTag, {\n classProps: classProps.root,\n styleProps,\n collapseStyleProps: mergedCollapseStyleProps,\n transitioningStyles: transitioningStyles[transitionState],\n }), { ref: rootElementRef }),\n React.createElement(ElementTag, { ref: collapseElementRef, className: classProps.content }, children)))));\n};\nCollapse.spiritComponent = 'Collapse';\nexport default Collapse;\n//# sourceMappingURL=Collapse.js.map","'use client';\nimport { useState } from 'react';\nexport const useCollapse = (defaultOpenState) => {\n const [isOpen, toggle] = useState(defaultOpenState);\n const toggleHandler = (event) => {\n event.preventDefault();\n toggle(!isOpen);\n };\n return {\n toggleHandler,\n toggle,\n isOpen,\n };\n};\n//# sourceMappingURL=useCollapse.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport Collapse from \"./Collapse.js\";\nimport { useCollapse } from \"./useCollapse.js\";\nimport { useCollapseAriaProps } from \"./useCollapseAriaProps.js\";\nconst defaultProps = {\n isOpen: false,\n};\nconst UncontrolledCollapse = (props) => {\n const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n const { children, hideOnCollapse, isDisposable, renderTrigger } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"children\", \"hideOnCollapse\", \"isDisposable\", \"renderTrigger\"]);\n const { isOpen, toggleHandler } = useCollapse(restProps.isOpen);\n const { ariaProps } = useCollapseAriaProps(Object.assign(Object.assign({}, restProps), { isOpen }));\n const isDisposed = hideOnCollapse || isDisposable;\n const triggerRenderHandler = () => {\n const showTrigger = isDisposed ? !(isDisposed && isOpen) : true;\n return renderTrigger && showTrigger\n ? renderTrigger(Object.assign({ isOpen, onClick: toggleHandler }, ariaProps.trigger))\n : null;\n };\n return (React.createElement(React.Fragment, null,\n triggerRenderHandler(),\n isDisposed && isOpen ? (children) : (React.createElement(Collapse, Object.assign({}, restProps, { isOpen: isOpen }), children))));\n};\nUncontrolledCollapse.spiritComponent = 'UncontrolledCollapse';\nexport default UncontrolledCollapse;\n//# sourceMappingURL=UncontrolledCollapse.js.map"],"names":["__rest","this","componentColors","emotionColors","textColors","containers","defaultContext","createContext","DefaultSpacingStyleProp","useContext","useEffect","useRef","useCallback","useState","defaultProps","Transition"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ControlButton.js","sourceRoot":"","sources":["../../../src/components/ControlButton/ControlButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,OAAO,KAAK,EAAE,EAAuC,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,YAAY,GAAsC;IACtD,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,KAAK,CAAC,MAAM;IAClB,IAAI,EAAE,QAAQ;CACf,CAAC;AAIF,MAAM,cAAc,GAAG,CACrB,KAAqC,EACrC,GAAoC,EACpC,EAAE;IACF,MAAM,iBAAiB,mCAAQ,YAAY,GAAK,KAAK,CAAE,CAAC;IACxD,MAAM,EACJ,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC,WAA0B,EACjE,QAAQ,KAEN,iBAAiB,EADhB,SAAS,UACV,iBAAiB,EAJf,2BAIL,CAAoB,CAAC;IAEtB,MAAM,EAAE,kBAAkB,EAAE,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7F,OAAO,CACL,oBAAC,UAAU,oBAAK,UAAU,EAAM,kBAAkB,IAAE,GAAG,EAAE,GAAG,IAAM,gBAAgB,GAC/E,QAAQ,CACE,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,UAAU,CAA2D,cAAc,CAAC,CAAC;AAE3G,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC;AAEhD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ControlButton.js","sourceRoot":"","sources":["../../../src/components/ControlButton/ControlButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,OAAO,KAAK,EAAE,EAAuC,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,YAAY,GAAsC;IACtD,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,KAAK,CAAC,MAAM;IAClB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAqC,EACrC,GAAoC,EACpC,EAAE;IACF,MAAM,iBAAiB,mCAAQ,YAAY,GAAK,KAAK,CAAE,CAAC;IACxD,MAAM,EACJ,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC,WAA0B,EACjE,QAAQ,KAEN,iBAAiB,EADhB,SAAS,UACV,iBAAiB,EAJf,2BAIL,CAAoB,CAAC;IAEtB,MAAM,EAAE,kBAAkB,EAAE,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7F,OAAO,CACL,oBAAC,UAAU,oBAAK,UAAU,EAAM,kBAAkB,IAAE,GAAG,EAAE,GAAG,IAAM,gBAAgB,GAC/E,QAAQ,CACE,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,UAAU,CAA2D,cAAc,CAAC,CAAC;AAE3G,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC;AAEhD,eAAe,aAAa,CAAC"}
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import classNames from 'classnames';
13
- import { useClassNamePrefix } from "../../hooks/index.js";
13
+ import { useClassNamePrefix, useSymmetry } from "../../hooks/index.js";
14
14
  import { applySize, compose } from "../../utils/index.js";
15
15
  const getControlButtonSizeClassname = (className, size) => compose(applySize(size))(className);
16
16
  export function useControlButtonStyleProps(props) {
@@ -18,16 +18,15 @@ export function useControlButtonStyleProps(props) {
18
18
  const controlButtonClass = useClassNamePrefix('ControlButton');
19
19
  const controlButtonBackgroundClass = `${controlButtonClass}--hasBackground`;
20
20
  const controlButtonDisabledClass = `${controlButtonClass}--disabled`;
21
- const controlButtonSymmetricalClass = `${controlButtonClass}--symmetrical`;
22
21
  const dynamicColorBackgroundInteractiveClass = useClassNamePrefix('dynamic-color-background-interactive');
23
22
  const dynamicColorBorderClass = useClassNamePrefix('dynamic-color-border');
24
23
  const accessibilityTapTargetClass = useClassNamePrefix('accessibility-tap-target');
24
+ const { symmetricalClassName } = useSymmetry(controlButtonClass, isSymmetrical);
25
25
  const classProps = classNames(controlButtonClass, getControlButtonSizeClassname(controlButtonClass, size), dynamicColorBackgroundInteractiveClass, accessibilityTapTargetClass, {
26
26
  [controlButtonDisabledClass]: isDisabled,
27
- [controlButtonSymmetricalClass]: isSymmetrical,
28
27
  [controlButtonBackgroundClass]: !isSubtle,
29
28
  [dynamicColorBorderClass]: !isSubtle,
30
- });
29
+ }, symmetricalClassName);
31
30
  return {
32
31
  classProps,
33
32
  props: restProps,
@@ -1 +1 @@
1
- {"version":3,"file":"useControlButtonStyleProps.js","sourceRoot":"","sources":["../../../src/components/ControlButton/useControlButtonStyleProps.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,6BAA6B,GAAG,CAAW,SAAiB,EAAE,IAA0B,EAAU,EAAE,CACxG,OAAO,CAAC,SAAS,CAAuB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAS5D,MAAM,UAAU,0BAA0B,CACxC,KAAqC;IAErC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAnE,mDAA2D,CAAQ,CAAC;IAE1E,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,4BAA4B,GAAG,GAAG,kBAAkB,iBAAiB,CAAC;IAC5E,MAAM,0BAA0B,GAAG,GAAG,kBAAkB,YAAY,CAAC;IACrE,MAAM,6BAA6B,GAAG,GAAG,kBAAkB,eAAe,CAAC;IAC3E,MAAM,sCAAsC,GAAG,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;IAC1G,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC3E,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAEnF,MAAM,UAAU,GAAG,UAAU,CAC3B,kBAAkB,EAClB,6BAA6B,CAAC,kBAAkB,EAAE,IAA4B,CAAC,EAC/E,sCAAsC,EACtC,2BAA2B,EAC3B;QACE,CAAC,0BAA0B,CAAC,EAAE,UAAU;QACxC,CAAC,6BAA6B,CAAC,EAAE,aAAa;QAC9C,CAAC,4BAA4B,CAAC,EAAE,CAAC,QAAQ;QACzC,CAAC,uBAAuB,CAAC,EAAE,CAAC,QAAQ;KACrC,CACF,CAAC;IAEF,OAAO;QACL,UAAU;QACV,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useControlButtonStyleProps.js","sourceRoot":"","sources":["../../../src/components/ControlButton/useControlButtonStyleProps.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,6BAA6B,GAAG,CAAW,SAAiB,EAAE,IAA0B,EAAU,EAAE,CACxG,OAAO,CAAC,SAAS,CAAuB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAS5D,MAAM,UAAU,0BAA0B,CACxC,KAAqC;IAErC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAnE,mDAA2D,CAAQ,CAAC;IAE1E,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,4BAA4B,GAAG,GAAG,kBAAkB,iBAAiB,CAAC;IAC5E,MAAM,0BAA0B,GAAG,GAAG,kBAAkB,YAAY,CAAC;IACrE,MAAM,sCAAsC,GAAG,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;IAC1G,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC3E,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAEnF,MAAM,EAAE,oBAAoB,EAAE,GAAG,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAEhF,MAAM,UAAU,GAAG,UAAU,CAC3B,kBAAkB,EAClB,6BAA6B,CAAC,kBAAkB,EAAE,IAA4B,CAAC,EAC/E,sCAAsC,EACtC,2BAA2B,EAC3B;QACE,CAAC,0BAA0B,CAAC,EAAE,UAAU;QACxC,CAAC,4BAA4B,CAAC,EAAE,CAAC,QAAQ;QACzC,CAAC,uBAAuB,CAAC,EAAE,CAAC,QAAQ;KACrC,EACD,oBAAoB,CACrB,CAAC;IAEF,OAAO;QACL,UAAU;QACV,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
@@ -412,11 +412,11 @@ const useClickOutside = ({ ref, callback }) => {
412
412
  };
413
413
 
414
414
  const useDeprecationMessage = ({ method = 'component', trigger, componentName, componentProps, propertyProps, customText, }) => {
415
- let message;
416
- let hasProps;
417
415
  const messageBase = `Deprecation warning (${componentName}):`;
418
416
  React.useEffect(() => {
419
417
  const isExecutable = trigger && componentName && process.env.NODE_ENV === 'development';
418
+ let message;
419
+ let hasProps;
420
420
  switch (method) {
421
421
  case 'property':
422
422
  if (propertyProps === null || propertyProps === void 0 ? void 0 : propertyProps.delete) {
@@ -503,6 +503,43 @@ const useScrollControl = (ref, isOpen) => {
503
503
  }, [isOpen, ref]);
504
504
  };
505
505
 
506
+ const SYMMETRICAL_CLASS_SUFFIX = '--symmetrical';
507
+ const NON_SYMMETRICAL_CLASS_SUFFIX = '--asymmetrical';
508
+ function getSymmetryClassNamesReducer(componentClass, isSymmetrical) {
509
+ return (acc, breakpoint) => {
510
+ if (breakpoint in isSymmetrical) {
511
+ const value = isSymmetrical[breakpoint];
512
+ const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `--${breakpoint}`;
513
+ if (value) {
514
+ return {
515
+ classes: [...acc.classes, `${componentClass}${infix}${SYMMETRICAL_CLASS_SUFFIX}`],
516
+ wasSymmetrical: true,
517
+ };
518
+ }
519
+ if (acc.wasSymmetrical) {
520
+ return {
521
+ classes: [...acc.classes, `${componentClass}${infix}${NON_SYMMETRICAL_CLASS_SUFFIX}`],
522
+ wasSymmetrical: acc.wasSymmetrical,
523
+ };
524
+ }
525
+ }
526
+ return acc;
527
+ };
528
+ }
529
+ function useSymmetry(componentClass, isSymmetrical) {
530
+ if (typeof isSymmetrical !== 'object' || isSymmetrical === null) {
531
+ return {
532
+ isSymmetricalActive: isSymmetrical === true,
533
+ symmetricalClassName: isSymmetrical ? `${componentClass}${SYMMETRICAL_CLASS_SUFFIX}` : '',
534
+ };
535
+ }
536
+ const { classes } = Object.keys(spiritDesignTokens.breakpoints).reduce(getSymmetryClassNamesReducer(componentClass, isSymmetrical), { classes: [], wasSymmetrical: false });
537
+ return {
538
+ isSymmetricalActive: Object.values(isSymmetrical).includes(true),
539
+ symmetricalClassName: classes.join(' '),
540
+ };
541
+ }
542
+
506
543
  const useDialog = (ref, isOpen) => {
507
544
  const handleTransitionEnd = React.useCallback((event) => {
508
545
  const dialogNode = ref === null || ref === void 0 ? void 0 : ref.current;
@@ -689,16 +726,16 @@ function useButtonStyleProps(props) {
689
726
  const buttonBlockClass = `${buttonClass}--block`;
690
727
  const buttonDisabledClass = `${buttonClass}--disabled`;
691
728
  const buttonLoadingClass = `${buttonClass}--loading`;
692
- const buttonSymmetricalClass = `${buttonClass}--symmetrical`;
693
- if (isBlock && isSymmetrical) {
729
+ const { isSymmetricalActive, symmetricalClassName } = useSymmetry(buttonClass, isSymmetrical);
730
+ if (isBlock && isSymmetricalActive) {
694
731
  warning(false, 'isBlock and isSymmetrical props are mutually exclusive');
695
732
  }
733
+ const shouldApplyBlock = () => isBlock && !isSymmetricalActive;
696
734
  const classProps = classNames(buttonClass, getButtonColorClassname(buttonClass, color), getButtonSizeClassname(buttonClass, size), {
697
- [buttonBlockClass]: isBlock && !isSymmetrical,
735
+ [buttonBlockClass]: shouldApplyBlock(),
698
736
  [buttonDisabledClass]: isDisabled || isLoading,
699
737
  [buttonLoadingClass]: isLoading,
700
- [buttonSymmetricalClass]: isSymmetrical && !isBlock,
701
- });
738
+ }, symmetricalClassName);
702
739
  return {
703
740
  classProps,
704
741
  props: restProps,
@@ -897,16 +934,16 @@ function useButtonLinkStyleProps(props) {
897
934
  const buttonBlockClass = `${buttonClass}--block`;
898
935
  const buttonDisabledClass = `${buttonClass}--disabled`;
899
936
  const buttonLoadingClass = `${buttonClass}--loading`;
900
- const buttonSymmetricalClass = `${buttonClass}--symmetrical`;
901
- if (isBlock && isSymmetrical) {
937
+ const { isSymmetricalActive, symmetricalClassName } = useSymmetry(buttonClass, isSymmetrical);
938
+ if (isBlock && isSymmetricalActive) {
902
939
  warning(false, 'isBlock and isSymmetrical props are mutually exclusive');
903
940
  }
941
+ const shouldApplyBlock = () => isBlock && !isSymmetricalActive;
904
942
  const classProps = classNames(buttonClass, getButtonLinkColorClassname(buttonClass, color), getButtonLinkSizeClassname(buttonClass, size), {
905
- [buttonBlockClass]: isBlock && !isSymmetrical,
943
+ [buttonBlockClass]: shouldApplyBlock(),
906
944
  [buttonDisabledClass]: isDisabled || isLoading,
907
945
  [buttonLoadingClass]: isLoading,
908
- [buttonSymmetricalClass]: isSymmetrical && !isBlock,
909
- });
946
+ }, symmetricalClassName);
910
947
  return {
911
948
  classProps,
912
949
  props: restProps,