@epam/ai-dial-ui-kit 0.15.4 → 0.16.0-dev.11
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 +1 -1
- package/dist/CHANGELOG.md +33 -6
- package/dist/DateCellRenderer-xHilQEYj.cjs +63 -0
- package/dist/{IconButton-DHOFapLo.cjs → IconButton-B1Hx0Y3y.cjs} +1 -1
- package/dist/{MarkdownEditorContainer-B5aHwoYF.cjs → MarkdownEditorContainer-DLPODjar.cjs} +1 -1
- package/dist/{Switch-DE6MrcqJ.cjs → Switch-DAaAOaIu.cjs} +1 -1
- package/dist/_virtual/_commonjsHelpers.js +3 -28
- package/dist/_virtual/index.js +5 -3
- package/dist/components/Analytics/Bar/Bar.js +7 -7
- package/dist/components/Analytics/BarGroup/BarGroup.js +18 -18
- package/dist/components/Analytics/Histogram/Histogram.js +10 -10
- package/dist/components/Checkbox/Checkbox.js +9 -9
- package/dist/components/Dropdown/constants.js +2 -2
- package/dist/components/DropdownIcon/DropdownIcon.js +5 -5
- package/dist/components/Grid/Grid.js +11 -11
- package/dist/components/IconButton/IconButton.js +7 -7
- package/dist/components/InputPopup/InputPopup.js +8 -8
- package/dist/components/LoadFileArea/EmptyFileArea.js +28 -28
- package/dist/components/Loader/Loader.js +8 -8
- package/dist/components/New/Avatar/Avatar.js +18 -17
- package/dist/components/New/BottomSheet/BottomSheet.js +6 -6
- package/dist/components/New/Breadcrumbs/constants.js +1 -1
- package/dist/components/New/Calendar/constants.js +4 -4
- package/dist/components/New/Dropdown/constants.js +1 -1
- package/dist/components/New/MenuItem/MenuItem.js +17 -17
- package/dist/components/New/SharedEntityIndicator/SharedEntityIndicator.js +1 -1
- package/dist/components/New/SideDrawer/SideDrawer.js +1 -1
- package/dist/components/Search/Search.js +1 -1
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/Select/constants.js +6 -6
- package/dist/components/Slider/Slider.js +1 -1
- package/dist/components/Steps/Step.js +9 -9
- package/dist/components/TagInput/TagInput.js +1 -1
- package/dist/components-manifest.json +264 -1228
- package/dist/dial-ui-kit.cjs +4 -2
- package/dist/dial-ui-kit.js +357 -375
- package/dist/editors.cjs +1 -1
- package/dist/grid.cjs +1 -1
- package/dist/index.css +2 -6
- package/dist/migration-guides/0.16.0/legacy-file-manager-removal.md +89 -0
- package/dist/migration-guides/0.16.0/tailwind-v4-stylesheet.md +98 -0
- package/dist/migration-guides/README.md +2 -0
- package/dist/node_modules/react-dnd/dist/hooks/useCollector.js +1 -1
- package/dist/src/components/ButtonDropdown/constants.d.ts +2 -2
- package/dist/src/components/Dropdown/constants.d.ts +1 -1
- package/dist/src/components/Grid/Grid.d.ts +1 -1
- package/dist/src/components/JsonEditor/lazy.d.ts +1 -1
- package/dist/src/components/MarkdownEditor/lazy.d.ts +1 -1
- package/dist/src/components/New/Avatar/Avatar.d.ts +9 -3
- package/dist/src/components/New/Breadcrumbs/constants.d.ts +2 -2
- package/dist/src/components/New/ButtonDropdown/constants.d.ts +1 -1
- package/dist/src/components/New/Calendar/constants.d.ts +5 -5
- package/dist/src/components/New/Dropdown/constants.d.ts +1 -1
- package/dist/src/components/New/FilterChips/FilterChips.d.ts +1 -1
- package/dist/src/components/New/Grid/Grid.d.ts +1 -1
- package/dist/src/components/New/Grid/components/SelectionCell.d.ts +1 -1
- package/dist/src/components/New/Grid/components/SelectionHeader.d.ts +1 -1
- package/dist/src/components/New/InteractiveTooltip/constants.d.ts +1 -1
- package/dist/src/components/New/MarkdownEditor/lazy.d.ts +1 -1
- package/dist/src/components/New/MenuItem/constants.d.ts +1 -1
- package/dist/src/components/New/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/src/components/New/Select/constants.d.ts +4 -4
- package/dist/src/components/New/Tooltip/constants.d.ts +2 -2
- package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/src/components/Select/constants.d.ts +3 -3
- package/dist/src/index.d.ts +3 -13
- package/dist/src/subpaths/editors.d.ts +1 -1
- package/dist/src/types/avatar.d.ts +9 -0
- package/dist/src/utils/avatar.d.ts +2 -1
- package/dist/src/utils/sub-menu-floating.d.ts +1 -1
- package/dist/types/avatar.js +3 -2
- package/dist/utils/avatar.js +41 -18
- package/dist/utils/sub-menu-floating.js +8 -8
- package/package.json +9 -12
- package/dist/DateCellRenderer-C80QWn2I.cjs +0 -1
- package/dist/DateCellRenderer-CfQgxeAQ.cjs +0 -63
- package/dist/_virtual/___vite-browser-external.js +0 -6
- package/dist/_virtual/__vite-browser-external.js +0 -4
- package/dist/_virtual/index2.js +0 -4
- package/dist/_virtual/index3.js +0 -7
- package/dist/assets/icons/add-child.svg.js +0 -5
- package/dist/assets/icons/add-sibling.svg.js +0 -5
- package/dist/assets/icons/copy-to.svg.js +0 -5
- package/dist/assets/icons/move-to.svg.js +0 -5
- package/dist/assets/icons/unshare.svg.js +0 -5
- package/dist/components/FileManager/FileManager.js +0 -888
- package/dist/components/FileManager/FileManagerContext.js +0 -5
- package/dist/components/FileManager/FileManagerProvider.js +0 -772
- package/dist/components/FileManager/FileManagerTooltip.js +0 -92
- package/dist/components/FileManager/components/ConflictResolutionPopup/ConflictResolutionPopup.js +0 -293
- package/dist/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.js +0 -201
- package/dist/components/FileManager/components/DialFileManagerItemSummaryCell/DialFileManagerItemSummaryCell.js +0 -52
- package/dist/components/FileManager/components/FileManagerBulkActionsToolbar/FileManagerBulkActionsToolbar.js +0 -103
- package/dist/components/FileManager/components/FileManagerBulkActionsToolbar/constants.js +0 -5
- package/dist/components/FileManager/components/FileManagerDeleteConfirmationPopup/FileManagerDeleteConfirmationPopup.js +0 -56
- package/dist/components/FileManager/components/FileManagerItemIcon/FileManagerItemIcon.js +0 -69
- package/dist/components/FileManager/components/FileManagerItemName/FileManagerItemName.js +0 -100
- package/dist/components/FileManager/components/FileManagerItemNameInput/FileManagerItemNameInput.js +0 -93
- package/dist/components/FileManager/components/FileManagerNavigationPanel/FileManagerNavigationPanel.js +0 -165
- package/dist/components/FileManager/components/FileManagerNavigationPanel/constants.js +0 -6
- package/dist/components/FileManager/components/FileManagerToolbar/DialFileManagerToolbar.js +0 -120
- package/dist/components/FileManager/components/FileMetadataPopup/FileMetadataPopup.js +0 -119
- package/dist/components/FileManager/components/FileMetadataPopup/constants.js +0 -9
- package/dist/components/FileManager/components/FoldersTree/FoldersTree.js +0 -180
- package/dist/components/FileManager/components/FoldersTree/constants.js +0 -9
- package/dist/components/FileManager/components/FoldersTree/hooks/use-expanded-paths.js +0 -51
- package/dist/components/FileManager/constants.js +0 -28
- package/dist/components/FileManager/errors.js +0 -10
- package/dist/components/FileManager/hooks/use-bulk-actions.js +0 -143
- package/dist/components/FileManager/hooks/use-collapse-tree.js +0 -22
- package/dist/components/FileManager/hooks/use-conflict-resolution.js +0 -158
- package/dist/components/FileManager/hooks/use-current-path.js +0 -29
- package/dist/components/FileManager/hooks/use-file-clipboard.js +0 -154
- package/dist/components/FileManager/hooks/use-file-delete.js +0 -39
- package/dist/components/FileManager/hooks/use-file-download.js +0 -16
- package/dist/components/FileManager/hooks/use-file-manager-columns.js +0 -106
- package/dist/components/FileManager/hooks/use-file-manager-context.js +0 -13
- package/dist/components/FileManager/hooks/use-file-manager-tabs.js +0 -23
- package/dist/components/FileManager/hooks/use-file-metadata.js +0 -20
- package/dist/components/FileManager/hooks/use-file-search.js +0 -90
- package/dist/components/FileManager/hooks/use-file-upload.js +0 -338
- package/dist/components/FileManager/hooks/use-folder-creation.js +0 -151
- package/dist/components/FileManager/hooks/use-grid-actions-column.js +0 -65
- package/dist/components/FileManager/hooks/use-grid-context-menu.js +0 -188
- package/dist/components/FileManager/hooks/use-item-renaming.js +0 -124
- package/dist/components/FileManager/hooks/use-new-actions.js +0 -67
- package/dist/components/FileManager/hooks/use-paths-selection.js +0 -28
- package/dist/components/FileManager/hooks/use-show-hidden-files.js +0 -20
- package/dist/components/FileManager/hooks/use-tree-additional-buttons.js +0 -39
- package/dist/components/FileManager/hooks/use-trigger-view-create-folder.js +0 -42
- package/dist/components/FileManager/hooks/use-trigger-view-rename.js +0 -25
- package/dist/components/FileManager/utils.js +0 -129
- package/dist/constants/file-grid-columns.js +0 -176
- package/dist/file-manager.cjs +0 -1
- package/dist/file-manager.js +0 -22
- package/dist/hooks/use-flexible-actions.js +0 -72
- package/dist/hooks/use-width-breakpoint.js +0 -15
- package/dist/node_modules/mime-db/db.json.js +0 -2527
- package/dist/node_modules/mime-db/index.js +0 -8
- package/dist/node_modules/mime-types/index.js +0 -70
- package/dist/node_modules/mime-types/mimeScore.js +0 -38
- package/dist/src/__mocks__/monaco-editor.d.ts +0 -13
- package/dist/src/components/Analytics/Bar/utils.spec.d.ts +0 -1
- package/dist/src/components/Analytics/Histogram/utils.spec.d.ts +0 -1
- package/dist/src/components/Button/ButtonWrappers.test.d.ts +0 -1
- package/dist/src/components/Button/__tests__/utils.spec.d.ts +0 -1
- package/dist/src/components/FileManager/FileManager.d.ts +0 -326
- package/dist/src/components/FileManager/FileManagerContext.d.ts +0 -181
- package/dist/src/components/FileManager/FileManagerProvider.d.ts +0 -21
- package/dist/src/components/FileManager/FileManagerTooltip.d.ts +0 -12
- package/dist/src/components/FileManager/__mocks__/files.d.ts +0 -3
- package/dist/src/components/FileManager/components/ConflictResolutionPopup/ConflictResolutionPopup.d.ts +0 -90
- package/dist/src/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.d.ts +0 -73
- package/dist/src/components/FileManager/components/DialFileManagerItemSummaryCell/DialFileManagerItemSummaryCell.d.ts +0 -63
- package/dist/src/components/FileManager/components/DialFileManagerItemSummaryCell/DialFileManagerItemSummaryCell.test.d.ts +0 -1
- package/dist/src/components/FileManager/components/FileManagerBulkActionsToolbar/FileManagerBulkActionsToolbar.d.ts +0 -56
- package/dist/src/components/FileManager/components/FileManagerBulkActionsToolbar/constants.d.ts +0 -3
- package/dist/src/components/FileManager/components/FileManagerDeleteConfirmationPopup/FileManagerDeleteConfirmationPopup.d.ts +0 -26
- package/dist/src/components/FileManager/components/FileManagerItemIcon/FileManagerItemIcon.d.ts +0 -51
- package/dist/src/components/FileManager/components/FileManagerItemName/FileManagerItemName.d.ts +0 -57
- package/dist/src/components/FileManager/components/FileManagerItemNameInput/FileManagerItemNameInput.d.ts +0 -71
- package/dist/src/components/FileManager/components/FileManagerNavigationPanel/FileManagerNavigationPanel.d.ts +0 -64
- package/dist/src/components/FileManager/components/FileManagerNavigationPanel/constants.d.ts +0 -3
- package/dist/src/components/FileManager/components/FileManagerToolbar/DialFileManagerToolbar.d.ts +0 -76
- package/dist/src/components/FileManager/components/FileMetadataPopup/FileMetadataPopup.d.ts +0 -50
- package/dist/src/components/FileManager/components/FileMetadataPopup/constants.d.ts +0 -6
- package/dist/src/components/FileManager/components/FoldersTree/FoldersTree.d.ts +0 -135
- package/dist/src/components/FileManager/components/FoldersTree/constants.d.ts +0 -6
- package/dist/src/components/FileManager/components/FoldersTree/hooks/use-expanded-paths.d.ts +0 -13
- package/dist/src/components/FileManager/constants.d.ts +0 -21
- package/dist/src/components/FileManager/errors.d.ts +0 -6
- package/dist/src/components/FileManager/hooks/__tests__/use-conflict-resolution.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-current-path.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-file-clipboard.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-file-delete.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-file-download.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-file-upload.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-show-hidden-files.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/__tests__/use-trigger-view-rename.spec.d.ts +0 -1
- package/dist/src/components/FileManager/hooks/use-bulk-actions.d.ts +0 -30
- package/dist/src/components/FileManager/hooks/use-collapse-tree.d.ts +0 -9
- package/dist/src/components/FileManager/hooks/use-conflict-resolution.d.ts +0 -27
- package/dist/src/components/FileManager/hooks/use-current-path.d.ts +0 -13
- package/dist/src/components/FileManager/hooks/use-file-clipboard.d.ts +0 -37
- package/dist/src/components/FileManager/hooks/use-file-delete.d.ts +0 -13
- package/dist/src/components/FileManager/hooks/use-file-download.d.ts +0 -9
- package/dist/src/components/FileManager/hooks/use-file-manager-columns.d.ts +0 -43
- package/dist/src/components/FileManager/hooks/use-file-manager-context.d.ts +0 -7
- package/dist/src/components/FileManager/hooks/use-file-manager-tabs.d.ts +0 -10
- package/dist/src/components/FileManager/hooks/use-file-metadata.d.ts +0 -10
- package/dist/src/components/FileManager/hooks/use-file-search.d.ts +0 -23
- package/dist/src/components/FileManager/hooks/use-file-upload.d.ts +0 -64
- package/dist/src/components/FileManager/hooks/use-folder-creation.d.ts +0 -30
- package/dist/src/components/FileManager/hooks/use-grid-actions-column.d.ts +0 -15
- package/dist/src/components/FileManager/hooks/use-grid-context-menu.d.ts +0 -44
- package/dist/src/components/FileManager/hooks/use-item-renaming.d.ts +0 -22
- package/dist/src/components/FileManager/hooks/use-new-actions.d.ts +0 -23
- package/dist/src/components/FileManager/hooks/use-paths-selection.d.ts +0 -13
- package/dist/src/components/FileManager/hooks/use-show-hidden-files.d.ts +0 -9
- package/dist/src/components/FileManager/hooks/use-tree-additional-buttons.d.ts +0 -22
- package/dist/src/components/FileManager/hooks/use-trigger-view-create-folder.d.ts +0 -26
- package/dist/src/components/FileManager/hooks/use-trigger-view-rename.d.ts +0 -20
- package/dist/src/components/FileManager/utils.d.ts +0 -69
- package/dist/src/components/FileManager/utils.spec.d.ts +0 -1
- package/dist/src/components/Grid/comparators/base-column-comparator.spec.d.ts +0 -1
- package/dist/src/components/Grid/renderers/utils.spec.d.ts +0 -1
- package/dist/src/components/New/AutocompleteTagInput/utils.spec.d.ts +0 -1
- package/dist/src/components/New/Button/__tests__/utils.spec.d.ts +0 -1
- package/dist/src/components/New/Calendar/utils.spec.d.ts +0 -1
- package/dist/src/components/New/Slider/utils.spec.d.ts +0 -1
- package/dist/src/components/New/TagInput/utils.spec.d.ts +0 -1
- package/dist/src/components/Pagination/tests/utils.spec.d.ts +0 -1
- package/dist/src/components/SchemaRenderer/tests/utils.spec.d.ts +0 -1
- package/dist/src/components/Steps/tests/Steps.test.d.ts +0 -1
- package/dist/src/components/Steps/tests/utils.spec.d.ts +0 -1
- package/dist/src/constants/file-grid-columns.d.ts +0 -4
- package/dist/src/models/file-manager.d.ts +0 -19
- package/dist/src/subpaths/file-manager.d.ts +0 -21
- package/dist/src/types/file-manager.d.ts +0 -59
- package/dist/src/utils/__tests__/accessible-name.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/avatar.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/element-size-observer.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/file-accept.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/merge-classes.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/path.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/pointer.spec.d.ts +0 -1
- package/dist/src/utils/__tests__/timezone.spec.d.ts +0 -1
- package/dist/src/utils/grid-registration.spec.d.ts +0 -1
- package/dist/types/file-manager.js +0 -12
- package/dist/use-file-manager-tabs-BpaJ5_zh.cjs +0 -3
- package/dist/utils/path.js +0 -4
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Migrating to the Tailwind CSS v4 stylesheet — v0.15.x → v0.16.0
|
|
2
|
+
|
|
3
|
+
## Why this changed
|
|
4
|
+
|
|
5
|
+
The kit's `styles.css` is now built with Tailwind CSS v4 instead of v3. `tailwind-merge`, which the components use to merge class names, already targets v4 class names, so the kit had been merging against one Tailwind version while building with another.
|
|
6
|
+
|
|
7
|
+
Class names, props and theme variables are unchanged. What changed is how the shipped stylesheet takes part in your page's cascade and what its preflight resets. Typecheck cannot detect either change, so they show up only when the page is rendered.
|
|
8
|
+
|
|
9
|
+
## What changed
|
|
10
|
+
|
|
11
|
+
| Area | v0.15.x (Tailwind v3) | v0.16.0 (Tailwind v4) |
|
|
12
|
+
| ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------------------------------------------- |
|
|
13
|
+
| Variant utilities (`hover:`, `focus-visible:`, `disabled:`, `placeholder:`, `before:`, `mobile:`, `md:` …) | Unlayered, after `@layer ui` | Inside `@layer ui` |
|
|
14
|
+
| Base utilities (`flex`, `bg-*`, `text-*` …) | `@layer ui` | `@layer ui` (now `ui.utilities`) |
|
|
15
|
+
| Kit classes (`dial-*`, `dial-kit-*`) | Unlayered | Unlayered |
|
|
16
|
+
| `hover:` utilities | Applied on every device | Applied only where `(hover: hover)` matches |
|
|
17
|
+
| `input`, `select`, `textarea` | Browser default background and radius | Transparent background, no radius |
|
|
18
|
+
| `margin` / `padding` reset | Listed elements (`h1`–`h6`, `p`, `ul`, `button` …) | Every element |
|
|
19
|
+
| `[hidden]` | `display: none` | `display: none !important` |
|
|
20
|
+
| Placeholder colour, pointer cursor on buttons, centred `<dialog>` | v3 values | Unchanged: the kit keeps the v3 values |
|
|
21
|
+
| Tailwind theme variables on `:root` | None | None: values are written into the utilities |
|
|
22
|
+
| Browser baseline | Native CSS nesting (Safari 16.5+, Chrome 112+) | Safari 16.4+, Chrome 111+, Firefox 128+ |
|
|
23
|
+
|
|
24
|
+
### Variant utilities and your own CSS
|
|
25
|
+
|
|
26
|
+
The kit puts Tailwind in a cascade layer named `ui` so that unlayered CSS (your app's styles and the kit's own `dial-*` classes) always beats a plain utility. Tailwind v3 placed variant utilities outside that layer. They competed with your unlayered CSS on specificity and source order, and often won, because `.hover\:bg-x:hover` is more specific than a single class.
|
|
27
|
+
|
|
28
|
+
In v4 they are inside `@layer ui`, so any unlayered rule in your app that sets the same property now wins. For example, take a kit element with a `hover:` background. If your stylesheet also sets that element's `background-color`, the hover state disappears.
|
|
29
|
+
|
|
30
|
+
## Step-by-step migration
|
|
31
|
+
|
|
32
|
+
### 1. Find CSS that targets kit elements
|
|
33
|
+
|
|
34
|
+
Look for unlayered rules in your app that style elements the kit renders, especially rules that set colour, background, border or outline:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
grep -rnE "\.dial-|\[class\*=\"dial-|\.ag-" src/ --include=*.css --include=*.scss
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Where such a rule should give way to the kit's interactive states, put it in a layer that comes before `ui`, or scope it to the resting state:
|
|
41
|
+
|
|
42
|
+
**Before:**
|
|
43
|
+
|
|
44
|
+
```css
|
|
45
|
+
.my-toolbar .dial-kit-primary-ghost-button {
|
|
46
|
+
background-color: var(--my-toolbar-bg);
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**After:**
|
|
51
|
+
|
|
52
|
+
```css
|
|
53
|
+
@layer app {
|
|
54
|
+
.my-toolbar .dial-kit-primary-ghost-button {
|
|
55
|
+
background-color: var(--my-toolbar-bg);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Declare the order once, before the kit's stylesheet is loaded: `@layer app, ui;`.
|
|
61
|
+
|
|
62
|
+
### 2. Restore form-control defaults if your page relied on them
|
|
63
|
+
|
|
64
|
+
The kit's preflight reaches every element on the page, not only the kit's own. If your own `input`, `select` or `textarea` elements carry no background or radius class and should keep the browser's look, restore it in your stylesheet:
|
|
65
|
+
|
|
66
|
+
```css
|
|
67
|
+
input,
|
|
68
|
+
select,
|
|
69
|
+
textarea {
|
|
70
|
+
background-color: Field;
|
|
71
|
+
border-radius: revert;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The same applies to elements that relied on the browser's default `margin` or `padding` (`td`, `option`): set them explicitly.
|
|
76
|
+
|
|
77
|
+
### 3. Check `hidden` elements
|
|
78
|
+
|
|
79
|
+
An element with the `hidden` attribute is now hidden even when it also has a display utility such as `flex`. If you toggle visibility with both, drop the attribute or the utility.
|
|
80
|
+
|
|
81
|
+
### 4. Check touch devices
|
|
82
|
+
|
|
83
|
+
`hover:` utilities no longer apply on devices without a hovering pointer, so a state that a tap used to trigger as a "sticky hover" no longer shows. Use `active:` or `focus-visible:` where a touch state is intended.
|
|
84
|
+
|
|
85
|
+
### 5. Verify
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm run typecheck
|
|
89
|
+
npm run test
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Then open the screens that use the kit in a desktop browser and on a touch device, and check hover, focus and disabled states, form fields and popups.
|
|
93
|
+
|
|
94
|
+
## Notes
|
|
95
|
+
|
|
96
|
+
- Hosts that build with Tailwind v4 themselves keep their own theme. The kit writes theme values directly into its utilities and declares no `--font-sans`, `--spacing`, `--radius-*` or `--color-*` on `:root`, so it cannot override yours.
|
|
97
|
+
- The kit's stylesheet registers Tailwind v4's `--tw-*` custom properties (`@property`) and declares a top-level `@layer properties`. A host on Tailwind v4 declares the same names with the same definitions.
|
|
98
|
+
- `@apply dial-…` against the kit's classes was not supported before and is still not supported. Tailwind v4's `@apply` accepts only utilities.
|
|
@@ -30,6 +30,8 @@ migration-guides/
|
|
|
30
30
|
| 0.14.0 | [shadow-token-per-step-rename](0.14.0/shadow-token-per-step-rename.md) | Shadow scale rebuilt per step: `sm` moves to the side panels, controls keep their shadow under `dial-kit-control-shadow` |
|
|
31
31
|
| 0.15.0 | [legacy-theme-variable-fallbacks-removal](0.15.0/legacy-theme-variable-fallbacks-removal.md) | Old theme variable names (`--bg-control-neutral-hover`, `--stroke-focus-black`, `--bg-control-accent-gradient-*`) dropped from the fallback chains |
|
|
32
32
|
| 0.15.0 | [slider-redesign](0.15.0/slider-redesign.md) | `Slider` redrawn: 12px accent thumb with a hover/focus halo, accent-tint track; adds `showTooltip`, `showTicks`, `leftContent`, `rightContent` |
|
|
33
|
+
| 0.16.0 | [tailwind-v4-stylesheet](0.16.0/tailwind-v4-stylesheet.md) | `styles.css` built with Tailwind v4: variant utilities move into `@layer ui`, v4 preflight, new browser baseline |
|
|
34
|
+
| 0.16.0 | [legacy-file-manager-removal](0.16.0/legacy-file-manager-removal.md) | Legacy `DialFileManager`, its helpers and the `./file-manager` subpath removed; import them from `@epam/ai-dial-react-file-manager` |
|
|
33
35
|
|
|
34
36
|
---
|
|
35
37
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const buttonChevronDown: import(
|
|
2
|
-
export declare const buttonChevronUp: import(
|
|
1
|
+
export declare const buttonChevronDown: import('react/jsx-runtime').JSX.Element;
|
|
2
|
+
export declare const buttonChevronUp: import('react/jsx-runtime').JSX.Element;
|
|
@@ -5,4 +5,4 @@ export declare const dropdownItemDisabledClassName = "opacity-75 !cursor-not-all
|
|
|
5
5
|
export declare const dropdownItemDangerClassName = "text-error";
|
|
6
6
|
export declare const dropdownDividerClassName = "my-1 border-t border-hover border-secondary";
|
|
7
7
|
export declare const dropdownGap = 4;
|
|
8
|
-
export declare const submenuCaretIcon: import(
|
|
8
|
+
export declare const submenuCaretIcon: import('react/jsx-runtime').JSX.Element;
|
|
@@ -117,4 +117,4 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
117
117
|
* @param [selectionMode] - Could be GridSelectionMode.MULTIPLE or GridSelectionMode.SINGLE to enable selection column
|
|
118
118
|
* @param [allowDisabledContextMenu] - Enables context menu actions even if row itself is disabled for selection
|
|
119
119
|
*/
|
|
120
|
-
export declare const DialGrid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, wrapCustomCellRenderers, disabledRowIds, selectedRowIds, onSelectionChange, onGridApiChange, getRowId, alternateOddRowColors, filterPlaceholder, emptyStateIcon, emptyStateTitle, emptyStateDescription, loading, wrapperBorder, withoutHeaderBorders, allowDisabledContextMenu, selectionMode, }: DialGridProps<T>) => import(
|
|
120
|
+
export declare const DialGrid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, wrapCustomCellRenderers, disabledRowIds, selectedRowIds, onSelectionChange, onGridApiChange, getRowId, alternateOddRowColors, filterPlaceholder, emptyStateIcon, emptyStateTitle, emptyStateDescription, loading, wrapperBorder, withoutHeaderBorders, allowDisabledContextMenu, selectionMode, }: DialGridProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
* Vite/Rolldown versions - see `openspec/changes/isolate-heavy-feature-modules`
|
|
12
12
|
* Section 9's `diagnosis-baseline.txt` for the measured reproduction).
|
|
13
13
|
*/
|
|
14
|
-
export declare const LazyDialJsonEditor: () => Promise<typeof import(
|
|
14
|
+
export declare const LazyDialJsonEditor: () => Promise<typeof import('./JsonEditor')>;
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* re-export this same binding instead of each declaring their own copy -
|
|
5
5
|
* see `src/components/JsonEditor/lazy.ts`'s comment for why.
|
|
6
6
|
*/
|
|
7
|
-
export declare const LazyDialMarkdownEditor: () => Promise<typeof import(
|
|
7
|
+
export declare const LazyDialMarkdownEditor: () => Promise<typeof import('./MarkdownEditor')>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FC, SyntheticEvent } from 'react';
|
|
2
2
|
import { AvatarShape } from '../../../types/avatar';
|
|
3
|
+
import { AvatarColorClasses } from '../../../utils/avatar';
|
|
3
4
|
/** Props for `Avatar`. */
|
|
4
5
|
export interface AvatarProps {
|
|
5
6
|
/** Display name the initials and the colour are derived from. */
|
|
@@ -14,6 +15,8 @@ export interface AvatarProps {
|
|
|
14
15
|
size?: number;
|
|
15
16
|
/** Outline of the avatar. */
|
|
16
17
|
shape?: AvatarShape;
|
|
18
|
+
/** Explicit colour pair overriding the deterministic pick from `name`. */
|
|
19
|
+
color?: AvatarColorClasses;
|
|
17
20
|
/** Additional CSS classes for the avatar. */
|
|
18
21
|
className?: string;
|
|
19
22
|
/** Type-scale class for the initials. When set, it replaces the font size derived from `size`. */
|
|
@@ -28,9 +31,11 @@ export interface AvatarProps {
|
|
|
28
31
|
* Design system 2.0
|
|
29
32
|
*
|
|
30
33
|
* The same name always gets the same colour, drawn from the theme's visual
|
|
31
|
-
* tokens, so a list of avatars stays stable between renders and sessions
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
+
* tokens, so a list of avatars stays stable between renders and sessions; pass
|
|
35
|
+
* `color` to pin one entry of `AVATAR_PALETTE` instead, so every avatar of a
|
|
36
|
+
* kind shares one colour regardless of name or locale. An image that is
|
|
37
|
+
* missing or fails to load falls back to the initials; a new `src` tries the
|
|
38
|
+
* image again.
|
|
34
39
|
*
|
|
35
40
|
* An avatar with an `alt` is a `role="img"` named by it, whether it shows the
|
|
36
41
|
* image or the initials. Without one it is decorative and hidden from
|
|
@@ -48,6 +53,7 @@ export interface AvatarProps {
|
|
|
48
53
|
* @param [alt=''] - Accessible name; empty makes the avatar decorative
|
|
49
54
|
* @param [size=32] - Width and height in px
|
|
50
55
|
* @param [shape=AvatarShape.Circle] - Outline of the avatar
|
|
56
|
+
* @param [color] - Explicit colour pair overriding the deterministic pick from `name`
|
|
51
57
|
* @param [className] - Additional CSS classes for the avatar
|
|
52
58
|
* @param [textClassName] - Type-scale class for the initials, replacing the size-derived font size
|
|
53
59
|
* @param [onImageError] - Called when the image fails to load
|
|
@@ -29,7 +29,7 @@ export declare const currentSizeClassName: Record<BreadcrumbsSize, string>;
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const segmentWidthClassName: Record<'first' | 'middle' | 'last', string>;
|
|
31
31
|
/** The box that draws a segment, around its icon and its label. */
|
|
32
|
-
export declare const segmentClassName = "flex min-w-0 flex-1 items-center gap-1 rounded-
|
|
32
|
+
export declare const segmentClassName = "flex min-w-0 flex-1 items-center gap-1 rounded-xs transition-colors";
|
|
33
33
|
/**
|
|
34
34
|
* A segment the user can follow. Secondary until hovered, then accent — the
|
|
35
35
|
* same pairing the kit's other inline links use.
|
|
@@ -49,7 +49,7 @@ export declare const separatorClassName = "inline-flex flex-none items-center le
|
|
|
49
49
|
* glyph to the 24×24 of WCAG 2.5.8; the enhanced 44×44 target would overhang
|
|
50
50
|
* the segments on either side of it (see the README exception table).
|
|
51
51
|
*/
|
|
52
|
-
export declare const overflowButtonClassName = "dial-kit-minimum-target flex shrink-0 items-center rounded-
|
|
52
|
+
export declare const overflowButtonClassName = "dial-kit-minimum-target flex shrink-0 items-center rounded-xs text-secondary transition-colors hover:text-accent focus-visible:outline focus-visible:outline-offset-2 focus-visible:outline-focus";
|
|
53
53
|
/**
|
|
54
54
|
* Smallest trail the collapse can produce: the root, the ellipsis and the
|
|
55
55
|
* current page. Below that there is nothing left to hide behind the ellipsis.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getButtonChevron: (isOpen: boolean) => import(
|
|
1
|
+
export declare const getButtonChevron: (isOpen: boolean) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { CalendarMode } from '../../../types/calendar';
|
|
2
2
|
export declare const DEFAULT_CALENDAR_LOCALE = "en-GB";
|
|
3
3
|
export declare const calendarModeDefaultPlaceholder: Record<CalendarMode, string>;
|
|
4
|
-
export declare const calendarFieldBaseClassName = "flex w-full items-center justify-between gap-2 rounded-xl border border-secondary bg-layer-raised px-4 py-3 dial-small-text text-primary outline-
|
|
4
|
+
export declare const calendarFieldBaseClassName = "flex w-full items-center justify-between gap-2 rounded-xl border border-secondary bg-layer-raised px-4 py-3 dial-small-text text-primary outline-hidden transition-colors hover:border-accent-alpha focus-within:border-accent-focus";
|
|
5
5
|
export declare const calendarFieldDisabledClassName = "!cursor-not-allowed !border-transparent bg-layer-sunken text-control-disable-primary hover:!border-transparent";
|
|
6
6
|
export declare const calendarFieldInvalidClassName = "!border-error";
|
|
7
7
|
export declare const calendarPopoverClassName = "z-floating flex w-[248px] flex-col gap-4 rounded-lg bg-layer-raised px-2 py-4 shadow-md";
|
|
8
|
-
export declare const calendarDayButtonBaseClassName = "flex size-10 items-center justify-center rounded-full dial-small-text text-primary hover:bg-control-accent-alpha-hover hover:text-primary focus:outline-
|
|
8
|
+
export declare const calendarDayButtonBaseClassName = "flex size-10 items-center justify-center rounded-full dial-small-text text-primary hover:bg-control-accent-alpha-hover hover:text-primary focus:outline-hidden focus-visible:outline focus-visible:outline-focus";
|
|
9
9
|
export declare const calendarDaySelectedClassName = "bg-control-accent text-control-permanent";
|
|
10
10
|
export declare const calendarDayTodayClassName = "text-accent dial-small-semi-text";
|
|
11
11
|
export declare const calendarDayOutsideClassName = "text-control-disable-primary";
|
|
12
12
|
export declare const calendarFieldIconClassName = "text-secondary";
|
|
13
|
-
export declare const calendarIcon: import(
|
|
13
|
+
export declare const calendarIcon: import('react/jsx-runtime').JSX.Element;
|
|
14
14
|
export declare const calendarNavIcons: {
|
|
15
|
-
prev: import(
|
|
16
|
-
next: import(
|
|
15
|
+
prev: import('react/jsx-runtime').JSX.Element;
|
|
16
|
+
next: import('react/jsx-runtime').JSX.Element;
|
|
17
17
|
};
|
|
@@ -12,4 +12,4 @@ export declare const dropdownItemListClassName: string;
|
|
|
12
12
|
export declare const dropdownItemBaseClassName: string;
|
|
13
13
|
export declare const dropdownDividerClassName = "my-1 border-t border-tertiary";
|
|
14
14
|
export declare const dropdownGap = 4;
|
|
15
|
-
export declare const submenuCaretIcon: import(
|
|
15
|
+
export declare const submenuCaretIcon: import('react/jsx-runtime').JSX.Element;
|
|
@@ -66,4 +66,4 @@ export interface FilterChipsProps<T extends string = string> {
|
|
|
66
66
|
* @param [aria-label] - Names the row as a whole
|
|
67
67
|
* @param [aria-labelledby] - Names the row from an existing element, e.g. a visible heading
|
|
68
68
|
*/
|
|
69
|
-
export declare const FilterChips: <T extends string = string>({ items, value, onChange, stretch, className, chipClassName, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: FilterChipsProps<T>) => import(
|
|
69
|
+
export declare const FilterChips: <T extends string = string>({ items, value, onChange, stretch, className, chipClassName, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: FilterChipsProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -132,4 +132,4 @@ export interface GridProps<T extends object = Record<string, unknown>> {
|
|
|
132
132
|
* @param [selectAllLabel='Select all rows'] - Accessible name of the select-all control.
|
|
133
133
|
* @param [colorScheme='light'] - AG Grid color scheme. `dark` paints native controls dark.
|
|
134
134
|
*/
|
|
135
|
-
export declare const Grid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, wrapCustomCellRenderers, disabledRowIds, selectedRowIds, onSelectionChange, onGridApiChange, getRowId, alternateOddRowColors, filterPlaceholder, emptyStateIcon, emptyStateTitle, emptyStateDescription, loading, wrapperBorder, withoutHeaderBorders, allowDisabledContextMenu, selectionMode, selectRowLabel, selectAllLabel, colorScheme, }: GridProps<T>) => import(
|
|
135
|
+
export declare const Grid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, wrapCustomCellRenderers, disabledRowIds, selectedRowIds, onSelectionChange, onGridApiChange, getRowId, alternateOddRowColors, filterPlaceholder, emptyStateIcon, emptyStateTitle, emptyStateDescription, loading, wrapperBorder, withoutHeaderBorders, allowDisabledContextMenu, selectionMode, selectRowLabel, selectAllLabel, colorScheme, }: GridProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -18,4 +18,4 @@ export interface SelectionCellProps<T> {
|
|
|
18
18
|
* `rowSelected` event, so a selection made anywhere — another cell, the header,
|
|
19
19
|
* or the `selectedRowIds` prop — is reflected here without refreshing the cell.
|
|
20
20
|
*/
|
|
21
|
-
export declare const SelectionCell: <T>({ params, mode, label, radioName, rowId, disabled, }: SelectionCellProps<T>) => import(
|
|
21
|
+
export declare const SelectionCell: <T>({ params, mode, label, radioName, rowId, disabled, }: SelectionCellProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -11,4 +11,4 @@ export interface SelectionHeaderProps<T> extends IHeaderParams<T> {
|
|
|
11
11
|
* rows put it in the `mixed` state, and disabled rows are excluded from the
|
|
12
12
|
* count so a grid whose selectable rows are all selected still reads as full.
|
|
13
13
|
*/
|
|
14
|
-
export declare const SelectionHeader: <T>({ api, label, }: SelectionHeaderProps<T>) => import(
|
|
14
|
+
export declare const SelectionHeader: <T>({ api, label, }: SelectionHeaderProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -11,7 +11,7 @@ export declare const INTERACTIVE_TOOLTIP_GAP = 8;
|
|
|
11
11
|
export declare const INTERACTIVE_TOOLTIP_HOVER_OPEN_DELAY = 400;
|
|
12
12
|
/**
|
|
13
13
|
* The panel sits one step of the overlay ladder (`z-interactive-tooltip`, see
|
|
14
|
-
*
|
|
14
|
+
* `--z-index-*` in `src/styles/theme.scss`) above the surface it is anchored to — a
|
|
15
15
|
* dropdown or select overlay, both `z-floating` — since it can be opened from
|
|
16
16
|
* a row inside one of them.
|
|
17
17
|
*
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* re-export this same binding instead of each declaring their own copy -
|
|
5
5
|
* see `src/components/JsonEditor/lazy.ts`'s comment for why.
|
|
6
6
|
*/
|
|
7
|
-
export declare const LazyMarkdownEditor: () => Promise<typeof import(
|
|
7
|
+
export declare const LazyMarkdownEditor: () => Promise<typeof import('./MarkdownEditor')>;
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Marks the chosen row in a `MenuItemMark.Check` list. Decorative: the row's
|
|
3
3
|
* `aria-checked`/`aria-selected` already carries the state.
|
|
4
4
|
*/
|
|
5
|
-
export declare const menuItemCheckIcon: import(
|
|
5
|
+
export declare const menuItemCheckIcon: import('react/jsx-runtime').JSX.Element;
|
|
@@ -51,4 +51,4 @@ export interface SegmentedControlProps<T extends string> {
|
|
|
51
51
|
* @param [segmentClassName] - Additional classes for every segment
|
|
52
52
|
* @param [aria-label] - Names the group as a whole
|
|
53
53
|
*/
|
|
54
|
-
export declare const SegmentedControl: <T extends string>({ items, value, onChange, disabled, className, segmentClassName: segmentClassNameProp, "aria-label": ariaLabel, }: SegmentedControlProps<T>) => import(
|
|
54
|
+
export declare const SegmentedControl: <T extends string>({ items, value, onChange, disabled, className, segmentClassName: segmentClassNameProp, "aria-label": ariaLabel, }: SegmentedControlProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -27,7 +27,7 @@ export declare const selectOptionsScrollClassName: string;
|
|
|
27
27
|
export declare const selectSubMenuGap = 4;
|
|
28
28
|
export declare const selectSubMenuClassName: string;
|
|
29
29
|
/** Marks an option that opens a nested list. Matches the dropdown's caret. */
|
|
30
|
-
export declare const selectSubMenuCaretIcon: import(
|
|
30
|
+
export declare const selectSubMenuCaretIcon: import('react/jsx-runtime').JSX.Element;
|
|
31
31
|
/** Classes for the chevron rendered as the field's trailing icon. */
|
|
32
32
|
export declare const selectFieldIconClassName = "text-secondary transition-transform";
|
|
33
33
|
/**
|
|
@@ -35,6 +35,6 @@ export declare const selectFieldIconClassName = "text-secondary transition-trans
|
|
|
35
35
|
* short enough to scan at a glance does not need to be filtered.
|
|
36
36
|
*/
|
|
37
37
|
export declare const selectSearchThreshold = 8;
|
|
38
|
-
export declare const selectSearchIcon: import(
|
|
39
|
-
export declare const selectCloseIcon: import(
|
|
40
|
-
export declare const selectEmptyStateIcon: import(
|
|
38
|
+
export declare const selectSearchIcon: import('react/jsx-runtime').JSX.Element;
|
|
39
|
+
export declare const selectCloseIcon: import('react/jsx-runtime').JSX.Element;
|
|
40
|
+
export declare const selectEmptyStateIcon: import('react/jsx-runtime').JSX.Element;
|
|
@@ -19,8 +19,8 @@ export declare const HOVER_OPEN_DELAY = 500;
|
|
|
19
19
|
*/
|
|
20
20
|
export declare const arrowClassName = "fill-control-inverted";
|
|
21
21
|
/**
|
|
22
|
-
* Tooltips sit at the top of the overlay ladder (`z-tooltip`, see
|
|
23
|
-
* `
|
|
22
|
+
* Tooltips sit at the top of the overlay ladder (`z-tooltip`, see `--z-index-*` in
|
|
23
|
+
* `src/styles/theme.scss`) — above popups (`z-popup`), dropdowns and the calendar
|
|
24
24
|
* (`z-floating`) and interactive tooltips — since they can be triggered by a
|
|
25
25
|
* control inside any of them.
|
|
26
26
|
*
|
|
@@ -37,4 +37,4 @@ export interface DialSegmentedControlProps<T extends string> {
|
|
|
37
37
|
* @param [className] - Additional classes applied to the container.
|
|
38
38
|
* @param [ariaLabel] - Accessible label for the control (applied to the `tablist`).
|
|
39
39
|
*/
|
|
40
|
-
export declare const DialSegmentedControl: <T extends string>({ options, value, onChange, disabled, className, ariaLabel, }: DialSegmentedControlProps<T>) => import(
|
|
40
|
+
export declare const DialSegmentedControl: <T extends string>({ options, value, onChange, disabled, className, ariaLabel, }: DialSegmentedControlProps<T>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export declare const selectTriggerBaseClassName = "dial-input flex w-full items-center justify-between gap-2 dial-small-text cursor-pointer";
|
|
2
2
|
export declare const selectOverlayBaseClassName = "w-full rounded flex flex-col";
|
|
3
|
-
export declare const selectOptionBaseClassName = "flex w-full items-center justify-between gap-2 px-3 h-[34px] dial-small-text text-primary truncate hover:bg-accent-primary-alpha focus:bg-accent-primary-alpha focus:outline-
|
|
3
|
+
export declare const selectOptionBaseClassName = "flex w-full items-center justify-between gap-2 px-3 h-[34px] dial-small-text text-primary truncate hover:bg-accent-primary-alpha focus:bg-accent-primary-alpha focus:outline-hidden";
|
|
4
4
|
export declare const selectOptionSelectedClassName = "bg-accent-primary-alpha";
|
|
5
|
-
export declare const selectOptionSingleSelectedClassName = "bg-accent-primary-alpha border-l border-accent-primary
|
|
5
|
+
export declare const selectOptionSingleSelectedClassName = "bg-accent-primary-alpha border-l border-accent-primary";
|
|
6
6
|
export declare const selectOptionDisabledClassName = "opacity-75";
|
|
7
7
|
export declare const dropdownMenuMaxHeight = 352;
|
|
8
8
|
export declare const selectSubMenuGap = 4;
|
|
9
|
-
export declare const selectChevronIcon: import(
|
|
9
|
+
export declare const selectChevronIcon: import('react/jsx-runtime').JSX.Element;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -96,11 +96,6 @@ export { DialDropdown } from './components/Dropdown/Dropdown';
|
|
|
96
96
|
export { DialButtonDropdown } from './components/ButtonDropdown/ButtonDropdown';
|
|
97
97
|
export { DialDropdownIcon } from './components/DropdownIcon/DropdownIcon';
|
|
98
98
|
export type { DialDropdownIconProps } from './components/DropdownIcon/DropdownIcon';
|
|
99
|
-
export { DialFileManager } from './components/FileManager/FileManager';
|
|
100
|
-
export type { FileManagerGridRow } from './components/FileManager/FileManagerContext';
|
|
101
|
-
export type { GridOptions, ToolbarOptions, BulkActionsToolbarOptions, } from './components/FileManager/FileManager';
|
|
102
|
-
export { DialDestinationFolderPopup } from './components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup';
|
|
103
|
-
export { DialFoldersTree } from './components/FileManager/components/FoldersTree/FoldersTree';
|
|
104
99
|
export { EditorThemes } from './types/editor';
|
|
105
100
|
export { ButtonVariant, ButtonAppearance } from './types/button';
|
|
106
101
|
export { RadioGroupOrientation } from './types/radio-group';
|
|
@@ -113,16 +108,12 @@ export { ScreenResolution, TabOrientation, TabView } from './types/tab';
|
|
|
113
108
|
export type { DialBreadcrumbPathItem } from './models/breadcrumb';
|
|
114
109
|
export { FormItemOrientation } from './types/form-item';
|
|
115
110
|
export { SelectSize, SelectVariant } from './types/select';
|
|
116
|
-
export { DialFileManagerTabs, DialFileManagerActions, FileManagerColumnKey, } from './types/file-manager';
|
|
117
111
|
export { FlexibleActionsDirection } from './types/flexible-actions';
|
|
118
112
|
export { DialItemType } from './types/item';
|
|
119
113
|
export { ResizableContainerSide } from './types/resizable-container';
|
|
120
114
|
export { SkeletonVariant, SkeletonAvatarSize, SkeletonAvatarShape, } from './types/skeleton';
|
|
121
|
-
export { useDialFileManagerTabs } from './components/FileManager/hooks/use-file-manager-tabs';
|
|
122
115
|
export { EDITABLE_CONTAINER_ATTRIBUTE, editableContainerProps, useEditableItem, } from './hooks/use-editable-item';
|
|
123
116
|
export type { UseEditableItemOptions } from './hooks/use-editable-item';
|
|
124
|
-
export { FileManagerProvider } from './components/FileManager/FileManagerProvider';
|
|
125
|
-
export { useFileManagerContext } from './components/FileManager/hooks/use-file-manager-context';
|
|
126
117
|
export { StepStatus } from './models/step';
|
|
127
118
|
export type { Step } from './models/step';
|
|
128
119
|
export type { RadioButtonWithContent } from './models/radio';
|
|
@@ -134,13 +125,11 @@ export type { DialModifiedEntity } from './models/base-entity';
|
|
|
134
125
|
export type { DialFile } from './models/file';
|
|
135
126
|
export { DialFileNodeType, DialFilePermission, DialFileResourceType, } from './models/file';
|
|
136
127
|
export type { DialRootFolder } from './models/file';
|
|
137
|
-
export { type DialCopiedItem, type DialDeletedItem, type DialUploadFileItem, type DialFileManagerActionsRef, type DialFileAcceptType, } from './models/file-manager';
|
|
138
128
|
export { GridSelectionMode } from './models/selection-mode';
|
|
139
129
|
export { mergeClasses } from './utils/merge-classes';
|
|
140
130
|
export { wrapInRootFolder } from './utils/flat-to-hierarchy-convertor.ts';
|
|
141
131
|
export { getTimezoneLabel } from './utils/timezone';
|
|
142
132
|
export type { TimezoneLabelOptions } from './utils/timezone';
|
|
143
|
-
export { NAME_COLUMN, SIZE_COLUMN, UPDATED_AT_COLUMN, } from './constants/file-grid-columns';
|
|
144
133
|
export { DIAL_ICON_SIZE, BASE_ICON_PROPS, BASE_ICON_SIZE, } from './constants/icon.ts';
|
|
145
134
|
export { NOT_ALLOWED_SYMBOLS, NOT_ALLOWED_SPACES, NOT_ALLOWED_SYMBOLS_REGEXP, NOT_ALLOWED_SPACES_REGEXP, } from './constants/validation.ts';
|
|
146
135
|
export { DIAL_KIT_CLASS } from './constants/public-class-names';
|
|
@@ -249,8 +238,9 @@ export type { BadgeProps } from './components/New/Badge/Badge';
|
|
|
249
238
|
export { BadgeColor, BadgeVariant } from './types/badge';
|
|
250
239
|
export { Avatar } from './components/New/Avatar/Avatar';
|
|
251
240
|
export type { AvatarProps } from './components/New/Avatar/Avatar';
|
|
252
|
-
export { AvatarShape } from './types/avatar';
|
|
253
|
-
export { extractInitials } from './utils/avatar';
|
|
241
|
+
export { AvatarColor, AvatarShape } from './types/avatar';
|
|
242
|
+
export { AVATAR_PALETTE, extractInitials } from './utils/avatar';
|
|
243
|
+
export type { AvatarColorClasses } from './utils/avatar';
|
|
254
244
|
export { EntityIdentity } from './components/New/EntityIdentity/EntityIdentity';
|
|
255
245
|
export type { EntityIdentityProps, EntityIdentityItem, EntityIdentityLabels, } from './components/New/EntityIdentity/EntityIdentity';
|
|
256
246
|
export { EntityType } from './types/entity-type';
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
export { LazyDialJsonEditor } from '../components/JsonEditor/lazy';
|
|
17
17
|
export { LazyDialMarkdownEditor } from '../components/MarkdownEditor/lazy';
|
|
18
18
|
export { LazyMarkdownEditor } from '../components/New/MarkdownEditor/lazy';
|
|
19
|
-
export declare const LazyDialMarkdownEditorContainer: () => Promise<typeof import(
|
|
19
|
+
export declare const LazyDialMarkdownEditorContainer: () => Promise<typeof import('../components/MarkdownEditor/MarkdownEditorContainer')>;
|
|
20
20
|
export { EditorThemes } from '../types/editor';
|
|
21
21
|
export type { MarkdownEditorProps } from '../components/New/MarkdownEditor/MarkdownEditor';
|
|
22
22
|
export type { DialMarkdownEditorContainerProps } from '../components/MarkdownEditor/MarkdownEditorContainer';
|
|
@@ -5,3 +5,12 @@ export declare enum AvatarShape {
|
|
|
5
5
|
/** A rounded square — the avatar of an application, model or other entity. */
|
|
6
6
|
Square = "square"
|
|
7
7
|
}
|
|
8
|
+
export declare enum AvatarColor {
|
|
9
|
+
Green1 = "green-1",
|
|
10
|
+
Violet2 = "violet-2",
|
|
11
|
+
Brown = "brown",
|
|
12
|
+
Red = "red",
|
|
13
|
+
Green2 = "green-2",
|
|
14
|
+
Blue = "blue",
|
|
15
|
+
Violet1 = "violet-1"
|
|
16
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AvatarColor } from '../types/avatar';
|
|
1
2
|
/** A background and text colour pair for an initials avatar, as Tailwind classes. */
|
|
2
3
|
export interface AvatarColorClasses {
|
|
3
4
|
/** Background class, bound to a `--bg-visual-*` token. */
|
|
@@ -5,7 +6,7 @@ export interface AvatarColorClasses {
|
|
|
5
6
|
/** Text class, bound to the matching `--text-visual-*` token. */
|
|
6
7
|
foreground: string;
|
|
7
8
|
}
|
|
8
|
-
export declare const AVATAR_PALETTE:
|
|
9
|
+
export declare const AVATAR_PALETTE: Record<AvatarColor, AvatarColorClasses>;
|
|
9
10
|
/** Returns the palette entry for a name; the same name always gets the same colours. */
|
|
10
11
|
export declare const pickAvatarColor: (name: string) => AvatarColorClasses;
|
|
11
12
|
/** Returns 1–2 uppercase initials derived from a display name, or `'?'` when it has no letters. */
|
|
@@ -64,5 +64,5 @@ interface SubMenuPanelProps {
|
|
|
64
64
|
* Shared floating panel wrapper (FloatingPortal → FloatingFocusManager → container div).
|
|
65
65
|
* Used by DropdownSubMenuItem and SelectSubMenuItem.
|
|
66
66
|
*/
|
|
67
|
-
export declare const SubMenuPanel: ({ refs, floatingStyles, context, getFloatingProps, role, surfaceClassName, className, children, }: SubMenuPanelProps) => import(
|
|
67
|
+
export declare const SubMenuPanel: ({ refs, floatingStyles, context, getFloatingProps, role, surfaceClassName, className, children, }: SubMenuPanelProps) => import('react/jsx-runtime').JSX.Element;
|
|
68
68
|
export {};
|
package/dist/types/avatar.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
var
|
|
1
|
+
var n = /* @__PURE__ */ ((e) => (e.Circle = "circle", e.Square = "square", e))(n || {}), i = /* @__PURE__ */ ((e) => (e.Green1 = "green-1", e.Violet2 = "violet-2", e.Brown = "brown", e.Red = "red", e.Green2 = "green-2", e.Blue = "blue", e.Violet1 = "violet-1", e))(i || {});
|
|
2
2
|
export {
|
|
3
|
-
|
|
3
|
+
i as AvatarColor,
|
|
4
|
+
n as AvatarShape
|
|
4
5
|
};
|
package/dist/utils/avatar.js
CHANGED
|
@@ -1,22 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { AvatarColor as t } from "../types/avatar.js";
|
|
2
|
+
const l = {
|
|
3
|
+
[t.Green1]: {
|
|
4
|
+
background: "bg-green-1",
|
|
5
|
+
foreground: "text-green-2"
|
|
6
|
+
},
|
|
7
|
+
[t.Violet2]: {
|
|
8
|
+
background: "bg-violet-2",
|
|
9
|
+
foreground: "text-violet-1"
|
|
10
|
+
},
|
|
11
|
+
[t.Brown]: {
|
|
12
|
+
background: "bg-brown",
|
|
13
|
+
foreground: "text-brown-2"
|
|
14
|
+
},
|
|
15
|
+
[t.Red]: {
|
|
16
|
+
background: "bg-red",
|
|
17
|
+
foreground: "text-red"
|
|
18
|
+
},
|
|
19
|
+
[t.Green2]: {
|
|
20
|
+
background: "bg-green-2",
|
|
21
|
+
foreground: "text-green-3"
|
|
22
|
+
},
|
|
23
|
+
[t.Blue]: {
|
|
24
|
+
background: "bg-blue",
|
|
25
|
+
foreground: "text-accent"
|
|
26
|
+
},
|
|
27
|
+
[t.Violet1]: {
|
|
28
|
+
background: "bg-violet-1",
|
|
29
|
+
foreground: "text-violet-2"
|
|
30
|
+
}
|
|
31
|
+
}, c = (r) => {
|
|
32
|
+
const e = Object.values(l);
|
|
33
|
+
let n = 0;
|
|
34
|
+
for (let o = 0; o < r.length; o++)
|
|
35
|
+
n += r.charCodeAt(o);
|
|
36
|
+
return e[n % e.length];
|
|
37
|
+
}, g = (r) => r.match(new RegExp("\\p{L}", "u"))?.[0] ?? "", u = (r) => {
|
|
38
|
+
const e = r.trim().split(/\s+/).filter(Boolean);
|
|
39
|
+
return e.length === 0 ? "?" : e.length >= 2 ? (g(e[0]) + g(e[1])).toUpperCase() || "?" : e[0].replace(/[^\p{L}]/gu, "").slice(0, 2).toUpperCase() || "?";
|
|
17
40
|
};
|
|
18
41
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
42
|
+
l as AVATAR_PALETTE,
|
|
43
|
+
u as extractInitials,
|
|
21
44
|
c as pickAvatarColor
|
|
22
45
|
};
|
|
@@ -14,7 +14,7 @@ const Z = '[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"],
|
|
|
14
14
|
return n === -1 ? s === 1 ? 0 : o - 1 : (n + s + o) % o;
|
|
15
15
|
};
|
|
16
16
|
function le(t, n = "menu", o = !1, s) {
|
|
17
|
-
const [r, i] = b(!1), u = M(), { refs: a, elements:
|
|
17
|
+
const [r, i] = b(!1), u = M(), { refs: a, elements: d, floatingStyles: S, context: c } = k({
|
|
18
18
|
nodeId: u,
|
|
19
19
|
placement: "right-start",
|
|
20
20
|
open: r,
|
|
@@ -40,13 +40,13 @@ function le(t, n = "menu", o = !1, s) {
|
|
|
40
40
|
}), T = z(c, { role: n }), {
|
|
41
41
|
getReferenceProps: g,
|
|
42
42
|
getFloatingProps: y
|
|
43
|
-
} = X([O, D, R, T]), [
|
|
43
|
+
} = X([O, D, R, T]), [h, w] = b(!1), p = d.floating;
|
|
44
44
|
Q(() => {
|
|
45
|
-
!r || !
|
|
46
|
-
}, [r,
|
|
45
|
+
!r || !h || p == null || (A(p)[0]?.focus(), w(!1));
|
|
46
|
+
}, [r, h, p]);
|
|
47
47
|
const F = f(
|
|
48
48
|
(e) => {
|
|
49
|
-
o || !(e.key === v(e.currentTarget) || e.key === "Enter" || e.key === " ") || (e.preventDefault(), e.stopPropagation(), i(!0),
|
|
49
|
+
o || !(e.key === v(e.currentTarget) || e.key === "Enter" || e.key === " ") || (e.preventDefault(), e.stopPropagation(), i(!0), w(!0));
|
|
50
50
|
},
|
|
51
51
|
[o]
|
|
52
52
|
), E = f(
|
|
@@ -97,7 +97,7 @@ const ne = "rounded bg-layer-0 shadow", ue = ({
|
|
|
97
97
|
className: u,
|
|
98
98
|
children: a
|
|
99
99
|
}) => {
|
|
100
|
-
const
|
|
100
|
+
const d = W();
|
|
101
101
|
return /* @__PURE__ */ m(Y, { children: /* @__PURE__ */ m(
|
|
102
102
|
G,
|
|
103
103
|
{
|
|
@@ -112,9 +112,9 @@ const ne = "rounded bg-layer-0 shadow", ue = ({
|
|
|
112
112
|
style: n,
|
|
113
113
|
role: r,
|
|
114
114
|
className: J(
|
|
115
|
-
"z-floating overflow-auto text-primary focus-visible:outline-
|
|
115
|
+
"z-floating overflow-auto text-primary focus-visible:outline-hidden",
|
|
116
116
|
i ?? ne,
|
|
117
|
-
|
|
117
|
+
d,
|
|
118
118
|
u
|
|
119
119
|
),
|
|
120
120
|
...s(),
|