@frontify/fondue-components 22.2.0 → 23.0.0

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 (157) hide show
  1. package/dist/fondue-components10.js +27 -24
  2. package/dist/fondue-components10.js.map +1 -1
  3. package/dist/fondue-components11.js +2 -2
  4. package/dist/fondue-components12.js +2 -2
  5. package/dist/fondue-components13.js +63 -59
  6. package/dist/fondue-components13.js.map +1 -1
  7. package/dist/fondue-components14.js +2 -2
  8. package/dist/fondue-components15.js +2 -2
  9. package/dist/fondue-components16.js +2 -2
  10. package/dist/fondue-components17.js +1 -1
  11. package/dist/fondue-components18.js +1 -1
  12. package/dist/fondue-components19.js +1 -1
  13. package/dist/fondue-components20.js +2 -2
  14. package/dist/fondue-components21.js +2 -2
  15. package/dist/fondue-components22.js +6 -6
  16. package/dist/fondue-components23.js +1 -1
  17. package/dist/fondue-components24.js +29 -25
  18. package/dist/fondue-components24.js.map +1 -1
  19. package/dist/fondue-components25.js +142 -119
  20. package/dist/fondue-components25.js.map +1 -1
  21. package/dist/fondue-components26.js +1 -1
  22. package/dist/fondue-components27.js +3 -3
  23. package/dist/fondue-components28.js +2 -2
  24. package/dist/fondue-components29.js +2 -2
  25. package/dist/fondue-components30.js +1 -1
  26. package/dist/fondue-components31.js +28 -10
  27. package/dist/fondue-components31.js.map +1 -1
  28. package/dist/fondue-components32.js +2 -2
  29. package/dist/fondue-components33.js +1 -1
  30. package/dist/fondue-components34.js +23 -7
  31. package/dist/fondue-components34.js.map +1 -1
  32. package/dist/fondue-components35.js +7 -6
  33. package/dist/fondue-components35.js.map +1 -1
  34. package/dist/fondue-components36.js +7 -32
  35. package/dist/fondue-components36.js.map +1 -1
  36. package/dist/fondue-components37.js +32 -5
  37. package/dist/fondue-components37.js.map +1 -1
  38. package/dist/fondue-components38.js +5 -12
  39. package/dist/fondue-components38.js.map +1 -1
  40. package/dist/fondue-components39.js +10 -153
  41. package/dist/fondue-components39.js.map +1 -1
  42. package/dist/fondue-components4.js +35 -31
  43. package/dist/fondue-components4.js.map +1 -1
  44. package/dist/fondue-components40.js +59 -22
  45. package/dist/fondue-components40.js.map +1 -1
  46. package/dist/fondue-components41.js +17 -17
  47. package/dist/fondue-components41.js.map +1 -1
  48. package/dist/fondue-components42.js +112 -15
  49. package/dist/fondue-components42.js.map +1 -1
  50. package/dist/fondue-components43.js +19 -30
  51. package/dist/fondue-components43.js.map +1 -1
  52. package/dist/fondue-components44.js +32 -53
  53. package/dist/fondue-components44.js.map +1 -1
  54. package/dist/fondue-components45.js +48 -124
  55. package/dist/fondue-components45.js.map +1 -1
  56. package/dist/fondue-components46.js +130 -20
  57. package/dist/fondue-components46.js.map +1 -1
  58. package/dist/fondue-components47.js +21 -53
  59. package/dist/fondue-components47.js.map +1 -1
  60. package/dist/fondue-components48.js +53 -8
  61. package/dist/fondue-components48.js.map +1 -1
  62. package/dist/fondue-components49.js +8 -13
  63. package/dist/fondue-components49.js.map +1 -1
  64. package/dist/fondue-components5.js +2 -2
  65. package/dist/fondue-components50.js +13 -15
  66. package/dist/fondue-components50.js.map +1 -1
  67. package/dist/fondue-components51.js +14 -4
  68. package/dist/fondue-components51.js.map +1 -1
  69. package/dist/fondue-components52.js +5 -60
  70. package/dist/fondue-components52.js.map +1 -1
  71. package/dist/fondue-components53.js +59 -17
  72. package/dist/fondue-components53.js.map +1 -1
  73. package/dist/fondue-components54.js +18 -19
  74. package/dist/fondue-components54.js.map +1 -1
  75. package/dist/fondue-components55.js +18 -4
  76. package/dist/fondue-components55.js.map +1 -1
  77. package/dist/fondue-components56.js +3 -13
  78. package/dist/fondue-components56.js.map +1 -1
  79. package/dist/fondue-components57.js +13 -3
  80. package/dist/fondue-components57.js.map +1 -1
  81. package/dist/fondue-components58.js +3 -17
  82. package/dist/fondue-components58.js.map +1 -1
  83. package/dist/fondue-components59.js +18 -10
  84. package/dist/fondue-components59.js.map +1 -1
  85. package/dist/fondue-components6.js +4 -4
  86. package/dist/fondue-components60.js +11 -35
  87. package/dist/fondue-components60.js.map +1 -1
  88. package/dist/fondue-components61.js +35 -5
  89. package/dist/fondue-components61.js.map +1 -1
  90. package/dist/fondue-components62.js +4 -12
  91. package/dist/fondue-components62.js.map +1 -1
  92. package/dist/fondue-components63.js +12 -4
  93. package/dist/fondue-components63.js.map +1 -1
  94. package/dist/fondue-components64.js +4 -24
  95. package/dist/fondue-components64.js.map +1 -1
  96. package/dist/fondue-components65.js +24 -16
  97. package/dist/fondue-components65.js.map +1 -1
  98. package/dist/fondue-components66.js +16 -150
  99. package/dist/fondue-components66.js.map +1 -1
  100. package/dist/fondue-components67.js +152 -19
  101. package/dist/fondue-components67.js.map +1 -1
  102. package/dist/fondue-components68.js +19 -78
  103. package/dist/fondue-components68.js.map +1 -1
  104. package/dist/fondue-components69.js +78 -8
  105. package/dist/fondue-components69.js.map +1 -1
  106. package/dist/fondue-components7.js +2 -2
  107. package/dist/fondue-components70.js +8 -37
  108. package/dist/fondue-components70.js.map +1 -1
  109. package/dist/fondue-components71.js +36 -70
  110. package/dist/fondue-components71.js.map +1 -1
  111. package/dist/fondue-components72.js +70 -10
  112. package/dist/fondue-components72.js.map +1 -1
  113. package/dist/fondue-components73.js +10 -12
  114. package/dist/fondue-components73.js.map +1 -1
  115. package/dist/fondue-components74.js +12 -12
  116. package/dist/fondue-components74.js.map +1 -1
  117. package/dist/fondue-components75.js +12 -22
  118. package/dist/fondue-components75.js.map +1 -1
  119. package/dist/fondue-components76.js +23 -34
  120. package/dist/fondue-components76.js.map +1 -1
  121. package/dist/fondue-components77.js +34 -11
  122. package/dist/fondue-components77.js.map +1 -1
  123. package/dist/fondue-components78.js +10 -67
  124. package/dist/fondue-components78.js.map +1 -1
  125. package/dist/fondue-components79.js +67 -14
  126. package/dist/fondue-components79.js.map +1 -1
  127. package/dist/fondue-components8.js +5 -5
  128. package/dist/fondue-components80.js +13 -24
  129. package/dist/fondue-components80.js.map +1 -1
  130. package/dist/fondue-components81.js +24 -17
  131. package/dist/fondue-components81.js.map +1 -1
  132. package/dist/fondue-components82.js +15 -19
  133. package/dist/fondue-components82.js.map +1 -1
  134. package/dist/fondue-components83.js +22 -6
  135. package/dist/fondue-components83.js.map +1 -1
  136. package/dist/fondue-components84.js +6 -6
  137. package/dist/fondue-components85.js +19 -4
  138. package/dist/fondue-components85.js.map +1 -1
  139. package/dist/fondue-components86.js +6 -4
  140. package/dist/fondue-components86.js.map +1 -1
  141. package/dist/fondue-components87.js +3 -15
  142. package/dist/fondue-components87.js.map +1 -1
  143. package/dist/fondue-components88.js +5 -2
  144. package/dist/fondue-components88.js.map +1 -1
  145. package/dist/fondue-components89.js +16 -39
  146. package/dist/fondue-components89.js.map +1 -1
  147. package/dist/fondue-components9.js +91 -87
  148. package/dist/fondue-components9.js.map +1 -1
  149. package/dist/fondue-components90.js +2 -6
  150. package/dist/fondue-components90.js.map +1 -1
  151. package/dist/fondue-components91.js +43 -0
  152. package/dist/fondue-components91.js.map +1 -0
  153. package/dist/fondue-components92.js +24 -0
  154. package/dist/fondue-components92.js.map +1 -0
  155. package/dist/index.d.ts +63 -5
  156. package/dist/style.css +1 -1
  157. package/package.json +8 -4
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components34.js","sources":["../src/components/Badge/BadgeStatus.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport styles from './styles/badgestatus.module.scss';\nimport { type RgbaColor } from './types';\nimport { colorToCss } from './utils';\n\ntype BadgeStatusType = 'default' | 'positive' | 'highlight' | 'warning' | 'negative';\n\nconst badgeStatusMap = ['default', 'positive', 'highlight', 'warning', 'negative'];\n\nexport type BadgeStatusProps = { status: BadgeStatusType } | { status: RgbaColor | string };\n\nconst isBadgeStatusType = (value: RgbaColor | string): value is BadgeStatusType =>\n typeof value === 'string' && badgeStatusMap.includes(value);\n\nexport const BadgeStatus = ({ status }: BadgeStatusProps) => {\n const colorProps = isBadgeStatusType(status)\n ? { 'data-status': status }\n : { style: { backgroundColor: typeof status === 'string' ? status : colorToCss(status) || 'transparent' } };\n\n return <div data-test-id=\"badge-status\" className={styles.root} {...colorProps}></div>;\n};\n"],"names":["badgeStatusMap","isBadgeStatusType","value","BadgeStatus","status","colorProps","colorToCss","jsx","styles"],"mappings":";;;AAQA,MAAMA,IAAiB,CAAC,WAAW,YAAY,aAAa,WAAW,UAAU,GAI3EC,IAAoB,CAACC,MACvB,OAAOA,KAAU,YAAYF,EAAe,SAASE,CAAK,GAEjDC,IAAc,CAAC,EAAE,QAAAC,QAA+B;AACzD,QAAMC,IAAaJ,EAAkBG,CAAM,IACrC,EAAE,eAAeA,EAAA,IACjB,EAAE,OAAO,EAAE,iBAAiB,OAAOA,KAAW,WAAWA,IAASE,EAAWF,CAAM,KAAK,gBAAc;AAE5G,SAAO,gBAAAG,EAAC,SAAI,gBAAa,gBAAe,WAAWC,EAAO,MAAO,GAAGH,GAAY;AACpF;"}
1
+ {"version":3,"file":"fondue-components34.js","sources":["../src/hooks/useTranslation.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useCallback, useContext } from 'react';\n\nimport { ThemeContext } from '../components/ThemeProvider/ThemeProvider';\n\n/**\n * Hook to access translation functionality.\n *\n * @returns Object containing translation function\n *\n * @example\n * ```tsx\n * const { t } = useTranslation();\n *\n * // Simple translation\n * const label = t('ColorPicker_selectColor');\n *\n * // Translation with variables\n * const sortLabel = t('Table_sortByAscending', { column: 'Name' });\n * ```\n */\nexport const useTranslation = () => {\n const { translations } = useContext(ThemeContext);\n\n /**\n * Translates a key to its localized string value.\n * Keys follow the format ComponentName_localLabelName[_moreLocalLabelName]\n * and support variable interpolation using ${variable} syntax.\n *\n * @param key - The translation key (e.g., 'ColorPicker_selectColor')\n * @param variables - Optional variables to interpolate into the translation\n * @returns The translated string, or the key itself if translation is not found\n */\n const t = useCallback(\n (key: keyof typeof translations, variables?: Record<string, string>): string => {\n // Direct lookup for flat keys\n const value = translations[key];\n\n if (value === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Fondue] Translation key \"${key}\" not found`);\n }\n return key;\n }\n\n if (typeof value !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Fondue] Translation value for key \"${key}\" is not a string`);\n }\n return key;\n }\n\n let text = value;\n\n // Variable interpolation: replace ${variable} with actual values\n if (variables) {\n for (const [varKey, varValue] of Object.entries(variables)) {\n text = text.replaceAll(`\\${${varKey}}`, varValue);\n }\n }\n\n return text;\n },\n [translations],\n );\n\n return {\n /** Translation function */\n t,\n };\n};\n"],"names":["useTranslation","translations","useContext","ThemeContext","useCallback","key","variables","value","text","varKey","varValue"],"mappings":";;AAsBO,MAAMA,IAAiB,MAAM;AAChC,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAWC,CAAY;AA4ChD,SAAO;AAAA;AAAA,IAEH,GAnCMC;AAAA,MACN,CAACC,GAAgCC,MAA+C;AAE5E,cAAMC,IAAQN,EAAaI,CAAG;AAE9B,YAAIE,MAAU;AACV,iBAAI,QAAQ,IAAI,aAAa,gBACzB,QAAQ,KAAK,6BAA6BF,CAAG,aAAa,GAEvDA;AAGX,YAAI,OAAOE,KAAU;AACjB,iBAAI,QAAQ,IAAI,aAAa,gBACzB,QAAQ,KAAK,uCAAuCF,CAAG,mBAAmB,GAEvEA;AAGX,YAAIG,IAAOD;AAGX,YAAID;AACA,qBAAW,CAACG,GAAQC,CAAQ,KAAK,OAAO,QAAQJ,CAAS;AACrD,YAAAE,IAAOA,EAAK,WAAW,MAAMC,CAAM,KAAKC,CAAQ;AAIxD,eAAOF;AAAA,MACX;AAAA,MACA,CAACP,CAAY;AAAA,IAAA;AAAA,EAKb;AAER;"}
@@ -1,10 +1,11 @@
1
- const s = "_root_i684q_3", o = "_dismiss_i684q_156", t = {
2
- root: s,
3
- dismiss: o
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import s from "./fondue-components87.js";
3
+ import { colorToCss as e } from "./fondue-components88.js";
4
+ const a = ["default", "positive", "highlight", "warning", "negative"], i = (t) => typeof t == "string" && a.includes(t), p = ({ status: t }) => {
5
+ const o = i(t) ? { "data-status": t } : { style: { backgroundColor: typeof t == "string" ? t : e(t) || "transparent" } };
6
+ return /* @__PURE__ */ r("div", { "data-test-id": "badge-status", className: s.root, ...o });
4
7
  };
5
8
  export {
6
- t as default,
7
- o as dismiss,
8
- s as root
9
+ p as BadgeStatus
9
10
  };
10
11
  //# sourceMappingURL=fondue-components35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components35.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"fondue-components35.js","sources":["../src/components/Badge/BadgeStatus.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport styles from './styles/badgestatus.module.scss';\nimport { type RgbaColor } from './types';\nimport { colorToCss } from './utils';\n\ntype BadgeStatusType = 'default' | 'positive' | 'highlight' | 'warning' | 'negative';\n\nconst badgeStatusMap = ['default', 'positive', 'highlight', 'warning', 'negative'];\n\nexport type BadgeStatusProps = { status: BadgeStatusType } | { status: RgbaColor | string };\n\nconst isBadgeStatusType = (value: RgbaColor | string): value is BadgeStatusType =>\n typeof value === 'string' && badgeStatusMap.includes(value);\n\nexport const BadgeStatus = ({ status }: BadgeStatusProps) => {\n const colorProps = isBadgeStatusType(status)\n ? { 'data-status': status }\n : { style: { backgroundColor: typeof status === 'string' ? status : colorToCss(status) || 'transparent' } };\n\n return <div data-test-id=\"badge-status\" className={styles.root} {...colorProps}></div>;\n};\n"],"names":["badgeStatusMap","isBadgeStatusType","value","BadgeStatus","status","colorProps","colorToCss","jsx","styles"],"mappings":";;;AAQA,MAAMA,IAAiB,CAAC,WAAW,YAAY,aAAa,WAAW,UAAU,GAI3EC,IAAoB,CAACC,MACvB,OAAOA,KAAU,YAAYF,EAAe,SAASE,CAAK,GAEjDC,IAAc,CAAC,EAAE,QAAAC,QAA+B;AACzD,QAAMC,IAAaJ,EAAkBG,CAAM,IACrC,EAAE,eAAeA,EAAA,IACjB,EAAE,OAAO,EAAE,iBAAiB,OAAOA,KAAW,WAAWA,IAASE,EAAWF,CAAM,KAAK,gBAAc;AAE5G,SAAO,gBAAAG,EAAC,SAAI,gBAAa,gBAAe,WAAWC,EAAO,MAAO,GAAGH,GAAY;AACpF;"}
@@ -1,35 +1,10 @@
1
- const g = (n) => n.startsWith("aria-") || n === "role", s = {
2
- m: "margin",
3
- mx: "margin-x",
4
- my: "margin-y",
5
- mt: "margin-top",
6
- mr: "margin-right",
7
- mb: "margin-bottom",
8
- ml: "margin-left",
9
- p: "padding",
10
- px: "padding-x",
11
- py: "padding-y",
12
- pt: "padding-top",
13
- pr: "padding-right",
14
- pb: "padding-bottom",
15
- pl: "padding-left",
16
- direction: "flex-direction",
17
- align: "align-items",
18
- wrap: "flex-wrap",
19
- columns: "grid-template-columns",
20
- rows: "grid-template-rows"
21
- }, m = (n, r) => n === "columns" || n === "rows" ? typeof r == "number" ? `repeat(${r}, 1fr)` : r : typeof r == "number" ? `${r * 0.25}rem` : r, f = (n, r = {}) => Object.entries(n).reduce((i, [t, o]) => {
22
- if (g(t))
23
- return i;
24
- const e = t in r ? r[t] : t in s ? s[t] : t, p = e == null ? void 0 : e.replaceAll(/([\da-z]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
25
- if (typeof o == "object")
26
- for (const [d, a] of Object.entries(o))
27
- a !== void 0 && (i[`--${d}-${p}`] = m(t, a));
28
- else
29
- i[`--${p}`] = m(t, o);
30
- return i;
31
- }, {});
1
+ const s = "_root_i684q_3", o = "_dismiss_i684q_156", t = {
2
+ root: s,
3
+ dismiss: o
4
+ };
32
5
  export {
33
- f as propsToCssVariables
6
+ t as default,
7
+ o as dismiss,
8
+ s as root
34
9
  };
35
10
  //# sourceMappingURL=fondue-components36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components36.js","sources":["../src/helpers/propsToCssVariables.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type CSSProperties } from 'react';\n\nimport { type Breakpoint } from './layout';\n\nconst isAriaProp = (key: string): boolean => {\n return key.startsWith('aria-') || key === 'role';\n};\n\nconst abbreviationToCssProperty: Record<string, string> = {\n m: 'margin',\n mx: 'margin-x',\n my: 'margin-y',\n mt: 'margin-top',\n mr: 'margin-right',\n mb: 'margin-bottom',\n ml: 'margin-left',\n p: 'padding',\n px: 'padding-x',\n py: 'padding-y',\n pt: 'padding-top',\n pr: 'padding-right',\n pb: 'padding-bottom',\n pl: 'padding-left',\n direction: 'flex-direction',\n align: 'align-items',\n wrap: 'flex-wrap',\n columns: 'grid-template-columns',\n rows: 'grid-template-rows',\n};\n\nconst transformValueBasedOnKey = (key: string, value: string | number): string | number => {\n if (key === 'columns' || key === 'rows') {\n if (typeof value === 'number') {\n return `repeat(${value}, 1fr)`;\n }\n return value;\n }\n\n // Spacing tokens\n if (typeof value === 'number') {\n return `${value * 0.25}rem`;\n }\n\n return value;\n};\n\nexport const propsToCssVariables = (\n props: Record<string, string | number | boolean | { [key in Breakpoint]?: string | number | boolean }>,\n extraAbbreviationToCssProperty: Record<string, string> = {},\n): CSSProperties => {\n return Object.entries(props).reduce((acc, [key, value]) => {\n if (isAriaProp(key)) {\n return acc;\n }\n\n const cssProperty =\n key in extraAbbreviationToCssProperty\n ? extraAbbreviationToCssProperty[key]\n : key in abbreviationToCssProperty\n ? abbreviationToCssProperty[key]\n : key;\n // The lookahead is necessary to split camelCase boundaries; disabling false-positive lint warning\n const cssPropertyKebabCase = cssProperty?.replaceAll(/([\\da-z]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n\n if (typeof value === 'object') {\n for (const [breakpoint, breakpointValue] of Object.entries(value)) {\n if (breakpointValue !== undefined) {\n // @ts-expect-error CSS variables are not typed into `CSSProperties`\n acc[`--${breakpoint}-${cssPropertyKebabCase}`] = transformValueBasedOnKey(key, breakpointValue);\n }\n }\n } else {\n // @ts-expect-error CSS variables are not typed into `CSSProperties`\n acc[`--${cssPropertyKebabCase}`] = transformValueBasedOnKey(key, value);\n }\n\n return acc;\n }, {} as CSSProperties);\n};\n"],"names":["isAriaProp","key","abbreviationToCssProperty","transformValueBasedOnKey","value","propsToCssVariables","props","extraAbbreviationToCssProperty","acc","cssProperty","cssPropertyKebabCase","breakpoint","breakpointValue"],"mappings":"AAMA,MAAMA,IAAa,CAACC,MACTA,EAAI,WAAW,OAAO,KAAKA,MAAQ,QAGxCC,IAAoD;AAAA,EACtD,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AACV,GAEMC,IAA2B,CAACF,GAAaG,MACvCH,MAAQ,aAAaA,MAAQ,SACzB,OAAOG,KAAU,WACV,UAAUA,CAAK,WAEnBA,IAIP,OAAOA,KAAU,WACV,GAAGA,IAAQ,IAAI,QAGnBA,GAGEC,IAAsB,CAC/BC,GACAC,IAAyD,OAElD,OAAO,QAAQD,CAAK,EAAE,OAAO,CAACE,GAAK,CAACP,GAAKG,CAAK,MAAM;AACvD,MAAIJ,EAAWC,CAAG;AACd,WAAOO;AAGX,QAAMC,IACFR,KAAOM,IACDA,EAA+BN,CAAG,IAClCA,KAAOC,IACLA,EAA0BD,CAAG,IAC7BA,GAENS,IAAuBD,KAAA,gBAAAA,EAAa,WAAW,+BAA+B,SAAS;AAE7F,MAAI,OAAOL,KAAU;AACjB,eAAW,CAACO,GAAYC,CAAe,KAAK,OAAO,QAAQR,CAAK;AAC5D,MAAIQ,MAAoB,WAEpBJ,EAAI,KAAKG,CAAU,IAAID,CAAoB,EAAE,IAAIP,EAAyBF,GAAKW,CAAe;AAAA;AAKtG,IAAAJ,EAAI,KAAKE,CAAoB,EAAE,IAAIP,EAAyBF,GAAKG,CAAK;AAG1E,SAAOI;AACX,GAAG,CAAA,CAAmB;"}
1
+ {"version":3,"file":"fondue-components36.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,8 +1,35 @@
1
- const o = "_root_f9dx4_6", t = {
2
- root: o
3
- };
1
+ const g = (n) => n.startsWith("aria-") || n === "role", s = {
2
+ m: "margin",
3
+ mx: "margin-x",
4
+ my: "margin-y",
5
+ mt: "margin-top",
6
+ mr: "margin-right",
7
+ mb: "margin-bottom",
8
+ ml: "margin-left",
9
+ p: "padding",
10
+ px: "padding-x",
11
+ py: "padding-y",
12
+ pt: "padding-top",
13
+ pr: "padding-right",
14
+ pb: "padding-bottom",
15
+ pl: "padding-left",
16
+ direction: "flex-direction",
17
+ align: "align-items",
18
+ wrap: "flex-wrap",
19
+ columns: "grid-template-columns",
20
+ rows: "grid-template-rows"
21
+ }, m = (n, r) => n === "columns" || n === "rows" ? typeof r == "number" ? `repeat(${r}, 1fr)` : r : typeof r == "number" ? `${r * 0.25}rem` : r, f = (n, r = {}) => Object.entries(n).reduce((i, [t, o]) => {
22
+ if (g(t))
23
+ return i;
24
+ const e = t in r ? r[t] : t in s ? s[t] : t, p = e == null ? void 0 : e.replaceAll(/([\da-z]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
25
+ if (typeof o == "object")
26
+ for (const [d, a] of Object.entries(o))
27
+ a !== void 0 && (i[`--${d}-${p}`] = m(t, a));
28
+ else
29
+ i[`--${p}`] = m(t, o);
30
+ return i;
31
+ }, {});
4
32
  export {
5
- t as default,
6
- o as root
33
+ f as propsToCssVariables
7
34
  };
8
35
  //# sourceMappingURL=fondue-components37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components37.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"fondue-components37.js","sources":["../src/helpers/propsToCssVariables.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type CSSProperties } from 'react';\n\nimport { type Breakpoint } from './layout';\n\nconst isAriaProp = (key: string): boolean => {\n return key.startsWith('aria-') || key === 'role';\n};\n\nconst abbreviationToCssProperty: Record<string, string> = {\n m: 'margin',\n mx: 'margin-x',\n my: 'margin-y',\n mt: 'margin-top',\n mr: 'margin-right',\n mb: 'margin-bottom',\n ml: 'margin-left',\n p: 'padding',\n px: 'padding-x',\n py: 'padding-y',\n pt: 'padding-top',\n pr: 'padding-right',\n pb: 'padding-bottom',\n pl: 'padding-left',\n direction: 'flex-direction',\n align: 'align-items',\n wrap: 'flex-wrap',\n columns: 'grid-template-columns',\n rows: 'grid-template-rows',\n};\n\nconst transformValueBasedOnKey = (key: string, value: string | number): string | number => {\n if (key === 'columns' || key === 'rows') {\n if (typeof value === 'number') {\n return `repeat(${value}, 1fr)`;\n }\n return value;\n }\n\n // Spacing tokens\n if (typeof value === 'number') {\n return `${value * 0.25}rem`;\n }\n\n return value;\n};\n\nexport const propsToCssVariables = (\n props: Record<string, string | number | boolean | { [key in Breakpoint]?: string | number | boolean }>,\n extraAbbreviationToCssProperty: Record<string, string> = {},\n): CSSProperties => {\n return Object.entries(props).reduce((acc, [key, value]) => {\n if (isAriaProp(key)) {\n return acc;\n }\n\n const cssProperty =\n key in extraAbbreviationToCssProperty\n ? extraAbbreviationToCssProperty[key]\n : key in abbreviationToCssProperty\n ? abbreviationToCssProperty[key]\n : key;\n // The lookahead is necessary to split camelCase boundaries; disabling false-positive lint warning\n const cssPropertyKebabCase = cssProperty?.replaceAll(/([\\da-z]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n\n if (typeof value === 'object') {\n for (const [breakpoint, breakpointValue] of Object.entries(value)) {\n if (breakpointValue !== undefined) {\n // @ts-expect-error CSS variables are not typed into `CSSProperties`\n acc[`--${breakpoint}-${cssPropertyKebabCase}`] = transformValueBasedOnKey(key, breakpointValue);\n }\n }\n } else {\n // @ts-expect-error CSS variables are not typed into `CSSProperties`\n acc[`--${cssPropertyKebabCase}`] = transformValueBasedOnKey(key, value);\n }\n\n return acc;\n }, {} as CSSProperties);\n};\n"],"names":["isAriaProp","key","abbreviationToCssProperty","transformValueBasedOnKey","value","propsToCssVariables","props","extraAbbreviationToCssProperty","acc","cssProperty","cssPropertyKebabCase","breakpoint","breakpointValue"],"mappings":"AAMA,MAAMA,IAAa,CAACC,MACTA,EAAI,WAAW,OAAO,KAAKA,MAAQ,QAGxCC,IAAoD;AAAA,EACtD,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AACV,GAEMC,IAA2B,CAACF,GAAaG,MACvCH,MAAQ,aAAaA,MAAQ,SACzB,OAAOG,KAAU,WACV,UAAUA,CAAK,WAEnBA,IAIP,OAAOA,KAAU,WACV,GAAGA,IAAQ,IAAI,QAGnBA,GAGEC,IAAsB,CAC/BC,GACAC,IAAyD,OAElD,OAAO,QAAQD,CAAK,EAAE,OAAO,CAACE,GAAK,CAACP,GAAKG,CAAK,MAAM;AACvD,MAAIJ,EAAWC,CAAG;AACd,WAAOO;AAGX,QAAMC,IACFR,KAAOM,IACDA,EAA+BN,CAAG,IAClCA,KAAOC,IACLA,EAA0BD,CAAG,IAC7BA,GAENS,IAAuBD,KAAA,gBAAAA,EAAa,WAAW,+BAA+B,SAAS;AAE7F,MAAI,OAAOL,KAAU;AACjB,eAAW,CAACO,GAAYC,CAAe,KAAK,OAAO,QAAQR,CAAK;AAC5D,MAAIQ,MAAoB,WAEpBJ,EAAI,KAAKG,CAAU,IAAID,CAAoB,EAAE,IAAIP,EAAyBF,GAAKW,CAAe;AAAA;AAKtG,IAAAJ,EAAI,KAAKE,CAAoB,EAAE,IAAIP,EAAyBF,GAAKG,CAAK;AAG1E,SAAOI;AACX,GAAG,CAAA,CAAmB;"}
@@ -1,15 +1,8 @@
1
- import { extendTailwindMerge as e } from "tailwind-merge";
2
- import { tv as o } from "tailwind-variants";
3
- const r = e({
4
- prefix: "tw-",
5
- extend: {
6
- classGroups: {
7
- "font-size": ["text-body-x-small", "text-body-small", "text-body-medium", "text-body-large"]
8
- }
9
- }
10
- }), m = (...t) => r(...t), x = (t) => o(t);
1
+ const o = "_root_f9dx4_6", t = {
2
+ root: o
3
+ };
11
4
  export {
12
- m as cn,
13
- x as sv
5
+ t as default,
6
+ o as root
14
7
  };
15
8
  //# sourceMappingURL=fondue-components38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components38.js","sources":["../src/utilities/styleUtilities.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { extendTailwindMerge } from 'tailwind-merge';\nimport { tv, type TV } from 'tailwind-variants';\n\ntype ClassNameValue = ClassNameArray | string | null | undefined | 0 | false;\ntype ClassNameArray = ClassNameValue[];\n\nconst customTwMerge = extendTailwindMerge({\n prefix: 'tw-',\n extend: {\n classGroups: {\n 'font-size': ['text-body-x-small', 'text-body-small', 'text-body-medium', 'text-body-large'],\n },\n },\n});\n\nexport const cn = (...classLists: ClassNameValue[]): string => {\n return customTwMerge(...classLists);\n};\n\nexport const sv: TV = (variants) => {\n return tv(variants);\n};\n"],"names":["customTwMerge","extendTailwindMerge","cn","classLists","sv","variants","tv"],"mappings":";;AAQA,MAAMA,IAAgBC,EAAoB;AAAA,EACtC,QAAQ;AAAA,EACR,QAAQ;AAAA,IACJ,aAAa;AAAA,MACT,aAAa,CAAC,qBAAqB,mBAAmB,oBAAoB,iBAAiB;AAAA,IAAA;AAAA,EAC/F;AAER,CAAC,GAEYC,IAAK,IAAIC,MACXH,EAAc,GAAGG,CAAU,GAGzBC,IAAS,CAACC,MACZC,EAAGD,CAAQ;"}
1
+ {"version":3,"file":"fondue-components38.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,158 +1,15 @@
1
- import { FOCUS_OUTLINE as t } from "./fondue-components88.js";
2
- import { sv as e } from "./fondue-components38.js";
3
- const o = e({
4
- base: `tw-group tw-relative tw-flex tw-flex-row tw-gap-2 tw-items-center tw-justify-center tw-cursor-pointer tw-font-body tw-font-medium tw-box-border tw-whitespace-nowrap tw-transition-colors ${t}`,
5
- variants: {
6
- disabled: {
7
- true: "tw-cursor-not-allowed tw-pointer-events-none tw-text-box-disabled-inverse tw-bg-box-disabled"
8
- },
9
- rounding: {
10
- medium: "tw-rounded",
11
- full: "tw-rounded-full"
12
- },
13
- size: {
14
- small: "tw-h-6 tw-text-body-small",
15
- medium: "tw-h-9 tw-text-body-medium",
16
- large: "tw-h-12 tw-text-body-large"
17
- },
18
- aspect: {
19
- square: "tw-aspect-square tw-px-0",
20
- default: ""
21
- },
22
- hugWidth: {
23
- false: "tw-w-full"
24
- },
25
- emphasis: {
26
- default: "",
27
- weak: "",
28
- strong: ""
29
- },
30
- variant: {
31
- default: "",
32
- positive: "",
33
- negative: "",
34
- danger: "",
35
- loud: ""
1
+ import { extendTailwindMerge as e } from "tailwind-merge";
2
+ import { tv as o } from "tailwind-variants";
3
+ const r = e({
4
+ prefix: "tw-",
5
+ extend: {
6
+ classGroups: {
7
+ "font-size": ["text-body-x-small", "text-body-small", "text-body-medium", "text-body-large"]
36
8
  }
37
- },
38
- compoundVariants: [
39
- {
40
- disabled: !1,
41
- variant: "default",
42
- emphasis: "default",
43
- class: "tw-bg-button-background hover:tw-bg-button-background-hover active:tw-bg-button-background-pressed"
44
- },
45
- {
46
- disabled: !1,
47
- variant: "default",
48
- emphasis: "weak",
49
- class: "hover:tw-bg-button-background-hover active:tw-bg-button-background-pressed"
50
- },
51
- {
52
- disabled: !1,
53
- variant: "default",
54
- emphasis: "strong",
55
- class: "tw-bg-button-strong-background hover:tw-bg-button-strong-background-hover active:tw-bg-button-strong-background-pressed"
56
- },
57
- {
58
- disabled: !1,
59
- variant: "positive",
60
- emphasis: "default",
61
- class: "tw-bg-button-positive-background hover:tw-bg-button-positive-background-hover active:tw-bg-button-positive-background-pressed"
62
- },
63
- {
64
- disabled: !1,
65
- variant: "positive",
66
- emphasis: "weak",
67
- class: "hover:tw-bg-button-positive-background-hover active:tw-bg-button-positive-background-pressed"
68
- },
69
- {
70
- disabled: !1,
71
- variant: "positive",
72
- emphasis: "strong",
73
- class: "tw-bg-button-strong-positive-background hover:tw-bg-button-strong-positive-background-hover active:tw-bg-button-strong-positive-background-pressed"
74
- },
75
- {
76
- disabled: !1,
77
- variant: "negative",
78
- emphasis: "default",
79
- class: "tw-bg-button-negative-background hover:tw-bg-button-negative-background-hover active:tw-bg-button-negative-background-pressed"
80
- },
81
- {
82
- disabled: !1,
83
- variant: "negative",
84
- emphasis: "weak",
85
- class: "hover:tw-bg-button-negative-background-hover active:tw-bg-button-negative-background-pressed"
86
- },
87
- {
88
- disabled: !1,
89
- variant: "negative",
90
- emphasis: "strong",
91
- class: "tw-bg-button-strong-negative-background hover:tw-bg-button-strong-negative-background-hover active:tw-bg-button-strong-negative-background-pressed"
92
- },
93
- {
94
- disabled: !1,
95
- variant: "danger",
96
- emphasis: "default",
97
- class: "tw-bg-button-background hover:tw-bg-button-background-hover active:tw-bg-button-background-pressed"
98
- },
99
- {
100
- disabled: !1,
101
- variant: "danger",
102
- emphasis: "weak",
103
- class: "hover:tw-bg-button-background-hover active:tw-bg-button-background-pressed"
104
- },
105
- {
106
- disabled: !1,
107
- variant: "danger",
108
- emphasis: "strong",
109
- class: "tw-bg-button-danger-background hover:tw-bg-button-danger-background-hover active:tw-bg-button-danger-background-pressed"
110
- },
111
- {
112
- disabled: !1,
113
- variant: "loud",
114
- emphasis: "default",
115
- class: "tw-bg-box-selected hover:tw-bg-box-selected-hover active:tw-bg-box-selected-pressed"
116
- },
117
- {
118
- disabled: !1,
119
- variant: "loud",
120
- emphasis: "weak",
121
- class: "tw-border-transparent hover:tw-bg-box-selected-hover active:tw-bg-box-selected-pressed"
122
- },
123
- {
124
- disabled: !1,
125
- variant: "loud",
126
- emphasis: "strong",
127
- class: "tw-bg-box-selected-strong hover:tw-bg-box-selected-strong-hover active:tw-bg-box-selected-strong-pressed "
128
- },
129
- {
130
- aspect: "default",
131
- size: "small",
132
- class: "tw-px-2"
133
- },
134
- {
135
- aspect: "default",
136
- size: "medium",
137
- class: "tw-px-4"
138
- },
139
- {
140
- aspect: "default",
141
- size: "large",
142
- class: "tw-px-6"
143
- }
144
- ],
145
- defaultVariants: {
146
- variant: "default",
147
- emphasis: "strong",
148
- size: "medium",
149
- rounding: "medium",
150
- hugWidth: !0,
151
- aspect: "default",
152
- disabled: !1
153
9
  }
154
- });
10
+ }), m = (...t) => r(...t), x = (t) => o(t);
155
11
  export {
156
- o as buttonStyles
12
+ m as cn,
13
+ x as sv
157
14
  };
158
15
  //# sourceMappingURL=fondue-components39.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components39.js","sources":["../src/components/Button/styles/buttonStyles.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { FOCUS_OUTLINE } from '#/utilities/focusStyle';\nimport { sv } from '#/utilities/styleUtilities';\n\nexport const buttonStyles = sv({\n base:\n 'tw-group tw-relative tw-flex tw-flex-row tw-gap-2 tw-items-center tw-justify-center tw-cursor-pointer tw-font-body tw-font-medium tw-box-border tw-whitespace-nowrap tw-transition-colors ' +\n `${FOCUS_OUTLINE}`,\n variants: {\n disabled: {\n true: 'tw-cursor-not-allowed tw-pointer-events-none tw-text-box-disabled-inverse tw-bg-box-disabled',\n },\n rounding: {\n medium: 'tw-rounded',\n full: 'tw-rounded-full',\n },\n size: {\n small: 'tw-h-6 tw-text-body-small',\n medium: 'tw-h-9 tw-text-body-medium',\n large: 'tw-h-12 tw-text-body-large',\n },\n aspect: {\n square: 'tw-aspect-square tw-px-0',\n default: '',\n },\n hugWidth: {\n false: 'tw-w-full',\n },\n emphasis: {\n default: '',\n weak: '',\n strong: '',\n },\n variant: {\n default: '',\n positive: '',\n negative: '',\n danger: '',\n loud: '',\n },\n },\n compoundVariants: [\n {\n disabled: false,\n variant: 'default',\n emphasis: 'default',\n class:\n 'tw-bg-button-background ' +\n 'hover:tw-bg-button-background-hover ' +\n 'active:tw-bg-button-background-pressed',\n },\n {\n disabled: false,\n variant: 'default',\n emphasis: 'weak',\n class: 'hover:tw-bg-button-background-hover active:tw-bg-button-background-pressed',\n },\n {\n disabled: false,\n variant: 'default',\n emphasis: 'strong',\n class:\n 'tw-bg-button-strong-background ' +\n 'hover:tw-bg-button-strong-background-hover ' +\n 'active:tw-bg-button-strong-background-pressed',\n },\n {\n disabled: false,\n variant: 'positive',\n emphasis: 'default',\n class:\n 'tw-bg-button-positive-background ' +\n 'hover:tw-bg-button-positive-background-hover ' +\n 'active:tw-bg-button-positive-background-pressed',\n },\n {\n disabled: false,\n variant: 'positive',\n emphasis: 'weak',\n class: 'hover:tw-bg-button-positive-background-hover active:tw-bg-button-positive-background-pressed',\n },\n {\n disabled: false,\n variant: 'positive',\n emphasis: 'strong',\n class:\n 'tw-bg-button-strong-positive-background ' +\n 'hover:tw-bg-button-strong-positive-background-hover ' +\n 'active:tw-bg-button-strong-positive-background-pressed',\n },\n {\n disabled: false,\n variant: 'negative',\n emphasis: 'default',\n class:\n 'tw-bg-button-negative-background ' +\n 'hover:tw-bg-button-negative-background-hover ' +\n 'active:tw-bg-button-negative-background-pressed',\n },\n {\n disabled: false,\n variant: 'negative',\n emphasis: 'weak',\n class: 'hover:tw-bg-button-negative-background-hover active:tw-bg-button-negative-background-pressed',\n },\n {\n disabled: false,\n variant: 'negative',\n emphasis: 'strong',\n class:\n 'tw-bg-button-strong-negative-background ' +\n 'hover:tw-bg-button-strong-negative-background-hover ' +\n 'active:tw-bg-button-strong-negative-background-pressed',\n },\n {\n disabled: false,\n variant: 'danger',\n emphasis: 'default',\n class:\n 'tw-bg-button-background ' +\n 'hover:tw-bg-button-background-hover ' +\n 'active:tw-bg-button-background-pressed',\n },\n {\n disabled: false,\n variant: 'danger',\n emphasis: 'weak',\n class: 'hover:tw-bg-button-background-hover active:tw-bg-button-background-pressed',\n },\n {\n disabled: false,\n variant: 'danger',\n emphasis: 'strong',\n class:\n 'tw-bg-button-danger-background ' +\n 'hover:tw-bg-button-danger-background-hover ' +\n 'active:tw-bg-button-danger-background-pressed',\n },\n {\n disabled: false,\n variant: 'loud',\n emphasis: 'default',\n class: 'tw-bg-box-selected hover:tw-bg-box-selected-hover active:tw-bg-box-selected-pressed',\n },\n {\n disabled: false,\n variant: 'loud',\n emphasis: 'weak',\n class: 'tw-border-transparent hover:tw-bg-box-selected-hover active:tw-bg-box-selected-pressed',\n },\n {\n disabled: false,\n variant: 'loud',\n emphasis: 'strong',\n class:\n 'tw-bg-box-selected-strong ' +\n 'hover:tw-bg-box-selected-strong-hover ' +\n 'active:tw-bg-box-selected-strong-pressed ',\n },\n {\n aspect: 'default',\n size: 'small',\n class: 'tw-px-2',\n },\n {\n aspect: 'default',\n size: 'medium',\n class: 'tw-px-4',\n },\n {\n aspect: 'default',\n size: 'large',\n class: 'tw-px-6',\n },\n ],\n defaultVariants: {\n variant: 'default',\n emphasis: 'strong',\n size: 'medium',\n rounding: 'medium',\n hugWidth: true,\n aspect: 'default',\n disabled: false,\n },\n});\n"],"names":["buttonStyles","sv","FOCUS_OUTLINE"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components39.js","sources":["../src/utilities/styleUtilities.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { extendTailwindMerge } from 'tailwind-merge';\nimport { tv, type TV } from 'tailwind-variants';\n\ntype ClassNameValue = ClassNameArray | string | null | undefined | 0 | false;\ntype ClassNameArray = ClassNameValue[];\n\nconst customTwMerge = extendTailwindMerge({\n prefix: 'tw-',\n extend: {\n classGroups: {\n 'font-size': ['text-body-x-small', 'text-body-small', 'text-body-medium', 'text-body-large'],\n },\n },\n});\n\nexport const cn = (...classLists: ClassNameValue[]): string => {\n return customTwMerge(...classLists);\n};\n\nexport const sv: TV = (variants) => {\n return tv(variants);\n};\n"],"names":["customTwMerge","extendTailwindMerge","cn","classLists","sv","variants","tv"],"mappings":";;AAQA,MAAMA,IAAgBC,EAAoB;AAAA,EACtC,QAAQ;AAAA,EACR,QAAQ;AAAA,IACJ,aAAa;AAAA,MACT,aAAa,CAAC,qBAAqB,mBAAmB,oBAAoB,iBAAiB;AAAA,IAAA;AAAA,EAC/F;AAER,CAAC,GAEYC,IAAK,IAAIC,MACXH,EAAc,GAAGG,CAAU,GAGzBC,IAAS,CAACC,MACZC,EAAGD,CAAQ;"}
@@ -1,54 +1,58 @@
1
1
  import { jsx as a, jsxs as g, Fragment as h } from "react/jsx-runtime";
2
- import { IconCross as x } from "@frontify/fondue-icons";
3
- import { BadgeStatus as y } from "./fondue-components34.js";
4
- import p from "./fondue-components35.js";
5
- const C = ({
2
+ import { IconCross as B } from "@frontify/fondue-icons";
3
+ import { useTranslation as x } from "./fondue-components34.js";
4
+ import { BadgeStatus as y } from "./fondue-components35.js";
5
+ import p from "./fondue-components36.js";
6
+ const P = ({
6
7
  "aria-label": e,
7
- "data-test-id": s = "badge",
8
- children: r,
8
+ "data-test-id": n = "badge",
9
+ children: o,
9
10
  disabled: t = !1,
10
- emphasis: o = "strong",
11
- onClick: d,
11
+ emphasis: r = "strong",
12
+ onClick: s,
12
13
  onDismiss: i,
13
14
  size: b = "default",
14
15
  status: f,
15
- title: n,
16
+ title: d,
16
17
  variant: u = "default"
17
18
  }) => {
18
19
  const l = {
19
- "aria-label": e || n,
20
+ "aria-label": e || d,
20
21
  "data-component": "badge",
21
22
  "data-disabled": t,
22
23
  "data-dismissable": !!i,
23
- "data-emphasis": o,
24
+ "data-emphasis": r,
24
25
  "data-size": b,
25
- "data-test-id": s,
26
+ "data-test-id": n,
26
27
  "data-variant": u,
27
28
  className: p.root,
28
- title: n
29
+ title: d
29
30
  }, m = {
30
- "aria-label": e || n,
31
+ "aria-label": e || d,
31
32
  disabled: t,
32
33
  onDismiss: i,
33
34
  status: f
34
35
  };
35
- return d ? /* @__PURE__ */ a("button", { type: "button", disabled: t, ...l, onClick: d, children: /* @__PURE__ */ a(c, { ...m, children: r }) }) : /* @__PURE__ */ a("div", { ...l, children: /* @__PURE__ */ a(c, { ...m, children: r }) });
36
- }, c = ({ "aria-label": e, children: s, disabled: r = !1, onDismiss: t, status: o }) => /* @__PURE__ */ g(h, { children: [
37
- o && /* @__PURE__ */ a(y, { status: o }),
38
- s,
39
- t && /* @__PURE__ */ a(
40
- "button",
41
- {
42
- type: "button",
43
- "aria-label": `Dismiss ${e}`,
44
- className: p.dismiss,
45
- disabled: r,
46
- onClick: t,
47
- children: /* @__PURE__ */ a(x, { size: "12" })
48
- }
49
- )
50
- ] });
36
+ return s ? /* @__PURE__ */ a("button", { type: "button", disabled: t, ...l, onClick: s, children: /* @__PURE__ */ a(c, { ...m, children: o }) }) : /* @__PURE__ */ a("div", { ...l, children: /* @__PURE__ */ a(c, { ...m, children: o }) });
37
+ }, c = ({ "aria-label": e, children: n, disabled: o = !1, onDismiss: t, status: r }) => {
38
+ const { t: s } = x();
39
+ return /* @__PURE__ */ g(h, { children: [
40
+ r && /* @__PURE__ */ a(y, { status: r }),
41
+ n,
42
+ t && /* @__PURE__ */ a(
43
+ "button",
44
+ {
45
+ type: "button",
46
+ "aria-label": s("Badge_dismiss", { label: e || "" }),
47
+ className: p.dismiss,
48
+ disabled: o,
49
+ onClick: t,
50
+ children: /* @__PURE__ */ a(B, { size: "12" })
51
+ }
52
+ )
53
+ ] });
54
+ };
51
55
  export {
52
- C as Badge
56
+ P as Badge
53
57
  };
54
58
  //# sourceMappingURL=fondue-components4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components4.js","sources":["../src/components/Badge/Badge.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport { type MouseEvent, type ReactNode } from 'react';\n\nimport { BadgeStatus, type BadgeStatusProps } from './BadgeStatus';\nimport styles from './styles/badge.module.scss';\n\ntype BadgeStyle = 'default' | 'positive' | 'highlight' | 'warning' | 'negative';\n\ntype BadgeEmphasis = 'strong' | 'weak';\n\ntype BadgeSize = 'default' | 'small';\n\ntype BadgeProps = {\n /**\n * @default 'strong'\n */\n emphasis?: BadgeEmphasis;\n /**\n * @default 'default'\n */\n variant?: BadgeStyle;\n /**\n * @default 'default'\n */\n size?: BadgeSize;\n /**\n * @default false\n */\n disabled?: boolean;\n /**\n * Click handler\n */\n onClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Click handler on dismiss - providing this will show the dismiss button\n */\n onDismiss?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * The color of the status dot\n */\n status?: BadgeStatusProps['status'];\n title?: string;\n 'aria-label'?: string;\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nexport const Badge = ({\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'badge',\n children,\n disabled = false,\n emphasis = 'strong',\n onClick,\n onDismiss,\n size = 'default',\n status,\n title,\n variant = 'default',\n}: BadgeProps) => {\n const commonProps = {\n 'aria-label': ariaLabel || title,\n 'data-component': 'badge',\n 'data-disabled': disabled,\n 'data-dismissable': !!onDismiss,\n 'data-emphasis': emphasis,\n 'data-size': size,\n 'data-test-id': dataTestId,\n 'data-variant': variant,\n className: styles.root,\n title,\n };\n\n const contentProps = {\n 'aria-label': ariaLabel || title,\n disabled,\n onDismiss,\n status,\n };\n\n if (onClick) {\n return (\n <button type=\"button\" disabled={disabled} {...commonProps} onClick={onClick}>\n <BadgeContent {...contentProps}>{children}</BadgeContent>\n </button>\n );\n }\n\n return (\n <div {...commonProps}>\n <BadgeContent {...contentProps}>{children}</BadgeContent>\n </div>\n );\n};\n\nconst BadgeContent = ({ 'aria-label': ariaLabel, children, disabled = false, onDismiss, status }: BadgeProps) => {\n return (\n <>\n {status && <BadgeStatus status={status} />}\n {children}\n {onDismiss && (\n <button\n type=\"button\"\n aria-label={`Dismiss ${ariaLabel}`}\n className={styles.dismiss}\n disabled={disabled}\n onClick={onDismiss}\n >\n <IconCross size=\"12\" />\n </button>\n )}\n </>\n );\n};\n"],"names":["Badge","ariaLabel","dataTestId","children","disabled","emphasis","onClick","onDismiss","size","status","title","variant","commonProps","styles","contentProps","jsx","BadgeContent","jsxs","Fragment","BadgeStatus","IconCross"],"mappings":";;;;AAiDO,MAAMA,IAAQ,CAAC;AAAA,EAClB,cAAcC;AAAA,EACd,gBAAgBC,IAAa;AAAA,EAC7B,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC,IAAU;AACd,MAAkB;AACd,QAAMC,IAAc;AAAA,IAChB,cAAcX,KAAaS;AAAA,IAC3B,kBAAkB;AAAA,IAClB,iBAAiBN;AAAA,IACjB,oBAAoB,CAAC,CAACG;AAAA,IACtB,iBAAiBF;AAAA,IACjB,aAAaG;AAAA,IACb,gBAAgBN;AAAA,IAChB,gBAAgBS;AAAA,IAChB,WAAWE,EAAO;AAAA,IAClB,OAAAH;AAAA,EAAA,GAGEI,IAAe;AAAA,IACjB,cAAcb,KAAaS;AAAA,IAC3B,UAAAN;AAAA,IACA,WAAAG;AAAA,IACA,QAAAE;AAAA,EAAA;AAGJ,SAAIH,IAEI,gBAAAS,EAAC,UAAA,EAAO,MAAK,UAAS,UAAAX,GAAqB,GAAGQ,GAAa,SAAAN,GACvD,UAAA,gBAAAS,EAACC,GAAA,EAAc,GAAGF,GAAe,UAAAX,GAAS,GAC9C,IAKJ,gBAAAY,EAAC,SAAK,GAAGH,GACL,4BAACI,GAAA,EAAc,GAAGF,GAAe,UAAAX,EAAA,CAAS,EAAA,CAC9C;AAER,GAEMa,IAAe,CAAC,EAAE,cAAcf,GAAW,UAAAE,GAAU,UAAAC,IAAW,IAAO,WAAAG,GAAW,QAAAE,QAEhF,gBAAAQ,EAAAC,GAAA,EACK,UAAA;AAAA,EAAAT,KAAU,gBAAAM,EAACI,KAAY,QAAAV,EAAA,CAAgB;AAAA,EACvCN;AAAA,EACAI,KACG,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,MAAK;AAAA,MACL,cAAY,WAAWd,CAAS;AAAA,MAChC,WAAWY,EAAO;AAAA,MAClB,UAAAT;AAAA,MACA,SAASG;AAAA,MAET,UAAA,gBAAAQ,EAACK,GAAA,EAAU,MAAK,KAAA,CAAK;AAAA,IAAA;AAAA,EAAA;AACzB,GAER;"}
1
+ {"version":3,"file":"fondue-components4.js","sources":["../src/components/Badge/Badge.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport { type MouseEvent, type ReactNode } from 'react';\n\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport { BadgeStatus, type BadgeStatusProps } from './BadgeStatus';\nimport styles from './styles/badge.module.scss';\n\ntype BadgeStyle = 'default' | 'positive' | 'highlight' | 'warning' | 'negative';\n\ntype BadgeEmphasis = 'strong' | 'weak';\n\ntype BadgeSize = 'default' | 'small';\n\ntype BadgeProps = {\n /**\n * @default 'strong'\n */\n emphasis?: BadgeEmphasis;\n /**\n * @default 'default'\n */\n variant?: BadgeStyle;\n /**\n * @default 'default'\n */\n size?: BadgeSize;\n /**\n * @default false\n */\n disabled?: boolean;\n /**\n * Click handler\n */\n onClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Click handler on dismiss - providing this will show the dismiss button\n */\n onDismiss?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * The color of the status dot\n */\n status?: BadgeStatusProps['status'];\n title?: string;\n 'aria-label'?: string;\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nexport const Badge = ({\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'badge',\n children,\n disabled = false,\n emphasis = 'strong',\n onClick,\n onDismiss,\n size = 'default',\n status,\n title,\n variant = 'default',\n}: BadgeProps) => {\n const commonProps = {\n 'aria-label': ariaLabel || title,\n 'data-component': 'badge',\n 'data-disabled': disabled,\n 'data-dismissable': !!onDismiss,\n 'data-emphasis': emphasis,\n 'data-size': size,\n 'data-test-id': dataTestId,\n 'data-variant': variant,\n className: styles.root,\n title,\n };\n\n const contentProps = {\n 'aria-label': ariaLabel || title,\n disabled,\n onDismiss,\n status,\n };\n\n if (onClick) {\n return (\n <button type=\"button\" disabled={disabled} {...commonProps} onClick={onClick}>\n <BadgeContent {...contentProps}>{children}</BadgeContent>\n </button>\n );\n }\n\n return (\n <div {...commonProps}>\n <BadgeContent {...contentProps}>{children}</BadgeContent>\n </div>\n );\n};\n\nconst BadgeContent = ({ 'aria-label': ariaLabel, children, disabled = false, onDismiss, status }: BadgeProps) => {\n const { t } = useTranslation();\n\n return (\n <>\n {status && <BadgeStatus status={status} />}\n {children}\n {onDismiss && (\n <button\n type=\"button\"\n aria-label={t('Badge_dismiss', { label: ariaLabel || '' })}\n className={styles.dismiss}\n disabled={disabled}\n onClick={onDismiss}\n >\n <IconCross size=\"12\" />\n </button>\n )}\n </>\n );\n};\n"],"names":["Badge","ariaLabel","dataTestId","children","disabled","emphasis","onClick","onDismiss","size","status","title","variant","commonProps","styles","contentProps","jsx","BadgeContent","t","useTranslation","jsxs","Fragment","BadgeStatus","IconCross"],"mappings":";;;;;AAmDO,MAAMA,IAAQ,CAAC;AAAA,EAClB,cAAcC;AAAA,EACd,gBAAgBC,IAAa;AAAA,EAC7B,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC,IAAU;AACd,MAAkB;AACd,QAAMC,IAAc;AAAA,IAChB,cAAcX,KAAaS;AAAA,IAC3B,kBAAkB;AAAA,IAClB,iBAAiBN;AAAA,IACjB,oBAAoB,CAAC,CAACG;AAAA,IACtB,iBAAiBF;AAAA,IACjB,aAAaG;AAAA,IACb,gBAAgBN;AAAA,IAChB,gBAAgBS;AAAA,IAChB,WAAWE,EAAO;AAAA,IAClB,OAAAH;AAAA,EAAA,GAGEI,IAAe;AAAA,IACjB,cAAcb,KAAaS;AAAA,IAC3B,UAAAN;AAAA,IACA,WAAAG;AAAA,IACA,QAAAE;AAAA,EAAA;AAGJ,SAAIH,IAEI,gBAAAS,EAAC,UAAA,EAAO,MAAK,UAAS,UAAAX,GAAqB,GAAGQ,GAAa,SAAAN,GACvD,UAAA,gBAAAS,EAACC,GAAA,EAAc,GAAGF,GAAe,UAAAX,GAAS,GAC9C,IAKJ,gBAAAY,EAAC,SAAK,GAAGH,GACL,4BAACI,GAAA,EAAc,GAAGF,GAAe,UAAAX,EAAA,CAAS,EAAA,CAC9C;AAER,GAEMa,IAAe,CAAC,EAAE,cAAcf,GAAW,UAAAE,GAAU,UAAAC,IAAW,IAAO,WAAAG,GAAW,QAAAE,QAAyB;AAC7G,QAAM,EAAE,GAAAQ,EAAA,IAAMC,EAAA;AAEd,SACI,gBAAAC,EAAAC,GAAA,EACK,UAAA;AAAA,IAAAX,KAAU,gBAAAM,EAACM,KAAY,QAAAZ,EAAA,CAAgB;AAAA,IACvCN;AAAA,IACAI,KACG,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,cAAYE,EAAE,iBAAiB,EAAE,OAAOhB,KAAa,IAAI;AAAA,QACzD,WAAWY,EAAO;AAAA,QAClB,UAAAT;AAAA,QACA,SAASG;AAAA,QAET,UAAA,gBAAAQ,EAACO,GAAA,EAAU,MAAK,KAAA,CAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACzB,GAER;AAER;"}