@dynatrace/strato-components 1.9.0 → 1.10.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 (198) hide show
  1. package/README.md +11 -6
  2. package/buttons/button/Button.css +16 -16
  3. package/buttons/button/Button.sty.js +4 -4
  4. package/content/progress/ProgressBar.css +71 -71
  5. package/content/progress/ProgressBar.sty.js +5 -5
  6. package/content/progress/ProgressBarIcon.css +2 -2
  7. package/content/progress/ProgressBarIcon.sty.js +1 -1
  8. package/content/progress/ProgressBarLabel.css +3 -3
  9. package/content/progress/ProgressBarLabel.sty.js +1 -1
  10. package/content/progress/ProgressBarValue.css +5 -5
  11. package/content/progress/ProgressBarValue.sty.js +1 -1
  12. package/content/progress/ProgressCircle.css +40 -40
  13. package/content/progress/ProgressCircle.sty.js +5 -5
  14. package/content/skeleton/Skeleton.css +6 -6
  15. package/content/skeleton/Skeleton.sty.js +1 -1
  16. package/core/components/app-root/AppRoot.css +120 -0
  17. package/core/components/app-root/AppRoot.js +0 -9
  18. package/core/styles/focusRing.css +66 -66
  19. package/core/styles/focusRing.sty.js +2 -2
  20. package/core/styles/useFocusRing.js +2 -2
  21. package/core/utils/colorUtils.css +60 -60
  22. package/core/utils/colorUtils.sty.js +2 -2
  23. package/esm/buttons/button/Button.css +16 -16
  24. package/esm/buttons/button/Button.js.map +2 -2
  25. package/esm/buttons/button/Button.sty.js +4 -4
  26. package/esm/buttons/button/Button.sty.js.map +2 -2
  27. package/esm/content/progress/ProgressBar.css +71 -71
  28. package/esm/content/progress/ProgressBar.sty.js +5 -5
  29. package/esm/content/progress/ProgressBar.sty.js.map +2 -2
  30. package/esm/content/progress/ProgressBarIcon.css +2 -2
  31. package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
  32. package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
  33. package/esm/content/progress/ProgressBarLabel.css +3 -3
  34. package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
  35. package/esm/content/progress/ProgressBarLabel.sty.js.map +2 -2
  36. package/esm/content/progress/ProgressBarValue.css +5 -5
  37. package/esm/content/progress/ProgressBarValue.sty.js +1 -1
  38. package/esm/content/progress/ProgressBarValue.sty.js.map +2 -2
  39. package/esm/content/progress/ProgressCircle.css +40 -40
  40. package/esm/content/progress/ProgressCircle.sty.js +5 -5
  41. package/esm/content/progress/ProgressCircle.sty.js.map +2 -2
  42. package/esm/content/skeleton/Skeleton.css +6 -6
  43. package/esm/content/skeleton/Skeleton.sty.js +1 -1
  44. package/esm/content/skeleton/Skeleton.sty.js.map +2 -2
  45. package/esm/core/components/app-root/AppRoot.css +120 -0
  46. package/esm/core/components/app-root/AppRoot.js +0 -9
  47. package/esm/core/components/app-root/AppRoot.js.map +2 -2
  48. package/esm/core/styles/focusRing.css +66 -66
  49. package/esm/core/styles/focusRing.sty.js +2 -2
  50. package/esm/core/styles/focusRing.sty.js.map +2 -2
  51. package/esm/core/styles/useFocusRing.js +2 -2
  52. package/esm/core/styles/useFocusRing.js.map +2 -2
  53. package/esm/core/utils/colorUtils.css +60 -60
  54. package/esm/core/utils/colorUtils.sty.js +2 -2
  55. package/esm/core/utils/colorUtils.sty.js.map +2 -2
  56. package/esm/layouts/container/Container.css +4 -4
  57. package/esm/layouts/container/Container.js +5 -3
  58. package/esm/layouts/container/Container.js.map +2 -2
  59. package/esm/layouts/container/Container.sty.js +1 -1
  60. package/esm/layouts/container/Container.sty.js.map +1 -1
  61. package/esm/layouts/divider/Divider.css +6 -6
  62. package/esm/layouts/divider/Divider.sty.js +1 -1
  63. package/esm/layouts/divider/Divider.sty.js.map +2 -2
  64. package/esm/layouts/surface/Surface.css +39 -39
  65. package/esm/layouts/surface/Surface.sty.js +2 -2
  66. package/esm/layouts/surface/Surface.sty.js.map +2 -2
  67. package/esm/layouts/surface/variables.sty.js +1 -1
  68. package/esm/layouts/surface/variables.sty.js.map +1 -1
  69. package/esm/styles/colorUtils.css +60 -60
  70. package/esm/styles/colorUtils.sty.js +2 -2
  71. package/esm/styles/colorUtils.sty.js.map +2 -2
  72. package/esm/styles/container.css +47 -47
  73. package/esm/styles/container.sty.js +2 -2
  74. package/esm/styles/container.sty.js.map +2 -2
  75. package/esm/styles/ellipsis.css +1 -1
  76. package/esm/styles/ellipsis.sty.js +1 -1
  77. package/esm/styles/ellipsis.sty.js.map +1 -1
  78. package/esm/styles/field.css +153 -153
  79. package/esm/styles/field.sty.js +2 -2
  80. package/esm/styles/field.sty.js.map +2 -2
  81. package/esm/styles/sprinkles.css +262 -262
  82. package/esm/styles/sprinkles.sty.js +1 -1
  83. package/esm/styles/sprinkles.sty.js.map +2 -2
  84. package/esm/styles/textStyle.css +8 -8
  85. package/esm/styles/textStyle.sty.js +1 -1
  86. package/esm/styles/textStyle.sty.js.map +2 -2
  87. package/esm/typography/block-quote/Blockquote.css +2 -2
  88. package/esm/typography/block-quote/Blockquote.js.map +2 -2
  89. package/esm/typography/block-quote/Blockquote.sty.js +1 -1
  90. package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
  91. package/esm/typography/code/Code.css +1 -1
  92. package/esm/typography/code/Code.js.map +2 -2
  93. package/esm/typography/code/Code.sty.js +1 -1
  94. package/esm/typography/code/Code.sty.js.map +1 -1
  95. package/esm/typography/emphasis/Emphasis.css +1 -1
  96. package/esm/typography/emphasis/Emphasis.js.map +2 -2
  97. package/esm/typography/emphasis/Emphasis.sty.js +1 -1
  98. package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
  99. package/esm/typography/external-link/ExternalLink.css +5 -8
  100. package/esm/typography/external-link/ExternalLink.js +9 -8
  101. package/esm/typography/external-link/ExternalLink.js.map +2 -2
  102. package/esm/typography/external-link/ExternalLink.sty.js +2 -2
  103. package/esm/typography/external-link/ExternalLink.sty.js.map +2 -2
  104. package/esm/typography/heading/Heading.css +7 -7
  105. package/esm/typography/heading/Heading.js.map +2 -2
  106. package/esm/typography/heading/Heading.sty.js +1 -1
  107. package/esm/typography/heading/Heading.sty.js.map +2 -2
  108. package/esm/typography/highlight/Highlight.css +2 -2
  109. package/esm/typography/highlight/Highlight.js.map +2 -2
  110. package/esm/typography/highlight/Highlight.sty.js +2 -2
  111. package/esm/typography/highlight/Highlight.sty.js.map +1 -1
  112. package/esm/typography/link/Link.css +4 -4
  113. package/esm/typography/link/Link.js +2 -4
  114. package/esm/typography/link/Link.js.map +2 -2
  115. package/esm/typography/link/Link.sty.js +1 -1
  116. package/esm/typography/link/Link.sty.js.map +1 -1
  117. package/esm/typography/list/List.css +4 -4
  118. package/esm/typography/list/List.sty.js +2 -2
  119. package/esm/typography/list/List.sty.js.map +1 -1
  120. package/esm/typography/paragraph/Paragraph.css +3 -3
  121. package/esm/typography/paragraph/Paragraph.js.map +2 -2
  122. package/esm/typography/paragraph/Paragraph.sty.js +1 -1
  123. package/esm/typography/paragraph/Paragraph.sty.js.map +2 -2
  124. package/esm/typography/strikethrough/Strikethrough.css +1 -1
  125. package/esm/typography/strikethrough/Strikethrough.js.map +2 -2
  126. package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
  127. package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
  128. package/esm/typography/strong/Strong.css +1 -1
  129. package/esm/typography/strong/Strong.js.map +2 -2
  130. package/esm/typography/strong/Strong.sty.js +1 -1
  131. package/esm/typography/strong/Strong.sty.js.map +1 -1
  132. package/esm/typography/text/Text.css +3 -3
  133. package/esm/typography/text/Text.sty.js +1 -1
  134. package/esm/typography/text/Text.sty.js.map +2 -2
  135. package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
  136. package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
  137. package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +2 -2
  138. package/layouts/container/Container.css +4 -4
  139. package/layouts/container/Container.d.ts +2 -1
  140. package/layouts/container/Container.js +4 -3
  141. package/layouts/container/Container.sty.js +1 -1
  142. package/layouts/divider/Divider.css +6 -6
  143. package/layouts/divider/Divider.sty.js +1 -1
  144. package/layouts/surface/Surface.css +39 -39
  145. package/layouts/surface/Surface.sty.js +2 -2
  146. package/layouts/surface/variables.sty.js +1 -1
  147. package/package.json +3 -3
  148. package/styles/colorUtils.css +60 -60
  149. package/styles/colorUtils.sty.js +2 -2
  150. package/styles/container.css +47 -47
  151. package/styles/container.sty.js +2 -2
  152. package/styles/ellipsis.css +1 -1
  153. package/styles/ellipsis.sty.js +1 -1
  154. package/styles/field.css +153 -153
  155. package/styles/field.sty.js +2 -2
  156. package/styles/sprinkles.css +262 -262
  157. package/styles/sprinkles.sty.js +1 -1
  158. package/styles/textStyle.css +8 -8
  159. package/styles/textStyle.sty.js +1 -1
  160. package/typography/block-quote/Blockquote.css +2 -2
  161. package/typography/block-quote/Blockquote.d.ts +3 -1
  162. package/typography/block-quote/Blockquote.sty.js +1 -1
  163. package/typography/code/Code.css +1 -1
  164. package/typography/code/Code.d.ts +3 -1
  165. package/typography/code/Code.sty.js +1 -1
  166. package/typography/emphasis/Emphasis.css +1 -1
  167. package/typography/emphasis/Emphasis.d.ts +3 -1
  168. package/typography/emphasis/Emphasis.sty.js +1 -1
  169. package/typography/external-link/ExternalLink.css +5 -8
  170. package/typography/external-link/ExternalLink.d.ts +3 -1
  171. package/typography/external-link/ExternalLink.js +9 -6
  172. package/typography/external-link/ExternalLink.sty.d.ts +1 -1
  173. package/typography/external-link/ExternalLink.sty.js +2 -2
  174. package/typography/heading/Heading.css +7 -7
  175. package/typography/heading/Heading.d.ts +4 -1
  176. package/typography/heading/Heading.sty.js +1 -1
  177. package/typography/highlight/Highlight.css +2 -2
  178. package/typography/highlight/Highlight.d.ts +2 -1
  179. package/typography/highlight/Highlight.sty.js +2 -2
  180. package/typography/link/Link.css +4 -4
  181. package/typography/link/Link.d.ts +4 -1
  182. package/typography/link/Link.js +2 -2
  183. package/typography/link/Link.sty.js +1 -1
  184. package/typography/list/List.css +4 -4
  185. package/typography/list/List.sty.js +2 -2
  186. package/typography/paragraph/Paragraph.css +3 -3
  187. package/typography/paragraph/Paragraph.d.ts +3 -1
  188. package/typography/paragraph/Paragraph.sty.js +1 -1
  189. package/typography/strikethrough/Strikethrough.css +1 -1
  190. package/typography/strikethrough/Strikethrough.d.ts +3 -1
  191. package/typography/strikethrough/Strikethrough.sty.js +1 -1
  192. package/typography/strong/Strong.css +1 -1
  193. package/typography/strong/Strong.d.ts +3 -1
  194. package/typography/strong/Strong.sty.js +1 -1
  195. package/typography/text/Text.css +3 -3
  196. package/typography/text/Text.sty.js +1 -1
  197. package/typography/text-ellipsis/TextEllipsis.css +6 -6
  198. package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
