adminizer 4.6.0 → 4.7.0-build.221
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/Readme.md +12 -0
- package/assets/RelationDialogStack-CnHFOYyR.css +1 -0
- package/assets/RelationDialogStack-DI2bZxQX.js +20 -0
- package/assets/add-4213XScp.js +1 -0
- package/assets/add-group--F1XxfJ1.js +1 -0
- package/assets/add-group-form-DKRXC2n-.js +1 -0
- package/assets/add-user-b9HfMq7z.js +1 -0
- package/assets/add-user-form-UXAToWQd.js +1 -0
- package/assets/app-Clx8f5hd.css +1 -0
- package/assets/app-layout-C02ja4OI.js +1 -0
- package/assets/app-shell-D8wtkECO.js +1 -0
- package/assets/app-sidebar-BR5_zwxj.js +1 -0
- package/assets/app-sidebar-header-BZbIBQjq.js +1 -0
- package/assets/app.js +59 -7990
- package/assets/breadcrumbs-CODaqVkB.js +1 -0
- package/assets/catalog-6ZZjWdFs.js +6 -0
- package/assets/dashboard-CftAdKiH.js +3 -0
- package/assets/date-picker-DSOkNiNo.js +1 -0
- package/assets/del-modal-Cd4M7af8.js +1 -0
- package/assets/dynamic-controls-BsrJhPDY.js +1 -0
- package/assets/geo-json-CzR5JBXL.js +1 -0
- package/assets/handsontable-BI98OF5R.js +336 -0
- package/assets/history-DLHSU7Ak.js +1 -0
- package/assets/home-NcQ7nnU0.js +2 -0
- package/assets/icon-C2JNaLxH.js +1 -0
- package/assets/init-user-D2HSyXup.js +1 -0
- package/assets/input-error-CH2caTtO.js +1 -0
- package/assets/jsoneditor-DVNQmA6G.js +3869 -0
- package/assets/list-CFU0-TgN.js +4 -0
- package/assets/login-DFSLEO17.js +1 -0
- package/assets/manifest.json +246 -273
- package/assets/material-icon-Bx9pGQiQ.js +1 -0
- package/assets/media-manager-WcKe1EvD.js +6 -0
- package/assets/module-CT7PC6pc.js +1 -0
- package/assets/monaco-Bl4zdWCn.js +11 -0
- package/assets/nav-footer-BiSQkPt4.js +1 -0
- package/assets/nav-main-rTH0PfDw.js +1 -0
- package/assets/nav-user-Bj6cWs0a.js +1 -0
- package/assets/notification-Bi-PX87D.js +20 -0
- package/assets/pagination-render-AKJvTIRA.js +1 -0
- package/assets/register-BTP4uxsK.js +1 -0
- package/assets/ru-eW0WKkga.js +1 -0
- package/assets/theme-switcher-Dm8EOGzx.js +1 -0
- package/assets/toast-editor-DOg_gvSp.js +668 -0
- package/assets/user-filters-list-YUfR4XMI.js +1 -0
- package/assets/user-info-BgSbT02v.js +1 -0
- package/assets/user-menu-content-TQTXHIv6.js +1 -0
- package/assets/{vanilla-picker-l5rcX3cq.js → vanilla-picker-B3LgXoKV.js} +1 -7
- package/assets/welcome-vLwTu1R6.js +1 -0
- package/controllers/add.d.ts +1 -1
- package/controllers/add.js +20 -26
- package/controllers/addGroup.d.ts +1 -1
- package/controllers/addGroup.js +7 -15
- package/controllers/addUser.d.ts +1 -1
- package/controllers/addUser.js +10 -16
- package/controllers/catalog/Catalog.d.ts +1 -1
- package/controllers/catalog/Catalog.js +1 -10
- package/controllers/catalog/FrontendCatalogAdapter.d.ts +3 -3
- package/controllers/catalog/FrontendCatalogAdapter.js +0 -6
- package/controllers/catalog/FrontentCatalogAdapter.d.ts +3 -3
- package/controllers/catalog/FrontentCatalogAdapter.js +0 -4
- package/controllers/ckeditorUpload.js +2 -18
- package/controllers/dashboard.d.ts +1 -1
- package/controllers/dashboard.js +2 -5
- package/controllers/edit.js +24 -37
- package/controllers/editGroup.d.ts +1 -1
- package/controllers/editGroup.js +10 -21
- package/controllers/editUser.d.ts +1 -1
- package/controllers/editUser.js +11 -23
- package/controllers/exportData.d.ts +6 -0
- package/controllers/exportData.js +315 -0
- package/controllers/feed.d.ts +6 -0
- package/controllers/feed.js +73 -0
- package/controllers/feedback/feedbackController.d.ts +1 -1
- package/controllers/feedback/feedbackController.js +5 -7
- package/controllers/filter-fields/columns.d.ts +11 -0
- package/controllers/filter-fields/columns.js +106 -0
- package/controllers/filter-fields/filterFields.d.ts +10 -0
- package/controllers/filter-fields/filterFields.js +141 -0
- package/controllers/filter-fields/getAllUserFilters.d.ts +6 -0
- package/controllers/filter-fields/getAllUserFilters.js +115 -0
- package/controllers/filter-fields/groups.d.ts +5 -0
- package/controllers/filter-fields/groups.js +26 -0
- package/controllers/filter-fields/savedFilters.d.ts +25 -0
- package/controllers/filter-fields/savedFilters.js +317 -0
- package/controllers/getAllWidgets.d.ts +1 -1
- package/controllers/getAllWidgets.js +1 -9
- package/controllers/history-actions/HistoryController.js +6 -31
- package/controllers/initUser.js +6 -5
- package/controllers/inlineUpdate.d.ts +7 -0
- package/controllers/inlineUpdate.js +148 -0
- package/controllers/list.d.ts +1 -1
- package/controllers/list.js +383 -70
- package/controllers/listUserFilters.d.ts +5 -0
- package/controllers/listUserFilters.js +26 -0
- package/controllers/login.js +2 -2
- package/controllers/media-manager/mediaManagerApi.js +0 -9
- package/controllers/navigation/edit.js +3 -9
- package/controllers/notifications/NotificationController.d.ts +1 -1
- package/controllers/notifications/NotificationController.js +12 -36
- package/controllers/register.js +10 -9
- package/controllers/remove.js +10 -19
- package/controllers/timezones.d.ts +1 -1
- package/controllers/timezones.js +0 -6
- package/controllers/userApiKey.d.ts +7 -0
- package/controllers/userApiKey.js +36 -0
- package/controllers/view.js +14 -26
- package/controllers/welcome.d.ts +1 -1
- package/controllers/welcome.js +0 -4
- package/controllers/widgets/Action.d.ts +1 -1
- package/controllers/widgets/Action.js +1 -9
- package/controllers/widgets/Custom.d.ts +1 -1
- package/controllers/widgets/Custom.js +1 -9
- package/controllers/widgets/Info.d.ts +1 -1
- package/controllers/widgets/Info.js +1 -9
- package/controllers/widgets/filterInfo.d.ts +1 -0
- package/controllers/widgets/filterInfo.js +44 -0
- package/controllers/widgets/switch.d.ts +1 -1
- package/controllers/widgets/switch.js +1 -9
- package/controllers/widgetsDB.d.ts +1 -1
- package/controllers/widgetsDB.js +2 -8
- package/helpers/accessRightsHelper.d.ts +1 -1
- package/helpers/accessRightsHelper.js +5 -4
- package/helpers/apiKeyHelper.d.ts +5 -0
- package/helpers/apiKeyHelper.js +8 -0
- package/helpers/configHelper.js +12 -15
- package/helpers/controllerHelper.d.ts +14 -21
- package/helpers/controllerHelper.js +50 -83
- package/helpers/fieldsHelper.js +3 -3
- package/helpers/filterDatetimeHelper.d.ts +5 -0
- package/helpers/filterDatetimeHelper.js +84 -0
- package/helpers/inertiaActionsHelper.d.ts +2 -2
- package/helpers/inertiaActionsHelper.js +5 -4
- package/helpers/inertiaAddHelper.d.ts +3 -414
- package/helpers/inertiaAddHelper.js +39 -15
- package/helpers/inertiaGroupHelper.d.ts +2 -2
- package/helpers/inertiaGroupHelper.js +3 -3
- package/helpers/inertiaListHelper.d.ts +7 -3
- package/helpers/inertiaListHelper.js +26 -12
- package/helpers/inertiaMenuHelper.d.ts +1 -0
- package/helpers/inertiaMenuHelper.js +15 -3
- package/helpers/inertiaUserHelper.d.ts +3 -2
- package/helpers/inertiaUserHelper.js +7 -3
- package/helpers/menuHelper.d.ts +5 -2
- package/helpers/menuHelper.js +64 -12
- package/helpers/viteHelper.js +1 -2
- package/index.d.ts +6 -2
- package/index.js +6 -2
- package/interfaces/adminpanelConfig.d.ts +126 -39
- package/interfaces/internalModelAccess.d.ts +37 -0
- package/interfaces/internalModelAccess.js +1 -0
- package/interfaces/listQueryBuilder.d.ts +22 -0
- package/interfaces/listQueryBuilder.js +1 -0
- package/interfaces/queryCriteria.d.ts +54 -0
- package/interfaces/queryCriteria.js +1 -0
- package/interfaces/types.d.ts +1 -13
- package/lib/Adminizer.d.ts +4 -2
- package/lib/Adminizer.js +29 -10
- package/lib/DataAccessor.d.ts +8 -5
- package/lib/DataAccessor.js +89 -42
- package/lib/I18n.d.ts +5 -1
- package/lib/I18n.js +45 -19
- package/lib/MiddlewareManager.d.ts +8 -0
- package/lib/MiddlewareManager.js +53 -0
- package/lib/ai-assistant/OpenAiModelService.d.ts +3 -3
- package/lib/ai-assistant/OpenAiModelService.js +23 -24
- package/lib/catalog/Navigation.d.ts +1 -0
- package/lib/catalog/Navigation.js +12 -11
- package/lib/controls/jsoneditor/JsonEditor.d.ts +1 -2
- package/lib/controls/markdown/ToastUiEditor.d.ts +1 -2
- package/lib/feedback/FeedbackHandler.js +2 -2
- package/lib/filters/ConditionValidator.d.ts +107 -0
- package/lib/filters/ConditionValidator.js +483 -0
- package/lib/filters/CustomFilterHandler.d.ts +122 -0
- package/lib/filters/CustomFilterHandler.js +131 -0
- package/lib/filters/FilterCustomFieldHandler.d.ts +2 -0
- package/lib/filters/FilterCustomFieldHandler.js +2 -0
- package/lib/filters/FilterService.d.ts +82 -0
- package/lib/filters/FilterService.js +323 -0
- package/lib/filters/index.d.ts +6 -0
- package/lib/filters/index.js +4 -0
- package/lib/history-actions/AbstractHistoryAdapter.d.ts +5 -4
- package/lib/history-actions/AbstractHistoryAdapter.js +45 -30
- package/lib/history-actions/DefaultHistoryAdapter.d.ts +2 -0
- package/lib/history-actions/DefaultHistoryAdapter.js +12 -6
- package/lib/history-actions/HistoryHandler.js +1 -1
- package/lib/list-query-builder/ListQueryBuilder.d.ts +117 -0
- package/lib/list-query-builder/ListQueryBuilder.js +707 -0
- package/lib/media-manager/AbstractMediaManager.d.ts +9 -8
- package/lib/media-manager/DefaultMediaManager.d.ts +2 -0
- package/lib/media-manager/DefaultMediaManager.js +27 -15
- package/lib/media-manager/Items.d.ts +4 -1
- package/lib/media-manager/Items.js +62 -59
- package/lib/media-manager/MediaManagerHandler.js +1 -1
- package/lib/media-manager/helpers/MediaManagerHelper.d.ts +5 -1
- package/lib/media-manager/helpers/MediaManagerHelper.js +38 -4
- package/lib/model/AbstractModel.d.ts +33 -25
- package/lib/model/AbstractModel.js +54 -2
- package/lib/model/InternalModelAccessFactory.d.ts +18 -0
- package/lib/model/InternalModelAccessFactory.js +82 -0
- package/lib/model/ModelHandler.d.ts +6 -0
- package/lib/model/ModelHandler.js +14 -0
- package/lib/model/adapter/sequelize.d.ts +32 -10
- package/lib/model/adapter/sequelize.js +409 -62
- package/lib/model/adapter/typeorm.d.ts +62 -0
- package/lib/model/adapter/typeorm.js +777 -0
- package/lib/model/internalModelAccessToken.d.ts +1 -0
- package/lib/model/internalModelAccessToken.js +1 -0
- package/lib/model/internalModelRepository.d.ts +3 -0
- package/lib/model/internalModelRepository.js +4 -0
- package/lib/notifications/AbstractNotificationService.d.ts +3 -0
- package/lib/notifications/AbstractNotificationService.js +42 -36
- package/lib/notifications/GeneralNotificationService.js +37 -40
- package/lib/notifications/SystemNotificationService.js +33 -36
- package/lib/requestProcessor.js +0 -3
- package/lib/ui-i18n/getUiTranslations.d.ts +1 -0
- package/lib/ui-i18n/getUiTranslations.js +3 -0
- package/lib/ui-i18n/uiTranslationKeys.d.ts +6 -0
- package/lib/ui-i18n/uiTranslationKeys.js +268 -0
- package/lib/widgets/widgetHandler.d.ts +7 -2
- package/lib/widgets/widgetHandler.js +98 -18
- package/models/FilterAP.d.ts +116 -0
- package/models/FilterAP.js +68 -0
- package/models/FilterColumnAP.d.ts +32 -0
- package/models/FilterColumnAP.js +21 -0
- package/models/GroupAP.d.ts +1 -1
- package/models/HistoryActionsAP.d.ts +3 -3
- package/models/MediaManagerMetaAP.d.ts +1 -1
- package/models/NavigationAP.d.ts +1 -1
- package/models/UserAP.d.ts +6 -1
- package/models/UserAP.js +4 -0
- package/package.json +39 -32
- package/policies/authPolicies.d.ts +12 -0
- package/policies/authPolicies.js +104 -0
- package/policies/permissionResolvers.d.ts +12 -0
- package/policies/permissionResolvers.js +52 -0
- package/services/FeedService.d.ts +70 -0
- package/services/FeedService.js +334 -0
- package/system/Router.d.ts +1 -0
- package/system/Router.js +136 -59
- package/system/bindAccessRights.js +11 -30
- package/system/bindAuthorization.js +18 -18
- package/system/bindCors.js +16 -1
- package/system/bindCustomFilterHandlers.d.ts +2 -0
- package/system/bindCustomFilterHandlers.js +4 -0
- package/system/bindInertia.js +18 -61
- package/system/bindReqFunctions.js +10 -2
- package/system/bindTranslations.js +7 -3
- package/system/buildInternalModelAccess.d.ts +4 -0
- package/system/buildInternalModelAccess.js +59 -0
- package/system/defaults.js +18 -14
- package/system/routePolicies.d.ts +2 -0
- package/system/routePolicies.js +29 -0
- package/translations/en.json +151 -39
- package/translations/ru.json +211 -64
- package/ui/components/handsontable.js +13 -27
- package/ui/components/ui/dialog-stack.js +1 -3
- package/ui/components/ui/popover.js +1 -1
- package/ui/components/ui/sidebar.js +1 -1
- package/assets/RelationDialogStack-D9UVEF9s.js +0 -407
- package/assets/RelationDialogStack-DV8OITPR.css +0 -4
- package/assets/add-BlvzWQKF.js +0 -1
- package/assets/add-group-1Uoq9NWe.js +0 -1
- package/assets/add-group-form-B01gwDGu.js +0 -1
- package/assets/add-user-BQCAsaRy.js +0 -1
- package/assets/add-user-form-Cgwc9JkI.js +0 -1
- package/assets/app-DaOMy1nl.css +0 -72
- package/assets/app-layout-CAm60qoE.js +0 -1
- package/assets/app-shell-QWCtn9ye.js +0 -1
- package/assets/app-sidebar-CfaYbnSy.js +0 -1
- package/assets/app-sidebar-header-BsPFDhZ8.js +0 -1
- package/assets/breadcrumbs-CZZirDj8.js +0 -1
- package/assets/catalog-k5myk7fk.js +0 -6
- package/assets/dashboard-BkL9ybBw.js +0 -3
- package/assets/date-picker-B5AZ_7Q9.js +0 -1
- package/assets/del-modal-BoyXZloG.js +0 -1
- package/assets/dynamic-controls-k61T9W2P.js +0 -1
- package/assets/form-1WGY0YgG.js +0 -1
- package/assets/form-DJapG3qF.js +0 -1
- package/assets/geo-json-DsMUHo0l.js +0 -4
- package/assets/handsontable-PxYdjN8c.js +0 -298
- package/assets/history-CluyR-yJ.js +0 -1
- package/assets/home-Dug9zBzM.js +0 -2
- package/assets/icon-DfDLMG5f.js +0 -1
- package/assets/init-user-CF80MEnT.js +0 -1
- package/assets/input-error-DuuqFgZa.js +0 -1
- package/assets/jsoneditor-De1FvcYu.js +0 -3882
- package/assets/list-CuexshNt.js +0 -1
- package/assets/list-table-BsEWjTKY.js +0 -22
- package/assets/login-eDemYzN-.js +0 -1
- package/assets/material-icon-DMT8KdmE.js +0 -1
- package/assets/media-manager-DfYa_mT_.js +0 -14
- package/assets/module-Cd4Tm6uq.js +0 -1
- package/assets/monaco-BhBYtg3d.js +0 -11
- package/assets/nav-footer-D3olYxtz.js +0 -1
- package/assets/nav-main-BctqyzeV.js +0 -1
- package/assets/nav-user-Bn1Lt-BZ.js +0 -1
- package/assets/notification-D64qvni-.js +0 -27
- package/assets/pagination-render-DxD78ahJ.js +0 -1
- package/assets/register-349PwYbe.js +0 -1
- package/assets/theme-switcher-DfExsHW2.js +0 -1
- package/assets/toast-editor-ESK5iWPx.js +0 -845
- package/assets/user-info-DtBK5Kh8.js +0 -1
- package/assets/user-menu-content-0XYOCMaA.js +0 -1
- package/assets/welcome-PDp-gUei.js +0 -1
- package/controllers/form.d.ts +0 -1
- package/controllers/form.js +0 -86
- package/helpers/formHelper.d.ts +0 -6
- package/helpers/formHelper.js +0 -38
- package/helpers/inertiaFromHelper.d.ts +0 -11
- package/helpers/inertiaFromHelper.js +0 -98
- package/helpers/runtimeMode.d.ts +0 -1
- package/helpers/runtimeMode.js +0 -3
- package/lib/PolicyManager.d.ts +0 -8
- package/lib/PolicyManager.js +0 -53
- package/lib/datatable/NodeTable.d.ts +0 -49
- package/lib/datatable/NodeTable.js +0 -207
- package/lib/model/adapter/waterline.d.ts +0 -32
- package/lib/model/adapter/waterline.js +0 -180
- package/migrations/index.d.ts +0 -3
- package/migrations/index.js +0 -4
- package/migrations/knex/20250106000001_adminizer_init.d.ts +0 -8
- package/migrations/knex/20250106000001_adminizer_init.js +0 -164
- package/migrations/umzug/0001.d.ts +0 -7
- package/migrations/umzug/0001.js +0 -121
- package/migrations/umzugExports.d.ts +0 -2
- package/migrations/umzugExports.js +0 -9
- package/system/bindForms.d.ts +0 -2
- package/system/bindForms.js +0 -20
- /package/{policies → middlewares}/addMessages.d.ts +0 -0
- /package/{policies → middlewares}/addMessages.js +0 -0
- /package/{policies → middlewares}/checkAuth.d.ts +0 -0
- /package/{policies → middlewares}/checkAuth.js +0 -0
- /package/{policies → middlewares}/setLocale.d.ts +0 -0
- /package/{policies → middlewares}/setLocale.js +0 -0
package/translations/ru.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"Actions": "Действия",
|
|
4
4
|
"All": "Все",
|
|
5
5
|
"Are you sure?": "Вы уверены?",
|
|
6
|
-
"Back": "
|
|
6
|
+
"Back": "Назад",
|
|
7
7
|
"Back to Login": "Назад ко входу",
|
|
8
8
|
"Additional login page": "Дополнительная страница входа",
|
|
9
9
|
"Clean": "Очистить",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"Record was updated": "Запись обновлена",
|
|
51
51
|
"Register": "Регистрация",
|
|
52
52
|
"Repeat password": "Повторить пароль",
|
|
53
|
-
"Reset": "
|
|
53
|
+
"Reset": "Сбросить",
|
|
54
54
|
"Save": "Сохранить",
|
|
55
55
|
"Search": "Поиск",
|
|
56
56
|
"Select": "Выберите",
|
|
@@ -70,6 +70,55 @@
|
|
|
70
70
|
"You don't have any widgets selected yet. You can add them by clicking on the plus sign at the top right.": "У вас пока нет выбранных виджетов. Вы можете добавить их, нажав на значок плюса в правом верхнем углу.",
|
|
71
71
|
"create": "Создать",
|
|
72
72
|
"create new": "создать новую",
|
|
73
|
+
"Widget Switcher One": "Widget Switcher One",
|
|
74
|
+
"Site Switcher": "Site Switcher",
|
|
75
|
+
"Widget Switcher Two": "Widget Switcher Two",
|
|
76
|
+
"Switcher Two": "Switcher Two",
|
|
77
|
+
"Test": "Test",
|
|
78
|
+
"Add Test Model": "Add Test Model",
|
|
79
|
+
"example.com": "example.com",
|
|
80
|
+
"link to example.com": "link to example.com",
|
|
81
|
+
"Global Settings": "Global Settings",
|
|
82
|
+
"Info widget One": "Info widget One",
|
|
83
|
+
"Info One": "Info One",
|
|
84
|
+
"Info widget Two": "Info widget Two",
|
|
85
|
+
"Info Two": "Info Two",
|
|
86
|
+
"Info widget 3": "Info widget 3",
|
|
87
|
+
"Info 31111": "Info 31111",
|
|
88
|
+
"Info widget 4": "Info widget 4",
|
|
89
|
+
"Info 4": "Info 4",
|
|
90
|
+
"Action One": "Action One",
|
|
91
|
+
"Action Two": "Action Two",
|
|
92
|
+
"Widget Custom One": "Widget Custom One",
|
|
93
|
+
"Site Custom": "Site Custom",
|
|
94
|
+
"id": "id",
|
|
95
|
+
"Textarea": "Textarea",
|
|
96
|
+
"Disabled": "Disabled",
|
|
97
|
+
"Boolean": "Boolean",
|
|
98
|
+
"time": "time",
|
|
99
|
+
"Number": "Number",
|
|
100
|
+
"Editor": "Editor",
|
|
101
|
+
"Date and time": "Date and time",
|
|
102
|
+
"testRelationExample": "testRelationExample",
|
|
103
|
+
"owner": "owner",
|
|
104
|
+
"title": "title",
|
|
105
|
+
"slug": "slug",
|
|
106
|
+
"Images 1": "Images 1",
|
|
107
|
+
"Images": "Изображения",
|
|
108
|
+
"Videos": "Видео",
|
|
109
|
+
"Texts": "Текст",
|
|
110
|
+
"Applications": "Приложения",
|
|
111
|
+
"Table": "Таблица",
|
|
112
|
+
"Tile": "Плитка",
|
|
113
|
+
"Load more": "Загрузить еще",
|
|
114
|
+
"File": "Файл",
|
|
115
|
+
"Name": "Название",
|
|
116
|
+
"Date": "Дата",
|
|
117
|
+
"Type": "Тип",
|
|
118
|
+
"Size (orig.)": "Размер (orig.)",
|
|
119
|
+
"W x H (orig.)": "W x H (orig.)",
|
|
120
|
+
"Sizes/Ver": "Sizes/Ver",
|
|
121
|
+
"Locales": "Locales",
|
|
73
122
|
"Leave this field empty if you don't want to change the password": "Оставьте это поле пустым, если не хотите менять пароль",
|
|
74
123
|
"File type are not supported": "Этот файл не поддерживается",
|
|
75
124
|
"History": "История",
|
|
@@ -84,92 +133,190 @@
|
|
|
84
133
|
"Current": "Текущая",
|
|
85
134
|
"There is no history": "Нет истории",
|
|
86
135
|
"The end of the list has been reached": "Достигнут конец списка",
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
136
|
+
"Filters": "Фильтры",
|
|
137
|
+
"Saved filters": "Сохранённые фильтры",
|
|
138
|
+
"Active filter": "Активный фильтр",
|
|
139
|
+
"Add filter": "Добавить фильтр",
|
|
140
|
+
"Reset filter": "Сбросить фильтр",
|
|
141
|
+
"Equal": "равно",
|
|
142
|
+
"Not equal": "не равно",
|
|
143
|
+
"Contains": "содержит",
|
|
144
|
+
"Starts with": "начинается с",
|
|
145
|
+
"Ends with": "заканчивается на",
|
|
146
|
+
"Is empty": "пустое",
|
|
147
|
+
"Is not empty": "не пустое",
|
|
148
|
+
"Greater than": "больше чем",
|
|
149
|
+
"Greater or equal": "больше или равно",
|
|
150
|
+
"Less than": "меньше чем",
|
|
151
|
+
"Less or equal": "меньше или равно",
|
|
152
|
+
"Between": "между",
|
|
153
|
+
"Today": "сегодня",
|
|
154
|
+
"Month": "месяц",
|
|
155
|
+
"Year": "год",
|
|
156
|
+
"Month range": "диапазон месяцев",
|
|
157
|
+
"Year range": "диапазон лет",
|
|
158
|
+
"After": "после",
|
|
159
|
+
"After or equal": "после или равно",
|
|
160
|
+
"Before": "до",
|
|
161
|
+
"Before or equal": "до или равно",
|
|
162
|
+
"In list": "в списке",
|
|
163
|
+
"Not in list": "не в списке",
|
|
164
|
+
"Is null": "пусто",
|
|
165
|
+
"Is not null": "не пусто",
|
|
166
|
+
"From": "От",
|
|
167
|
+
"To": "До",
|
|
168
|
+
"From...": "От...",
|
|
169
|
+
"To...": "До...",
|
|
170
|
+
"Date...": "Дата...",
|
|
171
|
+
"Value...": "Значение...",
|
|
172
|
+
"Select...": "Выберите...",
|
|
173
|
+
"selected": "выбр.",
|
|
174
|
+
"Search...": "Поиск...",
|
|
175
|
+
"No results": "Нет результатов",
|
|
176
|
+
"Enter filter name": "Введите название фильтра",
|
|
177
|
+
"Temporary filter": "Временный фильтр",
|
|
178
|
+
"Error: model not found": "Ошибка: модель не найдена",
|
|
179
|
+
"Error loading columns": "Ошибка загрузки колонок",
|
|
180
|
+
"Network error": "Ошибка сети",
|
|
181
|
+
"Columns settings": "Настройка колонок",
|
|
182
|
+
"Available columns": "Доступные колонки",
|
|
183
|
+
"Visible columns": "Видимые колонки",
|
|
184
|
+
"Add all": "Добавить все",
|
|
185
|
+
"Hide all": "Скрыть все",
|
|
186
|
+
"No available columns": "Нет доступных колонок",
|
|
187
|
+
"Move columns here": "Переместите колонки сюда",
|
|
188
|
+
"Save changes": "Сохранить изменения",
|
|
189
|
+
"Apply": "Применить",
|
|
190
|
+
"Cancel": "Отмена",
|
|
191
|
+
"conditions": "условий",
|
|
192
|
+
"modified": "изменён",
|
|
193
|
+
"Private filter": "Приватный фильтр",
|
|
194
|
+
"For groups": "Фильтр для группы",
|
|
195
|
+
"Public filter": "Публичный фильтр",
|
|
196
|
+
"Only for you": "Только для вас",
|
|
197
|
+
"For selected groups": "Для выбранных групп",
|
|
198
|
+
"For all users": "Для всех пользователей",
|
|
199
|
+
"Visible only to you": "Виден только вам",
|
|
200
|
+
"Visible only to your group": "Виден только для вашей группы",
|
|
201
|
+
"API access (feed)": "API-доступ (фид)",
|
|
90
202
|
"Hide": "Скрыть",
|
|
91
203
|
"Show": "Показать",
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
204
|
+
"Regenerate": "Перегенерировать",
|
|
205
|
+
"copied to clipboard": "скопирован в буфер обмена",
|
|
206
|
+
"Failed to copy": "Не удалось скопировать",
|
|
207
|
+
"Loading filters...": "Загрузка фильтров...",
|
|
208
|
+
"No saved filters": "Нет сохранённых фильтров",
|
|
209
|
+
"Save current filter for quick access": "Сохраните текущий фильтр для быстрого доступа",
|
|
210
|
+
"Someone else's private filter (owner:": "Чужой приватный фильтр (владелец:",
|
|
211
|
+
"unknown)": "неизвестно)",
|
|
212
|
+
"Owner": "Владелец",
|
|
213
|
+
"Apply filter": "Применить фильтр",
|
|
214
|
+
"Delete filter": "Удалить фильтр",
|
|
215
|
+
"No permission to delete filter": "Нет прав на удаление фильтра",
|
|
216
|
+
"Edit filter": "Редактирование фильтра",
|
|
217
|
+
"New filter": "Новый фильтр",
|
|
218
|
+
"Filter conditions": "Условия фильтра",
|
|
219
|
+
"Add condition": "Добавить условие",
|
|
220
|
+
"Select field": "Выберите поле",
|
|
221
|
+
"No conditions. Add a condition above.": "Нет условий. Добавьте условие выше.",
|
|
222
|
+
"Description": "Описание",
|
|
223
|
+
"Icon": "Иконка",
|
|
224
|
+
"Color": "Цвет",
|
|
225
|
+
"Filter parameters": "Параметры фильтра",
|
|
226
|
+
"Change filter conditions and parameters": "Измените условия и параметры фильтра",
|
|
227
|
+
"Configure filter conditions": "Настройте условия фильтрации",
|
|
228
|
+
"Specify name and parameters for saving": "Укажите название и параметры фильтра для сохранения",
|
|
229
|
+
"Someone else's private filter": "Чужой приватный фильтр",
|
|
230
|
+
"You cannot change someone else's filter visibility": "Вы не можете изменить видимость чужого фильтра",
|
|
231
|
+
"Private": "Приватный",
|
|
232
|
+
"Public": "Публичный",
|
|
233
|
+
"Visibility": "Видимость",
|
|
234
|
+
"Export": "Экспорт",
|
|
235
|
+
"Exporting...": "Экспорт...",
|
|
236
|
+
"Export is only available with an active filter": "Экспорт доступен только при активном фильтре",
|
|
237
|
+
"Export to": "Экспорт в",
|
|
238
|
+
"completed": "завершён",
|
|
239
|
+
"Export error": "Ошибка экспорта",
|
|
240
|
+
"Conditions": "Условия",
|
|
241
|
+
"Access for groups": "Доступ для групп",
|
|
242
|
+
"Selected groups": "Выбранные группы",
|
|
243
|
+
"Groups list": "Список групп с чекбоксами",
|
|
244
|
+
"Columns": "Колонки",
|
|
245
|
+
"Saving...": "Сохранение...",
|
|
246
|
+
"Error saving filter": "Ошибка при сохранении",
|
|
247
|
+
"Column configuration": "Настройка колонок",
|
|
248
|
+
"Select and arrange columns to display in the table": "Выберите и упорядочите колонки для отображения в таблице",
|
|
249
|
+
"Loading columns...": "Загрузка колонок...",
|
|
250
|
+
"Use buttons": "Используйте кнопки",
|
|
251
|
+
"to move and": "для перемещения и",
|
|
252
|
+
"to change order": "для изменения порядка",
|
|
253
|
+
"Not contains": "не содержит",
|
|
254
|
+
"Data in JSON format": "Данные в формате JSON",
|
|
255
|
+
"Text format CSV": "Текстовый формат CSV",
|
|
256
|
+
"Excel file": "Excel файл",
|
|
257
|
+
"Select a saved filter or create a new one": "Выберите сохранённый фильтр или создайте новый",
|
|
258
|
+
"Select a filter or create a new one": "Выберите фильтр или создайте новый",
|
|
259
|
+
"User Filters": "Фильтры пользователя",
|
|
260
|
+
"Search filters...": "Поиск фильтров...",
|
|
261
|
+
"All models": "Все модели",
|
|
262
|
+
"No filters found": "Фильтры не найдены",
|
|
263
|
+
"Loading more...": "Загрузка...",
|
|
264
|
+
"Filter Name": "Название фильтра",
|
|
121
265
|
"Groups": "Группы",
|
|
266
|
+
"You": "Вы",
|
|
267
|
+
"Unknown": "Неизвестно",
|
|
268
|
+
"found": "найдено",
|
|
269
|
+
"JSON URL": "JSON URL",
|
|
270
|
+
"XML URL": "XML URL",
|
|
271
|
+
"API key is not created": "API ключ не создан",
|
|
272
|
+
"The key is not created. Create it or contact an administrator.": "Ключ не создан. Создайте его или обратитесь к администратору.",
|
|
273
|
+
"OK": "ОК",
|
|
274
|
+
"Save filter": "Сохранить фильтр",
|
|
275
|
+
"and": "и",
|
|
276
|
+
"Add": "Добавить",
|
|
277
|
+
"Custom filtering": "Пользовательская фильтрация",
|
|
278
|
+
"Error": "Ошибка",
|
|
279
|
+
"Error applying filter": "Ошибка при применении фильтра",
|
|
280
|
+
"Model not found": "Модель не найдена",
|
|
281
|
+
"Unauthorized": "Не авторизован",
|
|
282
|
+
"Forbidden": "Доступ запрещён",
|
|
283
|
+
"Conditions are required": "Условия обязательны",
|
|
284
|
+
"Filter name is required": "Название фильтра обязательно",
|
|
285
|
+
"Filter conditions are required": "Условия фильтра обязательны",
|
|
286
|
+
"Filter with this name already exists": "Фильтр с таким названием уже существует",
|
|
287
|
+
"Filter not found": "Фильтр не найден",
|
|
288
|
+
"Failed to save filter": "Не удалось сохранить фильтр",
|
|
289
|
+
"Filter ID is required": "ID фильтра обязателен",
|
|
290
|
+
"Failed to delete filter": "Не удалось удалить фильтр",
|
|
291
|
+
"Columns array is required": "Массив колонок обязателен",
|
|
292
|
+
"Filter not found or access denied": "Фильтр не найден или доступ запрещён",
|
|
293
|
+
"Failed to update filter columns": "Не удалось обновить колонки фильтра",
|
|
294
|
+
"GroupAP model not found": "Модель GroupAP не найдена",
|
|
295
|
+
"Failed to load groups": "Не удалось загрузить группы",
|
|
296
|
+
"Internal server error": "Внутренняя ошибка сервера",
|
|
297
|
+
"Filter visibility": "Видимость фильтра",
|
|
122
298
|
"System": "Система",
|
|
123
|
-
"Table": "Таблица",
|
|
124
|
-
"Tile": "Плитка",
|
|
125
|
-
"Load more": "Загрузить еще",
|
|
126
|
-
"Images": "Изображения",
|
|
127
|
-
"Videos": "Видео",
|
|
128
|
-
"Texts": "Тексты",
|
|
129
|
-
"Applications": "Приложения",
|
|
130
|
-
"File": "Файл",
|
|
131
|
-
"Name": "Название",
|
|
132
|
-
"Type": "Тип",
|
|
133
|
-
"Size (orig.)": "Размер (ориг.)",
|
|
134
|
-
"W x H (orig.)": "Ш x В (ориг.)",
|
|
135
299
|
"W x H": "Ш x В",
|
|
136
300
|
"Sizes": "Размеры",
|
|
137
|
-
"Sizes/Ver": "Размеры/Версии",
|
|
138
|
-
"Locales": "Локали",
|
|
139
|
-
"Data": "Данные",
|
|
140
|
-
"Date": "Дата",
|
|
141
301
|
"User login": "Логин пользователя",
|
|
142
302
|
"avatar": "аватар",
|
|
143
303
|
"expires": "истекает",
|
|
144
304
|
"is administrator": "администратор",
|
|
145
305
|
"widgets": "виджеты",
|
|
146
306
|
"isConfirmed": "подтвержден",
|
|
147
|
-
"id": "id",
|
|
148
|
-
"title": "заголовок",
|
|
149
|
-
"slug": "slug",
|
|
150
|
-
"owner": "владелец",
|
|
151
307
|
"userAPs": "пользователи",
|
|
152
308
|
"schema": "схема",
|
|
153
309
|
"example": "пример",
|
|
154
310
|
"Navigation": "Навигация",
|
|
155
311
|
"All controlss": "Все контролы",
|
|
156
312
|
"Categorys": "Категории",
|
|
157
|
-
"Textarea": "Текстовое поле",
|
|
158
|
-
"Disabled": "Отключено",
|
|
159
|
-
"Boolean": "Булево",
|
|
160
|
-
"time": "время",
|
|
161
|
-
"Number": "Число",
|
|
162
|
-
"Editor": "Редактор",
|
|
163
|
-
"Date and time": "Дата и время",
|
|
164
313
|
"First": "Первая",
|
|
165
314
|
"Last": "Последняя",
|
|
166
315
|
"Previous": "Назад",
|
|
167
316
|
"Next": "Вперед",
|
|
168
317
|
"Notifications": "Уведомления",
|
|
169
|
-
"Global Settings": "Глобальные настройки",
|
|
170
318
|
"Send feedback": "Отправить отзыв",
|
|
171
319
|
"Feedback": "Обратная связь",
|
|
172
|
-
"Description": "Описание",
|
|
173
320
|
"Attach files": "Прикрепить файлы",
|
|
174
321
|
"Send": "Отправить",
|
|
175
322
|
"Sending...": "Отправка...",
|
|
@@ -178,4 +325,4 @@
|
|
|
178
325
|
"File size exceeds the 5 MB limit": "Размер файла превышает 5 МБ",
|
|
179
326
|
"Remove file": "Удалить файл",
|
|
180
327
|
"Max 5 MB per file": "Макс. 5 МБ на файл"
|
|
181
|
-
}
|
|
328
|
+
}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
|
|
2
|
+
// @ts-ignore - module is resolved at runtime from package.json
|
|
3
|
+
import { HotTable, HotColumn } from '@handsontable/react-wrapper';
|
|
3
4
|
import { registerAllModules } from 'handsontable/registry';
|
|
4
5
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
5
6
|
import { useAppearance } from "@/hooks/use-appearance";
|
|
6
7
|
import { registerLanguageDictionary, deDE, enUS, esMX, frFR, itIT, jaJP, koKR, nlNL, plPL, ptBR, ruRU, zhCN } from 'handsontable/i18n';
|
|
7
8
|
registerAllModules();
|
|
8
9
|
const languageDictionaries = {
|
|
9
|
-
'de': deDE,
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'fr': frFR,
|
|
13
|
-
'it': itIT,
|
|
14
|
-
'ja': jaJP,
|
|
15
|
-
'ko': koKR,
|
|
16
|
-
'nl': nlNL,
|
|
17
|
-
'pl': plPL,
|
|
18
|
-
'pt': ptBR,
|
|
19
|
-
'ru': ruRU,
|
|
20
|
-
'zh': zhCN,
|
|
10
|
+
'de': deDE, 'en': enUS, 'es': esMX, 'fr': frFR, 'it': itIT,
|
|
11
|
+
'ja': jaJP, 'ko': koKR, 'nl': nlNL, 'pl': plPL, 'pt': ptBR,
|
|
12
|
+
'ru': ruRU, 'zh': zhCN,
|
|
21
13
|
};
|
|
22
14
|
const docLang = document.documentElement.lang;
|
|
23
15
|
const lang = languageDictionaries[docLang] ?? languageDictionaries['en'];
|
|
@@ -26,14 +18,14 @@ const HandsonTable = ({ config, data = [], onChange, disabled }) => {
|
|
|
26
18
|
const { appearance } = useAppearance();
|
|
27
19
|
const [theme, setTheme] = useState('ht-theme-main');
|
|
28
20
|
const [visible, setVisible] = useState(false);
|
|
29
|
-
const
|
|
30
|
-
|
|
21
|
+
const hotTableRef = useRef(null);
|
|
22
|
+
// ✅ 1. Исправленная сигнатура afterChange (но с сохранением логики)
|
|
23
|
+
const handleChange = useCallback((changes, source) => {
|
|
24
|
+
if (source === 'loadData' || !changes)
|
|
31
25
|
return;
|
|
32
|
-
}
|
|
33
26
|
const hotData = hotTableRef.current?.hotInstance?.getSourceData();
|
|
34
27
|
onChange(hotData);
|
|
35
|
-
}, []);
|
|
36
|
-
const hotTableRef = useRef(null);
|
|
28
|
+
}, [onChange]);
|
|
37
29
|
useEffect(() => {
|
|
38
30
|
const timer = setTimeout(() => {
|
|
39
31
|
if (hotTableRef.current?.hotInstance) {
|
|
@@ -44,15 +36,9 @@ const HandsonTable = ({ config, data = [], onChange, disabled }) => {
|
|
|
44
36
|
return () => clearTimeout(timer);
|
|
45
37
|
}, [data]);
|
|
46
38
|
useEffect(() => {
|
|
47
|
-
|
|
48
|
-
setTheme('ht-theme-main-dark');
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
setTheme('ht-theme-main');
|
|
52
|
-
}
|
|
39
|
+
setTheme(appearance === 'dark' ? 'ht-theme-main-dark' : 'ht-theme-main');
|
|
53
40
|
}, [appearance]);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}, children: _jsx(HotTable, { className: disabled ? 'pointer-events-none opacity-50' : '', themeName: theme, language: lang.languageCode, ref: hotTableRef, ...config, afterChange: handleChange, children: config.columns.map((item) => (_jsx(HotColumn, { data: item.data, ...item }, item.data))) }) }));
|
|
41
|
+
const { columns, ...restConfig } = config;
|
|
42
|
+
return (_jsx("div", { style: { opacity: visible ? 1 : 0 }, children: _jsx(HotTable, { ...restConfig, className: disabled ? 'pointer-events-none opacity-50' : '', themeName: theme, language: lang.languageCode, ref: hotTableRef, afterChange: handleChange, children: Array.isArray(columns) && columns.map((item) => (_jsx(HotColumn, { data: item.data, ...item }, String(item.data)))) }) }));
|
|
57
43
|
};
|
|
58
44
|
export default HandsonTable;
|
|
@@ -121,9 +121,7 @@ export const DialogStackOverlay = ({ className, ...props }) => {
|
|
|
121
121
|
if (!context.isOpen) {
|
|
122
122
|
return null;
|
|
123
123
|
}
|
|
124
|
-
return (
|
|
125
|
-
// biome-ignore lint/nursery/noStaticElementInteractions: "This is a clickable overlay"
|
|
126
|
-
_jsx("div", { className: cn('fixed inset-0 z-[1001] bg-black/80 backdrop-blur-sm', 'data-[state=closed]:animate-out data-[state=open]:animate-in', 'data-[state=closed]:fade-out-0 slide-in-from-right-1/2 data-[state=open]:fade-in-0', className), onClick: () => {
|
|
124
|
+
return (_jsx("div", { className: cn('fixed inset-0 z-[1001] bg-black/80 backdrop-blur-sm', 'data-[state=closed]:animate-out data-[state=open]:animate-in', 'data-[state=closed]:fade-out-0 slide-in-from-right-1/2 data-[state=open]:fade-in-0', className), onClick: () => {
|
|
127
125
|
if (context.activeIndex === 0) {
|
|
128
126
|
context.setIsOpen(false);
|
|
129
127
|
}
|
|
@@ -8,7 +8,7 @@ function PopoverTrigger({ ...props }) {
|
|
|
8
8
|
return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
9
9
|
}
|
|
10
10
|
function PopoverContent({ className, align = "center", sideOffset = 4, ...props }) {
|
|
11
|
-
return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-
|
|
11
|
+
return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[1100] w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", className), ...props }) }));
|
|
12
12
|
}
|
|
13
13
|
function PopoverAnchor({ ...props }) {
|
|
14
14
|
return _jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
@@ -109,7 +109,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
109
109
|
return (_jsx("button", { "data-sidebar": "rail", "data-slot": "sidebar-rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: cn("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className), ...props }));
|
|
110
110
|
}
|
|
111
111
|
function SidebarInset({ className, ...props }) {
|
|
112
|
-
return (_jsx("main", { "data-slot": "sidebar-inset", className: cn("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", className), ...props }));
|
|
112
|
+
return (_jsx("main", { "data-slot": "sidebar-inset", className: cn("bg-background relative flex min-h-0 w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", className), ...props }));
|
|
113
113
|
}
|
|
114
114
|
function SidebarInput({ className, ...props }) {
|
|
115
115
|
return (_jsx(Input, { "data-slot": "sidebar-input", "data-sidebar": "input", className: cn("bg-background h-8 w-full shadow-none", className), ...props }));
|