@cratis/components 1.7.1 → 1.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.
- package/dist/cjs/Toolbar/Toolbar.css +48 -0
- package/dist/cjs/Toolbar/ToolbarFolder.js +50 -0
- package/dist/cjs/Toolbar/ToolbarFolder.js.map +1 -0
- package/dist/cjs/Toolbar/ToolbarSection.js +20 -0
- package/dist/cjs/Toolbar/ToolbarSection.js.map +1 -1
- package/dist/cjs/Toolbar/index.js +2 -0
- package/dist/cjs/Toolbar/index.js.map +1 -1
- package/dist/cjs/tailwind-utilities.css +1 -1
- package/dist/esm/Toolbar/Toolbar.css +48 -0
- package/dist/esm/Toolbar/Toolbar.stories.d.ts +3 -0
- package/dist/esm/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/esm/Toolbar/Toolbar.stories.js +32 -0
- package/dist/esm/Toolbar/Toolbar.stories.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.d.ts +13 -0
- package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -0
- package/dist/esm/Toolbar/ToolbarFolder.js +48 -0
- package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -0
- package/dist/esm/Toolbar/ToolbarSection.d.ts.map +1 -1
- package/dist/esm/Toolbar/ToolbarSection.js +20 -0
- package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
- package/dist/esm/Toolbar/index.d.ts +2 -0
- package/dist/esm/Toolbar/index.d.ts.map +1 -1
- package/dist/esm/Toolbar/index.js +1 -0
- package/dist/esm/Toolbar/index.js.map +1 -1
- package/dist/esm/tailwind-utilities.css +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -164,3 +164,51 @@
|
|
|
164
164
|
opacity: 1;
|
|
165
165
|
pointer-events: auto;
|
|
166
166
|
}
|
|
167
|
+
|
|
168
|
+
/* ── Toolbar folder ──────────────────────────────────────────────────────── */
|
|
169
|
+
|
|
170
|
+
.toolbar-folder-item {
|
|
171
|
+
position: relative;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/*
|
|
175
|
+
* Folder panel is a floating grid that grows naturally with item count.
|
|
176
|
+
* The trigger stays in place while the panel animates in/out.
|
|
177
|
+
*/
|
|
178
|
+
.toolbar-folder-panel {
|
|
179
|
+
position: absolute;
|
|
180
|
+
top: 50%;
|
|
181
|
+
left: calc(100% + 0.75rem);
|
|
182
|
+
transform: translateY(-50%) scale(0.92);
|
|
183
|
+
transform-origin: left center;
|
|
184
|
+
display: grid;
|
|
185
|
+
grid-auto-rows: minmax(2.5rem, auto);
|
|
186
|
+
gap: 0.25rem;
|
|
187
|
+
padding: 0.5rem;
|
|
188
|
+
background: var(--surface-card);
|
|
189
|
+
border: 1px solid var(--surface-border);
|
|
190
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
191
|
+
border-radius: 1rem;
|
|
192
|
+
z-index: 10;
|
|
193
|
+
pointer-events: none;
|
|
194
|
+
opacity: 0;
|
|
195
|
+
clip-path: inset(0 100% 0 0 round 1rem);
|
|
196
|
+
transition:
|
|
197
|
+
clip-path 0.35s cubic-bezier(0.4, 0, 0.2, 1),
|
|
198
|
+
transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
|
|
199
|
+
opacity 0.2s ease;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.toolbar-folder-panel--left {
|
|
203
|
+
left: auto;
|
|
204
|
+
right: calc(100% + 0.75rem);
|
|
205
|
+
transform-origin: right center;
|
|
206
|
+
clip-path: inset(0 0 0 100% round 1rem);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.toolbar-folder-panel--visible {
|
|
210
|
+
clip-path: none;
|
|
211
|
+
transform: translateY(-50%) scale(1);
|
|
212
|
+
opacity: 1;
|
|
213
|
+
pointer-events: auto;
|
|
214
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var Icon = require('../Common/Icon.js');
|
|
6
|
+
var Tooltip = require('../Common/Tooltip.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A toolbar folder that reveals a dynamically sized button grid when clicked.
|
|
10
|
+
*
|
|
11
|
+
* The grid keeps a compact footprint for small sets and grows naturally as more
|
|
12
|
+
* items are added. It also balances rows/columns so large sets remain visually even.
|
|
13
|
+
*/
|
|
14
|
+
const ToolbarFolder = ({ icon, tooltip, tooltipPosition = 'right', folderDirection = 'right', maxColumns = 5, children, }) => {
|
|
15
|
+
const [isExpanded, setIsExpanded] = React.useState(false);
|
|
16
|
+
const containerRef = React.useRef(null);
|
|
17
|
+
const items = React.useMemo(() => React.Children.toArray(children).filter(child => child !== null && child !== undefined), [children]);
|
|
18
|
+
const itemCount = Math.max(1, items.length);
|
|
19
|
+
const columns = React.useMemo(() => {
|
|
20
|
+
const upperBound = Math.max(1, maxColumns);
|
|
21
|
+
const balancedColumns = Math.ceil(Math.sqrt(itemCount));
|
|
22
|
+
return Math.min(upperBound, balancedColumns);
|
|
23
|
+
}, [itemCount, maxColumns]);
|
|
24
|
+
const toggleExpanded = () => {
|
|
25
|
+
setIsExpanded(current => !current);
|
|
26
|
+
};
|
|
27
|
+
React.useEffect(() => {
|
|
28
|
+
if (!isExpanded) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const handleClickOutside = (event) => {
|
|
32
|
+
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
33
|
+
setIsExpanded(false);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
37
|
+
return () => {
|
|
38
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
39
|
+
};
|
|
40
|
+
}, [isExpanded]);
|
|
41
|
+
const activeClass = isExpanded ? 'toolbar-button--active' : '';
|
|
42
|
+
const panelVisibleClass = isExpanded ? 'toolbar-folder-panel--visible' : '';
|
|
43
|
+
const directionClass = `toolbar-folder-panel--${folderDirection}`;
|
|
44
|
+
return (jsxRuntime.jsxs("div", { className: 'toolbar-folder-item', ref: containerRef, children: [jsxRuntime.jsx(Tooltip.Tooltip, { content: tooltip, position: tooltipPosition, children: jsxRuntime.jsx("button", { type: 'button', "aria-label": tooltip, "aria-expanded": isExpanded, onClick: toggleExpanded, className: `toolbar-button w-10 h-10 flex items-center justify-center rounded-lg cursor-pointer ${activeClass}`, children: jsxRuntime.jsx(Icon.IconDisplay, { icon: icon, className: 'text-lg' }) }) }), jsxRuntime.jsx("div", { className: `toolbar-folder-panel ${directionClass} ${panelVisibleClass}`, style: {
|
|
45
|
+
gridTemplateColumns: `repeat(${columns}, minmax(2.5rem, 2.5rem))`,
|
|
46
|
+
}, children: items })] }));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.ToolbarFolder = ToolbarFolder;
|
|
50
|
+
//# sourceMappingURL=ToolbarFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarFolder.js","sources":["../../../Toolbar/ToolbarFolder.tsx"],"sourcesContent":[null],"names":["useState","useRef","useMemo","Children","useEffect","_jsxs","_jsx","Tooltip","IconDisplay"],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ var React = require('react');
|
|
|
16
16
|
*/
|
|
17
17
|
const ToolbarSection = ({ activeContext, children, orientation = 'vertical' }) => {
|
|
18
18
|
const contextRefs = React.useRef({});
|
|
19
|
+
const resizeObserverRef = React.useRef(null);
|
|
19
20
|
const [size, setSize] = React.useState(null);
|
|
20
21
|
const contexts = React.Children.toArray(children).filter((child) => React.isValidElement(child) && typeof child.props.name === 'string');
|
|
21
22
|
// Default to the first context if activeContext is not provided
|
|
@@ -38,6 +39,25 @@ const ToolbarSection = ({ activeContext, children, orientation = 'vertical' }) =
|
|
|
38
39
|
React.useEffect(() => {
|
|
39
40
|
measureAndSetSize(effectiveContext);
|
|
40
41
|
}, [effectiveContext, measureAndSetSize]);
|
|
42
|
+
// Keep section dimensions in sync when the active context's content changes size after render.
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
const activeContextElement = contextRefs.current[effectiveContext];
|
|
45
|
+
if (!activeContextElement || typeof ResizeObserver === 'undefined') {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
resizeObserverRef.current?.disconnect();
|
|
49
|
+
const observer = new ResizeObserver(() => {
|
|
50
|
+
measureAndSetSize(effectiveContext);
|
|
51
|
+
});
|
|
52
|
+
observer.observe(activeContextElement);
|
|
53
|
+
resizeObserverRef.current = observer;
|
|
54
|
+
return () => {
|
|
55
|
+
observer.disconnect();
|
|
56
|
+
if (resizeObserverRef.current === observer) {
|
|
57
|
+
resizeObserverRef.current = null;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}, [effectiveContext, measureAndSetSize]);
|
|
41
61
|
return (jsxRuntime.jsx("div", { className: 'toolbar-section', style: size ? { width: size.width, height: size.height } : undefined, children: contexts.map((child) => {
|
|
42
62
|
const { name, children: contextChildren } = child.props;
|
|
43
63
|
const isActive = name === effectiveContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSection.js","sources":["../../../Toolbar/ToolbarSection.tsx"],"sourcesContent":[null],"names":["useRef","useState","Children","isValidElement","useCallback","useLayoutEffect","useEffect","_jsx"],"mappings":";;;;;AAuBA;;;;;;;;;;AAUG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,UAAU,EAAuB,KAAI;AACzG,IAAA,MAAM,WAAW,GAAGA,YAAM,CAAwC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolbarSection.js","sources":["../../../Toolbar/ToolbarSection.tsx"],"sourcesContent":[null],"names":["useRef","useState","Children","isValidElement","useCallback","useLayoutEffect","useEffect","_jsx"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ var ToolbarContext = require('./ToolbarContext.js');
|
|
|
6
6
|
var ToolbarSection = require('./ToolbarSection.js');
|
|
7
7
|
var ToolbarSeparator = require('./ToolbarSeparator.js');
|
|
8
8
|
var ToolbarFanOutItem = require('./ToolbarFanOutItem.js');
|
|
9
|
+
var ToolbarFolder = require('./ToolbarFolder.js');
|
|
9
10
|
|
|
10
11
|
// Copyright (c) Cratis. All rights reserved.
|
|
11
12
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
@@ -16,4 +17,5 @@ exports.ToolbarContext = ToolbarContext.ToolbarContext;
|
|
|
16
17
|
exports.ToolbarSection = ToolbarSection.ToolbarSection;
|
|
17
18
|
exports.ToolbarSeparator = ToolbarSeparator.ToolbarSeparator;
|
|
18
19
|
exports.ToolbarFanOutItem = ToolbarFanOutItem.ToolbarFanOutItem;
|
|
20
|
+
exports.ToolbarFolder = ToolbarFolder.ToolbarFolder;
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../Toolbar/index.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../Toolbar/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAAA;AACA;;;;;;;;;;"}
|
|
@@ -164,3 +164,51 @@
|
|
|
164
164
|
opacity: 1;
|
|
165
165
|
pointer-events: auto;
|
|
166
166
|
}
|
|
167
|
+
|
|
168
|
+
/* ── Toolbar folder ──────────────────────────────────────────────────────── */
|
|
169
|
+
|
|
170
|
+
.toolbar-folder-item {
|
|
171
|
+
position: relative;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/*
|
|
175
|
+
* Folder panel is a floating grid that grows naturally with item count.
|
|
176
|
+
* The trigger stays in place while the panel animates in/out.
|
|
177
|
+
*/
|
|
178
|
+
.toolbar-folder-panel {
|
|
179
|
+
position: absolute;
|
|
180
|
+
top: 50%;
|
|
181
|
+
left: calc(100% + 0.75rem);
|
|
182
|
+
transform: translateY(-50%) scale(0.92);
|
|
183
|
+
transform-origin: left center;
|
|
184
|
+
display: grid;
|
|
185
|
+
grid-auto-rows: minmax(2.5rem, auto);
|
|
186
|
+
gap: 0.25rem;
|
|
187
|
+
padding: 0.5rem;
|
|
188
|
+
background: var(--surface-card);
|
|
189
|
+
border: 1px solid var(--surface-border);
|
|
190
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
191
|
+
border-radius: 1rem;
|
|
192
|
+
z-index: 10;
|
|
193
|
+
pointer-events: none;
|
|
194
|
+
opacity: 0;
|
|
195
|
+
clip-path: inset(0 100% 0 0 round 1rem);
|
|
196
|
+
transition:
|
|
197
|
+
clip-path 0.35s cubic-bezier(0.4, 0, 0.2, 1),
|
|
198
|
+
transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
|
|
199
|
+
opacity 0.2s ease;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.toolbar-folder-panel--left {
|
|
203
|
+
left: auto;
|
|
204
|
+
right: calc(100% + 0.75rem);
|
|
205
|
+
transform-origin: right center;
|
|
206
|
+
clip-path: inset(0 0 0 100% round 1rem);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.toolbar-folder-panel--visible {
|
|
210
|
+
clip-path: none;
|
|
211
|
+
transform: translateY(-50%) scale(1);
|
|
212
|
+
opacity: 1;
|
|
213
|
+
pointer-events: auto;
|
|
214
|
+
}
|
|
@@ -11,5 +11,8 @@ export declare const WithContexts: Story;
|
|
|
11
11
|
export declare const WithSeparators: Story;
|
|
12
12
|
export declare const ZoomBar: Story;
|
|
13
13
|
export declare const WithFanOut: Story;
|
|
14
|
+
export declare const WithFolderOneButton: Story;
|
|
15
|
+
export declare const WithFolderFourButtons: Story;
|
|
16
|
+
export declare const WithFolderTwentyButtons: Story;
|
|
14
17
|
export declare const DragAndDrop: Story;
|
|
15
18
|
//# sourceMappingURL=Toolbar.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.stories.d.ts","sourceRoot":"","sources":["../../../Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Toolbar.stories.d.ts","sourceRoot":"","sources":["../../../Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAM9B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAgCtC,eAAO,MAAM,kBAAkB,EAAE,KAyChC,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAgB5B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,KAqC9B,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KAoD1B,CAAC;AASF,eAAO,MAAM,cAAc,EAAE,KAW5B,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,KAwBrB,CAAC;AAQF,eAAO,MAAM,UAAU,EAAE,KA+CxB,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,KAUjC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,KAYnC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,KAYrC,CAAC;AAWF,eAAO,MAAM,WAAW,EAAE,KAgDzB,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Toolbar } from './Toolbar';
|
|
|
4
4
|
import { ToolbarButton } from './ToolbarButton';
|
|
5
5
|
import { ToolbarContext } from './ToolbarContext';
|
|
6
6
|
import { ToolbarFanOutItem } from './ToolbarFanOutItem';
|
|
7
|
+
import { ToolbarFolder } from './ToolbarFolder';
|
|
7
8
|
import { ToolbarSection } from './ToolbarSection';
|
|
8
9
|
import { ToolbarSeparator } from './ToolbarSeparator';
|
|
9
10
|
const meta = {
|
|
@@ -14,6 +15,28 @@ const meta = {
|
|
|
14
15
|
},
|
|
15
16
|
};
|
|
16
17
|
export default meta;
|
|
18
|
+
const folderIcons = [
|
|
19
|
+
'pi pi-exclamation-circle',
|
|
20
|
+
'pi pi-eye',
|
|
21
|
+
'pi pi-cog',
|
|
22
|
+
'pi pi-external-link',
|
|
23
|
+
'pi pi-clock',
|
|
24
|
+
'pi pi-globe',
|
|
25
|
+
'pi pi-bookmark',
|
|
26
|
+
'pi pi-send',
|
|
27
|
+
'pi pi-search',
|
|
28
|
+
'pi pi-car',
|
|
29
|
+
'pi pi-box',
|
|
30
|
+
'pi pi-bolt',
|
|
31
|
+
'pi pi-database',
|
|
32
|
+
'pi pi-cloud',
|
|
33
|
+
'pi pi-star',
|
|
34
|
+
'pi pi-heart',
|
|
35
|
+
'pi pi-map',
|
|
36
|
+
'pi pi-wifi',
|
|
37
|
+
'pi pi-lock',
|
|
38
|
+
'pi pi-bell',
|
|
39
|
+
];
|
|
17
40
|
export const WithReactNodeIcons = {
|
|
18
41
|
render: () => {
|
|
19
42
|
const CircleIcon = () => (_jsx("svg", { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', width: '20', height: '20', fill: 'currentColor', "aria-hidden": 'true', children: _jsx("circle", { cx: '12', cy: '12', r: '10' }) }));
|
|
@@ -76,6 +99,15 @@ export const WithFanOut = {
|
|
|
76
99
|
return _jsx(WithFanOutDemo, {});
|
|
77
100
|
},
|
|
78
101
|
};
|
|
102
|
+
export const WithFolderOneButton = {
|
|
103
|
+
render: () => (_jsxs(Toolbar, { children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', tooltip: 'Select' }), _jsx(ToolbarFolder, { icon: 'pi pi-th-large', tooltip: 'Folder (1 item)', children: _jsx(ToolbarButton, { icon: folderIcons[0], tooltip: 'Action 1' }) }), _jsx(ToolbarButton, { icon: 'pi pi-stop', tooltip: 'Rectangle' })] })),
|
|
104
|
+
};
|
|
105
|
+
export const WithFolderFourButtons = {
|
|
106
|
+
render: () => (_jsxs(Toolbar, { children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', tooltip: 'Select' }), _jsx(ToolbarFolder, { icon: 'pi pi-th-large', tooltip: 'Folder (4 items)', children: folderIcons.slice(0, 4).map((icon, index) => (_jsx(ToolbarButton, { icon: icon, tooltip: `Action ${index + 1}` }, `folder-4-${index}`))) }), _jsx(ToolbarButton, { icon: 'pi pi-stop', tooltip: 'Rectangle' })] })),
|
|
107
|
+
};
|
|
108
|
+
export const WithFolderTwentyButtons = {
|
|
109
|
+
render: () => (_jsxs(Toolbar, { children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', tooltip: 'Select' }), _jsx(ToolbarFolder, { icon: 'pi pi-th-large', tooltip: 'Folder (20 items)', children: folderIcons.slice(0, 20).map((icon, index) => (_jsx(ToolbarButton, { icon: icon, tooltip: `Action ${index + 1}` }, `folder-20-${index}`))) }), _jsx(ToolbarButton, { icon: 'pi pi-stop', tooltip: 'Rectangle' })] })),
|
|
110
|
+
};
|
|
79
111
|
export const DragAndDrop = {
|
|
80
112
|
render: () => {
|
|
81
113
|
const DragAndDropDemo = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.stories.js","sourceRoot":"","sources":["../../../Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,IAAI,GAAyB;IAC/B,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE;QACR,MAAM,EAAE,UAAU;KACrB;CACJ,CAAC;AAEF,eAAe,IAAI,CAAC;AAWpB,MAAM,CAAC,MAAM,kBAAkB,GAAU;IACrC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CACrB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,YACrH,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,GAC/B,CACT,CAAC;QACF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CACrB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,YACrH,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,GAChD,CACT,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CACnB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,YACrH,eAAM,CAAC,EAAC,8FAA8F,GAAG,GACvG,CACT,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CACvB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,YACrH,eAAM,CAAC,EAAC,qBAAqB,GAAG,GAC9B,CACT,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CACvB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,YACrH,eAAM,CAAC,EAAC,0CAA0C,GAAG,GACnD,CACT,CAAC;QAEF,OAAO,CACH,MAAC,OAAO,eACJ,KAAC,aAAa,IAAC,IAAI,EAAE,KAAC,UAAU,KAAG,EAAE,OAAO,EAAC,QAAQ,GAAG,EACxD,KAAC,aAAa,IAAC,IAAI,EAAE,KAAC,UAAU,KAAG,EAAE,OAAO,EAAC,WAAW,GAAG,EAC3D,MAAC,iBAAiB,IAAC,IAAI,EAAE,KAAC,QAAQ,KAAG,EAAE,OAAO,EAAC,aAAa,aACxD,KAAC,aAAa,IAAC,IAAI,EAAE,KAAC,YAAY,KAAG,EAAE,OAAO,EAAC,UAAU,GAAG,EAC5D,KAAC,aAAa,IAAC,IAAI,EAAE,KAAC,YAAY,KAAG,EAAE,OAAO,EAAC,UAAU,GAAG,IAC5C,EAEpB,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,MAAM,GAAG,IAC5C,CACb,CAAC;IACN,CAAC;CACJ,CAAC;AAGF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,CACV,MAAC,OAAO,eACJ,KAAC,aAAa,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,QAAQ,GAAG,EAC7D,KAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,QAAQ,GAAG,EACrD,KAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,QAAQ,GAAG,EACtD,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,GAAG,EACvD,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,aAAa,GAAG,IACnD,CACb;CACJ,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAU;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CACV,eAAK,SAAS,EAAC,qBAAqB,aAChC,MAAC,OAAO,eACJ,KAAC,aAAa,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,QAAQ,GAAG,EAC7D,KAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,QAAQ,GAAG,EACrD,KAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,QAAQ,GAAG,EACtD,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,GAAG,EACvD,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,aAAa,GAAG,IACnD,EACV,MAAC,OAAO,eACJ,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,MAAM,GAAG,EAClD,KAAC,aAAa,IAAC,IAAI,EAAC,eAAe,EAAC,OAAO,EAAC,MAAM,GAAG,IAC/C,IACR,CACT;CACJ,CAAC;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAU;IACnC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,UAAU,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,CAAC;YAEvD,OAAO,CACH,MAAC,OAAO,eACJ,KAAC,aAAa,IACV,IAAI,EAAC,qBAAqB,EAC1B,OAAO,EAAC,QAAQ,EAChB,MAAM,EAAE,MAAM,KAAK,QAAQ,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GACpC,EACF,KAAC,aAAa,IACV,IAAI,EAAC,aAAa,EAClB,OAAO,EAAC,QAAQ,EAChB,MAAM,EAAE,MAAM,KAAK,QAAQ,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GACpC,EACF,KAAC,aAAa,IACV,IAAI,EAAC,YAAY,EACjB,OAAO,EAAC,WAAW,EACnB,MAAM,EAAE,MAAM,KAAK,WAAW,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,GACvC,EACF,KAAC,aAAa,IACV,IAAI,EAAC,YAAY,EACjB,OAAO,EAAC,aAAa,EACrB,MAAM,EAAE,MAAM,KAAK,QAAQ,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GACpC,IACI,CACb,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,KAAC,UAAU,KAAG,CAAC;IAC1B,CAAC;CACJ,CAAC;AASF,MAAM,CAAC,MAAM,YAAY,GAAU;IAC/B,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,SAAS,CAAC,CAAC;YAExE,OAAO,CACH,eAAK,SAAS,EAAC,kCAAkC,aAC7C,MAAC,OAAO,eACJ,KAAC,aAAa,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,QAAQ,GAAG,EAC7D,MAAC,cAAc,IAAC,aAAa,EAAE,cAAc,aACzC,MAAC,cAAc,IAAC,IAAI,EAAC,SAAS,aAC1B,KAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,GAAG,EACpD,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,GAAG,EACvD,KAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,QAAQ,GAAG,EACtD,KAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,MAAM,GAAG,IACtC,EACjB,MAAC,cAAc,IAAC,IAAI,EAAC,MAAM,aACvB,KAAC,aAAa,IAAC,IAAI,EAAC,oBAAoB,EAAC,OAAO,EAAC,cAAc,GAAG,EAClE,KAAC,aAAa,IAAC,IAAI,EAAC,kBAAkB,EAAC,OAAO,EAAC,YAAY,GAAG,IACjD,IACJ,EACjB,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,MAAM,GAAG,IAC5C,EAEV,eAAK,SAAS,EAAC,YAAY,aACvB,iBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC3C,SAAS,EAAE,+CAA+C,cAAc,KAAK,SAAS;oCAClF,CAAC,CAAC,wBAAwB;oCAC1B,CAAC,CAAC,6CACF,EAAE,8BAGD,EACT,iBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACxC,SAAS,EAAE,+CAA+C,cAAc,KAAK,MAAM;oCAC/E,CAAC,CAAC,wBAAwB;oCAC1B,CAAC,CAAC,6CACF,EAAE,2BAGD,IACP,IACJ,CACT,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,KAAC,gBAAgB,KAAG,CAAC;IAChC,CAAC;CACJ,CAAC;AASF,MAAM,CAAC,MAAM,cAAc,GAAU;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CACV,MAAC,OAAO,IAAC,WAAW,EAAC,YAAY,aAC7B,KAAC,aAAa,IAAC,IAAI,EAAC,gBAAgB,EAAC,OAAO,EAAC,UAAU,EAAC,eAAe,EAAC,QAAQ,GAAG,EACnF,KAAC,gBAAgB,IAAC,WAAW,EAAC,YAAY,GAAG,EAC7C,KAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,UAAU,EAAC,eAAe,EAAC,QAAQ,GAAG,EAChF,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,SAAS,EAAC,eAAe,EAAC,QAAQ,GAAG,EAC9E,KAAC,gBAAgB,IAAC,WAAW,EAAC,YAAY,GAAG,EAC7C,KAAC,aAAa,IAAC,IAAI,EAAC,uBAAuB,EAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,QAAQ,GAAG,IAChF,CACb;CACJ,CAAC;AAMF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,WAAW,GAAG,GAAG,EAAE;YACrB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,GAAG,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAErC,OAAO,CACH,MAAC,OAAO,IAAC,WAAW,EAAC,YAAY,aAC7B,KAAC,aAAa,IAAC,IAAI,EAAC,gBAAgB,EAAC,OAAO,EAAC,UAAU,EAAC,eAAe,EAAC,QAAQ,GAAG,EACnF,KAAC,gBAAgB,IAAC,WAAW,EAAC,YAAY,GAAG,EAC7C,KAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,UAAU,EAAC,eAAe,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,GAAI,EAClG,KAAC,aAAa,IAAC,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,OAAO,EAAC,YAAY,EAAC,eAAe,EAAC,QAAQ,EAAC,OAAO,EAAE,SAAS,GAAI,EACrG,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,SAAS,EAAC,eAAe,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,GAAI,EAC/F,KAAC,gBAAgB,IAAC,WAAW,EAAC,YAAY,GAAG,EAC7C,KAAC,aAAa,IAAC,IAAI,EAAC,uBAAuB,EAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,QAAQ,GAAG,IAChF,CACb,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,KAAC,WAAW,KAAG,CAAC;IAC3B,CAAC;CACJ,CAAC;AAQF,MAAM,CAAC,MAAM,UAAU,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,cAAc,GAAG,GAAG,EAAE;YACxB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,CAAC;YAE/D,OAAO,CACH,eAAK,SAAS,EAAC,qBAAqB,aAChC,MAAC,OAAO,eACJ,KAAC,aAAa,IACV,IAAI,EAAC,qBAAqB,EAC1B,OAAO,EAAC,QAAQ,EAChB,MAAM,EAAE,UAAU,KAAK,QAAQ,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GACxC,EACF,MAAC,iBAAiB,IACd,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAC,QAAQ,aAEhB,KAAC,aAAa,IAAC,IAAI,EAAC,gBAAgB,EAAC,OAAO,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAI,EAChG,KAAC,aAAa,IAAC,IAAI,EAAC,0BAA0B,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAI,EACtG,KAAC,aAAa,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAI,EAC7F,KAAC,aAAa,IAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,GAAI,EAC/F,KAAC,aAAa,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAI,IACjF,EACpB,KAAC,aAAa,IACV,IAAI,EAAC,YAAY,EACjB,OAAO,EAAC,WAAW,EACnB,MAAM,EAAE,UAAU,KAAK,WAAW,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,GAC3C,EACF,KAAC,aAAa,IACV,IAAI,EAAC,YAAY,EACjB,OAAO,EAAC,aAAa,EACrB,MAAM,EAAE,UAAU,KAAK,QAAQ,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GACxC,IACI,EACV,MAAC,OAAO,eACJ,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,MAAM,GAAG,EAClD,KAAC,aAAa,IAAC,IAAI,EAAC,eAAe,EAAC,OAAO,EAAC,MAAM,GAAG,IAC/C,IACR,CACT,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,KAAC,cAAc,KAAG,CAAC;IAC9B,CAAC;CACJ,CAAC;AAWF,MAAM,CAAC,MAAM,WAAW,GAAU;IAC9B,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,eAAe,GAAG,GAAG,EAAE;YACzB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEpD,OAAO,CACH,eAAK,SAAS,EAAC,wBAAwB,aACnC,MAAC,OAAO,IACJ,SAAS,QACT,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,UAAU,CAAC,aAAc,IAAyB,CAAC,IAAI,EAAE,CAAC,aAG9D,KAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAI,EAChF,KAAC,aAAa,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAI,EACpF,KAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAI,EAChF,KAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,IACrE,EAEV,cACI,UAAU,EAAE,CAAC,KAAgC,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACpG,WAAW,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACvC,MAAM,EAAE,CAAC,KAAgC,EAAE,EAAE;4BACzC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;4BACzB,aAAa,CAAC,KAAK,CAAC,CAAC;4BACrB,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;4BAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;4BACxD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;wBACtE,CAAC,EACD,SAAS,EAAC,sFAAsF,EAChG,KAAK,EAAE;4BACH,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,GAAG;4BACX,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB;4BAC1E,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB;4BACtE,KAAK,EAAE,6BAA6B;4BACpC,QAAQ,EAAE,UAAU;yBACvB,YAEA,OAAO,IAAI,kBAAkB,GAC5B,IACJ,CACT,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,KAAC,eAAe,KAAG,CAAC;IAC/B,CAAC;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"Toolbar.stories.js","sourceRoot":"","sources":["../../../Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { Icon } from '../Common/Icon';
|
|
3
|
+
import type { TooltipPosition } from '../Common/Tooltip';
|
|
4
|
+
export interface ToolbarFolderProps {
|
|
5
|
+
icon: Icon;
|
|
6
|
+
tooltip: string;
|
|
7
|
+
tooltipPosition?: TooltipPosition;
|
|
8
|
+
folderDirection?: 'right' | 'left';
|
|
9
|
+
maxColumns?: number;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export declare const ToolbarFolder: ({ icon, tooltip, tooltipPosition, folderDirection, maxColumns, children, }: ToolbarFolderProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=ToolbarFolder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarFolder.d.ts","sourceRoot":"","sources":["../../../Toolbar/ToolbarFolder.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,SAAS,EAAwC,MAAM,OAAO,CAAC;AAElF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,WAAW,kBAAkB;IAE/B,IAAI,EAAE,IAAI,CAAC;IAGX,OAAO,EAAE,MAAM,CAAC;IAGhB,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAGnC,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAQD,eAAO,MAAM,aAAa,GAAI,4EAO3B,kBAAkB,4CA6DpB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useMemo, Children, useEffect } from 'react';
|
|
3
|
+
import { IconDisplay } from '../Common/Icon.js';
|
|
4
|
+
import { Tooltip } from '../Common/Tooltip.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A toolbar folder that reveals a dynamically sized button grid when clicked.
|
|
8
|
+
*
|
|
9
|
+
* The grid keeps a compact footprint for small sets and grows naturally as more
|
|
10
|
+
* items are added. It also balances rows/columns so large sets remain visually even.
|
|
11
|
+
*/
|
|
12
|
+
const ToolbarFolder = ({ icon, tooltip, tooltipPosition = 'right', folderDirection = 'right', maxColumns = 5, children, }) => {
|
|
13
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
14
|
+
const containerRef = useRef(null);
|
|
15
|
+
const items = useMemo(() => Children.toArray(children).filter(child => child !== null && child !== undefined), [children]);
|
|
16
|
+
const itemCount = Math.max(1, items.length);
|
|
17
|
+
const columns = useMemo(() => {
|
|
18
|
+
const upperBound = Math.max(1, maxColumns);
|
|
19
|
+
const balancedColumns = Math.ceil(Math.sqrt(itemCount));
|
|
20
|
+
return Math.min(upperBound, balancedColumns);
|
|
21
|
+
}, [itemCount, maxColumns]);
|
|
22
|
+
const toggleExpanded = () => {
|
|
23
|
+
setIsExpanded(current => !current);
|
|
24
|
+
};
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (!isExpanded) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const handleClickOutside = (event) => {
|
|
30
|
+
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
31
|
+
setIsExpanded(false);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
35
|
+
return () => {
|
|
36
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
37
|
+
};
|
|
38
|
+
}, [isExpanded]);
|
|
39
|
+
const activeClass = isExpanded ? 'toolbar-button--active' : '';
|
|
40
|
+
const panelVisibleClass = isExpanded ? 'toolbar-folder-panel--visible' : '';
|
|
41
|
+
const directionClass = `toolbar-folder-panel--${folderDirection}`;
|
|
42
|
+
return (jsxs("div", { className: 'toolbar-folder-item', ref: containerRef, children: [jsx(Tooltip, { content: tooltip, position: tooltipPosition, children: jsx("button", { type: 'button', "aria-label": tooltip, "aria-expanded": isExpanded, onClick: toggleExpanded, className: `toolbar-button w-10 h-10 flex items-center justify-center rounded-lg cursor-pointer ${activeClass}`, children: jsx(IconDisplay, { icon: icon, className: 'text-lg' }) }) }), jsx("div", { className: `toolbar-folder-panel ${directionClass} ${panelVisibleClass}`, style: {
|
|
43
|
+
gridTemplateColumns: `repeat(${columns}, minmax(2.5rem, 2.5rem))`,
|
|
44
|
+
}, children: items })] }));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export { ToolbarFolder };
|
|
48
|
+
//# sourceMappingURL=ToolbarFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarFolder.js","sources":["../../../Toolbar/ToolbarFolder.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSection.d.ts","sourceRoot":"","sources":["../../../Toolbar/ToolbarSection.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA0B,SAAS,EAA6E,MAAM,OAAO,CAAC;AAKrI,MAAM,WAAW,mBAAmB;IAMhC,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,SAAS,CAAC;IAGpB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CAC3C;AAaD,eAAO,MAAM,cAAc,GAAI,0CAAuD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"ToolbarSection.d.ts","sourceRoot":"","sources":["../../../Toolbar/ToolbarSection.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA0B,SAAS,EAA6E,MAAM,OAAO,CAAC;AAKrI,MAAM,WAAW,mBAAmB;IAMhC,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,SAAS,CAAC;IAGpB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CAC3C;AAaD,eAAO,MAAM,cAAc,GAAI,0CAAuD,mBAAmB,4CAiFxG,CAAC"}
|
|
@@ -14,6 +14,7 @@ import { useRef, useState, Children, isValidElement, useCallback, useLayoutEffec
|
|
|
14
14
|
*/
|
|
15
15
|
const ToolbarSection = ({ activeContext, children, orientation = 'vertical' }) => {
|
|
16
16
|
const contextRefs = useRef({});
|
|
17
|
+
const resizeObserverRef = useRef(null);
|
|
17
18
|
const [size, setSize] = useState(null);
|
|
18
19
|
const contexts = Children.toArray(children).filter((child) => isValidElement(child) && typeof child.props.name === 'string');
|
|
19
20
|
// Default to the first context if activeContext is not provided
|
|
@@ -36,6 +37,25 @@ const ToolbarSection = ({ activeContext, children, orientation = 'vertical' }) =
|
|
|
36
37
|
useEffect(() => {
|
|
37
38
|
measureAndSetSize(effectiveContext);
|
|
38
39
|
}, [effectiveContext, measureAndSetSize]);
|
|
40
|
+
// Keep section dimensions in sync when the active context's content changes size after render.
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
const activeContextElement = contextRefs.current[effectiveContext];
|
|
43
|
+
if (!activeContextElement || typeof ResizeObserver === 'undefined') {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
resizeObserverRef.current?.disconnect();
|
|
47
|
+
const observer = new ResizeObserver(() => {
|
|
48
|
+
measureAndSetSize(effectiveContext);
|
|
49
|
+
});
|
|
50
|
+
observer.observe(activeContextElement);
|
|
51
|
+
resizeObserverRef.current = observer;
|
|
52
|
+
return () => {
|
|
53
|
+
observer.disconnect();
|
|
54
|
+
if (resizeObserverRef.current === observer) {
|
|
55
|
+
resizeObserverRef.current = null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}, [effectiveContext, measureAndSetSize]);
|
|
39
59
|
return (jsx("div", { className: 'toolbar-section', style: size ? { width: size.width, height: size.height } : undefined, children: contexts.map((child) => {
|
|
40
60
|
const { name, children: contextChildren } = child.props;
|
|
41
61
|
const isActive = name === effectiveContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSection.js","sources":["../../../Toolbar/ToolbarSection.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;AAuBA;;;;;;;;;;AAUG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,UAAU,EAAuB,KAAI;AACzG,IAAA,MAAM,WAAW,GAAG,MAAM,CAAwC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolbarSection.js","sources":["../../../Toolbar/ToolbarSection.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
|
|
@@ -10,4 +10,6 @@ export { ToolbarSeparator } from './ToolbarSeparator';
|
|
|
10
10
|
export type { ToolbarSeparatorProps } from './ToolbarSeparator';
|
|
11
11
|
export { ToolbarFanOutItem } from './ToolbarFanOutItem';
|
|
12
12
|
export type { ToolbarFanOutItemProps } from './ToolbarFanOutItem';
|
|
13
|
+
export { ToolbarFolder } from './ToolbarFolder';
|
|
14
|
+
export type { ToolbarFolderProps } from './ToolbarFolder';
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Toolbar/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Toolbar/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -4,6 +4,7 @@ export { ToolbarContext } from './ToolbarContext.js';
|
|
|
4
4
|
export { ToolbarSection } from './ToolbarSection.js';
|
|
5
5
|
export { ToolbarSeparator } from './ToolbarSeparator.js';
|
|
6
6
|
export { ToolbarFanOutItem } from './ToolbarFanOutItem.js';
|
|
7
|
+
export { ToolbarFolder } from './ToolbarFolder.js';
|
|
7
8
|
|
|
8
9
|
// Copyright (c) Cratis. All rights reserved.
|
|
9
10
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../Toolbar/index.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../Toolbar/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAAA;AACA"}
|