@voxel51/voodo 0.0.39 → 0.0.40

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 (61) hide show
  1. package/NOTICE +37 -0
  2. package/README.md +24 -0
  3. package/dist/components/ActivityToast/ActivityToast.d.ts +5 -4
  4. package/dist/components/ActivityToast/ActivityToast.d.ts.map +1 -1
  5. package/dist/components/Button/Button.d.ts +6 -5
  6. package/dist/components/Button/Button.d.ts.map +1 -1
  7. package/dist/components/Card/RichCard.d.ts +4 -4
  8. package/dist/components/Card/RichCard.d.ts.map +1 -1
  9. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  10. package/dist/components/Clickable/Clickable.d.ts +1 -1
  11. package/dist/components/Datepicker/DatepickerIconButton.d.ts +3 -3
  12. package/dist/components/Datepicker/DatepickerIconButton.d.ts.map +1 -1
  13. package/dist/components/Datepicker/DatepickerInput.d.ts.map +1 -1
  14. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  15. package/dist/components/Dropdown/DropdownTrigger.d.ts.map +1 -1
  16. package/dist/components/EmptyState/EmptyState.d.ts +2 -2
  17. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  18. package/dist/components/Icons/DragHandle.d.ts +1 -1
  19. package/dist/components/Icons/DragHandle.d.ts.map +1 -1
  20. package/dist/components/Icons/IconBase.d.ts +30 -0
  21. package/dist/components/Icons/IconBase.d.ts.map +1 -0
  22. package/dist/components/Icons/IconWrapper.d.ts +5 -5
  23. package/dist/components/Icons/IconWrapper.d.ts.map +1 -1
  24. package/dist/components/Icons/icons.d.ts +312 -0
  25. package/dist/components/Icons/icons.d.ts.map +1 -0
  26. package/dist/components/Icons/index.d.ts +2 -1
  27. package/dist/components/Icons/index.d.ts.map +1 -1
  28. package/dist/components/Input/Input.d.ts +4 -4
  29. package/dist/components/Input/Input.d.ts.map +1 -1
  30. package/dist/components/Input/InputIcon.d.ts +4 -3
  31. package/dist/components/Input/InputIcon.d.ts.map +1 -1
  32. package/dist/components/ListItem/ListItem.d.ts +1 -1
  33. package/dist/components/Menu/MenuCheckItem.d.ts.map +1 -1
  34. package/dist/components/Menu/MenuIconTextItem.d.ts +3 -4
  35. package/dist/components/Menu/MenuIconTextItem.d.ts.map +1 -1
  36. package/dist/components/Menu/MenuSectionTitle.d.ts +1 -1
  37. package/dist/components/Pill/Pill.d.ts +3 -2
  38. package/dist/components/Pill/Pill.d.ts.map +1 -1
  39. package/dist/components/RichButton/RichButton.d.ts +3 -3
  40. package/dist/components/RichButton/RichButton.d.ts.map +1 -1
  41. package/dist/components/RichList/RichList.d.ts +3 -3
  42. package/dist/components/Select/Option.d.ts.map +1 -1
  43. package/dist/components/Select/Select.d.ts.map +1 -1
  44. package/dist/components/Spinner/Spinner.d.ts +0 -2
  45. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  46. package/dist/components/Toast/Toast.d.ts +5 -4
  47. package/dist/components/Toast/Toast.d.ts.map +1 -1
  48. package/dist/components/Tree/TreeItem.d.ts.map +1 -1
  49. package/dist/components/Tree/TreeSearchInput.d.ts.map +1 -1
  50. package/dist/components/Tree/TreeSelectTrigger.d.ts.map +1 -1
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.js +3170 -2988
  54. package/dist/index.js.map +1 -1
  55. package/dist/types/index.d.ts +0 -1
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/package.json +5 -2
  58. package/dist/components/Icons/Icon.d.ts +0 -37
  59. package/dist/components/Icons/Icon.d.ts.map +0 -1
  60. package/dist/types/icons.d.ts +0 -108
  61. package/dist/types/icons.d.ts.map +0 -1
