@ultraviolet/icons 4.0.4 → 4.1.0-beta.3

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 (42) hide show
  1. package/dist/components/CategoryIcon/Icon.cjs +7 -21
  2. package/dist/components/CategoryIcon/Icon.d.ts +4 -2
  3. package/dist/components/CategoryIcon/Icon.js +7 -19
  4. package/dist/components/CategoryIcon/__generated__/UseCasesCategoryIcon.cjs +17 -0
  5. package/dist/components/CategoryIcon/__generated__/UseCasesCategoryIcon.d.ts +2 -0
  6. package/dist/components/CategoryIcon/__generated__/UseCasesCategoryIcon.js +17 -0
  7. package/dist/components/CategoryIcon/__generated__/index.d.ts +2 -1
  8. package/dist/components/CategoryIcon/index.cjs +2 -0
  9. package/dist/components/CategoryIcon/index.js +2 -0
  10. package/dist/components/CategoryIcon/style.css.cjs +28 -0
  11. package/dist/components/CategoryIcon/style.css.d.ts +2 -0
  12. package/dist/components/CategoryIcon/style.css.js +28 -0
  13. package/dist/components/Icon/Icon.cjs +7 -58
  14. package/dist/components/Icon/Icon.d.ts +3 -17
  15. package/dist/components/Icon/Icon.js +7 -56
  16. package/dist/components/Icon/constants.cjs +20 -0
  17. package/dist/components/Icon/constants.d.ts +15 -0
  18. package/dist/components/Icon/constants.js +20 -0
  19. package/dist/components/Icon/styles.css.cjs +72 -0
  20. package/dist/components/Icon/styles.css.d.ts +20 -0
  21. package/dist/components/Icon/styles.css.js +72 -0
  22. package/dist/components/Logo/Icon.cjs +2 -27
  23. package/dist/components/Logo/Icon.d.ts +1 -7
  24. package/dist/components/Logo/Icon.js +2 -25
  25. package/dist/components/Logo/constant.cjs +9 -0
  26. package/dist/components/Logo/constant.d.ts +6 -0
  27. package/dist/components/Logo/constant.js +9 -0
  28. package/dist/components/Logo/style.css.cjs +14 -0
  29. package/dist/components/Logo/style.css.d.ts +1 -0
  30. package/dist/components/Logo/style.css.js +14 -0
  31. package/dist/components/ProductIcon/Icon.cjs +2 -41
  32. package/dist/components/ProductIcon/Icon.d.ts +2 -8
  33. package/dist/components/ProductIcon/Icon.js +3 -40
  34. package/dist/components/ProductIcon/__generated__/IconSdkJsProductIcon.cjs +1 -1
  35. package/dist/components/ProductIcon/__generated__/IconSdkJsProductIcon.js +1 -1
  36. package/dist/components/ProductIcon/constants.cjs +12 -0
  37. package/dist/components/ProductIcon/constants.d.ts +8 -0
  38. package/dist/components/ProductIcon/constants.js +12 -0
  39. package/dist/components/ProductIcon/styles.css.cjs +44 -0
  40. package/dist/components/ProductIcon/styles.css.d.ts +2 -0
  41. package/dist/components/ProductIcon/styles.css.js +44 -0
  42. package/package.json +5 -2
@@ -2,28 +2,14 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const _styled = require("@emotion/styled/base");
6
- const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
7
- const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
8
- const StyledIcon = /* @__PURE__ */ _styled__default.default("svg", process.env.NODE_ENV === "production" ? {
9
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
10
- target: "eqf5g0p0"
11
- } : {
12
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
13
- target: "eqf5g0p0",
14
- label: "StyledIcon"
15
- })(".fill{fill:", ({
16
- theme,
17
- variant,
18
- disabled
19
- }) => theme.colors.other.icon.category[variant][disabled ? "fillDisabled" : "fill"], ";}.fillStrong{fill:", ({
20
- theme,
21
- variant,
22
- disabled
23
- }) => theme.colors.other.icon.category[variant][disabled ? "fillStrongDisabled" : "fillStrong"], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0NhdGVnb3J5SWNvbi9JY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPMEQiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvaWNvbnMvc3JjL2NvbXBvbmVudHMvQ2F0ZWdvcnlJY29uL0ljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZCgnc3ZnJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWyd2YXJpYW50JywgJ2Rpc2FibGVkJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IHZhcmlhbnQ6ICduZXV0cmFsJyB8ICdwcmltYXJ5JzsgZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICAuZmlsbCB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSwgdmFyaWFudCwgZGlzYWJsZWQgfSkgPT5cbiAgICAgIHRoZW1lLmNvbG9ycy5vdGhlci5pY29uLmNhdGVnb3J5W3ZhcmlhbnRdW1xuICAgICAgICBkaXNhYmxlZCA/ICdmaWxsRGlzYWJsZWQnIDogJ2ZpbGwnXG4gICAgICBdfTtcbiAgfVxuXG4gIC5maWxsU3Ryb25nIHtcbiAgICBmaWxsOiAkeyh7IHRoZW1lLCB2YXJpYW50LCBkaXNhYmxlZCB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm90aGVyLmljb24uY2F0ZWdvcnlbdmFyaWFudF1bXG4gICAgICAgIGRpc2FibGVkID8gJ2ZpbGxTdHJvbmdEaXNhYmxlZCcgOiAnZmlsbFN0cm9uZydcbiAgICAgIF19O1xuICB9XG5gXG5cbmV4cG9ydCB0eXBlIEljb25Qcm9wcyA9IHtcbiAgdmFyaWFudD86ICdwcmltYXJ5JyB8ICduZXV0cmFsJ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxufVxuXG4vKipcbiAqIENhdGVnb3J5SWNvbiBjb21wb25lbnQgaXMgdXNlZCB0byByZW5kZXIgY2F0ZWdvcnkgaWNvbnMsIHRob3NlIGljb25zIGFyZSBtb3JlIGNvbXBsZXggdGhhbiBzeXN0ZW0gaWNvbnNcbiAqIGFzIHRoZXkgaW52b2x2ZSBtdWx0aXBsZSBjb2xvcnMgdGhhdCBjaGFuZ2VzIGRlcGVuZGluZyBvbiB0aGVtZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEljb24gPSAoe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG59OiBJY29uUHJvcHMpID0+IChcbiAgPFN0eWxlZEljb25cbiAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgaGVpZ2h0PVwiMjBcIlxuICAgIHZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgd2lkdGg9XCIyMFwiXG4gID5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkSWNvbj5cbilcbiJdfQ== */"));
5
+ const style_css = require("./style.css.cjs");
24
6
  const Icon = ({
25
7
  variant = "primary",
26
8
  disabled,
27
- children
28
- }) => /* @__PURE__ */ jsxRuntime.jsx(StyledIcon, { disabled, height: "20", variant, viewBox: "0 0 20 20", width: "20", children });
9
+ children,
10
+ className
11
+ }) => {
12
+ const computedVariant = `${variant}${disabled ? "Disabled" : ""}`;
13
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { className: `${className ? `${className} ` : ""}${style_css.categoryIcon[computedVariant]}`, height: "20", viewBox: "0 0 20 20", width: "20", children });
14
+ };
29
15
  exports.Icon = Icon;
@@ -1,11 +1,13 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { VARIANTS } from './style.css';
2
3
  export type IconProps = {
3
- variant?: 'primary' | 'neutral';
4
+ variant?: (typeof VARIANTS)[number];
4
5
  disabled?: boolean;
5
6
  children: ReactNode;
7
+ className?: string;
6
8
  };
7
9
  /**
8
10
  * CategoryIcon component is used to render category icons, those icons are more complex than system icons
9
11
  * as they involve multiple colors that changes depending on theme.
10
12
  */
11
- export declare const Icon: ({ variant, disabled, children, }: IconProps) => import("@emotion/react/jsx-runtime").JSX.Element;
13
+ export declare const Icon: ({ variant, disabled, children, className, }: IconProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -1,27 +1,15 @@
1
1
  "use client";
2
2
  import { jsx } from "@emotion/react/jsx-runtime";
3
- import _styled from "@emotion/styled/base";
4
- const StyledIcon = /* @__PURE__ */ _styled("svg", process.env.NODE_ENV === "production" ? {
5
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
6
- target: "eqf5g0p0"
7
- } : {
8
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
9
- target: "eqf5g0p0",
10
- label: "StyledIcon"
11
- })(".fill{fill:", ({
12
- theme,
13
- variant,
14
- disabled
15
- }) => theme.colors.other.icon.category[variant][disabled ? "fillDisabled" : "fill"], ";}.fillStrong{fill:", ({
16
- theme,
17
- variant,
18
- disabled
19
- }) => theme.colors.other.icon.category[variant][disabled ? "fillStrongDisabled" : "fillStrong"], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0NhdGVnb3J5SWNvbi9JY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPMEQiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvaWNvbnMvc3JjL2NvbXBvbmVudHMvQ2F0ZWdvcnlJY29uL0ljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZCgnc3ZnJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWyd2YXJpYW50JywgJ2Rpc2FibGVkJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IHZhcmlhbnQ6ICduZXV0cmFsJyB8ICdwcmltYXJ5JzsgZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICAuZmlsbCB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSwgdmFyaWFudCwgZGlzYWJsZWQgfSkgPT5cbiAgICAgIHRoZW1lLmNvbG9ycy5vdGhlci5pY29uLmNhdGVnb3J5W3ZhcmlhbnRdW1xuICAgICAgICBkaXNhYmxlZCA/ICdmaWxsRGlzYWJsZWQnIDogJ2ZpbGwnXG4gICAgICBdfTtcbiAgfVxuXG4gIC5maWxsU3Ryb25nIHtcbiAgICBmaWxsOiAkeyh7IHRoZW1lLCB2YXJpYW50LCBkaXNhYmxlZCB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm90aGVyLmljb24uY2F0ZWdvcnlbdmFyaWFudF1bXG4gICAgICAgIGRpc2FibGVkID8gJ2ZpbGxTdHJvbmdEaXNhYmxlZCcgOiAnZmlsbFN0cm9uZydcbiAgICAgIF19O1xuICB9XG5gXG5cbmV4cG9ydCB0eXBlIEljb25Qcm9wcyA9IHtcbiAgdmFyaWFudD86ICdwcmltYXJ5JyB8ICduZXV0cmFsJ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxufVxuXG4vKipcbiAqIENhdGVnb3J5SWNvbiBjb21wb25lbnQgaXMgdXNlZCB0byByZW5kZXIgY2F0ZWdvcnkgaWNvbnMsIHRob3NlIGljb25zIGFyZSBtb3JlIGNvbXBsZXggdGhhbiBzeXN0ZW0gaWNvbnNcbiAqIGFzIHRoZXkgaW52b2x2ZSBtdWx0aXBsZSBjb2xvcnMgdGhhdCBjaGFuZ2VzIGRlcGVuZGluZyBvbiB0aGVtZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEljb24gPSAoe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG59OiBJY29uUHJvcHMpID0+IChcbiAgPFN0eWxlZEljb25cbiAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgaGVpZ2h0PVwiMjBcIlxuICAgIHZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgd2lkdGg9XCIyMFwiXG4gID5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkSWNvbj5cbilcbiJdfQ== */"));
3
+ import { categoryIcon } from "./style.css.js";
20
4
  const Icon = ({
21
5
  variant = "primary",
22
6
  disabled,
23
- children
24
- }) => /* @__PURE__ */ jsx(StyledIcon, { disabled, height: "20", variant, viewBox: "0 0 20 20", width: "20", children });
7
+ children,
8
+ className
9
+ }) => {
10
+ const computedVariant = `${variant}${disabled ? "Disabled" : ""}`;
11
+ return /* @__PURE__ */ jsx("svg", { className: `${className ? `${className} ` : ""}${categoryIcon[computedVariant]}`, height: "20", viewBox: "0 0 20 20", width: "20", children });
12
+ };
25
13
  export {
26
14
  Icon
27
15
  };
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
5
+ const Icon = require("../Icon.cjs");
6
+ const UseCasesCategoryIcon = ({
7
+ ...props
8
+ }) => (
9
+ // eslint-disable-next-line react/jsx-props-no-spreading
10
+ /* @__PURE__ */ jsxRuntime.jsxs(Icon.Icon, { ...props, children: [
11
+ /* @__PURE__ */ jsxRuntime.jsx("path", { className: "fillStrong", d: "M14 14C15.1046 14 16 14.8954 16 16C16 17.1046 15.1046 18 14 18C12.8954 18 12 17.1046 12 16C12 14.8954 12.8954 14 14 14Z", fill: "#A060F6" }),
12
+ /* @__PURE__ */ jsxRuntime.jsx("path", { className: "fillStrong", d: "M14 8C15.1046 8 16 8.89543 16 10C16 11.1046 15.1046 12 14 12C12.8954 12 12 11.1046 12 10C12 8.89543 12.8954 8 14 8Z", fill: "#A060F6" }),
13
+ /* @__PURE__ */ jsxRuntime.jsx("path", { className: "fillStrong", d: "M14 2C15.1046 2 16 2.89543 16 4C16 5.10457 15.1046 6 14 6C12.8954 6 12 5.10457 12 4C12 2.89543 12.8954 2 14 2Z", fill: "#A060F6" }),
14
+ /* @__PURE__ */ jsxRuntime.jsx("path", { className: "fill", d: "M11.1738 3C11.0631 3.31306 11 3.649 11 4C11 4.351 11.0631 4.68694 11.1738 5H8.5C7.94772 5 7.5 5.44772 7.5 6V9H11.1738C11.0631 9.31306 11 9.649 11 10C11 10.351 11.0631 10.6869 11.1738 11H7.5V14C7.5 14.5523 7.94772 15 8.5 15H11.1738C11.0631 15.3131 11 15.649 11 16C11 16.351 11.0631 16.6869 11.1738 17H8.5C6.84315 17 5.5 15.6569 5.5 14V11H3.5C2.94772 11 2.5 10.5523 2.5 10C2.5 9.44772 2.94772 9 3.5 9H5.5V6C5.5 4.34315 6.84315 3 8.5 3H11.1738Z", fill: "#521094" })
15
+ ] })
16
+ );
17
+ exports.UseCasesCategoryIcon = UseCasesCategoryIcon;
@@ -0,0 +1,2 @@
1
+ import type { IconProps } from '../Icon';
2
+ export declare const UseCasesCategoryIcon: ({ ...props }: Omit<IconProps, "children">) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
3
+ import { Icon } from "../Icon.js";
4
+ const UseCasesCategoryIcon = ({
5
+ ...props
6
+ }) => (
7
+ // eslint-disable-next-line react/jsx-props-no-spreading
8
+ /* @__PURE__ */ jsxs(Icon, { ...props, children: [
9
+ /* @__PURE__ */ jsx("path", { className: "fillStrong", d: "M14 14C15.1046 14 16 14.8954 16 16C16 17.1046 15.1046 18 14 18C12.8954 18 12 17.1046 12 16C12 14.8954 12.8954 14 14 14Z", fill: "#A060F6" }),
10
+ /* @__PURE__ */ jsx("path", { className: "fillStrong", d: "M14 8C15.1046 8 16 8.89543 16 10C16 11.1046 15.1046 12 14 12C12.8954 12 12 11.1046 12 10C12 8.89543 12.8954 8 14 8Z", fill: "#A060F6" }),
11
+ /* @__PURE__ */ jsx("path", { className: "fillStrong", d: "M14 2C15.1046 2 16 2.89543 16 4C16 5.10457 15.1046 6 14 6C12.8954 6 12 5.10457 12 4C12 2.89543 12.8954 2 14 2Z", fill: "#A060F6" }),
12
+ /* @__PURE__ */ jsx("path", { className: "fill", d: "M11.1738 3C11.0631 3.31306 11 3.649 11 4C11 4.351 11.0631 4.68694 11.1738 5H8.5C7.94772 5 7.5 5.44772 7.5 6V9H11.1738C11.0631 9.31306 11 9.649 11 10C11 10.351 11.0631 10.6869 11.1738 11H7.5V14C7.5 14.5523 7.94772 15 8.5 15H11.1738C11.0631 15.3131 11 15.649 11 16C11 16.351 11.0631 16.6869 11.1738 17H8.5C6.84315 17 5.5 15.6569 5.5 14V11H3.5C2.94772 11 2.5 10.5523 2.5 10C2.5 9.44772 2.94772 9 3.5 9H5.5V6C5.5 4.34315 6.84315 3 8.5 3H11.1738Z", fill: "#521094" })
13
+ ] })
14
+ );
15
+ export {
16
+ UseCasesCategoryIcon
17
+ };
@@ -36,6 +36,7 @@ export { SecurityCategoryIcon } from './SecurityCategoryIcon';
36
36
  export { ServerlessComputeCategoryIcon } from './ServerlessComputeCategoryIcon';
