@k2b/ui 0.51.0 → 0.52.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 +3 -0
- package/dist/browser/actions/Toolbar.js +8 -2
- package/dist/browser/actions/Toolbar.js.map +1 -1
- package/dist/browser/charts/core/bar-labels.js +5 -0
- package/dist/browser/charts/core/bar-labels.js.map +1 -0
- package/dist/browser/charts/core/bubble.js +166 -0
- package/dist/browser/charts/core/bubble.js.map +1 -0
- package/dist/browser/charts/core/default-styles.js +83 -0
- package/dist/browser/charts/core/default-styles.js.map +1 -0
- package/dist/browser/charts/core/funnel-layout.js +79 -0
- package/dist/browser/charts/core/funnel-layout.js.map +1 -0
- package/dist/browser/charts/core/funnel.js +27 -0
- package/dist/browser/charts/core/funnel.js.map +1 -0
- package/dist/browser/charts/core/index.js +6 -1
- package/dist/browser/charts/core/index.js.map +1 -1
- package/dist/browser/charts/core/pareto.js +120 -0
- package/dist/browser/charts/core/pareto.js.map +1 -0
- package/dist/browser/charts/core/radar.js +101 -0
- package/dist/browser/charts/core/radar.js.map +1 -0
- package/dist/browser/charts/core/registry.js +11 -1
- package/dist/browser/charts/core/registry.js.map +1 -1
- package/dist/browser/charts/core/render-size.js +3 -1
- package/dist/browser/charts/core/render-size.js.map +1 -1
- package/dist/browser/charts/core/render.js +19 -0
- package/dist/browser/charts/core/render.js.map +1 -1
- package/dist/browser/charts/core/snapshot.js +1 -1
- package/dist/browser/charts/core/snapshot.js.map +1 -1
- package/dist/browser/charts/core/svg-barGauge.js +67 -0
- package/dist/browser/charts/core/svg-barGauge.js.map +1 -0
- package/dist/browser/charts/core/svg-boxplot.js +127 -0
- package/dist/browser/charts/core/svg-boxplot.js.map +1 -0
- package/dist/browser/charts/core/svg-common.js +1065 -0
- package/dist/browser/charts/core/svg-common.js.map +1 -0
- package/dist/browser/charts/core/svg-gauge.js +185 -0
- package/dist/browser/charts/core/svg-gauge.js.map +1 -0
- package/dist/browser/charts/core/svg-heatmap.js +80 -0
- package/dist/browser/charts/core/svg-heatmap.js.map +1 -0
- package/dist/browser/charts/core/svg-histogram.js +73 -0
- package/dist/browser/charts/core/svg-histogram.js.map +1 -0
- package/dist/browser/charts/core/svg-renderers.js +9 -1777
- package/dist/browser/charts/core/svg-renderers.js.map +1 -1
- package/dist/browser/charts/core/svg-scatter.js +114 -0
- package/dist/browser/charts/core/svg-scatter.js.map +1 -0
- package/dist/browser/charts/core/treemap.js +138 -0
- package/dist/browser/charts/core/treemap.js.map +1 -0
- package/dist/browser/charts/description.js.map +1 -1
- package/dist/browser/content/ChartRoot.js +21 -7
- package/dist/browser/content/ChartRoot.js.map +1 -1
- package/dist/browser/content/ChartSnapshotView.js +4 -1
- package/dist/browser/content/ChartSnapshotView.js.map +1 -1
- package/dist/browser/content/DataTable.js +186 -193
- package/dist/browser/content/DataTable.js.map +1 -1
- package/dist/browser/content/Lightbox.js +55 -23
- package/dist/browser/content/Lightbox.js.map +1 -1
- package/dist/browser/content/ThumbnailStrip.js +174 -0
- package/dist/browser/content/ThumbnailStrip.js.map +1 -0
- package/dist/browser/content/chart-bar.js +98 -0
- package/dist/browser/content/chart-bar.js.map +1 -1
- package/dist/browser/content/chart-inspection-core.js +28 -8
- package/dist/browser/content/chart-inspection-core.js.map +1 -1
- package/dist/browser/content/chart-message-catalog.js +18 -0
- package/dist/browser/content/chart-message-catalog.js.map +1 -1
- package/dist/browser/content/index.js +1 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/content/thumbnail-strip-messages.js +24 -0
- package/dist/browser/content/thumbnail-strip-messages.js.map +1 -0
- package/dist/browser/inputs/ChoiceInputs.js +132 -101
- package/dist/browser/inputs/ChoiceInputs.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/markdown/MarkdownSelectionToolbar.js +330 -0
- package/dist/browser/inputs/markdown/MarkdownSelectionToolbar.js.map +1 -0
- package/dist/browser/internal/field.js +96 -77
- package/dist/browser/internal/field.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +7 -5
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/PanelDialog.js +92 -68
- package/dist/browser/layout/PanelDialog.js.map +1 -1
- package/dist/browser/surfaces/StatCell.js +82 -70
- package/dist/browser/surfaces/StatCell.js.map +1 -1
- package/dist/browser/surfaces/stat-cell-messages.js +4 -2
- package/dist/browser/surfaces/stat-cell-messages.js.map +1 -1
- package/dist/browser/widgets/DashboardFrame.js +93 -88
- package/dist/browser/widgets/DashboardFrame.js.map +1 -1
- package/dist/ssr/actions/Toolbar.js +8 -2
- package/dist/ssr/actions/Toolbar.js.map +1 -1
- package/dist/ssr/charts/core/bar-labels.js +5 -0
- package/dist/ssr/charts/core/bar-labels.js.map +1 -0
- package/dist/ssr/charts/core/bubble.js +166 -0
- package/dist/ssr/charts/core/bubble.js.map +1 -0
- package/dist/ssr/charts/core/default-styles.js +83 -0
- package/dist/ssr/charts/core/default-styles.js.map +1 -0
- package/dist/ssr/charts/core/funnel-layout.js +79 -0
- package/dist/ssr/charts/core/funnel-layout.js.map +1 -0
- package/dist/ssr/charts/core/funnel.js +27 -0
- package/dist/ssr/charts/core/funnel.js.map +1 -0
- package/dist/ssr/charts/core/index.js +6 -1
- package/dist/ssr/charts/core/index.js.map +1 -1
- package/dist/ssr/charts/core/pareto.js +120 -0
- package/dist/ssr/charts/core/pareto.js.map +1 -0
- package/dist/ssr/charts/core/radar.js +101 -0
- package/dist/ssr/charts/core/radar.js.map +1 -0
- package/dist/ssr/charts/core/registry.js +11 -1
- package/dist/ssr/charts/core/registry.js.map +1 -1
- package/dist/ssr/charts/core/render-size.js +3 -1
- package/dist/ssr/charts/core/render-size.js.map +1 -1
- package/dist/ssr/charts/core/render.js +19 -0
- package/dist/ssr/charts/core/render.js.map +1 -1
- package/dist/ssr/charts/core/snapshot.js +1 -1
- package/dist/ssr/charts/core/snapshot.js.map +1 -1
- package/dist/ssr/charts/core/svg-barGauge.js +67 -0
- package/dist/ssr/charts/core/svg-barGauge.js.map +1 -0
- package/dist/ssr/charts/core/svg-boxplot.js +127 -0
- package/dist/ssr/charts/core/svg-boxplot.js.map +1 -0
- package/dist/ssr/charts/core/svg-common.js +1065 -0
- package/dist/ssr/charts/core/svg-common.js.map +1 -0
- package/dist/ssr/charts/core/svg-gauge.js +185 -0
- package/dist/ssr/charts/core/svg-gauge.js.map +1 -0
- package/dist/ssr/charts/core/svg-heatmap.js +80 -0
- package/dist/ssr/charts/core/svg-heatmap.js.map +1 -0
- package/dist/ssr/charts/core/svg-histogram.js +73 -0
- package/dist/ssr/charts/core/svg-histogram.js.map +1 -0
- package/dist/ssr/charts/core/svg-renderers.js +9 -1777
- package/dist/ssr/charts/core/svg-renderers.js.map +1 -1
- package/dist/ssr/charts/core/svg-scatter.js +114 -0
- package/dist/ssr/charts/core/svg-scatter.js.map +1 -0
- package/dist/ssr/charts/core/treemap.js +138 -0
- package/dist/ssr/charts/core/treemap.js.map +1 -0
- package/dist/ssr/charts/description.js.map +1 -1
- package/dist/ssr/content/ChartRoot.js +21 -7
- package/dist/ssr/content/ChartRoot.js.map +1 -1
- package/dist/ssr/content/ChartSnapshotView.js +1 -0
- package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
- package/dist/ssr/content/DataTable.js +12 -16
- package/dist/ssr/content/DataTable.js.map +1 -1
- package/dist/ssr/content/Lightbox.js +32 -3
- package/dist/ssr/content/Lightbox.js.map +1 -1
- package/dist/ssr/content/ThumbnailStrip.js +103 -0
- package/dist/ssr/content/ThumbnailStrip.js.map +1 -0
- package/dist/ssr/content/chart-bar.js +98 -0
- package/dist/ssr/content/chart-bar.js.map +1 -1
- package/dist/ssr/content/chart-inspection-core.js +28 -8
- package/dist/ssr/content/chart-inspection-core.js.map +1 -1
- package/dist/ssr/content/chart-message-catalog.js +18 -0
- package/dist/ssr/content/chart-message-catalog.js.map +1 -1
- package/dist/ssr/content/index.js +1 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/content/thumbnail-strip-messages.js +24 -0
- package/dist/ssr/content/thumbnail-strip-messages.js.map +1 -0
- package/dist/ssr/inputs/ChoiceInputs.js +55 -40
- package/dist/ssr/inputs/ChoiceInputs.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/markdown/MarkdownSelectionToolbar.js +293 -0
- package/dist/ssr/inputs/markdown/MarkdownSelectionToolbar.js.map +1 -0
- package/dist/ssr/internal/field.js +36 -24
- package/dist/ssr/internal/field.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +5 -1
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/PanelDialog.js +40 -26
- package/dist/ssr/layout/PanelDialog.js.map +1 -1
- package/dist/ssr/surfaces/StatCell.js +29 -18
- package/dist/ssr/surfaces/StatCell.js.map +1 -1
- package/dist/ssr/surfaces/stat-cell-messages.js +4 -2
- package/dist/ssr/surfaces/stat-cell-messages.js.map +1 -1
- package/dist/ssr/widgets/DashboardFrame.js +6 -11
- package/dist/ssr/widgets/DashboardFrame.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Toolbar.d.ts +2 -0
- package/dist/types/charts/core/bar-labels.d.ts +1 -0
- package/dist/types/charts/core/bubble.d.ts +66 -0
- package/dist/types/charts/core/default-styles.d.ts +1 -0
- package/dist/types/charts/core/funnel-layout.d.ts +43 -0
- package/dist/types/charts/core/funnel.d.ts +13 -0
- package/dist/types/charts/core/index.d.ts +6 -1
- package/dist/types/charts/core/pareto.d.ts +40 -0
- package/dist/types/charts/core/radar.d.ts +47 -0
- package/dist/types/charts/core/registry.d.ts +10 -0
- package/dist/types/charts/core/render-size.d.ts +1 -1
- package/dist/types/charts/core/svg-barGauge.d.ts +3 -0
- package/dist/types/charts/core/svg-boxplot.d.ts +18 -0
- package/dist/types/charts/core/svg-common.d.ts +612 -0
- package/dist/types/charts/core/svg-gauge.d.ts +6 -0
- package/dist/types/charts/core/svg-heatmap.d.ts +6 -0
- package/dist/types/charts/core/svg-histogram.d.ts +16 -0
- package/dist/types/charts/core/svg-renderers.d.ts +8 -612
- package/dist/types/charts/core/svg-scatter.d.ts +23 -0
- package/dist/types/charts/core/treemap.d.ts +45 -0
- package/dist/types/charts/description.d.ts +63 -0
- package/dist/types/content/ChartRoot.d.ts +1 -1
- package/dist/types/content/Lightbox.d.ts +2 -0
- package/dist/types/content/ThumbnailStrip.d.ts +29 -0
- package/dist/types/content/chart-bar.d.ts +38 -2
- package/dist/types/content/chart-inspection-core.d.ts +7 -0
- package/dist/types/content/chart-inspection.d.ts +1 -0
- package/dist/types/content/chart-message-catalog.d.ts +8 -0
- package/dist/types/content/index.d.ts +1 -0
- package/dist/types/content/thumbnail-strip-messages.d.ts +10 -0
- package/dist/types/inputs/ChoiceInputs.d.ts +2 -0
- package/dist/types/inputs/index.d.ts +2 -0
- package/dist/types/inputs/markdown/MarkdownSelectionToolbar.d.ts +19 -0
- package/dist/types/internal/field.d.ts +2 -0
- package/dist/types/layout/PanelDialog.d.ts +5 -0
- package/dist/types/surfaces/stat-cell-messages.d.ts +1 -0
- package/dist/types/widgets/DashboardFrame.d.ts +4 -1
- package/package.json +2 -2
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { template as _$template } from "solid-js/web";
|
|
2
2
|
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
|
-
import { memo as _$memo } from "solid-js/web";
|
|
4
3
|
import { use as _$use } from "solid-js/web";
|
|
5
|
-
import { className as _$className } from "solid-js/web";
|
|
6
4
|
import { setProperty as _$setProperty } from "solid-js/web";
|
|
7
|
-
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
8
|
-
import { effect as _$effect } from "solid-js/web";
|
|
9
5
|
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
10
6
|
import { addEventListener as _$addEventListener } from "solid-js/web";
|
|
11
7
|
import { getNextMarker as _$getNextMarker } from "solid-js/web";
|
|
12
|
-
import { getNextElement as _$getNextElement } from "solid-js/web";
|
|
13
8
|
import { insert as _$insert } from "solid-js/web";
|
|
14
9
|
import { createComponent as _$createComponent } from "solid-js/web";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
import { className as _$className } from "solid-js/web";
|
|
11
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
12
|
+
import { effect as _$effect } from "solid-js/web";
|
|
13
|
+
import { getNextElement as _$getNextElement } from "solid-js/web";
|
|
14
|
+
import { memo as _$memo } from "solid-js/web";
|
|
15
|
+
var _tmpl$ = /*#__PURE__*/_$template(`<span class="k2b-panel-dialog__icon k2b-icon-tile"aria-hidden=true><i>`),
|
|
16
|
+
_tmpl$2 = /*#__PURE__*/_$template(`<p>`),
|
|
17
|
+
_tmpl$3 = /*#__PURE__*/_$template(`<div>`),
|
|
18
|
+
_tmpl$4 = /*#__PURE__*/_$template(`<button type=button><i class="ti ti-x"aria-hidden=true>`),
|
|
19
|
+
_tmpl$5 = /*#__PURE__*/_$template(`<header class=k2b-panel-dialog__header><!$><!/><div><!$><!/><h2></h2><!$><!/></div><!$><!/><!$><!/>`),
|
|
20
20
|
_tmpl$6 = /*#__PURE__*/_$template(`<span class=k2b-sr-only data-dialog-tone-label>`),
|
|
21
21
|
_tmpl$7 = /*#__PURE__*/_$template(`<div class=k2b-panel-dialog__body>`),
|
|
22
22
|
_tmpl$8 = /*#__PURE__*/_$template(`<footer class=k2b-panel-dialog__footer>`),
|
|
23
23
|
_tmpl$9 = /*#__PURE__*/_$template(`<span class=k2b-panel-dialog__section-subtitle>`),
|
|
24
24
|
_tmpl$0 = /*#__PURE__*/_$template(`<span class=k2b-panel-dialog__section-copy><span class=k2b-panel-dialog__section-title></span><!$><!/>`),
|
|
25
25
|
_tmpl$1 = /*#__PURE__*/_$template(`<i class="ti ti-eye"aria-hidden=true>`),
|
|
26
|
-
_tmpl$10 = /*#__PURE__*/_$template(`<
|
|
27
|
-
_tmpl$11 = /*#__PURE__*/_$template(`<
|
|
26
|
+
_tmpl$10 = /*#__PURE__*/_$template(`<p class=k2b-panel-dialog__section-subtitle>`),
|
|
27
|
+
_tmpl$11 = /*#__PURE__*/_$template(`<div class=k2b-panel-dialog__actions>`),
|
|
28
28
|
_tmpl$12 = /*#__PURE__*/_$template(`<i class="ti ti-eye-off"aria-hidden=true>`),
|
|
29
29
|
_tmpl$13 = /*#__PURE__*/_$template(`<section class=k2b-panel-dialog__section><!$><!/><header><!$><!/><div><h3></h3><!$><!/></div><!$><!/><!$><!/></header><div class=k2b-panel-dialog__section-body>`),
|
|
30
30
|
_tmpl$14 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
|
|
@@ -42,6 +42,7 @@ import { createScrollFade } from "./scroll-fade";
|
|
|
42
42
|
const PanelDialogSurfaceContext = createContext("contained");
|
|
43
43
|
const usePanelDialogSurface = () => useContext(PanelDialogSurfaceContext);
|
|
44
44
|
const PanelDialogToneContext = createContext(() => undefined);
|
|
45
|
+
const PanelDialogMediaContext = createContext(false);
|
|
45
46
|
const panelDialogBasePanelClass = "k2b-dialog k2b-panel-dialog-frame";
|
|
46
47
|
export const panelDialogPanelClass = `${panelDialogBasePanelClass} is-standard`;
|
|
47
48
|
export const panelDialogOptions = {
|
|
@@ -79,41 +80,45 @@ const PanelDialogHeader = props => {
|
|
|
79
80
|
const value = tone();
|
|
80
81
|
return value ? dialogToneIcon(value) : props.icon;
|
|
81
82
|
};
|
|
83
|
+
// Over a picture the header's parts are glass layers of their own; the dialog owns them, so it sets the surface.
|
|
84
|
+
const media = useContext(PanelDialogMediaContext);
|
|
85
|
+
const layer = media ? " k2b-overlay-surface" : "";
|
|
82
86
|
return (() => {
|
|
83
|
-
var _el$ = _$getNextElement(_tmpl$
|
|
84
|
-
_el$
|
|
85
|
-
[_el$
|
|
86
|
-
_el$
|
|
87
|
-
_el$
|
|
88
|
-
[_el$
|
|
89
|
-
_el$
|
|
90
|
-
_el$
|
|
91
|
-
[_el$
|
|
92
|
-
_el$
|
|
93
|
-
[_el$
|
|
94
|
-
_el$
|
|
95
|
-
[_el$
|
|
87
|
+
var _el$ = _$getNextElement(_tmpl$5),
|
|
88
|
+
_el$11 = _el$.firstChild,
|
|
89
|
+
[_el$12, _co$3] = _$getNextMarker(_el$11.nextSibling),
|
|
90
|
+
_el$4 = _el$12.nextSibling,
|
|
91
|
+
_el$7 = _el$4.firstChild,
|
|
92
|
+
[_el$8, _co$] = _$getNextMarker(_el$7.nextSibling),
|
|
93
|
+
_el$5 = _el$8.nextSibling,
|
|
94
|
+
_el$9 = _el$5.nextSibling,
|
|
95
|
+
[_el$0, _co$2] = _$getNextMarker(_el$9.nextSibling),
|
|
96
|
+
_el$13 = _el$4.nextSibling,
|
|
97
|
+
[_el$14, _co$4] = _$getNextMarker(_el$13.nextSibling),
|
|
98
|
+
_el$15 = _el$14.nextSibling,
|
|
99
|
+
[_el$16, _co$5] = _$getNextMarker(_el$15.nextSibling);
|
|
96
100
|
_$insert(_el$, _$createComponent(Show, {
|
|
97
101
|
get when() {
|
|
98
|
-
return icon();
|
|
102
|
+
return icon() && !media;
|
|
99
103
|
},
|
|
100
|
-
children
|
|
101
|
-
var _el$
|
|
102
|
-
_el$
|
|
104
|
+
get children() {
|
|
105
|
+
var _el$2 = _$getNextElement(_tmpl$),
|
|
106
|
+
_el$3 = _el$2.firstChild;
|
|
103
107
|
_$effect(_p$ => {
|
|
104
|
-
var _v$
|
|
105
|
-
_v$
|
|
106
|
-
_v$
|
|
107
|
-
_v$
|
|
108
|
+
var _v$ = tone(),
|
|
109
|
+
_v$2 = icon();
|
|
110
|
+
_v$ !== _p$.e && _$setAttribute(_el$2, "data-tone", _p$.e = _v$);
|
|
111
|
+
_v$2 !== _p$.t && _$className(_el$3, _p$.t = _v$2);
|
|
108
112
|
return _p$;
|
|
109
113
|
}, {
|
|
110
114
|
e: undefined,
|
|
111
115
|
t: undefined
|
|
112
116
|
});
|
|
113
|
-
return _el$
|
|
114
|
-
}
|
|
115
|
-
}), _el$
|
|
116
|
-
_$
|
|
117
|
+
return _el$2;
|
|
118
|
+
}
|
|
119
|
+
}), _el$12, _co$3);
|
|
120
|
+
_$className(_el$4, `k2b-panel-dialog__heading${layer}`);
|
|
121
|
+
_$insert(_el$4, _$createComponent(Show, {
|
|
117
122
|
get when() {
|
|
118
123
|
return tone();
|
|
119
124
|
},
|
|
@@ -122,54 +127,57 @@ const PanelDialogHeader = props => {
|
|
|
122
127
|
_$insert(_el$17, () => dialogToneLabel(messages(), value()));
|
|
123
128
|
return _el$17;
|
|
124
129
|
})()
|
|
125
|
-
}), _el$
|
|
126
|
-
_$
|
|
127
|
-
_$insert(_el$
|
|
130
|
+
}), _el$8, _co$);
|
|
131
|
+
_$className(_el$5, media ? "k2b-truncate-fade" : undefined);
|
|
132
|
+
_$insert(_el$5, () => props.title);
|
|
133
|
+
_$insert(_el$4, _$createComponent(Show, {
|
|
128
134
|
get when() {
|
|
129
135
|
return props.subtitle;
|
|
130
136
|
},
|
|
131
137
|
get children() {
|
|
132
|
-
var _el$
|
|
133
|
-
_$insert(_el$
|
|
134
|
-
return _el$
|
|
138
|
+
var _el$6 = _$getNextElement(_tmpl$2);
|
|
139
|
+
_$insert(_el$6, () => props.subtitle);
|
|
140
|
+
return _el$6;
|
|
135
141
|
}
|
|
136
|
-
}), _el$
|
|
142
|
+
}), _el$0, _co$2);
|
|
137
143
|
_$insert(_el$, _$createComponent(Show, {
|
|
138
144
|
get when() {
|
|
139
145
|
return props.actions;
|
|
140
146
|
},
|
|
141
147
|
get children() {
|
|
142
|
-
var _el$
|
|
143
|
-
_$
|
|
144
|
-
|
|
148
|
+
var _el$1 = _$getNextElement(_tmpl$3);
|
|
149
|
+
_$className(_el$1, `k2b-panel-dialog__actions${layer}`);
|
|
150
|
+
_$insert(_el$1, () => props.actions);
|
|
151
|
+
return _el$1;
|
|
145
152
|
}
|
|
146
|
-
}), _el$
|
|
153
|
+
}), _el$14, _co$4);
|
|
147
154
|
_$insert(_el$, _$createComponent(Show, {
|
|
148
155
|
get when() {
|
|
149
156
|
return props.close;
|
|
150
157
|
},
|
|
151
158
|
get children() {
|
|
152
|
-
var _el$
|
|
153
|
-
_$addEventListener(_el$
|
|
159
|
+
var _el$10 = _$getNextElement(_tmpl$4);
|
|
160
|
+
_$addEventListener(_el$10, "click", props.close, true);
|
|
161
|
+
_$className(_el$10, `k2b-dialog__close${layer}`);
|
|
154
162
|
_$effect(_p$ => {
|
|
155
|
-
var _v$ = props.closeLabel ?? messages().closeDialog,
|
|
156
|
-
_v$
|
|
157
|
-
_v$ !== _p$.e && _$setAttribute(_el$
|
|
158
|
-
_v$
|
|
163
|
+
var _v$3 = props.closeLabel ?? messages().closeDialog,
|
|
164
|
+
_v$4 = props.closeDisabled;
|
|
165
|
+
_v$3 !== _p$.e && _$setAttribute(_el$10, "aria-label", _p$.e = _v$3);
|
|
166
|
+
_v$4 !== _p$.t && _$setProperty(_el$10, "disabled", _p$.t = _v$4);
|
|
159
167
|
return _p$;
|
|
160
168
|
}, {
|
|
161
169
|
e: undefined,
|
|
162
170
|
t: undefined
|
|
163
171
|
});
|
|
164
172
|
_$runHydrationEvents();
|
|
165
|
-
return _el$
|
|
173
|
+
return _el$10;
|
|
166
174
|
}
|
|
167
|
-
}), _el$
|
|
175
|
+
}), _el$16, _co$5);
|
|
168
176
|
_$effect(_p$ => {
|
|
169
|
-
var _v$
|
|
170
|
-
_v$
|
|
171
|
-
_v$
|
|
172
|
-
_v$
|
|
177
|
+
var _v$5 = usePanelDialogSurface(),
|
|
178
|
+
_v$6 = Boolean(props.subtitle);
|
|
179
|
+
_v$5 !== _p$.e && _$setAttribute(_el$, "data-surface", _p$.e = _v$5);
|
|
180
|
+
_v$6 !== _p$.t && _$setAttribute(_el$, "data-has-subtitle", _p$.t = _v$6);
|
|
173
181
|
return _p$;
|
|
174
182
|
}, {
|
|
175
183
|
e: undefined,
|
|
@@ -253,7 +261,7 @@ const PanelDialogSection = props => {
|
|
|
253
261
|
return props.hideable;
|
|
254
262
|
},
|
|
255
263
|
get children() {
|
|
256
|
-
var _el$21 = _$getNextElement(_tmpl$
|
|
264
|
+
var _el$21 = _$getNextElement(_tmpl$3);
|
|
257
265
|
_$insert(_el$21, _$createComponent(Button, {
|
|
258
266
|
ref(r$) {
|
|
259
267
|
var _ref$3 = expand;
|
|
@@ -320,7 +328,7 @@ const PanelDialogSection = props => {
|
|
|
320
328
|
return props.subtitle;
|
|
321
329
|
},
|
|
322
330
|
get children() {
|
|
323
|
-
var _el$31 = _$getNextElement(_tmpl$
|
|
331
|
+
var _el$31 = _$getNextElement(_tmpl$10);
|
|
324
332
|
_$insert(_el$31, () => props.subtitle);
|
|
325
333
|
return _el$31;
|
|
326
334
|
}
|
|
@@ -330,7 +338,7 @@ const PanelDialogSection = props => {
|
|
|
330
338
|
return props.actions;
|
|
331
339
|
},
|
|
332
340
|
get children() {
|
|
333
|
-
var _el$34 = _$getNextElement(_tmpl$
|
|
341
|
+
var _el$34 = _$getNextElement(_tmpl$11);
|
|
334
342
|
_$insert(_el$34, () => props.actions);
|
|
335
343
|
return _el$34;
|
|
336
344
|
}
|
|
@@ -414,11 +422,27 @@ const PanelDialog = props => {
|
|
|
414
422
|
return _$createComponent(PanelDialogToneContext.Provider, {
|
|
415
423
|
value: () => props.tone,
|
|
416
424
|
get children() {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
425
|
+
return _$createComponent(PanelDialogMediaContext.Provider, {
|
|
426
|
+
get value() {
|
|
427
|
+
return Boolean(props.media);
|
|
428
|
+
},
|
|
429
|
+
get children() {
|
|
430
|
+
var _el$48 = _$getNextElement(_tmpl$16);
|
|
431
|
+
_$setAttribute(_el$48, "data-surface", surface);
|
|
432
|
+
_$insert(_el$48, () => props.children);
|
|
433
|
+
_$effect(_p$ => {
|
|
434
|
+
var _v$14 = props.tone,
|
|
435
|
+
_v$15 = props.media ? "" : undefined;
|
|
436
|
+
_v$14 !== _p$.e && _$setAttribute(_el$48, "data-tone", _p$.e = _v$14);
|
|
437
|
+
_v$15 !== _p$.t && _$setAttribute(_el$48, "data-media", _p$.t = _v$15);
|
|
438
|
+
return _p$;
|
|
439
|
+
}, {
|
|
440
|
+
e: undefined,
|
|
441
|
+
t: undefined
|
|
442
|
+
});
|
|
443
|
+
return _el$48;
|
|
444
|
+
}
|
|
445
|
+
});
|
|
422
446
|
}
|
|
423
447
|
});
|
|
424
448
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["layout/PanelDialog.tsx"],"sourcesContent":["import { createContext, createEffect, createSignal, createUniqueId, type JSX, Show, useContext } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { Tabs } from \"../actions/Tabs\";\nimport type { OpenDialogOptions } from \"../feedback/dialog-core\";\nimport { type DialogTone, dialogToneIcon, dialogToneLabel } from \"../feedback/dialog-tone\";\nimport { sharedPrompts } from \"../feedback/prompt-confirm\";\nimport { resolvePromptMessages } from \"../feedback/prompt-messages\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { usePanelDialogMessages } from \"./panel-dialog-messages\";\nimport { createScrollFade } from \"./scroll-fade\";\n\nexport type PanelDialogSurface = \"contained\" | \"floating\";\n\nexport type PanelDialogProps = {\n children: JSX.Element;\n surface?: PanelDialogSurface;\n /** A 2 px edge in the tone's colour inside the dialog frame; the header shows the tone's icon instead of its own. */\n tone?: DialogTone;\n};\n\nexport type PanelDialogHeaderProps = {\n title: JSX.Element;\n subtitle?: JSX.Element;\n icon?: string;\n actions?: JSX.Element;\n close?: () => void;\n closeDisabled?: boolean;\n closeLabel?: string;\n};\n\nexport type PanelDialogBodyProps = {\n children: JSX.Element;\n scrollPreserveKey?: string;\n scrollFade?: boolean;\n};\n\nexport type PanelDialogFooterProps = {\n children: JSX.Element;\n};\n\nexport type PanelDialogSectionProps = {\n title: JSX.Element;\n subtitle?: JSX.Element;\n icon?: string;\n actions?: JSX.Element;\n children: JSX.Element;\n} & (\n | { hideable?: false; open?: never; defaultOpen?: never; onOpenChange?: never; disabled?: never }\n | { hideable: true; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; disabled?: boolean }\n);\n\nexport type PanelDialogTabOption<T extends string = string> = {\n value: T;\n label: JSX.Element;\n icon?: string;\n disabled?: boolean;\n};\n\nexport type PanelDialogTabsProps<T extends string = string> = {\n options: readonly PanelDialogTabOption<T>[];\n value: T | (() => T);\n onValueChange: (value: T) => void;\n ariaLabel?: string;\n label?: string;\n};\n\ntype PanelDialogComponent = ((props: PanelDialogProps) => JSX.Element) & {\n Header: (props: PanelDialogHeaderProps) => JSX.Element;\n Body: (props: PanelDialogBodyProps) => JSX.Element;\n Footer: (props: PanelDialogFooterProps) => JSX.Element;\n Section: (props: PanelDialogSectionProps) => JSX.Element;\n Tabs: <T extends string>(props: PanelDialogTabsProps<T>) => JSX.Element;\n};\n\nconst PanelDialogSurfaceContext = createContext<PanelDialogSurface>(\"contained\");\nconst usePanelDialogSurface = () => useContext(PanelDialogSurfaceContext);\nconst PanelDialogToneContext = createContext<() => DialogTone | undefined>(() => undefined);\n\nconst panelDialogBasePanelClass = \"k2b-dialog k2b-panel-dialog-frame\";\n\nexport const panelDialogPanelClass = `${panelDialogBasePanelClass} is-standard`;\nexport const panelDialogOptions = {\n panelClassName: panelDialogPanelClass,\n contentClassName: \"k2b-panel-dialog-viewport\",\n} satisfies OpenDialogOptions;\n\nexport const panelDialogWidePanelClass = `${panelDialogBasePanelClass} is-wide`;\nexport const panelDialogWideOptions = {\n panelClassName: panelDialogWidePanelClass,\n contentClassName: \"k2b-panel-dialog-viewport\",\n} satisfies OpenDialogOptions;\n\nexport const panelDialogFixedPanelClass = `${panelDialogBasePanelClass} is-fixed`;\nexport const panelDialogFixedOptions = {\n panelClassName: panelDialogFixedPanelClass,\n contentClassName: \"k2b-panel-dialog-viewport is-fixed\",\n} satisfies OpenDialogOptions;\n\nexport const panelDialogWorkspacePanelClass = `${panelDialogBasePanelClass} is-workspace`;\nexport const panelDialogWorkspaceOptions = {\n panelClassName: panelDialogWorkspacePanelClass,\n contentClassName: \"k2b-panel-dialog-viewport is-workspace\",\n} satisfies OpenDialogOptions;\n\nexport const confirmDiscardIfDirty = async (dirty: boolean | (() => boolean)): Promise<boolean> => {\n const hasChanges = typeof dirty === \"function\" ? dirty() : dirty;\n if (!hasChanges) return true;\n return Boolean(\n await sharedPrompts.confirm(resolvePromptMessages().discardUnsavedChanges, {\n title: resolvePromptMessages().unsavedChangesTitle,\n variant: \"danger\",\n confirmText: resolvePromptMessages().discard,\n }),\n );\n};\n\nconst PanelDialogHeader = (props: PanelDialogHeaderProps): JSX.Element => {\n const messages = useUiMessages();\n const tone = useContext(PanelDialogToneContext);\n const icon = () => {\n const value = tone();\n return value ? dialogToneIcon(value) : props.icon;\n };\n return (\n <header class=\"k2b-panel-dialog__header\" data-surface={usePanelDialogSurface()} data-has-subtitle={Boolean(props.subtitle)}>\n <Show when={icon()}>\n {(icon) => (\n <span class=\"k2b-panel-dialog__icon k2b-icon-tile\" data-tone={tone()} aria-hidden=\"true\">\n <i class={icon()} />\n </span>\n )}\n </Show>\n <div class=\"k2b-panel-dialog__heading\">\n <Show when={tone()}>\n {(value) => (\n <span class=\"k2b-sr-only\" data-dialog-tone-label>\n {dialogToneLabel(messages(), value())}\n </span>\n )}\n </Show>\n <h2>{props.title}</h2>\n <Show when={props.subtitle}>\n <p>{props.subtitle}</p>\n </Show>\n </div>\n <Show when={props.actions}>\n <div class=\"k2b-panel-dialog__actions\">{props.actions}</div>\n </Show>\n <Show when={props.close}>\n <button\n type=\"button\"\n class=\"k2b-dialog__close\"\n aria-label={props.closeLabel ?? messages().closeDialog}\n disabled={props.closeDisabled}\n onClick={props.close}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </button>\n </Show>\n </header>\n );\n};\n\nconst PanelDialogBody = (props: PanelDialogBodyProps): JSX.Element => {\n let body: HTMLDivElement | undefined;\n createScrollFade(\n () => body,\n () => props.scrollFade !== false,\n );\n return (\n <div\n ref={body}\n class=\"k2b-panel-dialog__body\"\n data-scroll-preserve={props.scrollPreserveKey}\n data-surface={usePanelDialogSurface()}\n data-scroll-fade-mode={props.scrollFade !== false ? \"both\" : undefined}\n >\n {props.children}\n </div>\n );\n};\n\nconst PanelDialogFooter = (props: PanelDialogFooterProps): JSX.Element => (\n <footer class=\"k2b-panel-dialog__footer\" data-surface={usePanelDialogSurface()}>\n {props.children}\n </footer>\n);\n\nconst PanelDialogSection = (props: PanelDialogSectionProps): JSX.Element => {\n const id = `k2b-panel-dialog-section-${createUniqueId()}`;\n const [internalOpen, setInternalOpen] = createSignal(props.defaultOpen ?? false);\n const open = () => !props.hideable || (props.open ?? internalOpen());\n let section: HTMLElement | undefined;\n let expand: HTMLButtonElement | undefined;\n let collapse: HTMLButtonElement | undefined;\n const toggle = (next: boolean) => {\n if (props.disabled) return;\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next);\n };\n createEffect(() => {\n if (!props.hideable) return;\n const expanded = open();\n queueMicrotask(() => {\n if (expanded !== open()) return;\n const active = section?.ownerDocument.activeElement;\n if (expanded && active === expand) collapse?.focus();\n if (!expanded && active && active !== expand && section?.contains(active)) expand?.focus();\n });\n });\n\n return (\n <section\n ref={section}\n class=\"k2b-panel-dialog__section\"\n data-surface={usePanelDialogSurface()}\n data-hideable={props.hideable || undefined}\n data-open={props.hideable ? open() : undefined}\n aria-labelledby={open() ? id : `${id}-closed`}\n >\n <Show when={props.hideable}>\n <div hidden={open()}>\n <Button\n ref={expand}\n variant=\"ghost\"\n class=\"k2b-panel-dialog__section-summary\"\n disabled={props.disabled}\n aria-expanded={false}\n aria-controls={`${id}-body`}\n onClick={() => toggle(true)}\n >\n <Show when={props.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>\n <span class=\"k2b-panel-dialog__section-copy\">\n <span id={`${id}-closed`} class=\"k2b-panel-dialog__section-title\">\n {props.title}\n </span>\n <Show when={props.subtitle}>\n <span class=\"k2b-panel-dialog__section-subtitle\">{props.subtitle}</span>\n </Show>\n </span>\n <i class=\"ti ti-eye\" aria-hidden=\"true\" />\n </Button>\n </div>\n </Show>\n <header hidden={!open()}>\n <Show when={props.icon}>\n {(icon) => (\n <span class=\"k2b-panel-dialog__section-icon\">\n <i class={icon()} aria-hidden=\"true\" />\n </span>\n )}\n </Show>\n <div>\n <h3 id={id}>{props.title}</h3>\n <Show when={props.subtitle}>\n <p class=\"k2b-panel-dialog__section-subtitle\">{props.subtitle}</p>\n </Show>\n </div>\n <Show when={props.actions}>\n <div class=\"k2b-panel-dialog__actions\">{props.actions}</div>\n </Show>\n <Show when={props.hideable}>\n <Button\n ref={collapse}\n variant=\"ghost\"\n size=\"sm\"\n class=\"k2b-icon-button\"\n disabled={props.disabled}\n aria-labelledby={id}\n aria-expanded={true}\n aria-controls={`${id}-body`}\n onClick={() => toggle(false)}\n >\n <i class=\"ti ti-eye-off\" aria-hidden=\"true\" />\n </Button>\n </Show>\n </header>\n <div id={`${id}-body`} class=\"k2b-panel-dialog__section-body\" hidden={!open()}>\n {props.children}\n </div>\n </section>\n );\n};\n\nconst PanelDialogTabs = <T extends string>(props: PanelDialogTabsProps<T>): JSX.Element => {\n const panelDialogMessages = usePanelDialogMessages();\n return (\n <Tabs\n class=\"k2b-panel-dialog__tabs\"\n value={props.value}\n onValueChange={props.onValueChange}\n ariaLabel={props.ariaLabel ?? props.label ?? panelDialogMessages().dialogTabs}\n options={props.options}\n />\n );\n};\n\nconst PanelDialog = ((props: PanelDialogProps): JSX.Element => {\n const surface = props.surface ?? \"contained\";\n return (\n <PanelDialogSurfaceContext.Provider value={surface}>\n <PanelDialogToneContext.Provider value={() => props.tone}>\n <div class=\"k2b-panel-dialog\" data-surface={surface} data-tone={props.tone}>\n {props.children}\n </div>\n </PanelDialogToneContext.Provider>\n </PanelDialogSurfaceContext.Provider>\n );\n}) as PanelDialogComponent;\n\nPanelDialog.Header = PanelDialogHeader;\nPanelDialog.Body = PanelDialogBody;\nPanelDialog.Footer = PanelDialogFooter;\nPanelDialog.Section = PanelDialogSection;\nPanelDialog.Tabs = PanelDialogTabs;\n\nexport default PanelDialog;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["layout/PanelDialog.tsx"],"sourcesContent":["import { createContext, createEffect, createSignal, createUniqueId, type JSX, Show, useContext } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { Tabs } from \"../actions/Tabs\";\nimport type { OpenDialogOptions } from \"../feedback/dialog-core\";\nimport { type DialogTone, dialogToneIcon, dialogToneLabel } from \"../feedback/dialog-tone\";\nimport { sharedPrompts } from \"../feedback/prompt-confirm\";\nimport { resolvePromptMessages } from \"../feedback/prompt-messages\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { usePanelDialogMessages } from \"./panel-dialog-messages\";\nimport { createScrollFade } from \"./scroll-fade\";\n\nexport type PanelDialogSurface = \"contained\" | \"floating\";\n\nexport type PanelDialogProps = {\n children: JSX.Element;\n surface?: PanelDialogSurface;\n /** A 2 px edge in the tone's colour inside the dialog frame; the header shows the tone's icon instead of its own. */\n tone?: DialogTone;\n /**\n * The body shows a picture or a video edge to edge, and the header floats over it as glass chips: the title and\n * subtitle in one chip, the actions in a group, and the close button. For documents, text, and tables leave it off.\n */\n media?: boolean;\n};\n\nexport type PanelDialogHeaderProps = {\n title: JSX.Element;\n subtitle?: JSX.Element;\n icon?: string;\n actions?: JSX.Element;\n close?: () => void;\n closeDisabled?: boolean;\n closeLabel?: string;\n};\n\nexport type PanelDialogBodyProps = {\n children: JSX.Element;\n scrollPreserveKey?: string;\n scrollFade?: boolean;\n};\n\nexport type PanelDialogFooterProps = {\n children: JSX.Element;\n};\n\nexport type PanelDialogSectionProps = {\n title: JSX.Element;\n subtitle?: JSX.Element;\n icon?: string;\n actions?: JSX.Element;\n children: JSX.Element;\n} & (\n | { hideable?: false; open?: never; defaultOpen?: never; onOpenChange?: never; disabled?: never }\n | { hideable: true; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; disabled?: boolean }\n);\n\nexport type PanelDialogTabOption<T extends string = string> = {\n value: T;\n label: JSX.Element;\n icon?: string;\n disabled?: boolean;\n};\n\nexport type PanelDialogTabsProps<T extends string = string> = {\n options: readonly PanelDialogTabOption<T>[];\n value: T | (() => T);\n onValueChange: (value: T) => void;\n ariaLabel?: string;\n label?: string;\n};\n\ntype PanelDialogComponent = ((props: PanelDialogProps) => JSX.Element) & {\n Header: (props: PanelDialogHeaderProps) => JSX.Element;\n Body: (props: PanelDialogBodyProps) => JSX.Element;\n Footer: (props: PanelDialogFooterProps) => JSX.Element;\n Section: (props: PanelDialogSectionProps) => JSX.Element;\n Tabs: <T extends string>(props: PanelDialogTabsProps<T>) => JSX.Element;\n};\n\nconst PanelDialogSurfaceContext = createContext<PanelDialogSurface>(\"contained\");\nconst usePanelDialogSurface = () => useContext(PanelDialogSurfaceContext);\nconst PanelDialogToneContext = createContext<() => DialogTone | undefined>(() => undefined);\nconst PanelDialogMediaContext = createContext(false);\n\nconst panelDialogBasePanelClass = \"k2b-dialog k2b-panel-dialog-frame\";\n\nexport const panelDialogPanelClass = `${panelDialogBasePanelClass} is-standard`;\nexport const panelDialogOptions = {\n panelClassName: panelDialogPanelClass,\n contentClassName: \"k2b-panel-dialog-viewport\",\n} satisfies OpenDialogOptions;\n\nexport const panelDialogWidePanelClass = `${panelDialogBasePanelClass} is-wide`;\nexport const panelDialogWideOptions = {\n panelClassName: panelDialogWidePanelClass,\n contentClassName: \"k2b-panel-dialog-viewport\",\n} satisfies OpenDialogOptions;\n\nexport const panelDialogFixedPanelClass = `${panelDialogBasePanelClass} is-fixed`;\nexport const panelDialogFixedOptions = {\n panelClassName: panelDialogFixedPanelClass,\n contentClassName: \"k2b-panel-dialog-viewport is-fixed\",\n} satisfies OpenDialogOptions;\n\nexport const panelDialogWorkspacePanelClass = `${panelDialogBasePanelClass} is-workspace`;\nexport const panelDialogWorkspaceOptions = {\n panelClassName: panelDialogWorkspacePanelClass,\n contentClassName: \"k2b-panel-dialog-viewport is-workspace\",\n} satisfies OpenDialogOptions;\n\nexport const confirmDiscardIfDirty = async (dirty: boolean | (() => boolean)): Promise<boolean> => {\n const hasChanges = typeof dirty === \"function\" ? dirty() : dirty;\n if (!hasChanges) return true;\n return Boolean(\n await sharedPrompts.confirm(resolvePromptMessages().discardUnsavedChanges, {\n title: resolvePromptMessages().unsavedChangesTitle,\n variant: \"danger\",\n confirmText: resolvePromptMessages().discard,\n }),\n );\n};\n\nconst PanelDialogHeader = (props: PanelDialogHeaderProps): JSX.Element => {\n const messages = useUiMessages();\n const tone = useContext(PanelDialogToneContext);\n const icon = () => {\n const value = tone();\n return value ? dialogToneIcon(value) : props.icon;\n };\n // Over a picture the header's parts are glass layers of their own; the dialog owns them, so it sets the surface.\n const media = useContext(PanelDialogMediaContext);\n const layer = media ? \" k2b-overlay-surface\" : \"\";\n return (\n <header class=\"k2b-panel-dialog__header\" data-surface={usePanelDialogSurface()} data-has-subtitle={Boolean(props.subtitle)}>\n <Show when={icon() && !media}>\n <span class=\"k2b-panel-dialog__icon k2b-icon-tile\" data-tone={tone()} aria-hidden=\"true\">\n <i class={icon()} />\n </span>\n </Show>\n <div class={`k2b-panel-dialog__heading${layer}`}>\n <Show when={tone()}>\n {(value) => (\n <span class=\"k2b-sr-only\" data-dialog-tone-label>\n {dialogToneLabel(messages(), value())}\n </span>\n )}\n </Show>\n <h2 class={media ? \"k2b-truncate-fade\" : undefined}>{props.title}</h2>\n <Show when={props.subtitle}>\n <p>{props.subtitle}</p>\n </Show>\n </div>\n <Show when={props.actions}>\n <div class={`k2b-panel-dialog__actions${layer}`}>{props.actions}</div>\n </Show>\n <Show when={props.close}>\n <button\n type=\"button\"\n class={`k2b-dialog__close${layer}`}\n aria-label={props.closeLabel ?? messages().closeDialog}\n disabled={props.closeDisabled}\n onClick={props.close}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </button>\n </Show>\n </header>\n );\n};\n\nconst PanelDialogBody = (props: PanelDialogBodyProps): JSX.Element => {\n let body: HTMLDivElement | undefined;\n createScrollFade(\n () => body,\n () => props.scrollFade !== false,\n );\n return (\n <div\n ref={body}\n class=\"k2b-panel-dialog__body\"\n data-scroll-preserve={props.scrollPreserveKey}\n data-surface={usePanelDialogSurface()}\n data-scroll-fade-mode={props.scrollFade !== false ? \"both\" : undefined}\n >\n {props.children}\n </div>\n );\n};\n\nconst PanelDialogFooter = (props: PanelDialogFooterProps): JSX.Element => (\n <footer class=\"k2b-panel-dialog__footer\" data-surface={usePanelDialogSurface()}>\n {props.children}\n </footer>\n);\n\nconst PanelDialogSection = (props: PanelDialogSectionProps): JSX.Element => {\n const id = `k2b-panel-dialog-section-${createUniqueId()}`;\n const [internalOpen, setInternalOpen] = createSignal(props.defaultOpen ?? false);\n const open = () => !props.hideable || (props.open ?? internalOpen());\n let section: HTMLElement | undefined;\n let expand: HTMLButtonElement | undefined;\n let collapse: HTMLButtonElement | undefined;\n const toggle = (next: boolean) => {\n if (props.disabled) return;\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next);\n };\n createEffect(() => {\n if (!props.hideable) return;\n const expanded = open();\n queueMicrotask(() => {\n if (expanded !== open()) return;\n const active = section?.ownerDocument.activeElement;\n if (expanded && active === expand) collapse?.focus();\n if (!expanded && active && active !== expand && section?.contains(active)) expand?.focus();\n });\n });\n\n return (\n <section\n ref={section}\n class=\"k2b-panel-dialog__section\"\n data-surface={usePanelDialogSurface()}\n data-hideable={props.hideable || undefined}\n data-open={props.hideable ? open() : undefined}\n aria-labelledby={open() ? id : `${id}-closed`}\n >\n <Show when={props.hideable}>\n <div hidden={open()}>\n <Button\n ref={expand}\n variant=\"ghost\"\n class=\"k2b-panel-dialog__section-summary\"\n disabled={props.disabled}\n aria-expanded={false}\n aria-controls={`${id}-body`}\n onClick={() => toggle(true)}\n >\n <Show when={props.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>\n <span class=\"k2b-panel-dialog__section-copy\">\n <span id={`${id}-closed`} class=\"k2b-panel-dialog__section-title\">\n {props.title}\n </span>\n <Show when={props.subtitle}>\n <span class=\"k2b-panel-dialog__section-subtitle\">{props.subtitle}</span>\n </Show>\n </span>\n <i class=\"ti ti-eye\" aria-hidden=\"true\" />\n </Button>\n </div>\n </Show>\n <header hidden={!open()}>\n <Show when={props.icon}>\n {(icon) => (\n <span class=\"k2b-panel-dialog__section-icon\">\n <i class={icon()} aria-hidden=\"true\" />\n </span>\n )}\n </Show>\n <div>\n <h3 id={id}>{props.title}</h3>\n <Show when={props.subtitle}>\n <p class=\"k2b-panel-dialog__section-subtitle\">{props.subtitle}</p>\n </Show>\n </div>\n <Show when={props.actions}>\n <div class=\"k2b-panel-dialog__actions\">{props.actions}</div>\n </Show>\n <Show when={props.hideable}>\n <Button\n ref={collapse}\n variant=\"ghost\"\n size=\"sm\"\n class=\"k2b-icon-button\"\n disabled={props.disabled}\n aria-labelledby={id}\n aria-expanded={true}\n aria-controls={`${id}-body`}\n onClick={() => toggle(false)}\n >\n <i class=\"ti ti-eye-off\" aria-hidden=\"true\" />\n </Button>\n </Show>\n </header>\n <div id={`${id}-body`} class=\"k2b-panel-dialog__section-body\" hidden={!open()}>\n {props.children}\n </div>\n </section>\n );\n};\n\nconst PanelDialogTabs = <T extends string>(props: PanelDialogTabsProps<T>): JSX.Element => {\n const panelDialogMessages = usePanelDialogMessages();\n return (\n <Tabs\n class=\"k2b-panel-dialog__tabs\"\n value={props.value}\n onValueChange={props.onValueChange}\n ariaLabel={props.ariaLabel ?? props.label ?? panelDialogMessages().dialogTabs}\n options={props.options}\n />\n );\n};\n\nconst PanelDialog = ((props: PanelDialogProps): JSX.Element => {\n const surface = props.surface ?? \"contained\";\n return (\n <PanelDialogSurfaceContext.Provider value={surface}>\n <PanelDialogToneContext.Provider value={() => props.tone}>\n <PanelDialogMediaContext.Provider value={Boolean(props.media)}>\n <div class=\"k2b-panel-dialog\" data-surface={surface} data-tone={props.tone} data-media={props.media ? \"\" : undefined}>\n {props.children}\n </div>\n </PanelDialogMediaContext.Provider>\n </PanelDialogToneContext.Provider>\n </PanelDialogSurfaceContext.Provider>\n );\n}) as PanelDialogComponent;\n\nPanelDialog.Header = PanelDialogHeader;\nPanelDialog.Body = PanelDialogBody;\nPanelDialog.Footer = PanelDialogFooter;\nPanelDialog.Section = PanelDialogSection;\nPanelDialog.Tabs = PanelDialogTabs;\n\nexport default PanelDialog;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,14 +18,15 @@ var _tmpl$ = /*#__PURE__*/_$template(`<div class=k2b-stat-cell__head><!$><!/><sp
|
|
|
18
18
|
_tmpl$7 = /*#__PURE__*/_$template(`<div class=k2b-stat-cell__support>`),
|
|
19
19
|
_tmpl$8 = /*#__PURE__*/_$template(`<span class="k2b-stat-cell__icon k2b-icon-tile"aria-hidden=true><i>`),
|
|
20
20
|
_tmpl$9 = /*#__PURE__*/_$template(`<span>`),
|
|
21
|
-
_tmpl$0 = /*#__PURE__*/_$template(`<span
|
|
22
|
-
_tmpl$1 = /*#__PURE__*/_$template(`<span class=k2b-stat-cell__sub
|
|
23
|
-
_tmpl$10 = /*#__PURE__*/_$template(`<
|
|
24
|
-
_tmpl$11 = /*#__PURE__*/_$template(`<
|
|
25
|
-
_tmpl$12 = /*#__PURE__*/_$template(`<span class=k2b-stat-
|
|
26
|
-
_tmpl$13 = /*#__PURE__*/_$template(`<
|
|
27
|
-
_tmpl$14 = /*#__PURE__*/_$template(`<
|
|
28
|
-
_tmpl$15 = /*#__PURE__*/_$template(`<
|
|
21
|
+
_tmpl$0 = /*#__PURE__*/_$template(`<span role=img>—`),
|
|
22
|
+
_tmpl$1 = /*#__PURE__*/_$template(`<span class=k2b-stat-cell__sub><!$><!/> <!$><!/>`),
|
|
23
|
+
_tmpl$10 = /*#__PURE__*/_$template(`<span class=k2b-stat-cell__sub>`),
|
|
24
|
+
_tmpl$11 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
|
|
25
|
+
_tmpl$12 = /*#__PURE__*/_$template(`<span class=k2b-stat-cell__accent><i aria-hidden=true></i><!$><!/>`),
|
|
26
|
+
_tmpl$13 = /*#__PURE__*/_$template(`<span class=k2b-stat-cell__stale><i class="ti ti-clock-exclamation"aria-hidden=true></i><!$><!/>`),
|
|
27
|
+
_tmpl$14 = /*#__PURE__*/_$template(`<button type=button class=k2b-stat-cell__retry>`),
|
|
28
|
+
_tmpl$15 = /*#__PURE__*/_$template(`<a class="k2b-stat-cell k2b-stat-cell--link"><i class="ti ti-external-link k2b-stat-cell__link-icon"aria-hidden=true></i><!$><!/>`),
|
|
29
|
+
_tmpl$16 = /*#__PURE__*/_$template(`<div class=k2b-stat-cell>`);
|
|
29
30
|
import { Match, Show, Switch } from "solid-js";
|
|
30
31
|
import { ChartSparkline } from "../content/ChartSparkline";
|
|
31
32
|
import { useLocale } from "../intl/locale";
|
|
@@ -99,10 +100,21 @@ function Body(props) {
|
|
|
99
100
|
get fallback() {
|
|
100
101
|
return [(() => {
|
|
101
102
|
var _el$14 = _$getNextElement(_tmpl$9);
|
|
102
|
-
_$insert(_el$14, (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
_$insert(_el$14, _$createComponent(Show, {
|
|
104
|
+
get when() {
|
|
105
|
+
return !empty();
|
|
106
|
+
},
|
|
107
|
+
get fallback() {
|
|
108
|
+
return (() => {
|
|
109
|
+
var _el$15 = _$getNextElement(_tmpl$0);
|
|
110
|
+
_$effect(() => _$setAttribute(_el$15, "aria-label", t().noValue));
|
|
111
|
+
return _el$15;
|
|
112
|
+
})();
|
|
113
|
+
},
|
|
114
|
+
get children() {
|
|
115
|
+
return props.value;
|
|
116
|
+
}
|
|
117
|
+
}));
|
|
106
118
|
_$effect(_p$ => {
|
|
107
119
|
var _v$3 = `k2b-stat-cell__value ${props.valueClass ?? ""}`,
|
|
108
120
|
_v$4 = size(),
|
|
@@ -176,24 +188,24 @@ function Body(props) {
|
|
|
176
188
|
return props.compare;
|
|
177
189
|
},
|
|
178
190
|
children: compare => (() => {
|
|
179
|
-
var _el$
|
|
180
|
-
_el$
|
|
181
|
-
[_el$
|
|
182
|
-
_el$
|
|
183
|
-
_el$
|
|
184
|
-
[_el$
|
|
185
|
-
_$insert(_el$
|
|
186
|
-
_$insert(_el$
|
|
187
|
-
return _el$
|
|
191
|
+
var _el$16 = _$getNextElement(_tmpl$1),
|
|
192
|
+
_el$18 = _el$16.firstChild,
|
|
193
|
+
[_el$19, _co$3] = _$getNextMarker(_el$18.nextSibling),
|
|
194
|
+
_el$17 = _el$19.nextSibling,
|
|
195
|
+
_el$20 = _el$17.nextSibling,
|
|
196
|
+
[_el$21, _co$4] = _$getNextMarker(_el$20.nextSibling);
|
|
197
|
+
_$insert(_el$16, () => compare().label, _el$19, _co$3);
|
|
198
|
+
_$insert(_el$16, compareValue, _el$21, _co$4);
|
|
199
|
+
return _el$16;
|
|
188
200
|
})()
|
|
189
201
|
}), _$createComponent(Show, {
|
|
190
202
|
get when() {
|
|
191
203
|
return props.sub;
|
|
192
204
|
},
|
|
193
205
|
children: sub => (() => {
|
|
194
|
-
var _el$
|
|
195
|
-
_$insert(_el$
|
|
196
|
-
return _el$
|
|
206
|
+
var _el$22 = _$getNextElement(_tmpl$10);
|
|
207
|
+
_$insert(_el$22, sub);
|
|
208
|
+
return _el$22;
|
|
197
209
|
})()
|
|
198
210
|
}), _$createComponent(Show, {
|
|
199
211
|
get when() {
|
|
@@ -205,37 +217,37 @@ function Body(props) {
|
|
|
205
217
|
},
|
|
206
218
|
get fallback() {
|
|
207
219
|
return (() => {
|
|
208
|
-
var _el$
|
|
220
|
+
var _el$23 = _$getNextElement(_tmpl$11);
|
|
209
221
|
_$effect(_p$ => {
|
|
210
222
|
var _v$7 = `${value().icon} k2b-stat-cell__accent-icon`,
|
|
211
223
|
_v$8 = value().tone;
|
|
212
|
-
_v$7 !== _p$.e && _$className(_el$
|
|
213
|
-
_v$8 !== _p$.t && _$setAttribute(_el$
|
|
224
|
+
_v$7 !== _p$.e && _$className(_el$23, _p$.e = _v$7);
|
|
225
|
+
_v$8 !== _p$.t && _$setAttribute(_el$23, "data-tone", _p$.t = _v$8);
|
|
214
226
|
return _p$;
|
|
215
227
|
}, {
|
|
216
228
|
e: undefined,
|
|
217
229
|
t: undefined
|
|
218
230
|
});
|
|
219
|
-
return _el$
|
|
231
|
+
return _el$23;
|
|
220
232
|
})();
|
|
221
233
|
},
|
|
222
234
|
children: text => (() => {
|
|
223
|
-
var _el$
|
|
224
|
-
_el$
|
|
225
|
-
_el$
|
|
226
|
-
[_el$
|
|
227
|
-
_$insert(_el$
|
|
235
|
+
var _el$24 = _$getNextElement(_tmpl$12),
|
|
236
|
+
_el$25 = _el$24.firstChild,
|
|
237
|
+
_el$26 = _el$25.nextSibling,
|
|
238
|
+
[_el$27, _co$5] = _$getNextMarker(_el$26.nextSibling);
|
|
239
|
+
_$insert(_el$24, text, _el$27, _co$5);
|
|
228
240
|
_$effect(_p$ => {
|
|
229
241
|
var _v$9 = value().tone,
|
|
230
242
|
_v$0 = value().icon;
|
|
231
|
-
_v$9 !== _p$.e && _$setAttribute(_el$
|
|
232
|
-
_v$0 !== _p$.t && _$className(_el$
|
|
243
|
+
_v$9 !== _p$.e && _$setAttribute(_el$24, "data-tone", _p$.e = _v$9);
|
|
244
|
+
_v$0 !== _p$.t && _$className(_el$25, _p$.t = _v$0);
|
|
233
245
|
return _p$;
|
|
234
246
|
}, {
|
|
235
247
|
e: undefined,
|
|
236
248
|
t: undefined
|
|
237
249
|
});
|
|
238
|
-
return _el$
|
|
250
|
+
return _el$24;
|
|
239
251
|
})()
|
|
240
252
|
})
|
|
241
253
|
}), _$createComponent(Show, {
|
|
@@ -262,22 +274,22 @@ function Body(props) {
|
|
|
262
274
|
})];
|
|
263
275
|
},
|
|
264
276
|
children: stale => [(() => {
|
|
265
|
-
var _el$
|
|
266
|
-
_el$
|
|
267
|
-
_el$
|
|
268
|
-
[_el$
|
|
269
|
-
_$insert(_el$
|
|
270
|
-
return _el$
|
|
277
|
+
var _el$28 = _$getNextElement(_tmpl$13),
|
|
278
|
+
_el$29 = _el$28.firstChild,
|
|
279
|
+
_el$30 = _el$29.nextSibling,
|
|
280
|
+
[_el$31, _co$6] = _$getNextMarker(_el$30.nextSibling);
|
|
281
|
+
_$insert(_el$28, stale, _el$31, _co$6);
|
|
282
|
+
return _el$28;
|
|
271
283
|
})(), _$createComponent(Show, {
|
|
272
284
|
get when() {
|
|
273
285
|
return props.onRetry;
|
|
274
286
|
},
|
|
275
287
|
children: retry => (() => {
|
|
276
|
-
var _el$
|
|
277
|
-
_el$
|
|
278
|
-
_$insert(_el$
|
|
288
|
+
var _el$32 = _$getNextElement(_tmpl$14);
|
|
289
|
+
_el$32.$$click = () => retry()();
|
|
290
|
+
_$insert(_el$32, () => t().reload);
|
|
279
291
|
_$runHydrationEvents();
|
|
280
|
-
return _el$
|
|
292
|
+
return _el$32;
|
|
281
293
|
})()
|
|
282
294
|
})]
|
|
283
295
|
});
|
|
@@ -300,11 +312,11 @@ function Body(props) {
|
|
|
300
312
|
return props.onRetry;
|
|
301
313
|
},
|
|
302
314
|
children: retry => (() => {
|
|
303
|
-
var _el$
|
|
304
|
-
_el$
|
|
305
|
-
_$insert(_el$
|
|
315
|
+
var _el$33 = _$getNextElement(_tmpl$14);
|
|
316
|
+
_el$33.$$click = () => retry()();
|
|
317
|
+
_$insert(_el$33, () => t().retry);
|
|
306
318
|
_$runHydrationEvents();
|
|
307
|
-
return _el$
|
|
319
|
+
return _el$33;
|
|
308
320
|
})()
|
|
309
321
|
});
|
|
310
322
|
}
|
|
@@ -331,20 +343,20 @@ export function StatCell(props) {
|
|
|
331
343
|
},
|
|
332
344
|
get fallback() {
|
|
333
345
|
return (() => {
|
|
334
|
-
var _el$
|
|
335
|
-
_$setAttribute(_el$
|
|
336
|
-
_$insert(_el$
|
|
346
|
+
var _el$38 = _$getNextElement(_tmpl$16);
|
|
347
|
+
_$setAttribute(_el$38, "data-surface", surface);
|
|
348
|
+
_$insert(_el$38, _$createComponent(Body, props));
|
|
337
349
|
_$effect(_p$ => {
|
|
338
350
|
var _v$13 = size(),
|
|
339
351
|
_v$14 = props.wrap || undefined,
|
|
340
352
|
_v$15 = props.deltaPlacement,
|
|
341
353
|
_v$16 = props.status,
|
|
342
354
|
_v$17 = props.status === "loading" || undefined;
|
|
343
|
-
_v$13 !== _p$.e && _$setAttribute(_el$
|
|
344
|
-
_v$14 !== _p$.t && _$setAttribute(_el$
|
|
345
|
-
_v$15 !== _p$.a && _$setAttribute(_el$
|
|
346
|
-
_v$16 !== _p$.o && _$setAttribute(_el$
|
|
347
|
-
_v$17 !== _p$.i && _$setAttribute(_el$
|
|
355
|
+
_v$13 !== _p$.e && _$setAttribute(_el$38, "data-size", _p$.e = _v$13);
|
|
356
|
+
_v$14 !== _p$.t && _$setAttribute(_el$38, "data-wrap", _p$.t = _v$14);
|
|
357
|
+
_v$15 !== _p$.a && _$setAttribute(_el$38, "data-delta-placement", _p$.a = _v$15);
|
|
358
|
+
_v$16 !== _p$.o && _$setAttribute(_el$38, "data-status", _p$.o = _v$16);
|
|
359
|
+
_v$17 !== _p$.i && _$setAttribute(_el$38, "aria-busy", _p$.i = _v$17);
|
|
348
360
|
return _p$;
|
|
349
361
|
}, {
|
|
350
362
|
e: undefined,
|
|
@@ -353,25 +365,25 @@ export function StatCell(props) {
|
|
|
353
365
|
o: undefined,
|
|
354
366
|
i: undefined
|
|
355
367
|
});
|
|
356
|
-
return _el$
|
|
368
|
+
return _el$38;
|
|
357
369
|
})();
|
|
358
370
|
},
|
|
359
371
|
get children() {
|
|
360
|
-
var _el$
|
|
361
|
-
_el$
|
|
362
|
-
_el$
|
|
363
|
-
[_el$
|
|
364
|
-
_$setAttribute(_el$
|
|
365
|
-
_$insert(_el$
|
|
372
|
+
var _el$34 = _$getNextElement(_tmpl$15),
|
|
373
|
+
_el$35 = _el$34.firstChild,
|
|
374
|
+
_el$36 = _el$35.nextSibling,
|
|
375
|
+
[_el$37, _co$7] = _$getNextMarker(_el$36.nextSibling);
|
|
376
|
+
_$setAttribute(_el$34, "data-surface", surface);
|
|
377
|
+
_$insert(_el$34, _$createComponent(Body, props), _el$37, _co$7);
|
|
366
378
|
_$effect(_p$ => {
|
|
367
379
|
var _v$1 = props.href,
|
|
368
380
|
_v$10 = size(),
|
|
369
381
|
_v$11 = props.wrap || undefined,
|
|
370
382
|
_v$12 = props.deltaPlacement;
|
|
371
|
-
_v$1 !== _p$.e && _$setAttribute(_el$
|
|
372
|
-
_v$10 !== _p$.t && _$setAttribute(_el$
|
|
373
|
-
_v$11 !== _p$.a && _$setAttribute(_el$
|
|
374
|
-
_v$12 !== _p$.o && _$setAttribute(_el$
|
|
383
|
+
_v$1 !== _p$.e && _$setAttribute(_el$34, "href", _p$.e = _v$1);
|
|
384
|
+
_v$10 !== _p$.t && _$setAttribute(_el$34, "data-size", _p$.t = _v$10);
|
|
385
|
+
_v$11 !== _p$.a && _$setAttribute(_el$34, "data-wrap", _p$.a = _v$11);
|
|
386
|
+
_v$12 !== _p$.o && _$setAttribute(_el$34, "data-delta-placement", _p$.o = _v$12);
|
|
375
387
|
return _p$;
|
|
376
388
|
}, {
|
|
377
389
|
e: undefined,
|
|
@@ -379,7 +391,7 @@ export function StatCell(props) {
|
|
|
379
391
|
a: undefined,
|
|
380
392
|
o: undefined
|
|
381
393
|
});
|
|
382
|
-
return _el$
|
|
394
|
+
return _el$34;
|
|
383
395
|
}
|
|
384
396
|
});
|
|
385
397
|
}
|