entangle-ui 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/esm/context/KeyboardContext.js +35 -11
  3. package/dist/esm/context/KeyboardContext.js.map +1 -1
  4. package/dist/esm/hooks/useTheme/useTheme.js +1 -0
  5. package/dist/esm/hooks/useTheme/useTheme.js.map +1 -1
  6. package/dist/esm/index.js +65 -2
  7. package/dist/esm/index.js.map +1 -1
  8. package/dist/esm/theme/ThemeProvider.js +3 -2
  9. package/dist/esm/theme/ThemeProvider.js.map +1 -1
  10. package/dist/tokens/tokens.dark.css +1 -1
  11. package/dist/tokens/tokens.json +1 -1
  12. package/dist/tokens/tokens.light.css +1 -1
  13. package/dist/types/components/Icons/AddIcon.d.ts +33 -0
  14. package/dist/types/components/Icons/AiChatIcon.d.ts +34 -0
  15. package/dist/types/components/Icons/AiSparklesIcon.d.ts +34 -0
  16. package/dist/types/components/Icons/ArrowDownIcon.d.ts +33 -0
  17. package/dist/types/components/Icons/ArrowLeftIcon.d.ts +33 -0
  18. package/dist/types/components/Icons/ArrowRightIcon.d.ts +33 -0
  19. package/dist/types/components/Icons/ArrowUpIcon.d.ts +33 -0
  20. package/dist/types/components/Icons/BookmarkIcon.d.ts +33 -0
  21. package/dist/types/components/Icons/CalendarIcon.d.ts +33 -0
  22. package/dist/types/components/Icons/CheckIcon.d.ts +33 -0
  23. package/dist/types/components/Icons/ChevronDownIcon.d.ts +33 -0
  24. package/dist/types/components/Icons/ChevronUpIcon.d.ts +33 -0
  25. package/dist/types/components/Icons/CircleIcon.d.ts +33 -0
  26. package/dist/types/components/Icons/ClockIcon.d.ts +33 -0
  27. package/dist/types/components/Icons/CloseIcon.d.ts +33 -0
  28. package/dist/types/components/Icons/CodeIcon.d.ts +33 -0
  29. package/dist/types/components/Icons/CopyIcon.d.ts +33 -0
  30. package/dist/types/components/Icons/CutIcon.d.ts +33 -0
  31. package/dist/types/components/Icons/DownloadIcon.d.ts +33 -0
  32. package/dist/types/components/Icons/EditIcon.d.ts +33 -0
  33. package/dist/types/components/Icons/ErrorIcon.d.ts +33 -0
  34. package/dist/types/components/Icons/EyeDropperIcon.d.ts +34 -0
  35. package/dist/types/components/Icons/EyeIcon.d.ts +33 -0
  36. package/dist/types/components/Icons/FilterIcon.d.ts +33 -0
  37. package/dist/types/components/Icons/FolderIcon.d.ts +33 -0
  38. package/dist/types/components/Icons/FullscreenIcon.d.ts +33 -0
  39. package/dist/types/components/Icons/GridIcon.d.ts +33 -0
  40. package/dist/types/components/Icons/HeartIcon.d.ts +33 -0
  41. package/dist/types/components/Icons/HelpIcon.d.ts +33 -0
  42. package/dist/types/components/Icons/HomeIcon.d.ts +33 -0
  43. package/dist/types/components/Icons/InfoIcon.d.ts +33 -0
  44. package/dist/types/components/Icons/LinkIcon.d.ts +33 -0
  45. package/dist/types/components/Icons/ListIcon.d.ts +33 -0
  46. package/dist/types/components/Icons/LockIcon.d.ts +33 -0
  47. package/dist/types/components/Icons/MaximizeIcon.d.ts +33 -0
  48. package/dist/types/components/Icons/MenuIcon.d.ts +33 -0
  49. package/dist/types/components/Icons/MinimizeIcon.d.ts +33 -0
  50. package/dist/types/components/Icons/PasteIcon.d.ts +33 -0
  51. package/dist/types/components/Icons/PlayIcon.d.ts +33 -0
  52. package/dist/types/components/Icons/RedoIcon.d.ts +33 -0
  53. package/dist/types/components/Icons/RefreshIcon.d.ts +33 -0
  54. package/dist/types/components/Icons/RobotIcon.d.ts +33 -0
  55. package/dist/types/components/Icons/SaveIcon.d.ts +33 -0
  56. package/dist/types/components/Icons/SearchIcon.d.ts +33 -0
  57. package/dist/types/components/Icons/SettingsIcon.d.ts +33 -0
  58. package/dist/types/components/Icons/SortIcon.d.ts +33 -0
  59. package/dist/types/components/Icons/StarIcon.d.ts +33 -0
  60. package/dist/types/components/Icons/SuccessIcon.d.ts +33 -0
  61. package/dist/types/components/Icons/TagIcon.d.ts +33 -0
  62. package/dist/types/components/Icons/TangentAlignedIcon.d.ts +15 -0
  63. package/dist/types/components/Icons/TangentAutoIcon.d.ts +15 -0
  64. package/dist/types/components/Icons/TangentFreeIcon.d.ts +15 -0
  65. package/dist/types/components/Icons/TangentLinearIcon.d.ts +15 -0
  66. package/dist/types/components/Icons/TangentMirroredIcon.d.ts +15 -0
  67. package/dist/types/components/Icons/TangentStepIcon.d.ts +15 -0
  68. package/dist/types/components/Icons/TrashIcon.d.ts +33 -0
  69. package/dist/types/components/Icons/UndoIcon.d.ts +33 -0
  70. package/dist/types/components/Icons/UnlockIcon.d.ts +33 -0
  71. package/dist/types/components/Icons/UploadIcon.d.ts +33 -0
  72. package/dist/types/components/Icons/UserIcon.d.ts +33 -0
  73. package/dist/types/components/Icons/WarningIcon.d.ts +33 -0
  74. package/dist/types/components/Icons/ZoomInIcon.d.ts +33 -0
  75. package/dist/types/components/Icons/ZoomOutIcon.d.ts +33 -0
  76. package/dist/types/components/primitives/Button/Button.d.ts +1 -1
  77. package/dist/types/components/primitives/IconButton/IconButton.d.ts +1 -1
  78. package/dist/types/context/KeyboardContext.d.ts +20 -0
  79. package/dist/types/index.d.ts +64 -0
  80. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # entangle-ui