37
37
  export { StorageCategoryIcon } from './StorageCategoryIcon';
38
38
  export { UseCaseCategoryIcon } from './UseCaseCategoryIcon';
39
+ export { UseCasesCategoryIcon } from './UseCasesCategoryIcon';
39
40
  export { VpcCategoryIcon } from './VpcCategoryIcon';
40
41
  export { WebHostingCategoryIcon } from './WebHostingCategoryIcon';
41
- export type CategoryIconNames = 'AiCategoryIcon' | 'BaremetalCategoryIcon' | 'BillingCategoryIcon' | 'BusinessDetailsCategoryIcon' | 'ComputeCategoryIcon' | 'ContainersCategoryIcon' | 'CostAndImpactManagementCategoryIcon' | 'DataAndAnalyticsCategoryIcon' | 'DatabaseCategoryIcon' | 'DatacenterCategoryIcon' | 'DedicatedServerCategoryIcon' | 'DevToolsCategoryIcon' | 'DocumentationCategoryIcon' | 'DomainsAndWebHostingCategoryIcon' | 'IntegrationServicesCategoryIcon' | 'InteractiveDemosCategoryIcon' | 'KeyManagerCategoryIcon' | 'LabsCategoryIcon' | 'ManagementAndGovernanceCategoryIcon' | 'MonitoringCategoryIcon' | 'NetworkCategoryIcon' | 'OrganizationDashboardCategoryIcon' | 'OrganizationNotificationsCategoryIcon' | 'OrganizationCategoryIcon' | 'PartnersCategoryIcon' | 'PinCategoryIcon' | 'PrivacyCategoryIcon' | 'ProfileNotificationsCategoryIcon' | 'ProfileCategoryIcon' | 'SecurityCategoryIcon' | 'ServerlessComputeCategoryIcon' | 'StorageCategoryIcon' | 'UseCaseCategoryIcon' | 'VpcCategoryIcon' | 'WebHostingCategoryIcon';
42
+ export type CategoryIconNames = 'AiCategoryIcon' | 'BaremetalCategoryIcon' | 'BillingCategoryIcon' | 'BusinessDetailsCategoryIcon' | 'ComputeCategoryIcon' | 'ContainersCategoryIcon' | 'CostAndImpactManagementCategoryIcon' | 'DataAndAnalyticsCategoryIcon' | 'DatabaseCategoryIcon' | 'DatacenterCategoryIcon' | 'DedicatedServerCategoryIcon' | 'DevToolsCategoryIcon' | 'DocumentationCategoryIcon' | 'DomainsAndWebHostingCategoryIcon' | 'IntegrationServicesCategoryIcon' | 'InteractiveDemosCategoryIcon' | 'KeyManagerCategoryIcon' | 'LabsCategoryIcon' | 'ManagementAndGovernanceCategoryIcon' | 'MonitoringCategoryIcon' | 'NetworkCategoryIcon' | 'OrganizationDashboardCategoryIcon' | 'OrganizationNotificationsCategoryIcon' | 'OrganizationCategoryIcon' | 'PartnersCategoryIcon' | 'PinCategoryIcon' | 'PrivacyCategoryIcon' | 'ProfileNotificationsCategoryIcon' | 'ProfileCategoryIcon' | 'SecurityCategoryIcon' | 'ServerlessComputeCategoryIcon' | 'StorageCategoryIcon' | 'UseCaseCategoryIcon' | 'UseCasesCategoryIcon' | 'VpcCategoryIcon' | 'WebHostingCategoryIcon';
@@ -33,6 +33,7 @@ const SecurityCategoryIcon = require("./__generated__/SecurityCategoryIcon.cjs")
33
33
  const ServerlessComputeCategoryIcon = require("./__generated__/ServerlessComputeCategoryIcon.cjs");
34
34
  const StorageCategoryIcon = require("./__generated__/StorageCategoryIcon.cjs");
35
35
  const UseCaseCategoryIcon = require("./__generated__/UseCaseCategoryIcon.cjs");
36
+ const UseCasesCategoryIcon = require("./__generated__/UseCasesCategoryIcon.cjs");
36
37
  const VpcCategoryIcon = require("./__generated__/VpcCategoryIcon.cjs");
37
38
  const WebHostingCategoryIcon = require("./__generated__/WebHostingCategoryIcon.cjs");
38
39
  exports.AiCategoryIcon = AiCategoryIcon.AiCategoryIcon;
@@ -68,5 +69,6 @@ exports.SecurityCategoryIcon = SecurityCategoryIcon.SecurityCategoryIcon;
68
69
  exports.ServerlessComputeCategoryIcon = ServerlessComputeCategoryIcon.ServerlessComputeCategoryIcon;
69
70
  exports.StorageCategoryIcon = StorageCategoryIcon.StorageCategoryIcon;
70
71
  exports.UseCaseCategoryIcon = UseCaseCategoryIcon.UseCaseCategoryIcon;
72
+ exports.UseCasesCategoryIcon = UseCasesCategoryIcon.UseCasesCategoryIcon;
71
73
  exports.VpcCategoryIcon = VpcCategoryIcon.VpcCategoryIcon;
72
74
  exports.WebHostingCategoryIcon = WebHostingCategoryIcon.WebHostingCategoryIcon;
@@ -31,6 +31,7 @@ import { SecurityCategoryIcon } from "./__generated__/SecurityCategoryIcon.js";
31
31
  import { ServerlessComputeCategoryIcon } from "./__generated__/ServerlessComputeCategoryIcon.js";
32
32
  import { StorageCategoryIcon } from "./__generated__/StorageCategoryIcon.js";
33
33
  import { UseCaseCategoryIcon } from "./__generated__/UseCaseCategoryIcon.js";
34
+ import { UseCasesCategoryIcon } from "./__generated__/UseCasesCategoryIcon.js";
34
35
  import { VpcCategoryIcon } from "./__generated__/VpcCategoryIcon.js";
35
36
  import { WebHostingCategoryIcon } from "./__generated__/WebHostingCategoryIcon.js";
