@ultraviolet/ui 2.0.5 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
5
+ const _styled = require("@emotion/styled/base");
6
+ const react = require("react");
7
+ const index = require("../Text/index.cjs");
8
+ const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
9
+ const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
10
+ const KEYS_MATCH = {
11
+ backspace: "⌫",
12
+ command: "⌘",
13
+ control: "⌃",
14
+ enter: "↵",
15
+ option: "⌥",
16
+ shift: "⇧"
17
+ };
18
+ const KeyContainer = /* @__PURE__ */ _styled__default.default("kbd", process.env.NODE_ENV === "production" ? {
19
+ target: "eufi4n90"
20
+ } : {
21
+ target: "eufi4n90",
22
+ label: "KeyContainer"
23
+ })("cursor:default;background:", ({
24
+ theme
25
+ }) => theme.colors.neutral.backgroundWeak, ";border-radius:", ({
26
+ theme
27
+ }) => theme.radii.default, ";border:0.5px solid ", ({
28
+ theme
29
+ }) => theme.colors.neutral.borderWeak, ";min-width:", ({
30
+ theme
31
+ }) => theme.sizing["300"], ";height:", ({
32
+ theme
33
+ }) => theme.sizing["300"], ";display:flex;justify-content:center;align-items:center;&[data-prominence='strong']{background-color:", ({
34
+ theme
35
+ }) => theme.colors.neutral.backgroundStronger, ";border-color:", ({
36
+ theme
37
+ }) => theme.colors.neutral.border, ';&[data-disabled="true"]{background-color:', ({
38
+ theme
39
+ }) => theme.colors.neutral.backgroundStrongerDisabled, ";border-color:", ({
40
+ theme
41
+ }) => theme.colors.neutral.borderDisabled, ";}}&[data-disabled='true']{background-color:", ({
42
+ theme
43
+ }) => theme.colors.neutral.backgroundWeakDisabled, ";border-color:", ({
44
+ theme
45
+ }) => theme.colors.neutral.borderWeakDisabled, ';cursor:not-allowed;}&[data-sentiment="primary"]{background-color:', ({
46
+ theme
47
+ }) => theme.colors.primary.background, ";border-color:", ({
48
+ theme
49
+ }) => theme.colors.primary.border, ";&[data-prominence='strong']{background-color:", ({
50
+ theme
51
+ }) => theme.colors.primary.backgroundStrong, ';&[data-disabled="true"]{background-color:', ({
52
+ theme
53
+ }) => theme.colors.primary.backgroundStrongDisabled, ";}}&[data-disabled='true']{background:", ({
54
+ theme
55
+ }) => theme.colors.primary.backgroundDisabled, ";border-color:", ({
56
+ theme
57
+ }) => theme.colors.neutral.borderDisabled, ';cursor:not-allowed;}}&[data-size="small"]{min-width:', ({
58
+ theme
59
+ }) => theme.sizing["250"], ";height:", ({
60
+ theme
61
+ }) => theme.sizing["250"], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL0tleS9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZStCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL0tleS9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuZXhwb3J0IGNvbnN0IEtFWVNfTUFUQ0ggPSB7XG4gIGJhY2tzcGFjZTogJ+KMqycsXG4gIGNvbW1hbmQ6ICfijJgnLFxuICBjb250cm9sOiAn4oyDJyxcbiAgZW50ZXI6ICfihrUnLFxuICBvcHRpb246ICfijKUnLFxuICBzaGlmdDogJ+KHpycsXG59IGFzIGNvbnN0XG5cbmNvbnN0IEtleUNvbnRhaW5lciA9IHN0eWxlZC5rYmRgXG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJvcmRlcjogMC41cHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJXZWFrfTtcbiAgbWluLXdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1snMzAwJ119O1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWyczMDAnXX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC8qKiBOZXV0cmFsIHN0eWxlICovXG4gICZbZGF0YS1wcm9taW5lbmNlPSdzdHJvbmcnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICAgJltkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlckRpc2FibGVkfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtEaXNhYmxlZH07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcldlYWtEaXNhYmxlZH07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKiBQcmltYXJ5IHN0eWxlICovXG4gICZbZGF0YS1zZW50aW1lbnQ9XCJwcmltYXJ5XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9O1xuXG4gICAgJltkYXRhLXByb21pbmVuY2U9J3N0cm9uZyddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZFN0cm9uZ307XG5cbiAgICAgICZbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdEaXNhYmxlZH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlckRpc2FibGVkfTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNpemUgKi9cbiAgJltkYXRhLXNpemU9XCJzbWFsbFwiXSB7XG4gICAgbWluLXdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1snMjUwJ119O1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbJzI1MCddfTtcbiAgfVxuYFxuXG50eXBlIEtleVByb3BzID0ge1xuICBjaGlsZHJlbjogc3RyaW5nXG4gIHByb21pbmVuY2U/OiAnc3Ryb25nJyB8ICdkZWZhdWx0J1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJ1xuICBzZW50aW1lbnQ/OiAnbmV1dHJhbCcgfCAncHJpbWFyeSdcbiAgaWQ/OiBzdHJpbmdcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBLZXkgaXMgYSB2aXN1YWwgY29tcG9uZW50IHVzZWQgdG8gZGlzcGxheSBrZXlib2FyZCBzaG9ydGN1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBLZXkgPSAoe1xuICBjaGlsZHJlbixcbiAgcHJvbWluZW5jZSA9ICdkZWZhdWx0JyxcbiAgZGlzYWJsZWQsXG4gIHNpemUgPSAnbWVkaXVtJyxcbiAgc2VudGltZW50ID0gJ25ldXRyYWwnLFxuICBpZCxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogS2V5UHJvcHMpID0+IHtcbiAgY29uc3Qgc3BlY2lhbEtleSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gT2JqZWN0LmtleXMoS0VZU19NQVRDSCkuZmluZChrZXkgPT4ga2V5ID09PSBjaGlsZHJlbi50b0xvd2VyQ2FzZSgpKSxcbiAgICBbY2hpbGRyZW5dLFxuICApXG4gIGNvbnN0IHRleHRQcm9taW5lbmNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHByb21pbmVuY2UgPT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuICdkZWZhdWx0J1xuICAgIH1cblxuICAgIGlmIChzZW50aW1lbnQgPT09ICdwcmltYXJ5Jykge1xuICAgICAgcmV0dXJuICdzdHJvbmcnXG4gICAgfVxuXG4gICAgcmV0dXJuICdzdHJvbmdlcidcbiAgfSwgW3NlbnRpbWVudCwgcHJvbWluZW5jZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8S2V5Q29udGFpbmVyXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgZGF0YS1wcm9taW5lbmNlPXtwcm9taW5lbmNlfVxuICAgICAgZGF0YS1zZW50aW1lbnQ9e3NlbnRpbWVudH1cbiAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgaWQ9e2lkfVxuICAgID5cbiAgICAgIDxUZXh0XG4gICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcHJvbWluZW5jZT17dGV4dFByb21pbmVuY2V9XG4gICAgICAgIHNlbnRpbWVudD17c2VudGltZW50fVxuICAgICAgICB2YXJpYW50PXtzaXplID09PSAnbWVkaXVtJyA/ICdjYXB0aW9uJyA6ICdjYXB0aW9uU21hbGwnfVxuICAgICAgPlxuICAgICAgICB7c3BlY2lhbEtleVxuICAgICAgICAgID8gS0VZU19NQVRDSFtzcGVjaWFsS2V5IGFzIGtleW9mIHR5cGVvZiBLRVlTX01BVENIXVxuICAgICAgICAgIDogY2hpbGRyZW59XG4gICAgICA8L1RleHQ+XG4gICAgPC9LZXlDb250YWluZXI+XG4gIClcbn1cbiJdfQ== */"));
62
+ const Key = ({
63
+ children,
64
+ prominence = "default",
65
+ disabled,
66
+ size = "medium",
67
+ sentiment = "neutral",
68
+ id,
69
+ className,
70
+ "data-testid": dataTestId
71
+ }) => {
72
+ const specialKey = react.useMemo(() => Object.keys(KEYS_MATCH).find((key) => key === children.toLowerCase()), [children]);
73
+ const textProminence = react.useMemo(() => {
74
+ if (prominence === "default") {
75
+ return "default";
76
+ }
77
+ if (sentiment === "primary") {
78
+ return "strong";
79
+ }
80
+ return "stronger";
81
+ }, [sentiment, prominence]);
82
+ return /* @__PURE__ */ jsxRuntime.jsx(KeyContainer, { className, "data-disabled": disabled, "data-prominence": prominence, "data-sentiment": sentiment, "data-size": size, "data-testid": dataTestId, id, children: /* @__PURE__ */ jsxRuntime.jsx(index.Text, { as: "span", disabled, prominence: textProminence, sentiment, variant: size === "medium" ? "caption" : "captionSmall", children: specialKey ? KEYS_MATCH[specialKey] : children }) });
83
+ };
84
+ exports.KEYS_MATCH = KEYS_MATCH;
85
+ exports.Key = Key;
@@ -0,0 +1,23 @@
1
+ export declare const KEYS_MATCH: {
2
+ readonly backspace: "⌫";
3
+ readonly command: "⌘";
4
+ readonly control: "⌃";
5
+ readonly enter: "↵";
6
+ readonly option: "⌥";
7
+ readonly shift: "⇧";
8
+ };
9
+ type KeyProps = {
10
+ children: string;
11
+ prominence?: 'strong' | 'default';
12
+ disabled?: boolean;
13
+ size?: 'small' | 'medium';
14
+ sentiment?: 'neutral' | 'primary';
15
+ id?: string;
16
+ className?: string;
17
+ 'data-testid'?: string;
18
+ };
19
+ /**
20
+ * Key is a visual component used to display keyboard shortcuts.
21
+ */
22
+ export declare const Key: ({ children, prominence, disabled, size, sentiment, id, className, "data-testid": dataTestId, }: KeyProps) => import("@emotion/react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,83 @@
1
+ "use client";
2
+ import { jsx } from "@emotion/react/jsx-runtime";
3
+ import _styled from "@emotion/styled/base";
4
+ import { useMemo } from "react";
5
+ import { Text } from "../Text/index.js";
6
+ const KEYS_MATCH = {
7
+ backspace: "⌫",
8
+ command: "⌘",
9
+ control: "⌃",
10
+ enter: "↵",
11
+ option: "⌥",
12
+ shift: "⇧"
13
+ };
14
+ const KeyContainer = /* @__PURE__ */ _styled("kbd", process.env.NODE_ENV === "production" ? {
15
+ target: "eufi4n90"
16
+ } : {
17
+ target: "eufi4n90",
18
+ label: "KeyContainer"
19
+ })("cursor:default;background:", ({
20
+ theme
21
+ }) => theme.colors.neutral.backgroundWeak, ";border-radius:", ({
22
+ theme
23
+ }) => theme.radii.default, ";border:0.5px solid ", ({
24
+ theme
25
+ }) => theme.colors.neutral.borderWeak, ";min-width:", ({
26
+ theme
27
+ }) => theme.sizing["300"], ";height:", ({
28
+ theme
29
+ }) => theme.sizing["300"], ";display:flex;justify-content:center;align-items:center;&[data-prominence='strong']{background-color:", ({
30
+ theme
31
+ }) => theme.colors.neutral.backgroundStronger, ";border-color:", ({
32
+ theme
33
+ }) => theme.colors.neutral.border, ';&[data-disabled="true"]{background-color:', ({
34
+ theme
35
+ }) => theme.colors.neutral.backgroundStrongerDisabled, ";border-color:", ({
36
+ theme
37
+ }) => theme.colors.neutral.borderDisabled, ";}}&[data-disabled='true']{background-color:", ({
38
+ theme
39
+ }) => theme.colors.neutral.backgroundWeakDisabled, ";border-color:", ({
40
+ theme
41
+ }) => theme.colors.neutral.borderWeakDisabled, ';cursor:not-allowed;}&[data-sentiment="primary"]{background-color:', ({
42
+ theme
43
+ }) => theme.colors.primary.background, ";border-color:", ({
44
+ theme
45
+ }) => theme.colors.primary.border, ";&[data-prominence='strong']{background-color:", ({
46
+ theme
47
+ }) => theme.colors.primary.backgroundStrong, ';&[data-disabled="true"]{background-color:', ({
48
+ theme
49
+ }) => theme.colors.primary.backgroundStrongDisabled, ";}}&[data-disabled='true']{background:", ({
50
+ theme
51
+ }) => theme.colors.primary.backgroundDisabled, ";border-color:", ({
52
+ theme
53
+ }) => theme.colors.neutral.borderDisabled, ';cursor:not-allowed;}}&[data-size="small"]{min-width:', ({
54
+ theme
55
+ }) => theme.sizing["250"], ";height:", ({
56
+ theme
57
+ }) => theme.sizing["250"], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL0tleS9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZStCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL0tleS9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuZXhwb3J0IGNvbnN0IEtFWVNfTUFUQ0ggPSB7XG4gIGJhY2tzcGFjZTogJ+KMqycsXG4gIGNvbW1hbmQ6ICfijJgnLFxuICBjb250cm9sOiAn4oyDJyxcbiAgZW50ZXI6ICfihrUnLFxuICBvcHRpb246ICfijKUnLFxuICBzaGlmdDogJ+KHpycsXG59IGFzIGNvbnN0XG5cbmNvbnN0IEtleUNvbnRhaW5lciA9IHN0eWxlZC5rYmRgXG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJvcmRlcjogMC41cHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJXZWFrfTtcbiAgbWluLXdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1snMzAwJ119O1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWyczMDAnXX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC8qKiBOZXV0cmFsIHN0eWxlICovXG4gICZbZGF0YS1wcm9taW5lbmNlPSdzdHJvbmcnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICAgJltkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlckRpc2FibGVkfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtEaXNhYmxlZH07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcldlYWtEaXNhYmxlZH07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKiBQcmltYXJ5IHN0eWxlICovXG4gICZbZGF0YS1zZW50aW1lbnQ9XCJwcmltYXJ5XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9O1xuXG4gICAgJltkYXRhLXByb21pbmVuY2U9J3N0cm9uZyddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZFN0cm9uZ307XG5cbiAgICAgICZbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdEaXNhYmxlZH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlckRpc2FibGVkfTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNpemUgKi9cbiAgJltkYXRhLXNpemU9XCJzbWFsbFwiXSB7XG4gICAgbWluLXdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1snMjUwJ119O1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbJzI1MCddfTtcbiAgfVxuYFxuXG50eXBlIEtleVByb3BzID0ge1xuICBjaGlsZHJlbjogc3RyaW5nXG4gIHByb21pbmVuY2U/OiAnc3Ryb25nJyB8ICdkZWZhdWx0J1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJ1xuICBzZW50aW1lbnQ/OiAnbmV1dHJhbCcgfCAncHJpbWFyeSdcbiAgaWQ/OiBzdHJpbmdcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBLZXkgaXMgYSB2aXN1YWwgY29tcG9uZW50IHVzZWQgdG8gZGlzcGxheSBrZXlib2FyZCBzaG9ydGN1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBLZXkgPSAoe1xuICBjaGlsZHJlbixcbiAgcHJvbWluZW5jZSA9ICdkZWZhdWx0JyxcbiAgZGlzYWJsZWQsXG4gIHNpemUgPSAnbWVkaXVtJyxcbiAgc2VudGltZW50ID0gJ25ldXRyYWwnLFxuICBpZCxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogS2V5UHJvcHMpID0+IHtcbiAgY29uc3Qgc3BlY2lhbEtleSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gT2JqZWN0LmtleXMoS0VZU19NQVRDSCkuZmluZChrZXkgPT4ga2V5ID09PSBjaGlsZHJlbi50b0xvd2VyQ2FzZSgpKSxcbiAgICBbY2hpbGRyZW5dLFxuICApXG4gIGNvbnN0IHRleHRQcm9taW5lbmNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHByb21pbmVuY2UgPT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuICdkZWZhdWx0J1xuICAgIH1cblxuICAgIGlmIChzZW50aW1lbnQgPT09ICdwcmltYXJ5Jykge1xuICAgICAgcmV0dXJuICdzdHJvbmcnXG4gICAgfVxuXG4gICAgcmV0dXJuICdzdHJvbmdlcidcbiAgfSwgW3NlbnRpbWVudCwgcHJvbWluZW5jZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8S2V5Q29udGFpbmVyXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgZGF0YS1wcm9taW5lbmNlPXtwcm9taW5lbmNlfVxuICAgICAgZGF0YS1zZW50aW1lbnQ9e3NlbnRpbWVudH1cbiAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgaWQ9e2lkfVxuICAgID5cbiAgICAgIDxUZXh0XG4gICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcHJvbWluZW5jZT17dGV4dFByb21pbmVuY2V9XG4gICAgICAgIHNlbnRpbWVudD17c2VudGltZW50fVxuICAgICAgICB2YXJpYW50PXtzaXplID09PSAnbWVkaXVtJyA/ICdjYXB0aW9uJyA6ICdjYXB0aW9uU21hbGwnfVxuICAgICAgPlxuICAgICAgICB7c3BlY2lhbEtleVxuICAgICAgICAgID8gS0VZU19NQVRDSFtzcGVjaWFsS2V5IGFzIGtleW9mIHR5cGVvZiBLRVlTX01BVENIXVxuICAgICAgICAgIDogY2hpbGRyZW59XG4gICAgICA8L1RleHQ+XG4gICAgPC9LZXlDb250YWluZXI+XG4gIClcbn1cbiJdfQ== */"));
58
+ const Key = ({
59
+ children,
60
+ prominence = "default",
61
+ disabled,
62
+ size = "medium",
63
+ sentiment = "neutral",
64
+ id,
65
+ className,
66
+ "data-testid": dataTestId
67
+ }) => {
68
+ const specialKey = useMemo(() => Object.keys(KEYS_MATCH).find((key) => key === children.toLowerCase()), [children]);
69
+ const textProminence = useMemo(() => {
70
+ if (prominence === "default") {
71
+ return "default";
72
+ }
73
+ if (sentiment === "primary") {
74
+ return "strong";
75
+ }
76
+ return "stronger";
77
+ }, [sentiment, prominence]);
78
+ return /* @__PURE__ */ jsx(KeyContainer, { className, "data-disabled": disabled, "data-prominence": prominence, "data-sentiment": sentiment, "data-size": size, "data-testid": dataTestId, id, children: /* @__PURE__ */ jsx(Text, { as: "span", disabled, prominence: textProminence, sentiment, variant: size === "medium" ? "caption" : "captionSmall", children: specialKey ? KEYS_MATCH[specialKey] : children }) });
79
+ };
80
+ export {
81
+ KEYS_MATCH,
82
+ Key
83
+ };