@dynatrace/strato-components 1.14.0 → 1.16.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 (238) hide show
  1. package/buttons/button/Button.css +16 -16
  2. package/buttons/button/Button.js +10 -10
  3. package/buttons/button/Button.sty.d.ts +4 -4
  4. package/buttons/button/Button.sty.js +8 -8
  5. package/buttons/button/Label.js +1 -1
  6. package/buttons/intent-button/IntentButton.d.ts +1 -0
  7. package/content/progress/ProgressBar.css +71 -71
  8. package/content/progress/ProgressBar.sty.js +5 -5
  9. package/content/progress/ProgressBarIcon.css +2 -2
  10. package/content/progress/ProgressBarIcon.sty.js +1 -1
  11. package/content/progress/ProgressBarLabel.css +3 -3
  12. package/content/progress/ProgressBarLabel.js +3 -3
  13. package/content/progress/ProgressBarLabel.sty.d.ts +1 -1
  14. package/content/progress/ProgressBarLabel.sty.js +2 -2
  15. package/content/progress/ProgressBarValue.css +5 -5
  16. package/content/progress/ProgressBarValue.js +2 -2
  17. package/content/progress/ProgressBarValue.sty.d.ts +1 -1
  18. package/content/progress/ProgressBarValue.sty.js +2 -2
  19. package/content/progress/ProgressCircle.css +40 -40
  20. package/content/progress/ProgressCircle.js +1 -1
  21. package/content/progress/ProgressCircle.sty.d.ts +13 -7
  22. package/content/progress/ProgressCircle.sty.js +5 -5
  23. package/content/skeleton/Skeleton.css +7 -7
  24. package/content/skeleton/Skeleton.js +2 -2
  25. package/content/skeleton/Skeleton.sty.js +5 -5
  26. package/content/skeleton/SkeletonText.js +3 -3
  27. package/core/styles/focusRing.css +66 -66
  28. package/core/styles/focusRing.sty.d.ts +34 -10
  29. package/core/styles/focusRing.sty.js +2 -2
  30. package/core/utils/colorUtils.css +60 -60
  31. package/core/utils/colorUtils.sty.d.ts +15 -5
  32. package/core/utils/colorUtils.sty.js +2 -2
  33. package/core/utils/is-node-environment.d.ts +15 -0
  34. package/core/utils/is-node-environment.js +34 -0
  35. package/core/utils/logging.d.ts +8 -0
  36. package/core/utils/logging.js +33 -0
  37. package/esm/buttons/button/Button.css +16 -16
  38. package/esm/buttons/button/Button.js +11 -11
  39. package/esm/buttons/button/Button.js.map +2 -2
  40. package/esm/buttons/button/Button.sty.js +8 -8
  41. package/esm/buttons/button/Button.sty.js.map +2 -2
  42. package/esm/buttons/button/Label.js +2 -2
  43. package/esm/buttons/button/Label.js.map +2 -2
  44. package/esm/buttons/index.js.map +2 -2
  45. package/esm/buttons/intent-button/IntentButton.js.map +2 -2
  46. package/esm/content/progress/ProgressBar.css +71 -71
  47. package/esm/content/progress/ProgressBar.sty.js +5 -5
  48. package/esm/content/progress/ProgressBar.sty.js.map +1 -1
  49. package/esm/content/progress/ProgressBarIcon.css +2 -2
  50. package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
  51. package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
  52. package/esm/content/progress/ProgressBarLabel.css +3 -3
  53. package/esm/content/progress/ProgressBarLabel.js +6 -6
  54. package/esm/content/progress/ProgressBarLabel.js.map +2 -2
  55. package/esm/content/progress/ProgressBarLabel.sty.js +2 -2
  56. package/esm/content/progress/ProgressBarLabel.sty.js.map +2 -2
  57. package/esm/content/progress/ProgressBarValue.css +5 -5
  58. package/esm/content/progress/ProgressBarValue.js +4 -4
  59. package/esm/content/progress/ProgressBarValue.js.map +2 -2
  60. package/esm/content/progress/ProgressBarValue.sty.js +2 -2
  61. package/esm/content/progress/ProgressBarValue.sty.js.map +2 -2
  62. package/esm/content/progress/ProgressCircle.css +40 -40
  63. package/esm/content/progress/ProgressCircle.js +2 -2
  64. package/esm/content/progress/ProgressCircle.js.map +2 -2
  65. package/esm/content/progress/ProgressCircle.sty.js +5 -5
  66. package/esm/content/progress/ProgressCircle.sty.js.map +1 -1
  67. package/esm/content/skeleton/Skeleton.css +7 -7
  68. package/esm/content/skeleton/Skeleton.js +1 -1
  69. package/esm/content/skeleton/Skeleton.js.map +1 -1
  70. package/esm/content/skeleton/Skeleton.sty.js +5 -5
  71. package/esm/content/skeleton/Skeleton.sty.js.map +1 -1
  72. package/esm/content/skeleton/SkeletonText.js +1 -1
  73. package/esm/content/skeleton/SkeletonText.js.map +1 -1
  74. package/esm/core/hooks/useId.js.map +2 -2
  75. package/esm/core/styles/focusRing.css +66 -66
  76. package/esm/core/styles/focusRing.sty.js +2 -2
  77. package/esm/core/styles/focusRing.sty.js.map +1 -1
  78. package/esm/core/utils/colorUtils.css +60 -60
  79. package/esm/core/utils/colorUtils.sty.js +2 -2
  80. package/esm/core/utils/colorUtils.sty.js.map +1 -1
  81. package/esm/core/utils/is-node-environment.js +15 -0
  82. package/esm/core/utils/is-node-environment.js.map +7 -0
  83. package/esm/core/utils/logging.js +14 -0
  84. package/esm/core/utils/logging.js.map +7 -0
  85. package/esm/layouts/container/Container.css +4 -4
  86. package/esm/layouts/container/Container.sty.js +1 -1
  87. package/esm/layouts/container/Container.sty.js.map +1 -1
  88. package/esm/layouts/divider/Divider.css +6 -6
  89. package/esm/layouts/divider/Divider.sty.js +1 -1
  90. package/esm/layouts/divider/Divider.sty.js.map +1 -1
  91. package/esm/layouts/surface/Surface.css +39 -39
  92. package/esm/layouts/surface/Surface.js +4 -4
  93. package/esm/layouts/surface/Surface.js.map +2 -2
  94. package/esm/layouts/surface/Surface.sty.js +2 -2
  95. package/esm/layouts/surface/Surface.sty.js.map +1 -1
  96. package/esm/layouts/surface/variables.sty.js +1 -1
  97. package/esm/layouts/surface/variables.sty.js.map +1 -1
  98. package/esm/styles/colorUtils.css +60 -60
  99. package/esm/styles/colorUtils.sty.js +3 -3
  100. package/esm/styles/colorUtils.sty.js.map +2 -2
  101. package/esm/styles/container.css +47 -47
  102. package/esm/styles/container.sty.js +2 -2
  103. package/esm/styles/container.sty.js.map +1 -1
  104. package/esm/styles/ellipsis.css +1 -1
  105. package/esm/styles/ellipsis.sty.js +2 -2
  106. package/esm/styles/ellipsis.sty.js.map +2 -2
  107. package/esm/styles/field.css +153 -153
  108. package/esm/styles/field.sty.js +3 -3
  109. package/esm/styles/field.sty.js.map +2 -2
  110. package/esm/styles/index.js +2 -2
  111. package/esm/styles/index.js.map +2 -2
  112. package/esm/styles/sprinkles.css +262 -262
  113. package/esm/styles/sprinkles.sty.js +1 -1
  114. package/esm/styles/sprinkles.sty.js.map +1 -1
  115. package/esm/styles/textStyle.css +8 -8
  116. package/esm/styles/textStyle.sty.js +2 -2
  117. package/esm/styles/textStyle.sty.js.map +2 -2
  118. package/esm/typography/block-quote/Blockquote.css +2 -2
  119. package/esm/typography/block-quote/Blockquote.sty.js +1 -1
  120. package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
  121. package/esm/typography/code/Code.css +1 -1
  122. package/esm/typography/code/Code.sty.js +1 -1
  123. package/esm/typography/code/Code.sty.js.map +1 -1
  124. package/esm/typography/emphasis/Emphasis.css +1 -1
  125. package/esm/typography/emphasis/Emphasis.sty.js +1 -1
  126. package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
  127. package/esm/typography/external-link/ExternalLink.css +6 -8
  128. package/esm/typography/external-link/ExternalLink.js +1 -1
  129. package/esm/typography/external-link/ExternalLink.js.map +2 -2
  130. package/esm/typography/external-link/ExternalLink.sty.js +1 -1
  131. package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
  132. package/esm/typography/heading/Heading.css +7 -7
  133. package/esm/typography/heading/Heading.sty.js +1 -1
  134. package/esm/typography/heading/Heading.sty.js.map +1 -1
  135. package/esm/typography/highlight/Highlight.css +5 -6
  136. package/esm/typography/highlight/Highlight.js +45 -138
  137. package/esm/typography/highlight/Highlight.js.map +3 -3
  138. package/esm/typography/highlight/Highlight.sty.js +2 -4
  139. package/esm/typography/highlight/Highlight.sty.js.map +2 -2
  140. package/esm/typography/highlight/utils/create-ranged-highlights.js +51 -0
  141. package/esm/typography/highlight/utils/create-ranged-highlights.js.map +7 -0
  142. package/esm/typography/highlight/utils/get-or-create-shared-highlight.js +25 -0
  143. package/esm/typography/highlight/utils/get-or-create-shared-highlight.js.map +7 -0
  144. package/esm/typography/link/Link.css +3 -3
  145. package/esm/typography/link/Link.sty.js +1 -1
  146. package/esm/typography/link/Link.sty.js.map +1 -1
  147. package/esm/typography/list/List.css +4 -4
  148. package/esm/typography/list/List.sty.js +2 -2
  149. package/esm/typography/list/List.sty.js.map +1 -1
  150. package/esm/typography/paragraph/Paragraph.css +3 -3
  151. package/esm/typography/paragraph/Paragraph.js +3 -7
  152. package/esm/typography/paragraph/Paragraph.js.map +2 -2
  153. package/esm/typography/paragraph/Paragraph.sty.js +2 -2
  154. package/esm/typography/paragraph/Paragraph.sty.js.map +2 -2
  155. package/esm/typography/strikethrough/Strikethrough.css +1 -1
  156. package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
  157. package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
  158. package/esm/typography/strong/Strong.css +1 -1
  159. package/esm/typography/strong/Strong.sty.js +1 -1
  160. package/esm/typography/strong/Strong.sty.js.map +1 -1
  161. package/esm/typography/text/Text.css +3 -3
  162. package/esm/typography/text/Text.js +5 -5
  163. package/esm/typography/text/Text.js.map +2 -2
  164. package/esm/typography/text/Text.sty.js +2 -2
  165. package/esm/typography/text/Text.sty.js.map +2 -2
  166. package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
  167. package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
  168. package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
  169. package/esm/typography/utils.js +17 -9
  170. package/esm/typography/utils.js.map +2 -2
  171. package/layouts/container/Container.css +4 -4
  172. package/layouts/container/Container.sty.js +1 -1
  173. package/layouts/divider/Divider.css +6 -6
  174. package/layouts/divider/Divider.sty.js +1 -1
  175. package/layouts/surface/Surface.css +39 -39
  176. package/layouts/surface/Surface.js +2 -2
  177. package/layouts/surface/Surface.sty.d.ts +19 -6
  178. package/layouts/surface/Surface.sty.js +2 -2
  179. package/layouts/surface/variables.sty.js +1 -1
  180. package/package.json +3 -3
  181. package/styles/colorUtils.css +60 -60
  182. package/styles/colorUtils.sty.d.ts +16 -6
  183. package/styles/colorUtils.sty.js +3 -3
  184. package/styles/container.css +47 -47
  185. package/styles/container.sty.d.ts +16 -6
  186. package/styles/container.sty.js +2 -2
  187. package/styles/ellipsis.css +1 -1
  188. package/styles/ellipsis.sty.d.ts +1 -1
  189. package/styles/ellipsis.sty.js +2 -2
  190. package/styles/field.css +153 -153
  191. package/styles/field.sty.d.ts +25 -18
  192. package/styles/field.sty.js +3 -3
  193. package/styles/index.d.ts +1 -1
  194. package/styles/index.js +1 -1
  195. package/styles/sprinkles.css +262 -262
  196. package/styles/sprinkles.sty.js +1 -1
  197. package/styles/textStyle.css +8 -8
  198. package/styles/textStyle.sty.d.ts +1 -1
  199. package/styles/textStyle.sty.js +2 -2
  200. package/typography/block-quote/Blockquote.css +2 -2
  201. package/typography/block-quote/Blockquote.sty.js +1 -1
  202. package/typography/code/Code.css +1 -1
  203. package/typography/code/Code.sty.js +1 -1
  204. package/typography/emphasis/Emphasis.css +1 -1
  205. package/typography/emphasis/Emphasis.sty.js +1 -1
  206. package/typography/external-link/ExternalLink.css +6 -8
  207. package/typography/external-link/ExternalLink.js +1 -1
  208. package/typography/external-link/ExternalLink.sty.js +1 -1
  209. package/typography/heading/Heading.css +7 -7
  210. package/typography/heading/Heading.sty.js +1 -1
  211. package/typography/highlight/Highlight.css +5 -6
  212. package/typography/highlight/Highlight.d.ts +1 -1
  213. package/typography/highlight/Highlight.js +43 -127
  214. package/typography/highlight/Highlight.sty.d.ts +1 -2
  215. package/typography/highlight/Highlight.sty.js +2 -4
  216. package/typography/highlight/utils/create-ranged-highlights.d.ts +10 -0
  217. package/typography/highlight/utils/create-ranged-highlights.js +70 -0
  218. package/typography/highlight/utils/get-or-create-shared-highlight.d.ts +7 -0
  219. package/typography/highlight/utils/get-or-create-shared-highlight.js +44 -0
  220. package/typography/link/Link.css +3 -3
  221. package/typography/link/Link.sty.js +1 -1
  222. package/typography/list/List.css +4 -4
  223. package/typography/list/List.sty.js +2 -2
  224. package/typography/paragraph/Paragraph.css +3 -3
  225. package/typography/paragraph/Paragraph.js +1 -5
  226. package/typography/paragraph/Paragraph.sty.d.ts +1 -1
  227. package/typography/paragraph/Paragraph.sty.js +2 -2
  228. package/typography/strikethrough/Strikethrough.css +1 -1
  229. package/typography/strikethrough/Strikethrough.sty.js +1 -1
  230. package/typography/strong/Strong.css +1 -1
  231. package/typography/strong/Strong.sty.js +1 -1
  232. package/typography/text/Text.css +3 -3
  233. package/typography/text/Text.js +3 -3
  234. package/typography/text/Text.sty.d.ts +1 -1
  235. package/typography/text/Text.sty.js +2 -2
  236. package/typography/text-ellipsis/TextEllipsis.css +6 -6
  237. package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
  238. package/typography/utils.js +17 -9
