@dynatrace/strato-components 0.85.70 → 0.85.110

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 (236) hide show
  1. package/buttons/button/Button.css +17 -17
  2. package/buttons/button/Button.d.ts +1 -0
  3. package/buttons/button/Button.js +1 -0
  4. package/buttons/button/Button.sty.js +4 -4
  5. package/buttons/intent-button/IntentButton.d.ts +2 -2
  6. package/buttons/intent-button/IntentButton.js +9 -2
  7. package/content/progress/ProgressBar.css +73 -26
  8. package/content/progress/ProgressBar.d.ts +6 -0
  9. package/content/progress/ProgressBar.js +32 -10
  10. package/content/progress/ProgressBar.sty.d.ts +15 -20
  11. package/content/progress/ProgressBar.sty.js +9 -4
  12. package/content/progress/ProgressBarIcon.css +2 -2
  13. package/content/progress/ProgressBarIcon.js +1 -11
  14. package/content/progress/ProgressBarIcon.sty.js +2 -2
  15. package/content/progress/ProgressBarLabel.css +4 -4
  16. package/content/progress/ProgressBarLabel.js +1 -6
  17. package/content/progress/ProgressBarLabel.sty.js +1 -2
  18. package/content/progress/ProgressBarValue.css +5 -20
  19. package/content/progress/ProgressBarValue.js +2 -2
  20. package/content/progress/ProgressBarValue.sty.d.ts +0 -20
  21. package/content/progress/ProgressBarValue.sty.js +2 -1
  22. package/content/progress/ProgressCircle.css +51 -19
  23. package/content/progress/ProgressCircle.d.ts +6 -0
  24. package/content/progress/ProgressCircle.js +24 -12
  25. package/content/progress/ProgressCircle.sty.d.ts +41 -14
  26. package/content/progress/ProgressCircle.sty.js +7 -11
  27. package/content/progress/contexts/SharedProgressBarPropsContext.d.ts +0 -2
  28. package/content/progress/contexts/SharedProgressBarPropsContext.js +1 -2
  29. package/content/progress/hooks/useProgressBarPropsContext.js +0 -1
  30. package/content/skeleton/Skeleton.css +6 -6
  31. package/content/skeleton/Skeleton.sty.js +1 -1
  32. package/core/components/focus-scope/FocusScope.d.ts +2 -2
  33. package/core/index.d.ts +1 -1
  34. package/core/index.js +1 -1
  35. package/core/styles/focusRing.css +66 -79
  36. package/core/styles/focusRing.sty.d.ts +0 -10
  37. package/core/styles/focusRing.sty.js +2 -2
  38. package/core/styles/useFocusRing.d.ts +1 -4
  39. package/core/styles/useFocusRing.js +1 -10
  40. package/core/types/role-variant.d.ts +2 -0
  41. package/core/utils/colorUtils.css +60 -65
  42. package/core/utils/colorUtils.sty.d.ts +0 -5
  43. package/core/utils/colorUtils.sty.js +2 -2
  44. package/esm/buttons/button/Button.css +17 -17
  45. package/esm/buttons/button/Button.js +1 -0
  46. package/esm/buttons/button/Button.js.map +2 -2
  47. package/esm/buttons/button/Button.sty.js +4 -4
  48. package/esm/buttons/button/Button.sty.js.map +2 -2
  49. package/esm/buttons/intent-button/IntentButton.js +9 -2
  50. package/esm/buttons/intent-button/IntentButton.js.map +2 -2
  51. package/esm/content/progress/ProgressBar.css +73 -26
  52. package/esm/content/progress/ProgressBar.js +37 -11
  53. package/esm/content/progress/ProgressBar.js.map +2 -2
  54. package/esm/content/progress/ProgressBar.sty.js +9 -4
  55. package/esm/content/progress/ProgressBar.sty.js.map +2 -2
  56. package/esm/content/progress/ProgressBarIcon.css +2 -2
  57. package/esm/content/progress/ProgressBarIcon.js +1 -11
  58. package/esm/content/progress/ProgressBarIcon.js.map +2 -2
  59. package/esm/content/progress/ProgressBarIcon.sty.js +2 -2
  60. package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
  61. package/esm/content/progress/ProgressBarLabel.css +4 -4
  62. package/esm/content/progress/ProgressBarLabel.js +1 -6
  63. package/esm/content/progress/ProgressBarLabel.js.map +2 -2
  64. package/esm/content/progress/ProgressBarLabel.sty.js +1 -2
  65. package/esm/content/progress/ProgressBarLabel.sty.js.map +2 -2
  66. package/esm/content/progress/ProgressBarValue.css +5 -20
  67. package/esm/content/progress/ProgressBarValue.js +2 -2
  68. package/esm/content/progress/ProgressBarValue.js.map +2 -2
  69. package/esm/content/progress/ProgressBarValue.sty.js +2 -1
  70. package/esm/content/progress/ProgressBarValue.sty.js.map +2 -2
  71. package/esm/content/progress/ProgressCircle.css +51 -19
  72. package/esm/content/progress/ProgressCircle.js +25 -14
  73. package/esm/content/progress/ProgressCircle.js.map +2 -2
  74. package/esm/content/progress/ProgressCircle.sty.js +7 -11
  75. package/esm/content/progress/ProgressCircle.sty.js.map +2 -2
  76. package/esm/content/progress/contexts/SharedProgressBarPropsContext.js +1 -2
  77. package/esm/content/progress/contexts/SharedProgressBarPropsContext.js.map +2 -2
  78. package/esm/content/progress/hooks/useProgressBarPropsContext.js +0 -1
  79. package/esm/content/progress/hooks/useProgressBarPropsContext.js.map +2 -2
  80. package/esm/content/skeleton/Skeleton.css +6 -6
  81. package/esm/content/skeleton/Skeleton.sty.js +1 -1
  82. package/esm/content/skeleton/Skeleton.sty.js.map +2 -2
  83. package/esm/core/components/focus-scope/FocusScope.js.map +1 -1
  84. package/esm/core/index.js +1 -1
  85. package/esm/core/index.js.map +2 -2
  86. package/esm/core/styles/focusRing.css +66 -79
  87. package/esm/core/styles/focusRing.sty.js +2 -2
  88. package/esm/core/styles/focusRing.sty.js.map +2 -2
  89. package/esm/core/styles/useFocusRing.js +1 -10
  90. package/esm/core/styles/useFocusRing.js.map +2 -2
  91. package/esm/core/types/role-variant.js.map +2 -2
  92. package/esm/core/utils/colorUtils.css +60 -65
  93. package/esm/core/utils/colorUtils.sty.js +2 -2
  94. package/esm/core/utils/colorUtils.sty.js.map +2 -2
  95. package/esm/layouts/container/Container.css +4 -4
  96. package/esm/layouts/container/Container.js +22 -4
  97. package/esm/layouts/container/Container.js.map +2 -2
  98. package/esm/layouts/container/Container.sty.js +1 -1
  99. package/esm/layouts/container/Container.sty.js.map +1 -1
  100. package/esm/layouts/divider/Divider.css +6 -6
  101. package/esm/layouts/divider/Divider.sty.js +1 -1
  102. package/esm/layouts/divider/Divider.sty.js.map +2 -2
  103. package/esm/layouts/hooks/useBreakpoint.js +3 -0
  104. package/esm/layouts/hooks/useBreakpoint.js.map +2 -2
  105. package/esm/layouts/index.js +5 -1
  106. package/esm/layouts/index.js.map +2 -2
  107. package/esm/layouts/input-group/InputGroup.css +4 -4
  108. package/esm/layouts/input-group/InputGroup.sty.js +2 -2
  109. package/esm/layouts/input-group/InputGroup.sty.js.map +1 -1
  110. package/esm/layouts/surface/Surface.css +39 -39
  111. package/esm/layouts/surface/Surface.sty.js +2 -2
  112. package/esm/layouts/surface/Surface.sty.js.map +2 -2
  113. package/esm/layouts/surface/variables.sty.js +1 -1
  114. package/esm/layouts/surface/variables.sty.js.map +1 -1
  115. package/esm/styles/colorUtils.css +60 -65
  116. package/esm/styles/colorUtils.sty.js +2 -2
  117. package/esm/styles/colorUtils.sty.js.map +2 -2
  118. package/esm/styles/container.css +47 -47
  119. package/esm/styles/container.sty.js +2 -2
  120. package/esm/styles/container.sty.js.map +2 -2
  121. package/esm/styles/ellipsis.css +1 -1
  122. package/esm/styles/ellipsis.sty.js +1 -1
  123. package/esm/styles/ellipsis.sty.js.map +1 -1
  124. package/esm/styles/field.css +153 -153
  125. package/esm/styles/field.sty.js +2 -2
  126. package/esm/styles/field.sty.js.map +2 -2
  127. package/esm/styles/sprinkles.css +262 -262
  128. package/esm/styles/sprinkles.sty.js +1 -1
  129. package/esm/styles/sprinkles.sty.js.map +2 -2
  130. package/esm/styles/textStyle.css +8 -8
  131. package/esm/styles/textStyle.sty.js +1 -1
  132. package/esm/styles/textStyle.sty.js.map +2 -2
  133. package/esm/typography/block-quote/Blockquote.css +2 -2
  134. package/esm/typography/block-quote/Blockquote.sty.js +1 -1
  135. package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
  136. package/esm/typography/code/Code.css +1 -1
  137. package/esm/typography/code/Code.sty.js +1 -1
  138. package/esm/typography/code/Code.sty.js.map +1 -1
  139. package/esm/typography/emphasis/Emphasis.css +1 -1
  140. package/esm/typography/emphasis/Emphasis.sty.js +1 -1
  141. package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
  142. package/esm/typography/external-link/ExternalLink.css +14 -14
  143. package/esm/typography/external-link/ExternalLink.js.map +1 -1
  144. package/esm/typography/external-link/ExternalLink.sty.js +1 -1
  145. package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
  146. package/esm/typography/heading/Heading.css +7 -7
  147. package/esm/typography/heading/Heading.sty.js +1 -1
  148. package/esm/typography/heading/Heading.sty.js.map +2 -2
  149. package/esm/typography/highlight/Highlight.css +1 -1
  150. package/esm/typography/highlight/Highlight.sty.js +1 -1
  151. package/esm/typography/highlight/Highlight.sty.js.map +1 -1
  152. package/esm/typography/link/Link.css +5 -5
  153. package/esm/typography/link/Link.js.map +1 -1
  154. package/esm/typography/link/Link.sty.js +1 -1
  155. package/esm/typography/link/Link.sty.js.map +1 -1
  156. package/esm/typography/list/List.css +4 -4
  157. package/esm/typography/list/List.sty.js +2 -2
  158. package/esm/typography/list/List.sty.js.map +1 -1
  159. package/esm/typography/paragraph/Paragraph.css +3 -3
  160. package/esm/typography/paragraph/Paragraph.sty.js +1 -1
  161. package/esm/typography/paragraph/Paragraph.sty.js.map +2 -2
  162. package/esm/typography/strikethrough/Strikethrough.css +1 -1
  163. package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
  164. package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
  165. package/esm/typography/strong/Strong.css +1 -1
  166. package/esm/typography/strong/Strong.sty.js +1 -1
  167. package/esm/typography/strong/Strong.sty.js.map +1 -1
  168. package/esm/typography/text/Text.css +3 -3
  169. package/esm/typography/text/Text.sty.js +1 -1
  170. package/esm/typography/text/Text.sty.js.map +2 -2
  171. package/esm/typography/text-ellipsis/TextEllipsis.css +4 -4
  172. package/esm/typography/text-ellipsis/TextEllipsis.js +5 -1
  173. package/esm/typography/text-ellipsis/TextEllipsis.js.map +2 -2
  174. package/esm/typography/text-ellipsis/TextEllipsis.sty.js +1 -1
  175. package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +2 -2
  176. package/layouts/container/Container.css +4 -4
  177. package/layouts/container/Container.d.ts +20 -0
  178. package/layouts/container/Container.js +16 -3
  179. package/layouts/container/Container.sty.js +1 -1
  180. package/layouts/divider/Divider.css +6 -6
  181. package/layouts/divider/Divider.sty.js +1 -1
  182. package/layouts/hooks/useBreakpoint.js +3 -0
  183. package/layouts/index.d.ts +1 -1
  184. package/layouts/index.js +1 -0
  185. package/layouts/input-group/InputGroup.css +4 -4
  186. package/layouts/input-group/InputGroup.sty.js +2 -2
  187. package/layouts/surface/Surface.css +39 -39
  188. package/layouts/surface/Surface.sty.js +2 -2
  189. package/layouts/surface/variables.sty.js +1 -1
  190. package/package.json +5 -5
  191. package/styles/colorUtils.css +60 -65
  192. package/styles/colorUtils.sty.d.ts +0 -5
  193. package/styles/colorUtils.sty.js +2 -2
  194. package/styles/container.css +47 -47
  195. package/styles/container.sty.js +2 -2
  196. package/styles/ellipsis.css +1 -1
  197. package/styles/ellipsis.sty.js +1 -1
  198. package/styles/field.css +153 -153
  199. package/styles/field.sty.js +2 -2
  200. package/styles/sprinkles.css +262 -262
  201. package/styles/sprinkles.sty.js +1 -1
  202. package/styles/textStyle.css +8 -8
  203. package/styles/textStyle.sty.js +1 -1
  204. package/typography/block-quote/Blockquote.css +2 -2
  205. package/typography/block-quote/Blockquote.sty.js +1 -1
  206. package/typography/code/Code.css +1 -1
  207. package/typography/code/Code.sty.js +1 -1
  208. package/typography/emphasis/Emphasis.css +1 -1
  209. package/typography/emphasis/Emphasis.sty.js +1 -1
  210. package/typography/external-link/ExternalLink.css +14 -14
  211. package/typography/external-link/ExternalLink.d.ts +2 -2
  212. package/typography/external-link/ExternalLink.sty.js +1 -1
  213. package/typography/heading/Heading.css +7 -7
  214. package/typography/heading/Heading.sty.js +1 -1
  215. package/typography/highlight/Highlight.css +1 -1
  216. package/typography/highlight/Highlight.sty.js +1 -1
  217. package/typography/link/Link.css +5 -5
  218. package/typography/link/Link.d.ts +2 -2
  219. package/typography/link/Link.sty.js +1 -1
  220. package/typography/list/List.css +4 -4
  221. package/typography/list/List.sty.js +2 -2
  222. package/typography/paragraph/Paragraph.css +3 -3
  223. package/typography/paragraph/Paragraph.sty.js +1 -1
  224. package/typography/strikethrough/Strikethrough.css +1 -1
  225. package/typography/strikethrough/Strikethrough.sty.js +1 -1
  226. package/typography/strong/Strong.css +1 -1
  227. package/typography/strong/Strong.sty.js +1 -1
  228. package/typography/text/Text.css +3 -3
  229. package/typography/text/Text.sty.js +1 -1
  230. package/typography/text-ellipsis/TextEllipsis.css +4 -4
  231. package/typography/text-ellipsis/TextEllipsis.js +5 -1
  232. package/typography/text-ellipsis/TextEllipsis.sty.js +1 -1
  233. package/content/progress/utils.d.ts +0 -2
  234. package/content/progress/utils.js +0 -50
  235. package/esm/content/progress/utils.js +0 -22
  236. package/esm/content/progress/utils.js.map +0 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/link/Link.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, { ElementType, forwardRef, ReactElement } from 'react';\n\nimport { linkCSS } from './Link.sty.js';\nimport {\n type PolymorphicComponentProps,\n type DataTestId,\n type StylingProps,\n type WithChildren,\n _mergeProps,\n} from '../../core/index.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\n\n/**\n * The props for the Link component.\n * @public\n */\nexport type LinkProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n WithChildren & StylingProps & DataTestId & MaskingProps\n>;\n\n/**\n * Use the `Link` component to navigate to a different page within the application.\n * For external resources in a different domain, use the\n * {@link https://developer.dynatrace.com/design/components/typography/ExternalLink/ | `ExternalLink`}\n * component instead.\n * @public\n */\nexport const Link: <E extends ElementType = 'a'>(\n props: LinkProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(\n {\n children,\n as,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n }: LinkProps<E>,\n ref: typeof remainingProps.ref,\n ) => {\n const { focusProps, focusClassName } = useFocusRing({\n variant: 'primary',\n isMinimal: true,\n });\n const LinkTag = as || 'a';\n\n return (\n <LinkTag\n ref={ref}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(focusClassName, linkCSS, consumerClassName)}\n style={consumerStyle}\n {..._mergeProps(\n // Need to cast this one as the inference of mergeProps would generate\n // a not allowed overlap. The remainingProps type is too complex due to the\n // polymorphic inheritance.\n remainingProps as Record<string, unknown>,\n focusProps,\n )}\n >\n {children}\n </LinkTag>\n );\n },\n);\n\n(Link as typeof Link & { displayName: string }).displayName = 'Link';\n"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, { ElementType, forwardRef, ReactElement } from 'react';\n\nimport { linkCSS } from './Link.sty.js';\nimport {\n type PolymorphicComponentProps,\n type DataTestId,\n type StylingProps,\n type WithChildren,\n _mergeProps,\n} from '../../core/index.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\n\n/**\n * The props for the Link component.\n * @public\n */\nexport type LinkProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n WithChildren & StylingProps & DataTestId & MaskingProps\n>;\n\n/**\n * Use the `Link` component to link to any internal resources.\n * For external resources (i.e., outside the current environment), use the\n * {@link https://developer.dynatrace.com/design/components/typography/ExternalLink/ | `ExternalLink`}\n * component instead.\n * @public\n */\nexport const Link: <E extends ElementType = 'a'>(\n props: LinkProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(\n {\n children,\n as,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n }: LinkProps<E>,\n ref: typeof remainingProps.ref,\n ) => {\n const { focusProps, focusClassName } = useFocusRing({\n variant: 'primary',\n isMinimal: true,\n });\n const LinkTag = as || 'a';\n\n return (\n <LinkTag\n ref={ref}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(focusClassName, linkCSS, consumerClassName)}\n style={consumerStyle}\n {..._mergeProps(\n // Need to cast this one as the inference of mergeProps would generate\n // a not allowed overlap. The remainingProps type is too complex due to the\n // polymorphic inheritance.\n remainingProps as Record<string, unknown>,\n focusProps,\n )}\n >\n {children}\n </LinkTag>\n );\n },\n);\n\n(Link as typeof Link & { displayName: string }).displayName = 'Link';\n"],
5
5
  "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,SAAsB,kBAAgC;AAE7D,SAAS,eAAe;AACxB;AAAA,EAKE;AAAA,OACK;AACP,SAAS,oBAAoB;AAmBtB,MAAM,OAE8B;AAAA,EACzC,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,EAAE,YAAY,eAAe,IAAI,aAAa;AAAA,MAClD,SAAS;AAAA,MACT,WAAW;AAAA,IACb,CAAC;AACD,UAAM,UAAU,MAAM;AAEtB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa;AAAA,QACb,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB,WAAW,KAAK,gBAAgB,SAAS,iBAAiB;AAAA,QAC1D,OAAO;AAAA,QACN,GAAG;AAAA;AAAA;AAAA;AAAA,UAIF;AAAA,UACA;AAAA,QACF;AAAA;AAAA,MAEC;AAAA,IACH;AAAA,EAEJ;AACF;AAEC,KAA+C,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import "./Link.css";
2
- var linkCSS = "_1iksxp40";
2
+ var linkCSS = "_1iksxp40-0-85-110";
3
3
  export {
4
4
  linkCSS
5
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/link/Link.css.ts"],
4
- "sourcesContent": ["import './Link.css';\nexport var linkCSS = '_1iksxp40';"],
4
+ "sourcesContent": ["import './Link.css';\nexport var linkCSS = '_1iksxp40-0-85-110';"],
5
5
  "mappings": "AAAA,OAAO;AACA,IAAI,UAAU;",
6
6
  "names": []
7
7
  }
@@ -1,16 +1,16 @@
1
- ._16276mt0 {
1
+ ._16276mt0-0-85-110 {
2
2
  margin: 0;
3
3
  padding-left: var(--dt-spacings-size-40, 40px);
4
4
  }
5
- ._16276mt0 ._16276mt0 {
5
+ ._16276mt0-0-85-110 ._16276mt0-0-85-110 {
6
6
  margin-block: var(--dt-spacings-size-4, 4px);
7
7
  padding-left: var(--dt-spacings-size-28, 28px);
8
8
  }
9
- ._16276mt1 {
9
+ ._16276mt1-0-85-110 {
10
10
  position: relative;
11
11
  overflow-wrap: break-word;
12
12
  margin-block: var(--dt-spacings-size-2, 2px);
13
13
  }
14
- ._16276mt1::marker {
14
+ ._16276mt1-0-85-110::marker {
15
15
  font-weight: var(--dt-typography-text-base-emphasized-weight, 500);
16
16
  }
@@ -1,6 +1,6 @@
1
1
  import "./List.css";
2
- var listCSS = "_16276mt0";
3
- var listItemCSS = "_16276mt1";
2
+ var listCSS = "_16276mt0-0-85-110";
3
+ var listItemCSS = "_16276mt1-0-85-110";
4
4
  export {
5
5
  listCSS,
6
6
  listItemCSS
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/list/List.css.ts"],
4
- "sourcesContent": ["import './List.css';\nexport var listCSS = '_16276mt0';\nexport var listItemCSS = '_16276mt1';"],
4
+ "sourcesContent": ["import './List.css';\nexport var listCSS = '_16276mt0-0-85-110';\nexport var listItemCSS = '_16276mt1-0-85-110';"],
5
5
  "mappings": "AAAA,OAAO;AACA,IAAI,UAAU;AACd,IAAI,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,17 +1,17 @@
1
- ._487p2n0 {
1
+ ._487p2n0-0-85-110 {
2
2
  margin-top: 0;
3
3
  margin-bottom: 0;
4
4
  overflow-wrap: break-word;
5
5
  color: inherit;
6
6
  font-style: normal;
7
7
  }
8
- ._487p2n1 {
8
+ ._487p2n1-0-85-110 {
9
9
  display: block;
10
10
  white-space: nowrap;
11
11
  text-overflow: ellipsis;
12
12
  overflow: hidden;
13
13
  }
14
- ._487p2n2 {
14
+ ._487p2n2-0-85-110 {
15
15
  display: -webkit-box;
16
16
  -webkit-line-clamp: var(--strato-ellipsis-line-clamp);
17
17
  -webkit-box-orient: vertical;
@@ -1,6 +1,6 @@
1
1
  import "./Paragraph.css";
2
2
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
- var paragraphCSS = _7a468({ defaultClassName: "_487p2n0", variantClassNames: { ellipsis: { singleLine: "_487p2n1", multiLine: "_487p2n2" } }, defaultVariants: {}, compoundVariants: [] });
3
+ var paragraphCSS = _7a468({ defaultClassName: "_487p2n0-0-85-110", variantClassNames: { ellipsis: { singleLine: "_487p2n1-0-85-110", multiLine: "_487p2n2-0-85-110" } }, defaultVariants: {}, compoundVariants: [] });
4
4
  export {
5
5
  paragraphCSS
6
6
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/paragraph/Paragraph.css.ts"],
4
- "sourcesContent": ["import './Paragraph.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var paragraphCSS = _7a468({defaultClassName:'_487p2n0',variantClassNames:{ellipsis:{singleLine:'_487p2n1',multiLine:'_487p2n2'}},defaultVariants:{},compoundVariants:[]});"],
5
- "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,eAAe,OAAO,EAAC,kBAAiB,YAAW,mBAAkB,EAAC,UAAS,EAAC,YAAW,YAAW,WAAU,WAAU,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
4
+ "sourcesContent": ["import './Paragraph.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var paragraphCSS = _7a468({defaultClassName:'_487p2n0-0-85-110',variantClassNames:{ellipsis:{singleLine:'_487p2n1-0-85-110',multiLine:'_487p2n2-0-85-110'}},defaultVariants:{},compoundVariants:[]});"],
5
+ "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,eAAe,OAAO,EAAC,kBAAiB,qBAAoB,mBAAkB,EAAC,UAAS,EAAC,YAAW,qBAAoB,WAAU,oBAAmB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- ._4oao6y0 {
1
+ ._4oao6y0-0-85-110 {
2
2
  text-decoration: line-through;
3
3
  text-decoration-style: solid;
4
4
  overflow-wrap: break-word;
@@ -1,5 +1,5 @@
1
1
  import "./Strikethrough.css";
2
- var strikethroughCSS = "_4oao6y0";
2
+ var strikethroughCSS = "_4oao6y0-0-85-110";
3
3
  export {
4
4
  strikethroughCSS
5
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/strikethrough/Strikethrough.css.ts"],
4
- "sourcesContent": ["import './Strikethrough.css';\nexport var strikethroughCSS = '_4oao6y0';"],
4
+ "sourcesContent": ["import './Strikethrough.css';\nexport var strikethroughCSS = '_4oao6y0-0-85-110';"],
5
5
  "mappings": "AAAA,OAAO;AACA,IAAI,mBAAmB;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- .wxp4dd0 {
1
+ ._wxp4dd0-0-85-110 {
2
2
  font-weight: var(--dt-typography-text-base-emphasized-weight, 500);
3
3
  overflow-wrap: break-word;
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import "./Strong.css";
2
- var strongCSS = "wxp4dd0";
2
+ var strongCSS = "_wxp4dd0-0-85-110";
3
3
  export {
4
4
  strongCSS
5
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/strong/Strong.css.ts"],
4
- "sourcesContent": ["import './Strong.css';\nexport var strongCSS = 'wxp4dd0';"],
4
+ "sourcesContent": ["import './Strong.css';\nexport var strongCSS = '_wxp4dd0-0-85-110';"],
5
5
  "mappings": "AAAA,OAAO;AACA,IAAI,YAAY;",
6
6
  "names": []
7
7
  }
@@ -1,16 +1,16 @@
1
- .rup8ap0 {
1
+ ._rup8ap0-0-85-110 {
2
2
  margin-top: 0;
3
3
  margin-bottom: 0;
4
4
  min-width: 0;
5
5
  overflow-wrap: break-word;
6
6
  }
7
- .rup8ap1 {
7
+ ._rup8ap1-0-85-110 {
8
8
  display: block;
9
9
  white-space: nowrap;
10
10
  text-overflow: ellipsis;
11
11
  overflow: hidden;
12
12
  }
13
- .rup8ap2 {
13
+ ._rup8ap2-0-85-110 {
14
14
  display: -webkit-box;
15
15
  -webkit-line-clamp: var(--strato-ellipsis-line-clamp);
16
16
  -webkit-box-orient: vertical;
@@ -1,6 +1,6 @@
1
1
  import "./Text.css";
2
2
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
- var textCSS = _7a468({ defaultClassName: "rup8ap0", variantClassNames: { ellipsis: { singleLine: "rup8ap1", multiLine: "rup8ap2" } }, defaultVariants: {}, compoundVariants: [] });
3
+ var textCSS = _7a468({ defaultClassName: "_rup8ap0-0-85-110", variantClassNames: { ellipsis: { singleLine: "_rup8ap1-0-85-110", multiLine: "_rup8ap2-0-85-110" } }, defaultVariants: {}, compoundVariants: [] });
4
4
  export {
5
5
  textCSS
6
6
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/text/Text.css.ts"],
4
- "sourcesContent": ["import './Text.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textCSS = _7a468({defaultClassName:'rup8ap0',variantClassNames:{ellipsis:{singleLine:'rup8ap1',multiLine:'rup8ap2'}},defaultVariants:{},compoundVariants:[]});"],
5
- "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,UAAU,OAAO,EAAC,kBAAiB,WAAU,mBAAkB,EAAC,UAAS,EAAC,YAAW,WAAU,WAAU,UAAS,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
4
+ "sourcesContent": ["import './Text.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textCSS = _7a468({defaultClassName:'_rup8ap0-0-85-110',variantClassNames:{ellipsis:{singleLine:'_rup8ap1-0-85-110',multiLine:'_rup8ap2-0-85-110'}},defaultVariants:{},compoundVariants:[]});"],
5
+ "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,UAAU,OAAO,EAAC,kBAAiB,qBAAoB,mBAAkB,EAAC,UAAS,EAAC,YAAW,qBAAoB,WAAU,oBAAmB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- ._1mnpbqs0 {
1
+ ._1mnpbqs0-0-85-110 {
2
2
  display: inline-block;
3
3
  box-sizing: border-box;
4
4
  vertical-align: middle;
@@ -9,14 +9,14 @@
9
9
  text-decoration: inherit;
10
10
  width: 100%;
11
11
  }
12
- ._1mnpbqs1 {
12
+ ._1mnpbqs1-0-85-110 {
13
13
  text-overflow: ellipsis;
14
14
  direction: rtl;
15
15
  text-align: left;
16
16
  }
17
- ._1mnpbqs2 {
17
+ ._1mnpbqs2-0-85-110 {
18
18
  text-overflow: clip;
19
19
  }
20
- ._1mnpbqs3 {
20
+ ._1mnpbqs3-0-85-110 {
21
21
  text-overflow: ellipsis;
22
22
  }
@@ -19,7 +19,11 @@ function getFontProps(textWrapper) {
19
19
  };
20
20
  }
21
21
  function isNativeEllipsisActive(textWrapper, containerWidth) {
22
- const textWidth = Math.floor(textWrapper.getBoundingClientRect().width * 100) / 100;
22
+ const originalTextWidth = Math.max(
23
+ textWrapper.getBoundingClientRect().width,
24
+ textWrapper.scrollWidth
25
+ );
26
+ const textWidth = Math.floor(originalTextWidth * 100) / 100;
23
27
  return textWidth > containerWidth;
24
28
  }
25
29
  function renderEllipsizedText(originalText, truncationMode, containerRef, wasEllipsized, onTextOverflow) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/text-ellipsis/TextEllipsis.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, {\n forwardRef,\n HTMLAttributes,\n RefObject,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport useResizeObserver from 'use-resize-observer';\n\nimport { textEllipsisCSS } from './TextEllipsis.sty.js';\nimport { _useFontsUpdated } from '../../core/hooks/useFontsUpdated.js';\nimport { useMergeRefs } from '../../core/hooks/useMergeRefs.js';\nimport { type DataTestId } from '../../core/types/data-props.js';\nimport { type MaskingProps } from '../../core/types/masking-props.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type _Font } from '../utils.js';\nimport { _centerEllipsizeText } from '../utils.js';\n\n/**\n * Available modes for how overly long text is truncated and where the ellipsis is placed.\n * @internal\n */\nexport type _TruncationMode = 'start' | 'middle' | 'end';\n\n/**\n * The props for the TextEllipsis component.\n * @public\n */\nexport interface TextEllipsisProps\n extends HTMLAttributes<HTMLSpanElement>,\n StylingProps,\n DataTestId,\n MaskingProps {\n /** The children (as text) passed to the component. */\n children: string;\n /**\n * The mode used for for truncating the text, either at the start, in the middle or at the end.\n * @defaultValue 'end'\n */\n truncationMode?: 'start' | 'middle' | 'end';\n /** Gets called when text needs to get truncated due to lack of horizontal space. */\n onTextOverflow?: (ellipsized: boolean) => void;\n}\n\n/**\n * Returns an object containing all font-related CSS properties from\n * a given DOM element that are relevant for rendering formatted text\n * in a 2D canvas context.\n *\n * @param textWrapper - The HTML element to extract the CSS properties from\n */\nfunction getFontProps(textWrapper: HTMLSpanElement): _Font {\n const computedStyle = window.getComputedStyle(textWrapper, null);\n\n return {\n fontStyle: computedStyle.getPropertyValue('font-style'),\n fontWeight: computedStyle.getPropertyValue('font-weight'),\n fontSize: computedStyle.getPropertyValue('font-size'),\n fontFamily: computedStyle.getPropertyValue('font-family'),\n };\n}\n\n/**\n * Determines whether a CSS text-ellipsis is currently rendered in a container.\n * Note: `containerWidth` is only passed to avoid unnecessary reflows by calling `getBoundingClientRect()`\n */\nfunction isNativeEllipsisActive(\n textWrapper: HTMLSpanElement,\n containerWidth: number,\n): boolean {\n const textWidth =\n Math.floor(textWrapper.getBoundingClientRect().width * 100) / 100;\n\n return textWidth > containerWidth;\n}\n\n/**\n * Detects whether a given formatted text has enough space within its\n * parent container and applies or removes an ellipsis accordingly.\n *\n * @param originalText - The text to be truncated if its width exceeds <code>maxWidthInPx</code>\n * @param truncationMode - The mode used for for truncating the text, either at the start, in the middle or at the end\n * @param containerRef - Object ref pointing towards the root element of the TextEllipsis component\n * @param wasEllipsized - Whether an ellipsis was applied during the last render cycle\n * @param onTextOverflow - Callback that gets called whenever the state of the ellipsis changes since the last render cycle\n */\nfunction renderEllipsizedText(\n originalText: string,\n truncationMode: TextEllipsisProps['truncationMode'],\n containerRef: RefObject<HTMLSpanElement>,\n wasEllipsized: boolean,\n onTextOverflow?: (ellipsized: boolean) => void,\n): boolean {\n const containerElement = containerRef.current;\n const textWrapper: HTMLSpanElement | null =\n (containerElement?.firstElementChild as HTMLSpanElement) || null;\n\n if (containerElement !== null && textWrapper !== null) {\n if (textWrapper.textContent !== originalText) {\n textWrapper.textContent = originalText; // always reset to full text before measuring container width\n }\n\n const containerWidth =\n Math.ceil(containerElement.getBoundingClientRect().width * 100) / 100;\n\n if (truncationMode === 'middle') {\n if (isNativeEllipsisActive(textWrapper, containerWidth)) {\n const ellipsizedText = _centerEllipsizeText(\n originalText,\n getFontProps(textWrapper),\n containerWidth,\n );\n textWrapper.textContent = ellipsizedText;\n\n if (ellipsizedText !== originalText) {\n if (onTextOverflow && !wasEllipsized) {\n onTextOverflow(true);\n }\n\n return true;\n }\n }\n\n if (onTextOverflow && wasEllipsized) {\n onTextOverflow(false);\n }\n } else if (isNativeEllipsisActive(textWrapper, containerWidth)) {\n if (onTextOverflow && !wasEllipsized) {\n onTextOverflow(true);\n }\n\n return true;\n } else if (onTextOverflow && wasEllipsized) {\n onTextOverflow(false);\n }\n }\n\n return false;\n}\n\nconst ComputedTextEllipsis = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n TextEllipsisProps\n>((props, forwardedRef) => {\n const {\n children,\n truncationMode = 'end',\n onTextOverflow,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n } = props;\n\n // resize observer is needed to re-render the component in case of resizing\n const { ref: observerContainerRef } = useResizeObserver<HTMLSpanElement>();\n const containerRef = useRef<HTMLSpanElement | null>(null);\n const ellipsisStateRef = useRef<boolean>(false);\n const mergedRef = useMergeRefs<HTMLSpanElement | null>([\n observerContainerRef,\n (instance: HTMLSpanElement) => {\n containerRef.current = instance;\n },\n forwardedRef,\n ]);\n const containerWidth = containerRef.current?.getBoundingClientRect().width;\n const fontsUpdated = _useFontsUpdated();\n\n useLayoutEffect(() => {\n ellipsisStateRef.current = renderEllipsizedText(\n children,\n truncationMode,\n containerRef,\n ellipsisStateRef.current,\n onTextOverflow,\n );\n }, [containerWidth, children, truncationMode, fontsUpdated, onTextOverflow]);\n\n return (\n <span\n ref={mergedRef}\n aria-label={children}\n data-ellipsis\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(textEllipsisCSS({ truncationMode }), consumerClassName)}\n style={consumerStyle}\n {...remainingProps}\n >\n <span>{children}</span>\n </span>\n );\n});\n\nconst CssTextEllipsis = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n TextEllipsisProps\n>((props, forwardedRef) => {\n const {\n children,\n truncationMode = 'end',\n onTextOverflow,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n ...remainingProps\n } = props;\n\n return (\n <span\n ref={forwardedRef}\n aria-label={children}\n data-ellipsis\n data-testid={dataTestId}\n className={clsx(textEllipsisCSS({ truncationMode }), consumerClassName)}\n style={consumerStyle}\n {...remainingProps}\n >\n <span>{children}</span>\n </span>\n );\n});\n\n/**\n * Use the `TextEllipsis` component to truncate text and show an ellipsis whenever\n * there is insufficient space to render the entire text. While some of our Strato\n * components provide ellipsis out of the box, you need to take care of this yourself\n * when writing your own components.\n * @public\n */\nexport const TextEllipsis = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n TextEllipsisProps\n>((props, forwardedRef) => {\n // in case onTextOverflow is not defined and the ellipsis is start or end\n // we can use css only which is significantly more performant\n const cssOnlyEllipsis =\n !props.onTextOverflow && props.truncationMode !== 'middle';\n\n return cssOnlyEllipsis ? (\n /* eslint-disable-next-line deprecated-jsx-props/deprecated-props -- The plugin can not properly analyze spread props:\n https://github.com/sebakerckhof/eslint-plugin-deprecated-jsx-props?tab=readme-ov-file#configuration, the deprecations here are in the HTMLAttributes type, which is fine. */\n <CssTextEllipsis ref={forwardedRef} {...props} />\n ) : (\n /* eslint-disable-next-line deprecated-jsx-props/deprecated-props -- The plugin can not properly analyze spread props:\n https://github.com/sebakerckhof/eslint-plugin-deprecated-jsx-props?tab=readme-ov-file#configuration, the deprecations here are in the HTMLAttributes type, which is fine. */\n <ComputedTextEllipsis ref={forwardedRef} {...props} />\n );\n});\n\n(TextEllipsis as typeof TextEllipsis & { displayName: string }).displayName =\n 'TextEllipsis';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, {\n forwardRef,\n HTMLAttributes,\n RefObject,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport useResizeObserver from 'use-resize-observer';\n\nimport { textEllipsisCSS } from './TextEllipsis.sty.js';\nimport { _useFontsUpdated } from '../../core/hooks/useFontsUpdated.js';\nimport { useMergeRefs } from '../../core/hooks/useMergeRefs.js';\nimport { type DataTestId } from '../../core/types/data-props.js';\nimport { type MaskingProps } from '../../core/types/masking-props.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type _Font } from '../utils.js';\nimport { _centerEllipsizeText } from '../utils.js';\n\n/**\n * Available modes for how overly long text is truncated and where the ellipsis is placed.\n * @internal\n */\nexport type _TruncationMode = 'start' | 'middle' | 'end';\n\n/**\n * The props for the TextEllipsis component.\n * @public\n */\nexport interface TextEllipsisProps\n extends HTMLAttributes<HTMLSpanElement>,\n StylingProps,\n DataTestId,\n MaskingProps {\n /** The children (as text) passed to the component. */\n children: string;\n /**\n * The mode used for for truncating the text, either at the start, in the middle or at the end.\n * @defaultValue 'end'\n */\n truncationMode?: 'start' | 'middle' | 'end';\n /** Gets called when text needs to get truncated due to lack of horizontal space. */\n onTextOverflow?: (ellipsized: boolean) => void;\n}\n\n/**\n * Returns an object containing all font-related CSS properties from\n * a given DOM element that are relevant for rendering formatted text\n * in a 2D canvas context.\n *\n * @param textWrapper - The HTML element to extract the CSS properties from\n */\nfunction getFontProps(textWrapper: HTMLSpanElement): _Font {\n const computedStyle = window.getComputedStyle(textWrapper, null);\n\n return {\n fontStyle: computedStyle.getPropertyValue('font-style'),\n fontWeight: computedStyle.getPropertyValue('font-weight'),\n fontSize: computedStyle.getPropertyValue('font-size'),\n fontFamily: computedStyle.getPropertyValue('font-family'),\n };\n}\n\n/**\n * Determines whether a CSS text-ellipsis is currently rendered in a container.\n * Note: `containerWidth` is only passed to avoid unnecessary reflows by calling `getBoundingClientRect()`\n */\nfunction isNativeEllipsisActive(\n textWrapper: HTMLSpanElement,\n containerWidth: number,\n): boolean {\n // Sometimes there already is an ellipsis, which means `getBoundingClientRect().width` and `containerWidth` are the same.\n // In that case, `scrollWidth` specifies the actual width of the text if it was fully visible.\n const originalTextWidth = Math.max(\n textWrapper.getBoundingClientRect().width,\n textWrapper.scrollWidth,\n );\n const textWidth = Math.floor(originalTextWidth * 100) / 100;\n\n return textWidth > containerWidth;\n}\n\n/**\n * Detects whether a given formatted text has enough space within its\n * parent container and applies or removes an ellipsis accordingly.\n *\n * @param originalText - The text to be truncated if its width exceeds <code>maxWidthInPx</code>\n * @param truncationMode - The mode used for for truncating the text, either at the start, in the middle or at the end\n * @param containerRef - Object ref pointing towards the root element of the TextEllipsis component\n * @param wasEllipsized - Whether an ellipsis was applied during the last render cycle\n * @param onTextOverflow - Callback that gets called whenever the state of the ellipsis changes since the last render cycle\n */\nfunction renderEllipsizedText(\n originalText: string,\n truncationMode: TextEllipsisProps['truncationMode'],\n containerRef: RefObject<HTMLSpanElement>,\n wasEllipsized: boolean,\n onTextOverflow?: (ellipsized: boolean) => void,\n): boolean {\n const containerElement = containerRef.current;\n const textWrapper: HTMLSpanElement | null =\n (containerElement?.firstElementChild as HTMLSpanElement) || null;\n\n if (containerElement !== null && textWrapper !== null) {\n if (textWrapper.textContent !== originalText) {\n textWrapper.textContent = originalText; // always reset to full text before measuring container width\n }\n\n const containerWidth =\n Math.ceil(containerElement.getBoundingClientRect().width * 100) / 100;\n\n if (truncationMode === 'middle') {\n if (isNativeEllipsisActive(textWrapper, containerWidth)) {\n const ellipsizedText = _centerEllipsizeText(\n originalText,\n getFontProps(textWrapper),\n containerWidth,\n );\n textWrapper.textContent = ellipsizedText;\n\n if (ellipsizedText !== originalText) {\n if (onTextOverflow && !wasEllipsized) {\n onTextOverflow(true);\n }\n\n return true;\n }\n }\n\n if (onTextOverflow && wasEllipsized) {\n onTextOverflow(false);\n }\n } else if (isNativeEllipsisActive(textWrapper, containerWidth)) {\n if (onTextOverflow && !wasEllipsized) {\n onTextOverflow(true);\n }\n\n return true;\n } else if (onTextOverflow && wasEllipsized) {\n onTextOverflow(false);\n }\n }\n\n return false;\n}\n\nconst ComputedTextEllipsis = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n TextEllipsisProps\n>((props, forwardedRef) => {\n const {\n children,\n truncationMode = 'end',\n onTextOverflow,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n } = props;\n\n // resize observer is needed to re-render the component in case of resizing\n const { ref: observerContainerRef } = useResizeObserver<HTMLSpanElement>();\n const containerRef = useRef<HTMLSpanElement | null>(null);\n const ellipsisStateRef = useRef<boolean>(false);\n const mergedRef = useMergeRefs<HTMLSpanElement | null>([\n observerContainerRef,\n (instance: HTMLSpanElement) => {\n containerRef.current = instance;\n },\n forwardedRef,\n ]);\n const containerWidth = containerRef.current?.getBoundingClientRect().width;\n const fontsUpdated = _useFontsUpdated();\n\n useLayoutEffect(() => {\n ellipsisStateRef.current = renderEllipsizedText(\n children,\n truncationMode,\n containerRef,\n ellipsisStateRef.current,\n onTextOverflow,\n );\n }, [containerWidth, children, truncationMode, fontsUpdated, onTextOverflow]);\n\n return (\n <span\n ref={mergedRef}\n aria-label={children}\n data-ellipsis\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(textEllipsisCSS({ truncationMode }), consumerClassName)}\n style={consumerStyle}\n {...remainingProps}\n >\n <span>{children}</span>\n </span>\n );\n});\n\nconst CssTextEllipsis = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n TextEllipsisProps\n>((props, forwardedRef) => {\n const {\n children,\n truncationMode = 'end',\n onTextOverflow,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n ...remainingProps\n } = props;\n\n return (\n <span\n ref={forwardedRef}\n aria-label={children}\n data-ellipsis\n data-testid={dataTestId}\n className={clsx(textEllipsisCSS({ truncationMode }), consumerClassName)}\n style={consumerStyle}\n {...remainingProps}\n >\n <span>{children}</span>\n </span>\n );\n});\n\n/**\n * Use the `TextEllipsis` component to truncate text and show an ellipsis whenever\n * there is insufficient space to render the entire text. While some of our Strato\n * components provide ellipsis out of the box, you need to take care of this yourself\n * when writing your own components.\n * @public\n */\nexport const TextEllipsis = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n TextEllipsisProps\n>((props, forwardedRef) => {\n // in case onTextOverflow is not defined and the ellipsis is start or end\n // we can use css only which is significantly more performant\n const cssOnlyEllipsis =\n !props.onTextOverflow && props.truncationMode !== 'middle';\n\n return cssOnlyEllipsis ? (\n /* eslint-disable-next-line deprecated-jsx-props/deprecated-props -- The plugin can not properly analyze spread props:\n https://github.com/sebakerckhof/eslint-plugin-deprecated-jsx-props?tab=readme-ov-file#configuration, the deprecations here are in the HTMLAttributes type, which is fine. */\n <CssTextEllipsis ref={forwardedRef} {...props} />\n ) : (\n /* eslint-disable-next-line deprecated-jsx-props/deprecated-props -- The plugin can not properly analyze spread props:\n https://github.com/sebakerckhof/eslint-plugin-deprecated-jsx-props?tab=readme-ov-file#configuration, the deprecations here are in the HTMLAttributes type, which is fine. */\n <ComputedTextEllipsis ref={forwardedRef} {...props} />\n );\n});\n\n(TextEllipsis as typeof TextEllipsis & { displayName: string }).displayName =\n 'TextEllipsis';\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import "./TextEllipsis.css";
2
2
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
- var textEllipsisCSS = _7a468({ defaultClassName: "_1mnpbqs0", variantClassNames: { truncationMode: { start: "_1mnpbqs1", middle: "_1mnpbqs2", end: "_1mnpbqs3" } }, defaultVariants: {}, compoundVariants: [] });
3
+ var textEllipsisCSS = _7a468({ defaultClassName: "_1mnpbqs0-0-85-110", variantClassNames: { truncationMode: { start: "_1mnpbqs1-0-85-110", middle: "_1mnpbqs2-0-85-110", end: "_1mnpbqs3-0-85-110" } }, defaultVariants: {}, compoundVariants: [] });
4
4
  export {
5
5
  textEllipsisCSS
6
6
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/text-ellipsis/TextEllipsis.css.ts"],
4
- "sourcesContent": ["import './TextEllipsis.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textEllipsisCSS = _7a468({defaultClassName:'_1mnpbqs0',variantClassNames:{truncationMode:{start:'_1mnpbqs1',middle:'_1mnpbqs2',end:'_1mnpbqs3'}},defaultVariants:{},compoundVariants:[]});"],
5
- "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,kBAAkB,OAAO,EAAC,kBAAiB,aAAY,mBAAkB,EAAC,gBAAe,EAAC,OAAM,aAAY,QAAO,aAAY,KAAI,YAAW,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
4
+ "sourcesContent": ["import './TextEllipsis.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textEllipsisCSS = _7a468({defaultClassName:'_1mnpbqs0-0-85-110',variantClassNames:{truncationMode:{start:'_1mnpbqs1-0-85-110',middle:'_1mnpbqs2-0-85-110',end:'_1mnpbqs3-0-85-110'}},defaultVariants:{},compoundVariants:[]});"],
5
+ "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,kBAAkB,OAAO,EAAC,kBAAiB,sBAAqB,mBAAkB,EAAC,gBAAe,EAAC,OAAM,sBAAqB,QAAO,sBAAqB,KAAI,qBAAoB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
- .f32lcd0 {
1
+ ._f32lcd0-0-85-110 {
2
2
  border-style: var(--dt-borders-style-default, solid);
3
3
  border-width: var(--dt-borders-width-emphasized, 2px);
4
4
  border-radius: var(--dt-borders-radius-container-default, 12px);
5
- color: var(--_6levse0);
6
- border-color: var(--_6levse2);
7
- background-color: var(--_6levse1);
5
+ color: var(--_6levse0-0-85-110);
6
+ border-color: var(--_6levse2-0-85-110);
7
+ background-color: var(--_6levse1-0-85-110);
8
8
  }
@@ -5,6 +5,26 @@ import type { PolymorphicComponentProps } from '../../core/types/polymorph.js';
5
5
  import type { StylingProps } from '../../core/types/styling-props.js';
6
6
  import type { WithChildren } from '../../core/types/with-children.js';
7
7
  import { type LayoutSizeProps, type SpacingProps } from '../../styles/index.js';
8
+ /** @internal */
9
+ export type ContainerColoring = {
10
+ /**
11
+ * The visual style of the container.
12
+ * @defaultValue 'default'
13
+ */
14
+ variant: 'minimal' | 'default' | 'emphasized' | 'accent';
15
+ /**
16
+ * The color of the container. This should be chosen based on the context
17
+ * the container is used in.
18
+ * @defaultValue 'neutral'
19
+ */
20
+ color: 'primary' | 'neutral' | 'success' | 'warning' | 'critical';
21
+ default: boolean;
22
+ };
23
+ /**
24
+ * Context used for passing down color and variant information for accent inheritance
25
+ * @internal
26
+ */
27
+ export declare const useContainerColoring: () => ContainerColoring;
8
28
  /**
9
29
  * Accepted properties for Container
10
30
  * @public
@@ -27,7 +27,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
28
  var Container_exports = {};
29
29
  __export(Container_exports, {
30
- Container: () => Container
30
+ Container: () => Container,
31
+ useContainerColoring: () => useContainerColoring
31
32
  });
32
33
  module.exports = __toCommonJS(Container_exports);
33
34
  var import_clsx = __toESM(require("clsx"));
@@ -35,6 +36,14 @@ var import_react = __toESM(require("react"));
35
36
  var import_Container_css = require("./Container.sty.js");
36
37
  var import_container_css = require("../../styles/container.sty.js");
37
38
  var import_styles = require("../../styles/index.js");
39
+ const ContainerColoringContext = (0, import_react.createContext)({
40
+ variant: "default",
41
+ color: "neutral",
42
+ default: true
43
+ });
44
+ const useContainerColoring = () => {
45
+ return (0, import_react.useContext)(ContainerColoringContext);
46
+ };
38
47
  const Container = /* @__PURE__ */ (0, import_react.forwardRef)(
39
48
  ({
40
49
  as,
@@ -54,7 +63,11 @@ const Container = /* @__PURE__ */ (0, import_react.forwardRef)(
54
63
  );
55
64
  const [sizeStyles, sizeRestProps] = (0, import_styles._getLayoutSizeStyles)(sprinkleRestProps);
56
65
  const Component = as || "div";
57
- return /* @__PURE__ */ import_react.default.createElement(
66
+ const context = (0, import_react.useMemo)(
67
+ () => ({ color, variant, default: false }),
68
+ [color, variant]
69
+ );
70
+ return /* @__PURE__ */ import_react.default.createElement(ContainerColoringContext.Provider, { value: context }, /* @__PURE__ */ import_react.default.createElement(
58
71
  Component,
59
72
  {
60
73
  ref,
@@ -74,7 +87,7 @@ const Container = /* @__PURE__ */ (0, import_react.forwardRef)(
74
87
  ...sizeRestProps
75
88
  },
76
89
  children
77
- );
90
+ ));
78
91
  }
79
92
  );
80
93
  Container.displayName = "Container";
@@ -22,4 +22,4 @@ __export(Container_css_exports, {
22
22
  module.exports = __toCommonJS(Container_css_exports);
23
23
  var import_container_css_ts_vanilla = require("../../styles/container.css");
24
24
  var import_Container_css_ts_vanilla = require("./Container.css");
25
- var containerCSS = "f32lcd0";
25
+ var containerCSS = "_f32lcd0-0-85-110";
@@ -1,21 +1,21 @@
1
- ._1thxv8m0 {
1
+ ._1thxv8m0-0-85-110 {
2
2
  border: none;
3
3
  margin: 0;
4
4
  overflow-wrap: break-word;
5
- background-color: var(--k096v42);
5
+ background-color: var(--_k096v42-0-85-110);
6
6
  }
7
- ._1thxv8m1 {
7
+ ._1thxv8m1-0-85-110 {
8
8
  width: 100%;
9
9
  height: var(--dt-borders-width-default, 1px);
10
10
  }
11
- ._1thxv8m2 {
11
+ ._1thxv8m2-0-85-110 {
12
12
  width: var(--dt-borders-width-default, 1px);
13
13
  height: 100%;
14
14
  }
15
- ._1thxv8m5 {
15
+ ._1thxv8m5-0-85-110 {
16
16
  flex-shrink: 0;
17
17
  }
18
- ._1thxv8m6 {
18
+ ._1thxv8m6-0-85-110 {
19
19
  flex-shrink: 0;
20
20
  width: var(--dt-borders-width-default, 1px);
21
21
  height: auto;
@@ -23,4 +23,4 @@ module.exports = __toCommonJS(Divider_css_exports);
23
23
  var import_colorUtils_css_ts_vanilla = require("../../core/utils/colorUtils.css");
24
24
  var import_Divider_css_ts_vanilla = require("./Divider.css");
25
25
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
26
- var dividerCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1thxv8m0", variantClassNames: { orientation: { horizontal: "_1thxv8m1", vertical: "_1thxv8m2" }, flexItem: { true: "_1thxv8m3", false: "_1thxv8m4" } }, defaultVariants: {}, compoundVariants: [[{ orientation: "horizontal", flexItem: false }, "_1thxv8m5"], [{ orientation: "vertical", flexItem: true }, "_1thxv8m6"]] });
26
+ var dividerCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1thxv8m0-0-85-110", variantClassNames: { orientation: { horizontal: "_1thxv8m1-0-85-110", vertical: "_1thxv8m2-0-85-110" }, flexItem: { true: "_1thxv8m3-0-85-110", false: "_1thxv8m4-0-85-110" } }, defaultVariants: {}, compoundVariants: [[{ orientation: "horizontal", flexItem: false }, "_1thxv8m5-0-85-110"], [{ orientation: "vertical", flexItem: true }, "_1thxv8m6-0-85-110"]] });
@@ -24,6 +24,9 @@ var import_react = require("react");
24
24
  function useBreakpoint(queries, ssrInitialValue) {
25
25
  const _ssrInitialValue = ssrInitialValue ?? (Array.isArray(queries) ? [] : false);
26
26
  const mediaQueryLists = (0, import_react.useMemo)(() => {
27
+ if (typeof window === "undefined") {
28
+ return [];
29
+ }
27
30
  const queryStrings = Array.isArray(queries) ? queries : [queries];
28
31
  return queryStrings.map((q) => window.matchMedia(q));
29
32
  }, [queries]);
@@ -2,7 +2,7 @@ export { Flex, type FlexOwnProps, type FlexProps } from './flex/Flex.js';
2
2
  export { Grid, type GridOwnProps, type GridProps } from './grid/Grid.js';
3
3
  export { Divider } from './divider/Divider.js';
4
4
  export type { DividerProps } from './divider/Divider.js';
5
- export { Container } from './container/Container.js';
5
+ export { Container, useContainerColoring as _useContainerColoring, type ContainerColoring as _ContainerColoring, } from './container/Container.js';
6
6
  export type { ContainerOwnProps, ContainerProps, } from './container/Container.js';
7
7
  export type { LayoutSizeCSS } from './types/layout.types.js';
8
8
  export { Surface } from './surface/Surface.js';
package/layouts/index.js CHANGED
@@ -25,6 +25,7 @@ __export(layouts_exports, {
25
25
  _inputGroupCSS: () => import_InputGroup_css.inputGroupCSS,
26
26
  _inputGroupChildCSS: () => import_InputGroup_css.inputGroupChildCSS,
27
27
  _surfaceBorderRadius: () => import_variables_css.surfaceBorderRadius,
28
+ _useContainerColoring: () => import_Container.useContainerColoring,
28
29
  useBreakpoint: () => import_useBreakpoint.useBreakpoint
29
30
  });
30
31
  module.exports = __toCommonJS(layouts_exports);
@@ -1,12 +1,12 @@
1
1
 
2
- ._1x4bl8z0 > ._1x4bl8z1:not(:last-child),
3
- ._1x4bl8z0 > *:not(:last-child) :is(._1x4bl8z1, .cm-editor) {
2
+ ._1x4bl8z0-0-85-110 > ._1x4bl8z1-0-85-110:not(:last-child),
3
+ ._1x4bl8z0-0-85-110 > *:not(:last-child) :is(._1x4bl8z1-0-85-110, .cm-editor) {
4
4
  border-top-right-radius: 0;
5
5
  border-bottom-right-radius: 0;
6
6
  }
7
7
 
8
- ._1x4bl8z0 > ._1x4bl8z1:not(:first-child),
9
- ._1x4bl8z0 > *:not(:first-child) :is(._1x4bl8z1, .cm-editor) {
8
+ ._1x4bl8z0-0-85-110 > ._1x4bl8z1-0-85-110:not(:first-child),
9
+ ._1x4bl8z0-0-85-110 > *:not(:first-child) :is(._1x4bl8z1-0-85-110, .cm-editor) {
10
10
  border-top-left-radius: 0;
11
11
  border-bottom-left-radius: 0;
12
12
  }
@@ -22,5 +22,5 @@ __export(InputGroup_css_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(InputGroup_css_exports);
24
24
  var import_InputGroup_css_ts_vanilla = require("./InputGroup.css");
25
- var inputGroupCSS = "_1x4bl8z0";
26
- var inputGroupChildCSS = "_1x4bl8z1";
25
+ var inputGroupCSS = "_1x4bl8z0-0-85-110";
26
+ var inputGroupChildCSS = "_1x4bl8z1-0-85-110";