@dynatrace/strato-components 0.84.51 → 0.85.10

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 (65) hide show
  1. package/README.md +1 -1
  2. package/buttons/button/Button.css +92 -0
  3. package/buttons/button/Button.d.ts +94 -0
  4. package/buttons/button/Button.js +258 -0
  5. package/buttons/button/Button.sty.d.ts +51 -0
  6. package/buttons/button/Button.sty.js +33 -0
  7. package/buttons/button/Label.d.ts +16 -0
  8. package/buttons/button/Label.js +60 -0
  9. package/buttons/button/Prefix.d.ts +16 -0
  10. package/buttons/button/Prefix.js +54 -0
  11. package/buttons/button/Suffix.d.ts +16 -0
  12. package/buttons/button/Suffix.js +56 -0
  13. package/buttons/button/types/button-aria.d.ts +37 -0
  14. package/buttons/button/types/button-aria.js +15 -0
  15. package/buttons/button/utils/focus-without-scrolling.d.ts +5 -0
  16. package/buttons/button/utils/focus-without-scrolling.js +77 -0
  17. package/buttons/button/utils/is-virtual-event.d.ts +10 -0
  18. package/buttons/button/utils/is-virtual-event.js +32 -0
  19. package/buttons/index.d.ts +8 -0
  20. package/buttons/index.js +28 -0
  21. package/content/progress/ProgressBar.js +1 -2
  22. package/content/progress/ProgressCircle.js +1 -2
  23. package/esm/buttons/button/Button.css +92 -0
  24. package/esm/buttons/button/Button.js +233 -0
  25. package/esm/buttons/button/Button.js.map +7 -0
  26. package/esm/buttons/button/Button.sty.js +15 -0
  27. package/esm/buttons/button/Button.sty.js.map +7 -0
  28. package/esm/buttons/button/Label.js +32 -0
  29. package/esm/buttons/button/Label.js.map +7 -0
  30. package/esm/buttons/button/Prefix.js +26 -0
  31. package/esm/buttons/button/Prefix.js.map +7 -0
  32. package/esm/buttons/button/Suffix.js +28 -0
  33. package/esm/buttons/button/Suffix.js.map +7 -0
  34. package/esm/buttons/button/types/button-aria.js +1 -0
  35. package/esm/buttons/button/types/button-aria.js.map +7 -0
  36. package/esm/buttons/button/utils/focus-without-scrolling.js +59 -0
  37. package/esm/buttons/button/utils/focus-without-scrolling.js.map +7 -0
  38. package/esm/buttons/button/utils/is-virtual-event.js +14 -0
  39. package/esm/buttons/button/utils/is-virtual-event.js.map +7 -0
  40. package/esm/buttons/index.js +13 -0
  41. package/esm/buttons/index.js.map +7 -0
  42. package/esm/content/progress/ProgressBar.js +2 -3
  43. package/esm/content/progress/ProgressBar.js.map +2 -2
  44. package/esm/content/progress/ProgressCircle.js +2 -3
  45. package/esm/content/progress/ProgressCircle.js.map +2 -2
  46. package/esm/index.js +1 -0
  47. package/esm/index.js.map +2 -2
  48. package/esm/styles/field.css +208 -0
  49. package/esm/styles/field.sty.js +9 -0
  50. package/esm/styles/field.sty.js.map +7 -0
  51. package/esm/typography/Code/Code.js.map +1 -1
  52. package/esm/typography/ExternalLink/ExternalLink.js.map +1 -1
  53. package/esm/typography/Link/Link.js.map +1 -1
  54. package/index.d.ts +1 -0
  55. package/index.js +1 -0
  56. package/lang/en.json +6 -0
  57. package/lang/uncompiled/en.json +4 -0
  58. package/package.json +21 -14
  59. package/styles/field.css +208 -0
  60. package/styles/field.sty.d.ts +102 -0
  61. package/styles/field.sty.js +27 -0
  62. package/styles/sprinkles.sty.d.ts +107 -107
  63. package/typography/Code/Code.d.ts +1 -1
  64. package/typography/ExternalLink/ExternalLink.d.ts +1 -1
  65. package/typography/Link/Link.d.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/content/progress/ProgressBar.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, { CSSProperties, forwardRef } from 'react';\nimport { isElement } from 'react-is';\n\nimport Spacings from '@dynatrace/strato-design-tokens/spacings';\n\n// asd\n\nimport { SharedProgressBarPropsContext } from './contexts/SharedProgressBarPropsContext.js';\nimport { useProgressAriaProps } from './hooks/useProgressAriaProps.js';\nimport { progressBarFillCSS, progressCSS } from './ProgressBar.sty.js';\nimport { ProgressBarIcon } from './ProgressBarIcon.js';\nimport { ProgressBarLabel } from './ProgressBarLabel.js';\nimport { ProgressBarValue } from './ProgressBarValue.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useId } from '../../core/hooks/useId.js';\nimport { useSafeForwardProps } from '../../core/hooks/useSafeForwardProps.js';\nimport { type AriaLabelingProps } from '../../core/types/a11y-props.js';\nimport { type DataTestId } from '../../core/types/data-props.js';\nimport { type DOMProps } from '../../core/types/dom.js';\nimport { type MaskingProps } from '../../core/types/masking-props.js';\nimport { type RoleVariantType } from '../../core/types/role-variant.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type WithChildren } from '../../core/types/with-children.js';\nimport { colorUtilsCSS } from '../../styles/colorUtils.sty.js';\n\n/**\n * Accepted properties for ProgressBar.\n * @public\n */\nexport interface ProgressBarProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * The current value.\n * @defaultValue 'indeterminate'\n */\n value?: number | 'indeterminate';\n /**\n * The minimum allowed value.\n * @defaultValue 0\n */\n min?: number;\n /**\n * The maximum allowed value.\n * @defaultValue 100\n */\n max?: number;\n /**\n * Controls the density of the rendering.\n * @defaultValue 'default'\n */\n density?: 'default' | 'condensed';\n /**\n * Controls the appearance of the progress.\n * @defaultValue 'primary'\n */\n variant?: RoleVariantType;\n /**\n * The aria-valuetext attribute defines the human-readable text alternative of aria-valuenow for a range widget.\n * By default, the value will be given as a percentage. If the value is not a percentage, you should provide aria-valuetext.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext\n * @defaultValue the value of the progress as percentage.\n */\n 'aria-valuetext'?: string;\n}\n\ntype ProgressBarSlots = {\n value?: React.ReactNode;\n label?: React.ReactNode;\n icon?: React.ReactNode;\n};\n\nfunction getProgressBarSlots(children: React.ReactNode) {\n const slots: ProgressBarSlots = {\n value: null,\n label: null,\n icon: null,\n };\n\n React.Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case ProgressBarLabel:\n slots.label = child;\n break;\n case ProgressBarIcon:\n slots.icon = child;\n break;\n case ProgressBarValue:\n default:\n slots.value = child;\n break;\n }\n } else {\n if (!slots.value) {\n slots.value = child;\n }\n }\n });\n\n return slots;\n}\n\nconst _ProgressBar = forwardRef<HTMLDivElement, ProgressBarProps>(\n (props, forwardedRef) => {\n const {\n value: originalValue,\n max = 100,\n min = 0,\n density = 'default',\n variant = 'primary',\n children,\n id: propId,\n 'aria-valuetext': ariaValuetext,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: ProgressBarProps = props;\n\n const slots = getProgressBarSlots(children);\n const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(\n originalValue,\n min,\n max,\n ariaValuetext,\n );\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);\n\n const generatedId = useId({ prefix: 'progress-bar' });\n const id = propId ?? generatedId;\n\n if (\n !slots.label &&\n !ariaLabelingProps['aria-label'] &&\n !ariaLabelingProps['aria-labelledby']\n ) {\n process.env.NODE_ENV === 'development' &&\n // eslint-disable-next-line no-console\n console.warn(\n 'If no label is provided please make sure to provide an aria label on your progressCircle element.',\n );\n }\n\n const progressStyles: CSSProperties = {};\n if (!isIndeterminate && value !== undefined) {\n const percentage = (value - min) / (max - min);\n progressStyles['width'] = `${Math.round(percentage * 100)}%`;\n }\n\n return (\n <SharedProgressBarPropsContext.Provider value={{ id, variant, density }}>\n {/* TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n <div\n className={consumerClassName}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: Spacings.Size6,\n width: '100%',\n ...consumerStyle,\n }}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={forwardedRef}\n {...forwardProps}\n >\n {/* //TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n gap: Spacings.Size8,\n }}\n >\n {density === 'condensed' ? (\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n flex: 1,\n gap: Spacings.Size16,\n minWidth: 0,\n }}\n >\n {/* //TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n {slots.label}\n {density === 'condensed' && slots.value}\n </div>\n ) : (\n slots.label\n )}\n {slots.icon}\n </div>\n <div\n className={progressCSS({ size: density, variant })}\n id={id}\n {...progressAriaProps}\n {...ariaLabelingProps}\n >\n <div\n className={clsx(\n colorUtilsCSS({\n color: variant,\n variant: variant === 'onAccent' ? 'default' : 'accent',\n }),\n progressBarFillCSS({\n indeterminate: isIndeterminate,\n }),\n )}\n style={progressStyles}\n />\n </div>\n {density === 'default' && slots.value}\n </div>\n </SharedProgressBarPropsContext.Provider>\n );\n },\n);\n\n(_ProgressBar as typeof _ProgressBar & { displayName: string }).displayName =\n 'ProgressBar';\n\n/**\n * Use the `ProgressBar` component to show your users that a system operation such as downloading, uploading, or processing is progressing.\n * The `ProgressBar` can be used to visualize determinate or indeterminate progress.\n * @public\n */\nexport const ProgressBar = Object.assign(_ProgressBar, {\n Value: ProgressBarValue,\n Label: ProgressBarLabel,\n Icon: ProgressBarIcon,\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, { CSSProperties, forwardRef, useId } from 'react';\nimport { isElement } from 'react-is';\n\nimport Spacings from '@dynatrace/strato-design-tokens/spacings';\n\nimport { SharedProgressBarPropsContext } from './contexts/SharedProgressBarPropsContext.js';\nimport { useProgressAriaProps } from './hooks/useProgressAriaProps.js';\nimport { progressBarFillCSS, progressCSS } from './ProgressBar.sty.js';\nimport { ProgressBarIcon } from './ProgressBarIcon.js';\nimport { ProgressBarLabel } from './ProgressBarLabel.js';\nimport { ProgressBarValue } from './ProgressBarValue.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useSafeForwardProps } from '../../core/hooks/useSafeForwardProps.js';\nimport { type AriaLabelingProps } from '../../core/types/a11y-props.js';\nimport { type DataTestId } from '../../core/types/data-props.js';\nimport { type DOMProps } from '../../core/types/dom.js';\nimport { type MaskingProps } from '../../core/types/masking-props.js';\nimport { type RoleVariantType } from '../../core/types/role-variant.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type WithChildren } from '../../core/types/with-children.js';\nimport { colorUtilsCSS } from '../../styles/colorUtils.sty.js';\n\n/**\n * Accepted properties for ProgressBar.\n * @public\n */\nexport interface ProgressBarProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * The current value.\n * @defaultValue 'indeterminate'\n */\n value?: number | 'indeterminate';\n /**\n * The minimum allowed value.\n * @defaultValue 0\n */\n min?: number;\n /**\n * The maximum allowed value.\n * @defaultValue 100\n */\n max?: number;\n /**\n * Controls the density of the rendering.\n * @defaultValue 'default'\n */\n density?: 'default' | 'condensed';\n /**\n * Controls the appearance of the progress.\n * @defaultValue 'primary'\n */\n variant?: RoleVariantType;\n /**\n * The aria-valuetext attribute defines the human-readable text alternative of aria-valuenow for a range widget.\n * By default, the value will be given as a percentage. If the value is not a percentage, you should provide aria-valuetext.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext\n * @defaultValue the value of the progress as percentage.\n */\n 'aria-valuetext'?: string;\n}\n\ntype ProgressBarSlots = {\n value?: React.ReactNode;\n label?: React.ReactNode;\n icon?: React.ReactNode;\n};\n\nfunction getProgressBarSlots(children: React.ReactNode) {\n const slots: ProgressBarSlots = {\n value: null,\n label: null,\n icon: null,\n };\n\n React.Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case ProgressBarLabel:\n slots.label = child;\n break;\n case ProgressBarIcon:\n slots.icon = child;\n break;\n case ProgressBarValue:\n default:\n slots.value = child;\n break;\n }\n } else {\n if (!slots.value) {\n slots.value = child;\n }\n }\n });\n\n return slots;\n}\n\nconst _ProgressBar = forwardRef<HTMLDivElement, ProgressBarProps>(\n (props, forwardedRef) => {\n const {\n value: originalValue,\n max = 100,\n min = 0,\n density = 'default',\n variant = 'primary',\n children,\n id: propId,\n 'aria-valuetext': ariaValuetext,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: ProgressBarProps = props;\n\n const slots = getProgressBarSlots(children);\n const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(\n originalValue,\n min,\n max,\n ariaValuetext,\n );\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);\n\n const generatedId = useId();\n const id = propId ?? generatedId;\n\n if (\n !slots.label &&\n !ariaLabelingProps['aria-label'] &&\n !ariaLabelingProps['aria-labelledby']\n ) {\n process.env.NODE_ENV === 'development' &&\n // eslint-disable-next-line no-console\n console.warn(\n 'If no label is provided please make sure to provide an aria label on your progressCircle element.',\n );\n }\n\n const progressStyles: CSSProperties = {};\n if (!isIndeterminate && value !== undefined) {\n const percentage = (value - min) / (max - min);\n progressStyles['width'] = `${Math.round(percentage * 100)}%`;\n }\n\n return (\n <SharedProgressBarPropsContext.Provider value={{ id, variant, density }}>\n {/* TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n <div\n className={consumerClassName}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: Spacings.Size6,\n width: '100%',\n ...consumerStyle,\n }}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={forwardedRef}\n {...forwardProps}\n >\n {/* //TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n gap: Spacings.Size8,\n }}\n >\n {density === 'condensed' ? (\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n flex: 1,\n gap: Spacings.Size16,\n minWidth: 0,\n }}\n >\n {/* //TODO: this can be replaced by using the FLEX component. Using the flex component currently causes a circular from core -> layout -> core */}\n {slots.label}\n {density === 'condensed' && slots.value}\n </div>\n ) : (\n slots.label\n )}\n {slots.icon}\n </div>\n <div\n className={progressCSS({ size: density, variant })}\n id={id}\n {...progressAriaProps}\n {...ariaLabelingProps}\n >\n <div\n className={clsx(\n colorUtilsCSS({\n color: variant,\n variant: variant === 'onAccent' ? 'default' : 'accent',\n }),\n progressBarFillCSS({\n indeterminate: isIndeterminate,\n }),\n )}\n style={progressStyles}\n />\n </div>\n {density === 'default' && slots.value}\n </div>\n </SharedProgressBarPropsContext.Provider>\n );\n },\n);\n\n(_ProgressBar as typeof _ProgressBar & { displayName: string }).displayName =\n 'ProgressBar';\n\n/**\n * Use the `ProgressBar` component to show your users that a system operation such as downloading, uploading, or processing is progressing.\n * The `ProgressBar` can be used to visualize determinate or indeterminate progress.\n * @public\n */\nexport const ProgressBar = Object.assign(_ProgressBar, {\n Value: ProgressBarValue,\n Label: ProgressBarLabel,\n Icon: ProgressBarIcon,\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import clsx from "clsx";
