es-application-template 0.0.7 → 0.0.8

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.
@@ -0,0 +1,438 @@
1
+ /* Package-owned styles only. Host ADMIN styles live outside es-application-template. */
2
+ .becoxy-admin {
3
+ min-width: 0;
4
+ }
5
+
6
+ .becoxy-admin .min-w-0 {
7
+ min-width: 0;
8
+ }
9
+
10
+ .becoxy-admin-list-page {
11
+ --be-page-inline-padding: var(--be-content-padding);
12
+ --be-page-block-padding: var(--be-content-padding);
13
+ --be-list-inline-padding: var(--be-page-inline-padding);
14
+ --be-list-block-padding: var(--be-page-block-padding);
15
+ --be-list-gap: var(--be-section-gap);
16
+ display: flex;
17
+ flex-direction: column;
18
+ gap: var(--be-list-gap);
19
+ width: 100%;
20
+ height: 100%;
21
+ min-width: 0;
22
+ min-height: 0;
23
+ padding: var(--be-list-block-padding) var(--be-list-inline-padding);
24
+ overflow: hidden;
25
+ background-color: var(--be-background);
26
+ }
27
+
28
+ .becoxy-admin-list-page__header {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: space-between;
32
+ gap: var(--be-gutter);
33
+ min-width: 0;
34
+ min-height: 44px;
35
+ color: var(--be-text-primary);
36
+ background-color: var(--be-background);
37
+ }
38
+
39
+ .becoxy-admin-list-page__actions {
40
+ display: flex;
41
+ flex: 0 0 auto;
42
+ flex-wrap: wrap;
43
+ align-items: center;
44
+ justify-content: flex-end;
45
+ gap: var(--be-card-gap);
46
+ }
47
+
48
+ .becoxy-admin-list-page__summary,
49
+ .becoxy-admin-list-page__tabs,
50
+ .becoxy-admin-list-page__content {
51
+ min-width: 0;
52
+ }
53
+
54
+ .becoxy-admin-list-page__summary:empty,
55
+ .becoxy-admin-list-page__tabs:empty {
56
+ display: none;
57
+ }
58
+
59
+ .becoxy-admin-list-page__tabs {
60
+ overflow-x: auto;
61
+ overflow-y: hidden;
62
+ scrollbar-width: none;
63
+ }
64
+
65
+ .becoxy-admin-list-page__tabs::-webkit-scrollbar {
66
+ display: none;
67
+ }
68
+
69
+ .becoxy-admin-list-page__content {
70
+ display: flex;
71
+ flex: 1 1 auto;
72
+ flex-direction: column;
73
+ min-height: 0;
74
+ overflow: hidden;
75
+ overscroll-behavior: contain;
76
+ }
77
+
78
+ .becoxy-admin-list-page__content > .grid-table-component,
79
+ .becoxy-admin-list-page__content > .card,
80
+ .becoxy-admin-list-page__content > .section-card,
81
+ .becoxy-admin-list-page__content > .flex-grow-1 {
82
+ flex: 1 1 auto;
83
+ min-height: 0;
84
+ }
85
+
86
+ .becoxy-admin .btn-outline-primary,
87
+ .becoxy-admin .btn-outline-secondary,
88
+ .becoxy-admin .btn-outline-primary:hover,
89
+ .becoxy-admin .btn-outline-secondary:hover,
90
+ .becoxy-admin .btn-outline-primary:focus,
91
+ .becoxy-admin .btn-outline-secondary:focus,
92
+ .becoxy-admin .btn-outline-primary:active,
93
+ .becoxy-admin .btn-outline-secondary:active,
94
+ .becoxy-admin .btn-outline-primary.active,
95
+ .becoxy-admin .btn-outline-secondary.active {
96
+ color: var(--be-text-primary, #283046) !important;
97
+ background-color: var(--be-surface, #fff) !important;
98
+ border-color: var(--be-border, #ebe9f1) !important;
99
+ }
100
+
101
+ .becoxy-admin-standard {
102
+ color: var(--be-text-primary);
103
+ }
104
+
105
+ .becoxy-admin-standard.becoxy-admin-list-page .becoxy-admin-list-page__header {
106
+ min-height: 44px;
107
+ }
108
+
109
+ .becoxy-admin-standard.becoxy-admin-list-page {
110
+ background: var(--be-background);
111
+ }
112
+
113
+ .becoxy-admin-standard .becoxy-admin-list-page__content {
114
+ min-height: 0;
115
+ overflow: hidden;
116
+ }
117
+
118
+ .becoxy-grid-slot {
119
+ display: flex;
120
+ flex: 1 1 auto;
121
+ flex-direction: column;
122
+ min-height: 0;
123
+ overflow: hidden;
124
+ }
125
+
126
+ .becoxy-grid-slot > .grid-table-component {
127
+ flex: 1 1 auto;
128
+ min-height: 0;
129
+ }
130
+
131
+ @media (max-width: 767.98px) {
132
+ .becoxy-admin-list-page__header {
133
+ align-items: flex-start;
134
+ min-height: auto;
135
+ }
136
+ .becoxy-admin-list-page__header .text-muted {
137
+ display: none;
138
+ }
139
+ }
140
+ .config-feature-tree-select .select__option {
141
+ padding-left: 8px;
142
+ padding-right: 8px;
143
+ }
144
+
145
+ .config-feature-tree-select__option {
146
+ display: flex;
147
+ align-items: center;
148
+ min-width: 0;
149
+ }
150
+
151
+ .config-feature-tree-select__toggle,
152
+ .config-feature-tree-select__toggle-spacer {
153
+ display: inline-flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ flex: 0 0 22px;
157
+ width: 22px;
158
+ height: 22px;
159
+ margin-right: 2px;
160
+ }
161
+
162
+ .config-feature-tree-select__toggle {
163
+ padding: 0;
164
+ border: 0;
165
+ border-radius: 4px;
166
+ background: transparent;
167
+ color: inherit;
168
+ line-height: 1;
169
+ cursor: pointer;
170
+ }
171
+ .config-feature-tree-select__toggle:hover, .config-feature-tree-select__toggle:focus-visible {
172
+ background: rgba(var(--be-primary-rgb, 115, 103, 240), 0.12);
173
+ outline: none;
174
+ }
175
+
176
+ .config-feature-tree-select__label {
177
+ min-width: 0;
178
+ overflow: hidden;
179
+ text-overflow: ellipsis;
180
+ white-space: nowrap;
181
+ }
182
+ .customizer.config-tree-rules-drawer {
183
+ width: min(1000px, 100vw);
184
+ max-width: 100vw;
185
+ color: #000 !important;
186
+ background: #fff !important;
187
+ }
188
+ .customizer.config-tree-rules-drawer .config-key-sample-layout,
189
+ .customizer.config-tree-rules-drawer .config-key-sample-content,
190
+ .customizer.config-tree-rules-drawer .config-key-sample-toolbar,
191
+ .customizer.config-tree-rules-drawer .table,
192
+ .customizer.config-tree-rules-drawer .table thead th,
193
+ .customizer.config-tree-rules-drawer .table tbody td {
194
+ color: #000 !important;
195
+ background: #fff !important;
196
+ }
197
+ .customizer.config-tree-rules-drawer .modal-title,
198
+ .customizer.config-tree-rules-drawer h6,
199
+ .customizer.config-tree-rules-drawer th,
200
+ .customizer.config-tree-rules-drawer td,
201
+ .customizer.config-tree-rules-drawer strong,
202
+ .customizer.config-tree-rules-drawer .config-key-sample-text,
203
+ .customizer.config-tree-rules-drawer .config-key-sample-empty,
204
+ .customizer.config-tree-rules-drawer .form-control {
205
+ color: #000 !important;
206
+ }
207
+ .customizer.config-tree-rules-drawer .config-key-sample-text {
208
+ padding: 0;
209
+ background: transparent !important;
210
+ font-family: monospace;
211
+ font-size: 12px;
212
+ overflow-wrap: anywhere;
213
+ }
214
+ .customizer.config-tree-rules-drawer .config-key-sample-copy-row {
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: space-between;
218
+ gap: 8px;
219
+ }
220
+ .customizer.config-tree-rules-drawer .config-key-sample-copy-row + .config-key-sample-copy-row {
221
+ margin-top: 2px;
222
+ }
223
+ .customizer.config-tree-rules-drawer .config-key-sample-copy-button {
224
+ display: inline-flex;
225
+ flex: 0 0 28px;
226
+ width: 28px;
227
+ height: 28px;
228
+ align-items: center;
229
+ justify-content: center;
230
+ padding: 0;
231
+ color: #000;
232
+ background: transparent;
233
+ border: 0;
234
+ border-radius: 4px;
235
+ cursor: pointer;
236
+ }
237
+ .customizer.config-tree-rules-drawer .config-key-sample-copy-button:hover {
238
+ background: #f2f2f2;
239
+ }
240
+ .customizer.config-tree-rules-drawer .config-key-sample-copy-button:focus-visible {
241
+ outline: 2px solid #000;
242
+ outline-offset: 1px;
243
+ }
244
+ .customizer.config-tree-rules-drawer .form-control::placeholder {
245
+ color: #000;
246
+ opacity: 1;
247
+ }
248
+ .customizer.config-tree-rules-drawer .select__single-value,
249
+ .customizer.config-tree-rules-drawer .select__placeholder,
250
+ .customizer.config-tree-rules-drawer .select__input-container,
251
+ .customizer.config-tree-rules-drawer .select__option {
252
+ color: #000 !important;
253
+ }
254
+ @charset "UTF-8";
255
+ .bx-shortcut-management {
256
+ display: flex;
257
+ flex: 1 1 auto;
258
+ flex-direction: column;
259
+ width: 100%;
260
+ height: 100%;
261
+ min-width: 0;
262
+ min-height: 0;
263
+ overflow: hidden;
264
+ /*
265
+ * TEMP COMPACT DENSITY — chỉ màn Quản lý phím tắt.
266
+ * Tạm hardcode theo yêu cầu review hiện tại.
267
+ * Không ảnh hưởng Grid global / es-grid-template.
268
+ */
269
+ }
270
+ .bx-shortcut-management .ui-rc-grid-thead .ui-rc-grid-row {
271
+ height: 30px !important;
272
+ min-height: 30px !important;
273
+ }
274
+ .bx-shortcut-management .ui-rc-grid-thead .ui-rc-grid-cell {
275
+ height: 30px !important;
276
+ min-height: 30px !important;
277
+ padding: 0 8px !important;
278
+ }
279
+ .bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row.ui-rc-grid-row-parent {
280
+ height: 30px !important;
281
+ min-height: 30px !important;
282
+ }
283
+ .bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row.ui-rc-grid-row-parent .ui-rc-grid-cell {
284
+ height: 30px !important;
285
+ min-height: 30px !important;
286
+ padding: 0 8px !important;
287
+ }
288
+ .bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row:not(.ui-rc-grid-row-parent) {
289
+ height: 32px !important;
290
+ min-height: 32px !important;
291
+ max-height: 32px !important;
292
+ }
293
+ .bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row:not(.ui-rc-grid-row-parent) .ui-rc-grid-cell {
294
+ height: 32px !important;
295
+ min-height: 0 !important;
296
+ max-height: 32px !important;
297
+ padding: 0 8px !important;
298
+ overflow: hidden;
299
+ line-height: 16px;
300
+ }
301
+ .bx-shortcut-management .bx-shortcut-feature {
302
+ min-width: 0;
303
+ overflow: hidden;
304
+ text-overflow: ellipsis;
305
+ white-space: nowrap;
306
+ line-height: 16px;
307
+ }
308
+ .bx-shortcut-management .bx-shortcut-group-title {
309
+ font-weight: 600;
310
+ line-height: 16px;
311
+ color: var(--be-text-primary, inherit);
312
+ }
313
+ .bx-shortcut-management .bx-shortcut-capture-wrap {
314
+ display: inline-flex;
315
+ align-items: center;
316
+ gap: 2px;
317
+ max-width: 100%;
318
+ min-width: 0;
319
+ height: 22px;
320
+ line-height: 1;
321
+ }
322
+ .bx-shortcut-management .bx-shortcut-capture {
323
+ display: inline-flex;
324
+ align-items: center;
325
+ min-width: 124px;
326
+ height: 22px;
327
+ min-height: 22px;
328
+ padding: 0 6px;
329
+ border: 1px solid var(--be-border-color, #d8d8d8);
330
+ border-radius: 4px;
331
+ background: var(--be-surface-color, #fff);
332
+ color: var(--be-text-color, #212529);
333
+ line-height: 1;
334
+ text-align: left;
335
+ }
336
+ .bx-shortcut-management .bx-shortcut-capture:hover, .bx-shortcut-management .bx-shortcut-capture.is-capturing {
337
+ border-color: var(--be-primary, #7367f0);
338
+ color: var(--be-primary, #7367f0);
339
+ }
340
+ .bx-shortcut-management .bx-shortcut-capture.is-capturing {
341
+ box-shadow: 0 0 0 2px rgba(115, 103, 240, 0.12);
342
+ }
343
+ .bx-shortcut-management .bx-shortcut-capture:disabled {
344
+ cursor: not-allowed;
345
+ opacity: 0.55;
346
+ }
347
+ .bx-shortcut-management .bx-shortcut-clear {
348
+ display: inline-flex;
349
+ align-items: center;
350
+ justify-content: center;
351
+ width: 18px;
352
+ height: 18px;
353
+ padding: 0;
354
+ border: 0;
355
+ border-radius: 4px;
356
+ background: transparent;
357
+ color: var(--be-text-color, #212529);
358
+ line-height: 1;
359
+ opacity: 1;
360
+ }
361
+ .bx-shortcut-management .bx-shortcut-clear:hover {
362
+ background: rgba(0, 0, 0, 0.05);
363
+ color: var(--be-danger, #ea5455);
364
+ }
365
+ .bx-shortcut-management .bx-shortcut-clear:disabled {
366
+ cursor: not-allowed;
367
+ opacity: 0.45;
368
+ }
369
+ .bx-shortcut-management .bx-shortcut-key {
370
+ display: inline-flex;
371
+ align-items: center;
372
+ height: 20px;
373
+ min-height: 20px;
374
+ padding: 0 6px;
375
+ border: 1px solid var(--be-border-color, #d8d8d8);
376
+ border-radius: 4px;
377
+ color: var(--be-text-color, #212529);
378
+ line-height: 1;
379
+ white-space: nowrap;
380
+ }
381
+ .bx-shortcut-management .bx-shortcut-key--locked,
382
+ .bx-shortcut-management .bx-shortcut-state {
383
+ color: var(--be-text-color, #212529);
384
+ opacity: 1;
385
+ }
386
+ .bx-shortcut-management .bx-shortcut-state {
387
+ line-height: 16px;
388
+ white-space: nowrap;
389
+ }
390
+ .bx-shortcut-management .bx-shortcut-row-action {
391
+ display: inline-flex;
392
+ align-items: center;
393
+ justify-content: center;
394
+ width: 20px;
395
+ height: 20px;
396
+ padding: 0;
397
+ line-height: 1;
398
+ }
399
+ .bx-shortcut-management {
400
+ /*
401
+ * SwitchInput mặc định có padding / border riêng.
402
+ * Reset chỉ trong cell Shortcut để không ép row lên ~50px.
403
+ */
404
+ }
405
+ .bx-shortcut-management .bx-shortcut-switch {
406
+ height: 22px;
407
+ min-height: 0;
408
+ gap: 0 !important;
409
+ justify-content: center !important;
410
+ padding: 0 !important;
411
+ margin: 0 !important;
412
+ border-bottom: 0 !important;
413
+ }
414
+ .bx-shortcut-management .bx-shortcut-switch > .min-w-0.flex-grow-1 {
415
+ display: none;
416
+ }
417
+ .bx-shortcut-management .bx-shortcut-switch > .d-flex {
418
+ height: 22px;
419
+ min-height: 0;
420
+ gap: 0 !important;
421
+ align-items: center !important;
422
+ padding: 0 !important;
423
+ margin: 0 !important;
424
+ }
425
+ .bx-shortcut-management .bx-shortcut-switch .form-check.form-switch {
426
+ display: flex;
427
+ align-items: center;
428
+ min-height: 0;
429
+ height: 22px;
430
+ margin: 0 !important;
431
+ padding-top: 0 !important;
432
+ padding-bottom: 0 !important;
433
+ }
434
+ .bx-shortcut-management .bx-shortcut-switch .form-check-input {
435
+ margin-top: 0 !important;
436
+ margin-bottom: 0 !important;
437
+ }
438
+ /*# sourceMappingURL=styles.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["becoxy-admin.scss","select-tree.scss","ConfigTreeRulesDrawer.scss","shortcut.scss"],"names":[],"mappings":"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","file":"styles.css","sourcesContent":["/* Package-owned styles only. Host ADMIN styles live outside es-application-template. */\n.becoxy-admin {\n min-width: 0;\n}\n\n.becoxy-admin .min-w-0 {\n min-width: 0;\n}\n\n.becoxy-admin-list-page {\n --be-page-inline-padding: var(--be-content-padding);\n --be-page-block-padding: var(--be-content-padding);\n --be-list-inline-padding: var(--be-page-inline-padding);\n --be-list-block-padding: var(--be-page-block-padding);\n --be-list-gap: var(--be-section-gap);\n display: flex;\n flex-direction: column;\n gap: var(--be-list-gap);\n width: 100%;\n height: 100%;\n min-width: 0;\n min-height: 0;\n padding: var(--be-list-block-padding) var(--be-list-inline-padding);\n overflow: hidden;\n background-color: var(--be-background);\n}\n\n.becoxy-admin-list-page__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--be-gutter);\n min-width: 0;\n min-height: 44px;\n color: var(--be-text-primary);\n background-color: var(--be-background);\n}\n\n.becoxy-admin-list-page__actions {\n display: flex;\n flex: 0 0 auto;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--be-card-gap);\n}\n\n.becoxy-admin-list-page__summary,\n.becoxy-admin-list-page__tabs,\n.becoxy-admin-list-page__content {\n min-width: 0;\n}\n\n.becoxy-admin-list-page__summary:empty,\n.becoxy-admin-list-page__tabs:empty {\n display: none;\n}\n\n.becoxy-admin-list-page__tabs {\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n.becoxy-admin-list-page__tabs::-webkit-scrollbar {\n display: none;\n}\n\n.becoxy-admin-list-page__content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n overscroll-behavior: contain;\n}\n\n.becoxy-admin-list-page__content > .grid-table-component,\n.becoxy-admin-list-page__content > .card,\n.becoxy-admin-list-page__content > .section-card,\n.becoxy-admin-list-page__content > .flex-grow-1 {\n flex: 1 1 auto;\n min-height: 0;\n}\n\n.becoxy-admin .btn-outline-primary,\n.becoxy-admin .btn-outline-secondary,\n.becoxy-admin .btn-outline-primary:hover,\n.becoxy-admin .btn-outline-secondary:hover,\n.becoxy-admin .btn-outline-primary:focus,\n.becoxy-admin .btn-outline-secondary:focus,\n.becoxy-admin .btn-outline-primary:active,\n.becoxy-admin .btn-outline-secondary:active,\n.becoxy-admin .btn-outline-primary.active,\n.becoxy-admin .btn-outline-secondary.active {\n color: var(--be-text-primary, #283046) !important;\n background-color: var(--be-surface, #fff) !important;\n border-color: var(--be-border, #ebe9f1) !important;\n}\n\n.becoxy-admin-standard {\n color: var(--be-text-primary);\n}\n\n.becoxy-admin-standard.becoxy-admin-list-page .becoxy-admin-list-page__header {\n min-height: 44px;\n}\n\n.becoxy-admin-standard.becoxy-admin-list-page {\n background: var(--be-background);\n}\n\n.becoxy-admin-standard .becoxy-admin-list-page__content {\n min-height: 0;\n overflow: hidden;\n}\n\n.becoxy-grid-slot {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n}\n\n.becoxy-grid-slot > .grid-table-component {\n flex: 1 1 auto;\n min-height: 0;\n}\n\n@media (max-width: 767.98px) {\n .becoxy-admin-list-page__header {\n align-items: flex-start;\n min-height: auto;\n }\n .becoxy-admin-list-page__header .text-muted {\n display: none;\n }\n}",".config-feature-tree-select .select__option {\n padding-left: 8px;\n padding-right: 8px;\n}\n\n.config-feature-tree-select__option {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.config-feature-tree-select__toggle,\n.config-feature-tree-select__toggle-spacer {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 22px;\n width: 22px;\n height: 22px;\n margin-right: 2px;\n}\n\n.config-feature-tree-select__toggle {\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: inherit;\n line-height: 1;\n cursor: pointer;\n}\n.config-feature-tree-select__toggle:hover, .config-feature-tree-select__toggle:focus-visible {\n background: rgba(var(--be-primary-rgb, 115, 103, 240), 0.12);\n outline: none;\n}\n\n.config-feature-tree-select__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}",".customizer.config-tree-rules-drawer {\n width: min(1000px, 100vw);\n max-width: 100vw;\n color: #000 !important;\n background: #fff !important;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-layout,\n.customizer.config-tree-rules-drawer .config-key-sample-content,\n.customizer.config-tree-rules-drawer .config-key-sample-toolbar,\n.customizer.config-tree-rules-drawer .table,\n.customizer.config-tree-rules-drawer .table thead th,\n.customizer.config-tree-rules-drawer .table tbody td {\n color: #000 !important;\n background: #fff !important;\n}\n.customizer.config-tree-rules-drawer .modal-title,\n.customizer.config-tree-rules-drawer h6,\n.customizer.config-tree-rules-drawer th,\n.customizer.config-tree-rules-drawer td,\n.customizer.config-tree-rules-drawer strong,\n.customizer.config-tree-rules-drawer .config-key-sample-text,\n.customizer.config-tree-rules-drawer .config-key-sample-empty,\n.customizer.config-tree-rules-drawer .form-control {\n color: #000 !important;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-text {\n padding: 0;\n background: transparent !important;\n font-family: monospace;\n font-size: 12px;\n overflow-wrap: anywhere;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-copy-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-copy-row + .config-key-sample-copy-row {\n margin-top: 2px;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-copy-button {\n display: inline-flex;\n flex: 0 0 28px;\n width: 28px;\n height: 28px;\n align-items: center;\n justify-content: center;\n padding: 0;\n color: #000;\n background: transparent;\n border: 0;\n border-radius: 4px;\n cursor: pointer;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-copy-button:hover {\n background: #f2f2f2;\n}\n.customizer.config-tree-rules-drawer .config-key-sample-copy-button:focus-visible {\n outline: 2px solid #000;\n outline-offset: 1px;\n}\n.customizer.config-tree-rules-drawer .form-control::placeholder {\n color: #000;\n opacity: 1;\n}\n.customizer.config-tree-rules-drawer .select__single-value,\n.customizer.config-tree-rules-drawer .select__placeholder,\n.customizer.config-tree-rules-drawer .select__input-container,\n.customizer.config-tree-rules-drawer .select__option {\n color: #000 !important;\n}","@charset \"UTF-8\";\n.bx-shortcut-management {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-width: 0;\n min-height: 0;\n overflow: hidden;\n /*\n * TEMP COMPACT DENSITY — chỉ màn Quản lý phím tắt.\n * Tạm hardcode theo yêu cầu review hiện tại.\n * Không ảnh hưởng Grid global / es-grid-template.\n */\n}\n.bx-shortcut-management .ui-rc-grid-thead .ui-rc-grid-row {\n height: 30px !important;\n min-height: 30px !important;\n}\n.bx-shortcut-management .ui-rc-grid-thead .ui-rc-grid-cell {\n height: 30px !important;\n min-height: 30px !important;\n padding: 0 8px !important;\n}\n.bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row.ui-rc-grid-row-parent {\n height: 30px !important;\n min-height: 30px !important;\n}\n.bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row.ui-rc-grid-row-parent .ui-rc-grid-cell {\n height: 30px !important;\n min-height: 30px !important;\n padding: 0 8px !important;\n}\n.bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row:not(.ui-rc-grid-row-parent) {\n height: 32px !important;\n min-height: 32px !important;\n max-height: 32px !important;\n}\n.bx-shortcut-management .ui-rc-grid-tbody .ui-rc-grid-row:not(.ui-rc-grid-row-parent) .ui-rc-grid-cell {\n height: 32px !important;\n min-height: 0 !important;\n max-height: 32px !important;\n padding: 0 8px !important;\n overflow: hidden;\n line-height: 16px;\n}\n.bx-shortcut-management .bx-shortcut-feature {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 16px;\n}\n.bx-shortcut-management .bx-shortcut-group-title {\n font-weight: 600;\n line-height: 16px;\n color: var(--be-text-primary, inherit);\n}\n.bx-shortcut-management .bx-shortcut-capture-wrap {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n max-width: 100%;\n min-width: 0;\n height: 22px;\n line-height: 1;\n}\n.bx-shortcut-management .bx-shortcut-capture {\n display: inline-flex;\n align-items: center;\n min-width: 124px;\n height: 22px;\n min-height: 22px;\n padding: 0 6px;\n border: 1px solid var(--be-border-color, #d8d8d8);\n border-radius: 4px;\n background: var(--be-surface-color, #fff);\n color: var(--be-text-color, #212529);\n line-height: 1;\n text-align: left;\n}\n.bx-shortcut-management .bx-shortcut-capture:hover, .bx-shortcut-management .bx-shortcut-capture.is-capturing {\n border-color: var(--be-primary, #7367f0);\n color: var(--be-primary, #7367f0);\n}\n.bx-shortcut-management .bx-shortcut-capture.is-capturing {\n box-shadow: 0 0 0 2px rgba(115, 103, 240, 0.12);\n}\n.bx-shortcut-management .bx-shortcut-capture:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n.bx-shortcut-management .bx-shortcut-clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: var(--be-text-color, #212529);\n line-height: 1;\n opacity: 1;\n}\n.bx-shortcut-management .bx-shortcut-clear:hover {\n background: rgba(0, 0, 0, 0.05);\n color: var(--be-danger, #ea5455);\n}\n.bx-shortcut-management .bx-shortcut-clear:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.bx-shortcut-management .bx-shortcut-key {\n display: inline-flex;\n align-items: center;\n height: 20px;\n min-height: 20px;\n padding: 0 6px;\n border: 1px solid var(--be-border-color, #d8d8d8);\n border-radius: 4px;\n color: var(--be-text-color, #212529);\n line-height: 1;\n white-space: nowrap;\n}\n.bx-shortcut-management .bx-shortcut-key--locked,\n.bx-shortcut-management .bx-shortcut-state {\n color: var(--be-text-color, #212529);\n opacity: 1;\n}\n.bx-shortcut-management .bx-shortcut-state {\n line-height: 16px;\n white-space: nowrap;\n}\n.bx-shortcut-management .bx-shortcut-row-action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n line-height: 1;\n}\n.bx-shortcut-management {\n /*\n * SwitchInput mặc định có padding / border riêng.\n * Reset chỉ trong cell Shortcut để không ép row lên ~50px.\n */\n}\n.bx-shortcut-management .bx-shortcut-switch {\n height: 22px;\n min-height: 0;\n gap: 0 !important;\n justify-content: center !important;\n padding: 0 !important;\n margin: 0 !important;\n border-bottom: 0 !important;\n}\n.bx-shortcut-management .bx-shortcut-switch > .min-w-0.flex-grow-1 {\n display: none;\n}\n.bx-shortcut-management .bx-shortcut-switch > .d-flex {\n height: 22px;\n min-height: 0;\n gap: 0 !important;\n align-items: center !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.bx-shortcut-management .bx-shortcut-switch .form-check.form-switch {\n display: flex;\n align-items: center;\n min-height: 0;\n height: 22px;\n margin: 0 !important;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n.bx-shortcut-management .bx-shortcut-switch .form-check-input {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}"]}
@@ -0,0 +1,14 @@
1
+ import { ConfigFeatureOption, ConfigTreeRow } from './config-tree-value';
2
+ type Props = {
3
+ productCode?: string | null;
4
+ rows: ConfigTreeRow[];
5
+ featureOptions: ConfigFeatureOption[];
6
+ onChange: Function;
7
+ readOnly?: boolean;
8
+ height?: number;
9
+ onOpenKeySamples: () => void;
10
+ onOpenJson: () => void;
11
+ onImportJson: () => void;
12
+ };
13
+ declare const ConfigTreeGridEditor: ({ productCode, rows, featureOptions, onChange, readOnly, height, onOpenKeySamples, onOpenJson, onImportJson }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export default ConfigTreeGridEditor;
@@ -0,0 +1,10 @@
1
+ import { ConfigFeatureOption } from './config-tree-value';
2
+ import './select-tree.scss';
3
+ type Props = {
4
+ options: ConfigFeatureOption[];
5
+ value: string | null;
6
+ onChange: (value: string | null) => void;
7
+ placeholder?: string;
8
+ };
9
+ declare const TreeSelect: ({ options, value, onChange, placeholder }: Props) => import("react/jsx-runtime").JSX.Element;
10
+ export default TreeSelect;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "es-application-template",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Reusable Setting and Shortcut runtime/management package for ES applications.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",