@furystack/shades-common-components 3.6.1 → 4.0.0
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/components/app-bar-link.js +18 -20
- package/dist/components/app-bar-link.js.map +1 -1
- package/dist/components/app-bar.js +7 -6
- package/dist/components/app-bar.js.map +1 -1
- package/dist/components/avatar.js +20 -18
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/button.js +32 -28
- package/dist/components/button.js.map +1 -1
- package/dist/components/command-palette/command-palette-input.js +24 -29
- package/dist/components/command-palette/command-palette-input.js.map +1 -1
- package/dist/components/command-palette/command-palette-suggestion-list.js +38 -47
- package/dist/components/command-palette/command-palette-suggestion-list.js.map +1 -1
- package/dist/components/command-palette/index.js +34 -40
- package/dist/components/command-palette/index.js.map +1 -1
- package/dist/components/data-grid/body.js +6 -13
- package/dist/components/data-grid/body.js.map +1 -1
- package/dist/components/data-grid/data-grid-row.js +29 -31
- package/dist/components/data-grid/data-grid-row.js.map +1 -1
- package/dist/components/data-grid/data-grid.js +4 -8
- package/dist/components/data-grid/data-grid.js.map +1 -1
- package/dist/components/data-grid/footer.js +8 -13
- package/dist/components/data-grid/footer.js.map +1 -1
- package/dist/components/data-grid/header.js +19 -18
- package/dist/components/data-grid/header.js.map +1 -1
- package/dist/components/data-grid/selection-cell.js +9 -23
- package/dist/components/data-grid/selection-cell.js.map +1 -1
- package/dist/components/fab.js +10 -5
- package/dist/components/fab.js.map +1 -1
- package/dist/components/grid.js.map +1 -1
- package/dist/components/inputs/autocomplete.js +3 -13
- package/dist/components/inputs/autocomplete.js.map +1 -1
- package/dist/components/inputs/input.js +22 -26
- package/dist/components/inputs/input.js.map +1 -1
- package/dist/components/inputs/text-area.js +2 -6
- package/dist/components/inputs/text-area.js.map +1 -1
- package/dist/components/loader.js +9 -5
- package/dist/components/loader.js.map +1 -1
- package/dist/components/modal.js +7 -17
- package/dist/components/modal.js.map +1 -1
- package/dist/components/noty-list.js +26 -28
- package/dist/components/noty-list.js.map +1 -1
- package/dist/components/paper.js +11 -5
- package/dist/components/paper.js.map +1 -1
- package/dist/components/suggest/index.js +14 -20
- package/dist/components/suggest/index.js.map +1 -1
- package/dist/components/suggest/suggest-input.js +9 -10
- package/dist/components/suggest/suggest-input.js.map +1 -1
- package/dist/components/suggest/suggest-manager.js +8 -2
- package/dist/components/suggest/suggest-manager.js.map +1 -1
- package/dist/components/suggest/suggestion-list.js +27 -30
- package/dist/components/suggest/suggestion-list.js.map +1 -1
- package/dist/components/tabs.js +32 -36
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/wizard/index.js +4 -7
- package/dist/components/wizard/index.js.map +1 -1
- package/dist/services/collection-service.js +10 -0
- package/dist/services/collection-service.js.map +1 -1
- package/package.json +6 -6
- package/src/components/app-bar-link.tsx +27 -30
- package/src/components/app-bar.tsx +21 -26
- package/src/components/avatar.tsx +40 -36
- package/src/components/button.tsx +85 -88
- package/src/components/command-palette/command-palette-input.tsx +15 -13
- package/src/components/command-palette/command-palette-suggestion-list.tsx +50 -58
- package/src/components/command-palette/index.tsx +54 -52
- package/src/components/data-grid/body.tsx +10 -22
- package/src/components/data-grid/data-grid-row.tsx +64 -63
- package/src/components/data-grid/data-grid.tsx +11 -11
- package/src/components/data-grid/footer.tsx +13 -16
- package/src/components/data-grid/header.tsx +34 -30
- package/src/components/data-grid/selection-cell.tsx +9 -19
- package/src/components/fab.tsx +21 -23
- package/src/components/grid.tsx +1 -1
- package/src/components/inputs/autocomplete.tsx +10 -16
- package/src/components/inputs/input.tsx +27 -27
- package/src/components/inputs/text-area.tsx +3 -11
- package/src/components/loader.tsx +20 -5
- package/src/components/modal.tsx +9 -17
- package/src/components/noty-list.tsx +54 -53
- package/src/components/paper.tsx +18 -17
- package/src/components/suggest/index.tsx +19 -30
- package/src/components/suggest/suggest-input.tsx +22 -15
- package/src/components/suggest/suggest-manager.ts +15 -3
- package/src/components/suggest/suggestion-list.tsx +90 -85
- package/src/components/tabs.tsx +50 -62
- package/src/components/wizard/index.tsx +6 -13
- package/src/services/collection-service.ts +14 -0
- package/tsconfig.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/types/components/app-bar-link.d.ts +1 -1
- package/types/components/app-bar-link.d.ts.map +1 -1
- package/types/components/app-bar.d.ts +1 -1
- package/types/components/app-bar.d.ts.map +1 -1
- package/types/components/avatar.d.ts +2 -1
- package/types/components/avatar.d.ts.map +1 -1
- package/types/components/button.d.ts +1 -1
- package/types/components/button.d.ts.map +1 -1
- package/types/components/command-palette/command-palette-input.d.ts +1 -1
- package/types/components/command-palette/command-palette-input.d.ts.map +1 -1
- package/types/components/command-palette/command-palette-suggestion-list.d.ts +1 -1
- package/types/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
- package/types/components/command-palette/index.d.ts +1 -5
- package/types/components/command-palette/index.d.ts.map +1 -1
- package/types/components/data-grid/body.d.ts +1 -5
- package/types/components/data-grid/body.d.ts.map +1 -1
- package/types/components/data-grid/data-grid-row.d.ts +1 -5
- package/types/components/data-grid/data-grid-row.d.ts.map +1 -1
- package/types/components/data-grid/data-grid.d.ts +5 -3
- package/types/components/data-grid/data-grid.d.ts.map +1 -1
- package/types/components/data-grid/footer.d.ts +1 -1
- package/types/components/data-grid/footer.d.ts.map +1 -1
- package/types/components/data-grid/header.d.ts +1 -1
- package/types/components/data-grid/header.d.ts.map +1 -1
- package/types/components/data-grid/selection-cell.d.ts +1 -1
- package/types/components/data-grid/selection-cell.d.ts.map +1 -1
- package/types/components/fab.d.ts +1 -1
- package/types/components/fab.d.ts.map +1 -1
- package/types/components/grid.d.ts +1 -1
- package/types/components/grid.d.ts.map +1 -1
- package/types/components/inputs/autocomplete.d.ts +1 -1
- package/types/components/inputs/autocomplete.d.ts.map +1 -1
- package/types/components/inputs/input.d.ts +1 -1
- package/types/components/inputs/input.d.ts.map +1 -1
- package/types/components/inputs/text-area.d.ts +1 -4
- package/types/components/inputs/text-area.d.ts.map +1 -1
- package/types/components/loader.d.ts +9 -1
- package/types/components/loader.d.ts.map +1 -1
- package/types/components/modal.d.ts +1 -1
- package/types/components/modal.d.ts.map +1 -1
- package/types/components/noty-list.d.ts +2 -2
- package/types/components/noty-list.d.ts.map +1 -1
- package/types/components/paper.d.ts +1 -1
- package/types/components/paper.d.ts.map +1 -1
- package/types/components/skeleton.d.ts +1 -1
- package/types/components/skeleton.d.ts.map +1 -1
- package/types/components/suggest/index.d.ts +1 -5
- package/types/components/suggest/index.d.ts.map +1 -1
- package/types/components/suggest/suggest-input.d.ts +1 -1
- package/types/components/suggest/suggest-input.d.ts.map +1 -1
- package/types/components/suggest/suggest-manager.d.ts +2 -1
- package/types/components/suggest/suggest-manager.d.ts.map +1 -1
- package/types/components/suggest/suggestion-list.d.ts +1 -1
- package/types/components/suggest/suggestion-list.d.ts.map +1 -1
- package/types/components/tabs.d.ts +2 -2
- package/types/components/tabs.d.ts.map +1 -1
- package/types/components/wizard/index.d.ts +2 -2
- package/types/components/wizard/index.d.ts.map +1 -1
- package/types/services/collection-service.d.ts +4 -0
- package/types/services/collection-service.d.ts.map +1 -1
|
@@ -22,23 +22,38 @@ const command_palette_manager_1 = require("./command-palette-manager");
|
|
|
22
22
|
const command_palette_input_1 = require("./command-palette-input");
|
|
23
23
|
const command_palette_suggestion_list_1 = require("./command-palette-suggestion-list");
|
|
24
24
|
const click_away_service_1 = require("../../services/click-away-service");
|
|
25
|
+
const services_1 = require("../../services");
|
|
25
26
|
__exportStar(require("./command-palette-input"), exports);
|
|
26
27
|
__exportStar(require("./command-palette-manager"), exports);
|
|
27
28
|
__exportStar(require("./command-palette-suggestion-list"), exports);
|
|
28
29
|
__exportStar(require("./command-provider"), exports);
|
|
29
30
|
exports.CommandPalette = (0, shades_1.Shade)({
|
|
30
31
|
shadowDomName: 'shade-command-palette',
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
render: ({ props, injector, element, useState, useDisposable, useObservable }) => {
|
|
33
|
+
element.style.flexGrow = '1';
|
|
34
|
+
const [manager] = useState('manager', new command_palette_manager_1.CommandPaletteManager(props.commandProviders));
|
|
35
|
+
const { theme } = injector.getInstance(services_1.ThemeProviderService);
|
|
36
|
+
useDisposable('clickAwayService', () => new click_away_service_1.ClickAwayService(element, () => manager.isOpened.setValue(false)));
|
|
37
|
+
const [isLoadingAtRender] = useObservable('isLoading', manager.isLoading, async (isLoading) => {
|
|
38
|
+
const loader = element.querySelector('.loader-container');
|
|
39
|
+
if (isLoading) {
|
|
40
|
+
(0, promisify_animation_1.promisifyAnimation)(loader, [{ opacity: 0 }, { opacity: 1 }], {
|
|
41
|
+
duration: 100,
|
|
42
|
+
fill: 'forwards',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
(0, promisify_animation_1.promisifyAnimation)(loader, [{ opacity: 1 }, { opacity: 0 }], {
|
|
47
|
+
duration: 100,
|
|
48
|
+
fill: 'forwards',
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const [isOpenedAtRender, setIsOpened] = useObservable('isOpened', manager.isOpened, (isOpened) => {
|
|
53
|
+
{
|
|
54
|
+
const suggestions = element.querySelector('.close-suggestions');
|
|
55
|
+
const postControls = element.querySelector('.post-controls');
|
|
56
|
+
const inputContainer = element.querySelector('.input-container');
|
|
42
57
|
if (isOpened) {
|
|
43
58
|
(0, promisify_animation_1.promisifyAnimation)(suggestions, [{ opacity: 0 }, { opacity: 1 }], {
|
|
44
59
|
duration: 500,
|
|
@@ -48,7 +63,7 @@ exports.CommandPalette = (0, shades_1.Shade)({
|
|
|
48
63
|
duration: 100,
|
|
49
64
|
fill: 'forwards',
|
|
50
65
|
});
|
|
51
|
-
(0, promisify_animation_1.promisifyAnimation)(
|
|
66
|
+
(0, promisify_animation_1.promisifyAnimation)(inputContainer, [{ background: 'transparent' }, { background: theme.background.default }], {
|
|
52
67
|
duration: 500,
|
|
53
68
|
fill: 'forwards',
|
|
54
69
|
easing: 'cubic-bezier(0.050, 0.570, 0.840, 1.005)',
|
|
@@ -64,35 +79,14 @@ exports.CommandPalette = (0, shades_1.Shade)({
|
|
|
64
79
|
fill: 'forwards',
|
|
65
80
|
delay: 300,
|
|
66
81
|
});
|
|
67
|
-
(0, promisify_animation_1.promisifyAnimation)(
|
|
82
|
+
(0, promisify_animation_1.promisifyAnimation)(inputContainer, [{ background: theme.background.default }, { background: 'transparent' }], {
|
|
68
83
|
duration: 300,
|
|
69
84
|
fill: 'forwards',
|
|
70
85
|
easing: 'cubic-bezier(0.000, 0.245, 0.190, 0.790)',
|
|
71
86
|
});
|
|
72
87
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const loader = rootElement.querySelector('.loader-container');
|
|
76
|
-
if (isLoading) {
|
|
77
|
-
(0, promisify_animation_1.promisifyAnimation)(loader, [{ opacity: 0 }, { opacity: 1 }], {
|
|
78
|
-
duration: 100,
|
|
79
|
-
fill: 'forwards',
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
(0, promisify_animation_1.promisifyAnimation)(loader, [{ opacity: 1 }, { opacity: 0 }], {
|
|
84
|
-
duration: 100,
|
|
85
|
-
fill: 'forwards',
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}),
|
|
89
|
-
clickAwayListener,
|
|
90
|
-
manager,
|
|
91
|
-
];
|
|
92
|
-
},
|
|
93
|
-
render: ({ props, injector, element, getState }) => {
|
|
94
|
-
element.style.flexGrow = '1';
|
|
95
|
-
const { manager } = getState();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
96
90
|
return ((0, shades_1.createComponent)("div", { style: { display: 'flex', flexDirection: 'column' }, onkeyup: (ev) => {
|
|
97
91
|
if (ev.key === 'Enter') {
|
|
98
92
|
ev.preventDefault();
|
|
@@ -123,18 +117,18 @@ exports.CommandPalette = (0, shades_1.Shade)({
|
|
|
123
117
|
color: '#aaa',
|
|
124
118
|
fontWeight: 'bolder',
|
|
125
119
|
textShadow: '0 0 1px #aaa',
|
|
126
|
-
}, onclick: () =>
|
|
120
|
+
}, onclick: () => setIsOpened(true) }, props.defaultPrefix),
|
|
127
121
|
(0, shades_1.createComponent)(command_palette_input_1.CommandPaletteInput, { manager: manager }),
|
|
128
122
|
(0, shades_1.createComponent)("div", { className: "post-controls", style: {
|
|
129
123
|
display: 'flex',
|
|
130
124
|
alignItems: 'center',
|
|
131
125
|
justifyContent: 'space-between',
|
|
132
|
-
width:
|
|
126
|
+
width: isOpenedAtRender ? '50px' : '0px',
|
|
133
127
|
overflow: 'hidden',
|
|
134
128
|
} },
|
|
135
|
-
(0, shades_1.createComponent)("div", { className: "loader-container", style: { width: '20px', height: '20px', opacity:
|
|
129
|
+
(0, shades_1.createComponent)("div", { className: "loader-container", style: { width: '20px', height: '20px', opacity: isLoadingAtRender ? '1' : '0' } },
|
|
136
130
|
(0, shades_1.createComponent)(loader_1.Loader, { style: { width: '100%', height: '100%' } })),
|
|
137
|
-
(0, shades_1.createComponent)("div", { className: "close-suggestions", onclick: () =>
|
|
131
|
+
(0, shades_1.createComponent)("div", { className: "close-suggestions", onclick: () => setIsOpened(false), style: {
|
|
138
132
|
width: '20px',
|
|
139
133
|
height: '20px',
|
|
140
134
|
opacity: manager.isOpened.getValue() ? '1' : '0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/command-palette/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA0D;AAC1D,yEAAoE;AACpE,sCAAkC;AAClC,uEAAiE;AACjE,mEAA6D;AAC7D,uFAAgF;AAEhF,0EAAoE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/command-palette/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,25 +5,18 @@ const shades_1 = require("@furystack/shades");
|
|
|
5
5
|
const loader_1 = require("../loader");
|
|
6
6
|
const data_grid_row_1 = require("./data-grid-row");
|
|
7
7
|
exports.DataGridBody = (0, shades_1.Shade)({
|
|
8
|
-
getInitialState: ({ props }) => ({
|
|
9
|
-
data: props.service.data.getValue().entries,
|
|
10
|
-
isLoading: props.service.isLoading.getValue(),
|
|
11
|
-
}),
|
|
12
|
-
resources: ({ props, updateState }) => [
|
|
13
|
-
props.service.data.subscribe((data) => updateState({ data: data.entries })),
|
|
14
|
-
props.service.isLoading.subscribe((isLoading) => updateState({ isLoading })),
|
|
15
|
-
],
|
|
16
8
|
shadowDomName: 'shade-data-grid-body',
|
|
17
|
-
render: ({
|
|
9
|
+
render: ({ props, element, useObservable }) => {
|
|
18
10
|
element.style.display = 'table-row-group';
|
|
19
|
-
const
|
|
20
|
-
|
|
11
|
+
const [data] = useObservable('data', props.service.data);
|
|
12
|
+
const [isLoading] = useObservable('isLoading', props.service.isLoading);
|
|
13
|
+
if (isLoading) {
|
|
21
14
|
return ((0, shades_1.createComponent)("div", { style: { display: 'flex', height: '100%', justifyContent: 'center', alignItems: 'center', width: '100%' } }, props.loaderComponent || (0, shades_1.createComponent)(loader_1.Loader, { style: { height: '128px', width: '128px' } })));
|
|
22
15
|
}
|
|
23
|
-
if (!
|
|
16
|
+
if (!data?.entries?.length) {
|
|
24
17
|
return props.emptyComponent || (0, shades_1.createComponent)("div", null, " - No Data - ");
|
|
25
18
|
}
|
|
26
|
-
return ((0, shades_1.createComponent)(shades_1.
|
|
19
|
+
return ((0, shades_1.createComponent)(shades_1.createComponent, null, data?.entries?.map((entry) => ((0, shades_1.createComponent)(data_grid_row_1.DataGridRow, { columns: props.columns, entry: entry, service: props.service, rowComponents: props.rowComponents, onRowClick: props.onRowClick, onRowDoubleClick: props.onRowDoubleClick, focusedRowStyle: props.focusedRowStyle, unfocusedRowStyle: props.unfocusedRowStyle, selectedRowStyle: props.selectedRowStyle, unselectedRowStyle: props.unselectedRowStyle })))));
|
|
27
20
|
},
|
|
28
21
|
});
|
|
29
22
|
//# sourceMappingURL=body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/components/data-grid/body.tsx"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/components/data-grid/body.tsx"],"names":[],"mappings":";;;AAEA,8CAA0D;AAE1D,sCAAkC;AAClC,mDAA6C;AAiBhC,QAAA,YAAY,GAAiF,IAAA,cAAK,EAE7G;IACA,aAAa,EAAE,sBAAsB;IACrC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAA;QAEzC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEvE,IAAI,SAAS,EAAE;YACb,OAAO,CACL,uCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAE3G,KAAK,CAAC,eAAe,IAAI,8BAAC,eAAM,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,CAC5E,CACP,CAAA;SACF;QAED,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YAC1B,OAAO,KAAK,CAAC,cAAc,IAAI,2DAAwB,CAAA;SACxD;QAED,OAAO,CACL,8DACG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,8BAAC,2BAAW,IACV,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAC/B,CAChB,CAAC,CACD,CACJ,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -2,18 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DataGridRow = void 0;
|
|
4
4
|
const shades_1 = require("@furystack/shades");
|
|
5
|
+
const services_1 = require("../../services");
|
|
5
6
|
exports.DataGridRow = (0, shades_1.Shade)({
|
|
6
|
-
getInitialState: ({ props }) => ({
|
|
7
|
-
focus: props.service.focusedEntry.getValue(),
|
|
8
|
-
selection: props.service.selection.getValue(),
|
|
9
|
-
}),
|
|
10
7
|
shadowDomName: 'shades-data-grid-row',
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
render: ({ props, element, useObservable, injector }) => {
|
|
9
|
+
const { entry, rowComponents, columns, service } = props;
|
|
10
|
+
const { theme } = injector.getInstance(services_1.ThemeProviderService);
|
|
11
|
+
const attachSelectedStyles = (selection) => {
|
|
12
|
+
if (selection.includes(entry)) {
|
|
13
|
+
element.classList.add('selected');
|
|
14
|
+
(0, shades_1.attachStyles)(element, { style: props.selectedRowStyle || { backgroundColor: theme.background.default } });
|
|
15
|
+
element.setAttribute('aria-selected', 'true');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
element.classList.remove('selected');
|
|
19
|
+
(0, shades_1.attachStyles)(element, { style: props.unselectedRowStyle || { backgroundColor: 'transparent' } });
|
|
20
|
+
element.setAttribute('aria-selected', 'false');
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const [selection] = useObservable('isSelected', service.selection, attachSelectedStyles, true);
|
|
24
|
+
attachSelectedStyles(selection);
|
|
25
|
+
const [focus] = useObservable('focus', service.focusedEntry, (newEntry) => {
|
|
13
26
|
if (newEntry === props.entry) {
|
|
14
27
|
(0, shades_1.attachStyles)(element, {
|
|
15
28
|
style: props.focusedRowStyle || {
|
|
16
|
-
|
|
29
|
+
boxShadow: `0 0 0 1px ${theme.palette.primary.main}`,
|
|
17
30
|
fontWeight: 'bolder',
|
|
18
31
|
},
|
|
19
32
|
});
|
|
@@ -25,8 +38,8 @@ exports.DataGridRow = (0, shades_1.Shade)({
|
|
|
25
38
|
if (maxTop < currentTop) {
|
|
26
39
|
parent.scrollTo({ top: maxTop, behavior: 'smooth' });
|
|
27
40
|
}
|
|
28
|
-
const footerHeight = element.closest('shade-data-grid')?.querySelector('shade-data-grid-footer')?.getBoundingClientRect()
|
|
29
|
-
42;
|
|
41
|
+
const footerHeight = element.closest('shade-data-grid')?.querySelector('shade-data-grid-footer')?.getBoundingClientRect()
|
|
42
|
+
.height || 42;
|
|
30
43
|
const visibleMaxTop = parent.clientHeight - footerHeight;
|
|
31
44
|
const desiredMaxTop = element.offsetTop + element.clientHeight;
|
|
32
45
|
if (desiredMaxTop > visibleMaxTop) {
|
|
@@ -37,40 +50,25 @@ exports.DataGridRow = (0, shades_1.Shade)({
|
|
|
37
50
|
element.classList.remove('focused');
|
|
38
51
|
(0, shades_1.attachStyles)(element, {
|
|
39
52
|
style: props.unfocusedRowStyle || {
|
|
40
|
-
|
|
53
|
+
boxShadow: 'none',
|
|
41
54
|
fontWeight: 'inherit',
|
|
42
55
|
},
|
|
43
56
|
});
|
|
44
57
|
}
|
|
45
|
-
}, true)
|
|
46
|
-
props.service.selection.subscribe((selection) => {
|
|
47
|
-
if (selection.includes(props.entry)) {
|
|
48
|
-
element.classList.add('selected');
|
|
49
|
-
(0, shades_1.attachStyles)(element, { style: props.selectedRowStyle || { backgroundColor: 'rgba(128,128,128,0.1)' } });
|
|
50
|
-
element.setAttribute('aria-selected', 'true');
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
element.classList.remove('selected');
|
|
54
|
-
(0, shades_1.attachStyles)(element, { style: props.unselectedRowStyle || { backgroundColor: 'transparent' } });
|
|
55
|
-
element.setAttribute('aria-selected', 'false');
|
|
56
|
-
}
|
|
57
|
-
}, true),
|
|
58
|
-
],
|
|
59
|
-
render: ({ getState, props, element }) => {
|
|
60
|
-
const state = getState();
|
|
61
|
-
const { entry, rowComponents, columns } = props;
|
|
58
|
+
}, true);
|
|
62
59
|
element.style.display = 'table-row';
|
|
63
60
|
element.style.cursor = 'default';
|
|
64
61
|
element.style.userSelect = 'none';
|
|
65
|
-
if (
|
|
62
|
+
if (selection?.includes(entry)) {
|
|
66
63
|
element.setAttribute('aria-selected', 'true');
|
|
67
64
|
element.classList.add('selected');
|
|
68
65
|
}
|
|
69
|
-
if (
|
|
66
|
+
if (focus === entry) {
|
|
70
67
|
element.classList.add('focused');
|
|
71
68
|
}
|
|
72
|
-
element.setAttribute('aria-selected',
|
|
73
|
-
return ((0, shades_1.createComponent)(shades_1.
|
|
69
|
+
element.setAttribute('aria-selected', selection?.includes(entry).toString() || 'false');
|
|
70
|
+
return ((0, shades_1.createComponent)(shades_1.createComponent, null, columns.map((column) => ((0, shades_1.createComponent)("td", { style: { padding: '0.5em' }, onclick: (ev) => props.onRowClick?.(entry, ev), ondblclick: (ev) => props.onRowDoubleClick?.(entry, ev) }, rowComponents?.[column]?.(entry, { selection, focus }) ||
|
|
71
|
+
rowComponents?.default?.(entry, { selection, focus }) || (0, shades_1.createComponent)("span", null, entry[column]))))));
|
|
74
72
|
},
|
|
75
73
|
});
|
|
76
74
|
//# sourceMappingURL=data-grid-row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-grid-row.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid-row.tsx"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"data-grid-row.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid-row.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,21 +8,17 @@ const footer_1 = require("./footer");
|
|
|
8
8
|
const services_1 = require("../../services");
|
|
9
9
|
exports.DataGrid = (0, shades_1.Shade)({
|
|
10
10
|
shadowDomName: 'shade-data-grid',
|
|
11
|
-
resources: ({ element, props }) => {
|
|
12
|
-
return [
|
|
13
|
-
new services_1.ClickAwayService(element, () => {
|
|
14
|
-
props.service.hasFocus.setValue(false);
|
|
15
|
-
}),
|
|
16
|
-
];
|
|
17
|
-
},
|
|
18
11
|
constructed: ({ props }) => {
|
|
19
12
|
const listener = (ev) => props.service.handleKeyDown(ev);
|
|
20
13
|
window.addEventListener('keydown', listener);
|
|
21
14
|
return () => window.removeEventListener('keydown', listener);
|
|
22
15
|
},
|
|
23
|
-
render: ({ props, injector }) => {
|
|
16
|
+
render: ({ props, injector, useDisposable, element }) => {
|
|
24
17
|
const tp = injector.getInstance(services_1.ThemeProviderService);
|
|
25
18
|
const { theme } = tp;
|
|
19
|
+
useDisposable('clickAway', () => new services_1.ClickAwayService(element, () => {
|
|
20
|
+
props.service.hasFocus.setValue(false);
|
|
21
|
+
}));
|
|
26
22
|
const headerStyle = {
|
|
27
23
|
backdropFilter: 'blur(12px)',
|
|
28
24
|
padding: '12px 0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":";;;AACA,8CAA0D;AAG1D,qCAAyC;AACzC,iCAAqC;AACrC,qCAAyC;AACzC,6CAAuE;
|
|
1
|
+
{"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,14 @@ const services_1 = require("../../services");
|
|
|
6
6
|
exports.dataGridItemsPerPage = [10, 20, 25, 50, 100, Infinity];
|
|
7
7
|
exports.DataGridFooter = (0, shades_1.Shade)({
|
|
8
8
|
shadowDomName: 'shade-data-grid-footer',
|
|
9
|
-
|
|
10
|
-
data: props.service.data.getValue(),
|
|
11
|
-
}),
|
|
12
|
-
constructed: ({ props, updateState }) => {
|
|
13
|
-
const disposables = [props.service.data.subscribe((data) => updateState({ data }))];
|
|
14
|
-
return () => disposables.forEach((d) => d.dispose());
|
|
15
|
-
},
|
|
16
|
-
render: ({ props, getState, injector }) => {
|
|
17
|
-
const state = getState();
|
|
18
|
-
const currentQuerySettings = props.service.querySettings.getValue();
|
|
19
|
-
const currentPage = Math.ceil(currentQuerySettings.skip || 0) / (currentQuerySettings.top || 1);
|
|
20
|
-
const currentEntriesPerPage = currentQuerySettings.top || Infinity;
|
|
9
|
+
render: ({ props, injector, useObservable }) => {
|
|
21
10
|
const { theme } = injector.getInstance(services_1.ThemeProviderService);
|
|
11
|
+
const [currentData] = useObservable('dataUpdater', props.service.data);
|
|
12
|
+
const [currentQuerySettings] = useObservable('querySettings', props.service.querySettings);
|
|
13
|
+
const top = currentQuerySettings.top || Infinity;
|
|
14
|
+
const skip = currentQuerySettings.skip || 0;
|
|
15
|
+
const currentPage = Math.ceil(skip) / (top || 1);
|
|
16
|
+
const currentEntriesPerPage = top;
|
|
22
17
|
return ((0, shades_1.createComponent)("div", { className: "pager", style: {
|
|
23
18
|
backdropFilter: 'blur(10px)',
|
|
24
19
|
color: theme.text.secondary,
|
|
@@ -36,7 +31,7 @@ exports.DataGridFooter = (0, shades_1.Shade)({
|
|
|
36
31
|
const currentQuery = props.service.querySettings.getValue();
|
|
37
32
|
props.service.querySettings.setValue({ ...currentQuery, skip: (currentQuery.top || 0) * value });
|
|
38
33
|
} }, [
|
|
39
|
-
...new Array(Math.ceil(
|
|
34
|
+
...new Array(Math.ceil(currentData.count / (props.service.querySettings.getValue().top || Infinity))),
|
|
40
35
|
].map((_val, index) => ((0, shades_1.createComponent)("option", { value: index.toString(), selected: currentPage === index }, (index + 1).toString())))))),
|
|
41
36
|
(0, shades_1.createComponent)("div", null,
|
|
42
37
|
"Show",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/components/data-grid/footer.tsx"],"names":[],"mappings":";;;AAAA,8CAA0D;AAC1D,6CAAqD;AAGxC,QAAA,oBAAoB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;AAEtD,QAAA,cAAc,GAAG,IAAA,cAAK,
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/components/data-grid/footer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,17 @@ const utils_1 = require("@furystack/utils");
|
|
|
6
6
|
const input_1 = require("../inputs/input");
|
|
7
7
|
exports.DataGridHeader = (0, shades_1.Shade)({
|
|
8
8
|
shadowDomName: 'data-grid-header',
|
|
9
|
-
getInitialState: ({ props }) => ({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
// getInitialState: ({ props }) => ({
|
|
10
|
+
// querySettings: props.collectionService.querySettings.getValue(),
|
|
11
|
+
// isSearchOpened: false,
|
|
12
|
+
// updateSearchValue: ,
|
|
13
|
+
// }),
|
|
14
|
+
render: ({ props, element, useState, useObservable }) => {
|
|
15
|
+
const [querySettings, setQuerySettings] = useObservable('querySettings', props.collectionService.querySettings);
|
|
16
|
+
const currentOrder = Object.keys(querySettings.order || {})[0];
|
|
17
|
+
const currentOrderDirection = Object.values(querySettings.order || {})[0];
|
|
18
|
+
const [isSearchOpened, setIsSearchOpened] = useState('isSearchOpened', false);
|
|
19
|
+
const [updateSearchValue] = useState('updateSearchValue', (0, utils_1.debounce)((value) => {
|
|
13
20
|
const currentSettings = props.collectionService.querySettings.getValue();
|
|
14
21
|
const newSettings = {
|
|
15
22
|
...currentSettings,
|
|
@@ -19,26 +26,20 @@ exports.DataGridHeader = (0, shades_1.Shade)({
|
|
|
19
26
|
},
|
|
20
27
|
};
|
|
21
28
|
props.collectionService.querySettings.setValue(newSettings);
|
|
22
|
-
})
|
|
23
|
-
}),
|
|
24
|
-
constructed: ({ props, updateState, getState }) => {
|
|
25
|
-
const disposable = props.collectionService.querySettings.subscribe((querySettings) => updateState({ querySettings }, getState().isSearchOpened));
|
|
26
|
-
return () => disposable.dispose();
|
|
27
|
-
},
|
|
28
|
-
render: ({ getState, props, updateState, element }) => {
|
|
29
|
-
const currentState = getState();
|
|
30
|
-
const currentOrder = Object.keys(currentState.querySettings.order || {})[0];
|
|
31
|
-
const currentOrderDirection = Object.values(currentState.querySettings.order || {})[0];
|
|
29
|
+
}));
|
|
32
30
|
const filterValue = props.collectionService.querySettings.getValue().filter?.[props.field]?.$regex || '';
|
|
33
|
-
|
|
31
|
+
useObservable('querySettingsChange', props.collectionService.querySettings, (newSettings) => {
|
|
32
|
+
setQuerySettings(newSettings);
|
|
33
|
+
});
|
|
34
|
+
if (isSearchOpened) {
|
|
34
35
|
setTimeout(() => {
|
|
35
36
|
element.querySelector('input')?.focus();
|
|
36
37
|
}, 1);
|
|
37
|
-
return ((0, shades_1.createComponent)(input_1.Input, { style: { padding: '0px' }, value: filterValue, placeholder: props.field, autofocus: true, onblur: () =>
|
|
38
|
+
return ((0, shades_1.createComponent)(input_1.Input, { style: { padding: '0px' }, value: filterValue, placeholder: props.field, autofocus: true, onblur: () => setIsSearchOpened(false), onkeyup: (ev) => updateSearchValue(ev.target.value), labelProps: {
|
|
38
39
|
style: { padding: '0px 2em' },
|
|
39
40
|
} }));
|
|
40
41
|
}
|
|
41
|
-
return ((0, shades_1.createComponent)("div", { style: { display: 'flex', width: '100%', height: '100%', justifyContent: 'space-around' }, onclick: () =>
|
|
42
|
+
return ((0, shades_1.createComponent)("div", { style: { display: 'flex', width: '100%', height: '100%', justifyContent: 'space-around' }, onclick: () => setIsSearchOpened(true) },
|
|
42
43
|
(0, shades_1.createComponent)("div", null, props.field),
|
|
43
44
|
(0, shades_1.createComponent)("div", { className: "header-controls", style: { display: 'flex', justifyContent: 'center', alignItems: 'center' } },
|
|
44
45
|
(0, shades_1.createComponent)("div", { title: "Change order", style: { padding: '0 1em', cursor: 'pointer', opacity: currentOrder === props.field ? '1' : '0.5' }, onclick: (ev) => {
|
|
@@ -50,7 +51,7 @@ exports.DataGridHeader = (0, shades_1.Shade)({
|
|
|
50
51
|
}
|
|
51
52
|
newOrder[props.field] = newDirection;
|
|
52
53
|
props.collectionService.querySettings.setValue({
|
|
53
|
-
...
|
|
54
|
+
...querySettings,
|
|
54
55
|
order: newOrder,
|
|
55
56
|
});
|
|
56
57
|
} }, (currentOrder === props.field && (currentOrderDirection === 'ASC' ? '⬇' : '⬆')) || '↕'))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/data-grid/header.tsx"],"names":[],"mappings":";;;AAEA,8CAA0D;AAC1D,4CAA2C;AAE3C,2CAAuC;AAa1B,QAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/data-grid/header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,29 +4,15 @@ exports.SelectionCell = void 0;
|
|
|
4
4
|
const shades_1 = require("@furystack/shades");
|
|
5
5
|
exports.SelectionCell = (0, shades_1.Shade)({
|
|
6
6
|
shadowDomName: 'shades-data-grid-selection-cell',
|
|
7
|
-
|
|
8
|
-
props.service.selection
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
;
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
}),
|
|
18
|
-
],
|
|
19
|
-
render: ({ props }) => {
|
|
20
|
-
return ((0, shades_1.createComponent)("input", { onchange: (ev) => {
|
|
21
|
-
if (ev.target.checked) {
|
|
22
|
-
props.service.selection.setValue([...props.service.selection.getValue(), props.entry]);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
props.service.selection.setValue([
|
|
26
|
-
...props.service.selection.getValue().filter((entry) => entry !== props.entry),
|
|
27
|
-
]);
|
|
28
|
-
}
|
|
29
|
-
}, type: "checkbox", checked: props.service.selection.getValue().includes(props.entry) ? true : false }));
|
|
7
|
+
render: ({ props, useObservable, element }) => {
|
|
8
|
+
const [selection] = useObservable('selection', props.service.selection, (newSelection) => {
|
|
9
|
+
;
|
|
10
|
+
element.querySelector('input').checked = newSelection.includes(props.entry);
|
|
11
|
+
});
|
|
12
|
+
const isSelected = selection.includes(props.entry);
|
|
13
|
+
return ((0, shades_1.createComponent)("input", { onchange: () => {
|
|
14
|
+
props.service.toggleSelection(props.entry);
|
|
15
|
+
}, type: "checkbox", checked: isSelected }));
|
|
30
16
|
},
|
|
31
17
|
});
|
|
32
18
|
//# sourceMappingURL=selection-cell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-cell.js","sourceRoot":"","sources":["../../../src/components/data-grid/selection-cell.tsx"],"names":[],"mappings":";;;AAAA,8CAA0D;AAG7C,QAAA,aAAa,GAAG,IAAA,cAAK,EAAkD;IAClF,aAAa,EAAE,iCAAiC;IAChD,
|
|
1
|
+
{"version":3,"file":"selection-cell.js","sourceRoot":"","sources":["../../../src/components/data-grid/selection-cell.tsx"],"names":[],"mappings":";;;AAAA,8CAA0D;AAG7C,QAAA,aAAa,GAAG,IAAA,cAAK,EAAkD;IAClF,aAAa,EAAE,iCAAiC;IAChD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;YACvF,CAAC;YAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAsB,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpG,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAElD,OAAO,CACL,yCACE,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5C,CAAC,EACD,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,UAAU,GACnB,CACH,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
|
package/dist/components/fab.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Fab = void 0;
|
|
4
4
|
const shades_1 = require("@furystack/shades");
|
|
5
|
-
|
|
5
|
+
const shades_2 = require("@furystack/shades");
|
|
6
|
+
exports.Fab = (0, shades_2.Shade)({
|
|
6
7
|
shadowDomName: 'shade-fab',
|
|
7
|
-
render: ({ props, children }) => {
|
|
8
|
-
|
|
8
|
+
render: ({ props, children, element }) => {
|
|
9
|
+
(0, shades_1.attachProps)(element, {
|
|
10
|
+
...props,
|
|
11
|
+
style: {
|
|
9
12
|
position: 'fixed',
|
|
10
13
|
bottom: '32px',
|
|
11
14
|
right: '32px',
|
|
@@ -18,8 +21,10 @@ exports.Fab = (0, shades_1.Shade)({
|
|
|
18
21
|
borderRadius: '50%',
|
|
19
22
|
boxShadow: '2px 2px 4px rgba(0,0,0,0.3)',
|
|
20
23
|
cursor: 'pointer',
|
|
21
|
-
...props
|
|
22
|
-
}
|
|
24
|
+
...props?.style,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
return (0, shades_2.createComponent)(shades_2.createComponent, null, children);
|
|
23
28
|
},
|
|
24
29
|
});
|
|
25
30
|
//# sourceMappingURL=fab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fab.js","sourceRoot":"","sources":["../../src/components/fab.tsx"],"names":[],"mappings":";;;AACA,8CAA0D;AAE7C,QAAA,GAAG,GAAG,IAAA,cAAK,EAAiC;IACvD,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"fab.js","sourceRoot":"","sources":["../../src/components/fab.tsx"],"names":[],"mappings":";;;AACA,8CAA+C;AAC/C,8CAA0D;AAE7C,QAAA,GAAG,GAAG,IAAA,cAAK,EAAiC;IACvD,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACvC,IAAA,oBAAW,EAAC,OAAO,EAAE;YACnB,GAAG,KAAK;YACR,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,6BAA6B;gBACxC,MAAM,EAAE,SAAS;gBACjB,GAAG,KAAK,EAAE,KAAK;aAChB;SACF,CAAC,CAAA;QACF,OAAO,8DAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/components/grid.tsx"],"names":[],"mappings":";;;AACA,8CAA0D;AAC1D,0CAAkD;AAuBrC,QAAA,IAAI,
|
|
1
|
+
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/components/grid.tsx"],"names":[],"mappings":";;;AACA,8CAA0D;AAC1D,0CAAkD;AAuBrC,QAAA,IAAI,GAAyE,IAAA,cAAK,EAAC;IAC9F,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,+BAAoB,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAiC;YAChD,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;YACvC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;YAC3B,YAAY,EAAE,KAAK;YACnB,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,iBAAiB;YAC9B,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM;SACxB,CAAA;QACD,OAAO,CACL,uCACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE;gBACL,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO;gBACxB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;aACjB;YAED,yCAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE;gBACnD;oBACE,0CACG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,OAAO,CACL,sCAAI,KAAK,EAAE,WAAW,IACnB,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAC1F,4CAAO,MAAM,CAAQ,CACtB,CACE,CACN,CAAA;oBACH,CAAC,CAAC,CACC,CACC;gBACR,6CACG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,0CACG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,sCAAI,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAC1B,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAClF,4CAAO,KAAK,CAAC,MAAM,CAAC,CAAQ,CAC7B,CACE,CACN,CAAC,CACC,CACN,CAAC,CACI,CACF,CACJ,CACP,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
|