@@ -1,12 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import clsx from "clsx";
3
3
  import { forwardRef } from "react";
4
- import { textCSS } from "./Text.sty.js";
5
- import { textStyleCSS } from "../../styles/textStyle.sty.js";
4
+ import { text } from "./Text.sty.js";
5
+ import { textStyle } from "../../styles/textStyle.sty.js";
6
6
  const Text = /* @__PURE__ */ forwardRef(
7
7
  ({
8
8
  children,
9
- textStyle,
9
+ textStyle: textStyleProp,
10
10
  fontStyle,
11
11
  as,
12
12
  className: consumerClassName,
@@ -26,8 +26,8 @@ const Text = /* @__PURE__ */ forwardRef(
26
26
  "data-dtrum-allow": dataDtrumAllow,
27
27
  ref,
28
28
  className: clsx([
29
- textCSS({ ellipsis }),
30
- (fontStyle || textStyle) && textStyleCSS({ fontStyle, textStyle }),
29
+ text({ ellipsis }),
30
+ (fontStyle || textStyleProp) && textStyle({ fontStyle, textStyle: textStyleProp }),
31
31
  consumerClassName
32
32
  ]),
33
33
  style: consumerStyle,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/text/Text.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { type ElementType, type ReactElement, forwardRef } from 'react';\n\nimport { textCSS } from './Text.sty.js';\nimport type { AriaLabelingProps } from '../../core/types/a11y-props.js';\nimport type { DataTestId } from '../../core/types/data-props.js';\nimport type { DOMProps } from '../../core/types/dom.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\nimport type { PolymorphicComponentProps } from '../../core/types/polymorph.js';\nimport type { StylingProps } from '../../core/types/styling-props.js';\nimport type { WithChildren } from '../../core/types/with-children.js';\nimport { textStyleCSS } from '../../styles/textStyle.sty.js';\n\n/**\n * The props for the text component without any props coming from polymorphing.\n * @public\n */\nexport interface TextOwnProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /** Sets the text style. Variants include \"base\", \"base-emphasized\", etc. */\n textStyle?: 'base' | 'base-emphasized' | 'small' | 'small-emphasized';\n /** Sets the font style. Can either be \"text\" or \"code\" */\n fontStyle?: 'text' | 'code';\n}\n\n/**\n * Combined props for the text component - polymorphing and own props.\n * @public\n */\nexport type TextProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n TextOwnProps\n>;\n\n/**\n * Use the `Text` component for text that is rendered without any semantic markup.\n * @public\n */\nexport const Text: <E extends ElementType = 'span'>(\n props: TextProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(\n {\n children,\n textStyle,\n fontStyle,\n as,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: TextProps<E>,\n ref: typeof remainingProps.ref,\n ) => {\n const TextTag = as || 'span';\n\n let ellipsis: undefined | 'singleLine' | 'multiLine';\n\n return (\n <TextTag\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={ref}\n className={clsx([\n textCSS({ ellipsis }),\n (fontStyle || textStyle) && textStyleCSS({ fontStyle, textStyle }),\n consumerClassName,\n ])}\n style={consumerStyle}\n {...remainingProps}\n >\n {children}\n </TextTag>\n );\n },\n);\n\n(Text as typeof Text & { displayName: string }).displayName = 'Text';\n"],
5
- "mappings": "AAkEM;AAlEN,OAAO,UAAU;AACjB,SAA8C,kBAAkB;AAEhE,SAAS,eAAe;AAQxB,SAAS,oBAAoB;AAgCtB,MAAM,OAE8B;AAAA,EACzC,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,UAAU,MAAM;AAEtB,QAAI;AAEJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa;AAAA,QACb,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB;AAAA,QACA,WAAW,KAAK;AAAA,UACd,QAAQ,EAAE,SAAS,CAAC;AAAA,WACnB,aAAa,cAAc,aAAa,EAAE,WAAW,UAAU,CAAC;AAAA,UACjE;AAAA,QACF,CAAC;AAAA,QACD,OAAO;AAAA,QACN,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEC,KAA+C,cAAc;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { type ElementType, type ReactElement, forwardRef } from 'react';\n\nimport { text } from './Text.sty.js';\nimport type { AriaLabelingProps } from '../../core/types/a11y-props.js';\nimport type { DataTestId } from '../../core/types/data-props.js';\nimport type { DOMProps } from '../../core/types/dom.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\nimport type { PolymorphicComponentProps } from '../../core/types/polymorph.js';\nimport type { StylingProps } from '../../core/types/styling-props.js';\nimport type { WithChildren } from '../../core/types/with-children.js';\nimport { textStyle } from '../../styles/textStyle.sty.js';\n\n/**\n * The props for the text component without any props coming from polymorphing.\n * @public\n */\nexport interface TextOwnProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /** Sets the text style. Variants include \"base\", \"base-emphasized\", etc. */\n textStyle?: 'base' | 'base-emphasized' | 'small' | 'small-emphasized';\n /** Sets the font style. Can either be \"text\" or \"code\" */\n fontStyle?: 'text' | 'code';\n}\n\n/**\n * Combined props for the text component - polymorphing and own props.\n * @public\n */\nexport type TextProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n TextOwnProps\n>;\n\n/**\n * Use the `Text` component for text that is rendered without any semantic markup.\n * @public\n */\nexport const Text: <E extends ElementType = 'span'>(\n props: TextProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(\n {\n children,\n textStyle: textStyleProp,\n fontStyle,\n as,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: TextProps<E>,\n ref: typeof remainingProps.ref,\n ) => {\n const TextTag = as || 'span';\n\n let ellipsis: undefined | 'singleLine' | 'multiLine';\n\n return (\n <TextTag\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={ref}\n className={clsx([\n text({ ellipsis }),\n (fontStyle || textStyleProp) &&\n textStyle({ fontStyle, textStyle: textStyleProp }),\n consumerClassName,\n ])}\n style={consumerStyle}\n {...remainingProps}\n >\n {children}\n </TextTag>\n );\n },\n);\n\n(Text as typeof Text & { displayName: string }).displayName = 'Text';\n"],
5
+ "mappings": "AAkEM;AAlEN,OAAO,UAAU;AACjB,SAA8C,kBAAkB;AAEhE,SAAS,YAAY;AAQrB,SAAS,iBAAiB;AAgCnB,MAAM,OAE8B;AAAA,EACzC,CACE;AAAA,IACE;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,UAAU,MAAM;AAEtB,QAAI;AAEJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa;AAAA,QACb,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB;AAAA,QACA,WAAW,KAAK;AAAA,UACd,KAAK,EAAE,SAAS,CAAC;AAAA,WAChB,aAAa,kBACZ,UAAU,EAAE,WAAW,WAAW,cAAc,CAAC;AAAA,UACnD;AAAA,QACF,CAAC;AAAA,QACD,OAAO;AAAA,QACN,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEC,KAA+C,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import "./Text.css";
2
2
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
- var textCSS = _7a468({ defaultClassName: "_rup8ap0-1-14-0", variantClassNames: { ellipsis: { singleLine: "_rup8ap1-1-14-0", multiLine: "_rup8ap2-1-14-0" } }, defaultVariants: {}, compoundVariants: [] });
3
+ var text = _7a468({ defaultClassName: "_rup8ap0-1-16-0", variantClassNames: { ellipsis: { singleLine: "_rup8ap1-1-16-0", multiLine: "_rup8ap2-1-16-0" } }, defaultVariants: {}, compoundVariants: [] });
4
4
  export {
5
- textCSS
5
+ text
6
6
  };
7
7
  //# sourceMappingURL=Text.sty.js.map
@@ -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-1-14-0',variantClassNames:{ellipsis:{singleLine:'_rup8ap1-1-14-0',multiLine:'_rup8ap2-1-14-0'}},defaultVariants:{},compoundVariants:[]});"],
5
- "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,UAAU,OAAO,EAAC,kBAAiB,mBAAkB,mBAAkB,EAAC,UAAS,EAAC,YAAW,mBAAkB,WAAU,kBAAiB,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 text = _7a468({defaultClassName:'_rup8ap0-1-16-0',variantClassNames:{ellipsis:{singleLine:'_rup8ap1-1-16-0',multiLine:'_rup8ap2-1-16-0'}},defaultVariants:{},compoundVariants:[]});"],
5
+ "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,OAAO,OAAO,EAAC,kBAAiB,mBAAkB,mBAAkB,EAAC,UAAS,EAAC,YAAW,mBAAkB,WAAU,kBAAiB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- ._1mnpbqs1-1-14-0 {
1
+ ._1mnpbqs1-1-16-0 {
2
2
  display: inline-block;
3
3
  box-sizing: border-box;
4
4
  vertical-align: middle;
@@ -9,18 +9,18 @@
9
9
  text-decoration: inherit;
10
10
  width: 100%;
11
11
  }
12
- ._1mnpbqs2-1-14-0 {
12
+ ._1mnpbqs2-1-16-0 {
13
13
  text-overflow: ellipsis;
14
14
  direction: rtl;
15
15
  text-align: left;
16
16
  }
17
- ._1mnpbqs2-1-14-0::after, ._1mnpbqs2-1-14-0::before {
17
+ ._1mnpbqs2-1-16-0::after, ._1mnpbqs2-1-16-0::before {
18
18
  content: "‎";
19
19
  }
20
- ._1mnpbqs3-1-14-0 {
20
+ ._1mnpbqs3-1-16-0 {
21
21
  text-overflow: clip;
22
22
  }
23
- ._1mnpbqs3-1-14-0._1mnpbqs0-1-14-0:after {
23
+ ._1mnpbqs3-1-16-0._1mnpbqs0-1-16-0:after {
24
24
  content: attr(data-sourcetext) / "";
25
25
  color: transparent;
26
26
  display: table;
@@ -28,6 +28,6 @@
28
28
  line-height: 0;
29
29
  user-select: none;
30
30
  }
31
- ._1mnpbqs4-1-14-0 {
31
+ ._1mnpbqs4-1-16-0 {
32
32
  text-overflow: ellipsis;
33
33
  }
@@ -1,7 +1,7 @@
1
1
  import "./TextEllipsis.css";
2
2
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
- var active = "_1mnpbqs0-1-14-0";
4
- var ellipsis = _7a468({ defaultClassName: "_1mnpbqs1-1-14-0", variantClassNames: { truncationMode: { start: "_1mnpbqs2-1-14-0", middle: "_1mnpbqs3-1-14-0", end: "_1mnpbqs4-1-14-0" } }, defaultVariants: {}, compoundVariants: [] });
3
+ var active = "_1mnpbqs0-1-16-0";
4
+ var ellipsis = _7a468({ defaultClassName: "_1mnpbqs1-1-16-0", variantClassNames: { truncationMode: { start: "_1mnpbqs2-1-16-0", middle: "_1mnpbqs3-1-16-0", end: "_1mnpbqs4-1-16-0" } }, defaultVariants: {}, compoundVariants: [] });
5
5
  export {
6
6
  active,
7
7
  ellipsis
@@ -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 active = '_1mnpbqs0-1-14-0';\nexport var ellipsis = _7a468({defaultClassName:'_1mnpbqs1-1-14-0',variantClassNames:{truncationMode:{start:'_1mnpbqs2-1-14-0',middle:'_1mnpbqs3-1-14-0',end:'_1mnpbqs4-1-14-0'}},defaultVariants:{},compoundVariants:[]});"],
4
+ "sourcesContent": ["import './TextEllipsis.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var active = '_1mnpbqs0-1-16-0';\nexport var ellipsis = _7a468({defaultClassName:'_1mnpbqs1-1-16-0',variantClassNames:{truncationMode:{start:'_1mnpbqs2-1-16-0',middle:'_1mnpbqs3-1-16-0',end:'_1mnpbqs4-1-16-0'}},defaultVariants:{},compoundVariants:[]});"],
5
5
  "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,SAAS;AACb,IAAI,WAAW,OAAO,EAAC,kBAAiB,oBAAmB,mBAAkB,EAAC,gBAAe,EAAC,OAAM,oBAAmB,QAAO,oBAAmB,KAAI,mBAAkB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,15 @@
1
1
  import { getLanguage } from "@dynatrace-sdk/user-preferences";
2
- const localizedSegmenter = new Intl.Segmenter(getLanguage(), {
3
- granularity: "grapheme"
4
- });
2
+ let localizedSegmenter;
3
+ function getLocalizedSegmenter() {
4
+ if (localizedSegmenter) {
5
+ return localizedSegmenter;
6
+ }
7
+ const segmenter = new Intl.Segmenter(getLanguage(), {
8
+ granularity: "grapheme"
9
+ });
10
+ localizedSegmenter = segmenter;
11
+ return localizedSegmenter;
12
+ }
5
13
  const ELLIPSIS_CHARACTER = "\u2026";
6
14
  const ELLIPSIS_APPROXIMATION_THRESHOLD = 15;
7
15
  let inMemContext2d;
@@ -44,9 +52,10 @@ function centerEllipsizeText(originalText, textFont, maxWidthInPx) {
44
52
  let attempt = 1;
45
53
  let prefixLength = initialPrefixSuffixLength;
46
54
  let suffixLength = initialPrefixSuffixLength;
47
- const originalSegmentedText = Array.from(
48
- localizedSegmenter.segment(originalText)
49
- ).map((segment) => segment.segment);
55
+ const segmenter = getLocalizedSegmenter();
56
+ const originalSegmentedText = Array.from(segmenter.segment(originalText)).map(
57
+ (segment) => segment.segment
58
+ );
50
59
  do {
51
60
  const originalSegmentedTextCopy = [...originalSegmentedText];
52
61
  prefixLength -= attempt % 2 === 1 ? 1 : 0;
@@ -74,9 +83,8 @@ function getFontString(textFont) {
74
83
  ).join(" ");
75
84
  }
76
85
  function calculateEllipsisInfo(originalText, textFont, maxWidthInPx) {
77
- const originalTextLength = Array.from(
78
- localizedSegmenter.segment(originalText)
79
- ).length;
86
+ const segmenter = getLocalizedSegmenter();
87
+ const originalTextLength = Array.from(segmenter.segment(originalText)).length;
80
88
  if (originalTextLength <= 1) {
81
89
  return null;
82
90
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/typography/utils.ts"],
4
- "sourcesContent": ["import { getLanguage } from '@dynatrace-sdk/user-preferences';\n\n/**\n * Properties describing how a piece of text is formatted.\n * @internal\n */\nexport type Font = {\n fontStyle?: string;\n fontWeight?: string;\n fontSize: string;\n fontFamily: string;\n};\n\nconst localizedSegmenter = new Intl.Segmenter(getLanguage(), {\n granularity: 'grapheme',\n});\n\n/**\n * The Unicode character representing an ellipsis.\n * @internal\n */\nexport const ELLIPSIS_CHARACTER = '\\u2026';\n\n/**\n * Max iterations for finding the perfect truncated text for a given width\n * @internal\n */\nexport const ELLIPSIS_APPROXIMATION_THRESHOLD = 15;\n\nlet inMemContext2d: CanvasRenderingContext2D;\n\n/**\n * Calculates the width of formatted text in pixels.\n *\n * @param text - The text to calculate the width of\n * @param textFont - The font settings for the text\n * @internal\n */\nexport function getTextWidth(text: string, textFont: Font): number {\n const context = getCanvasContext2d();\n\n context.font = getFontString(textFont);\n\n const textMetrics = context.measureText(text);\n\n // this branch is relevant for mocked canvas API in unit tests\n if (textMetrics.width < 0) {\n return textMetrics.width;\n }\n\n // Development note: On macOS Chrome and macOS Firefox, emojis passed to the\n // text measurement return a faulty measurement. This is most likely related to\n // this chromium bug https://issues.chromium.org/issues/40461560, which is at the time of writing\n // still open. If a text only consists of emojis, the measurement will be fairly off, which will\n // in turn break the average character width calculation following afterwards.\n // In most cases we anticipate that other letter characters measurements will smooth out the average calculation.\n\n // more accurate than using metrics width\n // see https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#measuring_text_width\n const actualTextWidth =\n Math.abs(textMetrics.actualBoundingBoxLeft) +\n Math.abs(textMetrics.actualBoundingBoxRight);\n\n // Scrap sub-pixel accuracy and always round up to be on the safer side\n return Math.ceil(actualTextWidth);\n}\n\n/**\n * Calculates the height of formatted text in pixels.\n * @param text - The text to calculate the height of\n * @param textFont - The font settings for the text\n * @internal\n */\nexport function getTextHeight(text: string, textFont: Font): number {\n const context = getCanvasContext2d();\n\n context.font = getFontString(textFont);\n\n const textMetrics = context.measureText(text);\n\n const actualTextHeight =\n Math.abs(textMetrics.actualBoundingBoxAscent) +\n Math.abs(textMetrics.actualBoundingBoxDescent);\n\n // Scrap sub-pixel accuracy and always round up to be on the safer side\n return Math.ceil(actualTextHeight);\n}\n\n/**\n * Cuts off text that exceeds the maximum width in the center and\n * concatenates both shortened ends of the text with an ellipsis.\n *\n * @param originalText - The text to be truncated if its width exceeds <code>maxWidthInPx</code>\n * @param textFont - Different font settings to be considered when determining the width of the text\n * @param maxWidthInPx - If the text's width exceeds this value, the text will be truncated to a string whose width is guaranteed to be below it\n * @internal\n */\nexport function centerEllipsizeText(\n originalText: string,\n textFont: Font,\n maxWidthInPx: number,\n): string {\n const ellipsisInfo = calculateEllipsisInfo(\n originalText,\n textFont,\n maxWidthInPx,\n );\n\n if (ellipsisInfo === null) {\n return originalText;\n }\n\n const { ellipsisWidth, avgLetterWidth } = ellipsisInfo;\n const availableTextWidth = maxWidthInPx - ellipsisWidth;\n\n if (availableTextWidth <= ellipsisWidth) {\n return ELLIPSIS_CHARACTER;\n }\n\n const initialPrefixSuffixLength =\n Math.floor(availableTextWidth / avgLetterWidth / 2) + 1;\n\n let prefix: string;\n let suffix: string;\n let ellipsizedText: string;\n let approximatedTextWidth: number;\n let attempt = 1;\n let prefixLength = initialPrefixSuffixLength;\n let suffixLength = initialPrefixSuffixLength;\n\n const originalSegmentedText = Array.from(\n localizedSegmenter.segment(originalText),\n ).map((segment) => segment.segment);\n\n do {\n // Need to copy the original segmented array, because slice does mutate the array\n // it is called on, and that can lead to unwanted side effects when running this\n // loop more often.\n const originalSegmentedTextCopy = [...originalSegmentedText];\n prefixLength -= attempt % 2 === 1 ? 1 : 0;\n suffixLength -= attempt % 2 === 0 ? 1 : 0;\n\n prefix = originalSegmentedTextCopy.slice(0, prefixLength).join('');\n suffix = originalSegmentedTextCopy.slice(suffixLength * -1).join('');\n\n ellipsizedText = `${prefix}${ELLIPSIS_CHARACTER}${suffix}`;\n approximatedTextWidth = getTextWidth(ellipsizedText, textFont);\n\n attempt++;\n } while (\n attempt <= ELLIPSIS_APPROXIMATION_THRESHOLD &&\n approximatedTextWidth >= maxWidthInPx\n );\n\n return ellipsizedText;\n}\n\n/**\n * Transforms a font settings object into a CSS font specifier string\n * that can be used on 2D canvas contexts.\n */\nfunction getFontString(textFont: Font): string {\n const { fontStyle, fontWeight, fontSize, fontFamily } = textFont;\n\n // Note: always drop default values for fontStyle and fontWeight as\n // these can randomly (!) break text width detection!\n return [\n fontStyle === 'normal' ? '' : fontStyle,\n fontWeight === '400' ? '' : fontWeight,\n fontSize,\n fontFamily,\n ]\n .filter((value) => value !== undefined && value !== '')\n .map((value) =>\n // we need to resolve CSS variables manually because they are not supported by the canvas API\n value?.trim().startsWith('var(')\n ? value.replace(/^\\s*var\\(--[0-9A-Za-z-]+,\\s*([^)]+)\\)\\s*$/, '$1')\n : value,\n )\n .join(' ');\n}\n\n/**\n * Returns an object containing the width of a given formatted text and the\n * width of an ellipsis character with the same text format or `null`\n * if the text width does not exceed its maximum available width.\n * @internal\n */\nexport function calculateEllipsisInfo(\n originalText: string,\n textFont: Font,\n maxWidthInPx: number,\n): { ellipsisWidth: number; avgLetterWidth: number } | null {\n const originalTextLength = Array.from(\n localizedSegmenter.segment(originalText),\n ).length;\n\n if (originalTextLength <= 1) {\n return null;\n }\n\n const textWidth = getTextWidth(originalText, textFont);\n const avgLetterWidth = textWidth / originalTextLength;\n\n return textWidth > maxWidthInPx\n ? {\n ellipsisWidth: getTextWidth(ELLIPSIS_CHARACTER, textFont),\n avgLetterWidth,\n }\n : null;\n}\n\n/** Returns the canvas 2D context used for measuring the width of formatted text. */\nfunction getCanvasContext2d() {\n if (!inMemContext2d) {\n const canvas = document.createElement('canvas');\n canvas.hidden = true;\n const context = canvas.getContext('2d', { alpha: false });\n\n if (context !== null) {\n context.imageSmoothingEnabled = false;\n context.imageSmoothingQuality = 'low';\n inMemContext2d = context;\n } else {\n throw new Error('Failed to create a Canvas 2D context');\n }\n }\n\n return inMemContext2d;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { getLanguage } from '@dynatrace-sdk/user-preferences';\n\n/**\n * Properties describing how a piece of text is formatted.\n * @internal\n */\nexport type Font = {\n fontStyle?: string;\n fontWeight?: string;\n fontSize: string;\n fontFamily: string;\n};\n\n// Create a singleton for the segmenter that is only initialized when it is actually\n// needed at runtime. Otherwise a simple import to the typography package\n// will yield in a network request for getLanguage(). In the shell itself, it might\n// not even be available yet.\nlet localizedSegmenter: Intl.Segmenter;\nfunction getLocalizedSegmenter(): Intl.Segmenter {\n if (localizedSegmenter) {\n return localizedSegmenter;\n }\n\n const segmenter = new Intl.Segmenter(getLanguage(), {\n granularity: 'grapheme',\n });\n localizedSegmenter = segmenter;\n\n return localizedSegmenter;\n}\n\n/**\n * The Unicode character representing an ellipsis.\n * @internal\n */\nexport const ELLIPSIS_CHARACTER = '\\u2026';\n\n/**\n * Max iterations for finding the perfect truncated text for a given width\n * @internal\n */\nexport const ELLIPSIS_APPROXIMATION_THRESHOLD = 15;\n\nlet inMemContext2d: CanvasRenderingContext2D;\n\n/**\n * Calculates the width of formatted text in pixels.\n *\n * @param text - The text to calculate the width of\n * @param textFont - The font settings for the text\n * @internal\n */\nexport function getTextWidth(text: string, textFont: Font): number {\n const context = getCanvasContext2d();\n\n context.font = getFontString(textFont);\n\n const textMetrics = context.measureText(text);\n\n // this branch is relevant for mocked canvas API in unit tests\n if (textMetrics.width < 0) {\n return textMetrics.width;\n }\n\n // Development note: On macOS Chrome and macOS Firefox, emojis passed to the\n // text measurement return a faulty measurement. This is most likely related to\n // this chromium bug https://issues.chromium.org/issues/40461560, which is at the time of writing\n // still open. If a text only consists of emojis, the measurement will be fairly off, which will\n // in turn break the average character width calculation following afterwards.\n // In most cases we anticipate that other letter characters measurements will smooth out the average calculation.\n\n // more accurate than using metrics width\n // see https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#measuring_text_width\n const actualTextWidth =\n Math.abs(textMetrics.actualBoundingBoxLeft) +\n Math.abs(textMetrics.actualBoundingBoxRight);\n\n // Scrap sub-pixel accuracy and always round up to be on the safer side\n return Math.ceil(actualTextWidth);\n}\n\n/**\n * Calculates the height of formatted text in pixels.\n * @param text - The text to calculate the height of\n * @param textFont - The font settings for the text\n * @internal\n */\nexport function getTextHeight(text: string, textFont: Font): number {\n const context = getCanvasContext2d();\n\n context.font = getFontString(textFont);\n\n const textMetrics = context.measureText(text);\n\n const actualTextHeight =\n Math.abs(textMetrics.actualBoundingBoxAscent) +\n Math.abs(textMetrics.actualBoundingBoxDescent);\n\n // Scrap sub-pixel accuracy and always round up to be on the safer side\n return Math.ceil(actualTextHeight);\n}\n\n/**\n * Cuts off text that exceeds the maximum width in the center and\n * concatenates both shortened ends of the text with an ellipsis.\n *\n * @param originalText - The text to be truncated if its width exceeds <code>maxWidthInPx</code>\n * @param textFont - Different font settings to be considered when determining the width of the text\n * @param maxWidthInPx - If the text's width exceeds this value, the text will be truncated to a string whose width is guaranteed to be below it\n * @internal\n */\nexport function centerEllipsizeText(\n originalText: string,\n textFont: Font,\n maxWidthInPx: number,\n): string {\n const ellipsisInfo = calculateEllipsisInfo(\n originalText,\n textFont,\n maxWidthInPx,\n );\n\n if (ellipsisInfo === null) {\n return originalText;\n }\n\n const { ellipsisWidth, avgLetterWidth } = ellipsisInfo;\n const availableTextWidth = maxWidthInPx - ellipsisWidth;\n\n if (availableTextWidth <= ellipsisWidth) {\n return ELLIPSIS_CHARACTER;\n }\n\n const initialPrefixSuffixLength =\n Math.floor(availableTextWidth / avgLetterWidth / 2) + 1;\n\n let prefix: string;\n let suffix: string;\n let ellipsizedText: string;\n let approximatedTextWidth: number;\n let attempt = 1;\n let prefixLength = initialPrefixSuffixLength;\n let suffixLength = initialPrefixSuffixLength;\n\n const segmenter = getLocalizedSegmenter();\n const originalSegmentedText = Array.from(segmenter.segment(originalText)).map(\n (segment) => segment.segment,\n );\n\n do {\n // Need to copy the original segmented array, because slice does mutate the array\n // it is called on, and that can lead to unwanted side effects when running this\n // loop more often.\n const originalSegmentedTextCopy = [...originalSegmentedText];\n prefixLength -= attempt % 2 === 1 ? 1 : 0;\n suffixLength -= attempt % 2 === 0 ? 1 : 0;\n\n prefix = originalSegmentedTextCopy.slice(0, prefixLength).join('');\n suffix = originalSegmentedTextCopy.slice(suffixLength * -1).join('');\n\n ellipsizedText = `${prefix}${ELLIPSIS_CHARACTER}${suffix}`;\n approximatedTextWidth = getTextWidth(ellipsizedText, textFont);\n\n attempt++;\n } while (\n attempt <= ELLIPSIS_APPROXIMATION_THRESHOLD &&\n approximatedTextWidth >= maxWidthInPx\n );\n\n return ellipsizedText;\n}\n\n/**\n * Transforms a font settings object into a CSS font specifier string\n * that can be used on 2D canvas contexts.\n */\nfunction getFontString(textFont: Font): string {\n const { fontStyle, fontWeight, fontSize, fontFamily } = textFont;\n\n // Note: always drop default values for fontStyle and fontWeight as\n // these can randomly (!) break text width detection!\n return [\n fontStyle === 'normal' ? '' : fontStyle,\n fontWeight === '400' ? '' : fontWeight,\n fontSize,\n fontFamily,\n ]\n .filter((value) => value !== undefined && value !== '')\n .map((value) =>\n // we need to resolve CSS variables manually because they are not supported by the canvas API\n value?.trim().startsWith('var(')\n ? value.replace(/^\\s*var\\(--[0-9A-Za-z-]+,\\s*([^)]+)\\)\\s*$/, '$1')\n : value,\n )\n .join(' ');\n}\n\n/**\n * Returns an object containing the width of a given formatted text and the\n * width of an ellipsis character with the same text format or `null`\n * if the text width does not exceed its maximum available width.\n * @internal\n */\nexport function calculateEllipsisInfo(\n originalText: string,\n textFont: Font,\n maxWidthInPx: number,\n): { ellipsisWidth: number; avgLetterWidth: number } | null {\n const segmenter = getLocalizedSegmenter();\n const originalTextLength = Array.from(segmenter.segment(originalText)).length;\n\n if (originalTextLength <= 1) {\n return null;\n }\n\n const textWidth = getTextWidth(originalText, textFont);\n const avgLetterWidth = textWidth / originalTextLength;\n\n return textWidth > maxWidthInPx\n ? {\n ellipsisWidth: getTextWidth(ELLIPSIS_CHARACTER, textFont),\n avgLetterWidth,\n }\n : null;\n}\n\n/** Returns the canvas 2D context used for measuring the width of formatted text. */\nfunction getCanvasContext2d() {\n if (!inMemContext2d) {\n const canvas = document.createElement('canvas');\n canvas.hidden = true;\n const context = canvas.getContext('2d', { alpha: false });\n\n if (context !== null) {\n context.imageSmoothingEnabled = false;\n context.imageSmoothingQuality = 'low';\n inMemContext2d = context;\n } else {\n throw new Error('Failed to create a Canvas 2D context');\n }\n }\n\n return inMemContext2d;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
- ._f32lcd0-1-14-0 {
1
+ ._f32lcd0-1-16-0 {
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, 9px);
5
- color: var(--_6levse0-1-14-0);
6
- border-color: var(--_6levse2-1-14-0);
7
- background-color: var(--_6levse1-1-14-0);
5
+ color: var(--_6levse0-1-16-0);
6
+ border-color: var(--_6levse2-1-16-0);
7
+ background-color: var(--_6levse1-1-16-0);
8
8
  }
@@ -23,4 +23,4 @@ __export(Container_css_exports, {
23
23
  module.exports = __toCommonJS(Container_css_exports);
24
24
  var import_container_css_ts_vanilla = require("../../styles/container.css");
25
25
  var import_Container_css_ts_vanilla = require("./Container.css");
26
- var containerCSS = "_f32lcd0-1-14-0";
26
+ var containerCSS = "_f32lcd0-1-16-0";
@@ -1,21 +1,21 @@
1
- ._1thxv8m0-1-14-0 {
1
+ ._1thxv8m0-1-16-0 {
2
2
  border: none;
3
3
  margin: 0;
4
4
  overflow-wrap: break-word;
5
- background-color: var(--_k096v42-1-14-0);
5
+ background-color: var(--_k096v42-1-16-0);
6
6
  }
7
- ._1thxv8m1-1-14-0 {
7
+ ._1thxv8m1-1-16-0 {
8
8
  width: 100%;
9
9
  height: var(--dt-borders-width-default, 1px);
10
10
  }
11
- ._1thxv8m2-1-14-0 {
11
+ ._1thxv8m2-1-16-0 {
12
12
  width: var(--dt-borders-width-default, 1px);
13
13
  height: 100%;
14
14
  }
15
- ._1thxv8m5-1-14-0 {
15
+ ._1thxv8m5-1-16-0 {
16
16
  flex-shrink: 0;
17
17
  }
18
- ._1thxv8m6-1-14-0 {
18
+ ._1thxv8m6-1-16-0 {
19
19
  flex-shrink: 0;
20
20
  width: var(--dt-borders-width-default, 1px);
21
21
  height: auto;
@@ -24,4 +24,4 @@ module.exports = __toCommonJS(Divider_css_exports);
24
24
  var import_colorUtils_css_ts_vanilla = require("../../core/utils/colorUtils.css");
25
25
  var import_Divider_css_ts_vanilla = require("./Divider.css");
26
26
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
27
- var dividerCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1thxv8m0-1-14-0", variantClassNames: { orientation: { horizontal: "_1thxv8m1-1-14-0", vertical: "_1thxv8m2-1-14-0" }, flexItem: { true: "_1thxv8m3-1-14-0", false: "_1thxv8m4-1-14-0" } }, defaultVariants: {}, compoundVariants: [[{ orientation: "horizontal", flexItem: false }, "_1thxv8m5-1-14-0"], [{ orientation: "vertical", flexItem: true }, "_1thxv8m6-1-14-0"]] });
27
+ var dividerCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1thxv8m0-1-16-0", variantClassNames: { orientation: { horizontal: "_1thxv8m1-1-16-0", vertical: "_1thxv8m2-1-16-0" }, flexItem: { true: "_1thxv8m3-1-16-0", false: "_1thxv8m4-1-16-0" } }, defaultVariants: {}, compoundVariants: [[{ orientation: "horizontal", flexItem: false }, "_1thxv8m5-1-16-0"], [{ orientation: "vertical", flexItem: true }, "_1thxv8m6-1-16-0"]] });
@@ -1,86 +1,86 @@
1
- ._1qto6jt6-1-14-0 {
2
- --_1igzksy0-1-14-0: var(--dt-borders-radius-surface-default, 12px);
1
+ ._1qto6jt6-1-16-0 {
2
+ --_1igzksy0-1-16-0: var(--dt-borders-radius-surface-default, 12px);
3
3
  color: var(--dt-colors-text-neutral-default, #2f2f4f);
4
4
  text-align: left;
5
5
  border: none;
6
6
  outline: none;
7
7
  position: relative;
8
8
  background-color: var(--dt-colors-background-surface-default, #fff);
9
- border-radius: var(--_1igzksy0-1-14-0);
9
+ border-radius: var(--_1igzksy0-1-16-0);
10
10
  }
11
- ._1qto6jt6-1-14-0::before, ._1qto6jt6-1-14-0::after {
11
+ ._1qto6jt6-1-16-0::before, ._1qto6jt6-1-16-0::after {
12
12
  content: "";
13
13
  width: 100%;
14
14
  height: 100%;
15
15
  position: absolute;
16
16
  left: 0;
17
17
  top: 0;
18
- border-radius: var(--_1igzksy0-1-14-0);
18
+ border-radius: var(--_1igzksy0-1-16-0);
19
19
  pointer-events: none;
20
20
  }
21
- ._1qto6jt6-1-14-0::after {
21
+ ._1qto6jt6-1-16-0::after {
22
22
  outline-offset: 2px;
23
- outline: 2px solid var(--_17bwkb02-1-14-0);
24
- opacity: var(--_1qto6jt4-1-14-0);
25
- transition: var(--_1qto6jt5-1-14-0);
23
+ outline: 2px solid var(--_17bwkb02-1-16-0);
24
+ opacity: var(--_1qto6jt4-1-16-0);
25
+ transition: var(--_1qto6jt5-1-16-0);
26
26
  }
27
- ._1qto6jt7-1-14-0 {
28
- --_1qto6jt4-1-14-0: 1;
29
- --_1qto6jt5-1-14-0: var(--dt-animations-fade-in-easing, cubic-bezier(0.5, 0, 1, 1)) var(--dt-animations-fade-in-duration-fast, 150ms);
27
+ ._1qto6jt7-1-16-0 {
28
+ --_1qto6jt4-1-16-0: 1;
29
+ --_1qto6jt5-1-16-0: var(--dt-animations-fade-in-easing, cubic-bezier(0.5, 0, 1, 1)) var(--dt-animations-fade-in-duration-fast, 150ms);
30
30
  }
31
- ._1qto6jt8-1-14-0 {
32
- --_1qto6jt4-1-14-0: 0;
33
- --_1qto6jt5-1-14-0: var(--dt-animations-fade-out-easing, cubic-bezier(0, 0, 0.2, 1)) var(--dt-animations-fade-out-duration-fast, 150ms);
31
+ ._1qto6jt8-1-16-0 {
32
+ --_1qto6jt4-1-16-0: 0;
33
+ --_1qto6jt5-1-16-0: var(--dt-animations-fade-out-easing, cubic-bezier(0, 0, 0.2, 1)) var(--dt-animations-fade-out-duration-fast, 150ms);
34
34
  }
35
- ._1qto6jt9-1-14-0 {
36
- --_1qto6jt1-1-14-0: 0;
37
- --_1qto6jt2-1-14-0: pointer;
38
- --_1qto6jt3-1-14-0: var(--dt-box-shadows-surface-flat-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 4px 8px -2px #2d2e4e12);
35
+ ._1qto6jt9-1-16-0 {
36
+ --_1qto6jt1-1-16-0: 0;
37
+ --_1qto6jt2-1-16-0: pointer;
38
+ --_1qto6jt3-1-16-0: var(--dt-box-shadows-surface-flat-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 4px 8px -2px #2d2e4e12);
39
39
  width: 100%;
40
40
  height: 100%;
41
41
  position: absolute;
42
42
  left: 0;
43
43
  top: 0;
44
- border-radius: var(--_1igzksy0-1-14-0);
44
+ border-radius: var(--_1igzksy0-1-16-0);
45
45
  pointer-events: none;
46
46
  }
47
- ._1qto6jt9-1-14-0::after,._1qto6jt9-1-14-0::before {
47
+ ._1qto6jt9-1-16-0::after,._1qto6jt9-1-16-0::before {
48
48
  content: "";
49
49
  width: 100%;
50
50
  height: 100%;
51
51
  position: absolute;
52
52
  left: 0;
53
53
  top: 0;
54
- border-radius: var(--_1igzksy0-1-14-0);
54
+ border-radius: var(--_1igzksy0-1-16-0);
55
55
  pointer-events: none;
56
56
  transition: var(--dt-animations-fade-in-easing, cubic-bezier(0.5, 0, 1, 1)) var(--dt-animations-fade-in-duration-fast, 150ms);
57
57
  }
58
- ._1qto6jt9-1-14-0::after {
59
- box-shadow: var(--_1qto6jt0-1-14-0);
60
- opacity: var(--_1qto6jt1-1-14-0);
58
+ ._1qto6jt9-1-16-0::after {
59
+ box-shadow: var(--_1qto6jt0-1-16-0);
60
+ opacity: var(--_1qto6jt1-1-16-0);
61
61
  }
62
- ._1qto6jt9-1-14-0::before {
63
- box-shadow: var(--_1qto6jt3-1-14-0);
62
+ ._1qto6jt9-1-16-0::before {
63
+ box-shadow: var(--_1qto6jt3-1-16-0);
64
64
  opacity: 0;
65
65
  }
66
- ._1qto6jta-1-14-0 {
67
- --_1qto6jt0-1-14-0: var(--dt-box-shadows-surface-flat-drag, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 7px 17px -2px #2d2e4e52);
68
- --_1qto6jt3-1-14-0: var(--dt-box-shadows-surface-flat-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 4px 8px -2px #2d2e4e12);
66
+ ._1qto6jta-1-16-0 {
67
+ --_1qto6jt0-1-16-0: var(--dt-box-shadows-surface-flat-drag, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 7px 17px -2px #2d2e4e52);
68
+ --_1qto6jt3-1-16-0: var(--dt-box-shadows-surface-flat-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 4px 8px -2px #2d2e4e12);
69
69
  box-shadow: var(--dt-box-shadows-surface-flat-rest, 0px 0px 0px 1px #2d2e4e0d);
70
70
  }
71
- ._1qto6jtb-1-14-0 {
72
- --_1qto6jt0-1-14-0: var(--dt-box-shadows-surface-raised-drag, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 7px 17px -2px #2d2e4e52);
73
- --_1qto6jt3-1-14-0: var(--dt-box-shadows-surface-raised-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 5px 11px -2px #2d2e4e29);
71
+ ._1qto6jtb-1-16-0 {
72
+ --_1qto6jt0-1-16-0: var(--dt-box-shadows-surface-raised-drag, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 7px 17px -2px #2d2e4e52);
73
+ --_1qto6jt3-1-16-0: var(--dt-box-shadows-surface-raised-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 5px 11px -2px #2d2e4e29);
74
74
  box-shadow: var(--dt-box-shadows-surface-raised-rest, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 4px 8px -2px #2d2e4e12);
75
75
  }
76
- ._1qto6jtc-1-14-0 {
77
- --_1qto6jt0-1-14-0: var(--dt-box-shadows-surface-floating-drag, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 7px 17px -2px #2d2e4e52);
78
- --_1qto6jt3-1-14-0: var(--dt-box-shadows-surface-floating-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 6px 14px -2px #2d2e4e3d);
76
+ ._1qto6jtc-1-16-0 {
77
+ --_1qto6jt0-1-16-0: var(--dt-box-shadows-surface-floating-drag, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 7px 17px -2px #2d2e4e52);
78
+ --_1qto6jt3-1-16-0: var(--dt-box-shadows-surface-floating-hover, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 6px 14px -2px #2d2e4e3d);
79
79
  box-shadow: var(--dt-box-shadows-surface-floating-rest, 0px 0px 0px 1px #2d2e4e08, 0px 1px 2px #2d2e4e0d, 0px 5px 11px -2px #2d2e4e29);
80
80
  }
81
- ._1qto6jtd-1-14-0 {
82
- --_1qto6jt1-1-14-0: 1;
83
- --_1qto6jt2-1-14-0: grab;
81
+ ._1qto6jtd-1-16-0 {
82
+ --_1qto6jt1-1-16-0: 1;
83
+ --_1qto6jt2-1-16-0: grab;
84
84
  }
85
85
  button.strato-surface:not(:disabled), a.strato-surface:not(:disabled) {
86
86
  cursor: pointer;
@@ -87,12 +87,12 @@ const Surface = /* @__PURE__ */ (0, import_react.forwardRef)(
87
87
  ref: forwardedRef,
88
88
  className: (0, import_clsx.default)(
89
89
  "strato-surface",
90
- (0, import_colorUtils_css.colorUtilsCSS)({ color, variant: selected ? "accent" : "default" }),
90
+ (0, import_colorUtils_css.colorUtils)({ color, variant: selected ? "accent" : "default" }),
91
91
  styles.surface({ selected }),
92
92
  focusClassName,
93
93
  consumerClassName,
94
94
  (0, import_getSpacingSprinkles.getSpacingSprinkles)(remainingProps, { padding: 24 }),
95
- (0, import_textStyle_css.textStyleCSS)({ textStyle: "base" })
95
+ (0, import_textStyle_css.textStyle)({ textStyle: "base" })
96
96
  ),
97
97
  style: { ...layoutSizeStyles, ...consumerStyle },
98
98
  children: [
@@ -1,13 +1,21 @@
1
+ declare const dragElevation: `var(--${string})`;
2
+ declare const dragOpacity: `var(--${string})`;
3
+ declare const dragCursor: `var(--${string})`;
4
+ declare const hoverElevation: `var(--${string})`;
5
+ declare const selectionOpacity: `var(--${string})`;
6
+ declare const selectionTransition: `var(--${string})`;
1
7
  export declare const surface: import("@vanilla-extract/recipes").RuntimeFn<{
2
8
  selected: {
3
9
  true: {
4
10
  vars: {
5
- [x: string]: string;
11
+ [selectionOpacity]: string;
12
+ [selectionTransition]: string;
6
13
  };
7
14
  };
8
15
  false: {
9
16
  vars: {
10
- [x: string]: string;
17
+ [selectionOpacity]: string;
18
+ [selectionTransition]: string;
11
19
  };
12
20
  };
13
21
  };
@@ -17,27 +25,32 @@ export declare const pseudoElement: import("@vanilla-extract/recipes").RuntimeFn
17
25
  flat: {
18
26
  boxShadow: string;
19
27
  vars: {
20
- [x: string]: string;
28
+ [dragElevation]: string;
29
+ [hoverElevation]: string;
21
30
  };
22
31
  };
23
32
  raised: {
24
33
  boxShadow: string;
25
34
  vars: {
26
- [x: string]: string;
35
+ [dragElevation]: string;
36
+ [hoverElevation]: string;
27
37
  };
28
38
  };
29
39
  floating: {
30
40
  boxShadow: string;
31
41
  vars: {
32
- [x: string]: string;
42
+ [dragElevation]: string;
43
+ [hoverElevation]: string;
33
44
  };
34
45
  };
35
46
  };
36
47
  dragged: {
37
48
  true: {
38
49
  vars: {
39
- [x: string]: string;
50
+ [dragOpacity]: string;
51
+ [dragCursor]: string;
40
52
  };
41
53
  };
42
54
  };
43
55
  }>;
56
+ export {};
@@ -25,5 +25,5 @@ module.exports = __toCommonJS(Surface_css_exports);
25
25
  var import_colorUtils_css_ts_vanilla = require("../../styles/colorUtils.css");
26
26
  var import_Surface_css_ts_vanilla = require("./Surface.css");
27
27
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
28
- var pseudoElement = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1qto6jt9-1-14-0", variantClassNames: { elevation: { flat: "_1qto6jta-1-14-0", raised: "_1qto6jtb-1-14-0", floating: "_1qto6jtc-1-14-0" }, dragged: { true: "_1qto6jtd-1-14-0" } }, defaultVariants: {}, compoundVariants: [] });
29
- var surface = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1qto6jt6-1-14-0", variantClassNames: { selected: { true: "_1qto6jt7-1-14-0", false: "_1qto6jt8-1-14-0" } }, defaultVariants: {}, compoundVariants: [] });
28
+ var pseudoElement = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1qto6jt9-1-16-0", variantClassNames: { elevation: { flat: "_1qto6jta-1-16-0", raised: "_1qto6jtb-1-16-0", floating: "_1qto6jtc-1-16-0" }, dragged: { true: "_1qto6jtd-1-16-0" } }, defaultVariants: {}, compoundVariants: [] });
29
+ var surface = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1qto6jt6-1-16-0", variantClassNames: { selected: { true: "_1qto6jt7-1-16-0", false: "_1qto6jt8-1-16-0" } }, defaultVariants: {}, compoundVariants: [] });
@@ -21,4 +21,4 @@ __export(variables_css_exports, {
21
21
  surfaceBorderRadius: () => surfaceBorderRadius
22
22
  });
23
23
  module.exports = __toCommonJS(variables_css_exports);
24
- var surfaceBorderRadius = "var(--_1igzksy0-1-14-0)";
24
+ var surfaceBorderRadius = "var(--_1igzksy0-1-16-0)";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynatrace/strato-components",
3
- "version": "1.14.0",
3
+ "version": "1.16.0",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "lang": "lang/uncompiled",
@@ -84,8 +84,8 @@
84
84
  "react-dom": "^18.0.0",
85
85
  "react-intl": "^6.0.8 || ^7.0.0",
86
86
  "react-is": "^18.0.0",
87
- "@dynatrace/strato-design-tokens": "^1.2.0",
88
- "@dynatrace/strato-icons": "^1.11.0"
87
+ "@dynatrace/strato-design-tokens": "^1.3.1",
88
+ "@dynatrace/strato-icons": "^1.12.0"
89
89
  },
90
90
  "sideEffects": [
91
91
  "./core/components/app-root/AppRoot.css",