@k2b/ui 0.31.0 → 0.33.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.
- package/dist/base.css +2 -0
- package/dist/browser/actions/Dropdown.js +159 -99
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +113 -56
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/ViewTabs.js +8 -0
- package/dist/browser/actions/ViewTabs.js.map +1 -1
- package/dist/browser/actions/filter-messages.js +26 -2
- package/dist/browser/actions/filter-messages.js.map +1 -1
- package/dist/browser/actions/menu-rows.js +23 -3
- package/dist/browser/actions/menu-rows.js.map +1 -1
- package/dist/browser/actions/menu-sheet.js +2 -7
- package/dist/browser/actions/menu-sheet.js.map +1 -1
- package/dist/browser/chat/ChatComposer.js +480 -403
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/chat-messages.js +14 -0
- package/dist/browser/chat/chat-messages.js.map +1 -1
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/content/Calendar.js +39 -29
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/CalendarDayView.js +159 -165
- package/dist/browser/content/CalendarDayView.js.map +1 -1
- package/dist/browser/content/Chart.js +104 -55
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/ChartExplorer.js +5 -3
- package/dist/browser/content/ChartExplorer.js.map +1 -1
- package/dist/browser/content/MapView.js +4 -4
- package/dist/browser/content/MapView.js.map +1 -1
- package/dist/browser/content/MessageRow.js +607 -343
- package/dist/browser/content/MessageRow.js.map +1 -1
- package/dist/browser/content/ReactionBar.js +17 -0
- package/dist/browser/content/ReactionBar.js.map +1 -1
- package/dist/browser/content/chart-inspection-core.js +4 -1
- package/dist/browser/content/chart-inspection-core.js.map +1 -1
- package/dist/browser/content/code-highlight.js +66 -0
- package/dist/browser/content/code-highlight.js.map +1 -1
- package/dist/browser/content/index.js +2 -1
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/content/map-view-live.js +47 -10
- package/dist/browser/content/map-view-live.js.map +1 -1
- package/dist/browser/content/map-view-types.js.map +1 -1
- package/dist/browser/feedback/dialog-core.js +6 -0
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/inputs/AutocompleteEditor.js +167 -104
- package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
- package/dist/browser/inputs/RichSelect.js +1474 -0
- package/dist/browser/inputs/RichSelect.js.map +1 -0
- package/dist/browser/inputs/TextInput.js +99 -61
- package/dist/browser/inputs/TextInput.js.map +1 -1
- package/dist/browser/inputs/choice.js +19 -8
- package/dist/browser/inputs/choice.js.map +1 -1
- package/dist/browser/inputs/index.js +1 -0
- package/dist/browser/inputs/index.js.map +1 -1
- package/dist/browser/inputs/rich-select-messages.js +46 -0
- package/dist/browser/inputs/rich-select-messages.js.map +1 -0
- package/dist/browser/intl/shortcut-messages.js +4 -0
- package/dist/browser/intl/shortcut-messages.js.map +1 -1
- package/dist/browser/intl/shortcut.js +4 -0
- package/dist/browser/intl/shortcut.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +624 -565
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/DetailPanel.js +10 -1
- package/dist/browser/layout/DetailPanel.js.map +1 -1
- package/dist/browser/layout/MobileShell.js +213 -38
- package/dist/browser/layout/MobileShell.js.map +1 -1
- package/dist/browser/layout/Navigation.js +14 -5
- package/dist/browser/layout/Navigation.js.map +1 -1
- package/dist/browser/layout/PageTitle.js +9 -3
- package/dist/browser/layout/PageTitle.js.map +1 -1
- package/dist/browser/layout/ResizeSeparator.js +8 -2
- package/dist/browser/layout/ResizeSeparator.js.map +1 -1
- package/dist/browser/layout/app-workspace-controller.js +192 -31
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/index.js +1 -0
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/layout/navigation-model.js.map +1 -1
- package/dist/browser/layout/resize-separator.js +25 -1
- package/dist/browser/layout/resize-separator.js.map +1 -1
- package/dist/browser/layout/scroll-fade.js +32 -5
- package/dist/browser/layout/scroll-fade.js.map +1 -1
- package/dist/browser/surfaces/NoticeCard.js +46 -30
- package/dist/browser/surfaces/NoticeCard.js.map +1 -1
- package/dist/browser/surfaces/Skeleton.js +14 -0
- package/dist/browser/surfaces/Skeleton.js.map +1 -0
- package/dist/browser/surfaces/index.js +1 -0
- package/dist/browser/surfaces/index.js.map +1 -1
- package/dist/browser/surfaces/resource-messages.js +2 -2
- package/dist/browser/surfaces/resource-messages.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +51 -27
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +67 -16
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/ViewTabs.js +8 -0
- package/dist/ssr/actions/ViewTabs.js.map +1 -1
- package/dist/ssr/actions/filter-messages.js +26 -2
- package/dist/ssr/actions/filter-messages.js.map +1 -1
- package/dist/ssr/actions/menu-rows.js +23 -3
- package/dist/ssr/actions/menu-rows.js.map +1 -1
- package/dist/ssr/actions/menu-sheet.js +2 -7
- package/dist/ssr/actions/menu-sheet.js.map +1 -1
- package/dist/ssr/chat/ChatComposer.js +96 -67
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/chat-messages.js +14 -0
- package/dist/ssr/chat/chat-messages.js.map +1 -1
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/content/Calendar.js +40 -31
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/CalendarDayView.js +40 -48
- package/dist/ssr/content/CalendarDayView.js.map +1 -1
- package/dist/ssr/content/Chart.js +27 -7
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/ChartExplorer.js +5 -3
- package/dist/ssr/content/ChartExplorer.js.map +1 -1
- package/dist/ssr/content/MapView.js +4 -4
- package/dist/ssr/content/MapView.js.map +1 -1
- package/dist/ssr/content/MessageRow.js +264 -91
- package/dist/ssr/content/MessageRow.js.map +1 -1
- package/dist/ssr/content/ReactionBar.js +17 -0
- package/dist/ssr/content/ReactionBar.js.map +1 -1
- package/dist/ssr/content/chart-inspection-core.js +4 -1
- package/dist/ssr/content/chart-inspection-core.js.map +1 -1
- package/dist/ssr/content/code-highlight.js +66 -0
- package/dist/ssr/content/code-highlight.js.map +1 -1
- package/dist/ssr/content/index.js +2 -1
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/content/map-view-types.js.map +1 -1
- package/dist/ssr/feedback/dialog-core.js +6 -0
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/inputs/AutocompleteEditor.js +64 -24
- package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
- package/dist/ssr/inputs/RichSelect.js +950 -0
- package/dist/ssr/inputs/RichSelect.js.map +1 -0
- package/dist/ssr/inputs/TextInput.js +44 -17
- package/dist/ssr/inputs/TextInput.js.map +1 -1
- package/dist/ssr/inputs/choice.js +19 -8
- package/dist/ssr/inputs/choice.js.map +1 -1
- package/dist/ssr/inputs/index.js +1 -0
- package/dist/ssr/inputs/index.js.map +1 -1
- package/dist/ssr/inputs/rich-select-messages.js +46 -0
- package/dist/ssr/inputs/rich-select-messages.js.map +1 -0
- package/dist/ssr/intl/shortcut-messages.js +4 -0
- package/dist/ssr/intl/shortcut-messages.js.map +1 -1
- package/dist/ssr/intl/shortcut.js +4 -0
- package/dist/ssr/intl/shortcut.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +166 -125
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/DetailPanel.js +1 -1
- package/dist/ssr/layout/DetailPanel.js.map +1 -1
- package/dist/ssr/layout/MobileShell.js +100 -20
- package/dist/ssr/layout/MobileShell.js.map +1 -1
- package/dist/ssr/layout/Navigation.js +1 -1
- package/dist/ssr/layout/Navigation.js.map +1 -1
- package/dist/ssr/layout/PageTitle.js +9 -3
- package/dist/ssr/layout/PageTitle.js.map +1 -1
- package/dist/ssr/layout/ResizeSeparator.js +4 -1
- package/dist/ssr/layout/ResizeSeparator.js.map +1 -1
- package/dist/ssr/layout/app-workspace-controller.js +192 -31
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/index.js +1 -0
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/layout/navigation-model.js.map +1 -1
- package/dist/ssr/layout/resize-separator.js +25 -1
- package/dist/ssr/layout/resize-separator.js.map +1 -1
- package/dist/ssr/layout/scroll-fade.js +32 -5
- package/dist/ssr/layout/scroll-fade.js.map +1 -1
- package/dist/ssr/surfaces/NoticeCard.js +21 -12
- package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
- package/dist/ssr/surfaces/Skeleton.js +8 -0
- package/dist/ssr/surfaces/Skeleton.js.map +1 -0
- package/dist/ssr/surfaces/index.js +1 -0
- package/dist/ssr/surfaces/index.js.map +1 -1
- package/dist/ssr/surfaces/resource-messages.js +2 -2
- package/dist/ssr/surfaces/resource-messages.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Dropdown.d.ts +14 -0
- package/dist/types/actions/FilterChip.d.ts +11 -0
- package/dist/types/actions/filter-messages.d.ts +12 -0
- package/dist/types/actions/menu-rows.d.ts +7 -2
- package/dist/types/chat/ChatComposer.d.ts +13 -0
- package/dist/types/chat/chat-messages.d.ts +7 -0
- package/dist/types/chat/index.d.ts +1 -1
- package/dist/types/content/Calendar.d.ts +7 -0
- package/dist/types/content/Chart.d.ts +4 -2
- package/dist/types/content/ChartExplorer.d.ts +0 -1
- package/dist/types/content/MessageRow.d.ts +64 -2
- package/dist/types/content/code-highlight.d.ts +3 -1
- package/dist/types/content/index.d.ts +3 -2
- package/dist/types/content/map-view-live.d.ts +1 -1
- package/dist/types/content/map-view-types.d.ts +2 -0
- package/dist/types/feedback/dialog-core.d.ts +3 -0
- package/dist/types/inputs/AutocompleteEditor.d.ts +6 -1
- package/dist/types/inputs/RichSelect.d.ts +93 -0
- package/dist/types/inputs/TextInput.d.ts +5 -2
- package/dist/types/inputs/choice.d.ts +24 -4
- package/dist/types/inputs/index.d.ts +2 -0
- package/dist/types/inputs/rich-select-messages.d.ts +21 -0
- package/dist/types/intl/shortcut-messages.d.ts +2 -0
- package/dist/types/layout/AppWorkspace.d.ts +9 -0
- package/dist/types/layout/DetailPanel.d.ts +2 -0
- package/dist/types/layout/MobileShell.d.ts +52 -5
- package/dist/types/layout/app-workspace-controller.d.ts +2 -0
- package/dist/types/layout/index.d.ts +2 -1
- package/dist/types/layout/navigation-model.d.ts +2 -0
- package/dist/types/layout/resize-separator.d.ts +1 -0
- package/dist/types/layout/scroll-fade.d.ts +5 -0
- package/dist/types/surfaces/NoticeCard.d.ts +3 -0
- package/dist/types/surfaces/Skeleton.d.ts +6 -0
- package/dist/types/surfaces/index.d.ts +1 -0
- package/package.json +4 -4
package/dist/base.css
CHANGED
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
--k2b-danger-text: light-dark(#b91c1c, #fca5a5);
|
|
65
65
|
/* light-dark() only takes colors, so the shadow switches with the theme attribute. */
|
|
66
66
|
--k2b-shadow-float: 0 18px 48px rgb(9 9 11 / 0.18);
|
|
67
|
+
--k2b-shadow-side: -14px 0 36px rgb(9 9 11 / 0.16);
|
|
67
68
|
/* What an inspected mark's color mixes with: darker in light, lighter in dark. */
|
|
68
69
|
--k2b-chart-highlight-mix: light-dark(black, white);
|
|
69
70
|
}
|
|
@@ -71,6 +72,7 @@
|
|
|
71
72
|
:root[data-theme="dark"] {
|
|
72
73
|
color-scheme: dark;
|
|
73
74
|
--k2b-shadow-float: 0 22px 56px rgb(0 0 0 / 0.52);
|
|
75
|
+
--k2b-shadow-side: -16px 0 40px rgb(0 0 0 / 0.5);
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
*,
|
|
@@ -3,8 +3,8 @@ import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
|
3
3
|
import { style as _$style } from "solid-js/web";
|
|
4
4
|
import { use as _$use } from "solid-js/web";
|
|
5
5
|
import { spread as _$spread } from "solid-js/web";
|
|
6
|
-
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
7
6
|
import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
|
|
7
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
8
8
|
import { setProperty as _$setProperty } from "solid-js/web";
|
|
9
9
|
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
10
10
|
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
@@ -21,15 +21,17 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-dropdown__copy><span></spa
|
|
|
21
21
|
_tmpl$4 = /*#__PURE__*/_$template(`<small>`),
|
|
22
22
|
_tmpl$5 = /*#__PURE__*/_$template(`<button type=button role=menuitem tabindex=-1>`),
|
|
23
23
|
_tmpl$6 = /*#__PURE__*/_$template(`<a role=menuitem tabindex=-1>`),
|
|
24
|
-
_tmpl$7 = /*#__PURE__*/_$template(`<
|
|
25
|
-
_tmpl$8 = /*#__PURE__*/_$template(`<
|
|
26
|
-
_tmpl$9 = /*#__PURE__*/_$template(`<
|
|
27
|
-
_tmpl$0 = /*#__PURE__*/_$template(`<
|
|
28
|
-
_tmpl$1 = /*#__PURE__*/_$template(`<
|
|
29
|
-
_tmpl$10 = /*#__PURE__*/_$template(`<div class=k2b-
|
|
30
|
-
_tmpl$11 = /*#__PURE__*/_$template(`<div class=k2b-
|
|
31
|
-
_tmpl$12 = /*#__PURE__*/_$template(`<
|
|
32
|
-
_tmpl$13 = /*#__PURE__*/_$template(`<
|
|
24
|
+
_tmpl$7 = /*#__PURE__*/_$template(`<div class=k2b-dropdown__pair><!$><!/><!$><!/>`),
|
|
25
|
+
_tmpl$8 = /*#__PURE__*/_$template(`<i class="ti ti-check">`),
|
|
26
|
+
_tmpl$9 = /*#__PURE__*/_$template(`<span class=k2b-dropdown__checkbox aria-hidden=true>`),
|
|
27
|
+
_tmpl$0 = /*#__PURE__*/_$template(`<i class="ti ti-check k2b-dropdown__check"aria-hidden=true>`),
|
|
28
|
+
_tmpl$1 = /*#__PURE__*/_$template(`<span class=k2b-dropdown__color aria-hidden=true>`),
|
|
29
|
+
_tmpl$10 = /*#__PURE__*/_$template(`<div class=k2b-dropdown__row>`),
|
|
30
|
+
_tmpl$11 = /*#__PURE__*/_$template(`<div class=k2b-dropdown__section role=group><!$><!/><!$><!/>`),
|
|
31
|
+
_tmpl$12 = /*#__PURE__*/_$template(`<div class=k2b-dropdown__label>`),
|
|
32
|
+
_tmpl$13 = /*#__PURE__*/_$template(`<div class="k2b-dropdown__label k2b-dropdown__label--action"><span></span><!$><!/>`),
|
|
33
|
+
_tmpl$14 = /*#__PURE__*/_$template(`<button>`),
|
|
34
|
+
_tmpl$15 = /*#__PURE__*/_$template(`<span><!$><!/><div popover=auto role=menu>`);
|
|
33
35
|
import { createContext, createEffect, createSignal, createUniqueId, For, onCleanup, onMount, Show, splitProps, useContext } from "solid-js";
|
|
34
36
|
import { Dynamic } from "solid-js/web";
|
|
35
37
|
import { Tooltip, useLabelTooltip } from "../feedback/Tooltip";
|
|
@@ -37,19 +39,21 @@ import { returnFocus, ringOnReturn } from "../internal/focus-return";
|
|
|
37
39
|
import { useLocale } from "../intl/locale";
|
|
38
40
|
import { useUiMessages } from "../intl/messages";
|
|
39
41
|
import { Button, iconTitle } from "./Button";
|
|
40
|
-
import { focusRowSegment } from "./menu-rows";
|
|
42
|
+
import { focusMenuRow, focusRowSegment } from "./menu-rows";
|
|
41
43
|
import { openMenuSheet, prefersMenuSheet } from "./menu-sheet";
|
|
42
44
|
|
|
43
45
|
// Resolved outside JSX: a conditional attribute compiles to a lazy memo, which would be created inside the click handler.
|
|
44
46
|
const selectAction = item => item.action;
|
|
45
47
|
|
|
48
|
+
/** A second, smaller action at the end of a row, such as "Only" beside a checkbox; it keeps the menu open. */
|
|
49
|
+
|
|
46
50
|
/** Declarative radio or checkbox row for compact action menus. */
|
|
47
51
|
|
|
48
52
|
const MenuContext = createContext();
|
|
49
53
|
const DropdownContext = createContext();
|
|
50
54
|
const actionableItems = menu => menu ? Array.from(menu.querySelectorAll(["[role='menuitem']:not([aria-disabled='true'])", "[role='menuitemcheckbox']:not([aria-disabled='true'])", "[role='menuitemradio']:not([aria-disabled='true'])"].join(", "))) : [];
|
|
51
55
|
const focusMenuItem = (menu, index) => {
|
|
52
|
-
const items = actionableItems(menu);
|
|
56
|
+
const items = actionableItems(menu).filter(item => !item.classList.contains("k2b-dropdown__secondary"));
|
|
53
57
|
if (items.length === 0) return;
|
|
54
58
|
items[(index + items.length) % items.length]?.focus();
|
|
55
59
|
};
|
|
@@ -188,6 +192,51 @@ export function DropdownItem(props) {
|
|
|
188
192
|
});
|
|
189
193
|
}
|
|
190
194
|
function DropdownChoiceItem(props) {
|
|
195
|
+
return _$createComponent(Show, {
|
|
196
|
+
get when() {
|
|
197
|
+
return props.secondary;
|
|
198
|
+
},
|
|
199
|
+
get fallback() {
|
|
200
|
+
return _$createComponent(DropdownChoiceRow, props);
|
|
201
|
+
},
|
|
202
|
+
children: secondary => (() => {
|
|
203
|
+
var _el$0 = _$getNextElement(_tmpl$7),
|
|
204
|
+
_el$1 = _el$0.firstChild,
|
|
205
|
+
[_el$10, _co$2] = _$getNextMarker(_el$1.nextSibling),
|
|
206
|
+
_el$11 = _el$10.nextSibling,
|
|
207
|
+
[_el$12, _co$3] = _$getNextMarker(_el$11.nextSibling);
|
|
208
|
+
_$insert(_el$0, _$createComponent(DropdownChoiceRow, props), _el$10, _co$2);
|
|
209
|
+
_$insert(_el$0, _$createComponent(DropdownSecondaryButton, _$mergeProps(secondary, {
|
|
210
|
+
"class": "k2b-dropdown__secondary"
|
|
211
|
+
})), _el$12, _co$3);
|
|
212
|
+
return _el$0;
|
|
213
|
+
})()
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function DropdownSecondaryButton(props) {
|
|
217
|
+
return (() => {
|
|
218
|
+
var _el$13 = _$getNextElement(_tmpl$5);
|
|
219
|
+
_el$13.$$click = event => {
|
|
220
|
+
event.preventDefault();
|
|
221
|
+
event.stopPropagation();
|
|
222
|
+
props.action();
|
|
223
|
+
};
|
|
224
|
+
_$insert(_el$13, () => props.label);
|
|
225
|
+
_$effect(_p$ => {
|
|
226
|
+
var _v$10 = props.class,
|
|
227
|
+
_v$11 = props.ariaLabel;
|
|
228
|
+
_v$10 !== _p$.e && _$className(_el$13, _p$.e = _v$10);
|
|
229
|
+
_v$11 !== _p$.t && _$setAttribute(_el$13, "aria-label", _p$.t = _v$11);
|
|
230
|
+
return _p$;
|
|
231
|
+
}, {
|
|
232
|
+
e: undefined,
|
|
233
|
+
t: undefined
|
|
234
|
+
});
|
|
235
|
+
_$runHydrationEvents();
|
|
236
|
+
return _el$13;
|
|
237
|
+
})();
|
|
238
|
+
}
|
|
239
|
+
function DropdownChoiceRow(props) {
|
|
191
240
|
const menu = useContext(MenuContext);
|
|
192
241
|
const checked = () => typeof props.checked === "function" ? props.checked() : props.checked;
|
|
193
242
|
let element;
|
|
@@ -248,16 +297,16 @@ function DropdownChoiceItem(props) {
|
|
|
248
297
|
return props.choice === "checkbox";
|
|
249
298
|
},
|
|
250
299
|
get children() {
|
|
251
|
-
var _el$
|
|
252
|
-
_$insert(_el$
|
|
300
|
+
var _el$14 = _$getNextElement(_tmpl$9);
|
|
301
|
+
_$insert(_el$14, _$createComponent(Show, {
|
|
253
302
|
get when() {
|
|
254
303
|
return checked();
|
|
255
304
|
},
|
|
256
305
|
get children() {
|
|
257
|
-
return _$getNextElement(_tmpl$
|
|
306
|
+
return _$getNextElement(_tmpl$8);
|
|
258
307
|
}
|
|
259
308
|
}));
|
|
260
|
-
return _el$
|
|
309
|
+
return _el$14;
|
|
261
310
|
}
|
|
262
311
|
}), _$createComponent(Show, {
|
|
263
312
|
get when() {
|
|
@@ -269,51 +318,51 @@ function DropdownChoiceItem(props) {
|
|
|
269
318
|
return props.icon;
|
|
270
319
|
},
|
|
271
320
|
children: icon => (() => {
|
|
272
|
-
var _el$
|
|
273
|
-
_$effect(() => _$className(_el$
|
|
274
|
-
return _el$
|
|
321
|
+
var _el$21 = _$getNextElement(_tmpl$2);
|
|
322
|
+
_$effect(() => _$className(_el$21, icon()));
|
|
323
|
+
return _el$21;
|
|
275
324
|
})()
|
|
276
325
|
});
|
|
277
326
|
},
|
|
278
327
|
children: image => (() => {
|
|
279
|
-
var _el$
|
|
280
|
-
_$effect(() => _$setAttribute(_el$
|
|
281
|
-
return _el$
|
|
328
|
+
var _el$22 = _$getNextElement(_tmpl$3);
|
|
329
|
+
_$effect(() => _$setAttribute(_el$22, "src", image()));
|
|
330
|
+
return _el$22;
|
|
282
331
|
})()
|
|
283
332
|
}), _$createComponent(Show, {
|
|
284
333
|
get when() {
|
|
285
334
|
return props.color;
|
|
286
335
|
},
|
|
287
336
|
children: color => (() => {
|
|
288
|
-
var _el$
|
|
289
|
-
_$effect(_$p => _$setStyleProperty(_el$
|
|
290
|
-
return _el$
|
|
337
|
+
var _el$23 = _$getNextElement(_tmpl$1);
|
|
338
|
+
_$effect(_$p => _$setStyleProperty(_el$23, "--k2b-dropdown-color", color()));
|
|
339
|
+
return _el$23;
|
|
291
340
|
})()
|
|
292
341
|
}), (() => {
|
|
293
|
-
var _el$
|
|
294
|
-
_el$
|
|
295
|
-
_el$
|
|
296
|
-
[_el$
|
|
297
|
-
_$insert(_el$
|
|
298
|
-
_$insert(_el$
|
|
342
|
+
var _el$16 = _$getNextElement(_tmpl$),
|
|
343
|
+
_el$17 = _el$16.firstChild,
|
|
344
|
+
_el$18 = _el$17.nextSibling,
|
|
345
|
+
[_el$19, _co$4] = _$getNextMarker(_el$18.nextSibling);
|
|
346
|
+
_$insert(_el$17, () => props.label);
|
|
347
|
+
_$insert(_el$16, _$createComponent(Show, {
|
|
299
348
|
get when() {
|
|
300
349
|
return props.description;
|
|
301
350
|
},
|
|
302
351
|
children: description => (() => {
|
|
303
|
-
var _el$
|
|
304
|
-
_$insert(_el$
|
|
305
|
-
return _el$
|
|
352
|
+
var _el$24 = _$getNextElement(_tmpl$4);
|
|
353
|
+
_$insert(_el$24, description);
|
|
354
|
+
return _el$24;
|
|
306
355
|
})()
|
|
307
|
-
}), _el$
|
|
308
|
-
return _el$
|
|
356
|
+
}), _el$19, _co$4);
|
|
357
|
+
return _el$16;
|
|
309
358
|
})(), _$memo(() => props.trailing), _$createComponent(Show, {
|
|
310
359
|
get when() {
|
|
311
360
|
return props.choice === "radio";
|
|
312
361
|
},
|
|
313
362
|
get children() {
|
|
314
|
-
var _el$
|
|
315
|
-
_$effect(() => _$setAttribute(_el$
|
|
316
|
-
return _el$
|
|
363
|
+
var _el$20 = _$getNextElement(_tmpl$0);
|
|
364
|
+
_$effect(() => _$setAttribute(_el$20, "data-hidden", checked() ? undefined : "true"));
|
|
365
|
+
return _el$20;
|
|
317
366
|
}
|
|
318
367
|
})];
|
|
319
368
|
}
|
|
@@ -381,22 +430,40 @@ export function DropdownItems(props) {
|
|
|
381
430
|
return renderItem(item);
|
|
382
431
|
},
|
|
383
432
|
get children() {
|
|
384
|
-
var _el$
|
|
385
|
-
_el$
|
|
386
|
-
[_el$
|
|
387
|
-
_el$
|
|
388
|
-
[_el$
|
|
389
|
-
_$insert(_el$
|
|
433
|
+
var _el$25 = _$getNextElement(_tmpl$11),
|
|
434
|
+
_el$27 = _el$25.firstChild,
|
|
435
|
+
[_el$28, _co$5] = _$getNextMarker(_el$27.nextSibling),
|
|
436
|
+
_el$29 = _el$28.nextSibling,
|
|
437
|
+
[_el$30, _co$6] = _$getNextMarker(_el$29.nextSibling);
|
|
438
|
+
_$insert(_el$25, _$createComponent(Show, {
|
|
390
439
|
get when() {
|
|
391
440
|
return item.sectionLabel;
|
|
392
441
|
},
|
|
393
|
-
children: label => (
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
442
|
+
children: label => _$createComponent(Show, {
|
|
443
|
+
get when() {
|
|
444
|
+
return item.labelAction;
|
|
445
|
+
},
|
|
446
|
+
get fallback() {
|
|
447
|
+
return (() => {
|
|
448
|
+
var _el$31 = _$getNextElement(_tmpl$12);
|
|
449
|
+
_$insert(_el$31, label);
|
|
450
|
+
return _el$31;
|
|
451
|
+
})();
|
|
452
|
+
},
|
|
453
|
+
children: action => (() => {
|
|
454
|
+
var _el$32 = _$getNextElement(_tmpl$13),
|
|
455
|
+
_el$33 = _el$32.firstChild,
|
|
456
|
+
_el$34 = _el$33.nextSibling,
|
|
457
|
+
[_el$35, _co$7] = _$getNextMarker(_el$34.nextSibling);
|
|
458
|
+
_$insert(_el$33, label);
|
|
459
|
+
_$insert(_el$32, _$createComponent(DropdownSecondaryButton, _$mergeProps(action, {
|
|
460
|
+
"class": "k2b-dropdown__label-action"
|
|
461
|
+
})), _el$35, _co$7);
|
|
462
|
+
return _el$32;
|
|
463
|
+
})()
|
|
464
|
+
})
|
|
465
|
+
}), _el$28, _co$5);
|
|
466
|
+
_$insert(_el$25, _$createComponent(Show, {
|
|
400
467
|
get when() {
|
|
401
468
|
return item.layout === "row";
|
|
402
469
|
},
|
|
@@ -409,27 +476,27 @@ export function DropdownItems(props) {
|
|
|
409
476
|
});
|
|
410
477
|
},
|
|
411
478
|
get children() {
|
|
412
|
-
var _el$
|
|
413
|
-
_$insert(_el$
|
|
479
|
+
var _el$26 = _$getNextElement(_tmpl$10);
|
|
480
|
+
_$insert(_el$26, _$createComponent(For, {
|
|
414
481
|
get each() {
|
|
415
482
|
return item.items;
|
|
416
483
|
},
|
|
417
484
|
children: renderItem
|
|
418
485
|
}));
|
|
419
|
-
return _el$
|
|
486
|
+
return _el$26;
|
|
420
487
|
}
|
|
421
|
-
}), _el$
|
|
488
|
+
}), _el$30, _co$6);
|
|
422
489
|
_$effect(_p$ => {
|
|
423
|
-
var _v$
|
|
424
|
-
_v$
|
|
425
|
-
_v$
|
|
426
|
-
_v$
|
|
490
|
+
var _v$12 = index() > 0 ? "true" : undefined,
|
|
491
|
+
_v$13 = item.sectionLabel ?? (item.layout === "row" ? undefined : messages().actions);
|
|
492
|
+
_v$12 !== _p$.e && _$setAttribute(_el$25, "data-divided", _p$.e = _v$12);
|
|
493
|
+
_v$13 !== _p$.t && _$setAttribute(_el$25, "aria-label", _p$.t = _v$13);
|
|
427
494
|
return _p$;
|
|
428
495
|
}, {
|
|
429
496
|
e: undefined,
|
|
430
497
|
t: undefined
|
|
431
498
|
});
|
|
432
|
-
return _el$
|
|
499
|
+
return _el$25;
|
|
433
500
|
}
|
|
434
501
|
})
|
|
435
502
|
});
|
|
@@ -506,9 +573,9 @@ function DropdownTrigger(props) {
|
|
|
506
573
|
}));
|
|
507
574
|
}
|
|
508
575
|
return [(() => {
|
|
509
|
-
var _el$
|
|
510
|
-
_$use(register, _el$
|
|
511
|
-
_$spread(_el$
|
|
576
|
+
var _el$36 = _$getNextElement(_tmpl$14);
|
|
577
|
+
_$use(register, _el$36);
|
|
578
|
+
_$spread(_el$36, _$mergeProps(rest, {
|
|
512
579
|
get ["aria-controls"]() {
|
|
513
580
|
return context.menuId;
|
|
514
581
|
},
|
|
@@ -539,9 +606,9 @@ function DropdownTrigger(props) {
|
|
|
539
606
|
return iconTitle(local.title, tooltip());
|
|
540
607
|
}
|
|
541
608
|
}), false, true);
|
|
542
|
-
_$insert(_el$
|
|
609
|
+
_$insert(_el$36, () => local.children);
|
|
543
610
|
_$runHydrationEvents();
|
|
544
|
-
return _el$
|
|
611
|
+
return _el$36;
|
|
545
612
|
})(), _$createComponent(Show, {
|
|
546
613
|
get when() {
|
|
547
614
|
return _$memo(() => tooltip() !== false)() && tooltip() !== undefined;
|
|
@@ -667,15 +734,8 @@ function DropdownRoot(props) {
|
|
|
667
734
|
};
|
|
668
735
|
const handleMenuKeyDown = event => {
|
|
669
736
|
const items = actionableItems(menuRef);
|
|
670
|
-
|
|
671
|
-
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
672
|
-
event.preventDefault();
|
|
673
|
-
focusMenuItem(menuRef, current + (event.key === "ArrowDown" ? 1 : -1));
|
|
674
|
-
} else if (focusRowSegment(items, event.key)) {
|
|
675
|
-
event.preventDefault();
|
|
676
|
-
} else if (event.key === "Home" || event.key === "End") {
|
|
737
|
+
if (focusMenuRow(items, event.key) || focusRowSegment(items, event.key)) {
|
|
677
738
|
event.preventDefault();
|
|
678
|
-
focusMenuItem(menuRef, event.key === "Home" ? 0 : -1);
|
|
679
739
|
} else if (event.key === "Escape") {
|
|
680
740
|
event.preventDefault();
|
|
681
741
|
returnFocus(triggerRef, triggerRing);
|
|
@@ -725,12 +785,12 @@ function DropdownRoot(props) {
|
|
|
725
785
|
return _$createComponent(DropdownContext.Provider, {
|
|
726
786
|
value: context,
|
|
727
787
|
get children() {
|
|
728
|
-
var _el$
|
|
729
|
-
_el$
|
|
730
|
-
[_el$
|
|
731
|
-
_el$
|
|
732
|
-
_$insert(_el$
|
|
733
|
-
_el$
|
|
788
|
+
var _el$37 = _$getNextElement(_tmpl$15),
|
|
789
|
+
_el$39 = _el$37.firstChild,
|
|
790
|
+
[_el$40, _co$8] = _$getNextMarker(_el$39.nextSibling),
|
|
791
|
+
_el$38 = _el$40.nextSibling;
|
|
792
|
+
_$insert(_el$37, () => props.children, _el$40, _co$8);
|
|
793
|
+
_el$38.addEventListener("toggle", event => {
|
|
734
794
|
const nextOpen = event.newState === "open";
|
|
735
795
|
const wasOpen = event.oldState === "open";
|
|
736
796
|
setInternalOpen(nextOpen);
|
|
@@ -739,33 +799,33 @@ function DropdownRoot(props) {
|
|
|
739
799
|
if (wasOpen && !nextOpen) props.onClose?.();
|
|
740
800
|
if (!nextOpen && props.open === true) queueMicrotask(() => props.open === true && open(false));
|
|
741
801
|
});
|
|
742
|
-
_el$
|
|
802
|
+
_el$38.$$keydown = handleMenuKeyDown;
|
|
743
803
|
var _ref$ = menuRef;
|
|
744
|
-
typeof _ref$ === "function" ? _$use(_ref$, _el$
|
|
745
|
-
_$setAttribute(_el$
|
|
746
|
-
_$insert(_el$
|
|
804
|
+
typeof _ref$ === "function" ? _$use(_ref$, _el$38) : menuRef = _el$38;
|
|
805
|
+
_$setAttribute(_el$38, "id", menuId);
|
|
806
|
+
_$insert(_el$38, _$createComponent(DropdownItems, {
|
|
747
807
|
get items() {
|
|
748
808
|
return props.items;
|
|
749
809
|
},
|
|
750
810
|
close: close
|
|
751
811
|
}));
|
|
752
812
|
_$effect(_p$ => {
|
|
753
|
-
var _v$
|
|
754
|
-
_v$
|
|
755
|
-
_v$
|
|
756
|
-
_v$
|
|
813
|
+
var _v$14 = `k2b-dropdown ${props.class ?? ""}`,
|
|
814
|
+
_v$15 = props.label ?? messages().dropdownMenu,
|
|
815
|
+
_v$16 = `k2b-dropdown__menu ${props.menuClass ?? ""}`,
|
|
816
|
+
_v$17 = props.width ? {
|
|
757
817
|
"--k2b-dropdown-width": props.width
|
|
758
818
|
} : undefined,
|
|
759
|
-
_v$
|
|
760
|
-
_v$
|
|
761
|
-
_v$
|
|
762
|
-
_v$
|
|
763
|
-
_v$
|
|
764
|
-
_v$
|
|
765
|
-
_p$.o = _$style(_el$
|
|
766
|
-
_v$
|
|
767
|
-
_v$
|
|
768
|
-
_v$
|
|
819
|
+
_v$18 = props.width ? "fixed" : undefined,
|
|
820
|
+
_v$19 = props.variant ?? "default",
|
|
821
|
+
_v$20 = position();
|
|
822
|
+
_v$14 !== _p$.e && _$className(_el$37, _p$.e = _v$14);
|
|
823
|
+
_v$15 !== _p$.t && _$setAttribute(_el$38, "aria-label", _p$.t = _v$15);
|
|
824
|
+
_v$16 !== _p$.a && _$className(_el$38, _p$.a = _v$16);
|
|
825
|
+
_p$.o = _$style(_el$38, _v$17, _p$.o);
|
|
826
|
+
_v$18 !== _p$.i && _$setAttribute(_el$38, "data-width", _p$.i = _v$18);
|
|
827
|
+
_v$19 !== _p$.n && _$setAttribute(_el$38, "data-variant", _p$.n = _v$19);
|
|
828
|
+
_v$20 !== _p$.s && _$setAttribute(_el$38, "data-position", _p$.s = _v$20);
|
|
769
829
|
return _p$;
|
|
770
830
|
}, {
|
|
771
831
|
e: undefined,
|
|
@@ -777,7 +837,7 @@ function DropdownRoot(props) {
|
|
|
777
837
|
s: undefined
|
|
778
838
|
});
|
|
779
839
|
_$runHydrationEvents();
|
|
780
|
-
return _el$
|
|
840
|
+
return _el$37;
|
|
781
841
|
}
|
|
782
842
|
});
|
|
783
843
|
}
|