36
37
  export {
@@ -67,6 +68,7 @@ export {
67
68
  ServerlessComputeCategoryIcon,
68
69
  StorageCategoryIcon,
69
70
  UseCaseCategoryIcon,
71
+ UseCasesCategoryIcon,
70
72
  VpcCategoryIcon,
71
73
  WebHostingCategoryIcon
72
74
  };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fileScope = require("@vanilla-extract/css/fileScope");
4
+ const css = require("@vanilla-extract/css");
5
+ const themes = require("@ultraviolet/themes");
6
+ fileScope.setFileScope("src/components/CategoryIcon/style.css.ts", "@ultraviolet/icons");
7
+ const VARIANTS = ["primary", "neutral"];
8
+ const FILL_CLASSES = ["fill", "fillStrong"];
9
+ const categoryIcon = css.styleVariants({
10
+ primaryDisabled: {},
11
+ primary: {},
12
+ neutralDisabled: {},
13
+ neutral: {}
14
+ });
15
+ const color = themes.theme.colors.other.icon.category;
16
+ VARIANTS.forEach((variant) => {
17
+ FILL_CLASSES.forEach((fillClass) => {
18
+ css.globalStyle(`${categoryIcon[variant]} .${fillClass}`, {
19
+ fill: color[variant][fillClass]
20
+ });
21
+ css.globalStyle(`${categoryIcon[`${variant}Disabled`]} .${fillClass}`, {
22
+ fill: color[variant][`${fillClass}Disabled`]
23
+ });
24
+ });
25
+ });
26
+ fileScope.endFileScope();
27
+ exports.VARIANTS = VARIANTS;
28
+ exports.categoryIcon = categoryIcon;
@@ -0,0 +1,2 @@
1
+ export declare const VARIANTS: readonly ["primary", "neutral"];
2
+ export declare const categoryIcon: Record<"primary" | "neutral" | "primaryDisabled" | "neutralDisabled", string>;
@@ -0,0 +1,28 @@
1
+ import { setFileScope, endFileScope } from "@vanilla-extract/css/fileScope";
2
+ import { styleVariants, globalStyle } from "@vanilla-extract/css";
3
+ import { theme } from "@ultraviolet/themes";
4
+ setFileScope("src/components/CategoryIcon/style.css.ts", "@ultraviolet/icons");
5
+ const VARIANTS = ["primary", "neutral"];
6
+ const FILL_CLASSES = ["fill", "fillStrong"];
7
+ const categoryIcon = styleVariants({
8
+ primaryDisabled: {},
9
+ primary: {},
10
+ neutralDisabled: {},
11
+ neutral: {}
12
+ });
13
+ const color = theme.colors.other.icon.category;
14
+ VARIANTS.forEach((variant) => {
15
+ FILL_CLASSES.forEach((fillClass) => {
16
+ globalStyle(`${categoryIcon[variant]} .${fillClass}`, {
17
+ fill: color[variant][fillClass]
18
+ });
19
+ globalStyle(`${categoryIcon[`${variant}Disabled`]} .${fillClass}`, {
20
+ fill: color[variant][`${fillClass}Disabled`]
21
+ });
22
+ });
23
+ });
24
+ endFileScope();
25
+ export {
26
+ VARIANTS,
27
+ categoryIcon
28
+ };
@@ -2,64 +2,8 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const _styled = require("@emotion/styled/base");
6
- const react$1 = require("@emotion/react");
7
5
  const react = require("react");
8
- const capitalize = require("../../utils/capitalize.cjs");
9
- const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
10
- const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
11
- const SIZES = {
12
- large: "300",
13
- medium: "250",
14
- small: "200",
15
- xlarge: "400",
16
- xsmall: "150",
17
- xxlarge: "700"
18
- };
19
- const sizeStyles = ({
20
- size,
21
- theme
22
- }) => /* @__PURE__ */ react$1.css("height:", theme.sizing[SIZES[size]], ";width:", theme.sizing[SIZES[size]], ";min-width:", theme.sizing[SIZES[size]], ";min-height:", theme.sizing[SIZES[size]], ";" + (process.env.NODE_ENV === "production" ? "" : ";label:sizeStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0ljb24vSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0MrRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy9pY29ucy9zcmMvY29tcG9uZW50cy9JY29uL0ljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IGNvbnNvbGVMaWdodFRoZW1lIGFzIHRoZW1lIH0gZnJvbSAnQHVsdHJhdmlvbGV0L3RoZW1lcydcbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlLCBTVkdQcm9wcyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNhcGl0YWxpemUgZnJvbSAnLi4vLi4vdXRpbHMvY2FwaXRhbGl6ZSdcblxuY29uc3QgU0laRVMgPSB7XG4gIGxhcmdlOiAnMzAwJyxcbiAgbWVkaXVtOiAnMjUwJyxcbiAgc21hbGw6ICcyMDAnLFxuICB4bGFyZ2U6ICc0MDAnLFxuICB4c21hbGw6ICcxNTAnLFxuICB4eGxhcmdlOiAnNzAwJyxcbn0gYXMgY29uc3RcblxudHlwZSBTaXplc1Byb3BzID0ga2V5b2YgdHlwZW9mIFNJWkVTXG5cbnR5cGUgQ29sb3IgPSBFeHRyYWN0PFxuICBrZXlvZiB0eXBlb2YgdGhlbWUuY29sb3JzLFxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ25ldXRyYWwnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnd2FybmluZydcbiAgfCAnaW5mbydcbj5cblxuY29uc3Qgc2l6ZVN0eWxlcyA9ICh7IHNpemUsIHRoZW1lIH06IHsgc2l6ZTogU2l6ZXNQcm9wczsgdGhlbWU6IFRoZW1lIH0pID0+IGNzc2BcbiAgICBoZWlnaHQ6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgd2lkdGg6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgbWluLXdpZHRoOiAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19O1xuICAgIG1pbi1oZWlnaHQ6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgYFxuXG5jb25zdCBQUk9NSU5FTkNFUyA9IHtcbiAgZGVmYXVsdDogJycsXG4gIHN0cm9uZzogJ3N0cm9uZycsXG4gIHN0cm9uZ2VyOiAnc3Ryb25nZXInLFxuICB3ZWFrOiAnd2VhaycsXG59XG5cbnR5cGUgUHJvbWluZW5jZVByb3BzID0ga2V5b2YgdHlwZW9mIFBST01JTkVOQ0VTXG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ3N2ZycsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydzaXplJywgJ3NlbnRpbWVudCcsICdwcm9taW5lbmNlJywgJ2Rpc2FibGVkJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHNlbnRpbWVudD86IENvbG9yXG4gIHNpemU6IFNpemVzUHJvcHNcbiAgcHJvbWluZW5jZTogUHJvbWluZW5jZVByb3BzXG4gIGRpc2FibGVkPzogYm9vbGVhblxufT5gXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6ICR7KHsgdGhlbWUsIHNlbnRpbWVudCwgcHJvbWluZW5jZSwgZGlzYWJsZWQgfSkgPT4ge1xuICAgIC8vIHN0cm9uZ2VyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciBuZXV0cmFsIHNlbnRpbWVudFxuICAgIGNvbnN0IGRlZmluZWRQcm9taW5lbmNlID1cbiAgICAgIChzZW50aW1lbnQgIT09ICduZXV0cmFsJyAmJiBwcm9taW5lbmNlID09PSAnc3Ryb25nZXInKSB8fFxuICAgICAgcHJvbWluZW5jZSA9PT0gJ3dlYWsnXG4gICAgICAgID8gY2FwaXRhbGl6ZShQUk9NSU5FTkNFUy5kZWZhdWx0KVxuICAgICAgICA6IGNhcGl0YWxpemUoUFJPTUlORU5DRVNbcHJvbWluZW5jZV0pXG5cbiAgICBpZiAoc2VudGltZW50KSB7XG4gICAgICBjb25zdCB0aGVtZUNvbG9yID0gdGhlbWUuY29sb3JzW3NlbnRpbWVudF1cbiAgICAgIGNvbnN0IGljb24gPSBgaWNvbiR7ZGVmaW5lZFByb21pbmVuY2V9JHtcbiAgICAgICAgZGlzYWJsZWQgPyAnRGlzYWJsZWQnIDogJydcbiAgICAgIH1gIGFzIGtleW9mIHR5cGVvZiB0aGVtZUNvbG9yXG5cbiAgICAgIHJldHVybiB0aGVtZS5jb2xvcnM/LltzZW50aW1lbnRdPy5baWNvbl0gfHwgc2VudGltZW50XG4gICAgfVxuXG4gICAgcmV0dXJuICdjdXJyZW50Q29sb3InXG4gIH19O1xuXG4gIC5maWxsU3Ryb2tlIHtcbiAgICBzdHJva2U6ICR7KHsgdGhlbWUsIHNlbnRpbWVudCwgcHJvbWluZW5jZSwgZGlzYWJsZWQgfSkgPT4ge1xuICAgICAgLy8gc3Ryb25nZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIG5ldXRyYWwgY29sb3JcbiAgICAgIGNvbnN0IGRlZmluZWRQcm9taW5lbmNlID1cbiAgICAgICAgc2VudGltZW50ICE9PSAnbmV1dHJhbCcgJiYgcHJvbWluZW5jZSA9PT0gJ3N0cm9uZ2VyJ1xuICAgICAgICAgID8gY2FwaXRhbGl6ZShQUk9NSU5FTkNFUy5kZWZhdWx0KVxuICAgICAgICAgIDogY2FwaXRhbGl6ZShQUk9NSU5FTkNFU1twcm9taW5lbmNlXSlcblxuICAgICAgaWYgKHNlbnRpbWVudCkge1xuICAgICAgICBjb25zdCB0aGVtZUNvbG9yID0gdGhlbWUuY29sb3JzW3NlbnRpbWVudF1cbiAgICAgICAgY29uc3QgaWNvbiA9IGBpY29uJHtkZWZpbmVkUHJvbWluZW5jZX0ke1xuICAgICAgICAgIGRpc2FibGVkID8gJ0Rpc2FibGVkJyA6ICcnXG4gICAgICAgIH1gIGFzIGtleW9mIHR5cGVvZiB0aGVtZUNvbG9yXG5cbiAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycz8uW3NlbnRpbWVudF0/LltpY29uXSB8fCBzZW50aW1lbnRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdjdXJyZW50Q29sb3InXG4gICAgfX07XG4gICAgZmlsbDogbm9uZTtcbiAgfVxuICAke3NpemVTdHlsZXN9XG5gXG5cbmV4cG9ydCB0eXBlIEljb25Qcm9wcyA9IHtcbiAgc2l6ZT86IFNpemVzUHJvcHNcbiAgcHJvbWluZW5jZT86IFByb21pbmVuY2VQcm9wc1xuICBzZW50aW1lbnQ/OiBDb2xvclxuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBjaGlsZHJlbjogUmVhY3ROb2RlXG59ICYgUGljazxcbiAgU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4sXG4gICdjbGFzc05hbWUnIHwgJ3N0cm9rZScgfCAnY3Vyc29yJyB8ICdzdHJva2VXaWR0aCcgfCAnYXJpYS1sYWJlbCdcbj5cblxuLyoqXG4gKiBJY29uIGNvbXBvbmVudCBpcyBvdXIgc2V0IG9mIHN5c3RlbSBpY29ucyBpbiB0aGUgZGVzaWduIHN5c3RlbS4gQWxsIG9mIHRoZW0gYXJlIFNWR3MuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEljb24gPSBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIEljb25Qcm9wcz4oXG4gIChcbiAgICB7XG4gICAgICBzZW50aW1lbnQsXG4gICAgICBzaXplID0gJ3NtYWxsJyxcbiAgICAgIHByb21pbmVuY2UgPSAnZGVmYXVsdCcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgc3Ryb2tlLFxuICAgICAgY3Vyc29yLFxuICAgICAgc3Ryb2tlV2lkdGgsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgY2hpbGRyZW4sXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4gKFxuICAgIDxTdHlsZWRJY29uXG4gICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGN1cnNvcj17Y3Vyc29yfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBwcm9taW5lbmNlPXtwcm9taW5lbmNlfVxuICAgICAgcmVmPXtyZWZ9XG4gICAgICBzZW50aW1lbnQ9e3NlbnRpbWVudH1cbiAgICAgIHNpemU9e3NpemV9XG4gICAgICBzdHJva2U9e3N0cm9rZX1cbiAgICAgIHN0cm9rZVdpZHRoPXtzdHJva2VXaWR0aH1cbiAgICAgIHZpZXdCb3g9e1xuICAgICAgICB0eXBlb2Ygc2l6ZSA9PT0gJ3N0cmluZycgJiYgWyd4c21hbGwnLCAnc21hbGwnXS5pbmNsdWRlcyhzaXplKVxuICAgICAgICAgID8gJzAgMCAxNiAxNidcbiAgICAgICAgICA6ICcwIDAgMjAgMjAnXG4gICAgICB9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkSWNvbj5cbiAgKSxcbilcbiJdfQ== */");
23
- const PROMINENCES = {
24
- default: "",
25
- strong: "strong",
26
- stronger: "stronger",
27
- weak: "weak"
28
- };
29
- const StyledIcon = /* @__PURE__ */ _styled__default.default("svg", process.env.NODE_ENV === "production" ? {
30
- shouldForwardProp: (prop) => !["size", "sentiment", "prominence", "disabled"].includes(prop),
31
- target: "elxvigq0"
32
- } : {
33
- shouldForwardProp: (prop) => !["size", "sentiment", "prominence", "disabled"].includes(prop),
34
- target: "elxvigq0",
35
- label: "StyledIcon"
36
- })("vertical-align:middle;fill:", ({
37
- theme,
38
- sentiment,
39
- prominence,
40
- disabled
41
- }) => {
42
- const definedProminence = sentiment !== "neutral" && prominence === "stronger" || prominence === "weak" ? capitalize(PROMINENCES.default) : capitalize(PROMINENCES[prominence]);
43
- if (sentiment) {
44
- theme.colors[sentiment];
45
- const icon = `icon${definedProminence}${disabled ? "Disabled" : ""}`;
46
- return theme.colors?.[sentiment]?.[icon] || sentiment;
47
- }
48
- return "currentColor";
49
- }, ";.fillStroke{stroke:", ({
50
- theme,
51
- sentiment,
52
- prominence,
53
- disabled
54
- }) => {
55
- const definedProminence = sentiment !== "neutral" && prominence === "stronger" ? capitalize(PROMINENCES.default) : capitalize(PROMINENCES[prominence]);
56
- if (sentiment) {
57
- theme.colors[sentiment];
58
- const icon = `icon${definedProminence}${disabled ? "Disabled" : ""}`;
59
- return theme.colors?.[sentiment]?.[icon] || sentiment;
60
- }
61
- return "currentColor";
62
- }, ";fill:none;}", sizeStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0ljb24vSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0ljb24vSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgY29uc29sZUxpZ2h0VGhlbWUgYXMgdGhlbWUgfSBmcm9tICdAdWx0cmF2aW9sZXQvdGhlbWVzJ1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUsIFNWR1Byb3BzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgY2FwaXRhbGl6ZSBmcm9tICcuLi8uLi91dGlscy9jYXBpdGFsaXplJ1xuXG5jb25zdCBTSVpFUyA9IHtcbiAgbGFyZ2U6ICczMDAnLFxuICBtZWRpdW06ICcyNTAnLFxuICBzbWFsbDogJzIwMCcsXG4gIHhsYXJnZTogJzQwMCcsXG4gIHhzbWFsbDogJzE1MCcsXG4gIHh4bGFyZ2U6ICc3MDAnLFxufSBhcyBjb25zdFxuXG50eXBlIFNpemVzUHJvcHMgPSBrZXlvZiB0eXBlb2YgU0laRVNcblxudHlwZSBDb2xvciA9IEV4dHJhY3Q8XG4gIGtleW9mIHR5cGVvZiB0aGVtZS5jb2xvcnMsXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnbmV1dHJhbCdcbiAgfCAnc3VjY2VzcydcbiAgfCAnZGFuZ2VyJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdpbmZvJ1xuPlxuXG5jb25zdCBzaXplU3R5bGVzID0gKHsgc2l6ZSwgdGhlbWUgfTogeyBzaXplOiBTaXplc1Byb3BzOyB0aGVtZTogVGhlbWUgfSkgPT4gY3NzYFxuICAgIGhlaWdodDogJHt0aGVtZS5zaXppbmdbU0laRVNbc2l6ZV1dfTtcbiAgICB3aWR0aDogJHt0aGVtZS5zaXppbmdbU0laRVNbc2l6ZV1dfTtcbiAgICBtaW4td2lkdGg6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgbWluLWhlaWdodDogJHt0aGVtZS5zaXppbmdbU0laRVNbc2l6ZV1dfTtcbiAgICBgXG5cbmNvbnN0IFBST01JTkVOQ0VTID0ge1xuICBkZWZhdWx0OiAnJyxcbiAgc3Ryb25nOiAnc3Ryb25nJyxcbiAgc3Ryb25nZXI6ICdzdHJvbmdlcicsXG4gIHdlYWs6ICd3ZWFrJyxcbn1cblxudHlwZSBQcm9taW5lbmNlUHJvcHMgPSBrZXlvZiB0eXBlb2YgUFJPTUlORU5DRVNcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZCgnc3ZnJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ3NpemUnLCAnc2VudGltZW50JywgJ3Byb21pbmVuY2UnLCAnZGlzYWJsZWQnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgc2VudGltZW50PzogQ29sb3JcbiAgc2l6ZTogU2l6ZXNQcm9wc1xuICBwcm9taW5lbmNlOiBQcm9taW5lbmNlUHJvcHNcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59PmBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZmlsbDogJHsoeyB0aGVtZSwgc2VudGltZW50LCBwcm9taW5lbmNlLCBkaXNhYmxlZCB9KSA9PiB7XG4gICAgLy8gc3Ryb25nZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIG5ldXRyYWwgc2VudGltZW50XG4gICAgY29uc3QgZGVmaW5lZFByb21pbmVuY2UgPVxuICAgICAgKHNlbnRpbWVudCAhPT0gJ25ldXRyYWwnICYmIHByb21pbmVuY2UgPT09ICdzdHJvbmdlcicpIHx8XG4gICAgICBwcm9taW5lbmNlID09PSAnd2VhaydcbiAgICAgICAgPyBjYXBpdGFsaXplKFBST01JTkVOQ0VTLmRlZmF1bHQpXG4gICAgICAgIDogY2FwaXRhbGl6ZShQUk9NSU5FTkNFU1twcm9taW5lbmNlXSlcblxuICAgIGlmIChzZW50aW1lbnQpIHtcbiAgICAgIGNvbnN0IHRoZW1lQ29sb3IgPSB0aGVtZS5jb2xvcnNbc2VudGltZW50XVxuICAgICAgY29uc3QgaWNvbiA9IGBpY29uJHtkZWZpbmVkUHJvbWluZW5jZX0ke1xuICAgICAgICBkaXNhYmxlZCA/ICdEaXNhYmxlZCcgOiAnJ1xuICAgICAgfWAgYXMga2V5b2YgdHlwZW9mIHRoZW1lQ29sb3JcblxuICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycz8uW3NlbnRpbWVudF0/LltpY29uXSB8fCBzZW50aW1lbnRcbiAgICB9XG5cbiAgICByZXR1cm4gJ2N1cnJlbnRDb2xvcidcbiAgfX07XG5cbiAgLmZpbGxTdHJva2Uge1xuICAgIHN0cm9rZTogJHsoeyB0aGVtZSwgc2VudGltZW50LCBwcm9taW5lbmNlLCBkaXNhYmxlZCB9KSA9PiB7XG4gICAgICAvLyBzdHJvbmdlciBpcyBhdmFpbGFibGUgb25seSBmb3IgbmV1dHJhbCBjb2xvclxuICAgICAgY29uc3QgZGVmaW5lZFByb21pbmVuY2UgPVxuICAgICAgICBzZW50aW1lbnQgIT09ICduZXV0cmFsJyAmJiBwcm9taW5lbmNlID09PSAnc3Ryb25nZXInXG4gICAgICAgICAgPyBjYXBpdGFsaXplKFBST01JTkVOQ0VTLmRlZmF1bHQpXG4gICAgICAgICAgOiBjYXBpdGFsaXplKFBST01JTkVOQ0VTW3Byb21pbmVuY2VdKVxuXG4gICAgICBpZiAoc2VudGltZW50KSB7XG4gICAgICAgIGNvbnN0IHRoZW1lQ29sb3IgPSB0aGVtZS5jb2xvcnNbc2VudGltZW50XVxuICAgICAgICBjb25zdCBpY29uID0gYGljb24ke2RlZmluZWRQcm9taW5lbmNlfSR7XG4gICAgICAgICAgZGlzYWJsZWQgPyAnRGlzYWJsZWQnIDogJydcbiAgICAgICAgfWAgYXMga2V5b2YgdHlwZW9mIHRoZW1lQ29sb3JcblxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzPy5bc2VudGltZW50XT8uW2ljb25dIHx8IHNlbnRpbWVudFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ2N1cnJlbnRDb2xvcidcbiAgICB9fTtcbiAgICBmaWxsOiBub25lO1xuICB9XG4gICR7c2l6ZVN0eWxlc31cbmBcblxuZXhwb3J0IHR5cGUgSWNvblByb3BzID0ge1xuICBzaXplPzogU2l6ZXNQcm9wc1xuICBwcm9taW5lbmNlPzogUHJvbWluZW5jZVByb3BzXG4gIHNlbnRpbWVudD86IENvbG9yXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbn0gJiBQaWNrPFxuICBTVkdQcm9wczxTVkdTVkdFbGVtZW50PixcbiAgJ2NsYXNzTmFtZScgfCAnc3Ryb2tlJyB8ICdjdXJzb3InIHwgJ3N0cm9rZVdpZHRoJyB8ICdhcmlhLWxhYmVsJ1xuPlxuXG4vKipcbiAqIEljb24gY29tcG9uZW50IGlzIG91ciBzZXQgb2Ygc3lzdGVtIGljb25zIGluIHRoZSBkZXNpZ24gc3lzdGVtLiBBbGwgb2YgdGhlbSBhcmUgU1ZHcy5cbiAqL1xuXG5leHBvcnQgY29uc3QgSWNvbiA9IGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgSWNvblByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIHNlbnRpbWVudCxcbiAgICAgIHNpemUgPSAnc21hbGwnLFxuICAgICAgcHJvbWluZW5jZSA9ICdkZWZhdWx0JyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBzdHJva2UsXG4gICAgICBjdXJzb3IsXG4gICAgICBzdHJva2VXaWR0aCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICBjaGlsZHJlbixcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiAoXG4gICAgPFN0eWxlZEljb25cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgY3Vyc29yPXtjdXJzb3J9XG4gICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHByb21pbmVuY2U9e3Byb21pbmVuY2V9XG4gICAgICByZWY9e3JlZn1cbiAgICAgIHNlbnRpbWVudD17c2VudGltZW50fVxuICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgIHN0cm9rZT17c3Ryb2tlfVxuICAgICAgc3Ryb2tlV2lkdGg9e3N0cm9rZVdpZHRofVxuICAgICAgdmlld0JveD17XG4gICAgICAgIHR5cGVvZiBzaXplID09PSAnc3RyaW5nJyAmJiBbJ3hzbWFsbCcsICdzbWFsbCddLmluY2x1ZGVzKHNpemUpXG4gICAgICAgICAgPyAnMCAwIDE2IDE2J1xuICAgICAgICAgIDogJzAgMCAyMCAyMCdcbiAgICAgIH1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRJY29uPlxuICApLFxuKVxuIl19 */"));
6
+ const styles_css = require("./styles.css.cjs");
63
7
  const Icon = react.forwardRef(({
64
8
  sentiment,
65
9
  size = "small",
@@ -72,5 +16,10 @@ const Icon = react.forwardRef(({
72
16
  disabled,
73
17
  "aria-label": ariaLabel,
74
18
  children
75
- }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledIcon, { "aria-label": ariaLabel, className, cursor, "data-testid": dataTestId, disabled, prominence, ref, sentiment, size, stroke, strokeWidth, viewBox: typeof size === "string" && ["xsmall", "small"].includes(size) ? "0 0 16 16" : "0 0 20 20", children }));
19
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsx("svg", { "aria-label": ariaLabel, className: `${className ? `${className} ` : ""}${styles_css.icon({
20
+ disabled,
21
+ prominence,
22
+ sentiment,
23
+ size
24
+ })}`, cursor, "data-testid": dataTestId, ref, stroke, strokeWidth, viewBox: typeof size === "string" && ["xsmall", "small"].includes(size) ? "0 0 16 16" : "0 0 20 20", children }));
76
25
  exports.Icon = Icon;
@@ -1,21 +1,7 @@
1
- import type { consoleLightTheme as theme } from '@ultraviolet/themes';
2
1
  import type { ReactNode, SVGProps } from 'react';
3
- declare const SIZES: {
4
- readonly large: "300";
5
- readonly medium: "250";
6
- readonly small: "200";
7
- readonly xlarge: "400";
8
- readonly xsmall: "150";
9
- readonly xxlarge: "700";
10
- };
2
+ import type { PROMINENCES, SENTIMENTS, SIZES } from './constants';
11
3
  type SizesProps = keyof typeof SIZES;
12
- type Color = Extract<keyof typeof theme.colors, 'primary' | 'secondary' | 'neutral' | 'success' | 'danger' | 'warning' | 'info'>;
13
- declare const PROMINENCES: {
14
- default: string;
15
- strong: string;
16
- stronger: string;
17
- weak: string;
18
- };
4
+ type Color = (typeof SENTIMENTS)[number];
19
5
  type ProminenceProps = keyof typeof PROMINENCES;
20
6
  export type IconProps = {
21
7
  size?: SizesProps;
@@ -35,5 +21,5 @@ export declare const Icon: import("react").ForwardRefExoticComponent<{
35
21
  'data-testid'?: string;
36
22
  disabled?: boolean;
37
23
  children: ReactNode;
38
- } & Pick<SVGProps<SVGSVGElement>, "className" | "cursor" | "stroke" | "strokeWidth" | "aria-label"> & import("react").RefAttributes<SVGSVGElement>>;
24
+ } & Pick<SVGProps<SVGSVGElement>, "cursor" | "stroke" | "strokeWidth" | "className" | "aria-label"> & import("react").RefAttributes<SVGSVGElement>>;
39
25
  export {};
@@ -1,61 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from "@emotion/react/jsx-runtime";
3
- import _styled from "@emotion/styled/base";
4
- import { css } from "@emotion/react";
5
3
  import { forwardRef } from "react";
6
- import capitalize from "../../utils/capitalize.js";
7
- const SIZES = {
8
- large: "300",
9
- medium: "250",
10
- small: "200",
11
- xlarge: "400",
12
- xsmall: "150",
13
- xxlarge: "700"
14
- };
15
- const sizeStyles = ({
16
- size,
17
- theme
18
- }) => /* @__PURE__ */ css("height:", theme.sizing[SIZES[size]], ";width:", theme.sizing[SIZES[size]], ";min-width:", theme.sizing[SIZES[size]], ";min-height:", theme.sizing[SIZES[size]], ";" + (process.env.NODE_ENV === "production" ? "" : ";label:sizeStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0ljb24vSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0MrRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy9pY29ucy9zcmMvY29tcG9uZW50cy9JY29uL0ljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IGNvbnNvbGVMaWdodFRoZW1lIGFzIHRoZW1lIH0gZnJvbSAnQHVsdHJhdmlvbGV0L3RoZW1lcydcbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlLCBTVkdQcm9wcyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNhcGl0YWxpemUgZnJvbSAnLi4vLi4vdXRpbHMvY2FwaXRhbGl6ZSdcblxuY29uc3QgU0laRVMgPSB7XG4gIGxhcmdlOiAnMzAwJyxcbiAgbWVkaXVtOiAnMjUwJyxcbiAgc21hbGw6ICcyMDAnLFxuICB4bGFyZ2U6ICc0MDAnLFxuICB4c21hbGw6ICcxNTAnLFxuICB4eGxhcmdlOiAnNzAwJyxcbn0gYXMgY29uc3RcblxudHlwZSBTaXplc1Byb3BzID0ga2V5b2YgdHlwZW9mIFNJWkVTXG5cbnR5cGUgQ29sb3IgPSBFeHRyYWN0PFxuICBrZXlvZiB0eXBlb2YgdGhlbWUuY29sb3JzLFxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ25ldXRyYWwnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnd2FybmluZydcbiAgfCAnaW5mbydcbj5cblxuY29uc3Qgc2l6ZVN0eWxlcyA9ICh7IHNpemUsIHRoZW1lIH06IHsgc2l6ZTogU2l6ZXNQcm9wczsgdGhlbWU6IFRoZW1lIH0pID0+IGNzc2BcbiAgICBoZWlnaHQ6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgd2lkdGg6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgbWluLXdpZHRoOiAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19O1xuICAgIG1pbi1oZWlnaHQ6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgYFxuXG5jb25zdCBQUk9NSU5FTkNFUyA9IHtcbiAgZGVmYXVsdDogJycsXG4gIHN0cm9uZzogJ3N0cm9uZycsXG4gIHN0cm9uZ2VyOiAnc3Ryb25nZXInLFxuICB3ZWFrOiAnd2VhaycsXG59XG5cbnR5cGUgUHJvbWluZW5jZVByb3BzID0ga2V5b2YgdHlwZW9mIFBST01JTkVOQ0VTXG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ3N2ZycsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydzaXplJywgJ3NlbnRpbWVudCcsICdwcm9taW5lbmNlJywgJ2Rpc2FibGVkJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHNlbnRpbWVudD86IENvbG9yXG4gIHNpemU6IFNpemVzUHJvcHNcbiAgcHJvbWluZW5jZTogUHJvbWluZW5jZVByb3BzXG4gIGRpc2FibGVkPzogYm9vbGVhblxufT5gXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6ICR7KHsgdGhlbWUsIHNlbnRpbWVudCwgcHJvbWluZW5jZSwgZGlzYWJsZWQgfSkgPT4ge1xuICAgIC8vIHN0cm9uZ2VyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciBuZXV0cmFsIHNlbnRpbWVudFxuICAgIGNvbnN0IGRlZmluZWRQcm9taW5lbmNlID1cbiAgICAgIChzZW50aW1lbnQgIT09ICduZXV0cmFsJyAmJiBwcm9taW5lbmNlID09PSAnc3Ryb25nZXInKSB8fFxuICAgICAgcHJvbWluZW5jZSA9PT0gJ3dlYWsnXG4gICAgICAgID8gY2FwaXRhbGl6ZShQUk9NSU5FTkNFUy5kZWZhdWx0KVxuICAgICAgICA6IGNhcGl0YWxpemUoUFJPTUlORU5DRVNbcHJvbWluZW5jZV0pXG5cbiAgICBpZiAoc2VudGltZW50KSB7XG4gICAgICBjb25zdCB0aGVtZUNvbG9yID0gdGhlbWUuY29sb3JzW3NlbnRpbWVudF1cbiAgICAgIGNvbnN0IGljb24gPSBgaWNvbiR7ZGVmaW5lZFByb21pbmVuY2V9JHtcbiAgICAgICAgZGlzYWJsZWQgPyAnRGlzYWJsZWQnIDogJydcbiAgICAgIH1gIGFzIGtleW9mIHR5cGVvZiB0aGVtZUNvbG9yXG5cbiAgICAgIHJldHVybiB0aGVtZS5jb2xvcnM/LltzZW50aW1lbnRdPy5baWNvbl0gfHwgc2VudGltZW50XG4gICAgfVxuXG4gICAgcmV0dXJuICdjdXJyZW50Q29sb3InXG4gIH19O1xuXG4gIC5maWxsU3Ryb2tlIHtcbiAgICBzdHJva2U6ICR7KHsgdGhlbWUsIHNlbnRpbWVudCwgcHJvbWluZW5jZSwgZGlzYWJsZWQgfSkgPT4ge1xuICAgICAgLy8gc3Ryb25nZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIG5ldXRyYWwgY29sb3JcbiAgICAgIGNvbnN0IGRlZmluZWRQcm9taW5lbmNlID1cbiAgICAgICAgc2VudGltZW50ICE9PSAnbmV1dHJhbCcgJiYgcHJvbWluZW5jZSA9PT0gJ3N0cm9uZ2VyJ1xuICAgICAgICAgID8gY2FwaXRhbGl6ZShQUk9NSU5FTkNFUy5kZWZhdWx0KVxuICAgICAgICAgIDogY2FwaXRhbGl6ZShQUk9NSU5FTkNFU1twcm9taW5lbmNlXSlcblxuICAgICAgaWYgKHNlbnRpbWVudCkge1xuICAgICAgICBjb25zdCB0aGVtZUNvbG9yID0gdGhlbWUuY29sb3JzW3NlbnRpbWVudF1cbiAgICAgICAgY29uc3QgaWNvbiA9IGBpY29uJHtkZWZpbmVkUHJvbWluZW5jZX0ke1xuICAgICAgICAgIGRpc2FibGVkID8gJ0Rpc2FibGVkJyA6ICcnXG4gICAgICAgIH1gIGFzIGtleW9mIHR5cGVvZiB0aGVtZUNvbG9yXG5cbiAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycz8uW3NlbnRpbWVudF0/LltpY29uXSB8fCBzZW50aW1lbnRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdjdXJyZW50Q29sb3InXG4gICAgfX07XG4gICAgZmlsbDogbm9uZTtcbiAgfVxuICAke3NpemVTdHlsZXN9XG5gXG5cbmV4cG9ydCB0eXBlIEljb25Qcm9wcyA9IHtcbiAgc2l6ZT86IFNpemVzUHJvcHNcbiAgcHJvbWluZW5jZT86IFByb21pbmVuY2VQcm9wc1xuICBzZW50aW1lbnQ/OiBDb2xvclxuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBjaGlsZHJlbjogUmVhY3ROb2RlXG59ICYgUGljazxcbiAgU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4sXG4gICdjbGFzc05hbWUnIHwgJ3N0cm9rZScgfCAnY3Vyc29yJyB8ICdzdHJva2VXaWR0aCcgfCAnYXJpYS1sYWJlbCdcbj5cblxuLyoqXG4gKiBJY29uIGNvbXBvbmVudCBpcyBvdXIgc2V0IG9mIHN5c3RlbSBpY29ucyBpbiB0aGUgZGVzaWduIHN5c3RlbS4gQWxsIG9mIHRoZW0gYXJlIFNWR3MuXG4gKi9cblxuZXhwb3J0IGNvbnN0IEljb24gPSBmb3J3YXJkUmVmPFNWR1NWR0VsZW1lbnQsIEljb25Qcm9wcz4oXG4gIChcbiAgICB7XG4gICAgICBzZW50aW1lbnQsXG4gICAgICBzaXplID0gJ3NtYWxsJyxcbiAgICAgIHByb21pbmVuY2UgPSAnZGVmYXVsdCcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgc3Ryb2tlLFxuICAgICAgY3Vyc29yLFxuICAgICAgc3Ryb2tlV2lkdGgsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgY2hpbGRyZW4sXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4gKFxuICAgIDxTdHlsZWRJY29uXG4gICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGN1cnNvcj17Y3Vyc29yfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBwcm9taW5lbmNlPXtwcm9taW5lbmNlfVxuICAgICAgcmVmPXtyZWZ9XG4gICAgICBzZW50aW1lbnQ9e3NlbnRpbWVudH1cbiAgICAgIHNpemU9e3NpemV9XG4gICAgICBzdHJva2U9e3N0cm9rZX1cbiAgICAgIHN0cm9rZVdpZHRoPXtzdHJva2VXaWR0aH1cbiAgICAgIHZpZXdCb3g9e1xuICAgICAgICB0eXBlb2Ygc2l6ZSA9PT0gJ3N0cmluZycgJiYgWyd4c21hbGwnLCAnc21hbGwnXS5pbmNsdWRlcyhzaXplKVxuICAgICAgICAgID8gJzAgMCAxNiAxNidcbiAgICAgICAgICA6ICcwIDAgMjAgMjAnXG4gICAgICB9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkSWNvbj5cbiAgKSxcbilcbiJdfQ== */");
19
- const PROMINENCES = {
20
- default: "",
21
- strong: "strong",
22
- stronger: "stronger",
23
- weak: "weak"
24
- };
25
- const StyledIcon = /* @__PURE__ */ _styled("svg", process.env.NODE_ENV === "production" ? {
26
- shouldForwardProp: (prop) => !["size", "sentiment", "prominence", "disabled"].includes(prop),
27
- target: "elxvigq0"
28
- } : {
29
- shouldForwardProp: (prop) => !["size", "sentiment", "prominence", "disabled"].includes(prop),
30
- target: "elxvigq0",
31
- label: "StyledIcon"
32
- })("vertical-align:middle;fill:", ({
33
- theme,
34
- sentiment,
35
- prominence,
36
- disabled
37
- }) => {
38
- const definedProminence = sentiment !== "neutral" && prominence === "stronger" || prominence === "weak" ? capitalize(PROMINENCES.default) : capitalize(PROMINENCES[prominence]);
39
- if (sentiment) {
40
- theme.colors[sentiment];
41
- const icon = `icon${definedProminence}${disabled ? "Disabled" : ""}`;
42
- return theme.colors?.[sentiment]?.[icon] || sentiment;
43
- }
44
- return "currentColor";
45
- }, ";.fillStroke{stroke:", ({
46
- theme,
47
- sentiment,
48
- prominence,
49
- disabled
50
- }) => {
51
- const definedProminence = sentiment !== "neutral" && prominence === "stronger" ? capitalize(PROMINENCES.default) : capitalize(PROMINENCES[prominence]);
52
- if (sentiment) {
53
- theme.colors[sentiment];
54
- const icon = `icon${definedProminence}${disabled ? "Disabled" : ""}`;
55
- return theme.colors?.[sentiment]?.[icon] || sentiment;
56
- }
57
- return "currentColor";
58
- }, ";fill:none;}", sizeStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0ljb24vSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0ljb24vSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgY29uc29sZUxpZ2h0VGhlbWUgYXMgdGhlbWUgfSBmcm9tICdAdWx0cmF2aW9sZXQvdGhlbWVzJ1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUsIFNWR1Byb3BzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgY2FwaXRhbGl6ZSBmcm9tICcuLi8uLi91dGlscy9jYXBpdGFsaXplJ1xuXG5jb25zdCBTSVpFUyA9IHtcbiAgbGFyZ2U6ICczMDAnLFxuICBtZWRpdW06ICcyNTAnLFxuICBzbWFsbDogJzIwMCcsXG4gIHhsYXJnZTogJzQwMCcsXG4gIHhzbWFsbDogJzE1MCcsXG4gIHh4bGFyZ2U6ICc3MDAnLFxufSBhcyBjb25zdFxuXG50eXBlIFNpemVzUHJvcHMgPSBrZXlvZiB0eXBlb2YgU0laRVNcblxudHlwZSBDb2xvciA9IEV4dHJhY3Q8XG4gIGtleW9mIHR5cGVvZiB0aGVtZS5jb2xvcnMsXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnbmV1dHJhbCdcbiAgfCAnc3VjY2VzcydcbiAgfCAnZGFuZ2VyJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdpbmZvJ1xuPlxuXG5jb25zdCBzaXplU3R5bGVzID0gKHsgc2l6ZSwgdGhlbWUgfTogeyBzaXplOiBTaXplc1Byb3BzOyB0aGVtZTogVGhlbWUgfSkgPT4gY3NzYFxuICAgIGhlaWdodDogJHt0aGVtZS5zaXppbmdbU0laRVNbc2l6ZV1dfTtcbiAgICB3aWR0aDogJHt0aGVtZS5zaXppbmdbU0laRVNbc2l6ZV1dfTtcbiAgICBtaW4td2lkdGg6ICR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX07XG4gICAgbWluLWhlaWdodDogJHt0aGVtZS5zaXppbmdbU0laRVNbc2l6ZV1dfTtcbiAgICBgXG5cbmNvbnN0IFBST01JTkVOQ0VTID0ge1xuICBkZWZhdWx0OiAnJyxcbiAgc3Ryb25nOiAnc3Ryb25nJyxcbiAgc3Ryb25nZXI6ICdzdHJvbmdlcicsXG4gIHdlYWs6ICd3ZWFrJyxcbn1cblxudHlwZSBQcm9taW5lbmNlUHJvcHMgPSBrZXlvZiB0eXBlb2YgUFJPTUlORU5DRVNcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZCgnc3ZnJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ3NpemUnLCAnc2VudGltZW50JywgJ3Byb21pbmVuY2UnLCAnZGlzYWJsZWQnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgc2VudGltZW50PzogQ29sb3JcbiAgc2l6ZTogU2l6ZXNQcm9wc1xuICBwcm9taW5lbmNlOiBQcm9taW5lbmNlUHJvcHNcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59PmBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZmlsbDogJHsoeyB0aGVtZSwgc2VudGltZW50LCBwcm9taW5lbmNlLCBkaXNhYmxlZCB9KSA9PiB7XG4gICAgLy8gc3Ryb25nZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIG5ldXRyYWwgc2VudGltZW50XG4gICAgY29uc3QgZGVmaW5lZFByb21pbmVuY2UgPVxuICAgICAgKHNlbnRpbWVudCAhPT0gJ25ldXRyYWwnICYmIHByb21pbmVuY2UgPT09ICdzdHJvbmdlcicpIHx8XG4gICAgICBwcm9taW5lbmNlID09PSAnd2VhaydcbiAgICAgICAgPyBjYXBpdGFsaXplKFBST01JTkVOQ0VTLmRlZmF1bHQpXG4gICAgICAgIDogY2FwaXRhbGl6ZShQUk9NSU5FTkNFU1twcm9taW5lbmNlXSlcblxuICAgIGlmIChzZW50aW1lbnQpIHtcbiAgICAgIGNvbnN0IHRoZW1lQ29sb3IgPSB0aGVtZS5jb2xvcnNbc2VudGltZW50XVxuICAgICAgY29uc3QgaWNvbiA9IGBpY29uJHtkZWZpbmVkUHJvbWluZW5jZX0ke1xuICAgICAgICBkaXNhYmxlZCA/ICdEaXNhYmxlZCcgOiAnJ1xuICAgICAgfWAgYXMga2V5b2YgdHlwZW9mIHRoZW1lQ29sb3JcblxuICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycz8uW3NlbnRpbWVudF0/LltpY29uXSB8fCBzZW50aW1lbnRcbiAgICB9XG5cbiAgICByZXR1cm4gJ2N1cnJlbnRDb2xvcidcbiAgfX07XG5cbiAgLmZpbGxTdHJva2Uge1xuICAgIHN0cm9rZTogJHsoeyB0aGVtZSwgc2VudGltZW50LCBwcm9taW5lbmNlLCBkaXNhYmxlZCB9KSA9PiB7XG4gICAgICAvLyBzdHJvbmdlciBpcyBhdmFpbGFibGUgb25seSBmb3IgbmV1dHJhbCBjb2xvclxuICAgICAgY29uc3QgZGVmaW5lZFByb21pbmVuY2UgPVxuICAgICAgICBzZW50aW1lbnQgIT09ICduZXV0cmFsJyAmJiBwcm9taW5lbmNlID09PSAnc3Ryb25nZXInXG4gICAgICAgICAgPyBjYXBpdGFsaXplKFBST01JTkVOQ0VTLmRlZmF1bHQpXG4gICAgICAgICAgOiBjYXBpdGFsaXplKFBST01JTkVOQ0VTW3Byb21pbmVuY2VdKVxuXG4gICAgICBpZiAoc2VudGltZW50KSB7XG4gICAgICAgIGNvbnN0IHRoZW1lQ29sb3IgPSB0aGVtZS5jb2xvcnNbc2VudGltZW50XVxuICAgICAgICBjb25zdCBpY29uID0gYGljb24ke2RlZmluZWRQcm9taW5lbmNlfSR7XG4gICAgICAgICAgZGlzYWJsZWQgPyAnRGlzYWJsZWQnIDogJydcbiAgICAgICAgfWAgYXMga2V5b2YgdHlwZW9mIHRoZW1lQ29sb3JcblxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzPy5bc2VudGltZW50XT8uW2ljb25dIHx8IHNlbnRpbWVudFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ2N1cnJlbnRDb2xvcidcbiAgICB9fTtcbiAgICBmaWxsOiBub25lO1xuICB9XG4gICR7c2l6ZVN0eWxlc31cbmBcblxuZXhwb3J0IHR5cGUgSWNvblByb3BzID0ge1xuICBzaXplPzogU2l6ZXNQcm9wc1xuICBwcm9taW5lbmNlPzogUHJvbWluZW5jZVByb3BzXG4gIHNlbnRpbWVudD86IENvbG9yXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbn0gJiBQaWNrPFxuICBTVkdQcm9wczxTVkdTVkdFbGVtZW50PixcbiAgJ2NsYXNzTmFtZScgfCAnc3Ryb2tlJyB8ICdjdXJzb3InIHwgJ3N0cm9rZVdpZHRoJyB8ICdhcmlhLWxhYmVsJ1xuPlxuXG4vKipcbiAqIEljb24gY29tcG9uZW50IGlzIG91ciBzZXQgb2Ygc3lzdGVtIGljb25zIGluIHRoZSBkZXNpZ24gc3lzdGVtLiBBbGwgb2YgdGhlbSBhcmUgU1ZHcy5cbiAqL1xuXG5leHBvcnQgY29uc3QgSWNvbiA9IGZvcndhcmRSZWY8U1ZHU1ZHRWxlbWVudCwgSWNvblByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIHNlbnRpbWVudCxcbiAgICAgIHNpemUgPSAnc21hbGwnLFxuICAgICAgcHJvbWluZW5jZSA9ICdkZWZhdWx0JyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBzdHJva2UsXG4gICAgICBjdXJzb3IsXG4gICAgICBzdHJva2VXaWR0aCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICBjaGlsZHJlbixcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiAoXG4gICAgPFN0eWxlZEljb25cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgY3Vyc29yPXtjdXJzb3J9XG4gICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHByb21pbmVuY2U9e3Byb21pbmVuY2V9XG4gICAgICByZWY9e3JlZn1cbiAgICAgIHNlbnRpbWVudD17c2VudGltZW50fVxuICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgIHN0cm9rZT17c3Ryb2tlfVxuICAgICAgc3Ryb2tlV2lkdGg9e3N0cm9rZVdpZHRofVxuICAgICAgdmlld0JveD17XG4gICAgICAgIHR5cGVvZiBzaXplID09PSAnc3RyaW5nJyAmJiBbJ3hzbWFsbCcsICdzbWFsbCddLmluY2x1ZGVzKHNpemUpXG4gICAgICAgICAgPyAnMCAwIDE2IDE2J1xuICAgICAgICAgIDogJzAgMCAyMCAyMCdcbiAgICAgIH1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRJY29uPlxuICApLFxuKVxuIl19 */"));
4
+ import { icon } from "./styles.css.js";
59
5
  const Icon = forwardRef(({
60
6
  sentiment,
61
7
  size = "small",
@@ -68,7 +14,12 @@ const Icon = forwardRef(({
68
14
  disabled,
69
15
  "aria-label": ariaLabel,
70
16
  children
71
- }, ref) => /* @__PURE__ */ jsx(StyledIcon, { "aria-label": ariaLabel, className, cursor, "data-testid": dataTestId, disabled, prominence, ref, sentiment, size, stroke, strokeWidth, viewBox: typeof size === "string" && ["xsmall", "small"].includes(size) ? "0 0 16 16" : "0 0 20 20", children }));
17
+ }, ref) => /* @__PURE__ */ jsx("svg", { "aria-label": ariaLabel, className: `${className ? `${className} ` : ""}${icon({
18
+ disabled,
19
+ prominence,
20
+ sentiment,
21
+ size
22
+ })}`, cursor, "data-testid": dataTestId, ref, stroke, strokeWidth, viewBox: typeof size === "string" && ["xsmall", "small"].includes(size) ? "0 0 16 16" : "0 0 20 20", children }));
72
23
  export {
73
24
  Icon
74
25
  };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const SIZES = {
4
+ large: "300",
5
+ medium: "250",
6
+ small: "200",
7
+ xlarge: "400",
8
+ xsmall: "150",
9
+ xxlarge: "700"
10
+ };
11
+ const PROMINENCES = {
12
+ default: "",
13
+ strong: "strong",
14
+ stronger: "stronger",
15
+ weak: "weak"
16
+ };
17
+ const SENTIMENTS = ["primary", "secondary", "neutral", "success", "danger", "warning", "info"];
18
+ exports.PROMINENCES = PROMINENCES;
19
+ exports.SENTIMENTS = SENTIMENTS;
20
+ exports.SIZES = SIZES;
@@ -0,0 +1,15 @@
1
+ export declare const SIZES: {
2
+ readonly large: "300";
3
+ readonly medium: "250";
4
+ readonly small: "200";
5
+ readonly xlarge: "400";
6
+ readonly xsmall: "150";
7
+ readonly xxlarge: "700";
8
+ };
9
+ export declare const PROMINENCES: {
10
+ default: string;
11
+ strong: string;
12
+ stronger: string;
13
+ weak: string;
14
+ };
15
+ export declare const SENTIMENTS: readonly ["primary", "secondary", "neutral", "success", "danger", "warning", "info"];
@@ -0,0 +1,20 @@
1
+ const SIZES = {
2
+ large: "300",
3
+ medium: "250",
4
+ small: "200",
5
+ xlarge: "400",
6
+ xsmall: "150",
7
+ xxlarge: "700"
8
+ };
9
+ const PROMINENCES = {
10
+ default: "",
11
+ strong: "strong",
12
+ stronger: "stronger",
13
+ weak: "weak"
14
+ };
15
+ const SENTIMENTS = ["primary", "secondary", "neutral", "success", "danger", "warning", "info"];
16
+ export {
17
+ PROMINENCES,
18
+ SENTIMENTS,
19
+ SIZES
20
+ };
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fileScope = require("@vanilla-extract/css/fileScope");
4
+ const themes = require("@ultraviolet/themes");
5
+ const recipes = require("@vanilla-extract/recipes");
6
+ const constants = require("./constants.cjs");
7
+ const capitalize = require("../../utils/capitalize.cjs");
8
+ const css = require("@vanilla-extract/css");
9
+ fileScope.setFileScope("src/components/Icon/styles.css.ts", "@ultraviolet/icons");
10
+ function generateSizeStyle(size) {
11
+ return {
12
+ height: themes.theme.sizing[constants.SIZES[size]],
13
+ width: themes.theme.sizing[constants.SIZES[size]],
14
+ minWidth: themes.theme.sizing[constants.SIZES[size]],
15
+ minHeight: themes.theme.sizing[constants.SIZES[size]]
16
+ };
17
+ }
18
+ function getIconColor(prominence, sentiment, disabled) {
19
+ const definedProminence = sentiment !== "neutral" && prominence === "stronger" || prominence === "weak" ? capitalize(constants.PROMINENCES.default) : capitalize(constants.PROMINENCES[prominence]);
20
+ themes.theme.colors[sentiment];
21
+ const iconToken = `icon${definedProminence}${""}`;
22
+ return themes.theme.colors?.[sentiment]?.[iconToken] || sentiment;
23
+ }
24
+ const icon = recipes.recipe({
25
+ base: {
26
+ verticalAlign: "middle",
27
+ fill: "currentcolor"
28
+ },
29
+ variants: {
30
+ sentiment: Object.fromEntries(constants.SENTIMENTS.map((sentiment) => [sentiment, {}])),
31
+ size: Object.fromEntries(Object.keys(constants.SIZES).map((size) => [size, generateSizeStyle(size)])),
32
+ disabled: {
33
+ true: {},
34
+ false: {}
35
+ },
36
+ prominence: Object.fromEntries(Object.keys(constants.PROMINENCES).map((prominence) => [prominence, {}]))
37
+ },
38
+ compoundVariants: [...Object.keys(constants.PROMINENCES).flatMap((prominence) => constants.SENTIMENTS.map((sentiment) => ({
39
+ variants: {
40
+ sentiment,
41
+ prominence,
42
+ disabled: false
43
+ },
44
+ style: {
45
+ fill: getIconColor(prominence, sentiment)
46
+ }
47
+ }))), ...Object.keys(constants.PROMINENCES).flatMap((prominence) => constants.SENTIMENTS.map((sentiment) => ({
48
+ variants: {
49
+ sentiment,
50
+ prominence,
51
+ disabled: true
52
+ },
53
+ style: {
54
+ fill: getIconColor(prominence, sentiment)
55
+ }
56
+ })))],
57
+ defaultVariants: {
58
+ prominence: "default",
59
+ disabled: false
60
+ }
61
+ });
62
+ Object.keys(constants.PROMINENCES).forEach((prominence) => constants.SENTIMENTS.forEach((sentiment) => {
63
+ css.globalStyle(`${icon({
64
+ sentiment,
65
+ prominence
66
+ })} .fillStroke`, {
67
+ fill: "none",
68
+ stroke: getIconColor(prominence, sentiment)
69
+ });
70
+ }));
71
+ fileScope.endFileScope();
72
+ exports.icon = icon;
@@ -0,0 +1,20 @@
1
+ export declare const icon: import("@vanilla-extract/recipes").RuntimeFn<{
2
+ sentiment: {
3
+ [k: string]: {};
4
+ };
5
+ size: {
6
+ [k: string]: {
7
+ height: `var(--${string})`;
8
+ width: `var(--${string})`;
9
+ minWidth: `var(--${string})`;
10
+ minHeight: `var(--${string})`;
11
+ };
12
+ };
13
+ disabled: {
14
+ true: {};
15
+ false: {};
16
+ };
17
+ prominence: {
18
+ [k: string]: {};
19
+ };
20
+ }>;
@@ -0,0 +1,72 @@
1
+ import { setFileScope, endFileScope } from "@vanilla-extract/css/fileScope";
2
+ import { theme } from "@ultraviolet/themes";
3
+ import { recipe } from "@vanilla-extract/recipes";
4
+ import { PROMINENCES, SENTIMENTS, SIZES } from "./constants.js";
5
+ import capitalize from "../../utils/capitalize.js";
6
+ import { globalStyle } from "@vanilla-extract/css";
7
+ setFileScope("src/components/Icon/styles.css.ts", "@ultraviolet/icons");
8
+ function generateSizeStyle(size) {
9
+ return {
10
+ height: theme.sizing[SIZES[size]],
11
+ width: theme.sizing[SIZES[size]],
12
+ minWidth: theme.sizing[SIZES[size]],
13
+ minHeight: theme.sizing[SIZES[size]]
14
+ };
15
+ }
16
+ function getIconColor(prominence, sentiment, disabled) {
17
+ const definedProminence = sentiment !== "neutral" && prominence === "stronger" || prominence === "weak" ? capitalize(PROMINENCES.default) : capitalize(PROMINENCES[prominence]);
18
+ theme.colors[sentiment];
19
+ const iconToken = `icon${definedProminence}${""}`;
20
+ return theme.colors?.[sentiment]?.[iconToken] || sentiment;
21
+ }
22
+ const icon = recipe({
23
+ base: {
24
+ verticalAlign: "middle",
25
+ fill: "currentcolor"
26
+ },
27
+ variants: {
28
+ sentiment: Object.fromEntries(SENTIMENTS.map((sentiment) => [sentiment, {}])),
29
+ size: Object.fromEntries(Object.keys(SIZES).map((size) => [size, generateSizeStyle(size)])),
30
+ disabled: {
31
+ true: {},
32
+ false: {}
33
+ },
34
+ prominence: Object.fromEntries(Object.keys(PROMINENCES).map((prominence) => [prominence, {}]))
35
+ },
36
+ compoundVariants: [...Object.keys(PROMINENCES).flatMap((prominence) => SENTIMENTS.map((sentiment) => ({
37
+ variants: {
38
+ sentiment,
39
+ prominence,
40
+ disabled: false
41
+ },
42
+ style: {
43
+ fill: getIconColor(prominence, sentiment)
44
+ }
45
+ }))), ...Object.keys(PROMINENCES).flatMap((prominence) => SENTIMENTS.map((sentiment) => ({
46
+ variants: {
47
+ sentiment,
48
+ prominence,
49
+ disabled: true
50
+ },
51
+ style: {
52
+ fill: getIconColor(prominence, sentiment)
53
+ }
54
+ })))],
55
+ defaultVariants: {
56
+ prominence: "default",
57
+ disabled: false
58
+ }
59
+ });
60
+ Object.keys(PROMINENCES).forEach((prominence) => SENTIMENTS.forEach((sentiment) => {
61
+ globalStyle(`${icon({
62
+ sentiment,
63
+ prominence
64
+ })} .fillStroke`, {
65
+ fill: "none",
66
+ stroke: getIconColor(prominence, sentiment)
67
+ });
68
+ }));
69
+ endFileScope();
70
+ export {
71
+ icon
72
+ };
@@ -2,35 +2,10 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const _styled = require("@emotion/styled/base");
6
- const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
7
- const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
8
- const SIZES = {
9
- large: "400",
10
- medium: "250",
11
- small: "200",
12
- xlarge: "700"
13
- };
14
- const StyledIcon = /* @__PURE__ */ _styled__default.default("svg", process.env.NODE_ENV === "production" ? {
15
- shouldForwardProp: (prop) => !["size"].includes(prop),
16
- target: "e1bc5p840"
17
- } : {
18
- shouldForwardProp: (prop) => !["size"].includes(prop),
19
- target: "e1bc5p840",
20
- label: "StyledIcon"
21
- })("&{width:", ({
22
- size,
23
- theme
24
- }) => `${theme.sizing[SIZES[size]]}`, ";min-width:", ({
25
- size,
26
- theme
27
- }) => `${theme.sizing[SIZES[size]]}`, ";height:", ({
28
- size,
29
- theme
30
- }) => `${theme.sizing[SIZES[size]]}`, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0xvZ28vSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2dDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0xvZ28vSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBTSVpFUyA9IHtcbiAgbGFyZ2U6ICc0MDAnLFxuICBtZWRpdW06ICcyNTAnLFxuICBzbWFsbDogJzIwMCcsXG4gIHhsYXJnZTogJzcwMCcsXG59IGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ3N2ZycsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnc2l6ZSddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBzaXplOiBrZXlvZiB0eXBlb2YgU0laRVMgfT5gXG4gICYge1xuICAgIHdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07XG4gICAgbWluLXdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07IC8vIFRoaXMgaXMgdG8gYXZvaWQgdGhlIGljb24gdG8gc2hyaW5rIHdoZW4gdGhlIHRleHQgaXMgdG9vIGxvbmdcbiAgICBoZWlnaHQ6ICR7KHsgc2l6ZSwgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX1gfTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBJY29uUHJvcHMgPSB7XG4gIHNpemU/OiBrZXlvZiB0eXBlb2YgU0laRVNcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbn1cblxuLyoqXG4gKiBMb2dvIGNvbXBvbmVudCBpcyB1c2VkIHRvIHJlbmRlciBhIHNldCBvZiBsb2dvcy4gVGhlaXIgc3R5bGUgY2Fubm90IGJlIGNoYW5nZWRcbiAqL1xuZXhwb3J0IGNvbnN0IEljb24gPSAoeyBzaXplID0gJ3NtYWxsJywgY2xhc3NOYW1lLCBjaGlsZHJlbiB9OiBJY29uUHJvcHMpID0+IChcbiAgPFN0eWxlZEljb24gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHNpemU9e3NpemV9IHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkSWNvbj5cbilcbiJdfQ== */"));
5
+ const style_css = require("./style.css.cjs");
31
6
  const Icon = ({
32
7
  size = "small",
33
8
  className,
34
9
  children
35
- }) => /* @__PURE__ */ jsxRuntime.jsx(StyledIcon, { className, size, viewBox: "0 0 20 20", children });
10
+ }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: `${className ? `${className} ` : ""}${style_css.logo[size]}`, viewBox: "0 0 20 20", children });
36
11
  exports.Icon = Icon;
@@ -1,10 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- declare const SIZES: {
3
- readonly large: "400";
4
- readonly medium: "250";
5
- readonly small: "200";
6
- readonly xlarge: "700";
7
- };
2
+ import type { SIZES } from './constant';
8
3
  export type IconProps = {
9
4
  size?: keyof typeof SIZES;
10
5
  className?: string;
@@ -14,4 +9,3 @@ export type IconProps = {
14
9
  * Logo component is used to render a set of logos. Their style cannot be changed
15
10
  */
16
11
  export declare const Icon: ({ size, className, children }: IconProps) => import("@emotion/react/jsx-runtime").JSX.Element;
17
- export {};
@@ -1,34 +1,11 @@
1
1
  "use client";
2
2
  import { jsx } from "@emotion/react/jsx-runtime";
3
- import _styled from "@emotion/styled/base";
4
- const SIZES = {
5
- large: "400",
6
- medium: "250",
7
- small: "200",
8
- xlarge: "700"
9
- };
10
- const StyledIcon = /* @__PURE__ */ _styled("svg", process.env.NODE_ENV === "production" ? {
11
- shouldForwardProp: (prop) => !["size"].includes(prop),
12
- target: "e1bc5p840"
13
- } : {
14
- shouldForwardProp: (prop) => !["size"].includes(prop),
15
- target: "e1bc5p840",
16
- label: "StyledIcon"
17
- })("&{width:", ({
18
- size,
19
- theme
20
- }) => `${theme.sizing[SIZES[size]]}`, ";min-width:", ({
21
- size,
22
- theme
23
- }) => `${theme.sizing[SIZES[size]]}`, ";height:", ({
24
- size,
25
- theme
26
- }) => `${theme.sizing[SIZES[size]]}`, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0xvZ28vSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2dDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL0xvZ28vSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBTSVpFUyA9IHtcbiAgbGFyZ2U6ICc0MDAnLFxuICBtZWRpdW06ICcyNTAnLFxuICBzbWFsbDogJzIwMCcsXG4gIHhsYXJnZTogJzcwMCcsXG59IGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ3N2ZycsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnc2l6ZSddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBzaXplOiBrZXlvZiB0eXBlb2YgU0laRVMgfT5gXG4gICYge1xuICAgIHdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07XG4gICAgbWluLXdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07IC8vIFRoaXMgaXMgdG8gYXZvaWQgdGhlIGljb24gdG8gc2hyaW5rIHdoZW4gdGhlIHRleHQgaXMgdG9vIGxvbmdcbiAgICBoZWlnaHQ6ICR7KHsgc2l6ZSwgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX1gfTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBJY29uUHJvcHMgPSB7XG4gIHNpemU/OiBrZXlvZiB0eXBlb2YgU0laRVNcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbn1cblxuLyoqXG4gKiBMb2dvIGNvbXBvbmVudCBpcyB1c2VkIHRvIHJlbmRlciBhIHNldCBvZiBsb2dvcy4gVGhlaXIgc3R5bGUgY2Fubm90IGJlIGNoYW5nZWRcbiAqL1xuZXhwb3J0IGNvbnN0IEljb24gPSAoeyBzaXplID0gJ3NtYWxsJywgY2xhc3NOYW1lLCBjaGlsZHJlbiB9OiBJY29uUHJvcHMpID0+IChcbiAgPFN0eWxlZEljb24gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHNpemU9e3NpemV9IHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkSWNvbj5cbilcbiJdfQ== */"));
3
+ import { logo } from "./style.css.js";
27
4
  const Icon = ({
28
5
  size = "small",
29
6
  className,
30
7
  children
31
- }) => /* @__PURE__ */ jsx(StyledIcon, { className, size, viewBox: "0 0 20 20", children });
8
+ }) => /* @__PURE__ */ jsx("svg", { className: `${className ? `${className} ` : ""}${logo[size]}`, viewBox: "0 0 20 20", children });
32
9
  export {
33
10
  Icon
34
11
  };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const SIZES = {
4
+ large: "400",
5
+ medium: "250",
6
+ small: "200",
7
+ xlarge: "700"
8
+ };
9
+ exports.SIZES = SIZES;
@@ -0,0 +1,6 @@
1
+ export declare const SIZES: {
2
+ readonly large: "400";
3
+ readonly medium: "250";
4
+ readonly small: "200";
5
+ readonly xlarge: "700";
6
+ };
@@ -0,0 +1,9 @@
1
+ const SIZES = {
2
+ large: "400",
3
+ medium: "250",
4
+ small: "200",
5
+ xlarge: "700"
6
+ };
7
+ export {
8
+ SIZES
9
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fileScope = require("@vanilla-extract/css/fileScope");
4
+ const css = require("@vanilla-extract/css");
5
+ const constant = require("./constant.cjs");
6
+ const themes = require("@ultraviolet/themes");
7
+ fileScope.setFileScope("src/components/Logo/style.css.ts", "@ultraviolet/icons");
8
+ const logo = css.styleVariants(Object.fromEntries(Object.keys(constant.SIZES).map((size) => [size, {
9
+ width: themes.theme.sizing[constant.SIZES[size]],
10
+ minWidth: themes.theme.sizing[constant.SIZES[size]],
11
+ height: themes.theme.sizing[constant.SIZES[size]]
12
+ }])));
13
+ fileScope.endFileScope();
14
+ exports.logo = logo;
@@ -0,0 +1 @@
1
+ export declare const logo: Record<string | number, string>;
@@ -0,0 +1,14 @@
1
+ import { setFileScope, endFileScope } from "@vanilla-extract/css/fileScope";
2
+ import { styleVariants } from "@vanilla-extract/css";
3
+ import { SIZES } from "./constant.js";
4
+ import { theme } from "@ultraviolet/themes";
5
+ setFileScope("src/components/Logo/style.css.ts", "@ultraviolet/icons");
6
+ const logo = styleVariants(Object.fromEntries(Object.keys(SIZES).map((size) => [size, {
7
+ width: theme.sizing[SIZES[size]],
8
+ minWidth: theme.sizing[SIZES[size]],
9
+ height: theme.sizing[SIZES[size]]
10
+ }])));
11
+ endFileScope();
12
+ export {
13
+ logo
14
+ };
@@ -2,51 +2,12 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const _styled = require("@emotion/styled/base");
6
- const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
7
- const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
8
- const SIZES = {
9
- large: "600",
10
- medium: "500",
11
- small: "400",
12
- xlarge: "800",
13
- xsmall: "300"
14
- };
15
- const StyledIcon = /* @__PURE__ */ _styled__default.default("svg", process.env.NODE_ENV === "production" ? {
16
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
17
- target: "e1igpg8x0"
18
- } : {
19
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
20
- target: "e1igpg8x0",
21
- label: "StyledIcon"
22
- })("&{width:", ({
23
- size,
24
- theme
25
- }) => `${theme.sizing[SIZES[size]]}`, ";min-width:", ({
26
- size,
27
- theme
28
- }) => `${theme.sizing[SIZES[size]]}`, ";height:", ({
29
- size,
30
- theme
31
- }) => `${theme.sizing[SIZES[size]]}`, ";}path[fill].fill,g[fill].fill>*,g.fill>*{fill:", ({
32
- theme,
33
- variant,
34
- disabled
35
- }) => `${theme.colors.other.icon.product[variant][disabled ? "fillDisabled" : "fill"]}`, ";}path[fill].fillStrong,g[fill].fillStrong>*,g.fillStrong>*{fill:", ({
36
- theme,
37
- variant,
38
- disabled
39
- }) => `${theme.colors.other.icon.product[variant][disabled ? "fillStrongDisabled" : "fillStrong"]}`, ";}path[fill].fillWeak,g[fill].fillWeak>*,g.fillWeak>*{fill:", ({
40
- theme,
41
- variant,
42
- disabled
43
- }) => `${theme.colors.other.icon.product[variant][disabled ? "fillWeakDisabled" : "fillWeak"]}`, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL1Byb2R1Y3RJY29uL0ljb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCdUUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvaWNvbnMvc3JjL2NvbXBvbmVudHMvUHJvZHVjdEljb24vSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIFZhcmlhbnRzID0gJ3ByaW1hcnknIHwgJ2RhbmdlcicgfCAnd2FybmluZycgfCAnb3JpZ2luYWwnXG5cbmV4cG9ydCBjb25zdCBTSVpFUyA9IHtcbiAgbGFyZ2U6ICc2MDAnLFxuICBtZWRpdW06ICc1MDAnLFxuICBzbWFsbDogJzQwMCcsXG4gIHhsYXJnZTogJzgwMCcsXG4gIHhzbWFsbDogJzMwMCcsXG59IGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ3N2ZycsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsndmFyaWFudCcsICdkaXNhYmxlZCddLmluY2x1ZGVzKHByb3ApLFxufSk8eyB2YXJpYW50OiBWYXJpYW50czsgZGlzYWJsZWQ/OiBib29sZWFuOyBzaXplOiBrZXlvZiB0eXBlb2YgU0laRVMgfT5gXG4gICYge1xuICAgIHdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07XG4gICAgbWluLXdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07IC8vIFRoaXMgaXMgdG8gYXZvaWQgdGhlIGljb24gdG8gc2hyaW5rIHdoZW4gdGhlIHRleHQgaXMgdG9vIGxvbmdcbiAgICBoZWlnaHQ6ICR7KHsgc2l6ZSwgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX1gfTtcbiAgfVxuXG4gIHBhdGhbZmlsbF0uZmlsbCxcbiAgZ1tmaWxsXS5maWxsID4gKixcbiAgZy5maWxsID4gKiB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSwgdmFyaWFudCwgZGlzYWJsZWQgfSkgPT5cbiAgICAgIGAke1xuICAgICAgICB0aGVtZS5jb2xvcnMub3RoZXIuaWNvbi5wcm9kdWN0W3ZhcmlhbnRdW1xuICAgICAgICAgIGRpc2FibGVkID8gJ2ZpbGxEaXNhYmxlZCcgOiAnZmlsbCdcbiAgICAgICAgXVxuICAgICAgfWB9O1xuICB9XG5cbiAgcGF0aFtmaWxsXS5maWxsU3Ryb25nLFxuICBnW2ZpbGxdLmZpbGxTdHJvbmcgPiAqLFxuICBnLmZpbGxTdHJvbmcgPiAqIHtcbiAgICBmaWxsOiAkeyh7IHRoZW1lLCB2YXJpYW50LCBkaXNhYmxlZCB9KSA9PlxuICAgICAgYCR7XG4gICAgICAgIHRoZW1lLmNvbG9ycy5vdGhlci5pY29uLnByb2R1Y3RbdmFyaWFudF1bXG4gICAgICAgICAgZGlzYWJsZWQgPyAnZmlsbFN0cm9uZ0Rpc2FibGVkJyA6ICdmaWxsU3Ryb25nJ1xuICAgICAgICBdXG4gICAgICB9YH07XG4gIH1cblxuICBwYXRoW2ZpbGxdLmZpbGxXZWFrLFxuICBnW2ZpbGxdLmZpbGxXZWFrID4gKixcbiAgZy5maWxsV2VhayA+ICoge1xuICAgIGZpbGw6ICR7KHsgdGhlbWUsIHZhcmlhbnQsIGRpc2FibGVkIH0pID0+XG4gICAgICBgJHtcbiAgICAgICAgdGhlbWUuY29sb3JzLm90aGVyLmljb24ucHJvZHVjdFt2YXJpYW50XVtcbiAgICAgICAgICBkaXNhYmxlZCA/ICdmaWxsV2Vha0Rpc2FibGVkJyA6ICdmaWxsV2VhaydcbiAgICAgICAgXVxuICAgICAgfWB9O1xuICB9XG5gXG5cbmV4cG9ydCB0eXBlIEljb25Qcm9wcyA9IHtcbiAgdmFyaWFudD86IFZhcmlhbnRzXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBzaXplPzoga2V5b2YgdHlwZW9mIFNJWkVTXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3ROb2RlXG59XG5cbi8qKlxuICogUHJvZHVjdEljb24gY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIGEgc2V0IG9mIGljb25zIHRoYXQgYXJlIGxpbmtlZCB0byBhIHByb2R1Y3Qgb3Igc2VydmljZS5cbiAqIFRob3NlIGljb25zIGFyZSBtYWRlIG9mIG11bHRpcGxlIGNvbG9ycyB0aGF0IGNoYW5nZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aGVtZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEljb24gPSAoe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBkaXNhYmxlZCxcbiAgc2l6ZSA9ICdzbWFsbCcsXG4gIGNsYXNzTmFtZSxcbiAgY2hpbGRyZW4sXG59OiBJY29uUHJvcHMpID0+IChcbiAgPFN0eWxlZEljb25cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgc2l6ZT17c2l6ZX1cbiAgICB2YXJpYW50PXt2YXJpYW50fVxuICAgIHZpZXdCb3g9XCIwIDAgNjQgNjRcIlxuICA+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZEljb24+XG4pXG4iXX0= */"));
5
+ const styles_css = require("./styles.css.cjs");
44
6
  const Icon = ({
45
7
  variant = "primary",
46
8
  disabled,
47
9
  size = "small",
48
10
  className,
49
11
  children
50
- }) => /* @__PURE__ */ jsxRuntime.jsx(StyledIcon, { className, disabled, size, variant, viewBox: "0 0 64 64", children });
12
+ }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: `${className ? `${className} ` : ""}${styles_css.productIconSizes[size]} ${styles_css.productIconVariants[`${variant}${disabled ? "Disabled" : ""}`]}`, viewBox: "0 0 64 64", children });
51
13
  exports.Icon = Icon;
52
- exports.SIZES = SIZES;
@@ -1,12 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
- type Variants = 'primary' | 'danger' | 'warning' | 'original';
3
- export declare const SIZES: {
4
- readonly large: "600";
5
- readonly medium: "500";
6
- readonly small: "400";
7
- readonly xlarge: "800";
8
- readonly xsmall: "300";
9
- };
2
+ import type { SIZES, VARIANTS } from './constants';
3
+ type Variants = (typeof VARIANTS)[number];
10
4
  export type IconProps = {
11
5
  variant?: Variants;
12
6
  disabled?: boolean;
@@ -1,50 +1,13 @@
1
1
  "use client";
2
2
  import { jsx } from "@emotion/react/jsx-runtime";
3
- import _styled from "@emotion/styled/base";
4
- const SIZES = {
5
- large: "600",
6
- medium: "500",
7
- small: "400",
8
- xlarge: "800",
9
- xsmall: "300"
10
- };
11
- const StyledIcon = /* @__PURE__ */ _styled("svg", process.env.NODE_ENV === "production" ? {
12
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
13
- target: "e1igpg8x0"
14
- } : {
15
- shouldForwardProp: (prop) => !["variant", "disabled"].includes(prop),
16
- target: "e1igpg8x0",
17
- label: "StyledIcon"
18
- })("&{width:", ({
19
- size,
20
- theme
21
- }) => `${theme.sizing[SIZES[size]]}`, ";min-width:", ({
22
- size,
23
- theme
24
- }) => `${theme.sizing[SIZES[size]]}`, ";height:", ({
25
- size,
26
- theme
27
- }) => `${theme.sizing[SIZES[size]]}`, ";}path[fill].fill,g[fill].fill>*,g.fill>*{fill:", ({
28
- theme,
29
- variant,
30
- disabled
31
- }) => `${theme.colors.other.icon.product[variant][disabled ? "fillDisabled" : "fill"]}`, ";}path[fill].fillStrong,g[fill].fillStrong>*,g.fillStrong>*{fill:", ({
32
- theme,
33
- variant,
34
- disabled
35
- }) => `${theme.colors.other.icon.product[variant][disabled ? "fillStrongDisabled" : "fillStrong"]}`, ";}path[fill].fillWeak,g[fill].fillWeak>*,g.fillWeak>*{fill:", ({
36
- theme,
37
- variant,
38
- disabled
39
- }) => `${theme.colors.other.icon.product[variant][disabled ? "fillWeakDisabled" : "fillWeak"]}`, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL2ljb25zL3NyYy9jb21wb25lbnRzL1Byb2R1Y3RJY29uL0ljb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCdUUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvaWNvbnMvc3JjL2NvbXBvbmVudHMvUHJvZHVjdEljb24vSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIFZhcmlhbnRzID0gJ3ByaW1hcnknIHwgJ2RhbmdlcicgfCAnd2FybmluZycgfCAnb3JpZ2luYWwnXG5cbmV4cG9ydCBjb25zdCBTSVpFUyA9IHtcbiAgbGFyZ2U6ICc2MDAnLFxuICBtZWRpdW06ICc1MDAnLFxuICBzbWFsbDogJzQwMCcsXG4gIHhsYXJnZTogJzgwMCcsXG4gIHhzbWFsbDogJzMwMCcsXG59IGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoJ3N2ZycsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsndmFyaWFudCcsICdkaXNhYmxlZCddLmluY2x1ZGVzKHByb3ApLFxufSk8eyB2YXJpYW50OiBWYXJpYW50czsgZGlzYWJsZWQ/OiBib29sZWFuOyBzaXplOiBrZXlvZiB0eXBlb2YgU0laRVMgfT5gXG4gICYge1xuICAgIHdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07XG4gICAgbWluLXdpZHRoOiAkeyh7IHNpemUsIHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1tTSVpFU1tzaXplXV19YH07IC8vIFRoaXMgaXMgdG8gYXZvaWQgdGhlIGljb24gdG8gc2hyaW5rIHdoZW4gdGhlIHRleHQgaXMgdG9vIGxvbmdcbiAgICBoZWlnaHQ6ICR7KHsgc2l6ZSwgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nW1NJWkVTW3NpemVdXX1gfTtcbiAgfVxuXG4gIHBhdGhbZmlsbF0uZmlsbCxcbiAgZ1tmaWxsXS5maWxsID4gKixcbiAgZy5maWxsID4gKiB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSwgdmFyaWFudCwgZGlzYWJsZWQgfSkgPT5cbiAgICAgIGAke1xuICAgICAgICB0aGVtZS5jb2xvcnMub3RoZXIuaWNvbi5wcm9kdWN0W3ZhcmlhbnRdW1xuICAgICAgICAgIGRpc2FibGVkID8gJ2ZpbGxEaXNhYmxlZCcgOiAnZmlsbCdcbiAgICAgICAgXVxuICAgICAgfWB9O1xuICB9XG5cbiAgcGF0aFtmaWxsXS5maWxsU3Ryb25nLFxuICBnW2ZpbGxdLmZpbGxTdHJvbmcgPiAqLFxuICBnLmZpbGxTdHJvbmcgPiAqIHtcbiAgICBmaWxsOiAkeyh7IHRoZW1lLCB2YXJpYW50LCBkaXNhYmxlZCB9KSA9PlxuICAgICAgYCR7XG4gICAgICAgIHRoZW1lLmNvbG9ycy5vdGhlci5pY29uLnByb2R1Y3RbdmFyaWFudF1bXG4gICAgICAgICAgZGlzYWJsZWQgPyAnZmlsbFN0cm9uZ0Rpc2FibGVkJyA6ICdmaWxsU3Ryb25nJ1xuICAgICAgICBdXG4gICAgICB9YH07XG4gIH1cblxuICBwYXRoW2ZpbGxdLmZpbGxXZWFrLFxuICBnW2ZpbGxdLmZpbGxXZWFrID4gKixcbiAgZy5maWxsV2VhayA+ICoge1xuICAgIGZpbGw6ICR7KHsgdGhlbWUsIHZhcmlhbnQsIGRpc2FibGVkIH0pID0+XG4gICAgICBgJHtcbiAgICAgICAgdGhlbWUuY29sb3JzLm90aGVyLmljb24ucHJvZHVjdFt2YXJpYW50XVtcbiAgICAgICAgICBkaXNhYmxlZCA/ICdmaWxsV2Vha0Rpc2FibGVkJyA6ICdmaWxsV2VhaydcbiAgICAgICAgXVxuICAgICAgfWB9O1xuICB9XG5gXG5cbmV4cG9ydCB0eXBlIEljb25Qcm9wcyA9IHtcbiAgdmFyaWFudD86IFZhcmlhbnRzXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBzaXplPzoga2V5b2YgdHlwZW9mIFNJWkVTXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3ROb2RlXG59XG5cbi8qKlxuICogUHJvZHVjdEljb24gY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIGEgc2V0IG9mIGljb25zIHRoYXQgYXJlIGxpbmtlZCB0byBhIHByb2R1Y3Qgb3Igc2VydmljZS5cbiAqIFRob3NlIGljb25zIGFyZSBtYWRlIG9mIG11bHRpcGxlIGNvbG9ycyB0aGF0IGNoYW5nZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aGVtZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEljb24gPSAoe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBkaXNhYmxlZCxcbiAgc2l6ZSA9ICdzbWFsbCcsXG4gIGNsYXNzTmFtZSxcbiAgY2hpbGRyZW4sXG59OiBJY29uUHJvcHMpID0+IChcbiAgPFN0eWxlZEljb25cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgc2l6ZT17c2l6ZX1cbiAgICB2YXJpYW50PXt2YXJpYW50fVxuICAgIHZpZXdCb3g9XCIwIDAgNjQgNjRcIlxuICA+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZEljb24+XG4pXG4iXX0= */"));
3
+ import { productIconSizes, productIconVariants } from "./styles.css.js";
40
4
  const Icon = ({
41
5
  variant = "primary",
42
6
  disabled,
43
7
  size = "small",
44
8
  className,
45
9
  children
46
- }) => /* @__PURE__ */ jsx(StyledIcon, { className, disabled, size, variant, viewBox: "0 0 64 64", children });
10
+ }) => /* @__PURE__ */ jsx("svg", { className: `${className ? `${className} ` : ""}${productIconSizes[size]} ${productIconVariants[`${variant}${disabled ? "Disabled" : ""}`]}`, viewBox: "0 0 64 64", children });
47
11
  export {
48
- Icon,
49
- SIZES
12
+ Icon
50
13
  };
@@ -16,7 +16,7 @@ const IconSdkJsProductIcon = ({
16
16
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M50.497 20.103a1 1 0 0 1 1.494.752l.006.114v21.937a1 1 0 0 1-.401.801l-.1.065-18.998 10.969a1 1 0 0 1-1.493-.753l-.007-.113V43.04h2v9.102l16.998-9.813V22.7l-7.32 4.227-1-1.732 8.82-5.092Z" })
17
17
  ] }),
18
18
  /* @__PURE__ */ jsxRuntime.jsx("path", { className: "fillStrong", clipRule: "evenodd", d: "m21.54 24.884 9.96-5.75a1 1 0 0 1 1 0l9.96 5.75a1 1 0 0 1 .5.866v11.5a1 1 0 0 1-.5.867l-9.96 5.75a1 1 0 0 1-1 0l-9.96-5.75a1 1 0 0 1-.5-.866v-11.5a1 1 0 0 1 .5-.867m19.419 1.444-8.96-5.172-8.96 5.172v10.345L32 41.843l8.96-5.172z", fill: "#A060F6", fillRule: "evenodd" }),
19
- /* @__PURE__ */ jsxRuntime.jsx("path", { className: "JS", clipRule: "evenodd", d: "M33.27 34.82q.59.25 1.32.25.77 0 1.33-.28a2.1 2.1 0 0 0 .85-.77q.29-.48.29-1.04 0-.65-.31-1.05a2 2 0 0 0-.74-.6 8 8 0 0 0-1.11-.4 11 11 0 0 1-.78-.26 1.6 1.6 0 0 1-.46-.3.66.66 0 0 1-.18-.47q0-.4.24-.61.25-.21.66-.21.47 0 .75.24a.78.78 0 0 1 .31.59h1.54q-.07-.94-.75-1.46-.67-.53-1.75-.53-.72 0-1.28.25a1.94 1.94 0 0 0-.87.7q-.31.46-.31 1.08 0 .66.3 1.06.31.39.73.59a9 9 0 0 0 1.11.39q.5.14.78.26.29.11.48.31a.7.7 0 0 1 .19.51q0 .38-.28.62-.28.23-.77.23-.48 0-.76-.25-.27-.25-.3-.68H32q.01.64.35 1.11t.92.72m-2.07-1.9v-4.9h-1.41v4.9q0 .42-.2.66t-.58.24q-.39 0-.6-.25-.201-.25-.21-.7h-1.4q0 1.04.61 1.62.62.58 1.62.58.99 0 1.58-.56.59-.57.59-1.59", fill: "#A060F6", fillRule: "evenodd" })
19
+ /* @__PURE__ */ jsxRuntime.jsx("path", { className: "fillStrong", clipRule: "evenodd", d: "M33.27 34.82q.59.25 1.32.25.77 0 1.33-.28a2.1 2.1 0 0 0 .85-.77q.29-.48.29-1.04 0-.65-.31-1.05a2 2 0 0 0-.74-.6 8 8 0 0 0-1.11-.4 11 11 0 0 1-.78-.26 1.6 1.6 0 0 1-.46-.3.66.66 0 0 1-.18-.47q0-.4.24-.61.25-.21.66-.21.47 0 .75.24a.78.78 0 0 1 .31.59h1.54q-.07-.94-.75-1.46-.67-.53-1.75-.53-.72 0-1.28.25a1.94 1.94 0 0 0-.87.7q-.31.46-.31 1.08 0 .66.3 1.06.31.39.73.59a9 9 0 0 0 1.11.39q.5.14.78.26.29.11.48.31a.7.7 0 0 1 .19.51q0 .38-.28.62-.28.23-.77.23-.48 0-.76-.25-.27-.25-.3-.68H32q.01.64.35 1.11t.92.72m-2.07-1.9v-4.9h-1.41v4.9q0 .42-.2.66t-.58.24q-.39 0-.6-.25-.201-.25-.21-.7h-1.4q0 1.04.61 1.62.62.58 1.62.58.99 0 1.58-.56.59-.57.59-1.59", fill: "#A060F6", fillRule: "evenodd" })
20
20
  ] })
21
21
  ] }) })
