@dynatrace/strato-components 1.16.0 → 1.16.1

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 (179) hide show
  1. package/buttons/button/Button.css +16 -16
  2. package/buttons/button/Button.js +4 -1
  3. package/buttons/button/Button.sty.js +4 -4
  4. package/buttons/intent-button/IntentButton.js +4 -1
  5. package/content/progress/ProgressBar.css +71 -71
  6. package/content/progress/ProgressBar.sty.js +5 -5
  7. package/content/progress/ProgressBarIcon.css +2 -2
  8. package/content/progress/ProgressBarIcon.sty.js +1 -1
  9. package/content/progress/ProgressBarLabel.css +3 -3
  10. package/content/progress/ProgressBarLabel.sty.js +1 -1
  11. package/content/progress/ProgressBarValue.css +5 -5
  12. package/content/progress/ProgressBarValue.sty.js +1 -1
  13. package/content/progress/ProgressCircle.css +40 -40
  14. package/content/progress/ProgressCircle.sty.js +5 -5
  15. package/content/skeleton/Skeleton.css +7 -7
  16. package/content/skeleton/Skeleton.sty.js +5 -5
  17. package/core/components/app-root/AppRoot.js +3 -1
  18. package/core/hooks/useBehavioralTrackingProps.d.ts +2 -0
  19. package/core/hooks/useBehavioralTrackingProps.js +46 -0
  20. package/core/index.d.ts +1 -0
  21. package/core/styles/focusRing.css +66 -66
  22. package/core/styles/focusRing.sty.js +2 -2
  23. package/core/types/behavior-tracking-props.d.ts +33 -0
  24. package/core/types/behavior-tracking-props.js +16 -0
  25. package/core/utils/colorUtils.css +60 -60
  26. package/core/utils/colorUtils.sty.js +2 -2
  27. package/esm/buttons/button/Button.css +16 -16
  28. package/esm/buttons/button/Button.js +4 -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 +1 -1
  32. package/esm/buttons/intent-button/IntentButton.js +4 -1
  33. package/esm/buttons/intent-button/IntentButton.js.map +2 -2
  34. package/esm/content/progress/ProgressBar.css +71 -71
  35. package/esm/content/progress/ProgressBar.sty.js +5 -5
  36. package/esm/content/progress/ProgressBar.sty.js.map +1 -1
  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 +1 -1
  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 +1 -1
  46. package/esm/content/progress/ProgressCircle.css +40 -40
  47. package/esm/content/progress/ProgressCircle.sty.js +5 -5
  48. package/esm/content/progress/ProgressCircle.sty.js.map +1 -1
  49. package/esm/content/skeleton/Skeleton.css +7 -7
  50. package/esm/content/skeleton/Skeleton.sty.js +5 -5
  51. package/esm/content/skeleton/Skeleton.sty.js.map +1 -1
  52. package/esm/core/components/app-root/AppRoot.js +3 -1
  53. package/esm/core/components/app-root/AppRoot.js.map +2 -2
  54. package/esm/core/hooks/useBehavioralTrackingProps.js +27 -0
  55. package/esm/core/hooks/useBehavioralTrackingProps.js.map +7 -0
  56. package/esm/core/index.js.map +1 -1
  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 +1 -1
  60. package/esm/core/types/behavior-tracking-props.js +1 -0
  61. package/esm/core/types/behavior-tracking-props.js.map +7 -0
  62. package/esm/core/utils/colorUtils.css +60 -60
  63. package/esm/core/utils/colorUtils.sty.js +2 -2
  64. package/esm/core/utils/colorUtils.sty.js.map +1 -1
  65. package/esm/layouts/container/Container.css +4 -4
  66. package/esm/layouts/container/Container.sty.js +1 -1
  67. package/esm/layouts/container/Container.sty.js.map +1 -1
  68. package/esm/layouts/divider/Divider.css +6 -6
  69. package/esm/layouts/divider/Divider.sty.js +1 -1
  70. package/esm/layouts/divider/Divider.sty.js.map +1 -1
  71. package/esm/layouts/surface/Surface.css +39 -39
  72. package/esm/layouts/surface/Surface.sty.js +2 -2
  73. package/esm/layouts/surface/Surface.sty.js.map +1 -1
  74. package/esm/layouts/surface/variables.sty.js +1 -1
  75. package/esm/layouts/surface/variables.sty.js.map +1 -1
  76. package/esm/styles/colorUtils.css +60 -60
  77. package/esm/styles/colorUtils.sty.js +2 -2
  78. package/esm/styles/colorUtils.sty.js.map +1 -1
  79. package/esm/styles/container.css +47 -47
  80. package/esm/styles/container.sty.js +2 -2
  81. package/esm/styles/container.sty.js.map +1 -1
  82. package/esm/styles/ellipsis.css +1 -1
  83. package/esm/styles/ellipsis.sty.js +1 -1
  84. package/esm/styles/ellipsis.sty.js.map +1 -1
  85. package/esm/styles/field.css +153 -153
  86. package/esm/styles/field.sty.js +2 -2
  87. package/esm/styles/field.sty.js.map +1 -1
  88. package/esm/styles/sprinkles.css +262 -262
  89. package/esm/styles/sprinkles.sty.js +1 -1
  90. package/esm/styles/sprinkles.sty.js.map +1 -1
  91. package/esm/styles/textStyle.css +8 -8
  92. package/esm/styles/textStyle.sty.js +1 -1
  93. package/esm/styles/textStyle.sty.js.map +1 -1
  94. package/esm/typography/block-quote/Blockquote.css +2 -2
  95. package/esm/typography/block-quote/Blockquote.sty.js +1 -1
  96. package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
  97. package/esm/typography/code/Code.css +1 -1
  98. package/esm/typography/code/Code.sty.js +1 -1
  99. package/esm/typography/code/Code.sty.js.map +1 -1
  100. package/esm/typography/emphasis/Emphasis.css +1 -1
  101. package/esm/typography/emphasis/Emphasis.sty.js +1 -1
  102. package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
  103. package/esm/typography/external-link/ExternalLink.css +5 -5
  104. package/esm/typography/external-link/ExternalLink.sty.js +1 -1
  105. package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
  106. package/esm/typography/heading/Heading.css +7 -7
  107. package/esm/typography/heading/Heading.sty.js +1 -1
  108. package/esm/typography/heading/Heading.sty.js.map +1 -1
  109. package/esm/typography/highlight/Highlight.css +2 -2
  110. package/esm/typography/highlight/Highlight.sty.js +1 -1
  111. package/esm/typography/highlight/Highlight.sty.js.map +1 -1
  112. package/esm/typography/link/Link.css +3 -3
  113. package/esm/typography/link/Link.sty.js +1 -1
  114. package/esm/typography/link/Link.sty.js.map +1 -1
  115. package/esm/typography/list/List.css +4 -4
  116. package/esm/typography/list/List.sty.js +2 -2
  117. package/esm/typography/list/List.sty.js.map +1 -1
  118. package/esm/typography/paragraph/Paragraph.css +3 -3
  119. package/esm/typography/paragraph/Paragraph.sty.js +1 -1
  120. package/esm/typography/paragraph/Paragraph.sty.js.map +1 -1
  121. package/esm/typography/strikethrough/Strikethrough.css +1 -1
  122. package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
  123. package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
  124. package/esm/typography/strong/Strong.css +1 -1
  125. package/esm/typography/strong/Strong.sty.js +1 -1
  126. package/esm/typography/strong/Strong.sty.js.map +1 -1
  127. package/esm/typography/text/Text.css +3 -3
  128. package/esm/typography/text/Text.sty.js +1 -1
  129. package/esm/typography/text/Text.sty.js.map +1 -1
  130. package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
  131. package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
  132. package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
  133. package/layouts/container/Container.css +4 -4
  134. package/layouts/container/Container.sty.js +1 -1
  135. package/layouts/divider/Divider.css +6 -6
  136. package/layouts/divider/Divider.sty.js +1 -1
  137. package/layouts/surface/Surface.css +39 -39
  138. package/layouts/surface/Surface.sty.js +2 -2
  139. package/layouts/surface/variables.sty.js +1 -1
  140. package/package.json +4 -4
  141. package/styles/colorUtils.css +60 -60
  142. package/styles/colorUtils.sty.js +2 -2
  143. package/styles/container.css +47 -47
  144. package/styles/container.sty.js +2 -2
  145. package/styles/ellipsis.css +1 -1
  146. package/styles/ellipsis.sty.js +1 -1
  147. package/styles/field.css +153 -153
  148. package/styles/field.sty.js +2 -2
  149. package/styles/sprinkles.css +262 -262
  150. package/styles/sprinkles.sty.d.ts +12 -12
  151. package/styles/sprinkles.sty.js +1 -1
  152. package/styles/textStyle.css +8 -8
  153. package/styles/textStyle.sty.js +1 -1
  154. package/typography/block-quote/Blockquote.css +2 -2
  155. package/typography/block-quote/Blockquote.sty.js +1 -1
  156. package/typography/code/Code.css +1 -1
  157. package/typography/code/Code.sty.js +1 -1
  158. package/typography/emphasis/Emphasis.css +1 -1
  159. package/typography/emphasis/Emphasis.sty.js +1 -1
  160. package/typography/external-link/ExternalLink.css +5 -5
  161. package/typography/external-link/ExternalLink.sty.js +1 -1
  162. package/typography/heading/Heading.css +7 -7
  163. package/typography/heading/Heading.sty.js +1 -1
  164. package/typography/highlight/Highlight.css +2 -2
  165. package/typography/highlight/Highlight.sty.js +1 -1
  166. package/typography/link/Link.css +3 -3
  167. package/typography/link/Link.sty.js +1 -1
  168. package/typography/list/List.css +4 -4
  169. package/typography/list/List.sty.js +2 -2
  170. package/typography/paragraph/Paragraph.css +3 -3
  171. package/typography/paragraph/Paragraph.sty.js +1 -1
  172. package/typography/strikethrough/Strikethrough.css +1 -1
  173. package/typography/strikethrough/Strikethrough.sty.js +1 -1
  174. package/typography/strong/Strong.css +1 -1
  175. package/typography/strong/Strong.sty.js +1 -1
  176. package/typography/text/Text.css +3 -3
  177. package/typography/text/Text.sty.js +1 -1
  178. package/typography/text-ellipsis/TextEllipsis.css +6 -6
  179. package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
