@dynatrace/strato-components 0.85.120 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/buttons/button/Button.css +17 -17
  2. package/buttons/button/Button.js +1 -1
  3. package/buttons/button/Button.sty.js +4 -4
  4. package/content/progress/ProgressBar.css +71 -71
  5. package/content/progress/ProgressBar.d.ts +0 -7
  6. package/content/progress/ProgressBar.js +19 -45
  7. package/content/progress/ProgressBar.sty.js +5 -5
  8. package/content/progress/ProgressBarIcon.css +2 -2
  9. package/content/progress/ProgressBarIcon.sty.js +1 -1
  10. package/content/progress/ProgressBarLabel.css +3 -3
  11. package/content/progress/ProgressBarLabel.sty.js +1 -1
  12. package/content/progress/ProgressBarValue.css +5 -5
  13. package/content/progress/ProgressBarValue.sty.js +1 -1
  14. package/content/progress/ProgressCircle.css +40 -40
  15. package/content/progress/ProgressCircle.d.ts +0 -7
  16. package/content/progress/ProgressCircle.js +2 -10
  17. package/content/progress/ProgressCircle.sty.js +5 -5
  18. package/content/skeleton/Skeleton.css +6 -6
  19. package/content/skeleton/Skeleton.sty.js +1 -1
  20. package/core/components/app-root/AppRoot.css +0 -57
  21. package/core/index.d.ts +0 -2
  22. package/core/index.js +0 -2
  23. package/core/styles/focusRing.css +66 -66
  24. package/core/styles/focusRing.sty.js +2 -2
  25. package/core/utils/colorUtils.css +60 -60
  26. package/core/utils/colorUtils.sty.js +2 -2
  27. package/esm/buttons/button/Button.css +17 -17
  28. package/esm/buttons/button/Button.js +1 -1
  29. package/esm/buttons/button/Button.js.map +2 -2
  30. package/esm/buttons/button/Button.sty.js +4 -4
  31. package/esm/buttons/button/Button.sty.js.map +2 -2
  32. package/esm/content/progress/ProgressBar.css +71 -71
  33. package/esm/content/progress/ProgressBar.js +19 -45
  34. package/esm/content/progress/ProgressBar.js.map +2 -2
  35. package/esm/content/progress/ProgressBar.sty.js +5 -5
  36. package/esm/content/progress/ProgressBar.sty.js.map +2 -2
  37. package/esm/content/progress/ProgressBarIcon.css +2 -2
  38. package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
  39. package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
  40. package/esm/content/progress/ProgressBarLabel.css +3 -3
  41. package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
  42. package/esm/content/progress/ProgressBarLabel.sty.js.map +2 -2
  43. package/esm/content/progress/ProgressBarValue.css +5 -5
  44. package/esm/content/progress/ProgressBarValue.sty.js +1 -1
  45. package/esm/content/progress/ProgressBarValue.sty.js.map +2 -2
  46. package/esm/content/progress/ProgressCircle.css +40 -40
  47. package/esm/content/progress/ProgressCircle.js +2 -10
  48. package/esm/content/progress/ProgressCircle.js.map +2 -2
  49. package/esm/content/progress/ProgressCircle.sty.js +5 -5
  50. package/esm/content/progress/ProgressCircle.sty.js.map +2 -2
  51. package/esm/content/skeleton/Skeleton.css +6 -6
  52. package/esm/content/skeleton/Skeleton.sty.js +1 -1
  53. package/esm/content/skeleton/Skeleton.sty.js.map +2 -2
  54. package/esm/core/components/app-root/AppRoot.css +0 -57
  55. package/esm/core/index.js +0 -2
  56. package/esm/core/index.js.map +2 -2
  57. package/esm/core/styles/focusRing.css +66 -66
  58. package/esm/core/styles/focusRing.sty.js +2 -2
  59. package/esm/core/styles/focusRing.sty.js.map +2 -2
  60. package/esm/core/utils/colorUtils.css +60 -60
  61. package/esm/core/utils/colorUtils.sty.js +2 -2
  62. package/esm/core/utils/colorUtils.sty.js.map +2 -2
  63. package/esm/layouts/container/Container.css +4 -4
  64. package/esm/layouts/container/Container.sty.js +1 -1
  65. package/esm/layouts/container/Container.sty.js.map +1 -1
  66. package/esm/layouts/divider/Divider.css +6 -6
  67. package/esm/layouts/divider/Divider.sty.js +1 -1
  68. package/esm/layouts/divider/Divider.sty.js.map +2 -2
  69. package/esm/layouts/input-group/InputGroup.css +4 -4
  70. package/esm/layouts/input-group/InputGroup.sty.js +2 -2
  71. package/esm/layouts/input-group/InputGroup.sty.js.map +1 -1
  72. package/esm/layouts/surface/Surface.css +39 -39
  73. package/esm/layouts/surface/Surface.sty.js +2 -2
  74. package/esm/layouts/surface/Surface.sty.js.map +2 -2
  75. package/esm/layouts/surface/variables.sty.js +1 -1
  76. package/esm/layouts/surface/variables.sty.js.map +1 -1
  77. package/esm/styles/colorUtils.css +60 -60
  78. package/esm/styles/colorUtils.sty.js +2 -2
  79. package/esm/styles/colorUtils.sty.js.map +2 -2
  80. package/esm/styles/container.css +47 -47
  81. package/esm/styles/container.sty.js +2 -2
  82. package/esm/styles/container.sty.js.map +2 -2
  83. package/esm/styles/ellipsis.css +1 -1
  84. package/esm/styles/ellipsis.sty.js +1 -1
  85. package/esm/styles/ellipsis.sty.js.map +1 -1
  86. package/esm/styles/field.css +153 -153
  87. package/esm/styles/field.sty.js +2 -2
  88. package/esm/styles/field.sty.js.map +2 -2
  89. package/esm/styles/sprinkles.css +262 -262
  90. package/esm/styles/sprinkles.sty.js +1 -1
  91. package/esm/styles/sprinkles.sty.js.map +2 -2
  92. package/esm/styles/textStyle.css +8 -8
  93. package/esm/styles/textStyle.sty.js +1 -1
  94. package/esm/styles/textStyle.sty.js.map +2 -2
  95. package/esm/typography/block-quote/Blockquote.css +2 -2
  96. package/esm/typography/block-quote/Blockquote.sty.js +1 -1
  97. package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
  98. package/esm/typography/code/Code.css +1 -1
  99. package/esm/typography/code/Code.sty.js +1 -1
  100. package/esm/typography/code/Code.sty.js.map +1 -1
  101. package/esm/typography/emphasis/Emphasis.css +1 -1
  102. package/esm/typography/emphasis/Emphasis.sty.js +1 -1
  103. package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
  104. package/esm/typography/external-link/ExternalLink.css +6 -6
  105. package/esm/typography/external-link/ExternalLink.sty.js +1 -1
  106. package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
  107. package/esm/typography/heading/Heading.css +7 -7
  108. package/esm/typography/heading/Heading.sty.js +1 -1
  109. package/esm/typography/heading/Heading.sty.js.map +2 -2
  110. package/esm/typography/highlight/Highlight.css +1 -1
  111. package/esm/typography/highlight/Highlight.sty.js +1 -1
  112. package/esm/typography/highlight/Highlight.sty.js.map +1 -1
  113. package/esm/typography/link/Link.css +4 -4
  114. package/esm/typography/link/Link.sty.js +1 -1
  115. package/esm/typography/link/Link.sty.js.map +1 -1
  116. package/esm/typography/list/List.css +4 -4
  117. package/esm/typography/list/List.sty.js +2 -2
  118. package/esm/typography/list/List.sty.js.map +1 -1
  119. package/esm/typography/paragraph/Paragraph.css +3 -3
  120. package/esm/typography/paragraph/Paragraph.sty.js +1 -1
  121. package/esm/typography/paragraph/Paragraph.sty.js.map +2 -2
  122. package/esm/typography/strikethrough/Strikethrough.css +1 -1
  123. package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
  124. package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
  125. package/esm/typography/strong/Strong.css +1 -1
  126. package/esm/typography/strong/Strong.sty.js +1 -1
  127. package/esm/typography/strong/Strong.sty.js.map +1 -1
  128. package/esm/typography/text/Text.css +3 -3
  129. package/esm/typography/text/Text.sty.js +1 -1
  130. package/esm/typography/text/Text.sty.js.map +2 -2
  131. package/esm/typography/text-ellipsis/TextEllipsis.css +4 -4
  132. package/esm/typography/text-ellipsis/TextEllipsis.sty.js +1 -1
  133. package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +2 -2
  134. package/layouts/container/Container.css +4 -4
  135. package/layouts/container/Container.sty.js +1 -1
  136. package/layouts/divider/Divider.css +6 -6
  137. package/layouts/divider/Divider.sty.js +1 -1
  138. package/layouts/input-group/InputGroup.css +4 -4
  139. package/layouts/input-group/InputGroup.sty.js +2 -2
  140. package/layouts/surface/Surface.css +39 -39
  141. package/layouts/surface/Surface.sty.js +2 -2
  142. package/layouts/surface/variables.sty.js +1 -1
  143. package/package.json +15 -26
  144. package/styles/colorUtils.css +60 -60
  145. package/styles/colorUtils.sty.js +2 -2
  146. package/styles/container.css +47 -47
  147. package/styles/container.sty.js +2 -2
  148. package/styles/ellipsis.css +1 -1
  149. package/styles/ellipsis.sty.js +1 -1
  150. package/styles/field.css +153 -153
  151. package/styles/field.sty.js +2 -2
  152. package/styles/sprinkles.css +262 -262
  153. package/styles/sprinkles.sty.js +1 -1
  154. package/styles/textStyle.css +8 -8
  155. package/styles/textStyle.sty.js +1 -1
  156. package/typography/block-quote/Blockquote.css +2 -2
  157. package/typography/block-quote/Blockquote.sty.js +1 -1
  158. package/typography/code/Code.css +1 -1
  159. package/typography/code/Code.sty.js +1 -1
  160. package/typography/emphasis/Emphasis.css +1 -1
  161. package/typography/emphasis/Emphasis.sty.js +1 -1
  162. package/typography/external-link/ExternalLink.css +6 -6
  163. package/typography/external-link/ExternalLink.sty.js +1 -1
  164. package/typography/heading/Heading.css +7 -7
  165. package/typography/heading/Heading.sty.js +1 -1
  166. package/typography/highlight/Highlight.css +1 -1
  167. package/typography/highlight/Highlight.sty.js +1 -1
  168. package/typography/link/Link.css +4 -4
  169. package/typography/link/Link.sty.js +1 -1
  170. package/typography/list/List.css +4 -4
  171. package/typography/list/List.sty.js +2 -2
  172. package/typography/paragraph/Paragraph.css +3 -3
  173. package/typography/paragraph/Paragraph.sty.js +1 -1
  174. package/typography/strikethrough/Strikethrough.css +1 -1
  175. package/typography/strikethrough/Strikethrough.sty.js +1 -1
  176. package/typography/strong/Strong.css +1 -1
  177. package/typography/strong/Strong.sty.js +1 -1
  178. package/typography/text/Text.css +3 -3
  179. package/typography/text/Text.sty.js +1 -1
  180. package/typography/text-ellipsis/TextEllipsis.css +4 -4
  181. package/typography/text-ellipsis/TextEllipsis.sty.js +1 -1
  182. package/core/types/role-variant.d.ts +0 -12
  183. package/core/types/role-variant.js +0 -30
  184. package/esm/core/types/role-variant.js +0 -12
  185. package/esm/core/types/role-variant.js.map +0 -7
  186. package/testing/custom-render.d.ts +0 -12
  187. package/testing/custom-render.js +0 -62
  188. package/testing/index.d.ts +0 -22
  189. package/testing/index.js +0 -91
  190. package/testing/jest/index.d.ts +0 -1
  191. package/testing/jest/index.js +0 -5
  192. package/testing/jest/jest-preset.d.ts +0 -10
  193. package/testing/jest/jest-preset.js +0 -13
  194. package/testing/jest/resolver.d.ts +0 -0
  195. package/testing/jest/resolver.js +0 -27
  196. package/testing/mocks/bounding-client-rect-mock.d.ts +0 -8
  197. package/testing/mocks/bounding-client-rect-mock.js +0 -36
  198. package/testing/mocks/canvas-mock.d.ts +0 -14
  199. package/testing/mocks/canvas-mock.js +0 -192
  200. package/testing/mocks/create-mock-element.d.ts +0 -14
  201. package/testing/mocks/create-mock-element.js +0 -99
  202. package/testing/mocks/create-range-mock.d.ts +0 -10
  203. package/testing/mocks/create-range-mock.js +0 -47
  204. package/testing/mocks/dom-rect-mock.d.ts +0 -19
  205. package/testing/mocks/dom-rect-mock.js +0 -56
  206. package/testing/mocks/fetch-mock.d.ts +0 -9
  207. package/testing/mocks/fetch-mock.js +0 -38
  208. package/testing/mocks/intersection-observer-mock.d.ts +0 -10
  209. package/testing/mocks/intersection-observer-mock.js +0 -58
  210. package/testing/mocks/match-media-mock.d.ts +0 -10
  211. package/testing/mocks/match-media-mock.js +0 -45
  212. package/testing/mocks/offset-height-mock.d.ts +0 -8
  213. package/testing/mocks/offset-height-mock.js +0 -39
  214. package/testing/mocks/offset-width-mock.d.ts +0 -8
  215. package/testing/mocks/offset-width-mock.js +0 -39
  216. package/testing/mocks/pointer-event-mock.d.ts +0 -8
  217. package/testing/mocks/pointer-event-mock.js +0 -42
  218. package/testing/mocks/resize-observer-mock.d.ts +0 -11
  219. package/testing/mocks/resize-observer-mock.js +0 -42
  220. package/testing/mocks/screen-size-mock.d.ts +0 -8
  221. package/testing/mocks/screen-size-mock.js +0 -34
  222. package/testing/mocks/scroll-into-view-mock.d.ts +0 -10
  223. package/testing/mocks/scroll-into-view-mock.js +0 -34
  224. package/testing/mocks/scroll-width-mock.d.ts +0 -8
  225. package/testing/mocks/scroll-width-mock.js +0 -39
  226. package/testing/mocks/select-mock.d.ts +0 -11
  227. package/testing/mocks/select-mock.js +0 -45
  228. package/testing/mocks/table-virtualization-mock.d.ts +0 -10
  229. package/testing/mocks/table-virtualization-mock.js +0 -50
  230. package/testing/mocks/text-ellipsis-mock.d.ts +0 -8
  231. package/testing/mocks/text-ellipsis-mock.js +0 -43
  232. package/testing/setup.d.ts +0 -8
  233. package/testing/setup.js +0 -57