package/NOTICE ADDED
@@ -0,0 +1,37 @@
1
+ VOODO: Voxel's Official Design Ontology
2
+ Copyright 2024-2026 Voxel51, Inc.
3
+
4
+ Licensed under the Apache License, Version 2.0 (see LICENSE).
5
+
6
+ This product includes third-party materials:
7
+
8
+ Google Material Icons
9
+ A portion of the icon artwork in src/img is derived from Google
10
+ Material Icons, Copyright Google LLC, licensed under the Apache
11
+ License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0).
12
+ The artwork was extracted from the @mui/icons-material package and
13
+ modified for use in this library.
14
+
15
+ MUI (@mui/icons-material)
16
+ Icon artwork was extracted via the @mui/icons-material package,
17
+ Copyright (c) 2014 Call-Em-All, licensed under the MIT License:
18
+
19
+ Permission is hereby granted, free of charge, to any person obtaining
20
+ a copy of this software and associated documentation files (the
21
+ "Software"), to deal in the Software without restriction, including
22
+ without limitation the rights to use, copy, modify, merge, publish,
23
+ distribute, sublicense, and/or sell copies of the Software, and to
24
+ permit persons to whom the Software is furnished to do so, subject to
25
+ the following conditions:
26
+
27
+ The above copyright notice and this permission notice shall be
28
+ included in all copies or substantial portions of the Software.
29
+
30
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
32
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
34
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
35
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
36
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37
+ SOFTWARE.
package/README.md CHANGED
@@ -45,6 +45,21 @@ export const Component = () => {
45
45
  Note that you'll need to import this library's theme somewhere in your application for the components
46
46
  to be styled correctly. See [CSS Themes](#css-themes).
47
47
 
48
+ ### Using icons
49
+
50
+ Every icon is exported as its own component so that bundlers only include the
51
+ icons you actually import (there is intentionally no icon-name enum or runtime
52
+ icon map — that would defeat tree-shaking):
53
+
54
+ ```typescript jsx
55
+ import { CheckIcon, Size } from "@voxel51/voodo";
56
+
57
+ export const Component = () => <CheckIcon size={Size.Md} />;
58
+ ```
59
+
60
+ To add a new icon, drop the SVG in `src/img` (PascalCase filename) and run
61
+ `npm run generate-icons`.
62
+
48
63
  ### Theming
49
64
 
50
65
  #### CSS Themes
@@ -77,3 +92,12 @@ This library is published to NPM via GitHub Actions workflows.
77
92
 
78
93
  This library is currently in a pre-release state, with versions matching `0.x.y`.
79
94
  Standard semantic versioning will be enforced starting with version `1.0.0`.
95
+
96
+ ## License
97
+
98
+ Copyright 2024-2026 Voxel51, Inc. Licensed under the [Apache License, Version 2.0](LICENSE).
99
+
100
+ A portion of the icon artwork is derived from
101
+ [Google Material Icons](https://fonts.google.com/icons) (Apache License 2.0),
102
+ extracted via [`@mui/icons-material`](https://mui.com/material-ui/material-icons/)
103
+ (MIT License). See [NOTICE](NOTICE) for attribution details.
@@ -1,8 +1,9 @@
1
1
  import { FC, HTMLAttributes } from 'react';
2
- import { Anchor, IconName, Variant } from '../../types';
2
+ import { IconProps } from '../Icons';
3
+ import { Anchor, Variant } from '../../types';
3
4
  export interface ActivityToastProps extends HTMLAttributes<HTMLDivElement> {
4
5
  anchor?: Anchor;
5
- icon?: FC | IconName;
6
+ icon?: FC<IconProps>;
6
7
  message?: string;
7
8
  open?: boolean;
8
9
  variant?: Variant;
@@ -18,7 +19,7 @@ export interface ActivityToastProps extends HTMLAttributes<HTMLDivElement> {
18
19
  * ```tsx
19
20
  * <ActivityToast
20
21
  * open={true}
21
- * icon={() => <Icon name={IconName.Check}/>}
22
+ * icon={CheckIcon}
22
23
  * message={"Operation successful"}
23
24
  * variant={Variant.Success}
24
25
  * />
@@ -27,7 +28,7 @@ export interface ActivityToastProps extends HTMLAttributes<HTMLDivElement> {
27
28
  * @param anchor Position within the viewport to anchor the notification.
28
29
  * Options include all cardinal directions as well as all four corners.
29
30
  * @param className `class` overrides to apply to the component.
30
- * @param icon Reference (`FC`) to an icon or an {@link IconName} to render which prefixes the toast message. See {@link Icon}.
31
+ * @param icon Icon component which prefixes the toast message.
31
32
  * @param message Message to include in the toast.
32
33
  * @param open Boolean controlling whether the toast is visible.
33
34
  * @param variant The toast variant; this controls the general styling of the toast. See {@link Variant}.
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityToast.d.ts","sourceRoot":"","sources":["../../../src/components/ActivityToast/ActivityToast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOhD,OAAO,EACL,MAAM,EAKN,QAAQ,EAGR,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAgChD,CAAC"}
1
+ {"version":3,"file":"ActivityToast.d.ts","sourceRoot":"","sources":["../../../src/components/ActivityToast/ActivityToast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,oBAAoB,CAAC;AAKjE,OAAO,EACL,MAAM,EAON,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAgChD,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { ButtonHTMLAttributes, FC } from 'react';
2
- import { IconName, Size, Variant } from '../../types';
2
+ import { IconProps } from '../Icons';
3
+ import { Size, Variant } from '../../types';
3
4
  type ButtonSize = Exclude<Size, Size.Lg | Size.Xl>;
4
5
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
6
  variant?: Variant;
6
7
  size?: ButtonSize;
7
- leadingIcon?: FC | IconName;
8
- trailingIcon?: FC | IconName;
8
+ leadingIcon?: FC<IconProps>;
9
+ trailingIcon?: FC<IconProps>;
9
10
  borderless?: boolean;
10
11
  }
11
12
  /**
@@ -22,8 +23,8 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
22
23
  * @param size The size of the button; this controls both the text size and the button size. See {@link Size}.
23
24
  * @param borderless Boolean controlling whether the button should be "borderless," removing any borders and
24
25
  * rounding the corners.
25
- * @param leadingIcon Optional reference ({@link FC}) to an icon or an {@link IconName} which prefixes the button's content. See {@link Icon}.
26
- * @param trailingIcon Optional reference ({@link FC}) to an icon or an {@link IconName} which postfixes the button's content. See {@link Icon}.
26
+ * @param leadingIcon Optional icon component which prefixes the button's content.
27
+ * @param trailingIcon Optional icon component which postfixes the button's content.
27
28
  * @param className `class` overrides to apply to the component.
28
29
  * @param children Button content.
29
30
  * @param props Additional HTML properties to apply to the component.
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAOL,QAAQ,EAER,IAAI,EAGJ,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,KAAK,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC;IAC5B,YAAY,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAiDlC,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAQL,IAAI,EAGJ,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,KAAK,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAiDlC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { FC, default as React } from 'react';
2
2
  import { CardProps } from '.';
3
- import { IconName } from '../../types';
3
+ import { IconProps } from '../Icons';
4
4
  export interface RichCardProps extends CardProps {
5
5
  badge?: string;
6
6
  compact?: boolean;
7
7
  description?: string | string[];
8
- icon?: IconName;
8
+ icon?: FC<IconProps>;
9
9
  title?: string;
10
10
  action?: React.ReactNode;
11
11
  }
@@ -16,7 +16,7 @@ export interface RichCardProps extends CardProps {
16
16
  * @example
17
17
  * ```tsx
18
18
  * <RichCard
19
- * icon={IconName.Star}
19
+ * icon={StarIcon}
20
20
  * title="Getting Started"
21
21
  * description="Follow these steps to set up your workspace."
22
22
  * badge="New"
@@ -26,7 +26,7 @@ export interface RichCardProps extends CardProps {
26
26
  * @param badge A small badge for supplementary info such as status or count.
27
27
  * @param compact When true, uses a horizontal layout with tighter spacing.
28
28
  * @param description Body text. Pass an array of strings to render a bulleted list.
29
- * @param icon The icon to display beside the title. See {@link IconName}.
29
+ * @param icon The icon component to display beside the title.
30
30
  * @param title The card heading.
31
31
  * @param action A React node (e.g. a button) rendered in the action slot.
32
32
  * @param children Content displayed inside the card, below the description.
@@ -1 +1 @@
1
- {"version":3,"file":"RichCard.d.ts","sourceRoot":"","sources":["../../../src/components/Card/RichCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAwB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIpE,OAAO,EAGL,QAAQ,EAST,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAkEtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAcvD,CAAC"}
1
+ {"version":3,"file":"RichCard.d.ts","sourceRoot":"","sources":["../../../src/components/Card/RichCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAwB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAiBpD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAkEtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAcvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAMrD,OAAO,EAQL,MAAM,EACN,IAAI,EAGL,MAAM,SAAS,CAAC;AAGjB,KAAK,qBAAqB,GAAG,IAAI,CAC/B,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAC3D,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,qBAAqB;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA0EtC,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAMrD,OAAO,EAOL,MAAM,EACN,IAAI,EAGL,MAAM,SAAS,CAAC;AAGjB,KAAK,qBAAqB,GAAG,IAAI,CAC/B,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAC3D,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,qBAAqB;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAwEtC,CAAC"}
@@ -7,7 +7,7 @@ import { FC, HTMLAttributes } from 'react';
7
7
  * @example
8
8
  * ```tsx
9
9
  * <Clickable onClick={() => deleteEntry()}}>
10
- * <Icon name={IconName.Delete} />
10
+ * <DeleteIcon />
11
11
  * </Clickable>
12
12
  * ```
13
13
  *
@@ -1,6 +1,6 @@
1
1
  import { FC } from 'react';
2
+ import { IconProps } from '../Icons';
2
3
  import { Size } from '../../types';
3
- import { IconName } from '../../types/icons';
4
4
  export declare enum IconPosition {
5
5
  Leading = "leading",
6
6
  Trailing = "trailing"
@@ -11,7 +11,7 @@ export interface DatepickerIconButtonProps {
11
11
  hasValue?: boolean;
12
12
  size?: Size;
13
13
  ariaLabel?: string;
14
- iconName: IconName;
14
+ icon: FC<IconProps>;
15
15
  position?: IconPosition;
16
16
  }
17
17
  /**
@@ -21,7 +21,7 @@ export interface DatepickerIconButtonProps {
21
21
  * @param disabled If `true`, disables interaction with the icon.
22
22
  * @param size Size of the icon. See {@link Size}.
23
23
  * @param ariaLabel Optional aria label for the icon; only used for accessibility.
24
- * @param iconName Name of the icon. See {@link IconName}.
24
+ * @param icon The icon component to render.
25
25
  * @param position The position of the icon. See {@link IconPosition}.
26
26
  *
27
27
  * @internal For use by {@link DatepickerInput}.
@@ -1 +1 @@
1
- {"version":3,"file":"DatepickerIconButton.d.ts","sourceRoot":"","sources":["../../../src/components/Datepicker/DatepickerIconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAa,IAAI,EAAkB,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKzC,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAiC9D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DatepickerIconButton.d.ts","sourceRoot":"","sources":["../../../src/components/Datepicker/DatepickerIconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAa,IAAI,EAAkB,MAAM,SAAS,CAAC;AAK1D,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAgC9D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatepickerInput.d.ts","sourceRoot":"","sources":["../../../src/components/Datepicker/DatepickerInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAuB,MAAM,OAAO,CAAC;AAGrD,OAAO,EAML,MAAM,EACN,IAAI,EAGL,MAAM,SAAS,CAAC;AA6CjB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAyDpD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DatepickerInput.d.ts","sourceRoot":"","sources":["../../../src/components/Datepicker/DatepickerInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAuB,MAAM,OAAO,CAAC;AAIrD,OAAO,EAML,MAAM,EACN,IAAI,EAGL,MAAM,SAAS,CAAC;AA4CjB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAyDpD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -63,13 +63,13 @@ export interface DropdownProps extends HTMLAttributes<HTMLDivElement> {
63
63
  * <Dropdown trigger={<DropdownTrigger>Actions</DropdownTrigger>}>
64
64
  * <MenuSectionTitle>Actions</MenuSectionTitle>
65
65
  * <MenuIconTextItem
66
- * icon={IconName.ImageSearch}
66
+ * icon={<ImageSearchIcon />}
67
67
  * text="Sort by similarity"
68
68
  * subtext="Find visually similar"
69
69
  * onClick={() => {}}
70
70
  * />
71
71
  * <MenuIconTextItem
72
- * icon={IconName.Embeddings}
72
+ * icon={<EmbeddingsIcon />}
73
73
  * text="Run embeddings"
74
74
  * subtext="Compute vector embeddings"
75
75
  * onClick={() => {}}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/DropdownTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG/D;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,WAAW,EACX,SAAS,GAAG,cAAc,CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAapD,CAAC"}
1
+ {"version":3,"file":"DropdownTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/DropdownTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAI/D;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,WAAW,EACX,SAAS,GAAG,cAAc,CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAapD,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
+ import { IconProps } from '../Icons';
2
3
  import { StackProps } from '../Stack';
3
- import { IconName } from '../../types';
4
4
  export interface EmptyStateProps extends StackProps {
5
- icon: IconName;
5
+ icon?: FC<IconProps>;
6
6
  title: string;
7
7
  description?: string;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAS,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAKL,QAAQ,EAMT,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkC1C,CAAC"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAS,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgBvD,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkC1C,CAAC"}
@@ -8,5 +8,5 @@ import { IconProps } from './types';
8
8
  *
9
9
  * @internal For use by the {@link ListItem} component.
10
10
  */
11
- export declare const DragHandleIcon: FC<IconProps>;
11
+ export declare const DragHandleGripIcon: FC<IconProps>;
12
12
  //# sourceMappingURL=DragHandle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragHandle.d.ts","sourceRoot":"","sources":["../../../src/components/Icons/DragHandle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,SAAS,CAiBxC,CAAC"}
1
+ {"version":3,"file":"DragHandle.d.ts","sourceRoot":"","sources":["../../../src/components/Icons/DragHandle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,SAAS,CAiB5C,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { CSSProperties, FC, SVGProps } from 'react';
2
+ import { BrandColor, IconColor, TextColor } from '../../types';
3
+ import { Size } from '../../types/size';
4
+ type SvgComponent = FC<SVGProps<SVGSVGElement>>;
5
+ export interface IconProps {
6
+ size?: Size;
7
+ className?: string;
8
+ color?: TextColor | IconColor | BrandColor;
9
+ style?: CSSProperties;
10
+ }
11
+ interface IconBaseProps extends IconProps {
12
+ svg: SvgComponent;
13
+ }
14
+ /**
15
+ * Shared rendering wrapper for the generated icon components in `icons.tsx`.
16
+ *
17
+ * We are making a strong opinion here that we should treat the SVG
18
+ * as a square - the viewbox on the SVG will still handle the aspect
19
+ * ratio but it's possible that VERY rectangular SVGs will not behave
20
+ * as expected.
21
+ *
22
+ * @param svg The SVG component to render.
23
+ * @param size The size of the icon. If unspecified, fills the parent container. See {@link Size}.
24
+ * @param className `class` overrides to apply to the component.
25
+ * @param color Color of the icon. By default, the icon inherits the text color of its container.
26
+ * @param style `style` overrides to apply to the icon.
27
+ */
28
+ export declare const IconBase: FC<IconBaseProps>;
29
+ export {};
30
+ //# sourceMappingURL=IconBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBase.d.ts","sourceRoot":"","sources":["../../../src/components/Icons/IconBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,KAAK,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAWhD,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,UAAU,aAAc,SAAQ,SAAS;IACvC,GAAG,EAAE,YAAY,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAiBtC,CAAC"}
@@ -1,18 +1,18 @@
1
1
  import { FC } from 'react';
2
- import { IconName } from '../../types/icons';
3
2
  import { Size } from '../../types/size';
3
+ import { IconProps } from './IconBase';
4
4
  export interface IconWrapperProps {
5
- content?: FC | IconName;
5
+ content?: FC<IconProps>;
6
6
  size?: Size;
7
7
  className?: string;
8
8
  }
9
9
  /**
10
- * Helper component which resolves {@link FC} | {@link IconName} | ``undefined`` to a rendered icon.
10
+ * Helper component which resolves an icon {@link FC} | ``undefined`` to a rendered icon.
11
11
  *
12
12
  * Wraps content in a span; use `className` to constrain icon bounds or apply color styling.
13
13
  *
14
- * @param content Icon {@link FC}, icon name, or undefined
15
- * @param size Size forwarded to {@link Icon} when resolving by name
14
+ * @param content Icon {@link FC} or undefined
15
+ * @param size Size forwarded to the icon component
16
16
  * @param className Classes applied to the wrapping span
17
17
  */
18
18
  export declare const IconWrapper: FC<IconWrapperProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"IconWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/Icons/IconWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAiB5C,CAAC"}
1
+ {"version":3,"file":"IconWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/Icons/IconWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAY5C,CAAC"}