@adecore/ui 0.31.11 → 0.32.0

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 (163) hide show
  1. package/dist/AccentSwatches.js +290 -13
  2. package/dist/Banner.js +90 -9
  3. package/dist/Button.js +114 -22
  4. package/dist/ButtonGroup.js +62 -8
  5. package/dist/Checkbox.js +73 -4
  6. package/dist/ChoiceCards.js +205 -11
  7. package/dist/CloseButton.js +87 -7
  8. package/dist/ColorSwatch.js +132 -15
  9. package/dist/ColorWheelPicker.js +305 -71
  10. package/dist/ColumnResizeHandle.js +43 -8
  11. package/dist/DisabledReason.js +27 -8
  12. package/dist/DockShell.js +144 -37
  13. package/dist/EmptyState.js +95 -6
  14. package/dist/ErrorBoundary.js +254 -31
  15. package/dist/Field.js +349 -31
  16. package/dist/FileIcon.js +67 -6
  17. package/dist/Icon.js +38 -6
  18. package/dist/IconButton.js +176 -20
  19. package/dist/IconPicker.js +344 -73
  20. package/dist/Input.js +233 -14
  21. package/dist/Kbd.js +150 -10
  22. package/dist/LazyBoundary.js +14 -5
  23. package/dist/ListRow.js +75 -15
  24. package/dist/Meter.js +108 -5
  25. package/dist/MiddleTruncate.js +126 -45
  26. package/dist/PanelEmpty.js +64 -5
  27. package/dist/PanelHeader.js +95 -13
  28. package/dist/Pill.js +114 -19
  29. package/dist/ProjectSwitcher.js +225 -12
  30. package/dist/PromptDialog.js +352 -37
  31. package/dist/SectionLabel.js +62 -8
  32. package/dist/SegmentBar.js +197 -36
  33. package/dist/Segmented.js +130 -23
  34. package/dist/Select.js +310 -19
  35. package/dist/SelectSearch.js +344 -29
  36. package/dist/Separator.js +35 -4
  37. package/dist/ShortcutHints.js +146 -76
  38. package/dist/Skeleton.js +31 -4
  39. package/dist/Slider.js +172 -10
  40. package/dist/SlidingColumn.js +194 -34
  41. package/dist/Spinner.js +100 -3
  42. package/dist/Stepper.js +232 -11
  43. package/dist/Surface.js +62 -8
  44. package/dist/Switch.js +60 -6
  45. package/dist/TextMenu.js +212 -17
  46. package/dist/Tile.js +149 -5
  47. package/dist/Toasts.js +391 -33
  48. package/dist/Tooltip.js +153 -16
  49. package/dist/UIProvider.js +62 -15
  50. package/dist/Waveform.js +362 -93
  51. package/dist/Wipe.js +259 -34
  52. package/dist/ZoomControls.js +356 -14
  53. package/dist/class-name.js +1 -1
  54. package/dist/clipboard.js +15 -17
  55. package/dist/context-menu/index.parts.js +1 -1
  56. package/dist/dialog/index.parts.js +1 -1
  57. package/dist/dialog/parts.js +378 -29
  58. package/dist/dialog-layer.js +51 -18
  59. package/dist/error-boundary.js +19 -19
  60. package/dist/error-message.js +1 -1
  61. package/dist/field-context.js +7 -5
  62. package/dist/file-icon.js +23 -21
  63. package/dist/file-tree/helpers.js +133 -119
  64. package/dist/file-tree/index.parts.js +3 -3
  65. package/dist/file-tree/parts.js +418 -127
  66. package/dist/file-tree/style.js +1 -1
  67. package/dist/file-tree/use-file-tree-shift.js +43 -30
  68. package/dist/file-tree/use-file-tree.js +60 -18
  69. package/dist/file-tree/use-slots.js +220 -192
  70. package/dist/floating.js +2 -2
  71. package/dist/format/datetime.js +88 -38
  72. package/dist/format/duration.js +59 -53
  73. package/dist/format/index.js +1 -1
  74. package/dist/format/locale.js +76 -56
  75. package/dist/format/number.js +77 -61
  76. package/dist/format/regions.js +4 -2
  77. package/dist/format/time-zone.js +1 -1
  78. package/dist/icon-button-size.js +12 -2
  79. package/dist/icon-picker.js +70 -61
  80. package/dist/index.js +57 -57
  81. package/dist/key-value-list/index.parts.js +1 -1
  82. package/dist/key-value-list/parts.js +256 -22
  83. package/dist/lazy-landings.js +10 -10
  84. package/dist/lazy.js +84 -71
  85. package/dist/locales/en.js +80 -80
  86. package/dist/locales/nl.js +80 -80
  87. package/dist/locales.js +10 -7
  88. package/dist/menu/index.parts.js +1 -1
  89. package/dist/menu/parts.js +882 -44
  90. package/dist/merge-refs.js +8 -9
  91. package/dist/middle-truncate.js +24 -25
  92. package/dist/modality.js +27 -19
  93. package/dist/placement.js +11 -20
  94. package/dist/platform.js +6 -6
  95. package/dist/popover/index.parts.js +1 -1
  96. package/dist/popover/parts.js +173 -11
  97. package/dist/popup-layer.js +38 -17
  98. package/dist/prefetch.js +78 -79
  99. package/dist/preview-card/index.parts.js +1 -1
  100. package/dist/project-switcher-row.js +153 -12
  101. package/dist/select-row.js +69 -5
  102. package/dist/select-shared.js +6 -6
  103. package/dist/selection.js +16 -16
  104. package/dist/seti-icons.js +413 -413
  105. package/dist/settings/ConfirmDialog.js +55 -8
  106. package/dist/settings/DetailHeader.js +72 -4
  107. package/dist/settings/MasterDetail.js +119 -7
  108. package/dist/settings/SettingsDialog.js +820 -80
  109. package/dist/settings/SettingsRow.js +205 -18
  110. package/dist/settings/SettingsSection.js +96 -6
  111. package/dist/settings/index.js +7 -7
  112. package/dist/settings/target.js +7 -2
  113. package/dist/shortcut-hints.js +73 -55
  114. package/dist/shortcut.js +140 -104
  115. package/dist/step-places.js +1 -1
  116. package/dist/tabs/index.parts.js +1 -1
  117. package/dist/tabs/overflow.js +18 -18
  118. package/dist/tabs/parts.js +780 -166
  119. package/dist/testing/dedupe.js +82 -75
  120. package/dist/testing/fake-source.js +12 -12
  121. package/dist/testing/index.js +1 -1
  122. package/dist/toast-store.js +65 -46
  123. package/dist/tree/index.parts.js +1 -1
  124. package/dist/tree/parts.js +721 -94
  125. package/dist/tree/shift.js +28 -22
  126. package/dist/tree/style.js +2 -2
  127. package/dist/tree/use-tree-shift.js +178 -117
  128. package/dist/useAsyncAction.js +23 -19
  129. package/dist/useColumnResize.js +36 -34
  130. package/dist/useContentSize.js +62 -18
  131. package/dist/useMeasuredWidth.js +14 -3
  132. package/dist/useNow.js +73 -30
  133. package/dist/wipe-split.js +14 -14
  134. package/dist/workspace/DropPreview.js +60 -7
  135. package/dist/workspace/SplitView.js +1025 -441
  136. package/dist/workspace/TabStrip.js +810 -191
  137. package/dist/workspace/Workspace.js +276 -26
  138. package/dist/workspace/context.js +8 -3
  139. package/dist/workspace/geometry.js +173 -150
  140. package/dist/workspace/model.js +313 -250
  141. package/dist/workspace/preview.js +61 -61
  142. package/dist/zoom.js +2 -2
  143. package/package.json +1 -1
  144. package/src/ErrorBoundary.tsx +1 -1
  145. package/src/Field.tsx +4 -3
  146. package/src/IconPicker.tsx +3 -3
  147. package/src/LazyBoundary.tsx +2 -0
  148. package/src/MiddleTruncate.tsx +2 -2
  149. package/src/SegmentBar.tsx +2 -2
  150. package/src/Toasts.tsx +3 -1
  151. package/src/Tooltip.tsx +7 -10
  152. package/src/Waveform.tsx +3 -3
  153. package/src/file-tree/parts.tsx +6 -9
  154. package/src/file-tree/use-file-tree-shift.tsx +6 -9
  155. package/src/lazy.tsx +4 -0
  156. package/src/locales/en.ts +4 -4
  157. package/src/locales/nl.ts +5 -5
  158. package/src/settings/SettingsDialog.tsx +1 -1
  159. package/src/tree/parts.tsx +5 -8
  160. package/src/useContentSize.ts +3 -3
  161. package/src/workspace/SplitView.tsx +2 -2
  162. package/src/workspace/TabStrip.tsx +2 -3
  163. package/src/workspace/Workspace.tsx +2 -5