2
- import React, { forwardRef } from "react";
2
+ import React, { forwardRef, useId } from "react";
3
3
  import { useProgressAriaProps } from "./hooks/useProgressAriaProps.js";
4
4
  import {
5
5
  progressCircleBackgroundCSS,
@@ -10,7 +10,6 @@ import {
10
10
  ProgressCircleSVGCSS
11
11
  } from "./ProgressCircle.sty.js";
12
12
  import { useAriaLabelingProps } from "../../core/hooks/useAriaLabelingProps.js";
13
- import { useId } from "../../core/hooks/useId.js";
14
13
  import { useSafeForwardProps } from "../../core/hooks/useSafeForwardProps.js";
15
14
  import { colorUtilsCSS } from "../../styles/colorUtils.sty.js";
16
15
  import { containerColorsCSS } from "../../styles/container.sty.js";
@@ -46,7 +45,7 @@ const ProgressCircle = forwardRef(
46
45
  );
47
46
  const ariaLabelingProps = useAriaLabelingProps(remainingProps);
48
47
  const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);
49
- const generatedId = useId({ prefix: "progress-circle" });
48
+ const generatedId = useId();
50
49
  const id = propId ?? generatedId;
51
50
  const circleStyles = {};
52
51
  const rootProps = {};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/content/progress/ProgressCircle.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, { CSSProperties, forwardRef } from 'react';\n\nimport { useProgressAriaProps } from './hooks/useProgressAriaProps.js';\nimport {\n progressCircleBackgroundCSS,\n progressCircleChildCSS,\n progressCircleContainerCSS,\n progressCircleCSS,\n progressCircleRootCSS,\n ProgressCircleSVGCSS,\n} from './ProgressCircle.sty.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useId } from '../../core/hooks/useId.js';\nimport { useSafeForwardProps } from '../../core/hooks/useSafeForwardProps.js';\nimport { type AriaLabelingProps } from '../../core/types/a11y-props.js';\nimport { type DataTestId } from '../../core/types/data-props.js';\nimport { type DOMProps } from '../../core/types/dom.js';\nimport { type MaskingProps } from '../../core/types/masking-props.js';\nimport { type RoleVariantType } from '../../core/types/role-variant.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type WithChildren } from '../../core/types/with-children.js';\nimport { colorUtilsCSS } from '../../styles/colorUtils.sty.js';\nimport { containerColorsCSS } from '../../styles/container.sty.js';\nimport { textStyleCSS } from '../../styles/textStyle.sty.js';\n\n/**\n * Accepted properties for ProgressCircle.\n * @public\n */\nexport interface ProgressCircleProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * The current value.\n * @defaultValue 'indeterminate'\n */\n value?: number | 'indeterminate';\n /**\n * The smallest allowed value.\n * @defaultValue 0\n */\n min?: number;\n /**\n * The maximum allowed value.\n * @defaultValue 100\n */\n max?: number;\n /**\n * Controls the size of the rendered progress.\n * @defaultValue 'large'\n */\n size?: 'small' | 'large';\n /**\n * Controls the appearance of the progress.\n * @defaultValue 'primary'\n */\n variant?: RoleVariantType;\n\n /**\n * The aria-valuetext attribute defines the human-readable text alternative of aria-valuenow for a range widget.\n * Default the value as percentage will be provided. If the value is not a percentage please provide the aria-valuetext.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext\n * @defaultValue the value of the progress as percentage.\n */\n 'aria-valuetext'?: string;\n}\n\nconst progressCircleSizes = {\n small: 20,\n large: 40,\n};\nconst progressCircleThickness = 5;\n\n/**\n * The `ProgressCircle` component is used to indicate the progress or completion status of a task or process.\n * @public\n * */\nexport const ProgressCircle = forwardRef<HTMLDivElement, ProgressCircleProps>(\n (props, forwardedRef) => {\n const {\n value: originalValue,\n min = 0,\n max = 100,\n size = 'large',\n variant = 'primary',\n children,\n id: propId,\n 'aria-valuetext': ariaValuetext,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: ProgressCircleProps = props;\n\n const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(\n originalValue,\n min,\n max,\n ariaValuetext,\n );\n\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);\n\n const generatedId = useId({ prefix: 'progress-circle' });\n const id = propId ?? generatedId;\n\n const circleStyles: CSSProperties = {};\n const rootProps = {};\n\n if (!isIndeterminate && value !== undefined) {\n const circumference =\n 2 *\n Math.PI *\n ((progressCircleSizes[size] - progressCircleThickness) / 2);\n circleStyles['strokeDasharray'] = circumference.toFixed(3);\n const dashOffset = Number(\n (((max - value) / max) * circumference).toFixed(3),\n );\n circleStyles['strokeDashoffset'] = `${\n dashOffset >= 0 ? dashOffset : 0\n }px`;\n }\n\n if (\n !children &&\n !ariaLabelingProps['aria-label'] &&\n !ariaLabelingProps['aria-labelledby']\n ) {\n process.env.NODE_ENV === 'development' &&\n // eslint-disable-next-line no-console\n console.warn(\n 'If no label is provided please make sure to provide an aria label on your progressCircle element.',\n );\n }\n\n return (\n <div\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={forwardedRef}\n className={clsx(\n consumerClassName,\n containerColorsCSS({\n color: 'neutral',\n variant: variant === 'onAccent' ? 'accent' : 'default',\n }),\n progressCircleContainerCSS({ size }),\n )}\n style={consumerStyle}\n {...forwardProps}\n >\n <span\n id={id}\n className={clsx(\n colorUtilsCSS({ color: variant, variant: 'accent' }),\n progressCircleRootCSS,\n )}\n style={{\n height: `${progressCircleSizes[size]}px`,\n width: `${progressCircleSizes[size]}px`,\n }}\n {...ariaLabelingProps}\n {...progressAriaProps}\n {...rootProps}\n >\n <svg\n className={ProgressCircleSVGCSS}\n viewBox={`0 0 ${progressCircleSizes[size]} ${progressCircleSizes[size]}`}\n width=\"100%\"\n height=\"100%\"\n >\n <circle\n fill=\"none\"\n className={clsx(progressCircleBackgroundCSS({ variant }))}\n cx={progressCircleSizes[size] / 2}\n cy={progressCircleSizes[size] / 2}\n r={(progressCircleSizes[size] - progressCircleThickness) / 2}\n strokeWidth={progressCircleThickness}\n />\n <circle\n style={circleStyles}\n className={progressCircleCSS({ indeterminate: isIndeterminate })}\n fill=\"none\"\n pathLength={\n isIndeterminate ? 360 : circleStyles['strokeDasharray']\n }\n cx={progressCircleSizes[size] / 2}\n cy={progressCircleSizes[size] / 2}\n r={(progressCircleSizes[size] - progressCircleThickness) / 2}\n strokeWidth={progressCircleThickness}\n />\n </svg>\n </span>\n {children && (\n <label\n className={clsx(\n progressCircleChildCSS,\n textStyleCSS({ textStyle: size === 'small' ? 'small' : 'base' }),\n )}\n htmlFor={id}\n >\n {children}\n </label>\n )}\n </div>\n );\n },\n);\n\n(\n ProgressCircle as typeof ProgressCircle & { displayName: string }\n).displayName = 'ProgressCircle';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, { CSSProperties, forwardRef, useId } from 'react';\n\nimport { useProgressAriaProps } from './hooks/useProgressAriaProps.js';\nimport {\n progressCircleBackgroundCSS,\n progressCircleChildCSS,\n progressCircleContainerCSS,\n progressCircleCSS,\n progressCircleRootCSS,\n ProgressCircleSVGCSS,\n} from './ProgressCircle.sty.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useSafeForwardProps } from '../../core/hooks/useSafeForwardProps.js';\nimport { type AriaLabelingProps } from '../../core/types/a11y-props.js';\nimport { type DataTestId } from '../../core/types/data-props.js';\nimport { type DOMProps } from '../../core/types/dom.js';\nimport { type MaskingProps } from '../../core/types/masking-props.js';\nimport { type RoleVariantType } from '../../core/types/role-variant.js';\nimport { type StylingProps } from '../../core/types/styling-props.js';\nimport { type WithChildren } from '../../core/types/with-children.js';\nimport { colorUtilsCSS } from '../../styles/colorUtils.sty.js';\nimport { containerColorsCSS } from '../../styles/container.sty.js';\nimport { textStyleCSS } from '../../styles/textStyle.sty.js';\n\n/**\n * Accepted properties for ProgressCircle.\n * @public\n */\nexport interface ProgressCircleProps\n extends WithChildren,\n DOMProps,\n AriaLabelingProps,\n StylingProps,\n DataTestId,\n MaskingProps {\n /**\n * The current value.\n * @defaultValue 'indeterminate'\n */\n value?: number | 'indeterminate';\n /**\n * The smallest allowed value.\n * @defaultValue 0\n */\n min?: number;\n /**\n * The maximum allowed value.\n * @defaultValue 100\n */\n max?: number;\n /**\n * Controls the size of the rendered progress.\n * @defaultValue 'large'\n */\n size?: 'small' | 'large';\n /**\n * Controls the appearance of the progress.\n * @defaultValue 'primary'\n */\n variant?: RoleVariantType;\n\n /**\n * The aria-valuetext attribute defines the human-readable text alternative of aria-valuenow for a range widget.\n * Default the value as percentage will be provided. If the value is not a percentage please provide the aria-valuetext.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-valuetext\n * @defaultValue the value of the progress as percentage.\n */\n 'aria-valuetext'?: string;\n}\n\nconst progressCircleSizes = {\n small: 20,\n large: 40,\n};\nconst progressCircleThickness = 5;\n\n/**\n * The `ProgressCircle` component is used to indicate the progress or completion status of a task or process.\n * @public\n * */\nexport const ProgressCircle = forwardRef<HTMLDivElement, ProgressCircleProps>(\n (props, forwardedRef) => {\n const {\n value: originalValue,\n min = 0,\n max = 100,\n size = 'large',\n variant = 'primary',\n children,\n id: propId,\n 'aria-valuetext': ariaValuetext,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n ...remainingProps\n }: ProgressCircleProps = props;\n\n const { value, isIndeterminate, progressAriaProps } = useProgressAriaProps(\n originalValue,\n min,\n max,\n ariaValuetext,\n );\n\n const ariaLabelingProps = useAriaLabelingProps(remainingProps);\n const forwardProps = useSafeForwardProps(remainingProps, ariaLabelingProps);\n\n const generatedId = useId();\n const id = propId ?? generatedId;\n\n const circleStyles: CSSProperties = {};\n const rootProps = {};\n\n if (!isIndeterminate && value !== undefined) {\n const circumference =\n 2 *\n Math.PI *\n ((progressCircleSizes[size] - progressCircleThickness) / 2);\n circleStyles['strokeDasharray'] = circumference.toFixed(3);\n const dashOffset = Number(\n (((max - value) / max) * circumference).toFixed(3),\n );\n circleStyles['strokeDashoffset'] = `${\n dashOffset >= 0 ? dashOffset : 0\n }px`;\n }\n\n if (\n !children &&\n !ariaLabelingProps['aria-label'] &&\n !ariaLabelingProps['aria-labelledby']\n ) {\n process.env.NODE_ENV === 'development' &&\n // eslint-disable-next-line no-console\n console.warn(\n 'If no label is provided please make sure to provide an aria label on your progressCircle element.',\n );\n }\n\n return (\n <div\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n ref={forwardedRef}\n className={clsx(\n consumerClassName,\n containerColorsCSS({\n color: 'neutral',\n variant: variant === 'onAccent' ? 'accent' : 'default',\n }),\n progressCircleContainerCSS({ size }),\n )}\n style={consumerStyle}\n {...forwardProps}\n >\n <span\n id={id}\n className={clsx(\n colorUtilsCSS({ color: variant, variant: 'accent' }),\n progressCircleRootCSS,\n )}\n style={{\n height: `${progressCircleSizes[size]}px`,\n width: `${progressCircleSizes[size]}px`,\n }}\n {...ariaLabelingProps}\n {...progressAriaProps}\n {...rootProps}\n >\n <svg\n className={ProgressCircleSVGCSS}\n viewBox={`0 0 ${progressCircleSizes[size]} ${progressCircleSizes[size]}`}\n width=\"100%\"\n height=\"100%\"\n >\n <circle\n fill=\"none\"\n className={clsx(progressCircleBackgroundCSS({ variant }))}\n cx={progressCircleSizes[size] / 2}\n cy={progressCircleSizes[size] / 2}\n r={(progressCircleSizes[size] - progressCircleThickness) / 2}\n strokeWidth={progressCircleThickness}\n />\n <circle\n style={circleStyles}\n className={progressCircleCSS({ indeterminate: isIndeterminate })}\n fill=\"none\"\n pathLength={\n isIndeterminate ? 360 : circleStyles['strokeDasharray']\n }\n cx={progressCircleSizes[size] / 2}\n cy={progressCircleSizes[size] / 2}\n r={(progressCircleSizes[size] - progressCircleThickness) / 2}\n strokeWidth={progressCircleThickness}\n />\n </svg>\n </span>\n {children && (\n <label\n className={clsx(\n progressCircleChildCSS,\n textStyleCSS({ textStyle: size === 'small' ? 'small' : 'base' }),\n )}\n htmlFor={id}\n >\n {children}\n </label>\n )}\n </div>\n );\n },\n);\n\n(\n ProgressCircle as typeof ProgressCircle & { displayName: string }\n).displayName = 'ProgressCircle';\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./buttons/index.js";
1
2
  export * from "./core/index.js";
2
3
  export * from "./content/index.js";
3
4
  export * from "./layouts/index.js";
package/esm/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["export * from './core/index.js';\nexport * from './content/index.js';\nexport * from './layouts/index.js';\nexport * from './styles/index.js';\nexport * from './typography/index.js';\n"],
5
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "sourcesContent": ["export * from './buttons/index.js';\nexport * from './core/index.js';\nexport * from './content/index.js';\nexport * from './layouts/index.js';\nexport * from './styles/index.js';\nexport * from './typography/index.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,208 @@
1
+ .field_fieldColorsCSS_color_primary__bx32h6 {
2
+ --vars_text__bx32h0: var(--dt-colors-text-primary-default, #454cc9);
3
+ --vars_icon__bx32h1: var(--dt-colors-icon-primary-default, #454cc9);
4
+ }
5
+ .field_fieldColorsCSS_color_primary__bx32h6:hover {
6
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-default-hover, #ccd3f3);
7
+ }
8
+ .field_fieldColorsCSS_color_primary__bx32h6:active {
9
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-default-active, #c3cbf1);
10
+ }
11
+ .field_fieldColorsCSS_color_neutral__bx32h7 {
12
+ --vars_text__bx32h0: var(--dt-colors-text-neutral-default, #2b2a58);
13
+ --vars_icon__bx32h1: var(--dt-colors-icon-neutral-default, #2b2a58);
14
+ }
15
+ .field_fieldColorsCSS_color_neutral__bx32h7:hover {
16
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-default-hover, #d2d3e1);
17
+ }
18
+ .field_fieldColorsCSS_color_neutral__bx32h7:active {
19
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-default-active, #cacbdc);
20
+ }
21
+ .field_fieldColorsCSS_color_success__bx32h8 {
22
+ --vars_text__bx32h0: var(--dt-colors-text-success-default, #2c6360);
23
+ --vars_icon__bx32h1: var(--dt-colors-icon-success-default, #2c6360);
24
+ }
25
+ .field_fieldColorsCSS_color_success__bx32h8:hover {
26
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-default-hover, #cad6d7);
27
+ }
28
+ .field_fieldColorsCSS_color_success__bx32h8:active {
29
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-default-active, #c0cfcf);
30
+ }
31
+ .field_fieldColorsCSS_color_critical__bx32h9 {
32
+ --vars_text__bx32h0: var(--dt-colors-text-critical-default, #b80031);
33
+ --vars_icon__bx32h1: var(--dt-colors-icon-critical-default, #b80031);
34
+ }
35
+ .field_fieldColorsCSS_color_critical__bx32h9:hover {
36
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-default-hover, #f1cdcf);
37
+ }
38
+ .field_fieldColorsCSS_color_critical__bx32h9:active {
39
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-default-active, #f0c4c5);
40
+ }
41
+ .field_fieldColorsCSS_color_warning__bx32ha {
42
+ --vars_text__bx32h0: var(--dt-colors-text-warning-default, #805100);
43
+ --vars_icon__bx32h1: var(--dt-colors-icon-warning-default, #805100);
44
+ }
45
+ .field_fieldColorsCSS_color_warning__bx32ha:hover {
46
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-default-hover, #f4e5d5);
47
+ }
48
+ .field_fieldColorsCSS_color_warning__bx32ha:active {
49
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-default-active, #f5e1cd);
50
+ }
51
+ .field_fieldColorsCSS_variant_default__bx32hb {
52
+ --vars_background__bx32h3: transparent;
53
+ --vars_backgroundStatic__bx32h2: transparent;
54
+ }
55
+ .field_fieldColorsCSS_variant_accent__bx32hd {
56
+ --vars_text__bx32h0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
57
+ --vars_icon__bx32h1: var(--dt-colors-icon-neutral-on-accent-default, #f3f3f6);
58
+ }
59
+ .field_fieldColorsCSS_compound_0__bx32he {
60
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-emphasized, #d6dbf4);
61
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-primary-emphasized, #d6dbf4);
62
+ }
63
+ .field_fieldColorsCSS_compound_1__bx32hf {
64
+ --vars_text__bx32h0: var(--dt-colors-text-primary-on-accent-default, #f4f4fb);
65
+ --vars_icon__bx32h1: var(--dt-colors-icon-primary-on-accent-default, #f4f4fb);
66
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-accent, #474ecf);
67
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-primary-accent, #474ecf);
68
+ }
69
+ .field_fieldColorsCSS_compound_1__bx32hf:hover {
70
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-accent-hover, #3b3ebe);
71
+ }
72
+ .field_fieldColorsCSS_compound_1__bx32hf:active {
73
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-accent-active, #312cad);
74
+ }
75
+ .field_fieldColorsCSS_compound_2__bx32hg {
76
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-emphasized, #dadbe7);
77
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-neutral-emphasized, #dadbe7);
78
+ }
79
+ .field_fieldColorsCSS_compound_3__bx32hh {
80
+ --vars_text__bx32h0: var(--dt-colors-text-neutral-on-accent-default, #f3f3f6);
81
+ --vars_icon__bx32h1: var(--dt-colors-icon-neutral-on-accent-default, #f3f3f6);
82
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-accent, #5a5b8c);
83
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-neutral-accent, #5a5b8c);
84
+ }
85
+ .field_fieldColorsCSS_compound_3__bx32hh:hover {
86
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-accent-hover, #4c4d7d);
87
+ }
88
+ .field_fieldColorsCSS_compound_3__bx32hh:active {
89
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-accent-active, #3f3f6e);
90
+ }
91
+ .field_fieldColorsCSS_compound_4__bx32hi {
92
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-emphasized, #d4dddf);
93
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-success-emphasized, #d4dddf);
94
+ }
95
+ .field_fieldColorsCSS_compound_5__bx32hj {
96
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-accent, #2f6863);
97
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-success-accent, #2f6863);
98
+ }
99
+ .field_fieldColorsCSS_compound_5__bx32hj:hover {
100
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-accent-hover, #1f5a55);
101
+ }
102
+ .field_fieldColorsCSS_compound_5__bx32hj:active {
103
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-accent-active, #0d4c47);
104
+ }
105
+ .field_fieldColorsCSS_compound_6__bx32hk {
106
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-emphasized, #f2d7d9);
107
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-critical-emphasized, #f2d7d9);
108
+ }
109
+ .field_fieldColorsCSS_compound_7__bx32hl {
110
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-accent, #c4233b);
111
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-critical-accent, #c4233b);
112
+ --vars_text__bx32h0: var(--dt-colors-text-critical-on-accent-default, #f9f1f3);
113
+ --vars_icon__bx32h1: var(--dt-colors-icon-critical-on-accent-default, #f9f1f3);
114
+ }
115
+ .field_fieldColorsCSS_compound_7__bx32hl:hover {
116
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-accent-hover, #b2012d);
117
+ }
118
+ .field_fieldColorsCSS_compound_7__bx32hl:active {
119
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-accent-active, #a0001f);
120
+ }
121
+ .field_fieldColorsCSS_compound_8__bx32hm {
122
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-emphasized, #f4e8de);
123
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-warning-emphasized, #f4e8de);
124
+ }
125
+ .field_fieldColorsCSS_compound_9__bx32hn {
126
+ --vars_text__bx32h0: var(--dt-colors-text-warning-on-accent-default, #272025);
127
+ --vars_icon__bx32h1: var(--dt-colors-icon-warning-on-accent-default, #272025);
128
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-accent, #eca440);
129
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-warning-accent, #eca440);
130
+ }
131
+ .field_fieldColorsCSS_compound_9__bx32hn:hover {
132
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-accent-hover, #fdb452);
133
+ }
134
+ .field_fieldColorsCSS_compound_9__bx32hn:active {
135
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-accent-active, #ffc56a);
136
+ }
137
+ .field_fieldColorsCSS_compound_10__bx32ho {
138
+ --vars_text__bx32h0: var(--dt-colors-text-neutral-disabled, #54558780);
139
+ --vars_icon__bx32h1: var(--dt-colors-icon-neutral-disabled, #54558780);
140
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-disabled, #dadbe780);
141
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-neutral-disabled, #dadbe780);
142
+ }
143
+ .field_fieldColorsCSS_compound_10__bx32ho:hover {
144
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-disabled, #dadbe780);
145
+ }
146
+ .field_fieldColorsCSS_compound_10__bx32ho:active {
147
+ --vars_background__bx32h3: var(--dt-colors-background-field-neutral-disabled, #dadbe780);
148
+ }
149
+ .field_fieldColorsCSS_compound_11__bx32hp {
150
+ --vars_text__bx32h0: var(--dt-colors-text-primary-disabled, #54558780);
151
+ --vars_icon__bx32h1: var(--dt-colors-icon-primary-disabled, #54558780);
152
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-disabled, #dadbe780);
153
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-primary-disabled, #dadbe780);
154
+ }
155
+ .field_fieldColorsCSS_compound_11__bx32hp:hover {
156
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-disabled, #dadbe780);
157
+ }
158
+ .field_fieldColorsCSS_compound_11__bx32hp:active {
159
+ --vars_background__bx32h3: var(--dt-colors-background-field-primary-disabled, #dadbe780);
160
+ }
161
+ .field_fieldColorsCSS_compound_12__bx32hq {
162
+ --vars_text__bx32h0: var(--dt-colors-text-warning-disabled, #54558780);
163
+ --vars_icon__bx32h1: var(--dt-colors-icon-warning-disabled, #54558780);
164
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-disabled, #dadbe780);
165
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-warning-disabled, #dadbe780);
166
+ }
167
+ .field_fieldColorsCSS_compound_12__bx32hq:hover {
168
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-disabled, #dadbe780);
169
+ }
170
+ .field_fieldColorsCSS_compound_12__bx32hq:active {
171
+ --vars_background__bx32h3: var(--dt-colors-background-field-warning-disabled, #dadbe780);
172
+ }
173
+ .field_fieldColorsCSS_compound_13__bx32hr {
174
+ --vars_text__bx32h0: var(--dt-colors-text-success-disabled, #54558780);
175
+ --vars_icon__bx32h1: var(--dt-colors-icon-success-disabled, #54558780);
176
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-disabled, #dadbe780);
177
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-success-disabled, #dadbe780);
178
+ }
179
+ .field_fieldColorsCSS_compound_13__bx32hr:hover {
180
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-disabled, #dadbe780);
181
+ }
182
+ .field_fieldColorsCSS_compound_13__bx32hr:active {
183
+ --vars_background__bx32h3: var(--dt-colors-background-field-success-disabled, #dadbe780);
184
+ }
185
+ .field_fieldColorsCSS_compound_14__bx32hs {
186
+ --vars_text__bx32h0: var(--dt-colors-text-critical-disabled, #54558780);
187
+ --vars_icon__bx32h1: var(--dt-colors-icon-critical-disabled, #54558780);
188
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-disabled, #dadbe780);
189
+ --vars_backgroundStatic__bx32h2: var(--dt-colors-background-field-critical-disabled, #dadbe780);
190
+ }
191
+ .field_fieldColorsCSS_compound_14__bx32hs:hover {
192
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-disabled, #dadbe780);
193
+ }
194
+ .field_fieldColorsCSS_compound_14__bx32hs:active {
195
+ --vars_background__bx32h3: var(--dt-colors-background-field-critical-disabled, #dadbe780);
196
+ }
197
+ .field_fieldColorsCSS_compound_15__bx32ht {
198
+ --vars_text__bx32h0: var(--dt-colors-text-neutral-disabled, #54558780);
199
+ --vars_icon__bx32h1: var(--dt-colors-icon-neutral-disabled, #54558780);
200
+ --vars_background__bx32h3: transparent;
201
+ --vars_backgroundStatic__bx32h2: transparent;
202
+ }
203
+ .field_fieldColorsCSS_compound_15__bx32ht:hover {
204
+ --vars_background__bx32h3: transparent;
205
+ }
206
+ .field_fieldColorsCSS_compound_15__bx32ht:active {
207
+ --vars_background__bx32h3: transparent;
208
+ }
@@ -0,0 +1,9 @@
1
+ import "./field.css";
2
+ import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
3
+ var fieldColorVars = { text: "var(--vars_text__bx32h0)", icon: "var(--vars_icon__bx32h1)", backgroundStatic: "var(--vars_backgroundStatic__bx32h2)", background: "var(--vars_background__bx32h3)" };
4
+ var fieldColorsCSS = _7a468({ defaultClassName: "field__bx32h4", variantClassNames: { disabled: { true: "field_fieldColorsCSS_disabled_true__bx32h5" }, color: { primary: "field_fieldColorsCSS_color_primary__bx32h6", neutral: "field_fieldColorsCSS_color_neutral__bx32h7", success: "field_fieldColorsCSS_color_success__bx32h8", critical: "field_fieldColorsCSS_color_critical__bx32h9", warning: "field_fieldColorsCSS_color_warning__bx32ha" }, variant: { "default": "field_fieldColorsCSS_variant_default__bx32hb", emphasized: "field_fieldColorsCSS_variant_emphasized__bx32hc", accent: "field_fieldColorsCSS_variant_accent__bx32hd" } }, defaultVariants: {}, compoundVariants: [[{ color: "primary", variant: "emphasized" }, "field_fieldColorsCSS_compound_0__bx32he"], [{ color: "primary", variant: "accent" }, "field_fieldColorsCSS_compound_1__bx32hf"], [{ color: "neutral", variant: "emphasized" }, "field_fieldColorsCSS_compound_2__bx32hg"], [{ color: "neutral", variant: "accent" }, "field_fieldColorsCSS_compound_3__bx32hh"], [{ color: "success", variant: "emphasized" }, "field_fieldColorsCSS_compound_4__bx32hi"], [{ color: "success", variant: "accent" }, "field_fieldColorsCSS_compound_5__bx32hj"], [{ color: "critical", variant: "emphasized" }, "field_fieldColorsCSS_compound_6__bx32hk"], [{ color: "critical", variant: "accent" }, "field_fieldColorsCSS_compound_7__bx32hl"], [{ color: "warning", variant: "emphasized" }, "field_fieldColorsCSS_compound_8__bx32hm"], [{ color: "warning", variant: "accent" }, "field_fieldColorsCSS_compound_9__bx32hn"], [{ color: "neutral", disabled: true }, "field_fieldColorsCSS_compound_10__bx32ho"], [{ color: "primary", disabled: true }, "field_fieldColorsCSS_compound_11__bx32hp"], [{ color: "warning", disabled: true }, "field_fieldColorsCSS_compound_12__bx32hq"], [{ color: "success", disabled: true }, "field_fieldColorsCSS_compound_13__bx32hr"], [{ color: "critical", disabled: true }, "field_fieldColorsCSS_compound_14__bx32hs"], [{ variant: "default", disabled: true }, "field_fieldColorsCSS_compound_15__bx32ht"]] });
5
+ export {
6
+ fieldColorVars,
7
+ fieldColorsCSS
8
+ };
9
+ //# sourceMappingURL=field.sty.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/styles/field.css.ts"],
4
+ "sourcesContent": ["import './field.css';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var fieldColorVars = {text:'var(--vars_text__bx32h0)',icon:'var(--vars_icon__bx32h1)',backgroundStatic:'var(--vars_backgroundStatic__bx32h2)',background:'var(--vars_background__bx32h3)'};\nexport var fieldColorsCSS = _7a468({defaultClassName:'field__bx32h4',variantClassNames:{disabled:{true:'field_fieldColorsCSS_disabled_true__bx32h5'},color:{primary:'field_fieldColorsCSS_color_primary__bx32h6',neutral:'field_fieldColorsCSS_color_neutral__bx32h7',success:'field_fieldColorsCSS_color_success__bx32h8',critical:'field_fieldColorsCSS_color_critical__bx32h9',warning:'field_fieldColorsCSS_color_warning__bx32ha'},variant:{'default':'field_fieldColorsCSS_variant_default__bx32hb',emphasized:'field_fieldColorsCSS_variant_emphasized__bx32hc',accent:'field_fieldColorsCSS_variant_accent__bx32hd'}},defaultVariants:{},compoundVariants:[[{color:'primary',variant:'emphasized'},'field_fieldColorsCSS_compound_0__bx32he'],[{color:'primary',variant:'accent'},'field_fieldColorsCSS_compound_1__bx32hf'],[{color:'neutral',variant:'emphasized'},'field_fieldColorsCSS_compound_2__bx32hg'],[{color:'neutral',variant:'accent'},'field_fieldColorsCSS_compound_3__bx32hh'],[{color:'success',variant:'emphasized'},'field_fieldColorsCSS_compound_4__bx32hi'],[{color:'success',variant:'accent'},'field_fieldColorsCSS_compound_5__bx32hj'],[{color:'critical',variant:'emphasized'},'field_fieldColorsCSS_compound_6__bx32hk'],[{color:'critical',variant:'accent'},'field_fieldColorsCSS_compound_7__bx32hl'],[{color:'warning',variant:'emphasized'},'field_fieldColorsCSS_compound_8__bx32hm'],[{color:'warning',variant:'accent'},'field_fieldColorsCSS_compound_9__bx32hn'],[{color:'neutral',disabled:true},'field_fieldColorsCSS_compound_10__bx32ho'],[{color:'primary',disabled:true},'field_fieldColorsCSS_compound_11__bx32hp'],[{color:'warning',disabled:true},'field_fieldColorsCSS_compound_12__bx32hq'],[{color:'success',disabled:true},'field_fieldColorsCSS_compound_13__bx32hr'],[{color:'critical',disabled:true},'field_fieldColorsCSS_compound_14__bx32hs'],[{variant:'default',disabled:true},'field_fieldColorsCSS_compound_15__bx32ht']]});"],
5
+ "mappings": "AAAA,OAAO;AACP,SAAS,mBAAmB,cAAc;AACnC,IAAI,iBAAiB,EAAC,MAAK,4BAA2B,MAAK,4BAA2B,kBAAiB,wCAAuC,YAAW,iCAAgC;AACzL,IAAI,iBAAiB,OAAO,EAAC,kBAAiB,iBAAgB,mBAAkB,EAAC,UAAS,EAAC,MAAK,6CAA4C,GAAE,OAAM,EAAC,SAAQ,8CAA6C,SAAQ,8CAA6C,SAAQ,8CAA6C,UAAS,+CAA8C,SAAQ,6CAA4C,GAAE,SAAQ,EAAC,WAAU,gDAA+C,YAAW,mDAAkD,QAAO,8CAA6C,EAAC,GAAE,iBAAgB,CAAC,GAAE,kBAAiB,CAAC,CAAC,EAAC,OAAM,WAAU,SAAQ,aAAY,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,SAAQ,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,aAAY,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,SAAQ,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,aAAY,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,SAAQ,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,YAAW,SAAQ,aAAY,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,YAAW,SAAQ,SAAQ,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,aAAY,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,SAAQ,SAAQ,GAAE,yCAAyC,GAAE,CAAC,EAAC,OAAM,WAAU,UAAS,KAAI,GAAE,0CAA0C,GAAE,CAAC,EAAC,OAAM,WAAU,UAAS,KAAI,GAAE,0CAA0C,GAAE,CAAC,EAAC,OAAM,WAAU,UAAS,KAAI,GAAE,0CAA0C,GAAE,CAAC,EAAC,OAAM,WAAU,UAAS,KAAI,GAAE,0CAA0C,GAAE,CAAC,EAAC,OAAM,YAAW,UAAS,KAAI,GAAE,0CAA0C,GAAE,CAAC,EAAC,SAAQ,WAAU,UAAS,KAAI,GAAE,0CAA0C,CAAC,EAAC,CAAC;",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/Code/Code.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, { forwardRef } from 'react';\n\nimport { codeCSS } from './Code.sty.js';\nimport {\n type DataTestId,\n type StylingProps,\n type WithChildren,\n} from '../../core/index.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\n\n/**\n * The props for the Code component.\n * @public\n */\nexport interface CodeProps\n extends WithChildren,\n StylingProps,\n DataTestId,\n MaskingProps {}\n\n/**\n * @public\n * Use the `Code` component to display snippets of code inline. If you want to\n * display a block of code, use the\n * {@link https://developer.dynatrace.com/reference/design-system/preview/content/CodeSnippet/ | `CodeSnippet`}\n * component instead.\n */\nexport const Code = /* @__PURE__ */ forwardRef<HTMLElement, CodeProps>(\n (props, ref) => {\n const {\n children,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n } = props;\n return (\n <code\n ref={ref}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(codeCSS, consumerClassName)}\n style={consumerStyle}\n {...remainingProps}\n >\n {children}\n </code>\n );\n },\n);\n\n(Code as typeof Code & { displayName: string }).displayName = 'Code';\n"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, { forwardRef } from 'react';\n\nimport { codeCSS } from './Code.sty.js';\nimport {\n type DataTestId,\n type StylingProps,\n type WithChildren,\n} from '../../core/index.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\n\n/**\n * The props for the Code component.\n * @public\n */\nexport interface CodeProps\n extends WithChildren,\n StylingProps,\n DataTestId,\n MaskingProps {}\n\n/**\n * @public\n * Use the `Code` component to display snippets of code inline. If you want to\n * display a block of code, use the\n * {@link https://developer.dynatrace.com/design/components-preview/content/CodeSnippet/ | `CodeSnippet`}\n * component instead.\n */\nexport const Code = /* @__PURE__ */ forwardRef<HTMLElement, CodeProps>(\n (props, ref) => {\n const {\n children,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n } = props;\n return (\n <code\n ref={ref}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(codeCSS, consumerClassName)}\n style={consumerStyle}\n {...remainingProps}\n >\n {children}\n </code>\n );\n },\n);\n\n(Code as typeof Code & { displayName: string }).displayName = 'Code';\n"],
5
5
  "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,SAAS,kBAAkB;AAElC,SAAS,eAAe;AAyBjB,MAAM,OAAuB;AAAA,EAClC,CAAC,OAAO,QAAQ;AACd,UAAM;AAAA,MACJ;AAAA,MACA,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,oBAAoB;AAAA,MACpB,WAAW;AAAA,MACX,OAAO;AAAA,MACP,GAAG;AAAA,IACL,IAAI;AACJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa;AAAA,QACb,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB,WAAW,KAAK,SAAS,iBAAiB;AAAA,QAC1C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,MAEH;AAAA,IACH;AAAA,EAEJ;AACF;AAEC,KAA+C,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/ExternalLink/ExternalLink.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, { forwardRef, MouseEventHandler } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { ExternalLinkIcon } from '@dynatrace/strato-icons';\n\nimport { externalLinkCSS } from './ExternalLink.sty.js';\nimport {\n type DataTestId,\n type StylingProps,\n type WithChildren,\n _mergeProps,\n} from '../../core/index.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\n\n/**\n * The props for the ExternalLink component.\n * @public\n */\nexport interface ExternalLinkProps\n extends WithChildren,\n StylingProps,\n DataTestId,\n MaskingProps {\n /** The href used for the link. */\n href: string;\n /** Callback handler called on click. */\n onClick?: MouseEventHandler;\n}\n\n/**\n * @public\n * Use the `ExternalLink` component to link outside of the\n * Dynatrace platform. For resources within the Dynatrace platform, use the\n * {@link https://developer.dynatrace.com/reference/design-system/preview/typography/Link/ | `Link`}\n * component instead.\n */\nexport const ExternalLink = /* @__PURE__ */ forwardRef<\n HTMLAnchorElement,\n ExternalLinkProps\n>((props, ref) => {\n const {\n children,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n } = props;\n\n const { focusProps, focusClassName } = useFocusRing({\n variant: 'primary',\n isMinimal: true,\n });\n\n const intl = useIntl();\n\n return (\n <a\n ref={ref}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(focusClassName, externalLinkCSS, consumerClassName)}\n style={consumerStyle}\n {..._mergeProps(remainingProps, focusProps)}\n >\n {children}\n <span>\n &#65279;\n <ExternalLinkIcon\n aria-hidden=\"false\"\n // https://www.w3.org/WAI/tutorials/images/functional/#example-3-icon-image-conveying-information-within-link-text\n aria-label={intl.formatMessage({\n defaultMessage: 'Opening the link in a new window',\n id: 'JzYy8MUVfPcyf4l5',\n description:\n 'External link icon that describes the external link icon',\n })}\n />\n </span>\n </a>\n );\n});\n\n(ExternalLink as typeof ExternalLink & { displayName: string }).displayName =\n 'ExternalLink';\n"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, { forwardRef, MouseEventHandler } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { ExternalLinkIcon } from '@dynatrace/strato-icons';\n\nimport { externalLinkCSS } from './ExternalLink.sty.js';\nimport {\n type DataTestId,\n type StylingProps,\n type WithChildren,\n _mergeProps,\n} from '../../core/index.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\n\n/**\n * The props for the ExternalLink component.\n * @public\n */\nexport interface ExternalLinkProps\n extends WithChildren,\n StylingProps,\n DataTestId,\n MaskingProps {\n /** The href used for the link. */\n href: string;\n /** Callback handler called on click. */\n onClick?: MouseEventHandler;\n}\n\n/**\n * @public\n * Use the `ExternalLink` component to link outside of the\n * Dynatrace platform. For resources within the Dynatrace platform, use the\n * {@link https://developer.dynatrace.com/design/components/typography/Link/ | `Link`}\n * component instead.\n */\nexport const ExternalLink = /* @__PURE__ */ forwardRef<\n HTMLAnchorElement,\n ExternalLinkProps\n>((props, ref) => {\n const {\n children,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n } = props;\n\n const { focusProps, focusClassName } = useFocusRing({\n variant: 'primary',\n isMinimal: true,\n });\n\n const intl = useIntl();\n\n return (\n <a\n ref={ref}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(focusClassName, externalLinkCSS, consumerClassName)}\n style={consumerStyle}\n {..._mergeProps(remainingProps, focusProps)}\n >\n {children}\n <span>\n &#65279;\n <ExternalLinkIcon\n aria-hidden=\"false\"\n // https://www.w3.org/WAI/tutorials/images/functional/#example-3-icon-image-conveying-information-within-link-text\n aria-label={intl.formatMessage({\n defaultMessage: 'Opening the link in a new window',\n id: 'JzYy8MUVfPcyf4l5',\n description:\n 'External link icon that describes the external link icon',\n })}\n />\n </span>\n </a>\n );\n});\n\n(ExternalLink as typeof ExternalLink & { displayName: string }).displayName =\n 'ExternalLink';\n"],
5
5
  "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,SAAS,kBAAqC;AACrD,SAAS,eAAe;AAExB,SAAS,wBAAwB;AAEjC,SAAS,uBAAuB;AAChC;AAAA,EAIE;AAAA,OACK;AACP,SAAS,oBAAoB;AAyBtB,MAAM,eAA+B,2BAG1C,CAAC,OAAO,QAAQ;AAChB,QAAM;AAAA,IACJ;AAAA,IACA,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,EAAE,YAAY,eAAe,IAAI,aAAa;AAAA,IAClD,SAAS;AAAA,IACT,WAAW;AAAA,EACb,CAAC;AAED,QAAM,OAAO,QAAQ;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,eAAa;AAAA,MACb,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,WAAW,KAAK,gBAAgB,iBAAiB,iBAAiB;AAAA,MAClE,OAAO;AAAA,MACN,GAAG,YAAY,gBAAgB,UAAU;AAAA;AAAA,IAEzC;AAAA,IACD,oCAAC,cAAK,UAEJ;AAAA,MAAC;AAAA;AAAA,QACC,eAAY;AAAA,QAEZ,cAAY,KAAK,cAAc;AAAA,UAC7B,gBAAgB;AAAA,UAChB,IAAI;AAAA,UACJ,aACE;AAAA,QACJ,CAAC;AAAA;AAAA,IACH,CACF;AAAA,EACF;AAEJ,CAAC;AAEA,aAA+D,cAC9D;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/Link/Link.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport React, { ElementType, forwardRef, ReactElement } from 'react';\n\nimport {\n type PolymorphicComponentProps,\n type DataTestId,\n type StylingProps,\n type WithChildren,\n _mergeProps,\n} from '../../core/index.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\nimport { linkCSS } from '../Link/Link.sty.js';\n\n/**\n * The props for the Link component.\n * @public\n */\nexport type LinkProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n WithChildren & StylingProps & DataTestId & MaskingProps\n>;\n\n/**\n * @public\n * Use the `Link` component to navigate to a different page within the application.\n * For external resources in a different domain, use the\n * {@link https://developer.dynatrace.com/reference/design-system/preview/typography/ExternalLink/ | `ExternalLink`}\n * component instead.\n */\nexport const Link: <E extends ElementType = 'a'>(\n props: LinkProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(\n {\n children,\n as,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n }: LinkProps<E>,\n ref: typeof remainingProps.ref,\n ) => {\n const { focusProps, focusClassName } = useFocusRing({\n variant: 'primary',\n isMinimal: true,\n });\n const LinkTag = as || 'a';\n\n return (\n <LinkTag\n ref={ref}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(focusClassName, linkCSS, consumerClassName)}\n style={consumerStyle}\n {..._mergeProps(\n // Need to cast this one as the inference of mergeProps would generate\n // a not allowed overlap. The remainingProps type is too complex due to the\n // polymorphic inheritance.\n remainingProps as Record<string, unknown>,\n focusProps,\n )}\n >\n {children}\n </LinkTag>\n );\n },\n);\n\n(Link as typeof Link & { displayName: string }).displayName = 'Link';\n"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport React, { ElementType, forwardRef, ReactElement } from 'react';\n\nimport {\n type PolymorphicComponentProps,\n type DataTestId,\n type StylingProps,\n type WithChildren,\n _mergeProps,\n} from '../../core/index.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport type { MaskingProps } from '../../core/types/masking-props.js';\nimport { linkCSS } from '../Link/Link.sty.js';\n\n/**\n * The props for the Link component.\n * @public\n */\nexport type LinkProps<E extends ElementType> = PolymorphicComponentProps<\n E,\n WithChildren & StylingProps & DataTestId & MaskingProps\n>;\n\n/**\n * @public\n * Use the `Link` component to navigate to a different page within the application.\n * For external resources in a different domain, use the\n * {@link https://developer.dynatrace.com/design/components/typography/ExternalLink/ | `ExternalLink`}\n * component instead.\n */\nexport const Link: <E extends ElementType = 'a'>(\n props: LinkProps<E>,\n) => ReactElement | null = /* @__PURE__ */ forwardRef(\n <E extends ElementType>(\n {\n children,\n as,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n className: consumerClassName,\n style: consumerStyle,\n ...remainingProps\n }: LinkProps<E>,\n ref: typeof remainingProps.ref,\n ) => {\n const { focusProps, focusClassName } = useFocusRing({\n variant: 'primary',\n isMinimal: true,\n });\n const LinkTag = as || 'a';\n\n return (\n <LinkTag\n ref={ref}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(focusClassName, linkCSS, consumerClassName)}\n style={consumerStyle}\n {..._mergeProps(\n // Need to cast this one as the inference of mergeProps would generate\n // a not allowed overlap. The remainingProps type is too complex due to the\n // polymorphic inheritance.\n remainingProps as Record<string, unknown>,\n focusProps,\n )}\n >\n {children}\n </LinkTag>\n );\n },\n);\n\n(Link as typeof Link & { displayName: string }).displayName = 'Link';\n"],
5
5
  "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,SAAsB,kBAAgC;AAE7D;AAAA,EAKE;AAAA,OACK;AACP,SAAS,oBAAoB;AAE7B,SAAS,eAAe;AAkBjB,MAAM,OAE8B;AAAA,EACzC,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,EAAE,YAAY,eAAe,IAAI,aAAa;AAAA,MAClD,SAAS;AAAA,MACT,WAAW;AAAA,IACb,CAAC;AACD,UAAM,UAAU,MAAM;AAEtB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa;AAAA,QACb,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB,WAAW,KAAK,gBAAgB,SAAS,iBAAiB;AAAA,QAC1D,OAAO;AAAA,QACN,GAAG;AAAA;AAAA;AAAA;AAAA,UAIF;AAAA,UACA;AAAA,QACF;AAAA;AAAA,MAEC;AAAA,IACH;AAAA,EAEJ;AACF;AAEC,KAA+C,cAAc;",
6
6
  "names": []
7
7
  }
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './buttons/index.js';
1
2
  export * from './core/index.js';
2
3
  export * from './content/index.js';
3
4
  export * from './layouts/index.js';
package/index.js CHANGED
@@ -14,6 +14,7 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var src_exports = {};
16
16
  module.exports = __toCommonJS(src_exports);
17
+ __reExport(src_exports, require("./buttons/index.js"), module.exports);
17
18
  __reExport(src_exports, require("./core/index.js"), module.exports);
18
19
  __reExport(src_exports, require("./content/index.js"), module.exports);
19
20
  __reExport(src_exports, require("./layouts/index.js"), module.exports);
package/lang/en.json CHANGED
@@ -10,5 +10,11 @@
10
10
  "type": 0,
11
11
  "value": "Opening the link in a new window"
12
12
  }
13
+ ],
14
+ "cycz+bYG+VH7Of4e": [
15
+ {
16
+ "type": 0,
17
+ "value": "Loading"
18
+ }
13
19
  ]
14
20
  }
@@ -6,5 +6,9 @@
6
6
  "JzYy8MUVfPcyf4l5": {
7
7
  "notes": "External link icon that describes the external link icon",
8
8
  "translation": "Opening the link in a new window"
9
+ },
10
+ "cycz+bYG+VH7Of4e": {
11
+ "notes": "Label for the loading state.",
12
+ "translation": "Loading"
9
13
  }
10
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynatrace/strato-components",
3
- "version": "0.84.51",
3
+ "version": "0.85.10",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "lang": "lang/uncompiled",
@@ -19,6 +19,13 @@
19
19
  "module": "./esm/index.js",
20
20
  "import": "./esm/index.js"
21
21
  },
22
+ "./buttons": {
23
+ "types": "./buttons/index.d.ts",
24
+ "require": "./buttons/index.js",
25
+ "browser": "./esm/buttons/index.js",
26
+ "module": "./esm/buttons/index.js",
27
+ "import": "./esm/buttons/index.js"
28
+ },
22
29
  "./content": {
23
30
  "types": "./content/index.d.ts",
24
31
  "require": "./content/index.js",
@@ -64,28 +71,28 @@
64
71
  }
65
72
  },
66
73
  "dependencies": {
67
- "@dynatrace-sdk/units": "^0.13.1",
74
+ "@dynatrace-sdk/units": "^0.13.2",
68
75
  "@dynatrace/devkit": "^0.3.2",
69
- "@formatjs/icu-messageformat-parser": "^2.0.18",
76
+ "@formatjs/icu-messageformat-parser": "^2.7.8",
70
77
  "@jest/globals": "^29.7.0",
71
78
  "clsx": "^2.1.1",
72
79
  "lodash-es": "^4.17.21",
73
80
  "wicg-inert": "^3.1.2",
74
81
  "use-resize-observer": "^9.1.0",
75
- "@dynatrace/strato-design-tokens": "0.20.30",
76
- "@dynatrace/strato-icons": "0.38.0"
82
+ "@dynatrace/strato-design-tokens": "0.20.40",
83
+ "@dynatrace/strato-icons": "0.39.1"
77
84
  },
78
85
  "peerDependencies": {
79
- "@dynatrace-sdk/app-environment": ">= 1.0.0 < 2",
80
- "@dynatrace-sdk/error-handlers": ">= 1.0.0 < 2",
81
- "@dynatrace-sdk/navigation": ">= 1.0.0 < 2",
82
- "@dynatrace-sdk/user-preferences": ">= 1.1.0 < 2",
83
- "@testing-library/react": "^12.0.0 || ^14.0.0",
84
- "@testing-library/user-event": ">= 13.1.8",
85
- "react": "^17.0.2 || ^18.0.0",
86
- "react-dom": "^17.0.2 || ^18.0.0",
86
+ "@dynatrace-sdk/app-environment": "^1.0.0",
87
+ "@dynatrace-sdk/error-handlers": "^1.0.0",
88
+ "@dynatrace-sdk/navigation": "^1.0.0",
89
+ "@dynatrace-sdk/user-preferences": "^1.1.0",
90
+ "@testing-library/react": "^14.0.0 || ^15.0.0",
91
+ "@testing-library/user-event": "^14.0.0",
92
+ "react": "^18.0.0",
93
+ "react-dom": "^18.0.0",
87
94
  "react-intl": "^6.0.8",
88
- "react-is": "^17.0.2 || ^18.0.0"
95
+ "react-is": "^18.0.0"
89
96
  },
90
97
  "peerDependenciesMeta": {
91
98
  "@testing-library/react": {