22
22
  );
@@ -14,7 +14,7 @@ const IconSdkJsProductIcon = ({
14
14
  /* @__PURE__ */ jsx("path", { d: "M50.497 20.103a1 1 0 0 1 1.494.752l.006.114v21.937a1 1 0 0 1-.401.801l-.1.065-18.998 10.969a1 1 0 0 1-1.493-.753l-.007-.113V43.04h2v9.102l16.998-9.813V22.7l-7.32 4.227-1-1.732 8.82-5.092Z" })
15
15
  ] }),
16
16
  /* @__PURE__ */ jsx("path", { className: "fillStrong", clipRule: "evenodd", d: "m21.54 24.884 9.96-5.75a1 1 0 0 1 1 0l9.96 5.75a1 1 0 0 1 .5.866v11.5a1 1 0 0 1-.5.867l-9.96 5.75a1 1 0 0 1-1 0l-9.96-5.75a1 1 0 0 1-.5-.866v-11.5a1 1 0 0 1 .5-.867m19.419 1.444-8.96-5.172-8.96 5.172v10.345L32 41.843l8.96-5.172z", fill: "#A060F6", fillRule: "evenodd" }),
17
- /* @__PURE__ */ jsx("path", { className: "JS", clipRule: "evenodd", d: "M33.27 34.82q.59.25 1.32.25.77 0 1.33-.28a2.1 2.1 0 0 0 .85-.77q.29-.48.29-1.04 0-.65-.31-1.05a2 2 0 0 0-.74-.6 8 8 0 0 0-1.11-.4 11 11 0 0 1-.78-.26 1.6 1.6 0 0 1-.46-.3.66.66 0 0 1-.18-.47q0-.4.24-.61.25-.21.66-.21.47 0 .75.24a.78.78 0 0 1 .31.59h1.54q-.07-.94-.75-1.46-.67-.53-1.75-.53-.72 0-1.28.25a1.94 1.94 0 0 0-.87.7q-.31.46-.31 1.08 0 .66.3 1.06.31.39.73.59a9 9 0 0 0 1.11.39q.5.14.78.26.29.11.48.31a.7.7 0 0 1 .19.51q0 .38-.28.62-.28.23-.77.23-.48 0-.76-.25-.27-.25-.3-.68H32q.01.64.35 1.11t.92.72m-2.07-1.9v-4.9h-1.41v4.9q0 .42-.2.66t-.58.24q-.39 0-.6-.25-.201-.25-.21-.7h-1.4q0 1.04.61 1.62.62.58 1.62.58.99 0 1.58-.56.59-.57.59-1.59", fill: "#A060F6", fillRule: "evenodd" })
17
+ /* @__PURE__ */ jsx("path", { className: "fillStrong", clipRule: "evenodd", d: "M33.27 34.82q.59.25 1.32.25.77 0 1.33-.28a2.1 2.1 0 0 0 .85-.77q.29-.48.29-1.04 0-.65-.31-1.05a2 2 0 0 0-.74-.6 8 8 0 0 0-1.11-.4 11 11 0 0 1-.78-.26 1.6 1.6 0 0 1-.46-.3.66.66 0 0 1-.18-.47q0-.4.24-.61.25-.21.66-.21.47 0 .75.24a.78.78 0 0 1 .31.59h1.54q-.07-.94-.75-1.46-.67-.53-1.75-.53-.72 0-1.28.25a1.94 1.94 0 0 0-.87.7q-.31.46-.31 1.08 0 .66.3 1.06.31.39.73.59a9 9 0 0 0 1.11.39q.5.14.78.26.29.11.48.31a.7.7 0 0 1 .19.51q0 .38-.28.62-.28.23-.77.23-.48 0-.76-.25-.27-.25-.3-.68H32q.01.64.35 1.11t.92.72m-2.07-1.9v-4.9h-1.41v4.9q0 .42-.2.66t-.58.24q-.39 0-.6-.25-.201-.25-.21-.7h-1.4q0 1.04.61 1.62.62.58 1.62.58.99 0 1.58-.56.59-.57.59-1.59", fill: "#A060F6", fillRule: "evenodd" })
18
18
  ] })