@@ -0,0 +1,2 @@
1
+ import type { BehaviorTrackingProps } from '../types/behavior-tracking-props.js';
2
+ export declare const useBehavioralTrackingProps: <TProps extends object>(props: TProps) => [BehaviorTrackingProps, Omit<TProps, keyof BehaviorTrackingProps>];
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useBehavioralTrackingProps_exports = {};
20
+ __export(useBehavioralTrackingProps_exports, {
21
+ useBehavioralTrackingProps: () => useBehavioralTrackingProps
22
+ });
23
+ module.exports = __toCommonJS(useBehavioralTrackingProps_exports);
24
+ var import_react = require("react");
25
+ const behaviorTrackingPropKeys = [
26
+ "data-dt-content",
27
+ "data-dt-name",
28
+ "data-dt-children-name",
29
+ "data-dt-features",
30
+ "data-dt-properties",
31
+ "data-dt-mouse-over",
32
+ "data-dt-value-content",
33
+ "data-dt-children-value-content",
34
+ "data-dt-ancestor"
35
+ ];
36
+ const useBehavioralTrackingProps = (props) => (0, import_react.useMemo)(() => {
37
+ const behavioralTrackingProps = {};
38
+ const restProps = { ...props };
39
+ for (const [key, value] of Object.entries(props)) {
40
+ if (behaviorTrackingPropKeys.includes(key) && typeof value === "string") {
41
+ behavioralTrackingProps[key] = value;
42
+ delete restProps[key];
43
+ }
44
+ }
45
+ return [behavioralTrackingProps, restProps];
46
+ }, [props]);
package/core/index.d.ts CHANGED
@@ -25,3 +25,4 @@ export type { AriaDisabledProps, AriaLabelingProps, } from './types/a11y-props.j
25
25
  export type { DOMProps } from './types/dom.js';
