entangle-ui 0.8.0 → 0.8.2

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 (139) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/esm/components/Icons/ArchiveIcon.js +30 -0
  3. package/dist/esm/components/Icons/ArchiveIcon.js.map +1 -0
  4. package/dist/esm/components/Icons/BugIcon.js +30 -0
  5. package/dist/esm/components/Icons/BugIcon.js.map +1 -0
  6. package/dist/esm/components/Icons/BuildingIcon.js +30 -0
  7. package/dist/esm/components/Icons/BuildingIcon.js.map +1 -0
  8. package/dist/esm/components/Icons/ChevronLeftIcon.js +30 -0
  9. package/dist/esm/components/Icons/ChevronLeftIcon.js.map +1 -0
  10. package/dist/esm/components/Icons/ChevronRightIcon.js +30 -0
  11. package/dist/esm/components/Icons/ChevronRightIcon.js.map +1 -0
  12. package/dist/esm/components/Icons/DotsHorizontalIcon.js +30 -0
  13. package/dist/esm/components/Icons/DotsHorizontalIcon.js.map +1 -0
  14. package/dist/esm/components/Icons/DotsVerticalIcon.js +30 -0
  15. package/dist/esm/components/Icons/DotsVerticalIcon.js.map +1 -0
  16. package/dist/esm/components/Icons/FileTextIcon.js +30 -0
  17. package/dist/esm/components/Icons/FileTextIcon.js.map +1 -0
  18. package/dist/esm/components/Icons/FolderCogIcon.js +30 -0
  19. package/dist/esm/components/Icons/FolderCogIcon.js.map +1 -0
  20. package/dist/esm/components/Icons/FolderOpenIcon.js +30 -0
  21. package/dist/esm/components/Icons/FolderOpenIcon.js.map +1 -0
  22. package/dist/esm/components/Icons/GitBranchIcon.js +30 -0
  23. package/dist/esm/components/Icons/GitBranchIcon.js.map +1 -0
  24. package/dist/esm/components/Icons/MinusIcon.js +30 -0
  25. package/dist/esm/components/Icons/MinusIcon.js.map +1 -0
  26. package/dist/esm/components/Icons/PauseIcon.js +30 -0
  27. package/dist/esm/components/Icons/PauseIcon.js.map +1 -0
  28. package/dist/esm/components/Icons/PinIcon.js +31 -0
  29. package/dist/esm/components/Icons/PinIcon.js.map +1 -0
  30. package/dist/esm/components/Icons/SendIcon.js +30 -0
  31. package/dist/esm/components/Icons/SendIcon.js.map +1 -0
  32. package/dist/esm/components/Icons/StopIcon.js +30 -0
  33. package/dist/esm/components/Icons/StopIcon.js.map +1 -0
  34. package/dist/esm/components/Icons/TerminalIcon.js +30 -0
  35. package/dist/esm/components/Icons/TerminalIcon.js.map +1 -0
  36. package/dist/esm/components/Icons/UsersIcon.js +31 -0
  37. package/dist/esm/components/Icons/UsersIcon.js.map +1 -0
  38. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js +18 -0
  39. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js.map +1 -1
  40. package/dist/esm/context/KeyboardContext.js +35 -11
  41. package/dist/esm/context/KeyboardContext.js.map +1 -1
  42. package/dist/esm/hooks/useTheme/useTheme.js +1 -0
  43. package/dist/esm/hooks/useTheme/useTheme.js.map +1 -1
  44. package/dist/esm/index.js +83 -2
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/theme/ThemeProvider.js +3 -2
  47. package/dist/esm/theme/ThemeProvider.js.map +1 -1
  48. package/dist/tokens/tokens.dark.css +1 -1
  49. package/dist/tokens/tokens.json +1 -1
  50. package/dist/tokens/tokens.light.css +1 -1
  51. package/dist/types/components/Icons/AddIcon.d.ts +33 -0
  52. package/dist/types/components/Icons/AiChatIcon.d.ts +34 -0
  53. package/dist/types/components/Icons/AiSparklesIcon.d.ts +34 -0
  54. package/dist/types/components/Icons/ArchiveIcon.d.ts +33 -0
  55. package/dist/types/components/Icons/ArrowDownIcon.d.ts +33 -0
  56. package/dist/types/components/Icons/ArrowLeftIcon.d.ts +33 -0
  57. package/dist/types/components/Icons/ArrowRightIcon.d.ts +33 -0
  58. package/dist/types/components/Icons/ArrowUpIcon.d.ts +33 -0
  59. package/dist/types/components/Icons/BookmarkIcon.d.ts +33 -0
  60. package/dist/types/components/Icons/BugIcon.d.ts +33 -0
  61. package/dist/types/components/Icons/BuildingIcon.d.ts +33 -0
  62. package/dist/types/components/Icons/CalendarIcon.d.ts +33 -0
  63. package/dist/types/components/Icons/CheckIcon.d.ts +33 -0
  64. package/dist/types/components/Icons/ChevronDownIcon.d.ts +33 -0
  65. package/dist/types/components/Icons/ChevronLeftIcon.d.ts +33 -0
  66. package/dist/types/components/Icons/ChevronRightIcon.d.ts +33 -0
  67. package/dist/types/components/Icons/ChevronUpIcon.d.ts +33 -0
  68. package/dist/types/components/Icons/CircleIcon.d.ts +33 -0
  69. package/dist/types/components/Icons/ClockIcon.d.ts +33 -0
  70. package/dist/types/components/Icons/CloseIcon.d.ts +33 -0
  71. package/dist/types/components/Icons/CodeIcon.d.ts +33 -0
  72. package/dist/types/components/Icons/CopyIcon.d.ts +33 -0
  73. package/dist/types/components/Icons/CutIcon.d.ts +33 -0
  74. package/dist/types/components/Icons/DotsHorizontalIcon.d.ts +33 -0
  75. package/dist/types/components/Icons/DotsVerticalIcon.d.ts +33 -0
  76. package/dist/types/components/Icons/DownloadIcon.d.ts +33 -0
  77. package/dist/types/components/Icons/EditIcon.d.ts +33 -0
  78. package/dist/types/components/Icons/ErrorIcon.d.ts +33 -0
  79. package/dist/types/components/Icons/EyeDropperIcon.d.ts +34 -0
  80. package/dist/types/components/Icons/EyeIcon.d.ts +33 -0
  81. package/dist/types/components/Icons/FileTextIcon.d.ts +33 -0
  82. package/dist/types/components/Icons/FilterIcon.d.ts +33 -0
  83. package/dist/types/components/Icons/FolderCogIcon.d.ts +33 -0
  84. package/dist/types/components/Icons/FolderIcon.d.ts +33 -0
  85. package/dist/types/components/Icons/FolderOpenIcon.d.ts +33 -0
  86. package/dist/types/components/Icons/FullscreenIcon.d.ts +33 -0
  87. package/dist/types/components/Icons/GitBranchIcon.d.ts +33 -0
  88. package/dist/types/components/Icons/GridIcon.d.ts +33 -0
  89. package/dist/types/components/Icons/HeartIcon.d.ts +33 -0
  90. package/dist/types/components/Icons/HelpIcon.d.ts +33 -0
  91. package/dist/types/components/Icons/HomeIcon.d.ts +33 -0
  92. package/dist/types/components/Icons/InfoIcon.d.ts +33 -0
  93. package/dist/types/components/Icons/LinkIcon.d.ts +33 -0
  94. package/dist/types/components/Icons/ListIcon.d.ts +33 -0
  95. package/dist/types/components/Icons/LockIcon.d.ts +33 -0
  96. package/dist/types/components/Icons/MaximizeIcon.d.ts +33 -0
  97. package/dist/types/components/Icons/MenuIcon.d.ts +33 -0
  98. package/dist/types/components/Icons/MinimizeIcon.d.ts +33 -0
  99. package/dist/types/components/Icons/MinusIcon.d.ts +33 -0
  100. package/dist/types/components/Icons/PasteIcon.d.ts +33 -0
  101. package/dist/types/components/Icons/PauseIcon.d.ts +33 -0
  102. package/dist/types/components/Icons/PinIcon.d.ts +34 -0
  103. package/dist/types/components/Icons/PlayIcon.d.ts +33 -0
  104. package/dist/types/components/Icons/RedoIcon.d.ts +33 -0
  105. package/dist/types/components/Icons/RefreshIcon.d.ts +33 -0
  106. package/dist/types/components/Icons/RobotIcon.d.ts +33 -0
  107. package/dist/types/components/Icons/SaveIcon.d.ts +33 -0
  108. package/dist/types/components/Icons/SearchIcon.d.ts +33 -0
  109. package/dist/types/components/Icons/SendIcon.d.ts +33 -0
  110. package/dist/types/components/Icons/SettingsIcon.d.ts +33 -0
  111. package/dist/types/components/Icons/SortIcon.d.ts +33 -0
  112. package/dist/types/components/Icons/StarIcon.d.ts +33 -0
  113. package/dist/types/components/Icons/StopIcon.d.ts +33 -0
  114. package/dist/types/components/Icons/SuccessIcon.d.ts +33 -0
  115. package/dist/types/components/Icons/TagIcon.d.ts +33 -0
  116. package/dist/types/components/Icons/TangentAlignedIcon.d.ts +15 -0
  117. package/dist/types/components/Icons/TangentAutoIcon.d.ts +15 -0
  118. package/dist/types/components/Icons/TangentFreeIcon.d.ts +15 -0
  119. package/dist/types/components/Icons/TangentLinearIcon.d.ts +15 -0
  120. package/dist/types/components/Icons/TangentMirroredIcon.d.ts +15 -0
  121. package/dist/types/components/Icons/TangentStepIcon.d.ts +15 -0
  122. package/dist/types/components/Icons/TerminalIcon.d.ts +33 -0
  123. package/dist/types/components/Icons/TrashIcon.d.ts +33 -0
  124. package/dist/types/components/Icons/UndoIcon.d.ts +33 -0
  125. package/dist/types/components/Icons/UnlockIcon.d.ts +33 -0
  126. package/dist/types/components/Icons/UploadIcon.d.ts +33 -0
  127. package/dist/types/components/Icons/UserIcon.d.ts +33 -0
  128. package/dist/types/components/Icons/UsersIcon.d.ts +34 -0
  129. package/dist/types/components/Icons/WarningIcon.d.ts +33 -0
  130. package/dist/types/components/Icons/ZoomInIcon.d.ts +33 -0
  131. package/dist/types/components/Icons/ZoomOutIcon.d.ts +33 -0
  132. package/dist/types/components/editor/ChatPanel/ChatAttachment.d.ts +1 -1
  133. package/dist/types/components/editor/ChatPanel/ChatInput.d.ts +1 -1
  134. package/dist/types/components/feedback/EmptyState/EmptyState.d.ts +1 -1
  135. package/dist/types/components/layout/PageHeader/PageHeader.d.ts +1 -1
  136. package/dist/types/components/primitives/Radio/Radio.d.ts +1 -1
  137. package/dist/types/context/KeyboardContext.d.ts +20 -0
  138. package/dist/types/index.d.ts +82 -0
  139. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import React from 'react';
