@efficiency-point/design-system 0.1.32 → 0.1.34

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 (29) hide show
  1. package/README.md +27 -0
  2. package/dist/components/DSBottomNavigation/DSBottomNavigation.d.ts +12 -0
  3. package/dist/components/DSBottomNavigation/DSBottomNavigation.d.ts.map +1 -0
  4. package/dist/components/DSCounterBadge/DSCounterBadge.d.ts +13 -0
  5. package/dist/components/DSCounterBadge/DSCounterBadge.d.ts.map +1 -0
  6. package/dist/components/DSDataTable/DSDataTable.d.ts +29 -1
  7. package/dist/components/DSDataTable/DSDataTable.d.ts.map +1 -1
  8. package/dist/components/DSFormLayout/DSFormLayout.d.ts +24 -0
  9. package/dist/components/DSFormLayout/DSFormLayout.d.ts.map +1 -0
  10. package/dist/components/DSModal/DSModal.d.ts +1 -1
  11. package/dist/components/DSModal/DSModal.d.ts.map +1 -1
  12. package/dist/components/DSModal/swipeGesture.d.ts +10 -0
  13. package/dist/components/DSModal/swipeGesture.d.ts.map +1 -0
  14. package/dist/components/DSNavigationSurface/DSNavigationSurface.d.ts +40 -0
  15. package/dist/components/DSNavigationSurface/DSNavigationSurface.d.ts.map +1 -0
  16. package/dist/components/DSOverlay/DSOverlay.d.ts +35 -0
  17. package/dist/components/DSOverlay/DSOverlay.d.ts.map +1 -0
  18. package/dist/components/DSToast/DSToast.d.ts.map +1 -1
  19. package/dist/components/DSToast/DSToastProvider.d.ts +3 -1
  20. package/dist/components/DSToast/DSToastProvider.d.ts.map +1 -1
  21. package/dist/components/DSToast/toast.store.d.ts.map +1 -1
  22. package/dist/components/DSToast/toast.types.d.ts +2 -0
  23. package/dist/components/DSToast/toast.types.d.ts.map +1 -1
  24. package/dist/index.cjs +2 -2
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.es.js +1820 -1195
  28. package/dist/style.css +1 -1
  29. package/package.json +1 -1