2
2
 
3
+ ## 0.8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#66](https://github.com/SebastianWebdev/entangle-ui/pull/66) [`ca1fc51`](https://github.com/SebastianWebdev/entangle-ui/commit/ca1fc51fa0db1aac0a090f940886bab8aba02962) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fix runtime crash in `Slider`, `NumberInput`, and `VectorInput` when used without a manual `KeyboardContextProvider` wrapper, and expose the icon set and provider from the package barrel.
8
+ - `useKeyboardContext` now returns a neutral keyboard state (no pressed keys, all modifiers `false`) when no provider is mounted, instead of throwing. This unblocks every minimal setup that renders a `Slider` / `NumberInput` directly under `ThemeProvider`.
9
+ - `ThemeProvider` now auto-mounts `KeyboardContextProvider` so apps get full Shift/Ctrl modifier awareness in `Slider` / `NumberInput` for free.
10
+ - `KeyboardContextProvider`, `useKeyboardContext`, `useEffectsOnKeyboard`, and the `KeyboardContextProviderProps` type are now exported from the package entry for explicit use in apps that don't render a `ThemeProvider`.
11
+ - The 63 built-in icon components (`SaveIcon`, `PlayIcon`, `AddIcon`, …) are now re-exported from the package entry, matching the documentation.
12
+
3
13
  ## 0.8.0
4
14
 
5
15
  ### Minor Changes
@@ -1,16 +1,40 @@
1
1
  "use client";
2
- import 'react/jsx-runtime';
3
- import { useContext, createContext } from 'react';
4
- import '../utils/devWarn.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { memo, useCallback, useEffect, useContext, createContext } from 'react';
4
+ import { useKeyboard } from '../hooks/useKeyboard/useKeyboard.js';
5
+ import { isKeyPressed } from '../hooks/useKeyboard/utils.js';
5
6
 