4
+ import { Icon } from '../primitives/Icon/Icon.js';
5
+
6
+ /**
7
+ * Users icon component for groups, teams, and multi-user contexts.
8
+ *
9
+ * Two overlapping user silhouettes commonly used for team membership,
10
+ * shared resources, and group-level actions. Pairs with `UserIcon` for
11
+ * single-user contexts.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // Basic usage
16
+ * <UsersIcon />
17
+ *
18
+ * // With custom size and color
19
+ * <UsersIcon size="md" color="secondary" />
20
+ *
21
+ * // In a team selector
22
+ * <Button icon={<UsersIcon />}>Team</Button>
23
+ * ```
24
+ */
25
+ const UsersIcon = /*#__PURE__*/ React.memo(props => {
26
+ return (jsxs(Icon, { ...props, children: [jsx("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }), jsx("circle", { cx: "9", cy: "7", r: "4" }), jsx("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }), jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })] }));
27
+ });
28
+ UsersIcon.displayName = 'UsersIcon';
29
+
30
+ export { UsersIcon };
31
+ //# sourceMappingURL=UsersIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsersIcon.js","sources":["../../../../../src/components/Icons/UsersIcon.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAMA;;;;;;;;;;;;;;;;;;AAkBG;AACI;AAEH;AAQF;AAGF;;"}
@@ -64,6 +64,24 @@ import '../../Icons/TangentMirroredIcon.js';
64
64
  import '../../Icons/TangentAutoIcon.js';