package/dist/Tooltip.js CHANGED
@@ -1,21 +1,158 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback } from 'react';
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import 'react';
3
3
  import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
4
- import { Kbd } from './Kbd.js';
4
+ import { Kbd } from "./Kbd.js";
5
5
  import { registerShortcutHint } from './shortcut-hints.js';
6
6
  /* One provider per app. Tooltips share a delay, so moving along a row of buttons feels instant. `UIProvider` mounts it. */
7
- export function TooltipProvider({ children }) {
8
- return (_jsx(BaseTooltip.Provider, { delay: 150, closeDelay: 0, children: children }));
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function TooltipProvider(t0) {
9
+ const $ = _c(2);
10
+ const {
11
+ children
12
+ } = t0;
13
+ let t1;
14
+ if ($[0] !== children) {
15
+ t1 = /*#__PURE__*/_jsx(BaseTooltip.Provider, {
16
+ delay: 150,
17
+ closeDelay: 0,
18
+ children: children
19
+ });
20
+ $[0] = children;
21
+ $[1] = t1;
22
+ } else {
23
+ t1 = $[1];
24
+ }
25
+ return t1;
9
26
  }
10
27
  /* A hint on hover and on keyboard focus. Every hint in an app is one of these, never a `title`. */
11
- export function Tooltip({ label, open, onOpenChange, anchor, kbd, side = 'top', sideOffset = 6, name = false, disabled = false, children }) {
12
- // Held Cmd (Ctrl off macOS) prints this shortcut under the trigger (`ShortcutHints`).
13
- const hintRef = useCallback((element) => {
14
- if (element === null || kbd === undefined || typeof kbd === 'string') {
15
- return undefined;
16
- }
17
- return registerShortcutHint(element, kbd);
18
- }, [kbd]);
19
- return (_jsxs(BaseTooltip.Root, { disabled: disabled, open: open, onOpenChange: onOpenChange, disableHoverablePopup: children === undefined, children: [children && _jsx(BaseTooltip.Trigger, { ref: hintRef, render: children, "aria-label": name && typeof label === 'string' ? label : undefined }), _jsx(BaseTooltip.Portal, { children: _jsx(BaseTooltip.Positioner, { anchor: anchor, side: side, sideOffset: sideOffset, className: "tooltip-positioner", children: _jsx(BaseTooltip.Popup, { role: "tooltip", className: "tooltip-popup", children: _jsxs("div", { className: "max-w-72 px-[9px] py-[5px] text-pretty", children: [_jsx("span", { className: "wrap-anywhere", children: label }), kbd !== undefined &&
20
- (typeof kbd === 'string' ? (_jsx(Kbd, { variant: "inline", className: "ml-2", children: kbd })) : (_jsx(Kbd, { shortcut: kbd, variant: "inline", className: "ml-2" })))] }) }) }) })] }));
21
- }
28
+ export function Tooltip(t0) {
29
+ const $ = _c(26);
30
+ const {
31
+ label,
32
+ open,
33
+ onOpenChange,
34
+ anchor,
35
+ kbd,
36
+ side: t1,
37
+ sideOffset: t2,
38
+ name: t3,
39
+ disabled: t4,
40
+ children
41
+ } = t0;
42
+ const side = t1 === undefined ? "top" : t1;
43
+ const sideOffset = t2 === undefined ? 6 : t2;
44
+ const name = t3 === undefined ? false : t3;
45
+ const disabled = t4 === undefined ? false : t4;
46
+ let t5;
47
+ if ($[0] !== kbd) {
48
+ t5 = element => {
49
+ if (element === null || kbd === undefined || typeof kbd === "string") {
50
+ return;
51
+ }
52
+ return registerShortcutHint(element, kbd);
53
+ };
54
+ $[0] = kbd;
55
+ $[1] = t5;
56
+ } else {
57
+ t5 = $[1];
58
+ }
59
+ const hintRef = t5;
60
+ const t6 = children === undefined;
61
+ let t7;
62
+ if ($[2] !== children || $[3] !== hintRef || $[4] !== label || $[5] !== name) {
63
+ t7 = children && /*#__PURE__*/_jsx(BaseTooltip.Trigger, {
64
+ ref: hintRef,
65
+ render: children,
66
+ "aria-label": name && typeof label === "string" ? label : undefined
67
+ });
68
+ $[2] = children;
69
+ $[3] = hintRef;
70
+ $[4] = label;
71
+ $[5] = name;
72
+ $[6] = t7;
73
+ } else {
74
+ t7 = $[6];
75
+ }
76
+ let t8;
77
+ if ($[7] !== label) {
78
+ t8 = /*#__PURE__*/_jsx("span", {
79
+ className: "wrap-anywhere",
80
+ children: label
81
+ });
82
+ $[7] = label;
83
+ $[8] = t8;
84
+ } else {
85
+ t8 = $[8];
86
+ }
87
+ let t9;
88
+ if ($[9] !== kbd) {
89
+ t9 = kbd !== undefined && (typeof kbd === "string" ? /*#__PURE__*/_jsx(Kbd, {
90
+ variant: "inline",
91
+ className: "ml-2",
92
+ children: kbd
93
+ }) : /*#__PURE__*/_jsx(Kbd, {
94
+ shortcut: kbd,
95
+ variant: "inline",
96
+ className: "ml-2"
97
+ }));
98
+ $[9] = kbd;
99
+ $[10] = t9;
100
+ } else {
101
+ t9 = $[10];
102
+ }
103
+ let t10;
104
+ if ($[11] !== t8 || $[12] !== t9) {
105
+ t10 = /*#__PURE__*/_jsx(BaseTooltip.Popup, {
106
+ role: "tooltip",
107
+ className: "tooltip-popup",
108
+ children: /*#__PURE__*/_jsxs("div", {
109
+ className: "max-w-72 px-[9px] py-[5px] text-pretty",
110
+ children: [t8, t9]
111
+ })
112
+ });
113
+ $[11] = t8;
114
+ $[12] = t9;
115
+ $[13] = t10;
116
+ } else {
117
+ t10 = $[13];
118
+ }
119
+ let t11;
120
+ if ($[14] !== anchor || $[15] !== side || $[16] !== sideOffset || $[17] !== t10) {
121
+ t11 = /*#__PURE__*/_jsx(BaseTooltip.Portal, {
122
+ children: /*#__PURE__*/_jsx(BaseTooltip.Positioner, {
123
+ anchor: anchor,
124
+ side: side,
125
+ sideOffset: sideOffset,
126
+ className: "tooltip-positioner",
127
+ children: t10
128
+ })
129
+ });
130
+ $[14] = anchor;
131
+ $[15] = side;
132
+ $[16] = sideOffset;
133
+ $[17] = t10;
134
+ $[18] = t11;
135
+ } else {
136
+ t11 = $[18];
137
+ }
138
+ let t12;
139
+ if ($[19] !== disabled || $[20] !== onOpenChange || $[21] !== open || $[22] !== t11 || $[23] !== t6 || $[24] !== t7) {
140
+ t12 = /*#__PURE__*/_jsxs(BaseTooltip.Root, {
141
+ disabled: disabled,
142
+ open: open,
143
+ onOpenChange: onOpenChange,
144
+ disableHoverablePopup: t6,
145
+ children: [t7, t11]
146
+ });
147
+ $[19] = disabled;
148
+ $[20] = onOpenChange;
149
+ $[21] = open;
150
+ $[22] = t11;
151
+ $[23] = t6;
152
+ $[24] = t7;
153
+ $[25] = t12;
154
+ } else {
155
+ t12 = $[25];
156
+ }
157
+ return t12;
158
+ }
@@ -1,26 +1,73 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
2
  import { useLayoutEffect, useState } from 'react';
3
3
  import { I18nextProvider } from 'react-i18next';
4
4
  import { setFormatSource } from './format/locale.js';
5
5
  import { addUiResources } from './locales.js';
6
6
  import { startInputModality } from './modality.js';
7
- import { TooltipProvider } from './Tooltip.js';
7
+ import { TooltipProvider } from "./Tooltip.js";
8
8
  /*
9
9
  * Everything the library needs from an app, once, around the whole tree: its words in the app's
10
10
  * i18next, the source of the formatters, the shared tooltip delay and the note of which input device
11
11
  * is in use. Mount it above the first component of the library.
12
12
  */
13
- export function UIProvider({ i18n, formatSource, children }) {
14
- const [handed, setHanded] = useState({ i18n: null, source: undefined });
15
- // In render and not in an effect, so the first child already reads the words and the region.
16
- // Both calls only store what they are handed, so a render React throws away leaves nothing wrong behind.
17
- if (handed.i18n !== i18n || handed.source !== formatSource) {
18
- addUiResources(i18n);
19
- if (formatSource !== undefined) {
20
- setFormatSource(formatSource);
21
- }
22
- setHanded({ i18n, source: formatSource });
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export function UIProvider(t0) {
15
+ const $ = _c(7);
16
+ const {
17
+ i18n,
18
+ formatSource,
19
+ children
20
+ } = t0;
21
+ let t1;
22
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
23
+ t1 = {
24
+ i18n: null,
25
+ source: undefined
26
+ };
27
+ $[0] = t1;
28
+ } else {
29
+ t1 = $[0];
30
+ }
31
+ const [handed, setHanded] = useState(t1);
32
+ if (handed.i18n !== i18n || handed.source !== formatSource) {
33
+ addUiResources(i18n);
34
+ if (formatSource !== undefined) {
35
+ setFormatSource(formatSource);
23
36
  }
24
- useLayoutEffect(startInputModality, []);
25
- return (_jsx(I18nextProvider, { i18n: i18n, children: _jsx(TooltipProvider, { children: children }) }));
26
- }
37
+ setHanded({
38
+ i18n,
39
+ source: formatSource
40
+ });
41
+ }
42
+ let t2;
43
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
44
+ t2 = [];
45
+ $[1] = t2;
46
+ } else {
47
+ t2 = $[1];
48
+ }
49
+ useLayoutEffect(startInputModality, t2);
50
+ let t3;
51
+ if ($[2] !== children) {
52
+ t3 = /*#__PURE__*/_jsx(TooltipProvider, {
53
+ children: children
54
+ });
55
+ $[2] = children;
56
+ $[3] = t3;
57
+ } else {
58
+ t3 = $[3];
59
+ }
60
+ let t4;
61
+ if ($[4] !== i18n || $[5] !== t3) {
62
+ t4 = /*#__PURE__*/_jsx(I18nextProvider, {
63
+ i18n: i18n,
64
+ children: t3
65
+ });
66
+ $[4] = i18n;
67
+ $[5] = t3;
68
+ $[6] = t4;
69
+ } else {
70
+ t4 = $[6];
71
+ }
72
+ return t4;
73
+ }