6
- const KeyboardContext = /*#__PURE__*/ createContext(null);
7
- const useKeyboardContext = () => {
8
- const context = useContext(KeyboardContext);
9
- if (!context) {
10
- throw new Error('useKeyboardContext must be used within a KeyboardContextProvider');
11
- }
12
- return context;
7
+ const NEUTRAL_KEYBOARD_STATE = {
8
+ pressedKeys: [],
9
+ modifiers: { control: false, shift: false, alt: false, meta: false },
13
10
  };
11
+ const KeyboardContext = /*#__PURE__*/ createContext(NEUTRAL_KEYBOARD_STATE);
12
+ const KeyboardContextProvider = /*#__PURE__*/ memo(({ children }) => {
13
+ const keyboardState = useKeyboard();
14
+ return (jsx(KeyboardContext.Provider, { value: keyboardState, children: children }));
15
+ });
16
+ const useKeyboardContext = () => useContext(KeyboardContext);
17
+ function useEffectsOnKeyboard(actions) {
18
+ const keyboard = useKeyboardContext();
19
+ const handleKeyDown = useCallback(() => {
20
+ actions.forEach(action => {
21
+ if (isKeyPressed(keyboard, action.key) && action.actions.keydown) {
22
+ action.actions.keydown();
23
+ }
24
+ });
25
+ }, [keyboard, actions]);
26
+ const handleKeyUp = useCallback(() => {
27
+ actions.forEach(action => {
28
+ if (isKeyPressed(keyboard, action.key) && action.actions.keyup) {
29
+ action.actions.keyup();
30
+ }
31
+ });
32
+ }, [keyboard, actions]);
33
+ useEffect(() => {
34
+ handleKeyDown();
35
+ handleKeyUp();
36
+ }, [handleKeyDown, handleKeyUp]);
37
+ }
14
38
 
15
- export { useKeyboardContext };
39
+ export { KeyboardContextProvider, useEffectsOnKeyboard, useKeyboardContext };
16
40
  //# sourceMappingURL=KeyboardContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardContext.js","sources":["../../../../src/context/KeyboardContext.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA;AAiBO;AACL;;AAEE;;AAIF;AACF;;"}
1
+ {"version":3,"file":"KeyboardContext.js","sources":["../../../../src/context/KeyboardContext.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAQA;AACE;AACA;;AAGF;AAQO;AAEH;AACA;AAKF;AAGK;AAYD;AACJ;AAEA;AACE;AACE;AACE;;AAEJ;AACF;AAEA;AACE;AACE;AACE;;AAEJ;AACF;;AAGE;AACA;AACF;AACF;;"}
@@ -7,6 +7,7 @@ import '../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js'
7
7
  import './../../assets/src/theme/darkTheme.css.ts.vanilla-ab1WD4dr.css';
8
8
  import 'react/jsx-runtime';
9
9
  import './../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
10
+ import '../../utils/devWarn.js';
10
11
 
11
12
  const VAR_REF_PATTERN = /^var\((--[^,)]+)/;
12
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.js","sources":["../../../../../src/hooks/useTheme/useTheme.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAUA;AAEA;;;;;;;;;;AAUG;AACH;;;AAGE;;;;AAMI;;;AAEA;;;;AAG0B;;AAE9B;AACF;AAEA;AACE;;AAEF;AAEA;;;;;AAKG;AACH;AACE;AACE;;AAEE;;AAEE;AACA;;;AAGJ;;;;;AAKE;AACA;AAGA;;AAEF;;AAEF;AACF;AAEA;;;AAGE;;;;AAMI;;;AAEA;;;AAGJ;AACF;AAEA;;;;;;;AAOG;AACH;;AACuC;;AAGnC;;AAEF;AACF;AAOA;AACE;AACA;;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CG;;;;;;;AAOC;AACA;;;;AAIA;;;AAIF;AACE;;;AAE0B;AAE1B;;AAEE;AACA;;AAGF;;AAEE;AACA;;AAGF;;AAEG;;AAEH;AACA;;AAGF;AAEA;;;;;;AASF;;"}
1
+ {"version":3,"file":"useTheme.js","sources":["../../../../../src/hooks/useTheme/useTheme.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAUA;AAEA;;;;;;;;;;AAUG;AACH;;;AAGE;;;;AAMI;;;AAEA;;;;AAG0B;;AAE9B;AACF;AAEA;AACE;;AAEF;AAEA;;;;;AAKG;AACH;AACE;AACE;;AAEE;;AAEE;AACA;;;AAGJ;;;;;AAKE;AACA;AAGA;;AAEF;;AAEF;AACF;AAEA;;;AAGE;;;;AAMI;;;AAEA;;;AAGJ;AACF;AAEA;;;;;;;AAOG;AACH;;AACuC;;AAGnC;;AAEF;AACF;AAOA;AACE;AACA;;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CG;;;;;;;AAOC;AACA;;;;AAIA;;;AAIF;AACE;;;AAE0B;AAE1B;;AAEE;AACA;;AAGF;;AAEE;AACA;;AAGF;;AAEG;;AAEH;AACA;;AAGF;AAEA;;;;;;AASF;;"}
package/dist/esm/index.js CHANGED
@@ -57,8 +57,7 @@ export { MATERIAL_PALETTE } from './components/controls/ColorPicker/palettes/mat
57
57
  export { TAILWIND_PALETTE } from './components/controls/ColorPicker/palettes/tailwind.js';
58
58
  export { EARTH_PALETTE, MONOCHROME_PALETTE, NEON_PALETTE, PASTEL_PALETTE, PROFESSIONAL_PALETTES, SKIN_TONES_PALETTE, VINTAGE_PALETTE } from './components/controls/ColorPicker/palettes/professional.js';
59
59
  export { NumberInput } from './components/controls/NumberInput/NumberInput.js';
60
- import 'react/jsx-runtime';
61
- export { useKeyboard } from './hooks/useKeyboard/useKeyboard.js';
60
+ export { KeyboardContextProvider, useEffectsOnKeyboard, useKeyboardContext } from './context/KeyboardContext.js';
62
61
  import './utils/mathExpression.js';
63
62
  import './utils/devWarn.js';
64
63
  export { Select } from './components/controls/Select/Select.js';
@@ -133,6 +132,70 @@ export { FloatingManager, FloatingPanel } from './components/shell/FloatingPanel
133
132
  export { MenuBar } from './components/shell/MenuBar/MenuBar.js';
134
133
  export { StatusBar } from './components/shell/StatusBar/StatusBar.js';
135
134
  export { Toolbar } from './components/shell/Toolbar/Toolbar.js';
135
+ export { AddIcon } from './components/Icons/AddIcon.js';
136
+ export { AiChatIcon } from './components/Icons/AiChatIcon.js';
137
+ export { AiSparklesIcon } from './components/Icons/AiSparklesIcon.js';
138
+ export { ArrowDownIcon } from './components/Icons/ArrowDownIcon.js';
139
+ export { ArrowLeftIcon } from './components/Icons/ArrowLeftIcon.js';
140
+ export { ArrowRightIcon } from './components/Icons/ArrowRightIcon.js';
141
+ export { ArrowUpIcon } from './components/Icons/ArrowUpIcon.js';
142
+ export { BookmarkIcon } from './components/Icons/BookmarkIcon.js';
143
+ export { CalendarIcon } from './components/Icons/CalendarIcon.js';
144
+ export { ChevronDownIcon } from './components/Icons/ChevronDownIcon.js';
145
+ export { ChevronUpIcon } from './components/Icons/ChevronUpIcon.js';
146
+ export { ClockIcon } from './components/Icons/ClockIcon.js';
147
+ export { CloseIcon } from './components/Icons/CloseIcon.js';
148
+ export { CodeIcon } from './components/Icons/CodeIcon.js';
149
+ export { CopyIcon } from './components/Icons/CopyIcon.js';
150
+ export { CutIcon } from './components/Icons/CutIcon.js';
151
+ export { DownloadIcon } from './components/Icons/DownloadIcon.js';
152
+ export { EditIcon } from './components/Icons/EditIcon.js';
153
+ export { ErrorIcon } from './components/Icons/ErrorIcon.js';
154
+ export { EyeDropperIcon } from './components/Icons/EyeDropperIcon.js';
155
+ export { EyeIcon } from './components/Icons/EyeIcon.js';
156
+ export { FilterIcon } from './components/Icons/FilterIcon.js';
157
+ export { FolderIcon } from './components/Icons/FolderIcon.js';
158
+ export { FullscreenIcon } from './components/Icons/FullscreenIcon.js';
159
+ export { GridIcon } from './components/Icons/GridIcon.js';
160
+ export { HeartIcon } from './components/Icons/HeartIcon.js';
161
+ export { HelpIcon } from './components/Icons/HelpIcon.js';
162
+ export { HomeIcon } from './components/Icons/HomeIcon.js';
163
+ export { InfoIcon } from './components/Icons/InfoIcon.js';
164
+ export { LinkIcon } from './components/Icons/LinkIcon.js';
165
+ export { ListIcon } from './components/Icons/ListIcon.js';
166
+ export { LockIcon } from './components/Icons/LockIcon.js';
167
+ export { MaximizeIcon } from './components/Icons/MaximizeIcon.js';
168
+ export { MenuIcon } from './components/Icons/MenuIcon.js';
169
+ export { MinimizeIcon } from './components/Icons/MinimizeIcon.js';
170
+ export { PasteIcon } from './components/Icons/PasteIcon.js';
171
+ export { PlayIcon } from './components/Icons/PlayIcon.js';
172
+ export { RedoIcon } from './components/Icons/RedoIcon.js';
173
+ export { RefreshIcon } from './components/Icons/RefreshIcon.js';
174
+ export { RobotIcon } from './components/Icons/RobotIcon.js';
175
+ export { SaveIcon } from './components/Icons/SaveIcon.js';
176
+ export { SearchIcon } from './components/Icons/SearchIcon.js';
177
+ export { SettingsIcon } from './components/Icons/SettingsIcon.js';
178
+ export { SortIcon } from './components/Icons/SortIcon.js';
179
+ export { StarIcon } from './components/Icons/StarIcon.js';
180
+ export { SuccessIcon } from './components/Icons/SuccessIcon.js';
181
+ export { TagIcon } from './components/Icons/TagIcon.js';
182
+ export { TrashIcon } from './components/Icons/TrashIcon.js';
183
+ export { UndoIcon } from './components/Icons/UndoIcon.js';
184
+ export { UnlockIcon } from './components/Icons/UnlockIcon.js';
185
+ export { UploadIcon } from './components/Icons/UploadIcon.js';
186
+ export { UserIcon } from './components/Icons/UserIcon.js';
187
+ export { WarningIcon } from './components/Icons/WarningIcon.js';
188
+ export { ZoomInIcon } from './components/Icons/ZoomInIcon.js';
189
+ export { ZoomOutIcon } from './components/Icons/ZoomOutIcon.js';
190
+ export { CheckIcon } from './components/Icons/CheckIcon.js';
191
+ export { CircleIcon } from './components/Icons/CircleIcon.js';
192
+ export { TangentFreeIcon } from './components/Icons/TangentFreeIcon.js';
193
+ export { TangentAlignedIcon } from './components/Icons/TangentAlignedIcon.js';
194
+ export { TangentMirroredIcon } from './components/Icons/TangentMirroredIcon.js';
195
+ export { TangentAutoIcon } from './components/Icons/TangentAutoIcon.js';
196
+ export { TangentLinearIcon } from './components/Icons/TangentLinearIcon.js';
197
+ export { TangentStepIcon } from './components/Icons/TangentStepIcon.js';
198
+ export { useKeyboard } from './hooks/useKeyboard/useKeyboard.js';
136
199
  export { useControlledState } from './hooks/useControlledState/useControlledState.js';
137
200
  export { useFocusTrap } from './hooks/useFocusTrap/useFocusTrap.js';
138
201
  export { useMergedRef } from './hooks/useMergedRef/useMergedRef.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,8 @@
1
1
  "use client";
2
- import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import { jsx } from 'react/jsx-runtime';
3
3
  import { useEffect } from 'react';
4
4
  import { GLOBAL_SCROLLBARS_CLASS } from './globalScrollbars.css.js';
5
+ import { KeyboardContextProvider } from '../context/KeyboardContext.js';
5
6
 
6
7
  /**
7
8
  * Theme provider for Entangle UI components.
@@ -25,7 +26,7 @@ const ThemeProvider = ({ children, globalScrollbars = false, }) => {
25
26
  body.classList.remove(GLOBAL_SCROLLBARS_CLASS);
26
27
  };
27
28
  }, [globalScrollbars]);
28
- return jsx(Fragment, { children: children });
29
+ return jsx(KeyboardContextProvider, { children: children });
29
30
  };
30
31
 
31
32
  export { ThemeProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sources":["../../../../src/theme/ThemeProvider.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAoBA;;;;;;;;;AASG;AACI;;AAKH;;;;AAGA;AACA;AACA;AACE;AACF;AACF;;AAGF;;"}
1
+ {"version":3,"file":"ThemeProvider.js","sources":["../../../../src/theme/ThemeProvider.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAqBA;;;;;;;;;AASG;AACI;;AAKH;;;;AAGA;AACA;AACA;AACE;AACF;AACF;AAEA;AACF;;"}
@@ -1,4 +1,4 @@
1
- /* Entangle UI dark theme — token export (v0.8.0) */
1
+ /* Entangle UI dark theme — token export (v0.8.1) */
2
2
  /* Generated by scripts/export-tokens.ts — do not edit by hand. */
3
3
  :root {
4
4
  --etui-color-accent-error: #f44336;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://design-tokens.org/schema.json",
3
3
  "$description": "Entangle UI design tokens",
4
- "$version": "0.8.0",
4
+ "$version": "0.8.1",
5
5
  "themes": {
6
6
  "dark": {
7
7
  "colors": {
@@ -1,4 +1,4 @@
1
- /* Entangle UI light theme — token export (v0.8.0) */
1
+ /* Entangle UI light theme — token export (v0.8.1) */
2
2
  /* Generated by scripts/export-tokens.ts — do not edit by hand. */
3
3
  .etui-theme-light {
4
4
  --etui-color-accent-error: #d32f2f;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Add icon component for create/add actions.
6
+ *
7
+ * A standard plus icon commonly used for adding new items,
8
+ * creating content, and expand functionality in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <AddIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <AddIcon size="lg" color="primary" />
17
+ *
18
+ * // In an add button
19
+ * <Button icon={<AddIcon />}>Add Item</Button>
20
+ * ```
21
+ */
22
+ declare const AddIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { AddIcon };
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * AI Chat icon component for AI assistant chat interfaces.
6
+ *
7
+ * A chat bubble with a sparkle accent, commonly used for
8
+ * AI chat panels, assistant toggles, and conversational
9
+ * AI features in editor interfaces.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // Basic usage
14
+ * <AiChatIcon />
15
+ *
16
+ * // With custom size and color
17
+ * <AiChatIcon size="lg" color="accent" />
18
+ *
19
+ * // In a toolbar toggle
20
+ * <Toolbar.Toggle icon={<AiChatIcon size="sm" />} tooltip="AI Chat" />
21
+ * ```
22
+ */
23
+ declare const AiChatIcon: React.NamedExoticComponent<Omit<{
24
+ children: React.ReactNode;
25
+ size?: IconSize | undefined;
26
+ color?: IconColor | undefined;
27
+ className?: string | undefined;
28
+ title?: string | undefined;
29
+ decorative?: boolean | undefined;
30
+ testId?: string | undefined;
31
+ ref?: React.Ref<SVGSVGElement> | undefined;
32
+ }, "children">>;
33
+
34
+ export { AiChatIcon };
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * AI sparkles icon component representing artificial intelligence.
6
+ *
7
+ * Three 4-pointed sparkle stars at different sizes,
8
+ * commonly used for AI features, generative tools,
9
+ * and smart suggestions in editor interfaces.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // Basic usage
14
+ * <AiSparklesIcon />
15
+ *
16
+ * // With custom size and color
17
+ * <AiSparklesIcon size="lg" color="primary" />
18
+ *
19
+ * // In an AI action button
20
+ * <Button icon={<AiSparklesIcon />}>Generate</Button>
21
+ * ```
22
+ */
23
+ declare const AiSparklesIcon: React.NamedExoticComponent<Omit<{
24
+ children: React.ReactNode;
25
+ size?: IconSize | undefined;
26
+ color?: IconColor | undefined;
27
+ className?: string | undefined;
28
+ title?: string | undefined;
29
+ decorative?: boolean | undefined;
30
+ testId?: string | undefined;
31
+ ref?: React.Ref<SVGSVGElement> | undefined;
32
+ }, "children">>;
33
+
34
+ export { AiSparklesIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Arrow Down icon component for downward navigation and expansion.
6
+ *
7
+ * A standard downward-pointing arrow commonly used for dropdown menus,
8
+ * expanding content, and downward navigation in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ArrowDownIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ArrowDownIcon size="lg" color="primary" />
17
+ *
18
+ * // In a dropdown button
19
+ * <Button icon={<ArrowDownIcon />}>Expand</Button>
20
+ * ```
21
+ */
22
+ declare const ArrowDownIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { ArrowDownIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Arrow Left icon component for leftward navigation and back actions.
6
+ *
7
+ * A standard leftward-pointing arrow commonly used for back buttons,
8
+ * previous navigation, and leftward movement in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ArrowLeftIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ArrowLeftIcon size="lg" color="primary" />
17
+ *
18
+ * // In a back button
19
+ * <Button icon={<ArrowLeftIcon />}>Back</Button>
20
+ * ```
21
+ */
22
+ declare const ArrowLeftIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { ArrowLeftIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Arrow Right icon component for rightward navigation and forward actions.
6
+ *
7
+ * A standard rightward-pointing arrow commonly used for next buttons,
8
+ * forward navigation, and rightward movement in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ArrowRightIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ArrowRightIcon size="lg" color="primary" />
17
+ *
18
+ * // In a next button
19
+ * <Button icon={<ArrowRightIcon />}>Next</Button>
20
+ * ```
21
+ */
22
+ declare const ArrowRightIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { ArrowRightIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Arrow Up icon component for upward navigation and collapse actions.
6
+ *
7
+ * A standard upward-pointing arrow commonly used for collapse buttons,
8
+ * upward navigation, and minimizing content in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ArrowUpIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ArrowUpIcon size="lg" color="primary" />
17
+ *
18
+ * // In a collapse button
19
+ * <Button icon={<ArrowUpIcon />}>Collapse</Button>
20
+ * ```
21
+ */
22
+ declare const ArrowUpIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { ArrowUpIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Bookmark icon component for saving and marking content.
6
+ *
7
+ * A standard bookmark icon commonly used for saving items,
8
+ * marking favorites, and bookmarking content in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <BookmarkIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <BookmarkIcon size="lg" color="accent" />
17
+ *
18
+ * // In a bookmark button
19
+ * <Button icon={<BookmarkIcon />}>Bookmark</Button>
20
+ * ```
21
+ */
22
+ declare const BookmarkIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { BookmarkIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Calendar icon component for date and scheduling functionality.
6
+ *
7
+ * A standard calendar icon commonly used for date pickers,
8
+ * scheduling, and time-related features in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <CalendarIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <CalendarIcon size="lg" color="primary" />
17
+ *
18
+ * // In a date picker
19
+ * <Button icon={<CalendarIcon />}>Select Date</Button>
20
+ * ```
21
+ */
22
+ declare const CalendarIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { CalendarIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Check icon component for confirmation and selection states.
6
+ *
7
+ * A standard checkmark icon commonly used for checkboxes, confirmation dialogs,
8
+ * completed tasks, and success states in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <CheckIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <CheckIcon size="lg" color="success" />
17
+ *
18
+ * // In a confirmation button
19
+ * <Button icon={<CheckIcon />}>Confirm</Button>
20
+ * ```
21
+ */
22
+ declare const CheckIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { CheckIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Chevron Down icon component for dropdown and expansion indicators.
6
+ *
7
+ * A subtle downward chevron commonly used for dropdown menus,
8
+ * accordion expansion, and subtle directional cues in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ChevronDownIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ChevronDownIcon size="sm" color="muted" />
17
+ *
18
+ * // In a dropdown
19
+ * <Select icon={<ChevronDownIcon />}>Options</Select>
20
+ * ```
21
+ */
22
+ declare const ChevronDownIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { ChevronDownIcon };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { IconSize, IconColor } from '../primitives/Icon/Icon.js';
3
+
4
+ /**
5
+ * Chevron Up icon component for collapse and upward indicators.
6
+ *
7
+ * A subtle upward chevron commonly used for collapsing content,
8
+ * accordion collapse, and subtle directional cues in editor interfaces.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ChevronUpIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ChevronUpIcon size="sm" color="muted" />
17
+ *
18
+ * // In a collapsible section
19
+ * <Button icon={<ChevronUpIcon />}>Collapse</Button>
20
+ * ```
21
+ */
22
+ declare const ChevronUpIcon: React.NamedExoticComponent<Omit<{
23
+ children: React.ReactNode;
24
+ size?: IconSize | undefined;
25
+ color?: IconColor | undefined;
26
+ className?: string | undefined;
27
+ title?: string | undefined;
28
+ decorative?: boolean | undefined;
29
+ testId?: string | undefined;
30
+ ref?: React.Ref<SVGSVGElement> | undefined;
31
+ }, "children">>;
32
+
33
+ export { ChevronUpIcon };