package/README.md CHANGED
@@ -171,6 +171,14 @@ export function Example() {
171
171
  <DSDataTable columns={columns} data={rows} breakpoint="wide" />
172
172
  ```
173
173
 
174
+ По умолчанию ниже выбранного breakpoint строки превращаются в карточки. Для реестров, где на mobile важно сохранить таблицу, используйте явный `mobileView="table"`; исторический `tableOnMobile` остается совместимым. `density="compact"` уменьшает высоту строк, не меняя семантику и mobile-режим.
175
+
176
+ ```tsx
177
+ <DSDataTable columns={columns} data={rows} mobileView="table" density="compact" />
178
+ ```
179
+
180
+ Универсальные `renderBulkActions` и `renderExpandedRow` позволяют потребителю собрать собственную панель массовых действий и master-detail строку. Business actions и их подписи остаются в приложении. Sticky-колонки задаются через `column.sticky` и `column.stickyOffset`.
181
+
174
182
  Пагинация выключена по умолчанию. `pagination` включает клиентское разбиение
175
183
  отсортированных строк, `pageSize` задаёт размер страницы (по умолчанию 30),
176
184
  а `visibleColumnIds` ограничивает набор отображаемых колонок.
@@ -374,6 +382,25 @@ function SaveButton() {
374
382
 
375
383
  Расширенный API экспортирует `useToastStore`, `ToastStoreState`, `ToastItem`, `ShowToastPayload`, `ToastAction` и `ToastVariant`.
376
384
 
385
+ `dedupeKey` предотвращает размножение одинаковых уведомлений, а `maxVisible` у provider ограничивает число одновременно видимых toast, сохраняя остальные в FIFO-очереди. Оба поведения opt-in, поэтому прежние вызовы остаются без изменений.
386
+
387
+ ```tsx
388
+ successToast({ message: 'Изменения сохранены', dedupeKey: 'task-save' });
389
+ <DSToastProvider maxVisible={2} />
390
+ ```
391
+
392
+ ## Навигация
393
+
394
+ `DSNavigationSurface` отображает универсальные группы ссылок со слотами поиска и дополнительного контента. `DSBottomNavigation` предоставляет mobile-навигацию с safe-area и зонами нажатия не менее 44px. Маршруты, permissions, состав групп и business labels принадлежат приложению; для React Router используется `renderLink`.
395
+
396
+ ## Overlay surfaces
397
+
398
+ `DSDrawer`, `DSBottomSheet` и `DSFullscreenDialog` построены на общем `DSOverlay`: поддерживают стабильные header/content/footer области, focus trap/restore, Escape/backdrop reasons, safe-area и mobile fullscreen-поведение. `preventClose` позволяет приложению включить собственный сценарий защиты несохраненной формы.
399
+
400
+ ## Формы и счетчики
401
+
402
+ `DSFormGrid` и `DSFormGridItem` формируют compact/comfortable responsive layout до четырех колонок с переходом в одну колонку на mobile. `DSValidationSummary` связывает ошибки с полями формы. `DSCounterBadge` визуально ограничивает значение через `max`, но сохраняет точное accessible name.
403
+
377
404
  ## Modal и реестр приложения
378
405
 
379
406
  Библиотека не импортирует файлы consumer-проекта. Каждый проект хранит реестр по принятому пути, например `src/shared/ui/modal/modal.registry.tsx`, и явно передаёт его provider.
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ import { DSNavigationItem, DSNavigationLinkRenderProps } from '../DSNavigationSurface/DSNavigationSurface';
3
+ export type DSBottomNavigationProps = {
4
+ items: readonly DSNavigationItem[];
5
+ currentItemId?: string;
6
+ ariaLabel?: string;
7
+ renderLink?: (item: DSNavigationItem, props: DSNavigationLinkRenderProps) => ReactNode;
8
+ onItemSelect?: (item: DSNavigationItem) => void;
9
+ className?: string;
10
+ };
11
+ export declare const DSBottomNavigation: ({ items, currentItemId, ariaLabel, renderLink, onItemSelect, className, }: DSBottomNavigationProps) => import("react").JSX.Element;
12
+ //# sourceMappingURL=DSBottomNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSBottomNavigation.d.ts","sourceRoot":"","sources":["../../../src/components/DSBottomNavigation/DSBottomNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,KAAK,EACR,gBAAgB,EAChB,2BAA2B,EAC9B,MAAM,4CAA4C,CAAC;AAGpD,MAAM,MAAM,uBAAuB,GAAG;IAClC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,2BAA2B,KAAK,SAAS,CAAC;IACvF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,2EAOhC,uBAAuB,gCAyEzB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export type DSCounterBadgeVariant = 'neutral' | 'info' | 'success' | 'warning' | 'error';
3
+ export type DSCounterBadgeSize = 'sm' | 'md';
4
+ export type DSCounterBadgeProps = Omit<HTMLAttributes<HTMLSpanElement>, 'children'> & {
5
+ value: number;
6
+ max?: number;
7
+ label?: string;
8
+ variant?: DSCounterBadgeVariant;
9
+ size?: DSCounterBadgeSize;
10
+ };
11
+ export declare const formatDSCounterValue: (value: number, max?: number) => string;
12
+ export declare const DSCounterBadge: ({ value, max, label, variant, size, className, "aria-label": ariaLabel, ...props }: DSCounterBadgeProps) => import("react").JSX.Element;
13
+ //# sourceMappingURL=DSCounterBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSCounterBadge.d.ts","sourceRoot":"","sources":["../../../src/components/DSCounterBadge/DSCounterBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACzF,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,EAAE,YAAQ,KAAG,MAI9D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,oFAS5B,mBAAmB,gCAWrB,CAAC"}
@@ -9,6 +9,8 @@ type DSDataType = 'text' | 'number' | 'date' | 'boolean' | 'custom';
9
9
  type DSDataTableAccessor<TData extends object> = Extract<keyof TData, string> | ((row: TData) => unknown);
10
10
  type DSColumnSortFn<TData extends object> = SortFn<DSDataTableFeatures, TData>;
11
11
  export type DSDataTableBreakpoint = 'default' | 'wide';
12
+ export type DSDataTableMobileView = 'cards' | 'table';
13
+ export type DSDataTableDensity = 'comfortable' | 'compact';
12
14
  export type DSDataTableData = Record<string, unknown>;
13
15
  export type DSDataTableMobileColumnMeta<TData> = {
14
16
  hideOnMobile?: boolean;
@@ -32,16 +34,30 @@ export type DSDataTableColumn<TData extends object> = {
32
34
  width?: CSSProperties['width'];
33
35
  minWidth?: CSSProperties['minWidth'];
34
36
  maxWidth?: CSSProperties['maxWidth'];
37
+ sticky?: 'start' | 'end';
38
+ stickyOffset?: CSSProperties['insetInlineStart'];
35
39
  mobile?: DSDataTableMobileColumnMeta<TData>;
36
40
  };
37
41
  export type DSDataTableMobileRowContext<TData extends object> = {
38
42
  row: TData;
39
43
  columns: DSDataTableColumn<TData>[];
40
44
  };
45
+ export type DSDataTableBulkActionsContext<TData extends object> = {
46
+ selectedRowIds: string[];
47
+ selectedRows: TData[];
48
+ clearSelection: () => void;
49
+ };
50
+ export type DSDataTableExpandedRowContext<TData extends object> = {
51
+ row: TData;
52
+ rowId: string;
53
+ collapse: () => void;
54
+ };
41
55
  export type DSDataTableProps<TData extends object> = {
42
56
  columns: DSDataTableColumn<TData>[];
43
57
  data: TData[];
44
58
  tableOnMobile?: boolean;
59
+ /** Preferred explicit mobile presentation. Takes precedence over the legacy tableOnMobile flag. */
60
+ mobileView?: DSDataTableMobileView;
45
61
  breakpoint?: DSDataTableBreakpoint;
46
62
  sorting?: SortingState;
47
63
  onSortingChange?: (sorting: SortingState) => void;
@@ -71,12 +87,24 @@ export type DSDataTableProps<TData extends object> = {
71
87
  totalCount?: number;
72
88
  onPageChange?: (page: number) => void;
73
89
  visibleColumnIds?: string[];
90
+ density?: DSDataTableDensity;
91
+ renderBulkActions?: (context: DSDataTableBulkActionsContext<TData>) => ReactNode;
92
+ renderExpandedRow?: (context: DSDataTableExpandedRowContext<TData>) => ReactNode;
93
+ expandedRowIds?: ReadonlySet<string> | readonly string[];
94
+ onExpandedRowIdsChange?: (expandedRowIds: string[]) => void;
95
+ getRowExpansionLabel?: (row: TData, expanded: boolean) => string;
96
+ resultsAnnouncement?: (context: {
97
+ visibleCount: number;
98
+ totalCount: number;
99
+ selectedCount: number;
100
+ }) => string;
74
101
  };
75
102
  export type DSDataTablePaginationItem = number | 'ellipsis-start' | 'ellipsis-end';
76
103
  export declare const getNextDSDataTablePageSelection: (selectedRowIds: Iterable<string>, currentPageRowIds: readonly string[], selectCurrentPage: boolean) => string[];
77
104
  export declare const getDSDataTableColumnStyle: <TData extends object>(column: DSDataTableColumn<TData> | undefined) => CSSProperties | undefined;
105
+ export declare const getDSDataTableStickyColumnStyle: <TData extends object>(column: DSDataTableColumn<TData> | undefined) => CSSProperties | undefined;
78
106
  export declare const getDSDataTablePaginationItems: (currentPage: number, pageCount: number) => DSDataTablePaginationItem[];
79
107
  export declare const validateDSDataTableData: <TData extends object>(columns: DSDataTableColumn<TData>[], data: TData[]) => string | null;
80
- export declare const DSDataTable: <TData extends object>({ columns, data, tableOnMobile, breakpoint, sorting: controlledSorting, onSortingChange, renderMobileCard, getRowId, caption, ariaLabel, loading, error, emptyState, stickyHeader, maxHeight, className, onRowClick, selectable, selectedRowIds, onSelectedRowIdsChange, onRowDoubleClick, getRowSelectionLabel, selectAllRowsLabel, resetSelectionLabel, openRowLabel, pagination, paginationMode, page, pageSize, totalCount, onPageChange, visibleColumnIds, }: DSDataTableProps<TData>) => import("react").JSX.Element;
108
+ export declare const DSDataTable: <TData extends object>({ columns, data, tableOnMobile, mobileView, breakpoint, sorting: controlledSorting, onSortingChange, renderMobileCard, getRowId, caption, ariaLabel, loading, error, emptyState, stickyHeader, maxHeight, className, onRowClick, selectable, selectedRowIds, onSelectedRowIdsChange, onRowDoubleClick, getRowSelectionLabel, selectAllRowsLabel, resetSelectionLabel, openRowLabel, pagination, paginationMode, page, pageSize, totalCount, onPageChange, visibleColumnIds, density, renderBulkActions, renderExpandedRow, expandedRowIds, onExpandedRowIdsChange, getRowExpansionLabel, resultsAnnouncement, }: DSDataTableProps<TData>) => import("react").JSX.Element;
81
109
  export {};
82
110
  //# sourceMappingURL=DSDataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export type DSFormGridDensity = 'compact' | 'comfortable';
3
+ export type DSFormGridColumns = 1 | 2 | 3 | 4;
4
+ export type DSFormGridProps = HTMLAttributes<HTMLDivElement> & {
5
+ columns?: DSFormGridColumns;
6
+ density?: DSFormGridDensity;
7
+ };
8
+ export declare const DSFormGrid: ({ columns, density, className, ...props }: DSFormGridProps) => import("react").JSX.Element;
9
+ export type DSFormGridItemProps = HTMLAttributes<HTMLDivElement> & {
10
+ span?: 1 | 2 | 3 | 4 | 'full';
11
+ };
12
+ export declare const DSFormGridItem: ({ span, className, ...props }: DSFormGridItemProps) => import("react").JSX.Element;
13
+ export type DSValidationSummaryItem = {
14
+ id: string;
15
+ message: ReactNode;
16
+ fieldId?: string;
17
+ };
18
+ export type DSValidationSummaryProps = Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {
19
+ title?: ReactNode;
20
+ items: readonly DSValidationSummaryItem[];
21
+ focusField?: (fieldId: string) => void;
22
+ };
23
+ export declare const DSValidationSummary: ({ title, items, focusField, className, ...props }: DSValidationSummaryProps) => import("react").JSX.Element | null;
24
+ //# sourceMappingURL=DSFormLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSFormLayout.d.ts","sourceRoot":"","sources":["../../../src/components/DSFormLayout/DSFormLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,2CAKxB,eAAe,gCAKjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC/D,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,+BAAwC,mBAAmB,gCAKzF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,mDAMjC,wBAAwB,uCAgC1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { DSModalFrameProps, ModalRegistry } from './modal.types';
2
- export declare const DSModalFrame: ({ children, title: titleProp, description: descriptionProp, modalId, closeLabel, className, role, }: DSModalFrameProps) => import("react").JSX.Element;
2
+ export declare const DSModalFrame: ({ children, title: titleProp, description: descriptionProp, modalId, closeLabel, className, role }: DSModalFrameProps) => import("react").JSX.Element;
3
3
  export type DSModalProps = {
4
4
  registry: ModalRegistry;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DSModal.d.ts","sourceRoot":"","sources":["../../../src/components/DSModal/DSModal.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAqCtE,eAAO,MAAM,YAAY,GAAI,qGAQ1B,iBAAiB,gCAwDnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,cAAc,YAAY,uCA4DjD,CAAC"}
1
+ {"version":3,"file":"DSModal.d.ts","sourceRoot":"","sources":["../../../src/components/DSModal/DSModal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkBtE,eAAO,MAAM,YAAY,GAAI,oGAA+I,iBAAiB,gCA2D5L,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AACvD,eAAO,MAAM,OAAO,GAAI,cAAc,YAAY,uCAiCjD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type SwipeGestureState = {
2
+ startX: number;
3
+ startY: number;
4
+ startTime: number;
5
+ intent: 'pending' | 'vertical' | 'horizontal';
6
+ };
7
+ export declare function createSwipeGesture(x: number, y: number, time: number): SwipeGestureState;
8
+ export declare function updateSwipeGesture(state: SwipeGestureState, x: number, y: number): number;
9
+ export declare function shouldDismissSwipe(state: SwipeGestureState, y: number, time: number): boolean;
10
+ //# sourceMappingURL=swipeGesture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swipeGesture.d.ts","sourceRoot":"","sources":["../../../src/components/DSModal/swipeGesture.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;CACjD,CAAC;AAMF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAExF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAOhF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAKnF"}
@@ -0,0 +1,40 @@
1
+ import { KeyboardEvent, MouseEvent, ReactNode } from 'react';
2
+ export type DSNavigationItem = {
3
+ id: string;
4
+ label: string;
5
+ href?: string;
6
+ icon?: ReactNode;
7
+ description?: ReactNode;
8
+ badge?: ReactNode;
9
+ disabled?: boolean;
10
+ };
11
+ export type DSNavigationGroup = {
12
+ id: string;
13
+ label?: ReactNode;
14
+ items: readonly DSNavigationItem[];
15
+ };
16
+ export type DSNavigationLinkRenderProps = {
17
+ children: ReactNode;
18
+ className: string;
19
+ tabIndex: number;
20
+ 'aria-current'?: 'page';
21
+ 'aria-disabled'?: true;
22
+ 'data-ds-navigation-item': string;
23
+ onClick: (event: MouseEvent<HTMLElement>) => void;
24
+ onFocus: () => void;
25
+ onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;
26
+ };
27
+ export type DSNavigationSurfaceProps = {
28
+ groups: readonly DSNavigationGroup[];
29
+ currentItemId?: string;
30
+ ariaLabel?: string;
31
+ searchSlot?: ReactNode;
32
+ topSlot?: ReactNode;
33
+ bottomSlot?: ReactNode;
34
+ emptyState?: ReactNode;
35
+ renderLink?: (item: DSNavigationItem, props: DSNavigationLinkRenderProps) => ReactNode;
36
+ onItemSelect?: (item: DSNavigationItem) => void;
37
+ className?: string;
38
+ };
39
+ export declare const DSNavigationSurface: ({ groups, currentItemId, ariaLabel, searchSlot, topSlot, bottomSlot, emptyState, renderLink, onItemSelect, className, }: DSNavigationSurfaceProps) => import("react").JSX.Element;
40
+ //# sourceMappingURL=DSNavigationSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSNavigationSurface.d.ts","sourceRoot":"","sources":["../../../src/components/DSNavigationSurface/DSNavigationSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,2BAA2B,KAAK,SAAS,CAAC;IACvF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAiBF,eAAO,MAAM,mBAAmB,GAAI,yHAWjC,wBAAwB,gCAwG1B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ export type DSOverlayCloseReason = 'escape' | 'backdrop' | 'close-button';
3
+ export type DSOverlayPlacement = 'right' | 'left' | 'bottom' | 'fullscreen';
4
+ export type DSOverlaySize = 'sm' | 'md' | 'lg' | 'xl';
5
+ export type DSOverlayProps = {
6
+ open: boolean;
7
+ onCloseRequest: (reason: DSOverlayCloseReason) => void;
8
+ children: ReactNode;
9
+ title?: ReactNode;
10
+ description?: ReactNode;
11
+ headerActions?: ReactNode;
12
+ footer?: ReactNode;
13
+ placement?: DSOverlayPlacement;
14
+ size?: DSOverlaySize;
15
+ closeOnEscape?: boolean;
16
+ closeOnBackdrop?: boolean;
17
+ preventClose?: boolean;
18
+ closeLabel?: string;
19
+ initialFocusRef?: RefObject<HTMLElement | null>;
20
+ returnFocusRef?: RefObject<HTMLElement | null>;
21
+ className?: string;
22
+ };
23
+ export declare const useDSOverlay: () => {
24
+ requestClose: (reason: DSOverlayCloseReason) => void;
25
+ } | null;
26
+ export declare const DSOverlay: ({ open, onCloseRequest, children, title, description, headerActions, footer, placement, size, closeOnEscape, closeOnBackdrop, preventClose, closeLabel, initialFocusRef, returnFocusRef, className, }: DSOverlayProps) => import('react').ReactPortal | null;
27
+ export type DSDrawerProps = Omit<DSOverlayProps, 'placement'> & {
28
+ placement?: 'right' | 'left';
29
+ };
30
+ export declare const DSDrawer: ({ placement, ...props }: DSDrawerProps) => import("react").JSX.Element;
31
+ export type DSBottomSheetProps = Omit<DSOverlayProps, 'placement'>;
32
+ export declare const DSBottomSheet: (props: DSBottomSheetProps) => import("react").JSX.Element;
33
+ export type DSFullscreenDialogProps = Omit<DSOverlayProps, 'placement' | 'size'>;
34
+ export declare const DSFullscreenDialog: (props: DSFullscreenDialogProps) => import("react").JSX.Element;
35
+ //# sourceMappingURL=DSOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/DSOverlay/DSOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AAMf,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAwBF,eAAO,MAAM,YAAY;kBApB4B,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI;QAoB/B,CAAC;AAE7D,eAAO,MAAM,SAAS,GAAI,uMAiBvB,cAAc,uCAyEhB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,CAAC;AACjG,eAAO,MAAM,QAAQ,GAAI,yBAAmC,aAAa,gCAAmD,CAAC;AAE7H,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACnE,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAAgD,CAAC;AAExG,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;AACjF,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,gCAA8D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DSToast.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/DSToast.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAG7D,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AASF,eAAO,MAAM,OAAO,GAAI,oBAAoB,YAAY,gCAwDvD,CAAC"}
1
+ {"version":3,"file":"DSToast.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/DSToast.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAG7D,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AASF,eAAO,MAAM,OAAO,GAAI,oBAAoB,YAAY,gCAkEvD,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export type DSToastProviderProps = {
2
2
  position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
3
+ /** Limits rendered toasts and keeps the rest in the store-backed queue. */
4
+ maxVisible?: number;
3
5
  };
4
- export declare const DSToastProvider: ({ position }: DSToastProviderProps) => import("react").JSX.Element;
6
+ export declare const DSToastProvider: ({ position, maxVisible }: DSToastProviderProps) => import("react").JSX.Element;
5
7
  //# sourceMappingURL=DSToastProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSToastProvider.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/DSToastProvider.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;CACxE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,cAA4B,oBAAoB,gCAe/E,CAAC"}
1
+ {"version":3,"file":"DSToastProvider.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/DSToastProvider.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;IACrE,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0BAAwC,oBAAoB,gCAkB3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.store.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/toast.store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACjD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,aAAa,8EAkBvB,CAAC;AAEJ,eAAO,MAAM,eAAe,YAA+C,CAAC"}
1
+ {"version":3,"file":"toast.store.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/toast.store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACjD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,aAAa,8EAwBvB,CAAC;AAEJ,eAAO,MAAM,eAAe,YAA+C,CAAC"}
@@ -13,6 +13,8 @@ export type ToastItem = {
13
13
  duration: number;
14
14
  closable: boolean;
15
15
  action?: ToastAction;
16
+ /** Prevents a second active toast with the same key from being queued. */
17
+ dedupeKey?: string;
16
18
  };
17
19
  export type ShowToastPayload = Partial<Omit<ToastItem, 'id' | 'message'>> & Pick<ToastItem, 'message'>;
18
20
  //# sourceMappingURL=toast.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.types.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/toast.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"toast.types.d.ts","sourceRoot":"","sources":["../../../src/components/DSToast/toast.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC"}