@@ -1,3 +1,123 @@
1
+ @font-face {
2
+ font-style: normal;
3
+ font-weight: 100;
4
+ font-display: swap;
5
+ src: url(https://dt-cdn.net/fonts/DTFlow-Thin-v002.woff2) format('woff2');
6
+ font-family: DynatraceFlow;
7
+ }
8
+ @font-face {
9
+ font-style: normal;
10
+ font-weight: 200;
11
+ font-display: swap;
12
+ src: url(https://dt-cdn.net/fonts/DTFlow-Extralight-v002.woff2) format('woff2');
13
+ font-family: DynatraceFlow;
14
+ }
15
+ @font-face {
16
+ font-style: normal;
17
+ font-weight: 300;
18
+ font-display: swap;
19
+ src: url(https://dt-cdn.net/fonts/DTFlow-Light-v002.woff2) format('woff2');
20
+ font-family: DynatraceFlow;
21
+ }
22
+ @font-face {
23
+ font-style: normal;
24
+ font-weight: 400;
25
+ font-display: swap;
26
+ src: url(https://dt-cdn.net/fonts/DTFlow-Regular-v002.woff2) format('woff2');
27
+ font-family: DynatraceFlow;
28
+ }
29
+ @font-face {
30
+ font-style: normal;
31
+ font-weight: 500;
32
+ font-display: swap;
33
+ src: url(https://dt-cdn.net/fonts/DTFlow-Medium-v002.woff2) format('woff2');
34
+ font-family: DynatraceFlow;
35
+ }
36
+ @font-face {
37
+ font-style: normal;
38
+ font-weight: 600;
39
+ font-display: swap;
40
+ src: url(https://dt-cdn.net/fonts/DTFlow-Semibold-v002.woff2) format('woff2');
41
+ font-family: DynatraceFlow;
42
+ }
43
+ @font-face {
44
+ font-style: normal;
45
+ font-weight: 900;
46
+ font-display: swap;
47
+ src: url(https://dt-cdn.net/fonts/DTFlow-Heavy-v002.woff2) format('woff2');
48
+ font-family: DynatraceFlow;
49
+ }
50
+ @font-face {
51
+ font-style: normal;
52
+ font-weight: 400;
53
+ font-display: swap;
54
+ src: url(https://dt-cdn.net/fonts/DTFlowMono-Regular-v003.woff2) format('woff2');
55
+ font-family: DynatraceFlowMono;
56
+ }
57
+ @font-face {
58
+ font-style: normal;
59
+ font-weight: 400;
60
+ font-display: swap;
61
+ src: url(https://dt-cdn.net/fonts/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format('woff2');
62
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
63
+ font-family: Roboto;
64
+ }
65
+ @font-face {
66
+ font-style: normal;
67
+ font-weight: 400;
68
+ font-display: swap;
69
+ src: url(https://dt-cdn.net/fonts/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2');
70
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
71
+ font-family: Roboto;
72
+ }
73
+ @font-face {
74
+ font-style: normal;
75
+ font-weight: 500;
76
+ font-display: swap;
77
+ src: url(https://dt-cdn.net/fonts/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2) format('woff2');
78
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
79
+ font-family: Roboto;
80
+ }
81
+ @font-face {
82
+ font-style: normal;
83
+ font-weight: 500;
84
+ font-display: swap;
85
+ src: url(https://dt-cdn.net/fonts/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2) format('woff2');
86
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
87
+ font-family: Roboto;
88
+ }
89
+ @font-face {
90
+ font-style: normal;
91
+ font-weight: 400;
92
+ font-display: swap;
93
+ src: url(https://dt-cdn.net/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0me8iUI0lkQ.woff2) format('woff2');
94
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
95
+ font-family: Roboto Mono;
96
+ }
97
+ @font-face {
98
+ font-style: normal;
99
+ font-weight: 400;
100
+ font-display: swap;
101
+ src: url(https://dt-cdn.net/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0me8iUI0.woff2) format('woff2');
102
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
103
+ font-family: Roboto Mono;
104
+ }
105
+ @font-face {
106
+ font-style: normal;
107
+ font-weight: 500;
108
+ font-display: swap;
109
+ src: url(https://dt-cdn.net/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0me8iUI0lkQ.woff2) format('woff2');
110
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
111
+ font-family: Roboto Mono;
112
+ }
113
+ @font-face {
114
+ font-style: normal;
115
+ font-weight: 500;
116
+ font-display: swap;
117
+ src: url(https://dt-cdn.net/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0me8iUI0.woff2) format('woff2');
118
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
119
+ font-family: Roboto Mono;
120
+ }
1
121
  :root {
2
122
  --dt-borders-style-default: solid;
3
123
  --dt-borders-style-dashed: dashed;
@@ -55,15 +55,6 @@ const AppRoot = /* @__PURE__ */ (0, import_react.forwardRef)(
55
55
  } catch {
56
56
  timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
57
57
  }
58
- (0, import_react.useLayoutEffect)(() => {
59
- const link = document.createElement("link");
60
- link.rel = "stylesheet";
61
- link.href = "https://dt-cdn.net/fonts/fonts-v004.css";
62
- document.head.appendChild(link);
63
- return () => {
64
- document.head.removeChild(link);
65
- };
66
- }, []);
67
58
  (0, import_react.useLayoutEffect)(() => {
68
59
  if (document !== void 0) {
69
60
  document.documentElement.setAttribute("data-theme", theme);
@@ -1,75 +1,75 @@
1
- ._z2r50s3-1-9-0 {
1
+ ._z2r50s3-1-10-0 {
2
2
  outline: none;
3
3
  }
4
- ._z2r50s3-1-9-0:focus-visible {
4
+ ._z2r50s3-1-10-0:focus-visible {
5
5
  outline: none;
6
6
  }
7
- ._z2r50s4-1-9-0 {
7
+ ._z2r50s4-1-10-0 {
8
8
  border-radius: var(--dt-borders-radius-field-subdued, 4px);
9
- box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-9-0);
10
- background-color: var(--_z2r50s2-1-9-0);
11
- }
12
- ._z2r50s5-1-9-0._z2r50s5-1-9-0 {
13
- box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-9-0), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-9-0);
14
- }
15
- ._z2r50s6-1-9-0 {
16
- --_z2r50s0-1-9-0: var(--dt-colors-border-neutral-accent, #595a7d);
17
- --_z2r50s1-1-9-0: var(--dt-colors-border-neutral-default, #dadbe4);
18
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
19
- }
20
- ._z2r50s7-1-9-0 {
21
- --_z2r50s0-1-9-0: var(--dt-colors-border-primary-accent, #464cce);
22
- --_z2r50s1-1-9-0: var(--dt-colors-border-primary-default, #d5dbf6);
23
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
24
- }
25
- ._z2r50s8-1-9-0 {
26
- --_z2r50s0-1-9-0: var(--dt-colors-border-success-accent, #2d6761);
27
- --_z2r50s1-1-9-0: var(--dt-colors-border-success-default, #d3dedd);
28
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
29
- }
30
- ._z2r50s9-1-9-0 {
31
- --_z2r50s0-1-9-0: var(--dt-colors-border-warning-accent, #855400);
32
- --_z2r50s1-1-9-0: var(--dt-colors-border-warning-default, #f9ebdb);
33
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
34
- }
35
- ._z2r50sa-1-9-0 {
36
- --_z2r50s0-1-9-0: var(--dt-colors-border-critical-accent, #bb0731);
37
- --_z2r50s1-1-9-0: var(--dt-colors-border-critical-default, #f6d6d5);
38
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-critical-emphasized, #f8e1e1);
39
- }
40
- ._z2r50sb-1-9-0:focus-within {
9
+ box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-10-0);
10
+ background-color: var(--_z2r50s2-1-10-0);
11
+ }
12
+ ._z2r50s5-1-10-0._z2r50s5-1-10-0 {
13
+ box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-10-0), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-10-0);
14
+ }
15
+ ._z2r50s6-1-10-0 {
16
+ --_z2r50s0-1-10-0: var(--dt-colors-border-neutral-accent, #595a7d);
17
+ --_z2r50s1-1-10-0: var(--dt-colors-border-neutral-default, #dadbe4);
18
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
19
+ }
20
+ ._z2r50s7-1-10-0 {
21
+ --_z2r50s0-1-10-0: var(--dt-colors-border-primary-accent, #464cce);
22
+ --_z2r50s1-1-10-0: var(--dt-colors-border-primary-default, #d5dbf6);
23
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
24
+ }
25
+ ._z2r50s8-1-10-0 {
26
+ --_z2r50s0-1-10-0: var(--dt-colors-border-success-accent, #2d6761);
27
+ --_z2r50s1-1-10-0: var(--dt-colors-border-success-default, #d3dedd);
28
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
29
+ }
30
+ ._z2r50s9-1-10-0 {
31
+ --_z2r50s0-1-10-0: var(--dt-colors-border-warning-accent, #855400);
32
+ --_z2r50s1-1-10-0: var(--dt-colors-border-warning-default, #f9ebdb);
33
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
34
+ }
35
+ ._z2r50sa-1-10-0 {
36
+ --_z2r50s0-1-10-0: var(--dt-colors-border-critical-accent, #bb0731);
37
+ --_z2r50s1-1-10-0: var(--dt-colors-border-critical-default, #f6d6d5);
38
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-critical-emphasized, #f8e1e1);
39
+ }
40
+ ._z2r50sb-1-10-0:focus-within {
41
41
  outline: none;
42
42
  }
43
- ._z2r50sc-1-9-0:focus-within {
43
+ ._z2r50sc-1-10-0:focus-within {
44
44
  border-radius: var(--dt-borders-radius-field-subdued, 4px);
45
- box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-9-0);
46
- background-color: var(--_z2r50s2-1-9-0);
47
- }
48
- ._z2r50sd-1-9-0:focus-within {
49
- box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-9-0), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-9-0);
50
- }
51
- ._z2r50se-1-9-0 {
52
- --_z2r50s0-1-9-0: var(--dt-colors-border-neutral-accent, #595a7d);
53
- --_z2r50s1-1-9-0: var(--dt-colors-border-neutral-default, #dadbe4);
54
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
55
- }
56
- ._z2r50sf-1-9-0 {
57
- --_z2r50s0-1-9-0: var(--dt-colors-border-primary-accent, #464cce);
58
- --_z2r50s1-1-9-0: var(--dt-colors-border-primary-default, #d5dbf6);
59
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
60
- }
61
- ._z2r50sg-1-9-0 {
62
- --_z2r50s0-1-9-0: var(--dt-colors-border-success-accent, #2d6761);
63
- --_z2r50s1-1-9-0: var(--dt-colors-border-success-default, #d3dedd);
64
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
65
- }
66
- ._z2r50sh-1-9-0 {
67
- --_z2r50s0-1-9-0: var(--dt-colors-border-warning-accent, #855400);
68
- --_z2r50s1-1-9-0: var(--dt-colors-border-warning-default, #f9ebdb);
69
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
70
- }
71
- ._z2r50si-1-9-0 {
72
- --_z2r50s0-1-9-0: var(--dt-colors-border-critical-accent, #bb0731);
73
- --_z2r50s1-1-9-0: var(--dt-colors-border-critical-default, #f6d6d5);
74
- --_z2r50s2-1-9-0: var(--dt-colors-background-field-critical-emphasized, #f8e1e1);
45
+ box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-10-0);
46
+ background-color: var(--_z2r50s2-1-10-0);
47
+ }
48
+ ._z2r50sd-1-10-0:focus-within {
49
+ box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-10-0), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-10-0);
50
+ }
51
+ ._z2r50se-1-10-0 {
52
+ --_z2r50s0-1-10-0: var(--dt-colors-border-neutral-accent, #595a7d);
53
+ --_z2r50s1-1-10-0: var(--dt-colors-border-neutral-default, #dadbe4);
54
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
55
+ }
56
+ ._z2r50sf-1-10-0 {
57
+ --_z2r50s0-1-10-0: var(--dt-colors-border-primary-accent, #464cce);
58
+ --_z2r50s1-1-10-0: var(--dt-colors-border-primary-default, #d5dbf6);
59
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
60
+ }
61
+ ._z2r50sg-1-10-0 {
62
+ --_z2r50s0-1-10-0: var(--dt-colors-border-success-accent, #2d6761);
63
+ --_z2r50s1-1-10-0: var(--dt-colors-border-success-default, #d3dedd);
64
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
65
+ }
66
+ ._z2r50sh-1-10-0 {
67
+ --_z2r50s0-1-10-0: var(--dt-colors-border-warning-accent, #855400);
68
+ --_z2r50s1-1-10-0: var(--dt-colors-border-warning-default, #f9ebdb);
69
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
70
+ }
71
+ ._z2r50si-1-10-0 {
72
+ --_z2r50s0-1-10-0: var(--dt-colors-border-critical-accent, #bb0731);
73
+ --_z2r50s1-1-10-0: var(--dt-colors-border-critical-default, #f6d6d5);
74
+ --_z2r50s2-1-10-0: var(--dt-colors-background-field-critical-emphasized, #f8e1e1);
75
75
  }
@@ -24,5 +24,5 @@ __export(focusRing_css_exports, {
24
24
  module.exports = __toCommonJS(focusRing_css_exports);
25
25
  var import_focusRing_css_ts_vanilla = require("./focusRing.css");
26
26
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
27
- var focusRingCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50s3-1-9-0", variantClassNames: { minimal: { true: "_z2r50s4-1-9-0", false: "_z2r50s5-1-9-0" }, variant: { neutral: "_z2r50s6-1-9-0", primary: "_z2r50s7-1-9-0", success: "_z2r50s8-1-9-0", warning: "_z2r50s9-1-9-0", critical: "_z2r50sa-1-9-0" } }, defaultVariants: {}, compoundVariants: [] });
28
- var focusRingFocusWithinCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50sb-1-9-0", variantClassNames: { minimal: { true: "_z2r50sc-1-9-0", false: "_z2r50sd-1-9-0" }, variant: { neutral: "_z2r50se-1-9-0", primary: "_z2r50sf-1-9-0", success: "_z2r50sg-1-9-0", warning: "_z2r50sh-1-9-0", critical: "_z2r50si-1-9-0" } }, defaultVariants: {}, compoundVariants: [] });
27
+ var focusRingCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50s3-1-10-0", variantClassNames: { minimal: { true: "_z2r50s4-1-10-0", false: "_z2r50s5-1-10-0" }, variant: { neutral: "_z2r50s6-1-10-0", primary: "_z2r50s7-1-10-0", success: "_z2r50s8-1-10-0", warning: "_z2r50s9-1-10-0", critical: "_z2r50sa-1-10-0" } }, defaultVariants: {}, compoundVariants: [] });
28
+ var focusRingFocusWithinCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50sb-1-10-0", variantClassNames: { minimal: { true: "_z2r50sc-1-10-0", false: "_z2r50sd-1-10-0" }, variant: { neutral: "_z2r50se-1-10-0", primary: "_z2r50sf-1-10-0", success: "_z2r50sg-1-10-0", warning: "_z2r50sh-1-10-0", critical: "_z2r50si-1-10-0" } }, defaultVariants: {}, compoundVariants: [] });
@@ -23,7 +23,7 @@ __export(useFocusRing_exports, {
23
23
  module.exports = __toCommonJS(useFocusRing_exports);
24
24
  var import_react = require("react");
25
25
  var import_focusRing_css = require("./focusRing.sty.js");
26
- var import__ = require("../index.js");
26
+ var import_useFocusContext = require("../hooks/useFocusContext.js");
27
27
  function useFocusRing(props = {}) {
28
28
  const {
29
29
  variant = "neutral",
@@ -33,7 +33,7 @@ function useFocusRing(props = {}) {
33
33
  disabled = false
34
34
  } = props;
35
35
  const [isFocused, setIsFocused] = (0, import_react.useState)(false);
36
- const { modality } = (0, import__._useFocusContext)();
36
+ const { modality } = (0, import_useFocusContext.useFocusContext)();
37
37
  (0, import_react.useEffect)(() => {
38
38
  if (disabled) {
39
39
  setIsFocused(false);
@@ -1,75 +1,75 @@
1
- ._k096v44-1-9-0 {
2
- --_k096v40-1-9-0: var(--dt-colors-text-critical-default, #bb0731);
3
- --_k096v41-1-9-0: var(--dt-colors-icon-critical-default, #bb0731);
4
- --_k096v42-1-9-0: var(--dt-colors-border-critical-default, #f6d6d5);
1
+ ._k096v44-1-10-0 {
2
+ --_k096v40-1-10-0: var(--dt-colors-text-critical-default, #bb0731);
3
+ --_k096v41-1-10-0: var(--dt-colors-icon-critical-default, #bb0731);
4
+ --_k096v42-1-10-0: var(--dt-colors-border-critical-default, #f6d6d5);
5
5
  }
6
- ._k096v45-1-9-0 {
7
- --_k096v40-1-9-0: var(--dt-colors-text-neutral-default, #2f2f4f);
8
- --_k096v41-1-9-0: var(--dt-colors-icon-neutral-default, #2f2f4f);
9
- --_k096v42-1-9-0: var(--dt-colors-border-neutral-default, #dadbe4);
6
+ ._k096v45-1-10-0 {
7
+ --_k096v40-1-10-0: var(--dt-colors-text-neutral-default, #2f2f4f);
8
+ --_k096v41-1-10-0: var(--dt-colors-icon-neutral-default, #2f2f4f);
9
+ --_k096v42-1-10-0: var(--dt-colors-border-neutral-default, #dadbe4);
10
10
  }
11
- ._k096v46-1-9-0 {
12
- --_k096v40-1-9-0: var(--dt-colors-text-primary-default, #464cce);
13
- --_k096v41-1-9-0: var(--dt-colors-icon-primary-default, #464cce);
14
- --_k096v42-1-9-0: var(--dt-colors-border-primary-default, #d5dbf6);
11
+ ._k096v46-1-10-0 {
12
+ --_k096v40-1-10-0: var(--dt-colors-text-primary-default, #464cce);
13
+ --_k096v41-1-10-0: var(--dt-colors-icon-primary-default, #464cce);
14
+ --_k096v42-1-10-0: var(--dt-colors-border-primary-default, #d5dbf6);
15
15
  }
16
- ._k096v47-1-9-0 {
17
- --_k096v40-1-9-0: var(--dt-colors-text-success-default, #2d6761);
18
- --_k096v41-1-9-0: var(--dt-colors-icon-success-default, #2d6761);
19
- --_k096v42-1-9-0: var(--dt-colors-border-success-default, #d3dedd);
16
+ ._k096v47-1-10-0 {
17
+ --_k096v40-1-10-0: var(--dt-colors-text-success-default, #2d6761);
18
+ --_k096v41-1-10-0: var(--dt-colors-icon-success-default, #2d6761);
19
+ --_k096v42-1-10-0: var(--dt-colors-border-success-default, #d3dedd);
20
20
  }
21
- ._k096v48-1-9-0 {
22
- --_k096v40-1-9-0: var(--dt-colors-text-warning-default, #855400);
23
- --_k096v41-1-9-0: var(--dt-colors-icon-warning-default, #855400);
24
- --_k096v42-1-9-0: var(--dt-colors-border-warning-default, #f9ebdb);
21
+ ._k096v48-1-10-0 {
22
+ --_k096v40-1-10-0: var(--dt-colors-text-warning-default, #855400);
23
+ --_k096v41-1-10-0: var(--dt-colors-icon-warning-default, #855400);
24
+ --_k096v42-1-10-0: var(--dt-colors-border-warning-default, #f9ebdb);
25
25
  }
26
- ._k096v4d-1-9-0 {
27
- --_k096v40-1-9-0: var(--dt-colors-text-primary-on-accent-default, #f4f4fb);
28
- --_k096v41-1-9-0: var(--dt-colors-icon-primary-on-accent-default, #f4f4fb);
29
- --_k096v42-1-9-0: var(--dt-colors-border-primary-accent, #464cce);
26
+ ._k096v4d-1-10-0 {
27
+ --_k096v40-1-10-0: var(--dt-colors-text-primary-on-accent-default, #f4f4fb);
28
+ --_k096v41-1-10-0: var(--dt-colors-icon-primary-on-accent-default, #f4f4fb);
29
+ --_k096v42-1-10-0: var(--dt-colors-border-primary-accent, #464cce);
30
30
  }
31
- ._k096v4e-1-9-0 {
32
- --_k096v40-1-9-0: var(--dt-colors-text-success-on-accent-default, #f1f4f4);
33
- --_k096v41-1-9-0: var(--dt-colors-icon-success-on-accent-default, #f1f4f4);
34
- --_k096v42-1-9-0: var(--dt-colors-border-success-accent, #2d6761);
31
+ ._k096v4e-1-10-0 {
32
+ --_k096v40-1-10-0: var(--dt-colors-text-success-on-accent-default, #f1f4f4);
33
+ --_k096v41-1-10-0: var(--dt-colors-icon-success-on-accent-default, #f1f4f4);
34
+ --_k096v42-1-10-0: var(--dt-colors-border-success-accent, #2d6761);
35
35
  }
36
- ._k096v4f-1-9-0 {
37
- --_k096v40-1-9-0: var(--dt-colors-text-warning-on-accent-default, #272024);
38
- --_k096v41-1-9-0: var(--dt-colors-icon-warning-on-accent-default, #272024);
39
- --_k096v42-1-9-0: var(--dt-colors-border-warning-accent, #855400);
36
+ ._k096v4f-1-10-0 {
37
+ --_k096v40-1-10-0: var(--dt-colors-text-warning-on-accent-default, #272024);
38
+ --_k096v41-1-10-0: var(--dt-colors-icon-warning-on-accent-default, #272024);
39
+ --_k096v42-1-10-0: var(--dt-colors-border-warning-accent, #855400);
40
40
  }
41
- ._k096v4g-1-9-0 {
42
- --_k096v40-1-9-0: var(--dt-colors-text-critical-on-accent-default, #f9f1f3);
43
- --_k096v41-1-9-0: var(--dt-colors-icon-critical-on-accent-default, #f9f1f3);
44
- --_k096v42-1-9-0: var(--dt-colors-border-critical-accent, #bb0731);
41
+ ._k096v4g-1-10-0 {
42
+ --_k096v40-1-10-0: var(--dt-colors-text-critical-on-accent-default, #f9f1f3);
43
+ --_k096v41-1-10-0: var(--dt-colors-icon-critical-on-accent-default, #f9f1f3);
44
+ --_k096v42-1-10-0: var(--dt-colors-border-critical-accent, #bb0731);
45
45
  }
46
- ._k096v4h-1-9-0 {
47
- --_k096v40-1-9-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
48
- --_k096v41-1-9-0: var(--dt-colors-icon-neutral-on-accent-default, #f3f3f6);
49
- --_k096v42-1-9-0: var(--dt-colors-border-neutral-accent, #595a7d);
46
+ ._k096v4h-1-10-0 {
47
+ --_k096v40-1-10-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
48
+ --_k096v41-1-10-0: var(--dt-colors-icon-neutral-on-accent-default, #f3f3f6);
49
+ --_k096v42-1-10-0: var(--dt-colors-border-neutral-accent, #595a7d);
50
50
  }
51
- ._k096v4i-1-9-0 {
52
- --_k096v40-1-9-0: var(--dt-colors-text-primary-disabled, #595a7d80);
53
- --_k096v41-1-9-0: var(--dt-colors-icon-primary-disabled, #595a7d80);
54
- --_k096v42-1-9-0: var(--dt-colors-border-primary-disabled, #dadbe480);
51
+ ._k096v4i-1-10-0 {
52
+ --_k096v40-1-10-0: var(--dt-colors-text-primary-disabled, #595a7d80);
53
+ --_k096v41-1-10-0: var(--dt-colors-icon-primary-disabled, #595a7d80);
54
+ --_k096v42-1-10-0: var(--dt-colors-border-primary-disabled, #dadbe480);
55
55
  }
56
- ._k096v4j-1-9-0 {
57
- --_k096v40-1-9-0: var(--dt-colors-text-success-disabled, #595a7d80);
58
- --_k096v41-1-9-0: var(--dt-colors-icon-success-disabled, #595a7d80);
59
- --_k096v42-1-9-0: var(--dt-colors-border-success-disabled, #dadbe480);
56
+ ._k096v4j-1-10-0 {
57
+ --_k096v40-1-10-0: var(--dt-colors-text-success-disabled, #595a7d80);
58
+ --_k096v41-1-10-0: var(--dt-colors-icon-success-disabled, #595a7d80);
59
+ --_k096v42-1-10-0: var(--dt-colors-border-success-disabled, #dadbe480);
60
60
  }
61
- ._k096v4k-1-9-0 {
62
- --_k096v40-1-9-0: var(--dt-colors-text-warning-disabled, #595a7d80);
63
- --_k096v41-1-9-0: var(--dt-colors-icon-warning-disabled, #595a7d80);
64
- --_k096v42-1-9-0: var(--dt-colors-border-warning-disabled, #dadbe480);
61
+ ._k096v4k-1-10-0 {
62
+ --_k096v40-1-10-0: var(--dt-colors-text-warning-disabled, #595a7d80);
63
+ --_k096v41-1-10-0: var(--dt-colors-icon-warning-disabled, #595a7d80);
64
+ --_k096v42-1-10-0: var(--dt-colors-border-warning-disabled, #dadbe480);
65
65
  }
66
- ._k096v4l-1-9-0 {
67
- --_k096v40-1-9-0: var(--dt-colors-text-critical-disabled, #595a7d80);
68
- --_k096v41-1-9-0: var(--dt-colors-icon-critical-disabled, #595a7d80);
69
- --_k096v42-1-9-0: var(--dt-colors-border-critical-disabled, #dadbe480);
66
+ ._k096v4l-1-10-0 {
67
+ --_k096v40-1-10-0: var(--dt-colors-text-critical-disabled, #595a7d80);
68
+ --_k096v41-1-10-0: var(--dt-colors-icon-critical-disabled, #595a7d80);
69
+ --_k096v42-1-10-0: var(--dt-colors-border-critical-disabled, #dadbe480);
70
70
  }
71
- ._k096v4m-1-9-0 {
72
- --_k096v40-1-9-0: var(--dt-colors-text-neutral-disabled, #595a7d80);
73
- --_k096v41-1-9-0: var(--dt-colors-icon-neutral-disabled, #595a7d80);
74
- --_k096v42-1-9-0: var(--dt-colors-border-neutral-disabled, #dadbe480);
71
+ ._k096v4m-1-10-0 {
72
+ --_k096v40-1-10-0: var(--dt-colors-text-neutral-disabled, #595a7d80);
73
+ --_k096v41-1-10-0: var(--dt-colors-icon-neutral-disabled, #595a7d80);
74
+ --_k096v42-1-10-0: var(--dt-colors-border-neutral-disabled, #dadbe480);
75
75
  }
@@ -24,5 +24,5 @@ __export(colorUtils_css_exports, {
24
24
  module.exports = __toCommonJS(colorUtils_css_exports);
25
25
  var import_colorUtils_css_ts_vanilla = require("./colorUtils.css");
26
26
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
27
- var colorUtilsCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_k096v43-1-9-0", variantClassNames: { color: { critical: "_k096v44-1-9-0", neutral: "_k096v45-1-9-0", primary: "_k096v46-1-9-0", success: "_k096v47-1-9-0", warning: "_k096v48-1-9-0" }, variant: { "default": "_k096v49-1-9-0", accent: "_k096v4a-1-9-0" }, disabled: { true: "_k096v4b-1-9-0", false: "_k096v4c-1-9-0" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", variant: "accent" }, "_k096v4d-1-9-0"], [{ color: "success", variant: "accent" }, "_k096v4e-1-9-0"], [{ color: "warning", variant: "accent" }, "_k096v4f-1-9-0"], [{ color: "critical", variant: "accent" }, "_k096v4g-1-9-0"], [{ color: "neutral", variant: "accent" }, "_k096v4h-1-9-0"], [{ color: "primary", disabled: true }, "_k096v4i-1-9-0"], [{ color: "success", disabled: true }, "_k096v4j-1-9-0"], [{ color: "warning", disabled: true }, "_k096v4k-1-9-0"], [{ color: "critical", disabled: true }, "_k096v4l-1-9-0"], [{ color: "neutral", disabled: true }, "_k096v4m-1-9-0"]] });
28
- var colorUtilsVars = { text: "var(--_k096v40-1-9-0)", icon: "var(--_k096v41-1-9-0)", borderColor: "var(--_k096v42-1-9-0)" };
27
+ var colorUtilsCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_k096v43-1-10-0", variantClassNames: { color: { critical: "_k096v44-1-10-0", neutral: "_k096v45-1-10-0", primary: "_k096v46-1-10-0", success: "_k096v47-1-10-0", warning: "_k096v48-1-10-0" }, variant: { "default": "_k096v49-1-10-0", accent: "_k096v4a-1-10-0" }, disabled: { true: "_k096v4b-1-10-0", false: "_k096v4c-1-10-0" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", variant: "accent" }, "_k096v4d-1-10-0"], [{ color: "success", variant: "accent" }, "_k096v4e-1-10-0"], [{ color: "warning", variant: "accent" }, "_k096v4f-1-10-0"], [{ color: "critical", variant: "accent" }, "_k096v4g-1-10-0"], [{ color: "neutral", variant: "accent" }, "_k096v4h-1-10-0"], [{ color: "primary", disabled: true }, "_k096v4i-1-10-0"], [{ color: "success", disabled: true }, "_k096v4j-1-10-0"], [{ color: "warning", disabled: true }, "_k096v4k-1-10-0"], [{ color: "critical", disabled: true }, "_k096v4l-1-10-0"], [{ color: "neutral", disabled: true }, "_k096v4m-1-10-0"]] });
28
+ var colorUtilsVars = { text: "var(--_k096v40-1-10-0)", icon: "var(--_k096v41-1-10-0)", borderColor: "var(--_k096v42-1-10-0)" };
@@ -1,12 +1,12 @@
1
- ._10kgnsa0-1-9-0 {
1
+ ._10kgnsa0-1-10-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-1-9-0);
9
- color: var(--_bx32h0-1-9-0);
8
+ background: var(--_bx32h3-1-10-0);
9
+ color: var(--_bx32h0-1-10-0);
10
10
  display: inline-flex;
11
11
  position: relative;
12
12
  align-items: center;
@@ -23,42 +23,42 @@
23
23
  transition-duration: var(--dt-animations-hover-duration-base, 150ms);
24
24
  transition-property: color, background-color, transform;
25
25
  }
26
- ._10kgnsa1-1-9-0 {
26
+ ._10kgnsa1-1-10-0 {
27
27
  text-align: start;
28
28
  justify-content: space-between;
29
29
  }
30
- ._10kgnsa2-1-9-0 {
30
+ ._10kgnsa2-1-10-0 {
31
31
  text-align: center;
32
32
  justify-content: center;
33
33
  }
34
- ._10kgnsa3-1-9-0 {
34
+ ._10kgnsa3-1-10-0 {
35
35
  padding-top: var(--dt-spacings-size-2, 2px);
36
36
  padding-bottom: var(--dt-spacings-size-2, 2px);
37
37
  padding-left: var(--dt-spacings-size-4, 4px);
38
38
  padding-right: var(--dt-spacings-size-4, 4px);
39
39
  gap: var(--dt-spacings-size-2, 2px);
40
40
  }
41
- ._10kgnsa4-1-9-0 {
41
+ ._10kgnsa4-1-10-0 {
42
42
  padding-top: var(--dt-spacings-size-6, 6px);
43
43
  padding-bottom: var(--dt-spacings-size-6, 6px);
44
44
  padding-left: var(--dt-spacings-size-8, 8px);
45
45
  padding-right: var(--dt-spacings-size-8, 8px);
46
46
  gap: var(--dt-spacings-size-4, 4px);
47
47
  }
48
- ._10kgnsa5-1-9-0 {
48
+ ._10kgnsa5-1-10-0 {
49
49
  cursor: not-allowed;
50
50
  }
51
- ._10kgnsa6-1-9-0 {
51
+ ._10kgnsa6-1-10-0 {
52
52
  cursor: not-allowed;
53
- background: var(--_bx32h2-1-9-0);
53
+ background: var(--_bx32h2-1-10-0);
54
54
  }
55
- ._10kgnsa7-1-9-0 {
55
+ ._10kgnsa7-1-10-0 {
56
56
  width: 100%;
57
57
  }
58
- ._10kgnsa8-1-9-0 {
58
+ ._10kgnsa8-1-10-0 {
59
59
  width: fit-content;
60
60
  }
61
- ._10kgnsa9-1-9-0 {
61
+ ._10kgnsa9-1-10-0 {
62
62
  position: absolute;
63
63
  top: 0;
64
64
  left: 0;
@@ -70,19 +70,19 @@
70
70
  align-items: center;
71
71
  z-index: 1;
72
72
  }
73
- ._10kgnsa3-1-9-0 ._10kgnsaa-1-9-0:not(:has(svg:only-child)) {
73
+ ._10kgnsa3-1-10-0 ._10kgnsaa-1-10-0:not(:has(svg:only-child)) {
74
74
  padding-top: 0;
75
75
  padding-bottom: 0;
76
76
  padding-left: 2px;
77
77
  padding-right: 2px;
78
78
  }
79
- ._10kgnsa4-1-9-0 ._10kgnsaa-1-9-0:not(:has(svg:only-child)) {
79
+ ._10kgnsa4-1-10-0 ._10kgnsaa-1-10-0:not(:has(svg:only-child)) {
80
80
  padding-top: 0;
81
81
  padding-bottom: 0;
82
82
  padding-left: 4px;
83
83
  padding-right: 4px;
84
84
  }
85
- ._10kgnsac-1-9-0 {
85
+ ._10kgnsac-1-10-0 {
86
86
  display: inline-flex;
87
87
  min-width: 0;
88
88
  max-width: 100%;
@@ -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 {\n type ElementType,\n type MouseEventHandler,\n type PointerEvent,\n type ReactElement,\n type ReactNode,\n forwardRef,\n useMemo,\n Children,\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 { 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 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 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\nconst _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 @typescript-eslint/no-deprecated\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 'strato-inputgroup',\n fieldColorsCSS({ variant, color, disabled: disabledOrLoading }),\n buttonCSS({\n disabled: disabledOrLoading,\n textAlign,\n size,\n readOnly,\n }),\n focusClassName,\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 'strato-inputgroup',\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 )}\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": "AAsRQ,SAoFI,UApFJ,KA8EI,YA9EJ;AAtRR,OAAO,UAAU;AAEjB;AAAA,EAME;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAE1B,SAAS,WAAW,kBAAkB,uBAAuB;AAC7D,SAAS,aAAa;AACtB,SAAS,cAAc;AACvB,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAU7B,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,sBAAsB;AAmGhB,SAAR,eAAgC,UAAqB;AAC1D,QAAM,QAAqB,CAAC;AAE5B,WAAS,QAAQ,UAAU,CAAC,UAAU;AACpC,QAAI,UAAU,KAAK,GAAG;AACpB,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK;AACH,gBAAM,SAAS;AACf;AAAA,QACF,KAAK;AACH,gBAAM,SAAS;AACf;AAAA,QACF,KAAK;AACH,gBAAM,QAAQ;AACd;AAAA,QACF;AACE,gBAAM,aAAa,CAAC;AACpB,gBAAM,SAAS,KAAK,KAAK;AACzB;AAAA,MACJ;AAAA,IACF,OAAO;AACL,UAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAM,aAAa,CAAC;AACpB,cAAM,SAAS,KAAK,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,MAAM,UAEqC;AAAA,EACzC,CAAwB,OAAuB,QAA0B;AACvE,UAAM;AAAA,MACJ;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,iBAAiB;AAAA,MACjB;AAAA,MACA,IAAI;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,UAAU;AAAA,MACV,WAAW;AAAA,MACX,OAAO;AAAA,MACP,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,oBAAoB;AAAA;AAAA,MAEpB;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAoB;AACpB,UAAM,QAAQ,eAAe,QAAQ;AAErC,UAAM,eAAe,aAAa,gBAAgB;AAElD,UAAM,0BAA0B;AAAA,MAC9B,MAAO,UAAU,OAAO;AAAA,MACxB,CAAC,UAAU,OAAO;AAAA,IACpB;AACA,UAAM,oBAAoB;AAAA,MACxB,MAAM,2BAA2B;AAAA,MACjC,CAAC,cAAc,uBAAuB;AAAA,IACxC;AAEA,UAAM,EAAE,YAAY,eAAe,IAAI,aAAa;AAAA,MAClD,SAAS,CAAC,oBAAoB,QAAQ;AAAA,MACtC,UAAU;AAAA,IACZ,CAAC;AAED,UAAM,oBAAoB,qBAAqB,cAAc;AAE7D,UAAM,oBAAoD,CAAC,UAAU;AACnE,UAAI,yBAAyB;AAC3B,cAAM,eAAe;AACrB,cAAM,gBAAgB;AACtB;AAAA,MACF;AAEA,gBAAU,KAAK;AAAA,IACjB;AAEA,UAAM,cAAc;AAAA,MAClB;AAAA,MACA,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,oBAAoB;AAAA,MACpB;AAAA,MACA,UAAU,2BAA2B,CAAC;AAAA,MACtC,IAAI;AAAA,MACJ;AAAA,MACA,GAAG;AAAA,MACH,iBAAiB;AAAA,MACjB,SAAS;AAAA,IACX;AAKA,UAAM,2BAA2B;AAAA,MAC/B,cAAc,KAAmB;AAC/B,YAAI,yBAAyB;AAC3B,cAAI,eAAe;AACnB,cAAI,gBAAgB;AAAA,QACtB;AAAA,MACF;AAAA,MACA,YAAY,KAAmB;AAC7B,YAAI,yBAAyB;AAC3B,cAAI,eAAe;AACnB,cAAI,gBAAgB;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAEA,UAAM,cAAc,YAAY,aAAa;AAE7C,UAAM,oBAAoB;AAAA,MACxB,GAAG;AAAA,QACD;AAAA,QACA;AAAA;AAAA;AAAA;AAAA,QAIA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,UAAM,OAAO,QAAQ;AAGrB,UAAM,YAAY,MAAM;AAGxB,QAAI,CAAC,aAAa;AAChB,aACE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA,eAAe,EAAE,SAAS,OAAO,UAAU,kBAAkB,CAAC;AAAA,YAC9D,UAAU;AAAA,cACR,UAAU;AAAA,cACV;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,YACD;AAAA,YACA;AAAA,cACE,CAAC,GAAG,gBAAgB,OAAO,EAAE,GAAG,UAAU;AAAA,cAC1C,CAAC,GAAG,gBAAgB,IAAI,EAAE,GAAG,UAAU;AAAA,YACzC;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL,OAAO,UAAU,aAAa,UAAU,SAAS,QAAQ;AAAA,UAC3D;AAAA;AAAA,MACF;AAAA,IAEJ;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA,eAAe;AAAA,YACb;AAAA,YACA;AAAA,YACA,UAAU,qBAAqB;AAAA,UACjC,CAAC;AAAA,UACD,UAAU;AAAA,YACR,UAAU,qBAAqB;AAAA,YAC/B;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA,UACD;AAAA,YACE,CAAC,GAAG,gBAAgB,OAAO,EAAE,GAAG,UAAU;AAAA,YAC1C,CAAC,GAAG,gBAAgB,IAAI,EAAE,GAAG,UAAU;AAAA,UACzC;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,OAAO,UAAU,aAAa,UAAU,SAAS,QAAQ;AAAA,UACzD,GAAG;AAAA,QACL;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,qBACC,oBAAC,SAAI,WAAW,kBACd;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL;AAAA,cACA,cAAY,KAAK,cAAc;AAAA,gBAC7B,gBAAgB;AAAA,gBAChB,IAAI;AAAA,gBACJ,aAAa;AAAA,cACf,CAAC;AAAA;AAAA,UACH,GACF;AAAA,UAEF;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,SAAS,YAAY,IAAI;AAAA,cAC9B,MAAK;AAAA,cACL,OAAO;AAAA,cACP,UAAS;AAAA,cACT,YAAW;AAAA,cACX,gBAAgB,cAAc,UAAU,kBAAkB;AAAA,cAC1D,OAAO;AAAA,gBACL,YAAY,UAAU,WAAW;AAAA,cACnC;AAAA,cAEC;AAAA,8BAAc,UACb,qBAAC,QAAK,UAAU,GAAG,KAAK,SAAS,YAAY,IAAI,GAC9C;AAAA,wBAAM;AAAA,kBACN,MAAM;AAAA,kBACN,MAAM,YAAY,oBAAC,OAAO,OAAP,EAAc,gBAAM,UAAS;AAAA,mBACnD,IAEA,iCACG;AAAA,wBAAM;AAAA,kBACN,MAAM;AAAA,kBACN,MAAM,YAAY,oBAAC,OAAO,OAAP,EAAc,gBAAM,UAAS;AAAA,mBACnD;AAAA,gBAED,MAAM;AAAA;AAAA;AAAA,UACT;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEC,QAAqD,cAAc;AAS7D,MAAM,SAAS,OAAO,OAAO,SAAS;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport * as CSS from 'csstype';\nimport {\n type ElementType,\n type MouseEventHandler,\n type PointerEvent,\n type ReactElement,\n type ReactNode,\n forwardRef,\n useMemo,\n Children,\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 { 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 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 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\nconst _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 @typescript-eslint/no-deprecated\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 'strato-inputgroup',\n fieldColorsCSS({ variant, color, disabled: disabledOrLoading }),\n buttonCSS({\n disabled: disabledOrLoading,\n textAlign,\n size,\n readOnly,\n }),\n focusClassName,\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 'strato-inputgroup',\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 )}\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
  }