65
65
  import '../../Icons/TangentLinearIcon.js';
66
66
  import '../../Icons/TangentStepIcon.js';
67
+ import '../../Icons/ArchiveIcon.js';
68
+ import '../../Icons/DotsVerticalIcon.js';
69
+ import '../../Icons/DotsHorizontalIcon.js';
70
+ import '../../Icons/ChevronLeftIcon.js';
71
+ import '../../Icons/ChevronRightIcon.js';
72
+ import '../../Icons/FolderOpenIcon.js';
73
+ import '../../Icons/FolderCogIcon.js';
74
+ import '../../Icons/UsersIcon.js';
75
+ import '../../Icons/BuildingIcon.js';
76
+ import '../../Icons/FileTextIcon.js';
77
+ import '../../Icons/PauseIcon.js';
78
+ import '../../Icons/StopIcon.js';
79
+ import '../../Icons/SendIcon.js';
80
+ import '../../Icons/TerminalIcon.js';
81
+ import '../../Icons/GitBranchIcon.js';
82
+ import '../../Icons/BugIcon.js';
83
+ import '../../Icons/MinusIcon.js';
84
+ import '../../Icons/PinIcon.js';
67
85
  import { cx } from '../../../utils/cx.js';
68
86
  import { BreadcrumbEllipsis } from './BreadcrumbEllipsis.js';
