es-application-template 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +21 -0
  3. package/README.md +127 -0
  4. package/dist/api/index.d.ts +21 -0
  5. package/dist/components/input/index.d.ts +3 -0
  6. package/dist/components/input/input-switch/index.d.ts +24 -0
  7. package/dist/components/input/input-text/index.d.ts +35 -0
  8. package/dist/components/modal-header/index.d.ts +2 -0
  9. package/dist/components/notifications/index.d.ts +2 -0
  10. package/dist/components/select/select/index.d.ts +35 -0
  11. package/dist/components/sidebar/index.d.ts +14 -0
  12. package/dist/config/config-cache.d.ts +71 -0
  13. package/dist/config/config-document.d.ts +26 -0
  14. package/dist/config/config-storage.d.ts +15 -0
  15. package/dist/config/config-utils.d.ts +8 -0
  16. package/dist/config/mock-store.d.ts +41 -0
  17. package/dist/config/runtime-identity.d.ts +4 -0
  18. package/dist/config/use-runtime-config.d.ts +21 -0
  19. package/dist/domain/constants/index.d.ts +18 -0
  20. package/dist/domain/models/IConfig.d.ts +28 -0
  21. package/dist/domain/models/IProductsDeploy.d.ts +6 -0
  22. package/dist/index.d.ts +2 -0
  23. package/dist/index.js +6660 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.mjs +6641 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/infra/api/auth/index.d.ts +1 -0
  28. package/dist/infra/api/requester.d.ts +6 -0
  29. package/dist/management/components/admin-list-page.d.ts +15 -0
  30. package/dist/management/setting-keys/config-tree/ConfigTreeGridEditor.d.ts +14 -0
  31. package/dist/management/setting-keys/config-tree/ConfigTreeJsonDrawer.d.ts +13 -0
  32. package/dist/management/setting-keys/config-tree/ConfigTreeReviewChrome.d.ts +4 -0
  33. package/dist/management/setting-keys/config-tree/ConfigTreeRulesDrawer.d.ts +7 -0
  34. package/dist/management/setting-keys/config-tree/TreeSelect.d.ts +10 -0
  35. package/dist/management/setting-keys/config-tree/config-tree-value.d.ts +115 -0
  36. package/dist/management/setting-keys/index.d.ts +2 -0
  37. package/dist/management/shortcuts/index.d.ts +6 -0
  38. package/dist/management/shortcuts/shortcut-capture-cell.d.ts +9 -0
  39. package/dist/management/shortcuts/shortcut-management-utils.d.ts +17 -0
  40. package/dist/management/shortcuts/use-shortcut-settings-editor.d.ts +21 -0
  41. package/dist/package/index.d.ts +9 -0
  42. package/dist/runtime/AppProvider.d.ts +9 -0
  43. package/dist/settings/core/setting-reader.d.ts +10 -0
  44. package/dist/settings/core/setting.d.ts +5 -0
  45. package/dist/settings/core/types.d.ts +14 -0
  46. package/dist/settings/runtime/SettingRuntime.d.ts +4 -0
  47. package/dist/settings/runtime/use-setting-document.d.ts +5 -0
  48. package/dist/shortcuts/core/ShortcutProvider.d.ts +15 -0
  49. package/dist/shortcuts/core/ShortcutScopes.d.ts +16 -0
  50. package/dist/shortcuts/core/Shortcuts.d.ts +16 -0
  51. package/dist/shortcuts/core/advanced.d.ts +4 -0
  52. package/dist/shortcuts/core/conflict.d.ts +14 -0
  53. package/dist/shortcuts/core/constants.d.ts +58 -0
  54. package/dist/shortcuts/core/defaults.d.ts +8 -0
  55. package/dist/shortcuts/core/index.d.ts +8 -0
  56. package/dist/shortcuts/core/key-normalizer.d.ts +15 -0
  57. package/dist/shortcuts/core/migrate.d.ts +6 -0
  58. package/dist/shortcuts/core/registry.d.ts +134 -0
  59. package/dist/shortcuts/core/reserved-keys.d.ts +9 -0
  60. package/dist/shortcuts/core/resolve.d.ts +2 -0
  61. package/dist/shortcuts/core/runtime.d.ts +17 -0
  62. package/dist/shortcuts/core/shortcut-binding.d.ts +26 -0
  63. package/dist/shortcuts/core/shortcut-command.d.ts +44 -0
  64. package/dist/shortcuts/core/shortcut-config.d.ts +25 -0
  65. package/dist/shortcuts/core/shortcut-dom-policy.d.ts +13 -0
  66. package/dist/shortcuts/core/shortcut-platform.d.ts +7 -0
  67. package/dist/shortcuts/core/shortcut-runtime-context.d.ts +8 -0
  68. package/dist/shortcuts/core/types.d.ts +54 -0
  69. package/dist/shortcuts/core/use-shortcut-binding.d.ts +14 -0
  70. package/dist/shortcuts/core/use-shortcut-context.d.ts +35 -0
  71. package/dist/shortcuts/runtime/ShortcutGlobalActions.d.ts +7 -0
  72. package/dist/shortcuts/runtime/ShortcutRuntime.d.ts +9 -0
  73. package/dist/shortcuts/runtime/ShortcutTooltip.d.ts +11 -0
  74. package/dist/shortcuts/runtime/app-shortcut-dom-policy.d.ts +2 -0
  75. package/dist/shortcuts/runtime/constants.d.ts +2 -0
  76. package/dist/shortcuts/runtime/use-shortcut-runtime-config.d.ts +3 -0
  77. package/dist/styles/index.css +437 -0
  78. package/dist/utility/Utils.d.ts +4 -0
  79. package/dist/utility/hooks/isNullOrUndefined.d.ts +1 -0
  80. package/package.json +76 -0