19
19
  ] }) })
20
20
  );
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const SIZES = {
4
+ large: "600",
5
+ medium: "500",
6
+ small: "400",
7
+ xlarge: "800",
8
+ xsmall: "300"
9
+ };
10
+ const VARIANTS = ["primary", "danger", "warning", "original"];
11
+ exports.SIZES = SIZES;
12
+ exports.VARIANTS = VARIANTS;
@@ -0,0 +1,8 @@
1
+ export declare const SIZES: {
2
+ readonly large: "600";
3
+ readonly medium: "500";
4
+ readonly small: "400";
5
+ readonly xlarge: "800";
6
+ readonly xsmall: "300";
7
+ };
8
+ export declare const VARIANTS: readonly ["primary", "danger", "warning", "original"];
@@ -0,0 +1,12 @@
1
+ const SIZES = {
2
+ large: "600",
3
+ medium: "500",
4
+ small: "400",
5
+ xlarge: "800",
6
+ xsmall: "300"
7
+ };
8
+ const VARIANTS = ["primary", "danger", "warning", "original"];
9
+ export {
10
+ SIZES,
11
+ VARIANTS
12
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fileScope = require("@vanilla-extract/css/fileScope");
4
+ const themes = require("@ultraviolet/themes");
5
+ const constants = require("./constants.cjs");
6
+ const css = require("@vanilla-extract/css");
7
+ fileScope.setFileScope("src/components/ProductIcon/styles.css.ts", "@ultraviolet/icons");
8
+ const PROMINENCES = ["Weak", "Strong", ""];
9
+ function generateSizeStyle(size) {
10
+ return {
11
+ height: themes.theme.sizing[constants.SIZES[size]],
12
+ width: themes.theme.sizing[constants.SIZES[size]],
13
+ minWidth: themes.theme.sizing[constants.SIZES[size]]
14
+ };
15
+ }
16
+ function generateVariantStyle(variant, disabled, prominence) {
17
+ const fillColor = `fill${prominence}${disabled ? "Disabled" : ""}`;
18
+ return {
19
+ fill: themes.theme.colors.other.icon.product[variant][fillColor]
20
+ };
21
+ }
22
+ const productIconSizes = css.styleVariants(Object.fromEntries(Object.keys(constants.SIZES).map((size) => [size, generateSizeStyle(size)])));
23
+ const productIconVariants = css.styleVariants({
24
+ ...Object.fromEntries(constants.VARIANTS.map((variant) => [variant, {}])),
25
+ ...Object.fromEntries(constants.VARIANTS.map((variant) => [`${variant}Disabled`, []]))
26
+ });
27
+ PROMINENCES.forEach((prominence) => {
28
+ constants.VARIANTS.forEach((variant) => {
29
+ const variantClass = productIconVariants[variant];
30
+ const variantClassDisabled = productIconVariants[`${variant}Disabled`];
31
+ const selectorDefault = (disabled) => `${disabled ? variantClassDisabled : variantClass} .fill${prominence}`;
32
+ const selectorGfill = (disabled) => `${disabled ? variantClassDisabled : variantClass} g.fill${prominence} > *`;
33
+ const selectorPathField = (disabled) => `${disabled ? variantClassDisabled : variantClass} path[fill].fill${prominence}`;
34
+ css.globalStyle(selectorDefault(true), generateVariantStyle(variant, true, prominence));
35
+ css.globalStyle(selectorGfill(true), generateVariantStyle(variant, true, prominence));
36
+ css.globalStyle(selectorPathField(true), generateVariantStyle(variant, true, prominence));
37
+ css.globalStyle(selectorDefault(), generateVariantStyle(variant, false, prominence));
38
+ css.globalStyle(selectorGfill(), generateVariantStyle(variant, false, prominence));
39
+ css.globalStyle(selectorPathField(), generateVariantStyle(variant, false, prominence));
40
+ });
41
+ });
42
+ fileScope.endFileScope();
43
+ exports.productIconSizes = productIconSizes;
44
+ exports.productIconVariants = productIconVariants;
@@ -0,0 +1,2 @@
1
+ export declare const productIconSizes: Record<string | number, string>;
2
+ export declare const productIconVariants: Record<string | number, string>;
@@ -0,0 +1,44 @@
1
+ import { setFileScope, endFileScope } from "@vanilla-extract/css/fileScope";
2
+ import { theme } from "@ultraviolet/themes";
3
+ import { SIZES, VARIANTS } from "./constants.js";
4
+ import { styleVariants, globalStyle } from "@vanilla-extract/css";
5
+ setFileScope("src/components/ProductIcon/styles.css.ts", "@ultraviolet/icons");
6
+ const PROMINENCES = ["Weak", "Strong", ""];
7
+ function generateSizeStyle(size) {
8
+ return {
9
+ height: theme.sizing[SIZES[size]],
10
+ width: theme.sizing[SIZES[size]],
11
+ minWidth: theme.sizing[SIZES[size]]
12
+ };
13
+ }
14
+ function generateVariantStyle(variant, disabled, prominence) {
15
+ const fillColor = `fill${prominence}${disabled ? "Disabled" : ""}`;
16
+ return {
17
+ fill: theme.colors.other.icon.product[variant][fillColor]
18
+ };
19
+ }
20
+ const productIconSizes = styleVariants(Object.fromEntries(Object.keys(SIZES).map((size) => [size, generateSizeStyle(size)])));
21
+ const productIconVariants = styleVariants({
22
+ ...Object.fromEntries(VARIANTS.map((variant) => [variant, {}])),
23
+ ...Object.fromEntries(VARIANTS.map((variant) => [`${variant}Disabled`, []]))
24
+ });
25
+ PROMINENCES.forEach((prominence) => {
26
+ VARIANTS.forEach((variant) => {
27
+ const variantClass = productIconVariants[variant];
28
+ const variantClassDisabled = productIconVariants[`${variant}Disabled`];
29
+ const selectorDefault = (disabled) => `${disabled ? variantClassDisabled : variantClass} .fill${prominence}`;
30
+ const selectorGfill = (disabled) => `${disabled ? variantClassDisabled : variantClass} g.fill${prominence} > *`;
31
+ const selectorPathField = (disabled) => `${disabled ? variantClassDisabled : variantClass} path[fill].fill${prominence}`;
32
+ globalStyle(selectorDefault(true), generateVariantStyle(variant, true, prominence));
33
+ globalStyle(selectorGfill(true), generateVariantStyle(variant, true, prominence));
34
+ globalStyle(selectorPathField(true), generateVariantStyle(variant, true, prominence));
35
+ globalStyle(selectorDefault(), generateVariantStyle(variant, false, prominence));
36
+ globalStyle(selectorGfill(), generateVariantStyle(variant, false, prominence));
37
+ globalStyle(selectorPathField(), generateVariantStyle(variant, false, prominence));
38
+ });
39
+ });
40
+ endFileScope();
41
+ export {
42
+ productIconSizes,
43
+ productIconVariants
44
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ultraviolet/icons",
3
- "version": "4.0.4",
3
+ "version": "4.1.0-beta.3",
4
4
  "description": "Ultraviolet Icons",
5
5
  "homepage": "https://github.com/scaleway/ultraviolet#readme",
6
6
  "repository": {
@@ -110,7 +110,10 @@
110
110
  "@utils/test": "0.0.1"
111
111
  },
112
112
  "dependencies": {
113
- "@ultraviolet/themes": "2.0.0"
113
+ "@vanilla-extract/css": "1.17.4",
114
+ "@vanilla-extract/dynamic": "2.1.5",
115
+ "@vanilla-extract/recipes": "0.5.7",
116
+ "@ultraviolet/themes": "2.1.0-beta.1"
114
117
  },
115
118
  "scripts": {
116
119
  "type:generate": "tsc --declaration -p tsconfig.build.json",