@slotted/react 0.1.0-beta.6 → 0.1.0-beta.8
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/{action-bar-ti3e6FK1.js → action-bar-C5zaYrEW.js} +2 -2
- package/dist/action-bar.js +1 -1
- package/dist/{action-sheet-C60BWUW8.js → action-sheet-DD477dAw.js} +1 -1
- package/dist/action-sheet.js +1 -1
- package/dist/{app-shell-nnSP44OO.js → app-shell-DNdZ5ys0.js} +1 -1
- package/dist/app-shell.js +1 -1
- package/dist/{calendar-BZ6PP7Ke.js → calendar-xcoBnHpK.js} +17 -17
- package/dist/calendar.js +1 -1
- package/dist/{color-picker-BcRCeISx.js → color-picker-amz8XfXm.js} +1 -1
- package/dist/color-picker.js +1 -1
- package/dist/{column-manager-BtkYLs5G.js → column-manager-DonEo9wp.js} +2 -2
- package/dist/column-manager.js +1 -1
- package/dist/{command-palette-DFLbSOiv.js → command-palette-Dw03scvF.js} +244 -241
- package/dist/command-palette.js +1 -1
- package/dist/{context-menu-B00UIBVC.js → context-menu-g3DMZKR3.js} +1 -1
- package/dist/context-menu.js +1 -1
- package/dist/{dashboard-grid-CoLKLvYL.js → dashboard-grid-DsovCuVC.js} +1 -1
- package/dist/dashboard-grid.js +1 -1
- package/dist/{data-grid-DX95Y7mY.js → data-grid-B93D5XsR.js} +10 -10
- package/dist/data-grid.js +1 -1
- package/dist/{data-list-CWYTPNm-.js → data-list-UtLdop-1.js} +1 -1
- package/dist/data-list.js +1 -1
- package/dist/{date-field-BxEpqAPg.js → date-field-DEauLQVL.js} +80 -80
- package/dist/date-field.js +1 -1
- package/dist/{date-picker-DRk9SZp1.js → date-picker-C22jlzUv.js} +2 -2
- package/dist/date-picker.js +1 -1
- package/dist/{date-range-picker-6Yz7avTS.js → date-range-picker-BUKoddmL.js} +2 -2
- package/dist/date-range-picker.js +1 -1
- package/dist/{datetime-field-D2f9u6im.js → datetime-field-Bptwvuip.js} +33 -33
- package/dist/datetime-field.js +1 -1
- package/dist/{datetime-picker-STqSWMkH.js → datetime-picker-BiarFWN3.js} +2 -2
- package/dist/datetime-picker.js +1 -1
- package/dist/{datetime-range-picker-DQNQwr3K.js → datetime-range-picker--JtLnGQ2.js} +2 -2
- package/dist/datetime-range-picker.js +1 -1
- package/dist/{detail-panel-z6WGleP4.js → detail-panel-ChaIgrw3.js} +2 -2
- package/dist/detail-panel.js +1 -1
- package/dist/{dialog-BHYDDj1S.js → dialog-Ds0LJWE_.js} +157 -140
- package/dist/dialog.js +1 -1
- package/dist/docs/calendar.json +1 -1
- package/dist/docs/menu.json +12 -0
- package/dist/docs/menu.md +2 -0
- package/dist/docs/side-navigation.json +1 -0
- package/dist/docs/side-navigation.md +1 -1
- package/dist/docs/table.examples.md +13 -17
- package/dist/docs/table.json +3 -3
- package/dist/{drawer-LXM44eso.js → drawer-DZ_29U6H.js} +5 -2
- package/dist/drawer.js +1 -1
- package/dist/{event-calendar-CiphPXdV.js → event-calendar-CPAun_ab.js} +3 -3
- package/dist/event-calendar.js +1 -1
- package/dist/{filter-bar-C_dXljI_.js → filter-bar-BKKqH0ui.js} +5 -5
- package/dist/filter-bar.js +1 -1
- package/dist/{import-export-center-BQnMJz4g.js → import-export-center-Bg1Iavoa.js} +2 -2
- package/dist/import-export-center.js +1 -1
- package/dist/index.js +40 -40
- package/dist/{loading-overlay-COfnckse.js → loading-overlay-RRsNK1FN.js} +1 -1
- package/dist/loading-overlay.js +1 -1
- package/dist/{menu-parts-D6v_mz6O.js → menu-parts-BpQu2s4z.js} +210 -206
- package/dist/menu.js +1 -1
- package/dist/{menubar-DApIg1eR.js → menubar-rpNcgIrw.js} +1 -1
- package/dist/menubar.js +1 -1
- package/dist/{navigation-menu-parts-D8qFAwHX.js → navigation-menu-parts-Cn-OAadu.js} +1 -1
- package/dist/navigation-menu.js +1 -1
- package/dist/{page-IiYXk1sz.js → page-QP8Zyz8-.js} +1 -1
- package/dist/{page-header-Bn4nIGfF.js → page-header-BP_Wt3eS.js} +1 -1
- package/dist/page-header.js +1 -1
- package/dist/page.js +1 -1
- package/dist/{saved-views-B3brBTD9.js → saved-views-DB2IIdhH.js} +1 -1
- package/dist/saved-views.js +1 -1
- package/dist/{side-navigation-Bm-BZma1.js → side-navigation-BnUKTrtd.js} +1 -1
- package/dist/side-navigation.js +1 -1
- package/dist/{split-button-DKRm0j5c.js → split-button-p97Bd5wM.js} +1 -1
- package/dist/split-button.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{table-BYEvFr4P.js → table-BTSOjlTn.js} +8 -8
- package/dist/table.js +1 -1
- package/dist/{time-field-BI9n607q.js → time-field-DeKrogZG.js} +2 -2
- package/dist/time-field.js +1 -1
- package/dist/{time-picker-D6SlQWNF.js → time-picker-C0-O0oMU.js} +1 -1
- package/dist/time-picker.js +1 -1
- package/dist/{time-range-picker-CcV3_45h.js → time-range-picker-Fdb70Zj_.js} +1 -1
- package/dist/time-range-picker.js +1 -1
- package/dist/{toast-Bf3e0AgC.js → toast-BTN_F9No.js} +1 -1
- package/dist/toast.js +1 -1
- package/dist/{toolbar-B9knmgHA.js → toolbar-U-CFEb1c.js} +1 -1
- package/dist/toolbar.js +1 -1
- package/dist/{top-navigation-DiG2PF5W.js → top-navigation-BjIRQfkK.js} +2 -2
- package/dist/top-navigation.js +1 -1
- package/dist/types/action-bar/action-bar.d.ts.map +1 -1
- package/dist/types/app-shell/app-shell.d.ts.map +1 -1
- package/dist/types/calendar/calendar.d.ts.map +1 -1
- package/dist/types/command-palette/command-palette.d.ts.map +1 -1
- package/dist/types/dialog/dialog-parts.d.ts.map +1 -1
- package/dist/types/dialog/dialog.d.ts.map +1 -1
- package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
- package/dist/types/drawer/drawer.d.ts.map +1 -1
- package/dist/types/loading-overlay/loading-overlay.d.ts.map +1 -1
- package/dist/types/menu/index.d.ts +1 -1
- package/dist/types/menu/index.d.ts.map +1 -1
- package/dist/types/menu/menu-defaults.d.ts.map +1 -1
- package/dist/types/menu/menu-parts.d.ts.map +1 -1
- package/dist/types/menu/menu.d.ts +1 -1
- package/dist/types/menu/menu.d.ts.map +1 -1
- package/dist/types/menu/menu.types.d.ts +10 -0
- package/dist/types/menu/menu.types.d.ts.map +1 -1
- package/dist/types/navigation-menu/navigation-menu-parts.d.ts.map +1 -1
- package/dist/types/page/page.d.ts.map +1 -1
- package/dist/types/table/table-parts.d.ts +4 -0
- package/dist/types/table/table-parts.d.ts.map +1 -1
- package/dist/types/toast/toast-parts.d.ts.map +1 -1
- package/dist/{upload-CLX5cURk.js → upload-DGmsz9Hw.js} +1 -1
- package/dist/upload.js +1 -1
- package/package.json +11 -8
|
@@ -4,13 +4,14 @@ import { createFocusScope as r } from "@slotted/core/focus";
|
|
|
4
4
|
import { createControllable as i } from "@slotted/core/state";
|
|
5
5
|
import { createContext as a, useCallback as o, useContext as s, useEffect as c, useId as l, useImperativeHandle as u, useLayoutEffect as d, useMemo as f, useRef as p, useState as m } from "react";
|
|
6
6
|
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
7
|
-
import { createPresence as
|
|
8
|
-
import { createPortalRoot as
|
|
9
|
-
import { createDismissableLayer as
|
|
10
|
-
import { createPortal as
|
|
11
|
-
import { dialogMessages as
|
|
7
|
+
import { createPresence as v } from "@slotted/core/presence";
|
|
8
|
+
import { createPortalRoot as y } from "@slotted/core/portal";
|
|
9
|
+
import { createDismissableLayer as b } from "@slotted/core/dismissable-layer";
|
|
10
|
+
import { createPortal as x } from "react-dom";
|
|
11
|
+
import { dialogMessages as S } from "@slotted/core/i18n";
|
|
12
|
+
import { observeKeyboardInset as C } from "@slotted/core/measure";
|
|
12
13
|
//#region src/dialog/dialog-defaults.tsx
|
|
13
|
-
var
|
|
14
|
+
var w = a({
|
|
14
15
|
back: "close",
|
|
15
16
|
escape: "close",
|
|
16
17
|
fullScreen: "narrow",
|
|
@@ -22,12 +23,12 @@ var x = a({
|
|
|
22
23
|
size: "md",
|
|
23
24
|
surface: "panel"
|
|
24
25
|
});
|
|
25
|
-
function
|
|
26
|
-
return s(
|
|
26
|
+
function T() {
|
|
27
|
+
return s(w);
|
|
27
28
|
}
|
|
28
|
-
function
|
|
29
|
-
let n =
|
|
30
|
-
return /* @__PURE__ */ g(
|
|
29
|
+
function ee({ children: e, ...t }) {
|
|
30
|
+
let n = T();
|
|
31
|
+
return /* @__PURE__ */ g(w.Provider, {
|
|
31
32
|
value: {
|
|
32
33
|
back: t.back ?? n.back,
|
|
33
34
|
escape: t.escape ?? n.escape,
|
|
@@ -45,38 +46,38 @@ function C({ children: e, ...t }) {
|
|
|
45
46
|
}
|
|
46
47
|
//#endregion
|
|
47
48
|
//#region src/dialog/dialog.tsx
|
|
48
|
-
var
|
|
49
|
-
function
|
|
50
|
-
let e = s(
|
|
49
|
+
var E = a(void 0);
|
|
50
|
+
function D() {
|
|
51
|
+
let e = s(E);
|
|
51
52
|
if (e === void 0) throw Error("Every dialog part must be rendered inside Dialog or AlertDialog.");
|
|
52
53
|
return e;
|
|
53
54
|
}
|
|
54
|
-
function
|
|
55
|
-
let
|
|
56
|
-
|
|
57
|
-
present:
|
|
58
|
-
onStatusChange:
|
|
55
|
+
function O({ back: e, children: t, container: r, defaultFullscreen: a, defaultOpen: s, escape: d, finalFocus: h, fullscreen: _, fullScreen: y, fullscreenToggle: b, initialFocus: x, loading: C, member: w, messages: ee, modal: D, mount: O, onFullscreenChange: k, onOpenChange: A, open: j, outsidePress: M, placement: te, ref: ne, scroll: re, size: ie, surface: N, tone: P }) {
|
|
56
|
+
let F = T(), I = n(S, ee), L = l(), [R, z] = m(s ?? !1), B = j ?? R, V = w === "alertDialog", [H, U] = m(a ?? !1), W = !V && (_ ?? H), G = !V && b === !0, K = V ? !0 : D ?? F.modal, q = V ? "none" : M ?? F.outsidePress, J = O ?? F.mount, Y = ie ?? (V ? "sm" : F.size), ae = y ?? (V ? "never" : F.fullScreen), oe = x ?? (V ? "cancel" : "first"), se = d ?? F.escape, ce = e ?? F.back, le = te ?? F.placement, ue = re ?? F.scroll, de = N ?? F.surface, [X, fe] = m(B ? "open" : "unmounted"), Z = p(null);
|
|
57
|
+
Z.current === null && (Z.current = v({
|
|
58
|
+
present: B,
|
|
59
|
+
onStatusChange: fe
|
|
59
60
|
})), c(() => {
|
|
60
|
-
|
|
61
|
-
}, [
|
|
62
|
-
let e =
|
|
63
|
-
return () => e?.
|
|
61
|
+
Z.current?.sync(B);
|
|
62
|
+
}, [B]), c(() => {
|
|
63
|
+
let e = Z.current;
|
|
64
|
+
return () => e?.stop();
|
|
64
65
|
}, []);
|
|
65
|
-
let
|
|
66
|
-
|
|
67
|
-
let
|
|
66
|
+
let pe = p(B);
|
|
67
|
+
B && (pe.current = !0);
|
|
68
|
+
let me = J === "eager" ? !0 : J === "lazy" ? pe.current : X !== "unmounted", Q = p({
|
|
68
69
|
cancel: null,
|
|
69
70
|
content: null,
|
|
70
71
|
trigger: null
|
|
71
|
-
}), [
|
|
72
|
-
e === "cancel" && (
|
|
72
|
+
}), [he, ge] = m(!1), [_e, ve] = m(!1), ye = o((e, t) => (e === "cancel" && (Q.current.cancel = t), e === "title" && ge(!0), e === "description" && ve(!0), () => {
|
|
73
|
+
e === "cancel" && (Q.current.cancel = null), e === "title" && ge(!1), e === "description" && ve(!1);
|
|
73
74
|
}), []), $ = o((e, t, n, r) => {
|
|
74
|
-
if (e ===
|
|
75
|
+
if (e === B) return;
|
|
75
76
|
let a = !1, o = i({
|
|
76
|
-
controlled:
|
|
77
|
-
initial:
|
|
77
|
+
controlled: j,
|
|
78
|
+
initial: B,
|
|
78
79
|
onRequest: (e) => {
|
|
79
|
-
a = e.cancelled,
|
|
80
|
+
a = e.cancelled, A?.(e.value, {
|
|
80
81
|
get cancelled() {
|
|
81
82
|
return e.cancelled;
|
|
82
83
|
},
|
|
@@ -89,17 +90,17 @@ function E({ back: e, children: t, container: r, defaultFullscreen: a, defaultOp
|
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
92
|
}).request(e, t, r);
|
|
92
|
-
a || o &&
|
|
93
|
+
a || o && z(e);
|
|
93
94
|
}, [
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
B,
|
|
96
|
+
A,
|
|
97
|
+
j
|
|
97
98
|
]), be = o((e, t, n) => {
|
|
98
|
-
e !==
|
|
99
|
+
e !== W && i({
|
|
99
100
|
controlled: _,
|
|
100
|
-
initial:
|
|
101
|
+
initial: W,
|
|
101
102
|
onRequest: (e) => {
|
|
102
|
-
|
|
103
|
+
k?.(e.value, {
|
|
103
104
|
get cancelled() {
|
|
104
105
|
return e.cancelled;
|
|
105
106
|
},
|
|
@@ -110,115 +111,115 @@ function E({ back: e, children: t, container: r, defaultFullscreen: a, defaultOp
|
|
|
110
111
|
value: e.value
|
|
111
112
|
});
|
|
112
113
|
}
|
|
113
|
-
}).request(e, t, n) &&
|
|
114
|
+
}).request(e, t, n) && U(e);
|
|
114
115
|
}, [
|
|
115
|
-
|
|
116
|
+
W,
|
|
116
117
|
_,
|
|
117
|
-
|
|
118
|
+
k
|
|
118
119
|
]);
|
|
119
120
|
u(ne, () => ({
|
|
120
121
|
open: () => $(!0, "programmatic", void 0, void 0),
|
|
121
122
|
close: (e) => $(!1, "programmatic", e, void 0),
|
|
122
|
-
focus: () =>
|
|
123
|
+
focus: () => Q.current.content?.focus(),
|
|
123
124
|
get content() {
|
|
124
|
-
return
|
|
125
|
+
return Q.current.content;
|
|
125
126
|
}
|
|
126
127
|
}), [$]);
|
|
127
128
|
let xe = f(() => ({
|
|
128
129
|
announce: ye,
|
|
129
130
|
close: (e, t, n) => $(!1, e, t, n),
|
|
130
131
|
container: r,
|
|
131
|
-
descriptionId:
|
|
132
|
-
back:
|
|
133
|
-
escape:
|
|
132
|
+
descriptionId: _e ? `${L}description` : "",
|
|
133
|
+
back: ce,
|
|
134
|
+
escape: se,
|
|
134
135
|
finalFocus: h,
|
|
135
|
-
fullScreen:
|
|
136
|
-
fullscreen:
|
|
137
|
-
fullscreenToggle:
|
|
138
|
-
initialFocus:
|
|
136
|
+
fullScreen: ae,
|
|
137
|
+
fullscreen: W,
|
|
138
|
+
fullscreenToggle: G,
|
|
139
|
+
initialFocus: oe,
|
|
139
140
|
setFullscreen: be,
|
|
140
|
-
loading:
|
|
141
|
-
member:
|
|
142
|
-
modal:
|
|
143
|
-
mount:
|
|
144
|
-
mounted:
|
|
145
|
-
nodes:
|
|
146
|
-
open:
|
|
141
|
+
loading: C === !0,
|
|
142
|
+
member: w,
|
|
143
|
+
modal: K,
|
|
144
|
+
mount: J,
|
|
145
|
+
mounted: me,
|
|
146
|
+
nodes: Q.current,
|
|
147
|
+
open: B,
|
|
147
148
|
openWith: (e, t) => $(!0, e, void 0, t),
|
|
148
|
-
outsidePress:
|
|
149
|
-
placement:
|
|
149
|
+
outsidePress: q,
|
|
150
|
+
placement: le,
|
|
150
151
|
registerContent: (e) => {
|
|
151
|
-
|
|
152
|
+
Q.current.content = e;
|
|
152
153
|
},
|
|
153
|
-
registerLayer: (e) =>
|
|
154
|
+
registerLayer: (e) => Z.current?.setNode(e),
|
|
154
155
|
registerTrigger: (e) => {
|
|
155
|
-
|
|
156
|
+
Q.current.trigger = e;
|
|
156
157
|
},
|
|
157
|
-
scroll:
|
|
158
|
-
size:
|
|
159
|
-
surface:
|
|
160
|
-
t:
|
|
161
|
-
titleId:
|
|
162
|
-
tone:
|
|
163
|
-
triggerId: `${
|
|
164
|
-
visible:
|
|
165
|
-
interactive:
|
|
158
|
+
scroll: ue,
|
|
159
|
+
size: Y,
|
|
160
|
+
surface: de,
|
|
161
|
+
t: I,
|
|
162
|
+
titleId: he ? `${L}title` : "",
|
|
163
|
+
tone: V ? P ?? "danger" : void 0,
|
|
164
|
+
triggerId: `${L}trigger`,
|
|
165
|
+
visible: X === "open",
|
|
166
|
+
interactive: X === "entering" || X === "open"
|
|
166
167
|
}), [
|
|
167
168
|
ye,
|
|
168
|
-
|
|
169
|
+
L,
|
|
169
170
|
r,
|
|
170
|
-
z,
|
|
171
|
-
H,
|
|
172
|
-
Q,
|
|
173
|
-
h,
|
|
174
171
|
B,
|
|
175
|
-
|
|
172
|
+
W,
|
|
173
|
+
_e,
|
|
174
|
+
h,
|
|
175
|
+
V,
|
|
176
176
|
C,
|
|
177
|
-
|
|
177
|
+
w,
|
|
178
|
+
me,
|
|
178
179
|
$,
|
|
179
|
-
le,
|
|
180
180
|
ce,
|
|
181
|
-
J,
|
|
182
|
-
U,
|
|
183
181
|
se,
|
|
184
|
-
|
|
185
|
-
K,
|
|
182
|
+
ae,
|
|
186
183
|
G,
|
|
187
|
-
|
|
188
|
-
|
|
184
|
+
oe,
|
|
185
|
+
K,
|
|
186
|
+
J,
|
|
189
187
|
q,
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
le,
|
|
189
|
+
ue,
|
|
192
190
|
Y,
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
191
|
+
be,
|
|
192
|
+
de,
|
|
193
|
+
X,
|
|
194
|
+
I,
|
|
195
|
+
he,
|
|
196
|
+
P
|
|
196
197
|
]);
|
|
197
|
-
return /* @__PURE__ */ g(
|
|
198
|
+
return /* @__PURE__ */ g(E.Provider, {
|
|
198
199
|
value: xe,
|
|
199
200
|
children: t
|
|
200
201
|
});
|
|
201
202
|
}
|
|
202
|
-
function
|
|
203
|
-
return /* @__PURE__ */ g(
|
|
203
|
+
function k(e) {
|
|
204
|
+
return /* @__PURE__ */ g(O, {
|
|
204
205
|
...e,
|
|
205
206
|
member: "dialog"
|
|
206
207
|
});
|
|
207
208
|
}
|
|
208
|
-
function
|
|
209
|
-
return /* @__PURE__ */ g(
|
|
209
|
+
function A(e) {
|
|
210
|
+
return /* @__PURE__ */ g(O, {
|
|
210
211
|
...e,
|
|
211
212
|
member: "alertDialog"
|
|
212
213
|
});
|
|
213
214
|
}
|
|
214
215
|
//#endregion
|
|
215
216
|
//#region src/dialog/dialog-parts.tsx
|
|
216
|
-
function
|
|
217
|
+
function j(e) {
|
|
217
218
|
return e.detail === 0 ? "keyboard" : "pointer";
|
|
218
219
|
}
|
|
219
|
-
var
|
|
220
|
-
function
|
|
221
|
-
let s =
|
|
220
|
+
var M = typeof document > "u" ? c : d;
|
|
221
|
+
function te({ children: e, className: t, onClick: n, ref: r, render: i, style: a, ...o }) {
|
|
222
|
+
let s = D(), c = {
|
|
222
223
|
...o,
|
|
223
224
|
"aria-controls": s.mounted ? `${s.triggerId}-content` : void 0,
|
|
224
225
|
"aria-expanded": s.open,
|
|
@@ -229,7 +230,7 @@ function j({ children: e, className: t, onClick: n, ref: r, render: i, style: a,
|
|
|
229
230
|
...s.open ? { "data-open": "" } : {},
|
|
230
231
|
id: s.triggerId,
|
|
231
232
|
onClick: (e) => {
|
|
232
|
-
n?.(e), !e.defaultPrevented && s.openWith(
|
|
233
|
+
n?.(e), !e.defaultPrevented && s.openWith(j(e), e);
|
|
233
234
|
},
|
|
234
235
|
ref: (e) => {
|
|
235
236
|
s.registerTrigger(e), typeof r == "function" ? r(e) : r && (r.current = e);
|
|
@@ -239,11 +240,11 @@ function j({ children: e, className: t, onClick: n, ref: r, render: i, style: a,
|
|
|
239
240
|
};
|
|
240
241
|
return i === void 0 ? /* @__PURE__ */ g("button", { ...c }) : i(c);
|
|
241
242
|
}
|
|
242
|
-
function
|
|
243
|
+
function ne(e) {
|
|
243
244
|
let [t, n] = m(null);
|
|
244
|
-
return
|
|
245
|
+
return M(() => {
|
|
245
246
|
if (!e.mounted) return;
|
|
246
|
-
let t =
|
|
247
|
+
let t = y({
|
|
247
248
|
origin: e.nodes.trigger,
|
|
248
249
|
...e.container === void 0 ? {} : { container: e.container }
|
|
249
250
|
});
|
|
@@ -256,15 +257,15 @@ function M(e) {
|
|
|
256
257
|
e.nodes
|
|
257
258
|
]), t;
|
|
258
259
|
}
|
|
259
|
-
function
|
|
260
|
-
let s =
|
|
261
|
-
|
|
260
|
+
function re({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
|
|
261
|
+
let s = D(), l = ne(s), [u, d] = m(null), f = `${s.triggerId}-content`, p = s.titleId !== "" && o["aria-label"] === void 0, h = s.descriptionId !== "";
|
|
262
|
+
c(() => {
|
|
262
263
|
if (s.member === "alertDialog" && u !== null && u.querySelector("[data-part=\"description\"]") === null) throw Error("AlertDialog requires a DialogDescription: the alertdialog pattern makes aria-describedby mandatory.");
|
|
263
264
|
}, [u, s.member]), c(() => {
|
|
264
265
|
if (u === null || !s.open) return;
|
|
265
266
|
let e = u.closest("[data-ui=\"dialog\"]");
|
|
266
267
|
if (e === null) return;
|
|
267
|
-
let t = s.nodes.trigger === null ? [] : [s.nodes.trigger], n =
|
|
268
|
+
let t = s.nodes.trigger === null ? [] : [s.nodes.trigger], n = b(e, {
|
|
268
269
|
back: s.modal && s.back === "close",
|
|
269
270
|
branches: t,
|
|
270
271
|
content: u,
|
|
@@ -284,8 +285,24 @@ function ne({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
|
|
|
284
285
|
return o.enter(), () => {
|
|
285
286
|
n.destroy(), o.destroy();
|
|
286
287
|
};
|
|
287
|
-
}, [u, s])
|
|
288
|
-
let
|
|
288
|
+
}, [u, s]);
|
|
289
|
+
let v = s.fullScreen !== "never" || s.fullscreen;
|
|
290
|
+
if (c(() => {
|
|
291
|
+
if (u === null || !s.open || !v) return;
|
|
292
|
+
let e = u.closest("[data-ui=\"dialog\"]");
|
|
293
|
+
if (e === null) return;
|
|
294
|
+
let t = C(e.ownerDocument.defaultView, (t) => {
|
|
295
|
+
t === 0 ? e.style.removeProperty("--slotted-keyboard-inset") : e.style.setProperty("--slotted-keyboard-inset", `${t}px`);
|
|
296
|
+
});
|
|
297
|
+
return () => {
|
|
298
|
+
t(), e.style.removeProperty("--slotted-keyboard-inset");
|
|
299
|
+
};
|
|
300
|
+
}, [
|
|
301
|
+
u,
|
|
302
|
+
v,
|
|
303
|
+
s.open
|
|
304
|
+
]), !s.mounted || l === null) return null;
|
|
305
|
+
let y = {
|
|
289
306
|
"data-full-screen": s.fullScreen,
|
|
290
307
|
...s.fullscreen ? { "data-fullscreen": "" } : {},
|
|
291
308
|
...s.loading ? { "data-loading": "" } : {},
|
|
@@ -300,7 +317,7 @@ function ne({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
|
|
|
300
317
|
"data-surface": s.surface,
|
|
301
318
|
...s.tone === void 0 ? {} : { "data-tone": s.tone },
|
|
302
319
|
"data-ui": "dialog"
|
|
303
|
-
},
|
|
320
|
+
}, S = {
|
|
304
321
|
...o,
|
|
305
322
|
...h ? { "aria-describedby": s.descriptionId } : {},
|
|
306
323
|
...p ? { "aria-labelledby": s.titleId } : {},
|
|
@@ -314,21 +331,21 @@ function ne({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
|
|
|
314
331
|
},
|
|
315
332
|
role: s.member === "alertDialog" ? "alertdialog" : "dialog",
|
|
316
333
|
style: a
|
|
317
|
-
},
|
|
318
|
-
return
|
|
319
|
-
...
|
|
334
|
+
}, w = i === void 0 ? /* @__PURE__ */ g("div", { ...S }) : i(S);
|
|
335
|
+
return x(/* @__PURE__ */ _("div", {
|
|
336
|
+
...y,
|
|
320
337
|
...s.interactive ? {} : { inert: !0 },
|
|
321
338
|
ref: s.registerLayer,
|
|
322
339
|
children: [/* @__PURE__ */ g("div", { "data-part": "backdrop" }), /* @__PURE__ */ g("div", {
|
|
323
340
|
"data-part": "viewport",
|
|
324
|
-
children:
|
|
341
|
+
children: w
|
|
325
342
|
})]
|
|
326
343
|
}), l);
|
|
327
344
|
}
|
|
328
|
-
function
|
|
329
|
-
let o =
|
|
345
|
+
function ie({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
346
|
+
let o = D(), s = {
|
|
330
347
|
...a,
|
|
331
|
-
children: /* @__PURE__ */ _(h, { children: [e, o.fullscreenToggle ? /* @__PURE__ */ g(
|
|
348
|
+
children: /* @__PURE__ */ _(h, { children: [e, o.fullscreenToggle ? /* @__PURE__ */ g(N, {}) : null] }),
|
|
332
349
|
className: t,
|
|
333
350
|
"data-part": "header",
|
|
334
351
|
style: i
|
|
@@ -338,8 +355,8 @@ function re({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
|
338
355
|
ref: n
|
|
339
356
|
}) : r(s);
|
|
340
357
|
}
|
|
341
|
-
function
|
|
342
|
-
let n =
|
|
358
|
+
function N() {
|
|
359
|
+
let n = D();
|
|
343
360
|
return /* @__PURE__ */ g("button", {
|
|
344
361
|
"aria-label": n.t("fullScreen"),
|
|
345
362
|
"aria-pressed": n.fullscreen,
|
|
@@ -351,8 +368,8 @@ function ie() {
|
|
|
351
368
|
children: /* @__PURE__ */ g(t, { children: /* @__PURE__ */ g(e, { name: n.fullscreen ? "minimize" : "maximize" }) })
|
|
352
369
|
});
|
|
353
370
|
}
|
|
354
|
-
function
|
|
355
|
-
let o =
|
|
371
|
+
function P({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
372
|
+
let o = D();
|
|
356
373
|
c(() => o.announce("title", null), [o]);
|
|
357
374
|
let s = {
|
|
358
375
|
...a,
|
|
@@ -367,8 +384,8 @@ function ae({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
|
367
384
|
ref: n
|
|
368
385
|
}) : r(s);
|
|
369
386
|
}
|
|
370
|
-
function
|
|
371
|
-
let o =
|
|
387
|
+
function F({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
388
|
+
let o = D();
|
|
372
389
|
c(() => o.announce("description", null), [o]);
|
|
373
390
|
let s = {
|
|
374
391
|
...a,
|
|
@@ -383,8 +400,8 @@ function N({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
|
383
400
|
ref: n
|
|
384
401
|
}) : r(s);
|
|
385
402
|
}
|
|
386
|
-
function
|
|
387
|
-
let o =
|
|
403
|
+
function I({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
404
|
+
let o = D(), s = {
|
|
388
405
|
...a,
|
|
389
406
|
...o.loading ? { "aria-busy": !0 } : {},
|
|
390
407
|
children: e,
|
|
@@ -397,7 +414,7 @@ function P({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
|
397
414
|
ref: n
|
|
398
415
|
}) : r(s);
|
|
399
416
|
}
|
|
400
|
-
function
|
|
417
|
+
function L({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
401
418
|
let o = {
|
|
402
419
|
...a,
|
|
403
420
|
children: e,
|
|
@@ -410,8 +427,8 @@ function F({ children: e, className: t, ref: n, render: r, style: i, ...a }) {
|
|
|
410
427
|
ref: n
|
|
411
428
|
}) : r(o);
|
|
412
429
|
}
|
|
413
|
-
function
|
|
414
|
-
let i =
|
|
430
|
+
function R(e, t, n, r) {
|
|
431
|
+
let i = D();
|
|
415
432
|
return {
|
|
416
433
|
dialog: i,
|
|
417
434
|
handleClick: (e) => {
|
|
@@ -420,8 +437,8 @@ function I(e, t, n, r) {
|
|
|
420
437
|
part: e
|
|
421
438
|
};
|
|
422
439
|
}
|
|
423
|
-
function
|
|
424
|
-
let { dialog: u, handleClick: d } =
|
|
440
|
+
function z({ children: n, className: r, onClick: i, ref: a, render: o, style: s, value: c, ...l }) {
|
|
441
|
+
let { dialog: u, handleClick: d } = R("close", "dismiss", i, c);
|
|
425
442
|
if (u.member === "alertDialog") throw Error("AlertDialog has no close part: a confirmation is answered with AlertDialogCancel or AlertDialogAction, not dismissed by an ✕.");
|
|
426
443
|
let f = {
|
|
427
444
|
"aria-label": u.t("close"),
|
|
@@ -438,18 +455,18 @@ function L({ children: n, className: r, onClick: i, ref: a, render: o, style: s,
|
|
|
438
455
|
ref: a
|
|
439
456
|
}) : o(f);
|
|
440
457
|
}
|
|
441
|
-
var
|
|
458
|
+
var B = {
|
|
442
459
|
accent: "circle-info",
|
|
443
460
|
secondary: "circle-info",
|
|
444
461
|
success: "circle-check",
|
|
445
462
|
warning: "triangle-alert",
|
|
446
463
|
danger: "circle-alert"
|
|
447
464
|
};
|
|
448
|
-
function
|
|
449
|
-
let c =
|
|
465
|
+
function V({ children: n, className: r, ref: i, render: a, style: o, ...s }) {
|
|
466
|
+
let c = D(), l = {
|
|
450
467
|
"aria-hidden": !0,
|
|
451
468
|
...s,
|
|
452
|
-
children: n ?? /* @__PURE__ */ g(t, { children: /* @__PURE__ */ g(e, { name: c.tone === void 0 ? "triangle-alert" :
|
|
469
|
+
children: n ?? /* @__PURE__ */ g(t, { children: /* @__PURE__ */ g(e, { name: c.tone === void 0 ? "triangle-alert" : B[c.tone] }) }),
|
|
453
470
|
className: r,
|
|
454
471
|
"data-part": "icon",
|
|
455
472
|
style: o
|
|
@@ -459,8 +476,8 @@ function z({ children: n, className: r, ref: i, render: a, style: o, ...s }) {
|
|
|
459
476
|
ref: i
|
|
460
477
|
}) : a(l);
|
|
461
478
|
}
|
|
462
|
-
function
|
|
463
|
-
let { dialog: c, handleClick: l } =
|
|
479
|
+
function H({ children: e, className: t, onClick: n, ref: r, render: i, style: a, value: o, ...s }) {
|
|
480
|
+
let { dialog: c, handleClick: l } = R("cancel", "dismiss", n, o ?? "cancel"), u = {
|
|
464
481
|
...s,
|
|
465
482
|
children: e,
|
|
466
483
|
className: t,
|
|
@@ -479,8 +496,8 @@ function B({ children: e, className: t, onClick: n, ref: r, render: i, style: a,
|
|
|
479
496
|
ref: d
|
|
480
497
|
});
|
|
481
498
|
}
|
|
482
|
-
function
|
|
483
|
-
let { handleClick: c } =
|
|
499
|
+
function U({ children: e, className: t, onClick: n, ref: r, render: i, style: a, value: o, ...s }) {
|
|
500
|
+
let { handleClick: c } = R("action", "submit", n, o ?? "confirm"), l = {
|
|
484
501
|
...s,
|
|
485
502
|
children: e,
|
|
486
503
|
className: t,
|
|
@@ -495,4 +512,4 @@ function V({ children: e, className: t, onClick: n, ref: r, render: i, style: a,
|
|
|
495
512
|
}) : i(l);
|
|
496
513
|
}
|
|
497
514
|
//#endregion
|
|
498
|
-
export {
|
|
515
|
+
export { z as a, L as c, te as d, A as f, T as g, ee as h, I as i, ie as l, D as m, H as n, re as o, k as p, V as r, F as s, U as t, P as u };
|
package/dist/dialog.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./dialog-
|
|
1
|
+
import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./dialog-Ds0LJWE_.js";
|
|
2
2
|
export { r as AlertDialog, m as AlertDialogAction, l as AlertDialogCancel, f as AlertDialogIcon, d as Dialog, o as DialogBody, e as DialogClose, u as DialogContent, a as DialogDefaultsProvider, p as DialogDescription, t as DialogFooter, s as DialogHeader, h as DialogTitle, n as DialogTrigger, c as useDialog, i as useDialogDefaults };
|
package/dist/docs/calendar.json
CHANGED
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"part": "previous",
|
|
115
115
|
"element": "button",
|
|
116
116
|
"required": true,
|
|
117
|
-
"purpose": "One page back, in whichever view is showing: a month in the day view, a year in the month view, twelve years in the year view. Its chevron is the next trigger’s artwork turned, so both follow the document direction from one token."
|
|
117
|
+
"purpose": "One page back, in whichever view is showing: a month in the day view, a year in the month view, twelve years in the year view, and it is named for that step. Its chevron is the next trigger’s artwork turned, so both follow the document direction from one token."
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
"part": "next",
|
package/dist/docs/menu.json
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
"md",
|
|
13
13
|
"lg"
|
|
14
14
|
],
|
|
15
|
+
"width": [
|
|
16
|
+
"content",
|
|
17
|
+
"anchor"
|
|
18
|
+
],
|
|
15
19
|
"side": [
|
|
16
20
|
"bottom",
|
|
17
21
|
"top",
|
|
@@ -84,6 +88,7 @@
|
|
|
84
88
|
"nativeElement": "div",
|
|
85
89
|
"defaults": {
|
|
86
90
|
"size": "md",
|
|
91
|
+
"width": "content",
|
|
87
92
|
"side": "bottom",
|
|
88
93
|
"align": "start",
|
|
89
94
|
"mount": "active",
|
|
@@ -309,6 +314,13 @@
|
|
|
309
314
|
"appliesTo": "Menu",
|
|
310
315
|
"description": "The width of the surface and the height of its items."
|
|
311
316
|
},
|
|
317
|
+
{
|
|
318
|
+
"name": "width",
|
|
319
|
+
"type": "'content' | 'anchor'",
|
|
320
|
+
"defaultValue": "content",
|
|
321
|
+
"appliesTo": "Menu",
|
|
322
|
+
"description": "content: the surface takes its own measure; anchor: it is exactly as wide as its trigger, capped by the available width. A submenu is always content."
|
|
323
|
+
},
|
|
312
324
|
{
|
|
313
325
|
"name": "side",
|
|
314
326
|
"type": "'top' | 'bottom' | 'inline-start' | 'inline-end' | 'left' | 'right'",
|
package/dist/docs/menu.md
CHANGED
|
@@ -74,6 +74,7 @@ export default function MenuBasic() {
|
|
|
74
74
|
| `defaultValue` | `string` | — | MenuRadioGroup | The value an uncontrolled group starts with. |
|
|
75
75
|
| `onValueChange` | `(value, request) => void` | — | MenuRadioGroup | Called before the chosen value changes, with pointer or keyboard as the reason. |
|
|
76
76
|
| `size` | `'sm' \| 'md' \| 'lg'` | md | Menu | The width of the surface and the height of its items. |
|
|
77
|
+
| `width` | `'content' \| 'anchor'` | content | Menu | content: the surface takes its own measure; anchor: it is exactly as wide as its trigger, capped by the available width. A submenu is always content. |
|
|
77
78
|
| `side` | `'top' \| 'bottom' \| 'inline-start' \| 'inline-end' \| 'left' \| 'right'` | bottom | Menu | The edge of the trigger the surface opens from. inline-start and inline-end follow the reading direction. |
|
|
78
79
|
| `align` | `'start' \| 'center' \| 'end'` | start | Menu | Where the surface sits along that edge. |
|
|
79
80
|
| `anchor` | `PositionerAnchor \| null` | — | Menu | What the surface is positioned against instead of the trigger, such as a table row or a point. Focus still returns to the trigger. |
|
|
@@ -130,6 +131,7 @@ export default function MenuBasic() {
|
|
|
130
131
|
| Axis | Values | Default |
|
|
131
132
|
| --- | --- | --- |
|
|
132
133
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
134
|
+
| `width` | `content`, `anchor` | `content` |
|
|
133
135
|
| `side` | `bottom`, `top`, `inline-start`, `inline-end`, `left`, `right` | `bottom` |
|
|
134
136
|
| `align` | `start`, `center`, `end` | `start` |
|
|
135
137
|
| `mount` | `active`, `lazy`, `eager` | `active` |
|
|
@@ -429,6 +429,7 @@
|
|
|
429
429
|
"--slotted-app-shell-row-inset",
|
|
430
430
|
"--slotted-app-shell-row-line-height",
|
|
431
431
|
"--slotted-app-shell-row-mark",
|
|
432
|
+
"--slotted-app-shell-row-ring-inset",
|
|
432
433
|
"--slotted-border-subtle",
|
|
433
434
|
"--slotted-border-width-thin",
|
|
434
435
|
"--slotted-control-font-family",
|
|
@@ -130,7 +130,7 @@ export default function SideNavigationBasic() {
|
|
|
130
130
|
|
|
131
131
|
## Tokens
|
|
132
132
|
|
|
133
|
-
`--slotted-app-shell-row-font-size`, `--slotted-app-shell-row-gap`, `--slotted-app-shell-row-height`, `--slotted-app-shell-row-inset`, `--slotted-app-shell-row-line-height`, `--slotted-app-shell-row-mark`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-current-edge`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-full`, `--slotted-radius-lg`, `--slotted-radius-md`, `--slotted-shadow-md`, `--slotted-side-navigation-active-background`, `--slotted-side-navigation-color`, `--slotted-side-navigation-current-background`, `--slotted-side-navigation-current-color`, `--slotted-side-navigation-current-description-color`, `--slotted-side-navigation-current-edge`, `--slotted-side-navigation-description-color`, `--slotted-side-navigation-description-gap`, `--slotted-side-navigation-dot-color`, `--slotted-side-navigation-dot-size`, `--slotted-side-navigation-flyout-border-color`, `--slotted-side-navigation-flyout-measure`, `--slotted-side-navigation-flyout-min-measure`, `--slotted-side-navigation-flyout-radius`, `--slotted-side-navigation-flyout-shadow`, `--slotted-side-navigation-flyout-surface`, `--slotted-side-navigation-guide-color`, `--slotted-side-navigation-hover-background`, `--slotted-side-navigation-hover-color`, `--slotted-side-navigation-indent`, `--slotted-side-navigation-indent-step`, `--slotted-side-navigation-radius`, `--slotted-side-navigation-row-gap`, `--slotted-side-navigation-section-color`, `--slotted-side-navigation-section-gap`, `--slotted-side-navigation-section-label-gap`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-7`, `--slotted-surface-raised`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-popover`
|
|
133
|
+
`--slotted-app-shell-row-font-size`, `--slotted-app-shell-row-gap`, `--slotted-app-shell-row-height`, `--slotted-app-shell-row-inset`, `--slotted-app-shell-row-line-height`, `--slotted-app-shell-row-mark`, `--slotted-app-shell-row-ring-inset`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-current-edge`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-full`, `--slotted-radius-lg`, `--slotted-radius-md`, `--slotted-shadow-md`, `--slotted-side-navigation-active-background`, `--slotted-side-navigation-color`, `--slotted-side-navigation-current-background`, `--slotted-side-navigation-current-color`, `--slotted-side-navigation-current-description-color`, `--slotted-side-navigation-current-edge`, `--slotted-side-navigation-description-color`, `--slotted-side-navigation-description-gap`, `--slotted-side-navigation-dot-color`, `--slotted-side-navigation-dot-size`, `--slotted-side-navigation-flyout-border-color`, `--slotted-side-navigation-flyout-measure`, `--slotted-side-navigation-flyout-min-measure`, `--slotted-side-navigation-flyout-radius`, `--slotted-side-navigation-flyout-shadow`, `--slotted-side-navigation-flyout-surface`, `--slotted-side-navigation-guide-color`, `--slotted-side-navigation-hover-background`, `--slotted-side-navigation-hover-color`, `--slotted-side-navigation-indent`, `--slotted-side-navigation-indent-step`, `--slotted-side-navigation-radius`, `--slotted-side-navigation-row-gap`, `--slotted-side-navigation-section-color`, `--slotted-side-navigation-section-gap`, `--slotted-side-navigation-section-label-gap`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-7`, `--slotted-surface-raised`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-popover`
|
|
134
134
|
|
|
135
135
|
## Examples
|
|
136
136
|
|