@@ -0,0 +1,437 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ export declare const lang: "vi" | "en" | "ja";
2
+ export declare const getLoginId: () => string;
3
+ export declare const getUserData: () => string;
4
+ export declare const generateUUID: () => string;
@@ -0,0 +1 @@
1
+ export declare const isNullOrUndefined: (d: any) => boolean;
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "es-application-template",
3
+ "version": "0.0.7",
4
+ "description": "Reusable Setting and Shortcut runtime/management package for ES applications.",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "style": "dist/styles/index.css",
9
+ "license": "MIT",
10
+ "type": "module",
11
+ "files": [
12
+ "dist/**/*",
13
+ "LICENSE",
14
+ "README.md",
15
+ "CHANGELOG.md"
16
+ ],
17
+ "resolutions": {
18
+ "@types/react": "18.2.58",
19
+ "@types/react-dom": "18.3.1"
20
+ },
21
+ "scripts": {
22
+ "build": "rollup -c",
23
+ "typecheck": "tsc -p tsconfig.json --noEmit",
24
+ "test": "jest --runInBand",
25
+ "verify": "yarn typecheck && yarn test && yarn build",
26
+ "pack:local": "npm pack"
27
+ },
28
+ "peerDependencies": {
29
+ "@tanstack/react-query": ">=5 <6",
30
+ "axios": ">=1 <2",
31
+ "becoxy-icons": ">=2 <3",
32
+ "classnames": ">=2 <3",
33
+ "es-grid-template": ">=1.9.72 <2",
34
+ "react": ">=18 <19",
35
+ "react-dom": ">=18 <19",
36
+ "react-hook-form": ">=7 <8",
37
+ "react-hot-toast": ">=2 <3",
38
+ "react-i18next": ">=11 <16",
39
+ "react-router-dom": ">=6 <8",
40
+ "react-select": ">=5 <6",
41
+ "reactstrap": ">=9 <10"
42
+ },
43
+ "devDependencies": {
44
+ "@rollup/plugin-commonjs": "^20.0.0",
45
+ "@rollup/plugin-json": "^6.1.0",
46
+ "@rollup/plugin-node-resolve": "^13.3.0",
47
+ "@rollup/plugin-typescript": "^8.5.0",
48
+ "@tanstack/react-query": "^5.74.4",
49
+ "@types/jest": "^29.5.12",
50
+ "@types/node": "^22.10.0",
51
+ "@types/react": "18.2.58",
52
+ "@types/react-dom": "18.3.1",
53
+ "axios": "^1.7.2",
54
+ "becoxy-icons": "^2.1.1",
55
+ "classnames": "2.3.1",
56
+ "es-grid-template": "^1.9.72",
57
+ "jest": "^29.7.0",
58
+ "jest-environment-jsdom": "^29.7.0",
59
+ "postcss": "^8.4.35",
60
+ "react": "18.2.0",
61
+ "react-dom": "18.2.0",
62
+ "react-hook-form": "^7.43.9",
63
+ "react-hot-toast": "2.2.0",
64
+ "react-i18next": "^11.16.9",
65
+ "react-router-dom": "^6.3.0",
66
+ "react-select": "^5.10.2",
67
+ "reactstrap": "9.0.1",
68
+ "rollup": "^2.56.2",
69
+ "rollup-plugin-peer-deps-external": "^2.2.4",
70
+ "rollup-plugin-postcss": "^4.0.2",
71
+ "sass": "^1.71.1",
72
+ "ts-jest": "^29.2.5",
73
+ "tslib": "^2.8.1",
74
+ "typescript": "^5.7.2"
75
+ }
76
+ }