26
26
  export { canReceiveDefaultTextFormat as _canReceiveDefaultTextFormat } from './utils/can-receive-default-text-format.js';
27
27
  export { parseBoolean as _parseBoolean } from './utils/parse-boolean.js';
28
+ export type { BehaviorTrackingProps } from './types/behavior-tracking-props.js';
@@ -1,75 +1,75 @@
1
- ._z2r50s3-1-16-0 {
1
+ ._z2r50s3-1-16-1 {
2
2
  outline: none;
3
3
  }
4
- ._z2r50s3-1-16-0:focus-visible {
4
+ ._z2r50s3-1-16-1:focus-visible {
5
5
  outline: none;
6
6
  }
7
- ._z2r50s4-1-16-0 {
7
+ ._z2r50s4-1-16-1 {
8
8
  border-radius: var(--dt-borders-radius-field-subdued, 3px);
9
- box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-16-0);
10
- background-color: var(--_z2r50s2-1-16-0);
11
- }
12
- ._z2r50s5-1-16-0._z2r50s5-1-16-0 {
13
- box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-16-0), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-16-0);
14
- }
15
- ._z2r50s6-1-16-0 {
16
- --_z2r50s0-1-16-0: var(--dt-colors-border-neutral-accent, #595a7d);
17
- --_z2r50s1-1-16-0: var(--dt-colors-border-neutral-default, #dadbe4);
18
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
19
- }
20
- ._z2r50s7-1-16-0 {
21
- --_z2r50s0-1-16-0: var(--dt-colors-border-primary-accent, #464cce);
22
- --_z2r50s1-1-16-0: var(--dt-colors-border-primary-default, #d5dbf6);
23
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
24
- }
25
- ._z2r50s8-1-16-0 {
26
- --_z2r50s0-1-16-0: var(--dt-colors-border-success-accent, #2d6761);
27
- --_z2r50s1-1-16-0: var(--dt-colors-border-success-default, #d3dedd);
28
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
29
- }
30
- ._z2r50s9-1-16-0 {
31
- --_z2r50s0-1-16-0: var(--dt-colors-border-warning-accent, #855400);
32
- --_z2r50s1-1-16-0: var(--dt-colors-border-warning-default, #f9ebdb);
33
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
34
- }
35
- ._z2r50sa-1-16-0 {
36
- --_z2r50s0-1-16-0: var(--dt-colors-border-critical-accent, #bb0731);
37
- --_z2r50s1-1-16-0: var(--dt-colors-border-critical-default, #f6d6d5);
38
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-critical-emphasized, #f8e1e1);
39
- }
40
- ._z2r50sb-1-16-0:focus-within {
9
+ box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-16-1);
10
+ background-color: var(--_z2r50s2-1-16-1);
11
+ }
12
+ ._z2r50s5-1-16-1._z2r50s5-1-16-1 {
13
+ box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-16-1), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-16-1);
14
+ }
15
+ ._z2r50s6-1-16-1 {
16
+ --_z2r50s0-1-16-1: var(--dt-colors-border-neutral-accent, #595a7d);
17
+ --_z2r50s1-1-16-1: var(--dt-colors-border-neutral-default, #dadbe4);
18
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
19
+ }
20
+ ._z2r50s7-1-16-1 {
21
+ --_z2r50s0-1-16-1: var(--dt-colors-border-primary-accent, #464cce);
22
+ --_z2r50s1-1-16-1: var(--dt-colors-border-primary-default, #d5dbf6);
23
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
24
+ }
25
+ ._z2r50s8-1-16-1 {
26
+ --_z2r50s0-1-16-1: var(--dt-colors-border-success-accent, #2d6761);
27
+ --_z2r50s1-1-16-1: var(--dt-colors-border-success-default, #d3dedd);
28
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
29
+ }
30
+ ._z2r50s9-1-16-1 {
31
+ --_z2r50s0-1-16-1: var(--dt-colors-border-warning-accent, #855400);
32
+ --_z2r50s1-1-16-1: var(--dt-colors-border-warning-default, #f9ebdb);
33
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
34
+ }
35
+ ._z2r50sa-1-16-1 {
36
+ --_z2r50s0-1-16-1: var(--dt-colors-border-critical-accent, #bb0731);
37
+ --_z2r50s1-1-16-1: var(--dt-colors-border-critical-default, #f6d6d5);
38
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-critical-emphasized, #f8e1e1);
39
+ }
40
+ ._z2r50sb-1-16-1:focus-within {
41
41
  outline: none;
42
42
  }
43
- ._z2r50sc-1-16-0:focus-within {
43
+ ._z2r50sc-1-16-1:focus-within {
44
44
  border-radius: var(--dt-borders-radius-field-subdued, 3px);
45
- box-shadow: inset 0 0 0 var(--dt-borders-width-default, 1px) var(--_z2r50s0-1-16-0);
46
- background-color: var(--_z2r50s2-1-16-0);
47
- }
48
- ._z2r50sd-1-16-0:focus-within {
49
- box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-16-0), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-16-0);
50
- }
51
- ._z2r50se-1-16-0 {
52
- --_z2r50s0-1-16-0: var(--dt-colors-border-neutral-accent, #595a7d);
53
- --_z2r50s1-1-16-0: var(--dt-colors-border-neutral-default, #dadbe4);
54
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
55
- }
56
- ._z2r50sf-1-16-0 {
57
- --_z2r50s0-1-16-0: var(--dt-colors-border-primary-accent, #464cce);
58
- --_z2r50s1-1-16-0: var(--dt-colors-border-primary-default, #d5dbf6);
59
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
60
- }
61
- ._z2r50sg-1-16-0 {
62
- --_z2r50s0-1-16-0: var(--dt-colors-border-success-accent, #2d6761);
63
- --_z2r50s1-1-16-0: var(--dt-colors-border-success-default, #d3dedd);
64
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
65
- }
66
- ._z2r50sh-1-16-0 {
67
- --_z2r50s0-1-16-0: var(--dt-colors-border-warning-accent, #855400);
68
- --_z2r50s1-1-16-0: var(--dt-colors-border-warning-default, #f9ebdb);
69
- --_z2r50s2-1-16-0: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
70
- }
71
- ._z2r50si-1-16-0 {
72
- --_z2r50s0-1-16-0: var(--dt-colors-border-critical-accent, #bb0731);
73
- --_z2r50s1-1-16-0: var(--dt-colors-border-critical-default, #f6d6d5);
74
- --_z2r50s2-1-16-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-16-1);
46
+ background-color: var(--_z2r50s2-1-16-1);
47
+ }
48
+ ._z2r50sd-1-16-1:focus-within {
49
+ box-shadow: inset 0 0 0 var(--dt-borders-width-emphasized, 2px) var(--_z2r50s0-1-16-1), inset 0 0 0 calc(var(--dt-borders-width-emphasized, 2px) + 1px) var(--_z2r50s1-1-16-1);
50
+ }
51
+ ._z2r50se-1-16-1 {
52
+ --_z2r50s0-1-16-1: var(--dt-colors-border-neutral-accent, #595a7d);
53
+ --_z2r50s1-1-16-1: var(--dt-colors-border-neutral-default, #dadbe4);
54
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-neutral-emphasized, #e4e5eb);
55
+ }
56
+ ._z2r50sf-1-16-1 {
57
+ --_z2r50s0-1-16-1: var(--dt-colors-border-primary-accent, #464cce);
58
+ --_z2r50s1-1-16-1: var(--dt-colors-border-primary-default, #d5dbf6);
59
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-primary-emphasized, #e1e5f7);
60
+ }
61
+ ._z2r50sg-1-16-1 {
62
+ --_z2r50s0-1-16-1: var(--dt-colors-border-success-accent, #2d6761);
63
+ --_z2r50s1-1-16-1: var(--dt-colors-border-success-default, #d3dedd);
64
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-success-emphasized, #e0e7e6);
65
+ }
66
+ ._z2r50sh-1-16-1 {
67
+ --_z2r50s0-1-16-1: var(--dt-colors-border-warning-accent, #855400);
68
+ --_z2r50s1-1-16-1: var(--dt-colors-border-warning-default, #f9ebdb);
69
+ --_z2r50s2-1-16-1: var(--dt-colors-background-field-warning-emphasized, #f9f0e5);
70
+ }
71
+ ._z2r50si-1-16-1 {
72
+ --_z2r50s0-1-16-1: var(--dt-colors-border-critical-accent, #bb0731);
73
+ --_z2r50s1-1-16-1: var(--dt-colors-border-critical-default, #f6d6d5);
74
+ --_z2r50s2-1-16-1: 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-16-0", variantClassNames: { minimal: { true: "_z2r50s4-1-16-0", false: "_z2r50s5-1-16-0" }, variant: { neutral: "_z2r50s6-1-16-0", primary: "_z2r50s7-1-16-0", success: "_z2r50s8-1-16-0", warning: "_z2r50s9-1-16-0", critical: "_z2r50sa-1-16-0" } }, defaultVariants: {}, compoundVariants: [] });
28
- var focusRingFocusWithinCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50sb-1-16-0", variantClassNames: { minimal: { true: "_z2r50sc-1-16-0", false: "_z2r50sd-1-16-0" }, variant: { neutral: "_z2r50se-1-16-0", primary: "_z2r50sf-1-16-0", success: "_z2r50sg-1-16-0", warning: "_z2r50sh-1-16-0", critical: "_z2r50si-1-16-0" } }, defaultVariants: {}, compoundVariants: [] });
27
+ var focusRingCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50s3-1-16-1", variantClassNames: { minimal: { true: "_z2r50s4-1-16-1", false: "_z2r50s5-1-16-1" }, variant: { neutral: "_z2r50s6-1-16-1", primary: "_z2r50s7-1-16-1", success: "_z2r50s8-1-16-1", warning: "_z2r50s9-1-16-1", critical: "_z2r50sa-1-16-1" } }, defaultVariants: {}, compoundVariants: [] });
28
+ var focusRingFocusWithinCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_z2r50sb-1-16-1", variantClassNames: { minimal: { true: "_z2r50sc-1-16-1", false: "_z2r50sd-1-16-1" }, variant: { neutral: "_z2r50se-1-16-1", primary: "_z2r50sf-1-16-1", success: "_z2r50sg-1-16-1", warning: "_z2r50sh-1-16-1", critical: "_z2r50si-1-16-1" } }, defaultVariants: {}, compoundVariants: [] });
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The data tracking attributes required for components and their children.
3
+ * @public
4
+ */
5
+ export interface BehaviorTrackingProps {
6
+ 'data-dt-content'?: string;
7
+ /**
8
+ * Sets a custom name for a specific element.
9
+ */
10
+ 'data-dt-name'?: string;
11
+ /**
12
+ * Sets a custom name for the element itself and all descendant elements that don't have their own naming attributes.
13
+ */
14
+ 'data-dt-children-name'?: string;
15
+ /**
16
+ * Groups elements into logical features for tracking and analysis. Features are inherited from all ancestors and concatenated together.
17
+ */
18
+ 'data-dt-features'?: string;
19
+ /**
20
+ * Attaches key-value properties to a specific element for additional context and metadata.
21
+ */
22
+ 'data-dt-properties'?: string;
23
+ /**
24
+ * Enables mouse hover tracking with a minimum duration threshold. Only captures hover events if the user stays over the element for the specified milliseconds.
25
+ */
26
+ 'data-dt-mouse-over'?: string;
27
+ 'data-dt-value-content'?: string;
28
+ 'data-dt-children-value-content'?: string;
29
+ /**
30
+ * Overrides the DOM parent relationship with a logical parent for attribute inheritance.
31
+ */
32
+ 'data-dt-ancestor'?: string;
33
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var behavior_tracking_props_exports = {};
16
+ module.exports = __toCommonJS(behavior_tracking_props_exports);
@@ -1,75 +1,75 @@
1
- ._k096v44-1-16-0 {
2
- --_k096v40-1-16-0: var(--dt-colors-text-critical-default, #bb0731);
3
- --_k096v41-1-16-0: var(--dt-colors-icon-critical-default, #bb0731);
4
- --_k096v42-1-16-0: var(--dt-colors-border-critical-default, #f6d6d5);
1
+ ._k096v44-1-16-1 {
2
+ --_k096v40-1-16-1: var(--dt-colors-text-critical-default, #bb0731);
3
+ --_k096v41-1-16-1: var(--dt-colors-icon-critical-default, #bb0731);
4
+ --_k096v42-1-16-1: var(--dt-colors-border-critical-default, #f6d6d5);
5
5
  }
6
- ._k096v45-1-16-0 {
7
- --_k096v40-1-16-0: var(--dt-colors-text-neutral-default, #2f2f4f);
8
- --_k096v41-1-16-0: var(--dt-colors-icon-neutral-default, #2f2f4f);
9
- --_k096v42-1-16-0: var(--dt-colors-border-neutral-default, #dadbe4);
6
+ ._k096v45-1-16-1 {
7
+ --_k096v40-1-16-1: var(--dt-colors-text-neutral-default, #2f2f4f);
8
+ --_k096v41-1-16-1: var(--dt-colors-icon-neutral-default, #2f2f4f);
9
+ --_k096v42-1-16-1: var(--dt-colors-border-neutral-default, #dadbe4);
10
10
  }
11
- ._k096v46-1-16-0 {
12
- --_k096v40-1-16-0: var(--dt-colors-text-primary-default, #464cce);
13
- --_k096v41-1-16-0: var(--dt-colors-icon-primary-default, #464cce);
14
- --_k096v42-1-16-0: var(--dt-colors-border-primary-default, #d5dbf6);
11
+ ._k096v46-1-16-1 {
12
+ --_k096v40-1-16-1: var(--dt-colors-text-primary-default, #464cce);
13
+ --_k096v41-1-16-1: var(--dt-colors-icon-primary-default, #464cce);
14
+ --_k096v42-1-16-1: var(--dt-colors-border-primary-default, #d5dbf6);
15
15
  }
16
- ._k096v47-1-16-0 {
17
- --_k096v40-1-16-0: var(--dt-colors-text-success-default, #2d6761);
18
- --_k096v41-1-16-0: var(--dt-colors-icon-success-default, #2d6761);
19
- --_k096v42-1-16-0: var(--dt-colors-border-success-default, #d3dedd);
16
+ ._k096v47-1-16-1 {
17
+ --_k096v40-1-16-1: var(--dt-colors-text-success-default, #2d6761);
18
+ --_k096v41-1-16-1: var(--dt-colors-icon-success-default, #2d6761);
19
+ --_k096v42-1-16-1: var(--dt-colors-border-success-default, #d3dedd);
20
20
  }
21
- ._k096v48-1-16-0 {
22
- --_k096v40-1-16-0: var(--dt-colors-text-warning-default, #855400);
23
- --_k096v41-1-16-0: var(--dt-colors-icon-warning-default, #855400);
24
- --_k096v42-1-16-0: var(--dt-colors-border-warning-default, #f9ebdb);
21
+ ._k096v48-1-16-1 {
22
+ --_k096v40-1-16-1: var(--dt-colors-text-warning-default, #855400);
23
+ --_k096v41-1-16-1: var(--dt-colors-icon-warning-default, #855400);
24
+ --_k096v42-1-16-1: var(--dt-colors-border-warning-default, #f9ebdb);
25
25
  }
26
- ._k096v4d-1-16-0 {
27
- --_k096v40-1-16-0: var(--dt-colors-text-primary-on-accent-default, #f4f4fb);
28
- --_k096v41-1-16-0: var(--dt-colors-icon-primary-on-accent-default, #f4f4fb);
29
- --_k096v42-1-16-0: var(--dt-colors-border-primary-accent, #464cce);
26
+ ._k096v4d-1-16-1 {
27
+ --_k096v40-1-16-1: var(--dt-colors-text-primary-on-accent-default, #f4f4fb);
28
+ --_k096v41-1-16-1: var(--dt-colors-icon-primary-on-accent-default, #f4f4fb);
29
+ --_k096v42-1-16-1: var(--dt-colors-border-primary-accent, #464cce);
30
30
  }
31
- ._k096v4e-1-16-0 {
32
- --_k096v40-1-16-0: var(--dt-colors-text-success-on-accent-default, #f1f4f4);
33
- --_k096v41-1-16-0: var(--dt-colors-icon-success-on-accent-default, #f1f4f4);
34
- --_k096v42-1-16-0: var(--dt-colors-border-success-accent, #2d6761);
31
+ ._k096v4e-1-16-1 {
32
+ --_k096v40-1-16-1: var(--dt-colors-text-success-on-accent-default, #f1f4f4);
33
+ --_k096v41-1-16-1: var(--dt-colors-icon-success-on-accent-default, #f1f4f4);
34
+ --_k096v42-1-16-1: var(--dt-colors-border-success-accent, #2d6761);
35
35
  }
36
- ._k096v4f-1-16-0 {
37
- --_k096v40-1-16-0: var(--dt-colors-text-warning-on-accent-default, #272024);
38
- --_k096v41-1-16-0: var(--dt-colors-icon-warning-on-accent-default, #272024);
39
- --_k096v42-1-16-0: var(--dt-colors-border-warning-accent, #855400);
36
+ ._k096v4f-1-16-1 {
37
+ --_k096v40-1-16-1: var(--dt-colors-text-warning-on-accent-default, #272024);
38
+ --_k096v41-1-16-1: var(--dt-colors-icon-warning-on-accent-default, #272024);
39
+ --_k096v42-1-16-1: var(--dt-colors-border-warning-accent, #855400);
40
40
  }
41
- ._k096v4g-1-16-0 {
42
- --_k096v40-1-16-0: var(--dt-colors-text-critical-on-accent-default, #f9f1f3);
43
- --_k096v41-1-16-0: var(--dt-colors-icon-critical-on-accent-default, #f9f1f3);
44
- --_k096v42-1-16-0: var(--dt-colors-border-critical-accent, #bb0731);
41
+ ._k096v4g-1-16-1 {
42
+ --_k096v40-1-16-1: var(--dt-colors-text-critical-on-accent-default, #f9f1f3);
43
+ --_k096v41-1-16-1: var(--dt-colors-icon-critical-on-accent-default, #f9f1f3);
44
+ --_k096v42-1-16-1: var(--dt-colors-border-critical-accent, #bb0731);
45
45
  }
46
- ._k096v4h-1-16-0 {
47
- --_k096v40-1-16-0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
48
- --_k096v41-1-16-0: var(--dt-colors-icon-neutral-on-accent-default, #f3f3f6);
49
- --_k096v42-1-16-0: var(--dt-colors-border-neutral-accent, #595a7d);
46
+ ._k096v4h-1-16-1 {
47
+ --_k096v40-1-16-1: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
48
+ --_k096v41-1-16-1: var(--dt-colors-icon-neutral-on-accent-default, #f3f3f6);
49
+ --_k096v42-1-16-1: var(--dt-colors-border-neutral-accent, #595a7d);
50
50
  }
51
- ._k096v4i-1-16-0 {
52
- --_k096v40-1-16-0: var(--dt-colors-text-primary-disabled, #595a7d80);
53
- --_k096v41-1-16-0: var(--dt-colors-icon-primary-disabled, #595a7d80);
54
- --_k096v42-1-16-0: var(--dt-colors-border-primary-disabled, #dadbe480);
51
+ ._k096v4i-1-16-1 {
52
+ --_k096v40-1-16-1: var(--dt-colors-text-primary-disabled, #595a7d80);
53
+ --_k096v41-1-16-1: var(--dt-colors-icon-primary-disabled, #595a7d80);
54
+ --_k096v42-1-16-1: var(--dt-colors-border-primary-disabled, #dadbe480);
55
55
  }
56
- ._k096v4j-1-16-0 {
57
- --_k096v40-1-16-0: var(--dt-colors-text-success-disabled, #595a7d80);
58
- --_k096v41-1-16-0: var(--dt-colors-icon-success-disabled, #595a7d80);
59
- --_k096v42-1-16-0: var(--dt-colors-border-success-disabled, #dadbe480);
56
+ ._k096v4j-1-16-1 {
57
+ --_k096v40-1-16-1: var(--dt-colors-text-success-disabled, #595a7d80);
58
+ --_k096v41-1-16-1: var(--dt-colors-icon-success-disabled, #595a7d80);
59
+ --_k096v42-1-16-1: var(--dt-colors-border-success-disabled, #dadbe480);
60
60
  }
61
- ._k096v4k-1-16-0 {
62
- --_k096v40-1-16-0: var(--dt-colors-text-warning-disabled, #595a7d80);
63
- --_k096v41-1-16-0: var(--dt-colors-icon-warning-disabled, #595a7d80);
64
- --_k096v42-1-16-0: var(--dt-colors-border-warning-disabled, #dadbe480);
61
+ ._k096v4k-1-16-1 {
62
+ --_k096v40-1-16-1: var(--dt-colors-text-warning-disabled, #595a7d80);
63
+ --_k096v41-1-16-1: var(--dt-colors-icon-warning-disabled, #595a7d80);
64
+ --_k096v42-1-16-1: var(--dt-colors-border-warning-disabled, #dadbe480);
65
65
  }
66
- ._k096v4l-1-16-0 {
67
- --_k096v40-1-16-0: var(--dt-colors-text-critical-disabled, #595a7d80);
68
- --_k096v41-1-16-0: var(--dt-colors-icon-critical-disabled, #595a7d80);
69
- --_k096v42-1-16-0: var(--dt-colors-border-critical-disabled, #dadbe480);
66
+ ._k096v4l-1-16-1 {
67
+ --_k096v40-1-16-1: var(--dt-colors-text-critical-disabled, #595a7d80);
68
+ --_k096v41-1-16-1: var(--dt-colors-icon-critical-disabled, #595a7d80);
69
+ --_k096v42-1-16-1: var(--dt-colors-border-critical-disabled, #dadbe480);
70
70
  }
71
- ._k096v4m-1-16-0 {
72
- --_k096v40-1-16-0: var(--dt-colors-text-neutral-disabled, #595a7d80);
73
- --_k096v41-1-16-0: var(--dt-colors-icon-neutral-disabled, #595a7d80);
74
- --_k096v42-1-16-0: var(--dt-colors-border-neutral-disabled, #dadbe480);
71
+ ._k096v4m-1-16-1 {
72
+ --_k096v40-1-16-1: var(--dt-colors-text-neutral-disabled, #595a7d80);
73
+ --_k096v41-1-16-1: var(--dt-colors-icon-neutral-disabled, #595a7d80);
74
+ --_k096v42-1-16-1: 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-16-0", variantClassNames: { color: { critical: "_k096v44-1-16-0", neutral: "_k096v45-1-16-0", primary: "_k096v46-1-16-0", success: "_k096v47-1-16-0", warning: "_k096v48-1-16-0" }, variant: { "default": "_k096v49-1-16-0", accent: "_k096v4a-1-16-0" }, disabled: { true: "_k096v4b-1-16-0", false: "_k096v4c-1-16-0" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", variant: "accent" }, "_k096v4d-1-16-0"], [{ color: "success", variant: "accent" }, "_k096v4e-1-16-0"], [{ color: "warning", variant: "accent" }, "_k096v4f-1-16-0"], [{ color: "critical", variant: "accent" }, "_k096v4g-1-16-0"], [{ color: "neutral", variant: "accent" }, "_k096v4h-1-16-0"], [{ color: "primary", disabled: true }, "_k096v4i-1-16-0"], [{ color: "success", disabled: true }, "_k096v4j-1-16-0"], [{ color: "warning", disabled: true }, "_k096v4k-1-16-0"], [{ color: "critical", disabled: true }, "_k096v4l-1-16-0"], [{ color: "neutral", disabled: true }, "_k096v4m-1-16-0"]] });
28
- var colorUtilsVars = { text: "var(--_k096v40-1-16-0)", icon: "var(--_k096v41-1-16-0)", borderColor: "var(--_k096v42-1-16-0)" };
27
+ var colorUtilsCSS = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_k096v43-1-16-1", variantClassNames: { color: { critical: "_k096v44-1-16-1", neutral: "_k096v45-1-16-1", primary: "_k096v46-1-16-1", success: "_k096v47-1-16-1", warning: "_k096v48-1-16-1" }, variant: { "default": "_k096v49-1-16-1", accent: "_k096v4a-1-16-1" }, disabled: { true: "_k096v4b-1-16-1", false: "_k096v4c-1-16-1" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", variant: "accent" }, "_k096v4d-1-16-1"], [{ color: "success", variant: "accent" }, "_k096v4e-1-16-1"], [{ color: "warning", variant: "accent" }, "_k096v4f-1-16-1"], [{ color: "critical", variant: "accent" }, "_k096v4g-1-16-1"], [{ color: "neutral", variant: "accent" }, "_k096v4h-1-16-1"], [{ color: "primary", disabled: true }, "_k096v4i-1-16-1"], [{ color: "success", disabled: true }, "_k096v4j-1-16-1"], [{ color: "warning", disabled: true }, "_k096v4k-1-16-1"], [{ color: "critical", disabled: true }, "_k096v4l-1-16-1"], [{ color: "neutral", disabled: true }, "_k096v4m-1-16-1"]] });
28
+ var colorUtilsVars = { text: "var(--_k096v40-1-16-1)", icon: "var(--_k096v41-1-16-1)", borderColor: "var(--_k096v42-1-16-1)" };
@@ -1,12 +1,12 @@
1
- ._10kgnsa0-1-16-0 {
1
+ ._10kgnsa0-1-16-1 {
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-16-0);
9
- color: var(--_bx32h0-1-16-0);
8
+ background: var(--_bx32h3-1-16-1);
9
+ color: var(--_bx32h0-1-16-1);
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-16-0 {
26
+ ._10kgnsa1-1-16-1 {
27
27
  text-align: start;
28
28
  justify-content: space-between;
29
29
  }
30
- ._10kgnsa2-1-16-0 {
30
+ ._10kgnsa2-1-16-1 {
31
31
  text-align: center;
32
32
  justify-content: center;
33
33
  }
34
- ._10kgnsa3-1-16-0 {
34
+ ._10kgnsa3-1-16-1 {
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-16-0 {
41
+ ._10kgnsa4-1-16-1 {
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-16-0 {
48
+ ._10kgnsa5-1-16-1 {
49
49
  cursor: not-allowed;
50
50
  }
51
- ._10kgnsa6-1-16-0 {
51
+ ._10kgnsa6-1-16-1 {
52
52
  cursor: not-allowed;
53
- background: var(--_bx32h2-1-16-0);
53
+ background: var(--_bx32h2-1-16-1);
54
54
  }
55
- ._10kgnsa7-1-16-0 {
55
+ ._10kgnsa7-1-16-1 {
56
56
  width: 100%;
57
57
  }
58
- ._10kgnsa8-1-16-0 {
58
+ ._10kgnsa8-1-16-1 {
59
59
  width: fit-content;
60
60
  }
61
- ._10kgnsa9-1-16-0 {
61
+ ._10kgnsa9-1-16-1 {
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-16-0 ._10kgnsaa-1-16-0:not(:has(svg:only-child)) {
73
+ ._10kgnsa3-1-16-1 ._10kgnsaa-1-16-1: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-16-0 ._10kgnsaa-1-16-0:not(:has(svg:only-child)) {
79
+ ._10kgnsa4-1-16-1 ._10kgnsaa-1-16-1: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-16-0 {
85
+ ._10kgnsac-1-16-1 {
86
86
  display: inline-flex;
87
87
  min-width: 0;
88
88
  max-width: 100%;
@@ -19,6 +19,7 @@ import { parseBoolean } from "../../core/utils/parse-boolean.js";
19
19
  import { Flex } from "../../layouts/flex/Flex.js";
20
20
  import { Grid } from "../../layouts/grid/Grid.js";
21
21
  import { fieldColors } from "../../styles/field.sty.js";
22
+ const COMPONENT_NAME = "Button";
22
23
  function getButtonSlots(children) {
23
24
  const slots = {};
24
25
  Children.forEach(children, (child) => {
@@ -142,6 +143,7 @@ const _Button = /* @__PURE__ */ forwardRef(
142
143
  return /* @__PURE__ */ jsx(
143
144
  Component,
144
145
  {
146
+ "data-dt-component": COMPONENT_NAME,
145
147
  ...buttonMergedProps,
146
148
  className: clsx(
147
149
  consumerClassName,
@@ -168,6 +170,7 @@ const _Button = /* @__PURE__ */ forwardRef(
168
170
  return /* @__PURE__ */ jsxs(
169
171
  Component,
170
172
  {
173
+ "data-dt-component": COMPONENT_NAME,
171
174
  className: clsx(
172
175
  consumerClassName,
173
176
  "strato-inputgroup",
@@ -237,7 +240,7 @@ const _Button = /* @__PURE__ */ forwardRef(
237
240
  );
238
241
  }
239
242
  );
240
- _Button.displayName = "Button";
243
+ _Button.displayName = COMPONENT_NAME;
241
244
  const Button = Object.assign(_Button, {
242
245
  Suffix,
243
246
  Prefix,
@@ -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 * as styles 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 { fieldColors } 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 fieldColors({ variant, color, disabled: disabledOrLoading }),\n styles.button({\n disabled: disabledOrLoading,\n textAlign,\n size,\n readOnly,\n }),\n focusClassName,\n {\n [`${styles.widths.content}`]: width === 'content',\n [`${styles.widths.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 fieldColors({\n variant,\n color,\n disabled: disabledOrLoading || ariaDisabled,\n }),\n styles.button({\n disabled: disabledOrLoading || ariaDisabled,\n textAlign,\n size,\n readOnly,\n }),\n {\n [`${styles.widths.content}`]: width === 'content',\n [`${styles.widths.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={styles.loading}>\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 let users trigger actions or events\n * with a single click, or 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 {\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 * as styles 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 { fieldColors } from '../../styles/field.sty.js';\n\nconst COMPONENT_NAME = 'Button';\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 data-dt-component={COMPONENT_NAME}\n {...buttonMergedProps}\n className={clsx(\n consumerClassName,\n 'strato-inputgroup',\n fieldColors({ variant, color, disabled: disabledOrLoading }),\n styles.button({\n disabled: disabledOrLoading,\n textAlign,\n size,\n readOnly,\n }),\n focusClassName,\n {\n [`${styles.widths.content}`]: width === 'content',\n [`${styles.widths.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 data-dt-component={COMPONENT_NAME}\n className={clsx(\n consumerClassName,\n 'strato-inputgroup',\n fieldColors({\n variant,\n color,\n disabled: disabledOrLoading || ariaDisabled,\n }),\n styles.button({\n disabled: disabledOrLoading || ariaDisabled,\n textAlign,\n size,\n readOnly,\n }),\n {\n [`${styles.widths.content}`]: width === 'content',\n [`${styles.widths.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={styles.loading}>\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 =\n COMPONENT_NAME;\n\n/**\n * Buttons let users trigger actions or events\n * with a single click, or 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
  }