69
87
  import { BreadcrumbItem } from './BreadcrumbItem.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;AAIE;AACF;AAEA;AACE;;AAIE;;AAGF;AACF;AAEA;AAIE;;AAGI;AACI;;AAID;AAET;AAEA;;;;;;;;;;;;;;;AAeG;AACI;;AAiBH;;AAEE;;AAQE;AACE;AACA;;AAGJ;AAOA;AACE;AACE;AACA;;;;;AAMJ;AAEA;;;;;AAUA;AACE;;AAMA;;AAGF;AACF;;;;;;;;AAQC;;AAcH;AAGF;;"}
1
+ {"version":3,"file":"Breadcrumbs.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;AAIE;AACF;AAEA;AACE;;AAIE;;AAGF;AACF;AAEA;AAIE;;AAGI;AACI;;AAID;AAET;AAEA;;;;;;;;;;;;;;;AAeG;AACI;;AAiBH;;AAEE;;AAQE;AACE;AACA;;AAGJ;AAOA;AACE;AACE;AACA;;;;;AAMJ;AAEA;;;;;AAUA;AACE;;AAMA;;AAGF;AACF;;;;;;;;AAQC;;AAcH;AAGF;;"}
@@ -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,88 @@ 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 { ArchiveIcon } from './components/Icons/ArchiveIcon.js';
199
+ export { DotsVerticalIcon } from './components/Icons/DotsVerticalIcon.js';
200
+ export { DotsHorizontalIcon } from './components/Icons/DotsHorizontalIcon.js';
201
+ export { ChevronLeftIcon } from './components/Icons/ChevronLeftIcon.js';
202
+ export { ChevronRightIcon } from './components/Icons/ChevronRightIcon.js';
203
+ export { FolderOpenIcon } from './components/Icons/FolderOpenIcon.js';
204
+ export { FolderCogIcon } from './components/Icons/FolderCogIcon.js';
205
+ export { UsersIcon } from './components/Icons/UsersIcon.js';
206
+ export { BuildingIcon } from './components/Icons/BuildingIcon.js';
207
+ export { FileTextIcon } from './components/Icons/FileTextIcon.js';
208
+ export { PauseIcon } from './components/Icons/PauseIcon.js';
209
+ export { StopIcon } from './components/Icons/StopIcon.js';
210
+ export { SendIcon } from './components/Icons/SendIcon.js';
211
+ export { TerminalIcon } from './components/Icons/TerminalIcon.js';
212
+ export { GitBranchIcon } from './components/Icons/GitBranchIcon.js';
213
+ export { BugIcon } from './components/Icons/BugIcon.js';
214
+ export { MinusIcon } from './components/Icons/MinusIcon.js';
215
+ export { PinIcon } from './components/Icons/PinIcon.js';
216
+ export { useKeyboard } from './hooks/useKeyboard/useKeyboard.js';
136
217
  export { useControlledState } from './hooks/useControlledState/useControlledState.js';
137
218
  export { useFocusTrap } from './hooks/useFocusTrap/useFocusTrap.js';
138
219
  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.2) */
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.2",
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.2) */
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
+ * Archive icon component for archiving and storing items.
6
+ *
7
+ * A box with a lid commonly used for archiving content,
8
+ * moving items out of active views, and long-term storage actions.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <ArchiveIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <ArchiveIcon size="md" color="muted" />
17
+ *
18
+ * // In an archive action
19
+ * <Button icon={<ArchiveIcon />}>Archive</Button>
20
+ * ```
21
+ */
22
+ declare const ArchiveIcon: 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 { ArchiveIcon };
@@ -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
+ * Bug icon component for debugging and issue reporting.
6
+ *
7
+ * A symmetrical insect silhouette commonly used for debugger panels,
8
+ * "Report bug" actions, and error severity indicators.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <BugIcon />
14
+ *
15
+ * // With custom size and color
16
+ * <BugIcon size="md" color="error" />
17
+ *
18
+ * // In a debugger panel toggle
19
+ * <IconButton icon={<BugIcon />} label="Toggle debugger" />
20
+ * ```
21
+ */
22
+ declare const BugIcon: 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 { BugIcon };