@@ -1,12 +1,12 @@
1
- ._10kgnsa0-0-85-120 {
1
+ ._10kgnsa0-1-0-0 {
2
2
  font-family: var(--dt-typography-text-base-default-family, DynatraceFlow,Roboto,Helvetica,sans-serif);
3
3
  font-weight: var(--dt-typography-text-base-emphasized-weight, 500);
4
4
  font-size: var(--dt-typography-text-base-default-size, 14px);
5
5
  line-height: var(--dt-typography-text-base-default-line-height, 1.4285714286);
6
6
  text-decoration: var(--dt-typography-text-base-default-text-decoration, none);
7
7
  text-transform: none;
8
- background: var(--_bx32h3-0-85-120);
9
- color: var(--_bx32h0-0-85-120);
8
+ background: var(--_bx32h3-1-0-0);
9
+ color: var(--_bx32h0-1-0-0);
10
10
  display: inline-flex;
11
11
  position: relative;
12
12
  align-items: center;
@@ -23,46 +23,46 @@
23
23
  transition-duration: var(--dt-animations-fade-out-duration-base, 250ms);
24
24
  transition-property: color, background-color, transform;
25
25
  }
26
- ._10kgnsa0-0-85-120:hover {
26
+ ._10kgnsa0-1-0-0:hover {
27
27
  transition-timing-function: var(--dt-animations-fade-in-easing, cubic-bezier(0.5, 0, 1, 1));
28
28
  transition-duration: var(--dt-animations-fade-in-duration-base, 250ms);
29
29
  }
30
- ._10kgnsa1-0-85-120 {
30
+ ._10kgnsa1-1-0-0 {
31
31
  text-align: start;
32
32
  justify-content: space-between;
33
33
  }
34
- ._10kgnsa2-0-85-120 {
34
+ ._10kgnsa2-1-0-0 {
35
35
  text-align: center;
36
36
  justify-content: center;
37
37
  }
38
- ._10kgnsa3-0-85-120 {
38
+ ._10kgnsa3-1-0-0 {
39
39
  padding-top: var(--dt-spacings-size-2, 2px);
40
40
  padding-bottom: var(--dt-spacings-size-2, 2px);
41
41
  padding-left: var(--dt-spacings-size-4, 4px);
42
42
  padding-right: var(--dt-spacings-size-4, 4px);
43
43
  gap: var(--dt-spacings-size-2, 2px);
44
44
  }
45
- ._10kgnsa4-0-85-120 {
45
+ ._10kgnsa4-1-0-0 {
46
46
  padding-top: var(--dt-spacings-size-6, 6px);
47
47
  padding-bottom: var(--dt-spacings-size-6, 6px);
48
48
  padding-left: var(--dt-spacings-size-8, 8px);
49
49
  padding-right: var(--dt-spacings-size-8, 8px);
50
50
  gap: var(--dt-spacings-size-4, 4px);
51
51
  }
52
- ._10kgnsa5-0-85-120 {
52
+ ._10kgnsa5-1-0-0 {
53
53
  cursor: not-allowed;
54
54
  }
55
- ._10kgnsa6-0-85-120 {
55
+ ._10kgnsa6-1-0-0 {
56
56
  cursor: not-allowed;
57
- background: var(--_bx32h2-0-85-120);
57
+ background: var(--_bx32h2-1-0-0);
58
58
  }
59
- ._10kgnsa7-0-85-120 {
59
+ ._10kgnsa7-1-0-0 {
60
60
  width: 100%;
61
61
  }
62
- ._10kgnsa8-0-85-120 {
62
+ ._10kgnsa8-1-0-0 {
63
63
  width: fit-content;
64
64
  }
65
- ._10kgnsa9-0-85-120 {
65
+ ._10kgnsa9-1-0-0 {
66
66
  position: absolute;
67
67
  top: 0;
68
68
  left: 0;
@@ -74,19 +74,19 @@
74
74
  align-items: center;
75
75
  z-index: 1;
76
76
  }
77
- ._10kgnsa3-0-85-120 ._10kgnsaa-0-85-120:not(:has(svg:only-child)) {
77
+ ._10kgnsa3-1-0-0 ._10kgnsaa-1-0-0:not(:has(svg:only-child)) {
78
78
  padding-top: 0;
79
79
  padding-bottom: 0;
80
80
  padding-left: 2px;
81
81
  padding-right: 2px;
82
82
  }
83
- ._10kgnsa4-0-85-120 ._10kgnsaa-0-85-120:not(:has(svg:only-child)) {
83
+ ._10kgnsa4-1-0-0 ._10kgnsaa-1-0-0:not(:has(svg:only-child)) {
84
84
  padding-top: 0;
85
85
  padding-bottom: 0;
86
86
  padding-left: 4px;
87
87
  padding-right: 4px;
88
88
  }
89
- ._10kgnsac-0-85-120 {
89
+ ._10kgnsac-1-0-0 {
90
90
  display: inline-flex;
91
91
  min-width: 0;
92
92
  max-width: 100%;
@@ -197,7 +197,7 @@ const _Button = /* @__PURE__ */ forwardRef(
197
197
  ProgressCircle,
198
198
  {
199
199
  size: "small",
200
- variant: color,
200
+ color,
201
201
  "aria-label": intl.formatMessage({
202
202
  defaultMessage: "Loading",
203
203
  id: "cycz+bYG+VH7Of4e",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/buttons/button/Button.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport * as CSS from 'csstype';\nimport React, {\n type ElementType,\n type MouseEventHandler,\n type PointerEvent,\n type ReactElement,\n type ReactNode,\n forwardRef,\n useMemo,\n} from 'react';\nimport { useIntl } from 'react-intl';\nimport { isElement } from 'react-is';\n\nimport { buttonCSS, buttonLoadingCSS, buttonWidthsCSS } from './Button.sty.js';\nimport { Label } from './Label.js';\nimport { Prefix } from './Prefix.js';\nimport { Suffix } from './Suffix.js';\nimport { ProgressCircle } from '../../content/progress/ProgressCircle.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport {\n type AriaDisabledProps,\n type AriaLabelingProps,\n} from '../../core/types/a11y-props.js';\nimport { type DataTestId } from '../../core/types/data-props.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 { mergeProps } from '../../core/utils/merge-props.js';\nimport { parseBoolean } from '../../core/utils/parse-boolean.js';\nimport { Flex } from '../../layouts/flex/Flex.js';\nimport { Grid } from '../../layouts/grid/Grid.js';\nimport { inputGroupChildCSS } from '../../layouts/input-group/InputGroup.sty.js';\nimport { fieldColorsCSS } from '../../styles/field.sty.js';\n\n//#region Typings\n\n/**\n * Accepted properties for the Button.\n * @public\n */\nexport interface ButtonOwnProps\n extends AriaLabelingProps,\n AriaDisabledProps,\n WithChildren,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * If a button is disabled e.g. it cannot be interacted with.\n * @defaultValue false\n */\n disabled?: boolean;\n\n /**\n * Different variants have different styles.\n * @defaultValue 'default'\n */\n variant?: 'default' | 'emphasized' | 'accent';\n\n /**\n * The HTML button type.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type}\n * @defaultValue 'button'\n */\n type?: 'button' | 'reset' | 'submit';\n\n /** Called when the button is interacted with. */\n onClick?: MouseEventHandler;\n\n /**\n * The width of the button.\n * @defaultValue 'content'\n */\n // eslint-disable-next-line @typescript-eslint/no-restricted-types\n width?: 'content' | 'full' | CSS.Property.Width<string & {}>;\n\n /**\n * The color of the button. This should be chosen based on the context\n * the button is used in.\n * @defaultValue 'neutral'\n */\n color?: 'primary' | 'neutral' | 'success' | 'critical' | 'warning';\n\n /**\n * Controls the text alignment inside the button. Only affects the button\n * if the width is not set to 'content'.\n * @defaultValue 'center'\n */\n textAlign?: 'center' | 'start';\n\n /**\n * The size of the button.\n * @defaultValue 'default'\n */\n size?: 'default' | 'condensed';\n\n /**\n * The current loading state of the button. If true, a loading icon is shown and the button is disabled.\n * @defaultValue false\n */\n loading?: boolean;\n\n /**\n * Determines whether the element is in read-only mode.\n * @defaultValue false\n * @deprecated - readOnly is not a valid property on a button. Please use disabled if needed.\n */\n readOnly?: boolean;\n}\n\n/**\n * Merge own props with others inherited from the underlying element type.\n * @public\n */\nexport type ButtonProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n ButtonOwnProps\n>;\n\ntype ButtonSlots = {\n label?: ReactNode;\n prefix?: ReactNode;\n suffix?: ReactNode;\n freeform?: ReactNode[];\n};\n\n//#endregion\n\n/**\n * Iterates over child nodes to extract specific component slots.\n * @public\n */\nexport default function getButtonSlots(children: ReactNode) {\n const slots: ButtonSlots = {};\n\n React.Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case Suffix:\n slots.suffix = child;\n break;\n case Prefix:\n slots.prefix = child;\n break;\n case Label:\n slots.label = child;\n break;\n default:\n slots.freeform ??= [];\n slots.freeform.push(child);\n break;\n }\n } else {\n if (child !== null && child !== undefined) {\n slots.freeform ??= [];\n slots.freeform.push(child);\n }\n }\n });\n\n return slots;\n}\n\nexport const _Button: <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(props: ButtonProps<E>, ref: typeof props.ref) => {\n const {\n children,\n variant = 'default',\n disabled,\n 'aria-disabled': ariaDisabledProp,\n required,\n id: propId,\n type = 'button',\n onClick,\n ariaLabel,\n width = 'content',\n color = 'neutral',\n textAlign = 'center',\n size = 'default',\n loading = false,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n // eslint-disable-next-line deprecation/deprecation\n readOnly,\n as,\n ...remainingProps\n }: ButtonProps<E> = props;\n const slots = getButtonSlots(children);\n\n const ariaDisabled = parseBoolean(ariaDisabledProp);\n\n const nativeDisabledOrLoading = useMemo(\n () => (loading ? true : disabled),\n [disabled, loading],\n );\n const disabledOrLoading = useMemo(\n () => nativeDisabledOrLoading || ariaDisabled,\n [ariaDisabled, nativeDisabledOrLoading],\n );\n\n const { focusProps, focusClassName } = useFocusRing({\n variant: !disabledOrLoading ? color : 'neutral',\n disabled: nativeDisabledOrLoading,\n });\n\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n\n const handleButtonClick: MouseEventHandler<HTMLElement> = (event) => {\n if (nativeDisabledOrLoading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n onClick?.(event);\n };\n\n const buttonProps = {\n ref,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n required,\n disabled: nativeDisabledOrLoading && !ariaDisabled,\n id: propId,\n type,\n ...ariaLabelingProps,\n 'aria-disabled': ariaDisabledProp,\n onClick: handleButtonClick,\n };\n\n // Propagation needs to be disabled on the disabled button because\n // it would still trigger actions on parents that would listen to it.\n // For example the menu or the useOverlay hook.\n const disabledPropagationProps = {\n onPointerDown(evt: PointerEvent) {\n if (nativeDisabledOrLoading) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n },\n onPointerUp(evt: PointerEvent) {\n if (nativeDisabledOrLoading) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n },\n };\n\n const hasChildren = children || children === 0;\n\n const buttonMergedProps = {\n ...mergeProps(\n buttonProps,\n disabledPropagationProps,\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\n const intl = useIntl();\n\n // Make the component polymorphic\n const Component = as || 'button';\n\n // Render a void element if no children are set and it's not loading (so self-closing polymorphed tags won't break)\n if (!hasChildren) {\n return (\n <Component\n {...buttonMergedProps}\n className={clsx(\n consumerClassName,\n fieldColorsCSS({ variant, color, disabled: disabledOrLoading }),\n buttonCSS({\n disabled: disabledOrLoading,\n textAlign,\n size,\n readOnly,\n }),\n focusClassName,\n inputGroupChildCSS,\n {\n [`${buttonWidthsCSS.content}`]: width === 'content',\n [`${buttonWidthsCSS.full}`]: width === 'full',\n },\n )}\n style={{\n width: width !== 'content' && width !== 'full' ? width : undefined,\n }}\n />\n );\n }\n\n return (\n <Component\n className={clsx(\n consumerClassName,\n fieldColorsCSS({\n variant,\n color,\n disabled: disabledOrLoading || ariaDisabled,\n }),\n buttonCSS({\n disabled: disabledOrLoading || ariaDisabled,\n textAlign,\n size,\n readOnly,\n }),\n {\n [`${buttonWidthsCSS.content}`]: width === 'content',\n [`${buttonWidthsCSS.full}`]: width === 'full',\n },\n focusClassName,\n inputGroupChildCSS,\n )}\n style={{\n width: width !== 'content' && width !== 'full' ? width : undefined,\n ...consumerStyle,\n }}\n {...buttonMergedProps}\n >\n {loading && (\n <div className={buttonLoadingCSS}>\n <ProgressCircle\n size=\"small\"\n /* eslint-disable deprecated-jsx-props/deprecated-props */\n variant={color}\n aria-label={intl.formatMessage({\n defaultMessage: 'Loading',\n id: 'cycz+bYG+VH7Of4e',\n description: 'Label for the loading state.',\n })}\n />\n </div>\n )}\n <Grid\n gap={size === 'default' ? 4 : 2}\n grid=\"auto / auto-flow auto\"\n width={'100%'}\n maxWidth=\"100%\"\n alignItems=\"center\"\n justifyContent={textAlign === 'start' ? 'space-between' : 'center'}\n style={{\n visibility: loading ? 'hidden' : undefined,\n }}\n >\n {textAlign === 'start' ? (\n <Flex minWidth={0} gap={size === 'default' ? 4 : 2}>\n {slots.prefix}\n {slots.label}\n {slots.freeform && <Button.Label>{slots.freeform}</Button.Label>}\n </Flex>\n ) : (\n <>\n {slots.prefix}\n {slots.label}\n {slots.freeform && <Button.Label>{slots.freeform}</Button.Label>}\n </>\n )}\n {slots.suffix}\n </Grid>\n </Component>\n );\n },\n);\n\n(_Button as typeof _Button & { displayName: string }).displayName = 'Button';\n\n/**\n * Buttons allow users to trigger actions or events\n * with a single click anywhere within the button container.\n * Users can also trigger a button by pressing\n * `Enter` or `Space` while the button has focus.\n * @public\n */\nexport const Button = Object.assign(_Button, {\n Suffix,\n Prefix,\n Label,\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport * as CSS from 'csstype';\nimport React, {\n type ElementType,\n type MouseEventHandler,\n type PointerEvent,\n type ReactElement,\n type ReactNode,\n forwardRef,\n useMemo,\n} from 'react';\nimport { useIntl } from 'react-intl';\nimport { isElement } from 'react-is';\n\nimport { buttonCSS, buttonLoadingCSS, buttonWidthsCSS } from './Button.sty.js';\nimport { Label } from './Label.js';\nimport { Prefix } from './Prefix.js';\nimport { Suffix } from './Suffix.js';\nimport { ProgressCircle } from '../../content/progress/ProgressCircle.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport {\n type AriaDisabledProps,\n type AriaLabelingProps,\n} from '../../core/types/a11y-props.js';\nimport { type DataTestId } from '../../core/types/data-props.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 { mergeProps } from '../../core/utils/merge-props.js';\nimport { parseBoolean } from '../../core/utils/parse-boolean.js';\nimport { Flex } from '../../layouts/flex/Flex.js';\nimport { Grid } from '../../layouts/grid/Grid.js';\nimport { inputGroupChildCSS } from '../../layouts/input-group/InputGroup.sty.js';\nimport { fieldColorsCSS } from '../../styles/field.sty.js';\n\n//#region Typings\n\n/**\n * Accepted properties for the Button.\n * @public\n */\nexport interface ButtonOwnProps\n extends AriaLabelingProps,\n AriaDisabledProps,\n WithChildren,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * If a button is disabled e.g. it cannot be interacted with.\n * @defaultValue false\n */\n disabled?: boolean;\n\n /**\n * Different variants have different styles.\n * @defaultValue 'default'\n */\n variant?: 'default' | 'emphasized' | 'accent';\n\n /**\n * The HTML button type.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type}\n * @defaultValue 'button'\n */\n type?: 'button' | 'reset' | 'submit';\n\n /** Called when the button is interacted with. */\n onClick?: MouseEventHandler;\n\n /**\n * The width of the button.\n * @defaultValue 'content'\n */\n // eslint-disable-next-line @typescript-eslint/no-restricted-types\n width?: 'content' | 'full' | CSS.Property.Width<string & {}>;\n\n /**\n * The color of the button. This should be chosen based on the context\n * the button is used in.\n * @defaultValue 'neutral'\n */\n color?: 'primary' | 'neutral' | 'success' | 'critical' | 'warning';\n\n /**\n * Controls the text alignment inside the button. Only affects the button\n * if the width is not set to 'content'.\n * @defaultValue 'center'\n */\n textAlign?: 'center' | 'start';\n\n /**\n * The size of the button.\n * @defaultValue 'default'\n */\n size?: 'default' | 'condensed';\n\n /**\n * The current loading state of the button. If true, a loading icon is shown and the button is disabled.\n * @defaultValue false\n */\n loading?: boolean;\n\n /**\n * Determines whether the element is in read-only mode.\n * @defaultValue false\n * @deprecated - readOnly is not a valid property on a button. Please use disabled if needed.\n */\n readOnly?: boolean;\n}\n\n/**\n * Merge own props with others inherited from the underlying element type.\n * @public\n */\nexport type ButtonProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n ButtonOwnProps\n>;\n\ntype ButtonSlots = {\n label?: ReactNode;\n prefix?: ReactNode;\n suffix?: ReactNode;\n freeform?: ReactNode[];\n};\n\n//#endregion\n\n/**\n * Iterates over child nodes to extract specific component slots.\n * @public\n */\nexport default function getButtonSlots(children: ReactNode) {\n const slots: ButtonSlots = {};\n\n React.Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case Suffix:\n slots.suffix = child;\n break;\n case Prefix:\n slots.prefix = child;\n break;\n case Label:\n slots.label = child;\n break;\n default:\n slots.freeform ??= [];\n slots.freeform.push(child);\n break;\n }\n } else {\n if (child !== null && child !== undefined) {\n slots.freeform ??= [];\n slots.freeform.push(child);\n }\n }\n });\n\n return slots;\n}\n\nexport const _Button: <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(props: ButtonProps<E>, ref: typeof props.ref) => {\n const {\n children,\n variant = 'default',\n disabled,\n 'aria-disabled': ariaDisabledProp,\n required,\n id: propId,\n type = 'button',\n onClick,\n ariaLabel,\n width = 'content',\n color = 'neutral',\n textAlign = 'center',\n size = 'default',\n loading = false,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n // eslint-disable-next-line deprecation/deprecation\n readOnly,\n as,\n ...remainingProps\n }: ButtonProps<E> = props;\n const slots = getButtonSlots(children);\n\n const ariaDisabled = parseBoolean(ariaDisabledProp);\n\n const nativeDisabledOrLoading = useMemo(\n () => (loading ? true : disabled),\n [disabled, loading],\n );\n const disabledOrLoading = useMemo(\n () => nativeDisabledOrLoading || ariaDisabled,\n [ariaDisabled, nativeDisabledOrLoading],\n );\n\n const { focusProps, focusClassName } = useFocusRing({\n variant: !disabledOrLoading ? color : 'neutral',\n disabled: nativeDisabledOrLoading,\n });\n\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n\n const handleButtonClick: MouseEventHandler<HTMLElement> = (event) => {\n if (nativeDisabledOrLoading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n onClick?.(event);\n };\n\n const buttonProps = {\n ref,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n required,\n disabled: nativeDisabledOrLoading && !ariaDisabled,\n id: propId,\n type,\n ...ariaLabelingProps,\n 'aria-disabled': ariaDisabledProp,\n onClick: handleButtonClick,\n };\n\n // Propagation needs to be disabled on the disabled button because\n // it would still trigger actions on parents that would listen to it.\n // For example the menu or the useOverlay hook.\n const disabledPropagationProps = {\n onPointerDown(evt: PointerEvent) {\n if (nativeDisabledOrLoading) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n },\n onPointerUp(evt: PointerEvent) {\n if (nativeDisabledOrLoading) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n },\n };\n\n const hasChildren = children || children === 0;\n\n const buttonMergedProps = {\n ...mergeProps(\n buttonProps,\n disabledPropagationProps,\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\n const intl = useIntl();\n\n // Make the component polymorphic\n const Component = as || 'button';\n\n // Render a void element if no children are set and it's not loading (so self-closing polymorphed tags won't break)\n if (!hasChildren) {\n return (\n <Component\n {...buttonMergedProps}\n className={clsx(\n consumerClassName,\n fieldColorsCSS({ variant, color, disabled: disabledOrLoading }),\n buttonCSS({\n disabled: disabledOrLoading,\n textAlign,\n size,\n readOnly,\n }),\n focusClassName,\n inputGroupChildCSS,\n {\n [`${buttonWidthsCSS.content}`]: width === 'content',\n [`${buttonWidthsCSS.full}`]: width === 'full',\n },\n )}\n style={{\n width: width !== 'content' && width !== 'full' ? width : undefined,\n }}\n />\n );\n }\n\n return (\n <Component\n className={clsx(\n consumerClassName,\n fieldColorsCSS({\n variant,\n color,\n disabled: disabledOrLoading || ariaDisabled,\n }),\n buttonCSS({\n disabled: disabledOrLoading || ariaDisabled,\n textAlign,\n size,\n readOnly,\n }),\n {\n [`${buttonWidthsCSS.content}`]: width === 'content',\n [`${buttonWidthsCSS.full}`]: width === 'full',\n },\n focusClassName,\n inputGroupChildCSS,\n )}\n style={{\n width: width !== 'content' && width !== 'full' ? width : undefined,\n ...consumerStyle,\n }}\n {...buttonMergedProps}\n >\n {loading && (\n <div className={buttonLoadingCSS}>\n <ProgressCircle\n size=\"small\"\n color={color}\n aria-label={intl.formatMessage({\n defaultMessage: 'Loading',\n id: 'cycz+bYG+VH7Of4e',\n description: 'Label for the loading state.',\n })}\n />\n </div>\n )}\n <Grid\n gap={size === 'default' ? 4 : 2}\n grid=\"auto / auto-flow auto\"\n width={'100%'}\n maxWidth=\"100%\"\n alignItems=\"center\"\n justifyContent={textAlign === 'start' ? 'space-between' : 'center'}\n style={{\n visibility: loading ? 'hidden' : undefined,\n }}\n >\n {textAlign === 'start' ? (\n <Flex minWidth={0} gap={size === 'default' ? 4 : 2}>\n {slots.prefix}\n {slots.label}\n {slots.freeform && <Button.Label>{slots.freeform}</Button.Label>}\n </Flex>\n ) : (\n <>\n {slots.prefix}\n {slots.label}\n {slots.freeform && <Button.Label>{slots.freeform}</Button.Label>}\n </>\n )}\n {slots.suffix}\n </Grid>\n </Component>\n );\n },\n);\n\n(_Button as typeof _Button & { displayName: string }).displayName = 'Button';\n\n/**\n * Buttons allow users to trigger actions or events\n * with a single click anywhere within the button container.\n * Users can also trigger a button by pressing\n * `Enter` or `Space` while the button has focus.\n * @public\n */\nexport const Button = Object.assign(_Button, {\n Suffix,\n Prefix,\n Label,\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,10 +2,10 @@ import "../../styles/ellipsis.css";
2
2
  import "../../styles/field.css";
3
3
  import "./Button.css";
4
4
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
5
- var buttonCSS = _7a468({ defaultClassName: "_10kgnsa0-0-85-120", variantClassNames: { textAlign: { start: "_10kgnsa1-0-85-120", center: "_10kgnsa2-0-85-120" }, size: { condensed: "_10kgnsa3-0-85-120", "default": "_10kgnsa4-0-85-120" }, disabled: { true: "_10kgnsa5-0-85-120" }, readOnly: { true: "_10kgnsa6-0-85-120" } }, defaultVariants: { size: "default", textAlign: "center", disabled: false }, compoundVariants: [] });
6
- var buttonLabelCSS = _7a468({ defaultClassName: "_10kgnsaa-0-85-120", variantClassNames: { textual: { true: "_oqqp1n0-0-85-120", false: "_10kgnsac-0-85-120" } }, defaultVariants: {}, compoundVariants: [] });
7
- var buttonLoadingCSS = "_10kgnsa9-0-85-120";
8
- var buttonWidthsCSS = { full: "_10kgnsa7-0-85-120", content: "_10kgnsa8-0-85-120" };
5
+ var buttonCSS = _7a468({ defaultClassName: "_10kgnsa0-1-0-0", variantClassNames: { textAlign: { start: "_10kgnsa1-1-0-0", center: "_10kgnsa2-1-0-0" }, size: { condensed: "_10kgnsa3-1-0-0", "default": "_10kgnsa4-1-0-0" }, disabled: { true: "_10kgnsa5-1-0-0" }, readOnly: { true: "_10kgnsa6-1-0-0" } }, defaultVariants: { size: "default", textAlign: "center", disabled: false }, compoundVariants: [] });
6
+ var buttonLabelCSS = _7a468({ defaultClassName: "_10kgnsaa-1-0-0", variantClassNames: { textual: { true: "_oqqp1n0-1-0-0", false: "_10kgnsac-1-0-0" } }, defaultVariants: {}, compoundVariants: [] });
7
+ var buttonLoadingCSS = "_10kgnsa9-1-0-0";
8
+ var buttonWidthsCSS = { full: "_10kgnsa7-1-0-0", content: "_10kgnsa8-1-0-0" };
9
9
  export {
10
10
  buttonCSS,
11
11
  buttonLabelCSS,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/buttons/button/Button.css.ts"],
4
- "sourcesContent": ["import '../../styles/ellipsis.css';\nimport '../../styles/field.css';\nimport './Button.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonCSS = _7a468({defaultClassName:'_10kgnsa0-0-85-120',variantClassNames:{textAlign:{start:'_10kgnsa1-0-85-120',center:'_10kgnsa2-0-85-120'},size:{condensed:'_10kgnsa3-0-85-120','default':'_10kgnsa4-0-85-120'},disabled:{true:'_10kgnsa5-0-85-120'},readOnly:{true:'_10kgnsa6-0-85-120'}},defaultVariants:{size:'default',textAlign:'center',disabled:false},compoundVariants:[]});\nexport var buttonLabelCSS = _7a468({defaultClassName:'_10kgnsaa-0-85-120',variantClassNames:{textual:{true:'_oqqp1n0-0-85-120',false:'_10kgnsac-0-85-120'}},defaultVariants:{},compoundVariants:[]});\nexport var buttonLoadingCSS = '_10kgnsa9-0-85-120';\nexport var buttonWidthsCSS = {full:'_10kgnsa7-0-85-120',content:'_10kgnsa8-0-85-120'};"],
5
- "mappings": "AAAA,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,YAAY,OAAO,EAAC,kBAAiB,sBAAqB,mBAAkB,EAAC,WAAU,EAAC,OAAM,sBAAqB,QAAO,qBAAoB,GAAE,MAAK,EAAC,WAAU,sBAAqB,WAAU,qBAAoB,GAAE,UAAS,EAAC,MAAK,qBAAoB,GAAE,UAAS,EAAC,MAAK,qBAAoB,EAAC,GAAE,iBAAgB,EAAC,MAAK,WAAU,WAAU,UAAS,UAAS,MAAK,GAAE,kBAAiB,CAAC,EAAC,CAAC;AAC3X,IAAI,iBAAiB,OAAO,EAAC,kBAAiB,sBAAqB,mBAAkB,EAAC,SAAQ,EAAC,MAAK,qBAAoB,OAAM,qBAAoB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;AAC5L,IAAI,mBAAmB;AACvB,IAAI,kBAAkB,EAAC,MAAK,sBAAqB,SAAQ,qBAAoB;",
4
+ "sourcesContent": ["import '../../styles/ellipsis.css';\nimport '../../styles/field.css';\nimport './Button.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonCSS = _7a468({defaultClassName:'_10kgnsa0-1-0-0',variantClassNames:{textAlign:{start:'_10kgnsa1-1-0-0',center:'_10kgnsa2-1-0-0'},size:{condensed:'_10kgnsa3-1-0-0','default':'_10kgnsa4-1-0-0'},disabled:{true:'_10kgnsa5-1-0-0'},readOnly:{true:'_10kgnsa6-1-0-0'}},defaultVariants:{size:'default',textAlign:'center',disabled:false},compoundVariants:[]});\nexport var buttonLabelCSS = _7a468({defaultClassName:'_10kgnsaa-1-0-0',variantClassNames:{textual:{true:'_oqqp1n0-1-0-0',false:'_10kgnsac-1-0-0'}},defaultVariants:{},compoundVariants:[]});\nexport var buttonLoadingCSS = '_10kgnsa9-1-0-0';\nexport var buttonWidthsCSS = {full:'_10kgnsa7-1-0-0',content:'_10kgnsa8-1-0-0'};"],
5
+ "mappings": "AAAA,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,YAAY,OAAO,EAAC,kBAAiB,mBAAkB,mBAAkB,EAAC,WAAU,EAAC,OAAM,mBAAkB,QAAO,kBAAiB,GAAE,MAAK,EAAC,WAAU,mBAAkB,WAAU,kBAAiB,GAAE,UAAS,EAAC,MAAK,kBAAiB,GAAE,UAAS,EAAC,MAAK,kBAAiB,EAAC,GAAE,iBAAgB,EAAC,MAAK,WAAU,WAAU,UAAS,UAAS,MAAK,GAAE,kBAAiB,CAAC,EAAC,CAAC;AACtW,IAAI,iBAAiB,OAAO,EAAC,kBAAiB,mBAAkB,mBAAkB,EAAC,SAAQ,EAAC,MAAK,kBAAiB,OAAM,kBAAiB,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,EAAC,CAAC;AACnL,IAAI,mBAAmB;AACvB,IAAI,kBAAkB,EAAC,MAAK,mBAAkB,SAAQ,kBAAiB;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- @keyframes _13n9uwh0-0-85-120 {
1
+ @keyframes _13n9uwh0-1-0-0 {
2
2
  0% {
3
3
  transform: translateX(-100%) scaleX(0);
4
4
  }
@@ -6,92 +6,92 @@
6
6
  transform: translateX(100%) scaleX(1.5);
7
7
  }
8
8
  }
9
- ._13n9uwh5-0-85-120 {
10
- color: var(--_13n9uwh1-0-85-120);
11
- }
12
- ._13n9uwhd-0-85-120 {
13
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-default, #2b2a58);
14
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-subdued, #545587);
15
- --_13n9uwh2-0-85-120: var(--dt-colors-border-neutral-default, #d2d3e1);
16
- --_13n9uwh3-0-85-120: var(--dt-colors-border-primary-accent, #454cc9);
17
- }
18
- ._13n9uwhe-0-85-120 {
19
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-default, #2b2a58);
20
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-subdued, #545587);
21
- --_13n9uwh2-0-85-120: var(--dt-colors-border-neutral-default, #d2d3e1);
22
- --_13n9uwh3-0-85-120: var(--dt-colors-border-success-accent, #2c6360);
23
- }
24
- ._13n9uwhf-0-85-120 {
25
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-default, #2b2a58);
26
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-subdued, #545587);
27
- --_13n9uwh2-0-85-120: var(--dt-colors-border-neutral-default, #d2d3e1);
28
- --_13n9uwh3-0-85-120: var(--dt-colors-border-warning-accent, #805100);
29
- }
30
- ._13n9uwhg-0-85-120 {
31
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-default, #2b2a58);
32
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-subdued, #545587);
33
- --_13n9uwh2-0-85-120: var(--dt-colors-border-neutral-default, #d2d3e1);
34
- --_13n9uwh3-0-85-120: var(--dt-colors-border-critical-accent, #b80031);
35
- }
36
- ._13n9uwhh-0-85-120 {
37
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-default, #2b2a58);
38
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-subdued, #545587);
39
- --_13n9uwh2-0-85-120: var(--dt-colors-border-neutral-default, #d2d3e1);
40
- --_13n9uwh3-0-85-120: var(--dt-colors-border-neutral-accent, #545587);
9
+ ._13n9uwh5-1-0-0 {
10
+ color: var(--_13n9uwh1-1-0-0);
11
+ }
12
+ ._13n9uwhd-1-0-0 {
13
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-default, #2b2a58);
14
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-subdued, #545587);
15
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-neutral-default, #d2d3e1);
16
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-primary-accent, #454cc9);
17
+ }
18
+ ._13n9uwhe-1-0-0 {
19
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-default, #2b2a58);
20
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-subdued, #545587);
21
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-neutral-default, #d2d3e1);
22
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-success-accent, #2c6360);
23
+ }
24
+ ._13n9uwhf-1-0-0 {
25
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-default, #2b2a58);
26
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-subdued, #545587);
27
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-neutral-default, #d2d3e1);
28
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-warning-accent, #805100);
29
+ }
30
+ ._13n9uwhg-1-0-0 {
31
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-default, #2b2a58);
32
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-subdued, #545587);
33
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-neutral-default, #d2d3e1);
34
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-critical-accent, #b80031);
35
+ }
36
+ ._13n9uwhh-1-0-0 {
37
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-default, #2b2a58);
38
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-subdued, #545587);
39
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-neutral-default, #d2d3e1);
40
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-neutral-accent, #545587);
41
41
  color: var(--dt-colors-text-neutral-default, #2b2a58);
42
42
  }
43
- ._13n9uwhi-0-85-120 {
44
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
45
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
46
- --_13n9uwh2-0-85-120: var(--dt-colors-border-primary-on-accent-disabled, #f4f4fb33);
47
- --_13n9uwh3-0-85-120: var(--dt-colors-border-primary-on-accent-default, #f4f4fb);
48
- }
49
- ._13n9uwhj-0-85-120 {
50
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
51
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
52
- --_13n9uwh2-0-85-120: var(--dt-colors-border-success-on-accent-disabled, #f1f4f433);
53
- --_13n9uwh3-0-85-120: var(--dt-colors-border-success-on-accent-default, #f1f4f4);
54
- }
55
- ._13n9uwhk-0-85-120 {
56
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
57
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
58
- --_13n9uwh2-0-85-120: var(--dt-colors-border-warning-on-accent-disabled, #27202533);
59
- --_13n9uwh3-0-85-120: var(--dt-colors-border-warning-on-accent-default, #272025);
60
- }
61
- ._13n9uwhl-0-85-120 {
62
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
63
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
64
- --_13n9uwh2-0-85-120: var(--dt-colors-border-critical-on-accent-disabled, #f9f1f333);
65
- --_13n9uwh3-0-85-120: var(--dt-colors-border-critical-on-accent-default, #f9f1f3);
66
- }
67
- ._13n9uwhm-0-85-120 {
68
- --_13n9uwh1-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
69
- --_13n9uwh4-0-85-120: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
70
- --_13n9uwh2-0-85-120: var(--dt-colors-border-neutral-on-accent-disabled, #f3f3f633);
71
- --_13n9uwh3-0-85-120: var(--dt-colors-border-neutral-on-accent-default, #f3f3f6);
72
- }
73
- ._13n9uwhn-0-85-120 {
43
+ ._13n9uwhi-1-0-0 {
44
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
45
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
46
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-primary-on-accent-disabled, #f4f4fb33);
47
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-primary-on-accent-default, #f4f4fb);
48
+ }
49
+ ._13n9uwhj-1-0-0 {
50
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
51
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
52
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-success-on-accent-disabled, #f1f4f433);
53
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-success-on-accent-default, #f1f4f4);
54
+ }
55
+ ._13n9uwhk-1-0-0 {
56
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
57
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
58
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-warning-on-accent-disabled, #27202533);
59
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-warning-on-accent-default, #272025);
60
+ }
61
+ ._13n9uwhl-1-0-0 {
62
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
63
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
64
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-critical-on-accent-disabled, #f9f1f333);
65
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-critical-on-accent-default, #f9f1f3);
66
+ }
67
+ ._13n9uwhm-1-0-0 {
68
+ --_13n9uwh1-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
69
+ --_13n9uwh4-1-0-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
70
+ --_13n9uwh2-1-0-0: var(--dt-colors-border-neutral-on-accent-disabled, #f3f3f633);
71
+ --_13n9uwh3-1-0-0: var(--dt-colors-border-neutral-on-accent-default, #f3f3f6);
72
+ }
73
+ ._13n9uwhn-1-0-0 {
74
74
  width: 100%;
75
75
  border-radius: var(--dt-borders-radius-container-subdued, 8px);
76
76
  overflow: hidden;
77
77
  position: relative;
78
- background: var(--_13n9uwh2-0-85-120);
78
+ background: var(--_13n9uwh2-1-0-0);
79
79
  }
80
- ._13n9uwho-0-85-120 {
80
+ ._13n9uwho-1-0-0 {
81
81
  height: 6px;
82
82
  }
83
- ._13n9uwhp-0-85-120 {
83
+ ._13n9uwhp-1-0-0 {
84
84
  height: 8px;
85
85
  }
86
- ._13n9uwhq-0-85-120 {
86
+ ._13n9uwhq-1-0-0 {
87
87
  height: 100%;
88
88
  transition-duration: var(--dt-timings-fast-default, 170ms);
89
89
  transition-timing-function: var(--dt-easings-fast-in-slow-out, cubic-bezier(0.4, 0, 0.2, 1));
90
- background-color: var(--_13n9uwh3-0-85-120);
90
+ background-color: var(--_13n9uwh3-1-0-0);
91
91
  }
92
- ._13n9uwhr-0-85-120 {
92
+ ._13n9uwhr-1-0-0 {
93
93
  width: 100%;
94
- animation-name: _13n9uwh0-0-85-120;
94
+ animation-name: _13n9uwh0-1-0-0;
95
95
  animation-duration: var(--dt-timings-slow-gentle, 800ms);
96
96
  animation-timing-function: var(--dt-easings-fast-in-slow-out, cubic-bezier(0.4, 0, 0.2, 1));
97
97
  animation-iteration-count: infinite;
@@ -1,7 +1,6 @@
1
1
  import clsx from "clsx";
2
2
  import React, { forwardRef, useId } from "react";
3
3
  import { isElement } from "react-is";
4
- import Spacings from "@dynatrace/strato-design-tokens/spacings";
5
4
  import { SharedProgressBarPropsContext } from "./contexts/SharedProgressBarPropsContext.js";
6
5
  import { useProgressAriaProps } from "./hooks/useProgressAriaProps.js";
7
6
  import {
@@ -15,6 +14,7 @@ import { ProgressBarValue } from "./ProgressBarValue.js";
15
14
  import { useAriaLabelingProps } from "../../core/hooks/useAriaLabelingProps.js";
16
15
  import { useSafeForwardProps } from "../../core/hooks/useSafeForwardProps.js";
17
16
  import { useContainerColoring } from "../../layouts/container/Container.js";
17
+ import { Flex } from "../../layouts/flex/Flex.js";
18
18
  import { containerColorsCSS } from "../../styles/container.sty.js";
19
19
  function getProgressBarSlots(children) {
20
20
  const slots = {
@@ -51,7 +51,6 @@ const _ProgressBar = forwardRef(
51
51
  max = 100,
52
52
  min = 0,
53
53
  density = "default",
54
- variant,
55
54
  color,
56
55
  children,
57
56
  id: propId,
@@ -64,17 +63,9 @@ const _ProgressBar = forwardRef(
64
63
  ...remainingProps
65
64
  } = props;
66
65
  const containerColoring = useContainerColoring();
67
- const cascadedVariant = variant !== void 0 && variant === "onAccent" ? "accent" : containerColoring.variant;
68
- const derivedVariant = cascadedVariant === "accent" ? "accent" : "default";
69
66
  const fallbackColor = containerColoring.default ? "primary" : containerColoring.color;
70
- let derivedColor = fallbackColor;
71
- if (variant !== void 0 && variant !== "onAccent") {
72
- derivedColor = variant;
73
- }
74
- if (color !== void 0) {
75
- derivedColor = color;
76
- }
77
- const onAccent = derivedVariant === "accent";
67
+ const derivedColor = color ?? fallbackColor;
68
+ const onAccent = containerColoring.variant === "accent";
78
69
  const slots = getProgressBarSlots(children);
79
70
  const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(
80
71
  originalValue,
@@ -98,12 +89,15 @@ const _ProgressBar = forwardRef(
98
89
  progressStyles["width"] = `${Math.round(percentage * 100)}%`;
99
90
  }
100
91
  return /* @__PURE__ */ React.createElement(SharedProgressBarPropsContext.Provider, { value: { id, density } }, /* @__PURE__ */ React.createElement(
101
- "div",
92
+ Flex,
102
93
  {
94
+ flexDirection: "column",
95
+ gap: 6,
96
+ width: "100%",
103
97
  className: clsx(
104
98
  containerColorsCSS({
105
99
  color: derivedColor,
106
- variant: derivedVariant
100
+ variant: containerColoring.variant
107
101
  }),
108
102
  progressRoot({
109
103
  onAccent,
@@ -111,45 +105,25 @@ const _ProgressBar = forwardRef(
111
105
  }),
112
106
  consumerClassName
113
107
  ),
114
- style: {
115
- display: "flex",
116
- flexDirection: "column",
117
- gap: Spacings.Size6,
118
- width: "100%",
119
- ...consumerStyle
120
- },
108
+ style: consumerStyle,
121
109
  "data-testid": dataTestId,
122
110
  "data-dtrum-mask": dataDtrumMask,
123
111
  "data-dtrum-allow": dataDtrumAllow,
124
112
  ref: forwardedRef,
125
113
  ...forwardProps
126
114
  },
127
- /* @__PURE__ */ React.createElement(
128
- "div",
115
+ /* @__PURE__ */ React.createElement(Flex, { justifyContent: "space-between", gap: 8 }, density === "condensed" ? /* @__PURE__ */ React.createElement(
116
+ Flex,
129
117
  {
130
- style: {
131
- display: "flex",
132
- justifyContent: "space-between",
133
- gap: Spacings.Size8
134
- }
118
+ justifyContent: "space-between",
119
+ alignItems: "flex-end",
120
+ flex: 1,
121
+ gap: 16,
122
+ minWidth: 0
135
123
  },
136
- density === "condensed" ? /* @__PURE__ */ React.createElement(
137
- "div",
138
- {
139
- style: {
140
- display: "flex",
141
- justifyContent: "space-between",
142
- alignItems: "flex-end",
143
- flex: 1,
144
- gap: Spacings.Size16,
145
- minWidth: 0
146
- }
147
- },
148
- slots.label,
149
- slots.value
150
- ) : slots.label,
151
- slots.icon
152
- ),
124
+ slots.label,
125
+ slots.value
126
+ ) : slots.label, slots.icon),
153
127
  /* @__PURE__ */ React.createElement(
154
128
  "div",
155
129
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/content/progress/ProgressBar.tsx"],
4
- "sourcesContent": ["/* eslint-disable deprecation/deprecation */\n\nimport clsx from 'clsx';\nimport React, { CSSProperties, forwardRef, useId } from 'react';\nimport { isElement } from 'react-is';\n\nimport Spacings from '@dynatrace/strato-design-tokens/spacings';\n\nimport { SharedProgressBarPropsContext } from './contexts/SharedProgressBarPropsContext.js';\nimport { useProgressAriaProps } from './hooks/useProgressAriaProps.js';\nimport {\n progressBarFillCSS,\n progressCSS,\n progressRoot,\n} from './ProgressBar.sty.js';\nimport { ProgressBarIcon } from './ProgressBarIcon.js';\nimport { ProgressBarLabel } from './ProgressBarLabel.js';\nimport { ProgressBarValue } from './ProgressBarValue.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useSafeForwardProps } from '../../core/hooks/useSafeForwardProps.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 RoleVariantType } from '../../core/types/role-variant.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type WithChildren } from '../../core/types/with-children.js';\nimport { useContainerColoring } from '../../layouts/container/Container.js';\nimport { containerColorsCSS } from '../../styles/container.sty.js';\n\n/**\n * Accepted properties for ProgressBar.\n * @public\n */\nexport interface ProgressBarProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * The current value.\n * @defaultValue 'indeterminate'\n */\n value?: number | 'indeterminate';\n /**\n * The minimum allowed value.\n * @defaultValue 0\n */\n min?: number;\n /**\n * The maximum allowed value.\n * @defaultValue 100\n */\n max?: number;\n /**\n * Controls the density of the rendering.\n * @defaultValue 'default'\n */\n density?: 'default' | 'condensed';\n /**\n * Controls the appearance of the progress.\n * @defaultValue 'primary'\n * @deprecated Will be removed and replaced by the color prop.\n */\n variant?: RoleVariantType;\n /**\n * Controls the color of the progress.\n * @defaultValue 'primary' or a container's color.\n */\n color?: 'neutral' | 'primary' | 'success' | 'warning' | 'critical';\n /**\n * The aria-valuetext attribute defines the human-readable text alternative of aria-valuenow for a range widget.\n * By default, the value will be given as a percentage. If the value is not a percentage, you should provide aria-valuetext.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext\n * @defaultValue the value of the progress as percentage.\n */\n 'aria-valuetext'?: string;\n}\n\ntype ProgressBarSlots = {\n value?: React.ReactNode;\n label?: React.ReactNode;\n icon?: React.ReactNode;\n};\n\nfunction getProgressBarSlots(children: React.ReactNode) {\n const slots: ProgressBarSlots = {\n value: null,\n label: null,\n icon: null,\n };\n\n React.Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case ProgressBarLabel:\n slots.label = child;\n break;\n case ProgressBarIcon:\n slots.icon = child;\n break;\n case ProgressBarValue:\n default:\n slots.value = child;\n break;\n }\n } else {\n if (!slots.value) {\n slots.value = child;\n }\n }\n });\n\n return slots;\n}\n\nconst _ProgressBar = forwardRef<HTMLDivElement, ProgressBarProps>(\n (props, forwardedRef) => {\n const {\n value: originalValue,\n max = 100,\n min = 0,\n density = 'default',\n variant,\n color,\n children,\n id: propId,\n 'aria-valuetext': ariaValuetext,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: ProgressBarProps = props;\n\n // Get inherited color and variant\n const containerColoring = useContainerColoring();\n // if variant is onAccent here we specifically set it to accent\n // otherwise take it from the container.\n const cascadedVariant =\n variant !== undefined && variant === 'onAccent'\n ? 'accent'\n : containerColoring.variant;\n // The progress circle only supports a small subset of variants and this to\n const derivedVariant = cascadedVariant === 'accent' ? 'accent' : 'default';\n\n // for the color in the ProgressCircle the fallback logic is a bit different - usually\n // the fallback from the container is \"neutral\" - but in the case of the progress circle the default\n // fallback color is \"primary\"\n const fallbackColor = containerColoring.default\n ? 'primary'\n : containerColoring.color;\n\n // The derived color is needed because we are mixing the accent variant and the colors here on the prop level\n let derivedColor = fallbackColor;\n if (variant !== undefined && variant !== 'onAccent') {\n derivedColor = variant;\n }\n if (color !== undefined) {\n derivedColor = color;\n }\n const onAccent = derivedVariant === 'accent';\n\n const slots = getProgressBarSlots(children);\n const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(\n originalValue,\n min,\n max,\n ariaValuetext,\n );\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);\n\n const generatedId = useId();\n const id = propId ?? generatedId;\n\n if (\n !slots.label &&\n !ariaLabelingProps['aria-label'] &&\n !ariaLabelingProps['aria-labelledby']\n ) {\n process.env.NODE_ENV === 'development' &&\n // eslint-disable-next-line no-console\n console.warn(\n 'If no label is provided please make sure to provide an aria label on your progressCircle element.',\n );\n }\n\n const progressStyles: CSSProperties = {};\n if (!isIndeterminate && value !== undefined) {\n const percentage = (value - min) / (max - min);\n progressStyles['width'] = `${Math.round(percentage * 100)}%`;\n }\n\n return (\n <SharedProgressBarPropsContext.Provider value={{ id, density }}>\n {/* TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n <div\n className={clsx(\n containerColorsCSS({\n color: derivedColor,\n variant: derivedVariant,\n }),\n\n progressRoot({\n onAccent,\n color: derivedColor,\n }),\n consumerClassName,\n )}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: Spacings.Size6,\n width: '100%',\n ...consumerStyle,\n }}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={forwardedRef}\n {...forwardProps}\n >\n {/* //TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n gap: Spacings.Size8,\n }}\n >\n {density === 'condensed' ? (\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n flex: 1,\n gap: Spacings.Size16,\n minWidth: 0,\n }}\n >\n {/* //TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n {slots.label}\n {slots.value}\n </div>\n ) : (\n slots.label\n )}\n {slots.icon}\n </div>\n <div\n className={progressCSS({\n size: density,\n })}\n id={id}\n {...progressAriaProps}\n {...ariaLabelingProps}\n >\n <div\n className={clsx(\n progressBarFillCSS({\n indeterminate: isIndeterminate,\n }),\n )}\n style={progressStyles}\n />\n </div>\n {density === 'default' && slots.value}\n </div>\n </SharedProgressBarPropsContext.Provider>\n );\n },\n);\n\n(_ProgressBar as typeof _ProgressBar & { displayName: string }).displayName =\n 'ProgressBar';\n\n/**\n * Use the `ProgressBar` component to show your users that a system operation such as downloading, uploading, or processing is progressing.\n * The `ProgressBar` can be used to visualize determinate or indeterminate progress.\n * @public\n */\nexport const ProgressBar = Object.assign(_ProgressBar, {\n Value: ProgressBarValue,\n Label: ProgressBarLabel,\n Icon: ProgressBarIcon,\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable deprecation/deprecation */\n\nimport clsx from 'clsx';\nimport React, { CSSProperties, forwardRef, useId } from 'react';\nimport { isElement } from 'react-is';\n\nimport { SharedProgressBarPropsContext } from './contexts/SharedProgressBarPropsContext.js';\nimport { useProgressAriaProps } from './hooks/useProgressAriaProps.js';\nimport {\n progressBarFillCSS,\n progressCSS,\n progressRoot,\n} from './ProgressBar.sty.js';\nimport { ProgressBarIcon } from './ProgressBarIcon.js';\nimport { ProgressBarLabel } from './ProgressBarLabel.js';\nimport { ProgressBarValue } from './ProgressBarValue.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useSafeForwardProps } from '../../core/hooks/useSafeForwardProps.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 StylingProps } from '../../core/types/styling-props.js';\nimport { type WithChildren } from '../../core/types/with-children.js';\nimport { useContainerColoring } from '../../layouts/container/Container.js';\nimport { Flex } from '../../layouts/flex/Flex.js';\nimport { containerColorsCSS } from '../../styles/container.sty.js';\n\n/**\n * Accepted properties for ProgressBar.\n * @public\n */\nexport interface ProgressBarProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * The current value.\n * @defaultValue 'indeterminate'\n */\n value?: number | 'indeterminate';\n /**\n * The minimum allowed value.\n * @defaultValue 0\n */\n min?: number;\n /**\n * The maximum allowed value.\n * @defaultValue 100\n */\n max?: number;\n /**\n * Controls the density of the rendering.\n * @defaultValue 'default'\n */\n density?: 'default' | 'condensed';\n /**\n * Controls the color of the progress.\n * @defaultValue 'primary' or a container's color.\n */\n color?: 'neutral' | 'primary' | 'success' | 'warning' | 'critical';\n /**\n * The aria-valuetext attribute defines the human-readable text alternative of aria-valuenow for a range widget.\n * By default, the value will be given as a percentage. If the value is not a percentage, you should provide aria-valuetext.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext\n * @defaultValue the value of the progress as percentage.\n */\n 'aria-valuetext'?: string;\n}\n\ntype ProgressBarSlots = {\n value?: React.ReactNode;\n label?: React.ReactNode;\n icon?: React.ReactNode;\n};\n\nfunction getProgressBarSlots(children: React.ReactNode) {\n const slots: ProgressBarSlots = {\n value: null,\n label: null,\n icon: null,\n };\n\n React.Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case ProgressBarLabel:\n slots.label = child;\n break;\n case ProgressBarIcon:\n slots.icon = child;\n break;\n case ProgressBarValue:\n default:\n slots.value = child;\n break;\n }\n } else {\n if (!slots.value) {\n slots.value = child;\n }\n }\n });\n\n return slots;\n}\n\nconst _ProgressBar = forwardRef<HTMLDivElement, ProgressBarProps>(\n (props, forwardedRef) => {\n const {\n value: originalValue,\n max = 100,\n min = 0,\n density = 'default',\n color,\n children,\n id: propId,\n 'aria-valuetext': ariaValuetext,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: ProgressBarProps = props;\n\n const containerColoring = useContainerColoring();\n\n // for the color in the ProgressCircle the fallback logic is a bit different - usually\n // the fallback from the container is \"neutral\" - but in the case of the progress circle the default\n // fallback color is \"primary\"\n const fallbackColor = containerColoring.default\n ? 'primary'\n : containerColoring.color;\n\n const derivedColor = color ?? fallbackColor;\n const onAccent = containerColoring.variant === 'accent';\n\n const slots = getProgressBarSlots(children);\n const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(\n originalValue,\n min,\n max,\n ariaValuetext,\n );\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);\n\n const generatedId = useId();\n const id = propId ?? generatedId;\n\n if (\n !slots.label &&\n !ariaLabelingProps['aria-label'] &&\n !ariaLabelingProps['aria-labelledby']\n ) {\n process.env.NODE_ENV === 'development' &&\n // eslint-disable-next-line no-console\n console.warn(\n 'If no label is provided please make sure to provide an aria label on your progressCircle element.',\n );\n }\n\n const progressStyles: CSSProperties = {};\n if (!isIndeterminate && value !== undefined) {\n const percentage = (value - min) / (max - min);\n progressStyles['width'] = `${Math.round(percentage * 100)}%`;\n }\n\n return (\n <SharedProgressBarPropsContext.Provider value={{ id, density }}>\n <Flex\n flexDirection=\"column\"\n gap={6}\n width=\"100%\"\n className={clsx(\n containerColorsCSS({\n color: derivedColor,\n variant: containerColoring.variant,\n }),\n\n progressRoot({\n onAccent,\n color: derivedColor,\n }),\n consumerClassName,\n )}\n style={consumerStyle}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={forwardedRef}\n {...forwardProps}\n >\n <Flex justifyContent=\"space-between\" gap={8}>\n {density === 'condensed' ? (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"flex-end\"\n flex={1}\n gap={16}\n minWidth={0}\n >\n {slots.label}\n {slots.value}\n </Flex>\n ) : (\n slots.label\n )}\n {slots.icon}\n </Flex>\n <div\n className={progressCSS({\n size: density,\n })}\n id={id}\n {...progressAriaProps}\n {...ariaLabelingProps}\n >\n <div\n className={clsx(\n progressBarFillCSS({\n indeterminate: isIndeterminate,\n }),\n )}\n style={progressStyles}\n />\n </div>\n {density === 'default' && slots.value}\n </Flex>\n </SharedProgressBarPropsContext.Provider>\n );\n },\n);\n\n(_ProgressBar as typeof _ProgressBar & { displayName: string }).displayName =\n 'ProgressBar';\n\n/**\n * Use the `ProgressBar` component to show your users that a system operation such as downloading, uploading, or processing is progressing.\n * The `ProgressBar` can be used to visualize determinate or indeterminate progress.\n * @public\n */\nexport const ProgressBar = Object.assign(_ProgressBar, {\n Value: ProgressBarValue,\n Label: ProgressBarLabel,\n Icon: ProgressBarIcon,\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,10 +1,10 @@
1
1
  import "./ProgressBar.css";
2
2
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
- var progressBarFillCSS = _7a468({ defaultClassName: "_13n9uwhq-0-85-120", variantClassNames: { indeterminate: { true: "_13n9uwhr-0-85-120" } }, defaultVariants: {}, compoundVariants: [] });
4
- var progressCSS = _7a468({ defaultClassName: "_13n9uwhn-0-85-120", variantClassNames: { size: { condensed: "_13n9uwho-0-85-120", "default": "_13n9uwhp-0-85-120" } }, defaultVariants: {}, compoundVariants: [] });
5
- var progressIndicatorColorVar = "var(--_13n9uwh3-0-85-120)";
6
- var progressRoot = _7a468({ defaultClassName: "_13n9uwh5-0-85-120", variantClassNames: { color: { primary: "_13n9uwh6-0-85-120", success: "_13n9uwh7-0-85-120", warning: "_13n9uwh8-0-85-120", critical: "_13n9uwh9-0-85-120", neutral: "_13n9uwha-0-85-120" }, onAccent: { true: "_13n9uwhb-0-85-120", false: "_13n9uwhc-0-85-120" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", onAccent: false }, "_13n9uwhd-0-85-120"], [{ color: "success", onAccent: false }, "_13n9uwhe-0-85-120"], [{ color: "warning", onAccent: false }, "_13n9uwhf-0-85-120"], [{ color: "critical", onAccent: false }, "_13n9uwhg-0-85-120"], [{ color: "neutral", onAccent: false }, "_13n9uwhh-0-85-120"], [{ color: "primary", onAccent: true }, "_13n9uwhi-0-85-120"], [{ color: "success", onAccent: true }, "_13n9uwhj-0-85-120"], [{ color: "warning", onAccent: true }, "_13n9uwhk-0-85-120"], [{ color: "critical", onAccent: true }, "_13n9uwhl-0-85-120"], [{ color: "neutral", onAccent: true }, "_13n9uwhm-0-85-120"]] });
7
- var progressValueColorVar = "var(--_13n9uwh4-0-85-120)";
3
+ var progressBarFillCSS = _7a468({ defaultClassName: "_13n9uwhq-1-0-0", variantClassNames: { indeterminate: { true: "_13n9uwhr-1-0-0" } }, defaultVariants: {}, compoundVariants: [] });
4
+ var progressCSS = _7a468({ defaultClassName: "_13n9uwhn-1-0-0", variantClassNames: { size: { condensed: "_13n9uwho-1-0-0", "default": "_13n9uwhp-1-0-0" } }, defaultVariants: {}, compoundVariants: [] });
5
+ var progressIndicatorColorVar = "var(--_13n9uwh3-1-0-0)";
6
+ var progressRoot = _7a468({ defaultClassName: "_13n9uwh5-1-0-0", variantClassNames: { color: { primary: "_13n9uwh6-1-0-0", success: "_13n9uwh7-1-0-0", warning: "_13n9uwh8-1-0-0", critical: "_13n9uwh9-1-0-0", neutral: "_13n9uwha-1-0-0" }, onAccent: { true: "_13n9uwhb-1-0-0", false: "_13n9uwhc-1-0-0" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", onAccent: false }, "_13n9uwhd-1-0-0"], [{ color: "success", onAccent: false }, "_13n9uwhe-1-0-0"], [{ color: "warning", onAccent: false }, "_13n9uwhf-1-0-0"], [{ color: "critical", onAccent: false }, "_13n9uwhg-1-0-0"], [{ color: "neutral", onAccent: false }, "_13n9uwhh-1-0-0"], [{ color: "primary", onAccent: true }, "_13n9uwhi-1-0-0"], [{ color: "success", onAccent: true }, "_13n9uwhj-1-0-0"], [{ color: "warning", onAccent: true }, "_13n9uwhk-1-0-0"], [{ color: "critical", onAccent: true }, "_13n9uwhl-1-0-0"], [{ color: "neutral", onAccent: true }, "_13n9uwhm-1-0-0"]] });
7
+ var progressValueColorVar = "var(--_13n9uwh4-1-0-0)";
8
8
  export {
9
9
  progressBarFillCSS,
10
10
  progressCSS,