@chrome-consulting/krit-ui 0.0.49
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 +69 -0
- package/dist/assets/index.d.ts +201 -0
- package/dist/components/ui/attachmentsSection.d.ts +54 -0
- package/dist/components/ui/badge.d.ts +32 -0
- package/dist/components/ui/badgeVariants.d.ts +6 -0
- package/dist/components/ui/banner.d.ts +60 -0
- package/dist/components/ui/bottom-menu.d.ts +41 -0
- package/dist/components/ui/button.d.ts +27 -0
- package/dist/components/ui/buttonVariants.d.ts +4 -0
- package/dist/components/ui/calendar.d.ts +18 -0
- package/dist/components/ui/card.d.ts +87 -0
- package/dist/components/ui/carousel.d.ts +52 -0
- package/dist/components/ui/checkbox.d.ts +30 -0
- package/dist/components/ui/collapsible-section.d.ts +37 -0
- package/dist/components/ui/collapsible.d.ts +18 -0
- package/dist/components/ui/command.d.ts +102 -0
- package/dist/components/ui/confirm-modal.d.ts +33 -0
- package/dist/components/ui/data-table.d.ts +94 -0
- package/dist/components/ui/date-picker.d.ts +69 -0
- package/dist/components/ui/dialog.d.ts +66 -0
- package/dist/components/ui/dot.d.ts +10 -0
- package/dist/components/ui/dropdown-menu.d.ts +67 -0
- package/dist/components/ui/file-input.d.ts +36 -0
- package/dist/components/ui/filters-column-header.d.ts +28 -0
- package/dist/components/ui/form.d.ts +86 -0
- package/dist/components/ui/form.lib.d.ts +23 -0
- package/dist/components/ui/header.d.ts +39 -0
- package/dist/components/ui/input.d.ts +30 -0
- package/dist/components/ui/label.d.ts +23 -0
- package/dist/components/ui/multi-select.d.ts +100 -0
- package/dist/components/ui/nav-panel.d.ts +52 -0
- package/dist/components/ui/nav.d.ts +52 -0
- package/dist/components/ui/network-error-message.d.ts +46 -0
- package/dist/components/ui/notification.d.ts +34 -0
- package/dist/components/ui/notificationVariants.d.ts +4 -0
- package/dist/components/ui/number-input.d.ts +149 -0
- package/dist/components/ui/page-layout.d.ts +28 -0
- package/dist/components/ui/page-view-mode-toggle.d.ts +22 -0
- package/dist/components/ui/pagination.d.ts +121 -0
- package/dist/components/ui/popover.d.ts +36 -0
- package/dist/components/ui/post-card.d.ts +273 -0
- package/dist/components/ui/preloader.d.ts +23 -0
- package/dist/components/ui/previewFull.d.ts +40 -0
- package/dist/components/ui/previews.d.ts +69 -0
- package/dist/components/ui/previewsCompactList.d.ts +18 -0
- package/dist/components/ui/previewsShared.d.ts +8 -0
- package/dist/components/ui/profile.d.ts +41 -0
- package/dist/components/ui/radio-group.d.ts +48 -0
- package/dist/components/ui/resizable.d.ts +65 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/secondary-panel-section.d.ts +20 -0
- package/dist/components/ui/segmented-control.d.ts +35 -0
- package/dist/components/ui/select-header-filter.d.ts +23 -0
- package/dist/components/ui/select.d.ts +91 -0
- package/dist/components/ui/separator.d.ts +34 -0
- package/dist/components/ui/sheet.d.ts +118 -0
- package/dist/components/ui/skeleton.d.ts +24 -0
- package/dist/components/ui/sort-component.d.ts +46 -0
- package/dist/components/ui/sortable-header.d.ts +12 -0
- package/dist/components/ui/switch.d.ts +25 -0
- package/dist/components/ui/table.d.ts +104 -0
- package/dist/components/ui/tabs.d.ts +52 -0
- package/dist/components/ui/tabsVariants.d.ts +6 -0
- package/dist/components/ui/text-area.d.ts +37 -0
- package/dist/components/ui/theme-provider.d.ts +136 -0
- package/dist/components/ui/time-picker.d.ts +29 -0
- package/dist/components/ui/time-picker.lib.d.ts +6 -0
- package/dist/components/ui/toast.d.ts +80 -0
- package/dist/components/ui/toaster.d.ts +22 -0
- package/dist/components/ui/tooltip.d.ts +65 -0
- package/dist/components/ui/tree-view.d.ts +96 -0
- package/dist/components/ui/widget-plan-fact.d.ts +86 -0
- package/dist/date.d.ts +8 -0
- package/dist/hooks/useColumnFilters.d.ts +6 -0
- package/dist/hooks/useColumnSizing.d.ts +20 -0
- package/dist/hooks/useCombinedRefs.d.ts +1 -0
- package/dist/hooks/useConfirm.d.ts +49 -0
- package/dist/hooks/useNotify.d.ts +28 -0
- package/dist/hooks/usePreviewsFilePicker.d.ts +40 -0
- package/dist/hooks/useSidebar.d.ts +10 -0
- package/dist/hooks/useStoredExpand.d.ts +18 -0
- package/dist/hooks/useStoredFields.d.ts +4 -0
- package/dist/hooks/useStoredTabs.d.ts +4 -0
- package/dist/hooks/useTableStates.d.ts +26 -0
- package/dist/hooks/useTheme.d.ts +1 -0
- package/dist/hooks/useToast.d.ts +44 -0
- package/dist/hooks/useTranslation.d.ts +4 -0
- package/dist/krit-ui.d.ts +2 -0
- package/dist/krit-ui.js +27485 -0
- package/dist/krit-ui.umd.cjs +140 -0
- package/dist/lib/attachments.d.ts +245 -0
- package/dist/lib/cookies.d.ts +1 -0
- package/dist/lib/file.d.ts +52 -0
- package/dist/lib/infinite-scroll.d.ts +13 -0
- package/dist/lib/selectUtils.d.ts +14 -0
- package/dist/lib/text.d.ts +1 -0
- package/dist/lib/zod.d.ts +27 -0
- package/dist/main.d.ts +85 -0
- package/dist/style.css +1 -0
- package/dist/utils.d.ts +2 -0
- package/package.json +122 -0
- package/tailwind.config.cjs +273 -0
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# KRIT UI
|
|
2
|
+
|
|
3
|
+
Библиотека UI компонентов для [KRIT](https://krit.global/)
|
|
4
|
+
|
|
5
|
+
## Установка
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @chrome-consulting/krit-ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Подключите стили библиотеки в точке входа приложения:
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import '@chrome-consulting/krit-ui/style.css';
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Использование библиотеки
|
|
18
|
+
|
|
19
|
+
`<ThemeProvider>` обязательна для корректного отображения компонентов UI.
|
|
20
|
+
|
|
21
|
+
`<ThemeProvider>` принимает свойство `translations` через которое можно передать переводы.
|
|
22
|
+
|
|
23
|
+
### Пример
|
|
24
|
+
|
|
25
|
+
```jsx
|
|
26
|
+
import { ThemeProvider } from '@chrome-consulting/krit-ui';
|
|
27
|
+
|
|
28
|
+
<ThemeProvider translations={
|
|
29
|
+
{
|
|
30
|
+
confirmAction: 'Подтвердите действие',
|
|
31
|
+
cancelAction: 'Отменить действие',
|
|
32
|
+
...
|
|
33
|
+
}
|
|
34
|
+
}>
|
|
35
|
+
<App />
|
|
36
|
+
</ThemeProvider>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Публикация
|
|
40
|
+
|
|
41
|
+
Перед публикацией обновите версию и проверьте содержимое пакета:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm version patch
|
|
45
|
+
npm pack --dry-run
|
|
46
|
+
npm publish
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Expanding the ESLint configuration
|
|
50
|
+
|
|
51
|
+
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
|
|
52
|
+
|
|
53
|
+
- Configure the top-level `parserOptions` property like this:
|
|
54
|
+
|
|
55
|
+
```js
|
|
56
|
+
export default {
|
|
57
|
+
// other rules...
|
|
58
|
+
parserOptions: {
|
|
59
|
+
ecmaVersion: 'latest',
|
|
60
|
+
sourceType: 'module',
|
|
61
|
+
project: ['./tsconfig.json', './tsconfig.node.json'],
|
|
62
|
+
tsconfigRootDir: __dirname,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
|
|
68
|
+
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
|
|
69
|
+
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
export { default as N00Icon } from './00.svg?react';
|
|
2
|
+
export { default as N01Icon } from './01.svg?react';
|
|
3
|
+
export { default as N02Icon } from './02.svg?react';
|
|
4
|
+
export { default as N03Icon } from './03.svg?react';
|
|
5
|
+
export { default as N04Icon } from './04.svg?react';
|
|
6
|
+
export { default as AccessDeniedDarkIcon } from './access_denied_dark.svg?react';
|
|
7
|
+
export { default as AccessDeniedLightIcon } from './access_denied_light.svg?react';
|
|
8
|
+
export { default as AccountBalanceIcon } from './account_balance.svg?react';
|
|
9
|
+
export { default as AccountBoxIcon } from './account_box.svg?react';
|
|
10
|
+
export { default as AccountCircleIcon } from './account_circle.svg?react';
|
|
11
|
+
export { default as AccountTreeIcon } from './account_tree.svg?react';
|
|
12
|
+
export { default as AddIcon } from './add.svg?react';
|
|
13
|
+
export { default as AddBoxIcon } from './add_box.svg?react';
|
|
14
|
+
export { default as AddCircleOutlineIcon } from './add_circle_outline.svg?react';
|
|
15
|
+
export { default as AddOutlineIcon } from './add_outline.svg?react';
|
|
16
|
+
export { default as AiAssistantIcon } from './ai_assistant.svg?react';
|
|
17
|
+
export { default as AiChatSendIcon } from './ai_chat_send.svg?react';
|
|
18
|
+
export { default as AiChatWelcomeIcon } from './ai_chat_welcome.svg?react';
|
|
19
|
+
export { default as AnalyticsIcon } from './analytics.svg?react';
|
|
20
|
+
export { default as ArchiveIcon } from './archive.svg?react';
|
|
21
|
+
export { default as ArrowBackIcon } from './arrow_back.svg?react';
|
|
22
|
+
export { default as ArrowDropDownIcon } from './arrow_drop_down.svg?react';
|
|
23
|
+
export { default as ArrowForwardIcon } from './arrow_forward.svg?react';
|
|
24
|
+
export { default as AssignmentIcon } from './assignment.svg?react';
|
|
25
|
+
export { default as AssignmentTurnedInIcon } from './assignment_turned_in.svg?react';
|
|
26
|
+
export { default as AttachFileIcon } from './attach_file.svg?react';
|
|
27
|
+
export { default as AudioFileIcon } from './audio_file.svg?react';
|
|
28
|
+
export { default as BarChartIcon } from './bar_chart.svg?react';
|
|
29
|
+
export { default as BgDarkIcon } from './bg_dark.svg?react';
|
|
30
|
+
export { default as BgLightIcon } from './bg_light.svg?react';
|
|
31
|
+
export { default as BillEmptyIcon } from './bill_empty.svg?react';
|
|
32
|
+
export { default as BlockIcon } from './block.svg?react';
|
|
33
|
+
export { default as BuildIcon } from './build.svg?react';
|
|
34
|
+
export { default as BuildCircleIcon } from './build_circle.svg?react';
|
|
35
|
+
export { default as BuildCircleOutlineIcon } from './build_circle_outline.svg?react';
|
|
36
|
+
export { default as CalendarOutlineIcon } from './calendar_outline.svg?react';
|
|
37
|
+
export { default as CancelIcon } from './cancel.svg?react';
|
|
38
|
+
export { default as CancelCircleOutlineIcon } from './cancel_circle_outline.svg?react';
|
|
39
|
+
export { default as CancelOutlineIcon } from './cancel_outline.svg?react';
|
|
40
|
+
export { default as CategoryIcon } from './category.svg?react';
|
|
41
|
+
export { default as CheckIcon } from './check.svg?react';
|
|
42
|
+
export { default as CheckCircleOutlineIcon } from './check_circle_outline.svg?react';
|
|
43
|
+
export { default as CheckCloseFolderIcon } from './check_close_folder.svg?react';
|
|
44
|
+
export { default as ChecksOutlineIcon } from './checks_outline.svg?react';
|
|
45
|
+
export { default as ChevronDownIcon } from './chevron_down.svg?react';
|
|
46
|
+
export { default as ChevronLeftIcon } from './chevron_left.svg?react';
|
|
47
|
+
export { default as ChevronLeftOutlineIcon } from './chevron_left_outline.svg?react';
|
|
48
|
+
export { default as ChevronRightIcon } from './chevron_right.svg?react';
|
|
49
|
+
export { default as ChevronRightOutlineIcon } from './chevron_right_outline.svg?react';
|
|
50
|
+
export { default as ChevronUpIcon } from './chevron_up.svg?react';
|
|
51
|
+
export { default as CloseIcon } from './close.svg?react';
|
|
52
|
+
export { default as CloseCircleIcon } from './close_circle.svg?react';
|
|
53
|
+
export { default as CoinsIcon } from './coins.svg?react';
|
|
54
|
+
export { default as ConstructionIcon } from './construction.svg?react';
|
|
55
|
+
export { default as ContentPasteSearchIcon } from './content_paste_search.svg?react';
|
|
56
|
+
export { default as ControlPointIcon } from './control_point.svg?react';
|
|
57
|
+
export { default as CorporateFareIcon } from './corporate_fare.svg?react';
|
|
58
|
+
export { default as CupOutlineIcon } from './cup_outline.svg?react';
|
|
59
|
+
export { default as DarkModeIcon } from './dark_mode.svg?react';
|
|
60
|
+
export { default as DarkModeOutlineIcon } from './dark_mode_outline.svg?react';
|
|
61
|
+
export { default as DashboardIcon } from './dashboard.svg?react';
|
|
62
|
+
export { default as DeleteIcon } from './delete.svg?react';
|
|
63
|
+
export { default as DeleteOutlineIcon } from './delete_outline.svg?react';
|
|
64
|
+
export { default as DoNotDisturbIcon } from './do_not_disturb.svg?react';
|
|
65
|
+
export { default as DocumentArrowUpOutlineIcon } from './document_arrow_up_outline.svg?react';
|
|
66
|
+
export { default as DocumentListOutlineIcon } from './document_list_outline.svg?react';
|
|
67
|
+
export { default as DonateOutlineIcon } from './donate_outline.svg?react';
|
|
68
|
+
export { default as DoneIcon } from './done.svg?react';
|
|
69
|
+
export { default as DoneOutlineIcon } from './done_outline.svg?react';
|
|
70
|
+
export { default as DoorArrowRightOutlineIcon } from './door_arrow_right_outline.svg?react';
|
|
71
|
+
export { default as DownloadOutlineIcon } from './download_outline.svg?react';
|
|
72
|
+
export { default as DragIndicatorIcon } from './drag_indicator.svg?react';
|
|
73
|
+
export { default as EditIcon } from './edit.svg?react';
|
|
74
|
+
export { default as EditOutlineIcon } from './edit_outline.svg?react';
|
|
75
|
+
export { default as ErrorOutlineIcon } from './error_outline.svg?react';
|
|
76
|
+
export { default as EventAvailableIcon } from './event_available.svg?react';
|
|
77
|
+
export { default as EventNoteIcon } from './event_note.svg?react';
|
|
78
|
+
export { default as EventRepeatOutlinedIcon } from './event_repeat_outlined.svg?react';
|
|
79
|
+
export { default as ExpandMoreIcon } from './expand_more.svg?react';
|
|
80
|
+
export { default as FactCheckOutlineIcon } from './fact_check_outline.svg?react';
|
|
81
|
+
export { default as FactoryIcon } from './factory.svg?react';
|
|
82
|
+
export { default as FeaturedPlayListIcon } from './featured_play_list.svg?react';
|
|
83
|
+
export { default as FileIcon } from './file.svg?react';
|
|
84
|
+
export { default as FileCopyIcon } from './file_copy.svg?react';
|
|
85
|
+
export { default as FileCopyOutlineIcon } from './file_copy_outline.svg?react';
|
|
86
|
+
export { default as FileDownloadIcon } from './file_download.svg?react';
|
|
87
|
+
export { default as FilterAltOffOutlineIcon } from './filter_alt_off_outline.svg?react';
|
|
88
|
+
export { default as FirstPageIcon } from './first_page.svg?react';
|
|
89
|
+
export { default as FlagIcon } from './flag.svg?react';
|
|
90
|
+
export { default as FlagFillIcon } from './flag_fill.svg?react';
|
|
91
|
+
export { default as FormatAlignLeftIcon } from './format_align_left.svg?react';
|
|
92
|
+
export { default as GearsAlarmIcon } from './gears_alarm.svg?react';
|
|
93
|
+
export { default as GroupOutlineIcon } from './group_outline.svg?react';
|
|
94
|
+
export { default as GroupWorkIcon } from './group_work.svg?react';
|
|
95
|
+
export { default as HandPaperIcon } from './hand_paper.svg?react';
|
|
96
|
+
export { default as HandymanIcon } from './handyman.svg?react';
|
|
97
|
+
export { default as HardwareIcon } from './hardware.svg?react';
|
|
98
|
+
export { default as HelpCenterIcon } from './help_center.svg?react';
|
|
99
|
+
export { default as HelpCenterOutlineIcon } from './help_center_outline.svg?react';
|
|
100
|
+
export { default as HideImageIcon } from './hide_image.svg?react';
|
|
101
|
+
export { default as HideOutlineIcon } from './hide_outline.svg?react';
|
|
102
|
+
export { default as HistoryIcon } from './history.svg?react';
|
|
103
|
+
export { default as HotelClassIcon } from './hotel_class.svg?react';
|
|
104
|
+
export { default as ImageIcon } from './image.svg?react';
|
|
105
|
+
export { default as ImageOutlineIcon } from './image_outline.svg?react';
|
|
106
|
+
export { default as ImgBoxFillIcon } from './img_box_fill.svg?react';
|
|
107
|
+
export { default as InfoIcon } from './info.svg?react';
|
|
108
|
+
export { default as InsertInvitationOutlineIcon } from './insert_invitation_outline.svg?react';
|
|
109
|
+
export { default as InventoryIcon } from './inventory.svg?react';
|
|
110
|
+
export { default as LanIcon } from './lan.svg?react';
|
|
111
|
+
export { default as LanOutlineIcon } from './lan_outline.svg?react';
|
|
112
|
+
export { default as LastPageIcon } from './last_page.svg?react';
|
|
113
|
+
export { default as LegendToggleIcon } from './legend_toggle.svg?react';
|
|
114
|
+
export { default as LightModeIcon } from './light_mode.svg?react';
|
|
115
|
+
export { default as LightModeOutlineIcon } from './light_mode_outline.svg?react';
|
|
116
|
+
export { default as LocalFireDepartmentIcon } from './local_fire_department.svg?react';
|
|
117
|
+
export { default as LocationMapOutlineIcon } from './location_map_outline.svg?react';
|
|
118
|
+
export { default as LocationOnIcon } from './location_on.svg?react';
|
|
119
|
+
export { default as LockIcon } from './lock.svg?react';
|
|
120
|
+
export { default as LockOpenIcon } from './lock_open.svg?react';
|
|
121
|
+
export { default as LogoutOutlineIcon } from './logout_outline.svg?react';
|
|
122
|
+
export { default as MenuIcon } from './menu.svg?react';
|
|
123
|
+
export { default as MoreVertIcon } from './more_vert.svg?react';
|
|
124
|
+
export { default as MyLocationIcon } from './my_location.svg?react';
|
|
125
|
+
export { default as NetworkErrorIcon } from './network_error.svg?react';
|
|
126
|
+
export { default as NextWeekIcon } from './next_week.svg?react';
|
|
127
|
+
export { default as NoAssignmentIcon } from './no_assignment.svg?react';
|
|
128
|
+
export { default as NorthEastIcon } from './north_east.svg?react';
|
|
129
|
+
export { default as OutputIcon } from './output.svg?react';
|
|
130
|
+
export { default as PauseCircleOutlineIcon } from './pause_circle_outline.svg?react';
|
|
131
|
+
export { default as PenOutlineIcon } from './pen_outline.svg?react';
|
|
132
|
+
export { default as PeopleAltOutlinedIcon } from './people_alt_outlined.svg?react';
|
|
133
|
+
export { default as PersonIcon } from './person.svg?react';
|
|
134
|
+
export { default as PersonOutlineIcon } from './person_outline.svg?react';
|
|
135
|
+
export { default as PhotoMusthaveIcon } from './photo_musthave.svg?react';
|
|
136
|
+
export { default as PlayIcon } from './play.svg?react';
|
|
137
|
+
export { default as PlaylistAddCheckIcon } from './playlist_add_check.svg?react';
|
|
138
|
+
export { default as PortraitIcon } from './portrait.svg?react';
|
|
139
|
+
export { default as PrecisionManufacturingOutlineIcon } from './precision_manufacturing_outline.svg?react';
|
|
140
|
+
export { default as PriorityIcon } from './priority.svg?react';
|
|
141
|
+
export { default as PublishIcon } from './publish.svg?react';
|
|
142
|
+
export { default as PushPinIcon } from './push_pin.svg?react';
|
|
143
|
+
export { default as RectangleSplit4UnevenOutlineIcon } from './rectangle_split_4_uneven_outline.svg?react';
|
|
144
|
+
export { default as RectanglesOutlineIcon } from './rectangles_outline.svg?react';
|
|
145
|
+
export { default as RefreshIcon } from './refresh.svg?react';
|
|
146
|
+
export { default as RemoveCircleOutlineIcon } from './remove_circle_outline.svg?react';
|
|
147
|
+
export { default as ReportProblemOutlineIcon } from './report_problem_outline.svg?react';
|
|
148
|
+
export { default as RestartAltIcon } from './restart_alt.svg?react';
|
|
149
|
+
export { default as RestoreIcon } from './restore.svg?react';
|
|
150
|
+
export { default as RoomIcon } from './room.svg?react';
|
|
151
|
+
export { default as RotateLeftIcon } from './rotate_left.svg?react';
|
|
152
|
+
export { default as RotateRightIcon } from './rotate_right.svg?react';
|
|
153
|
+
export { default as RoundStrokedIcon } from './round_stroked.svg?react';
|
|
154
|
+
export { default as SaveIcon } from './save.svg?react';
|
|
155
|
+
export { default as SaveFillIcon } from './save_fill.svg?react';
|
|
156
|
+
export { default as SearchIcon } from './search.svg?react';
|
|
157
|
+
export { default as SearchEmptyIcon } from './search_empty.svg?react';
|
|
158
|
+
export { default as SellOutlineIcon } from './sell_outline.svg?react';
|
|
159
|
+
export { default as SettingsIcon } from './settings.svg?react';
|
|
160
|
+
export { default as SettingsOutlineIcon } from './settings_outline.svg?react';
|
|
161
|
+
export { default as ShoppingBasketIcon } from './shopping_basket.svg?react';
|
|
162
|
+
export { default as SimCardDownloadIcon } from './sim_card_download.svg?react';
|
|
163
|
+
export { default as SmsFailedIcon } from './sms_failed.svg?react';
|
|
164
|
+
export { default as SortIcon } from './sort.svg?react';
|
|
165
|
+
export { default as SouthIcon } from './south.svg?react';
|
|
166
|
+
export { default as Square4OutlineIcon } from './square_4_outline.svg?react';
|
|
167
|
+
export { default as StarIcon } from './star.svg?react';
|
|
168
|
+
export { default as StarsIcon } from './stars.svg?react';
|
|
169
|
+
export { default as StraightenIcon } from './straighten.svg?react';
|
|
170
|
+
export { default as StrategyIcon } from './strategy.svg?react';
|
|
171
|
+
export { default as SubdirectoryArrowRightIcon } from './subdirectory_arrow_right.svg?react';
|
|
172
|
+
export { default as SupervisorAccountIcon } from './supervisor_account.svg?react';
|
|
173
|
+
export { default as TableChartIcon } from './table_chart.svg?react';
|
|
174
|
+
export { default as TableRowsOutlineIcon } from './table_rows_outline.svg?react';
|
|
175
|
+
export { default as TargetOutlineIcon } from './target_outline.svg?react';
|
|
176
|
+
export { default as ThermostatIcon } from './thermostat.svg?react';
|
|
177
|
+
export { default as TodayIcon } from './today.svg?react';
|
|
178
|
+
export { default as TollIcon } from './toll.svg?react';
|
|
179
|
+
export { default as TourIcon } from './tour.svg?react';
|
|
180
|
+
export { default as TranslateIcon } from './translate.svg?react';
|
|
181
|
+
export { default as TuneOutlineIcon } from './tune_outline.svg?react';
|
|
182
|
+
export { default as UnlockIcon } from './unlock.svg?react';
|
|
183
|
+
export { default as UserIcon } from './user.svg?react';
|
|
184
|
+
export { default as VideoFileIcon } from './video_file.svg?react';
|
|
185
|
+
export { default as ViewListIcon } from './view_list.svg?react';
|
|
186
|
+
export { default as ViewOutlineIcon } from './view_outline.svg?react';
|
|
187
|
+
export { default as ViewSidebarIcon } from './view_sidebar.svg?react';
|
|
188
|
+
export { default as ViewSidebarOutlineIcon } from './view_sidebar_outline.svg?react';
|
|
189
|
+
export { default as WarehouseIcon } from './warehouse.svg?react';
|
|
190
|
+
export { default as WarehouseOutlineIcon } from './warehouse_outline.svg?react';
|
|
191
|
+
export { default as WarningAmberIcon } from './warning_amber.svg?react';
|
|
192
|
+
export { default as WatchLaterIcon } from './watch_later.svg?react';
|
|
193
|
+
export { default as WatchLaterOutlineIcon } from './watch_later_outline.svg?react';
|
|
194
|
+
export { default as WebStoriesIcon } from './web_stories.svg?react';
|
|
195
|
+
export { default as WhatshotIcon } from './whatshot.svg?react';
|
|
196
|
+
export { default as WorkspacesIcon } from './workspaces.svg?react';
|
|
197
|
+
export { default as WrenchToolIcon } from './wrench_tool.svg?react';
|
|
198
|
+
export { default as WriteIcon } from './write.svg?react';
|
|
199
|
+
export { default as ZoomInOutlinedIcon } from './zoom_in_outlined.svg?react';
|
|
200
|
+
export { default as ZoomOutMapOutlinedIcon } from './zoom_out_map_outlined.svg?react';
|
|
201
|
+
export { default as ZoomOutOutlinedIcon } from './zoom_out_outlined.svg?react';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AttachmentItem, Attachments, ContentType } from '../../lib/attachments';
|
|
2
|
+
/**
|
|
3
|
+
* Пропсы компонента секции вложений
|
|
4
|
+
*/
|
|
5
|
+
export interface AttachmentsSectionProps {
|
|
6
|
+
/** Заголовок секции */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** Ориентация контейнера (вертикальная/горизонтальная) */
|
|
9
|
+
orientation?: 'vertical' | 'horizontal';
|
|
10
|
+
/** Ориентация превью файлов */
|
|
11
|
+
previewsOrientation?: 'vertical' | 'horizontal';
|
|
12
|
+
/** Подсказка под кнопкой добавления файла */
|
|
13
|
+
hint?: string;
|
|
14
|
+
/** Видимые секции по меткам или индексам */
|
|
15
|
+
visibleSections?: (string | number)[];
|
|
16
|
+
/** Доступные для загрузки MIME-типы */
|
|
17
|
+
accepts?: ContentType[];
|
|
18
|
+
/** Максимальные размеры файлов по типам */
|
|
19
|
+
maxSizes?: {
|
|
20
|
+
image?: number;
|
|
21
|
+
video?: number;
|
|
22
|
+
total?: number;
|
|
23
|
+
audio?: number;
|
|
24
|
+
pdf?: number;
|
|
25
|
+
word?: number;
|
|
26
|
+
excel?: number;
|
|
27
|
+
archive?: number;
|
|
28
|
+
};
|
|
29
|
+
/** Включение сжатия изображений */
|
|
30
|
+
withCompress?: boolean;
|
|
31
|
+
/** Колбэк добавления файлов */
|
|
32
|
+
onAdd?: (attachments: AttachmentItem[], tabIndex: number) => Promise<void> | void;
|
|
33
|
+
/** Колбэк удаления файлов */
|
|
34
|
+
onRemove?: (index: number, tabIndex: number) => Promise<void> | void;
|
|
35
|
+
/** Список вкладок с файлами */
|
|
36
|
+
tabs?: Attachments;
|
|
37
|
+
/** Показать плашку "Медиафайлов нет" при отсутствии файлов */
|
|
38
|
+
showNoDataBanner?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Компонент для управления и отображения вложений с группировкой по типам
|
|
42
|
+
*
|
|
43
|
+
* @component
|
|
44
|
+
* @param {AttachmentsSectionProps} props - Параметры компонента
|
|
45
|
+
* @returns {React.ReactElement} Секция с превью файлов и управлением
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* <AttachmentsSection
|
|
49
|
+
* title="Медиафайлы"
|
|
50
|
+
* orientation="horizontal"
|
|
51
|
+
* onAdd={(files) => handleUpload(files)}
|
|
52
|
+
* />
|
|
53
|
+
*/
|
|
54
|
+
export declare const AttachmentsSection: ({ title, tabs, orientation, previewsOrientation, hint, visibleSections, accepts, maxSizes, withCompress, onAdd, onRemove, showNoDataBanner, }: AttachmentsSectionProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { badgeVariants } from './badgeVariants';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export interface BadgeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>, VariantProps<typeof badgeVariants> {
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
iconRight?: React.ReactNode;
|
|
7
|
+
title?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Компонент для отображения стилизованного бейджа с поддержкой иконок и вариаций
|
|
11
|
+
*
|
|
12
|
+
* @component
|
|
13
|
+
* @param {object} props - Параметры компонента
|
|
14
|
+
* @param {'default' | 'gradient' | 'secondary' | 'secondary-contrast' | 'accent' | 'theme' | 'theme-fade' | 'pale' | 'pale-primary' | 'destructive' | 'destructive-fade' | 'destructive-primary' | 'success' | 'success-fade' | 'success-primary' | 'grey' | 'grey-primary' | 'outline' | 'outline-success' | 'warning' | 'warning-fade' | 'contrast',} [props.variant] - Стиль оформления
|
|
15
|
+
* @param {'sm' | 'default' | 'lg'} [props.size] - Размер компонента
|
|
16
|
+
* @param {React.ReactNode} [props.icon] - Иконка слева от содержимого
|
|
17
|
+
* @param {React.ReactNode} [props.iconRight] - Иконка справа от содержимого
|
|
18
|
+
* @param {'default' | 'secondary' | 'black'} [props.iconVariant] - Стиль иконки (только для variant='fade-contrast-filled')
|
|
19
|
+
* @param {'default' | 'truncate'} [props.layout] - Распределение внутренних элементов
|
|
20
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
21
|
+
* @param {React.ReactNode} props.children - Основное содержимое бейджа
|
|
22
|
+
* @param {string} [props.title] - Текст тултипа (используется если children не строка)
|
|
23
|
+
* @param {React.HTMLAttributes} [props.rest] - Дополнительные HTML-атрибуты
|
|
24
|
+
* @returns {React.ReactElement} Стилизованный бейдж
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* <Badge variant="outline" size="md" icon={<Icon />}>
|
|
28
|
+
* New notification
|
|
29
|
+
* </Badge>
|
|
30
|
+
*/
|
|
31
|
+
declare function Badge({ className, variant, size, icon, iconRight, iconVariant, layout, children, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export { Badge };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const badgeVariants: (props?: ({
|
|
2
|
+
variant?: "default" | "gradient" | "secondary" | "secondary-contrast" | "accent" | "theme" | "theme-fade" | "pale" | "pale-primary" | "destructive" | "destructive-fade" | "destructive-primary" | "success" | "success-fade" | "success-primary" | "grey" | "grey-primary" | "outline" | "outline-success" | "warning" | "warning-fade" | "contrast" | null | undefined;
|
|
3
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
4
|
+
iconVariant?: "default" | "secondary" | "black" | null | undefined;
|
|
5
|
+
layout?: "default" | "truncate" | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Пропсы компонента Banner
|
|
4
|
+
*/
|
|
5
|
+
interface BannerProps {
|
|
6
|
+
/** Дополнительные классы стилей */
|
|
7
|
+
className?: string;
|
|
8
|
+
/** Заголовок баннера */
|
|
9
|
+
title?: string;
|
|
10
|
+
/** Подзаголовок/описание */
|
|
11
|
+
subtitle?: string;
|
|
12
|
+
/** Стиль оформления */
|
|
13
|
+
variant?: 'default' | 'secondary';
|
|
14
|
+
/** Тип отображаемой иконки */
|
|
15
|
+
icon?: 'bill-empty' | 'search-empty' | 'network-error';
|
|
16
|
+
/** Текст кнопки действия */
|
|
17
|
+
actionText?: string;
|
|
18
|
+
/** Обработчик клика по кнопке */
|
|
19
|
+
onActionClick?: () => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Универсальный компонент для отображения информационных баннеров
|
|
23
|
+
*/
|
|
24
|
+
export declare const Banner: ({ className, title, subtitle, variant, icon, actionText, onActionClick, }: BannerProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* Пропсы компонента ErrorBanner
|
|
27
|
+
*/
|
|
28
|
+
interface ErrorBannerProps {
|
|
29
|
+
/** Дополнительные классы стилей */
|
|
30
|
+
className?: string;
|
|
31
|
+
/** Обработчик повторной загрузки */
|
|
32
|
+
onRefetchClick?: () => Promise<unknown> | unknown;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Специализированный баннер для отображения ошибок сети
|
|
36
|
+
*
|
|
37
|
+
* @component
|
|
38
|
+
* @param {ErrorBannerProps} props - Параметры компонента
|
|
39
|
+
* @returns {React.ReactElement} Баннер ошибки сети
|
|
40
|
+
*/
|
|
41
|
+
export declare const ErrorBanner: ({ className, onRefetchClick }: ErrorBannerProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Баннер для ошибок маршрутизации с автоматической перезагрузкой
|
|
44
|
+
*
|
|
45
|
+
* @component
|
|
46
|
+
* @returns {React.ReactElement} Баннер ошибки маршрутизации
|
|
47
|
+
*/
|
|
48
|
+
export declare const RouteErrorBanner: () => import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
/**
|
|
50
|
+
* Компонент для отображения состояния отсутствия данных
|
|
51
|
+
*
|
|
52
|
+
* @component
|
|
53
|
+
* @param {Object} props - Параметры компонента
|
|
54
|
+
* @param {ReactNode} props.children - Контент для отображения
|
|
55
|
+
* @returns {React.ReactElement} Баннер пустого состояния
|
|
56
|
+
*/
|
|
57
|
+
export declare const NoDataBanner: ({ children }: {
|
|
58
|
+
children?: ReactNode;
|
|
59
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Пропсы компонента BottomMenu
|
|
4
|
+
*/
|
|
5
|
+
export interface BottomMenuProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/** Текст, отображаемый слева (например, "Выбраны заказы: 27") */
|
|
7
|
+
label: string;
|
|
8
|
+
/** React элементы (кнопки, действия), отображаемые справа */
|
|
9
|
+
actions?: React.ReactNode;
|
|
10
|
+
/** Отображать ли меню (для анимации появления/исчезновения) */
|
|
11
|
+
open?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Универсальный компонент нижнего меню.
|
|
15
|
+
* Отображает фиксированное меню внизу экрана с текстом слева и кнопками действий справа.
|
|
16
|
+
* Используется для групповых операций над выбранными элементами.
|
|
17
|
+
* Автоматически учитывает ширину боковой панели для правильного позиционирования.
|
|
18
|
+
*
|
|
19
|
+
* @component
|
|
20
|
+
* @param {BottomMenuProps} props - Параметры компонента
|
|
21
|
+
* @param {React.Ref<HTMLDivElement>} ref - Реф для доступа к DOM-элементу
|
|
22
|
+
* @returns {React.ReactElement} Компонент нижнего меню
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <BottomMenu
|
|
27
|
+
* label="Выбраны заказы: 27"
|
|
28
|
+
* actions={
|
|
29
|
+
* <>
|
|
30
|
+
* <Button variant="fade-contrast-filled" onClick={() => handleApprove()}>
|
|
31
|
+
* Утвердить
|
|
32
|
+
* </Button>
|
|
33
|
+
* <Button variant="fade-contrast-filled" onClick={() => handleExecute()}>
|
|
34
|
+
* Выполнить
|
|
35
|
+
* </Button>
|
|
36
|
+
* </>
|
|
37
|
+
* }
|
|
38
|
+
* />
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const BottomMenu: React.ForwardRefExoticComponent<BottomMenuProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { buttonVariants } from './buttonVariants';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export type ButtonVariant = VariantProps<typeof buttonVariants>['variant'];
|
|
5
|
+
/**
|
|
6
|
+
* Пропсы компонента Button
|
|
7
|
+
*/
|
|
8
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
9
|
+
/** Кастомный элемент вместо стандартной кнопки */
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
/** Отображение стрелки выпадающего списка */
|
|
12
|
+
asDropdown?: boolean;
|
|
13
|
+
/** Иконка перед текстом кнопки */
|
|
14
|
+
icon?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Интерактивный элемент интерфейса с поддержкой разных стилей и состояний
|
|
18
|
+
*
|
|
19
|
+
* @component
|
|
20
|
+
* @param {ButtonProps} props - Параметры компонента
|
|
21
|
+
* @param {React.Ref<HTMLButtonElement>} ref - Реф для доступа к DOM-элементу
|
|
22
|
+
* @returns {React.ReactElement} Кнопка с заданными свойствами
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Button variant="theme-filled" size="lg">Нажми меня</Button>
|
|
26
|
+
*/
|
|
27
|
+
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const buttonVariants: (props?: ({
|
|
2
|
+
variant?: "fade-contrast-filled" | "fade-contrast-outlined" | "fade-contrast-transparent" | "theme-filled" | "warning-filled" | "nav-item" | "nav-item-selected" | null | undefined;
|
|
3
|
+
size?: "default" | "sm" | "lg" | "icon" | "xs" | "xl" | "xxl" | "xxxl" | null | undefined;
|
|
4
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DayPicker } from 'react-day-picker';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export type CalendarProps = React.ComponentProps<typeof DayPicker>;
|
|
4
|
+
/**
|
|
5
|
+
* Календарь для выбора дат с настраиваемыми стилями и элементами управления
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @param {Object} props - Пропсы компонента календаря
|
|
9
|
+
* @param {string} [props.className] - Дополнительные классы CSS для стилизации
|
|
10
|
+
* @param {Object} [props.classNames] - Дополнительные классы для элементов календаря
|
|
11
|
+
* @param {boolean} [props.showOutsideDays=true] - Показывать дни из соседних месяцев
|
|
12
|
+
* @returns {JSX.Element} Компонент календаря
|
|
13
|
+
*/
|
|
14
|
+
declare function Calendar({ className, classNames, showOutsideDays, ...props }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare namespace Calendar {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
18
|
+
export { Calendar };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface CardProps {
|
|
3
|
+
/** CSS-классы для кастомизации внешнего вида */
|
|
4
|
+
className?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Дочерние элементы карточки
|
|
7
|
+
* @default null
|
|
8
|
+
*/
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
/** Отображать стрелку в правой части */
|
|
11
|
+
showArrow?: boolean;
|
|
12
|
+
/** Состояние выбора (для контролируемого режима) */
|
|
13
|
+
checked?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Хэндлер изменения состояния выбора
|
|
16
|
+
* @param checked - новое состояние выбора
|
|
17
|
+
*/
|
|
18
|
+
onSelect?: (checked: boolean) => void;
|
|
19
|
+
/** Хэндлер клика по карточке */
|
|
20
|
+
onClick?: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Стилизованная карточка с поддержкой выбора, действий и кастомизации
|
|
24
|
+
*
|
|
25
|
+
* @component
|
|
26
|
+
* @example
|
|
27
|
+
* <Card showArrow checked={isChecked} onSelect={setIsChecked}>
|
|
28
|
+
* <CardHeader>Заголовок</CardHeader>
|
|
29
|
+
* <CardContent>Контент</CardContent>
|
|
30
|
+
* </Card>
|
|
31
|
+
*/
|
|
32
|
+
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
33
|
+
interface CardHeaderProps {
|
|
34
|
+
className?: string;
|
|
35
|
+
children?: React.ReactNode;
|
|
36
|
+
checked?: boolean;
|
|
37
|
+
right?: React.ReactNode;
|
|
38
|
+
onSelect?: (checked: boolean) => void;
|
|
39
|
+
onClick?: () => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Заголовок карточки с возможностью выбора
|
|
43
|
+
*/
|
|
44
|
+
interface CardHeaderProps {
|
|
45
|
+
right?: React.ReactNode;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @extends CardProps
|
|
49
|
+
*/
|
|
50
|
+
declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
51
|
+
interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
52
|
+
leftOffset?: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Основной заголовок карточки
|
|
56
|
+
*/
|
|
57
|
+
interface CardTitleProps {
|
|
58
|
+
leftOffset?: boolean;
|
|
59
|
+
}
|
|
60
|
+
declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
61
|
+
interface CardDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
62
|
+
leftOffset?: boolean;
|
|
63
|
+
showArrow?: boolean;
|
|
64
|
+
}
|
|
65
|
+
declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
66
|
+
interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
67
|
+
leftOffset?: boolean;
|
|
68
|
+
}
|
|
69
|
+
declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
70
|
+
interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
71
|
+
leftOffset?: boolean;
|
|
72
|
+
}
|
|
73
|
+
declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
74
|
+
type ActionClickEvent = React.MouseEvent<SVGSVGElement, MouseEvent>;
|
|
75
|
+
interface CardEditActionsProps {
|
|
76
|
+
onSave?: (e: ActionClickEvent) => Promise<void> | void;
|
|
77
|
+
onRemove?: (e: ActionClickEvent) => Promise<void> | void;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Действия редактирования карточки (сохранение/удаление)
|
|
81
|
+
*/
|
|
82
|
+
interface CardEditActionsProps {
|
|
83
|
+
onSave?: (e: ActionClickEvent) => Promise<void> | void;
|
|
84
|
+
onRemove?: (e: ActionClickEvent) => Promise<void> | void;
|
|
85
|
+
}
|
|
86
|
+
declare const CardEditActions: ({ onSave, onRemove }: CardEditActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
87
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, CardEditActions };
|