@foldkit/ui 0.160.0-canary.41f95ced5e07 → 0.160.0-canary.4cb3546e35b7
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/combobox/multi.d.ts +2 -0
- package/dist/combobox/multi.d.ts.map +1 -1
- package/dist/combobox/public.d.ts +1 -1
- package/dist/combobox/public.d.ts.map +1 -1
- package/dist/combobox/shared.d.ts +4 -0
- package/dist/combobox/shared.d.ts.map +1 -1
- package/dist/combobox/shared.js +52 -36
- package/dist/combobox/single.d.ts +2 -0
- package/dist/combobox/single.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +57 -22
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +130 -42
- package/dist/dialog/public.d.ts +1 -1
- package/dist/dialog/public.d.ts.map +1 -1
- package/dist/dialog/public.js +1 -1
- package/dist/disclosure/index.js +1 -1
- package/dist/dragAndDrop/index.d.ts +39 -0
- package/dist/dragAndDrop/index.d.ts.map +1 -1
- package/dist/dragAndDrop/index.js +2 -1
- package/dist/dragAndDrop/public.d.ts +1 -1
- package/dist/dragAndDrop/public.d.ts.map +1 -1
- package/dist/dragAndDrop/public.js +1 -1
- package/dist/listbox/shared.js +1 -1
- package/dist/menu/index.js +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/tabs/index.d.ts +10 -1
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +8 -2
- package/dist/tabs/public.d.ts +1 -1
- package/dist/tabs/public.d.ts.map +1 -1
- package/dist/tabs/public.js +1 -1
- package/dist/test/apps/disabledButton.d.ts +6 -0
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +1 -1
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +4 -6
- package/package.json +4 -4
package/dist/combobox/multi.d.ts
CHANGED
|
@@ -147,6 +147,8 @@ export declare const update: (model: {
|
|
|
147
147
|
readonly item: string;
|
|
148
148
|
readonly displayText: string;
|
|
149
149
|
readonly wasSelected: boolean;
|
|
150
|
+
} | {
|
|
151
|
+
readonly _tag: "SuppressedEmptyItemNavigation";
|
|
150
152
|
} | {
|
|
151
153
|
readonly _tag: "SuppressedItemCommit";
|
|
152
154
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/combobox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,qOAAqO;AACrO,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,mOAAmO;AACnO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,+HAA+H;AAC/H,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;;;8DAK8D;AAC9D,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/combobox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,qOAAqO;AACrO,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,mOAAmO;AACnO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,+HAA+H;AAC/H,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;;;8DAK8D;AAC9D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcjB,CAAA;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;mEACmE;AACnE,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,YACoC,CAAA;AAExE;;sEAEsE;AACtE,eAAO,MAAM,KAAK,UAAW,KAAK,KAAG,YACwC,CAAA;AAE7E;wEACwE;AACxE,eAAO,MAAM,UAAU,UAAW,KAAK,QAAQ,MAAM,KAAG,YAIrD,CAAA;AAIH,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AAIlE,KAAK,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACxE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,IAAI,CAAC,CACjB,CAAA;AAED;;;;+BAI+B;AAC/B,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAChD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;CAClD,CAAC,CAAA;AAEF;;wEAEwE;AACxE,eAAO,MAAM,MAAM,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,OAAK,MAAM,CAAC,IAAI,CA2BlE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { init, create, Model } from './single.js';
|
|
2
2
|
export { inputId } from './shared.js';
|
|
3
|
-
export { Message, OutMessage, type Selected, type ClearedSelection, type SelectedItem, type CompletedLockScroll, type CompletedUnlockScroll, type CompletedInertOthers, type CompletedRestoreInert, type CompletedFocusInput, type CompletedScrollIntoView, type CompletedClickItem, AnchorCombobox, AttachComboboxPreventBlur, AttachComboboxSelectOnFocus, PortalComboboxBackdrop, LockScroll, UnlockScroll, InertOthers, RestoreInert, FocusInput, ScrollIntoView, ClickItem, DetectMovementOrAnimationEnd, type Opened, type Closed, type BlurredInput, type ActivatedItem, type DeactivatedItem, type MovedPointerOverItem, type RequestedItemClick, type SuppressedItemCommit, type UpdatedInputValue, type PressedToggleButton, } from './shared.js';
|
|
3
|
+
export { Message, OutMessage, type Selected, type ClearedSelection, type SelectedItem, type CompletedLockScroll, type CompletedUnlockScroll, type CompletedInertOthers, type CompletedRestoreInert, type CompletedFocusInput, type CompletedScrollIntoView, type CompletedClickItem, AnchorCombobox, AttachComboboxPreventBlur, AttachComboboxSelectOnFocus, PortalComboboxBackdrop, LockScroll, UnlockScroll, InertOthers, RestoreInert, FocusInput, ScrollIntoView, ClickItem, DetectMovementOrAnimationEnd, type Opened, type Closed, type BlurredInput, type ActivatedItem, type DeactivatedItem, type MovedPointerOverItem, type RequestedItemClick, type SuppressedItemCommit, type SuppressedEmptyItemNavigation, type UpdatedInputValue, type PressedToggleButton, } from './shared.js';
|
|
4
4
|
export type { ActivationTrigger, ItemConfig, GroupHeading, BaseViewInputsCommon, } from './shared.js';
|
|
5
5
|
export type { Bundle, InitConfig, ViewInputs } from './single.js';
|
|
6
6
|
export type { AnchorConfig } from '../anchor/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/combobox/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,cAAc,EACd,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,4BAA4B,EAC5B,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEjE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/combobox/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,cAAc,EACd,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,4BAA4B,EAC5B,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEjE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA"}
|
|
@@ -84,6 +84,7 @@ export declare const Message: import("foldkit/message").MessageUnion<{
|
|
|
84
84
|
index: Schema.Number;
|
|
85
85
|
};
|
|
86
86
|
readonly SuppressedItemCommit: {};
|
|
87
|
+
readonly SuppressedEmptyItemNavigation: {};
|
|
87
88
|
readonly CompletedLockScroll: {};
|
|
88
89
|
readonly CompletedUnlockScroll: {};
|
|
89
90
|
readonly CompletedInertOthers: {};
|
|
@@ -120,6 +121,7 @@ export type SelectedItem = typeof Message.SelectedItem.Type;
|
|
|
120
121
|
export type MovedPointerOverItem = typeof Message.MovedPointerOverItem.Type;
|
|
121
122
|
export type RequestedItemClick = typeof Message.RequestedItemClick.Type;
|
|
122
123
|
export type SuppressedItemCommit = typeof Message.SuppressedItemCommit.Type;
|
|
124
|
+
export type SuppressedEmptyItemNavigation = typeof Message.SuppressedEmptyItemNavigation.Type;
|
|
123
125
|
export type CompletedLockScroll = typeof Message.CompletedLockScroll.Type;
|
|
124
126
|
export type CompletedUnlockScroll = typeof Message.CompletedUnlockScroll.Type;
|
|
125
127
|
export type CompletedInertOthers = typeof Message.CompletedInertOthers.Type;
|
|
@@ -264,6 +266,8 @@ export declare const makeUpdate: <Model extends BaseModel>(handlers: Readonly<{
|
|
|
264
266
|
readonly index: number;
|
|
265
267
|
} | {
|
|
266
268
|
readonly _tag: "SuppressedItemCommit";
|
|
269
|
+
} | {
|
|
270
|
+
readonly _tag: "SuppressedEmptyItemNavigation";
|
|
267
271
|
} | {
|
|
268
272
|
readonly _tag: "CompletedLockScroll";
|
|
269
273
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/combobox/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAS,MAAM,EAAa,MAAM,EAAQ,MAAM,QAAQ,CAAA;AAC9E,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AACxE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAA;AAU3B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAK7C,OAAO,EAAE,eAAe,EAAE,CAAA;AAI1B,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,mDAA2C,CAAA;AACzE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,yKAAyK;AACzK,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;EAepB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;mBAIe;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAC,CAAA;AAEF,kIAAkI;AAClI,eAAO,MAAM,QAAQ,WAAY,cAAc,KAAG,SAahD,CAAA;AAIF,gEAAgE;AAChE,eAAO,MAAM,OAAO;;QACR,oBAAoB;;;QAE5B,iBAAiB;QACjB,WAAW;;;QAGX,iBAAiB;QACjB,WAAW;;;QAGX,KAAK;QACL,iBAAiB;QACjB,uBAAuB;;;;;;QAMvB,IAAI;QACJ,WAAW;QACX,WAAW;;;QAGX,KAAK;QACL,OAAO;QACP,OAAO;;;QAEa,KAAK
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/combobox/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAS,MAAM,EAAa,MAAM,EAAQ,MAAM,QAAQ,CAAA;AAC9E,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AACxE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAA;AAU3B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAK7C,OAAO,EAAE,eAAe,EAAE,CAAA;AAI1B,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,mDAA2C,CAAA;AACzE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,yKAAyK;AACzK,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;EAepB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;mBAIe;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAC,CAAA;AAEF,kIAAkI;AAClI,eAAO,MAAM,QAAQ,WAAY,cAAc,KAAG,SAahD,CAAA;AAIF,gEAAgE;AAChE,eAAO,MAAM,OAAO;;QACR,oBAAoB;;;QAE5B,iBAAiB;QACjB,WAAW;;;QAGX,iBAAiB;QACjB,WAAW;;;QAGX,KAAK;QACL,iBAAiB;QACjB,uBAAuB;;;;;;QAMvB,IAAI;QACJ,WAAW;QACX,WAAW;;;QAGX,KAAK;QACL,OAAO;QACP,OAAO;;;QAEa,KAAK;;;;;;;;;;;;;;;;QAcJ,OAAO;;;;;;;;QACT,KAAK;;;QAExB,iBAAiB;QACjB,WAAW;;EAEb,CAAA;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;AAC/C,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAA;AAC3D,MAAM,MAAM,aAAa,GAAG,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAA;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAA;AACjE,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAA;AAC3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAA;AAC3E,MAAM,MAAM,kBAAkB,GAAG,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAA;AACvE,MAAM,MAAM,oBAAoB,GAAG,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAA;AAC3E,MAAM,MAAM,6BAA6B,GACvC,OAAO,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAA;AACnD,MAAM,MAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAA;AACzE,MAAM,MAAM,qBAAqB,GAAG,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAA;AAC7E,MAAM,MAAM,oBAAoB,GAAG,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAA;AAC3E,MAAM,MAAM,qBAAqB,GAAG,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAA;AAC7E,MAAM,MAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAA;AACzE,MAAM,MAAM,uBAAuB,GACjC,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAA;AAC7C,MAAM,MAAM,kBAAkB,GAAG,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAA;AACvE,MAAM,MAAM,iBAAiB,GAAG,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAA;AAEzE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,CAAC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAA;AAEtE,wKAAwK;AACxK,eAAO,MAAM,UAAU;;QACT,KAAK;;;EAEjB,CAAA;AAEF;;;6CAG6C;AAC7C,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAChD,QAAQ,CAAC,KAAK,CAAC,GACf,gBAAgB,CAAA;AAIpB;;;;kEAIkE;AAClE,eAAO,MAAM,OAAO,OAAQ,MAAM,KAAG,MAAuB,CAAA;AAE5D,eAAO,MAAM,aAAa,OAAQ,MAAM,KAAG,MAAmC,CAAA;AAC9E,eAAO,MAAM,oBAAoB,OAAQ,MAAM,KAAG,MACf,CAAA;AACnC,eAAO,MAAM,aAAa,OAAQ,MAAM,KAAG,MAAmC,CAAA;AAE9E,eAAO,MAAM,YAAY,OAAQ,MAAM,SAAS,MAAM,KAAG,MACtB,CAAA;AACnC,eAAO,MAAM,MAAM,OAAQ,MAAM,SAAS,MAAM,KAAG,MAC5B,CAAA;AAMvB,iHAAiH;AACjH,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,SAAS,SAAS,KAAK,KAAG,KAMpE,CAAA;AAIJ,KAAK,mBAAmB,CAAC,KAAK,SAAS,SAAS,IAAI,QAAQ,CAAC;IAC3D,cAAc,EAAE,CACd,KAAK,EAAE,KAAK,EACZ,UAAU,CAAC,EAAE,UAAU,KACpB,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;CAC7D,CAAC,CAAA;AAEF,KAAK,aAAa,CAAC,KAAK,IAAI,QAAQ,CAAC;IACnC,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,CAAC,CAAA;AAEF,8EAA8E;AAC9E,eAAO,MAAM,UAAU;;iBAGrB,CAAA;AACF,iEAAiE;AACjE,eAAO,MAAM,YAAY;;iBAGvB,CAAA;AACF,2EAA2E;AAC3E,eAAO,MAAM,WAAW;;;;iBAStB,CAAA;AACF,sEAAsE;AACtE,eAAO,MAAM,YAAY;;;;iBAKvB,CAAA;AACF,kEAAkE;AAClE,eAAO,MAAM,UAAU;;;;iBAQrB,CAAA;AACF,4EAA4E;AAC5E,eAAO,MAAM,cAAc;;;;;iBAQzB,CAAA;AACF,sEAAsE;AACtE,eAAO,MAAM,SAAS;;;;;iBAQpB,CAAA;AACF,gLAAgL;AAChL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;iBAuBxC,CAAA;AAED,6NAA6N;AAC7N,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,SAAS,YACtC,QAAQ,CAAC;IACjB,WAAW,EAAE,CACX,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,OAAO,KACjB,aAAa,CAAC,KAAK,CAAC,CAAA;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAChC,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IAC5D,yBAAyB,EAAE,CACzB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,KACT,aAAa,CAAC,KAAK,CAAC,CAAA;CAC1B,CAAC,aAwC6B,KAAK,WAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6QvD,CAAA;AAED;;;;;;;wEAOwE;AACxE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;EA6BzB,CAAA;AAEF;;;8FAG8F;AAC9F,eAAO,MAAM,yBAAyB;;EAwBrC,CAAA;AAED;;kGAEkG;AAClG,eAAO,MAAM,2BAA2B;;EAsBvC,CAAA;AAED;;+DAE+D;AAC/D,eAAO,MAAM,sBAAsB;;EAUjC,CAAA;AAIF,kEAAkE;AAClE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,IAAI,CAAA;CACd,CAAC,CAAA;AAEF,yEAAyE;AACzE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC,CAAA;AAEF;;;;;;;;4CAQ4C;AAC5C,MAAM,MAAM,oBAAoB,CAAC,IAAI,SAAS,MAAM,IAAI,QAAQ,CAAC;IAC/D,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,CACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,QAAQ,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAA;QACjB,UAAU,EAAE,OAAO,CAAA;QACnB;iFACyE;QACzE,UAAU,EAAE,OAAO,CAAA;QACnB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAC,KACC,UAAU,CAAA;IACf,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sBAAsB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACtD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,qBAAqB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1C,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;mEAE+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;;;uEASmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACpD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAA;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACnD,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF;;;gDAGgD;AAChD,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAC1E,QAAQ,CAAC;IACP;;sCAEkC;IAClC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CACpC,CAAC,CAAA;AAIJ,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAA;CAC7B,CAAC,CAAA;AAEF,2NAA2N;AAC3N,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,SAAS,YAAY,YAAY,MA+jB9D,IAAI,SAAS,MAAM,OAEN,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CACvE,CAAA"}
|
package/dist/combobox/shared.js
CHANGED
|
@@ -81,6 +81,7 @@ export const Message = defineMessageUnion({
|
|
|
81
81
|
},
|
|
82
82
|
RequestedItemClick: { index: Schema.Number },
|
|
83
83
|
SuppressedItemCommit: {},
|
|
84
|
+
SuppressedEmptyItemNavigation: {},
|
|
84
85
|
CompletedLockScroll: {},
|
|
85
86
|
CompletedUnlockScroll: {},
|
|
86
87
|
CompletedInertOthers: {},
|
|
@@ -114,6 +115,7 @@ export const inputId = (id) => __foldkitBrandViewResult((`${id}-input`), "@foldk
|
|
|
114
115
|
export const inputSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}-input`)), "@foldkit/ui/combobox/shared.js#inputSelector");
|
|
115
116
|
export const inputWrapperSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}-input-wrapper`)), "@foldkit/ui/combobox/shared.js#inputWrapperSelector");
|
|
116
117
|
export const itemsSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}-items`)), "@foldkit/ui/combobox/shared.js#itemsSelector");
|
|
118
|
+
const backdropSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}-backdrop`)), "@foldkit/ui/combobox/shared.js#backdropSelector");
|
|
117
119
|
export const itemSelector = (id, index) => __foldkitBrandViewResult((idSelector(`${id}-item-${index}`)), "@foldkit/ui/combobox/shared.js#itemSelector");
|
|
118
120
|
export const itemId = (id, index) => __foldkitBrandViewResult((`${id}-item-${index}`), "@foldkit/ui/combobox/shared.js#itemId");
|
|
119
121
|
// HELPERS
|
|
@@ -139,7 +141,11 @@ export const UnlockScroll = Command.define('UnlockScroll', {
|
|
|
139
141
|
export const InertOthers = Command.define('InertOthers', {
|
|
140
142
|
args: { id: Schema.String },
|
|
141
143
|
messages: [Message.CompletedInertOthers],
|
|
142
|
-
execute: ({ id }) => __foldkitBrandViewResult((Dom.inertOthers(id, [
|
|
144
|
+
execute: ({ id }) => __foldkitBrandViewResult((Dom.inertOthers(id, [
|
|
145
|
+
inputWrapperSelector(id),
|
|
146
|
+
itemsSelector(id),
|
|
147
|
+
backdropSelector(id),
|
|
148
|
+
]).pipe(Effect.as(Message.CompletedInertOthers()))), "@foldkit/ui/combobox/shared.js#execute"),
|
|
143
149
|
});
|
|
144
150
|
/** Removes the inert attribute from elements outside the combobox. */
|
|
145
151
|
export const RestoreInert = Command.define('RestoreInert', {
|
|
@@ -264,6 +270,7 @@ export const makeUpdate = (handlers) => {
|
|
|
264
270
|
CompletedScrollIntoView: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedScrollIntoView")),
|
|
265
271
|
CompletedClickItem: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedClickItem")),
|
|
266
272
|
SuppressedItemCommit: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#SuppressedItemCommit")),
|
|
273
|
+
SuppressedEmptyItemNavigation: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#SuppressedEmptyItemNavigation")),
|
|
267
274
|
CompletedAnchorCombobox: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedAnchorCombobox")),
|
|
268
275
|
CompletedAttachComboboxPreventBlur: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedAttachComboboxPreventBlur")),
|
|
269
276
|
CompletedAttachComboboxSelectOnFocus: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedAttachComboboxSelectOnFocus")),
|
|
@@ -473,6 +480,8 @@ export const makeView = (behavior) => {
|
|
|
473
480
|
const isValueSelected = (itemValue) => __foldkitBrandViewResult((Array.contains(selectedValues, itemValue)), "@foldkit/ui/combobox/shared.js#isValueSelected");
|
|
474
481
|
const isLeaving = transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating';
|
|
475
482
|
const isVisible = isOpen || isLeaving;
|
|
483
|
+
const isItemsPanelVisible = isVisible && Array.isReadonlyArrayNonEmpty(items);
|
|
484
|
+
const isBackdropVisible = isItemsPanelVisible || (isVisible && model.isModal);
|
|
476
485
|
const animationAttributes = Match.value(transitionState).pipe(Match.when('EnterStart', () => __foldkitBrandViewResult(([
|
|
477
486
|
h.DataAttribute('closed', ''),
|
|
478
487
|
h.DataAttribute('enter', ''),
|
|
@@ -503,77 +512,87 @@ export const makeView = (behavior) => {
|
|
|
503
512
|
}), "@foldkit/ui/combobox/shared.js#anonymous~33"))))), "@foldkit/ui/combobox/shared.js#resolveImmediateSelection");
|
|
504
513
|
}
|
|
505
514
|
};
|
|
515
|
+
const maybeValidActiveItemIndex = Option.flatMap(maybeActiveItemIndex, index => __foldkitBrandViewResult((Option.as(Array.get(items, index), index)), "@foldkit/ui/combobox/shared.js#anonymous~34"));
|
|
506
516
|
const resolveCommitMessage = () => {
|
|
507
517
|
if (isReadOnly) {
|
|
508
|
-
return __foldkitBrandViewResult((Option.as(
|
|
518
|
+
return __foldkitBrandViewResult((Option.as(maybeValidActiveItemIndex, Message.SuppressedItemCommit())), "@foldkit/ui/combobox/shared.js#resolveCommitMessage");
|
|
509
519
|
}
|
|
510
520
|
else {
|
|
511
|
-
return __foldkitBrandViewResult((Option.map(
|
|
521
|
+
return __foldkitBrandViewResult((Option.map(maybeValidActiveItemIndex, index => __foldkitBrandViewResult((Message.RequestedItemClick({ index })), "@foldkit/ui/combobox/shared.js#anonymous~35"))), "@foldkit/ui/combobox/shared.js#resolveCommitMessage");
|
|
512
522
|
}
|
|
513
523
|
};
|
|
514
524
|
const handleInputKeyDown = (key) => __foldkitBrandViewResult((Match.value(key).pipe(Match.when('ArrowDown', () => {
|
|
525
|
+
if (Array.isReadonlyArrayEmpty(items)) {
|
|
526
|
+
return __foldkitBrandViewResult((Option.some(Message.SuppressedEmptyItemNavigation())), "@foldkit/ui/combobox/shared.js#anonymous~36");
|
|
527
|
+
}
|
|
515
528
|
if (!isOpen) {
|
|
516
529
|
return __foldkitBrandViewResult((Option.some(Message.Opened({
|
|
517
530
|
maybeActiveItemIndex: Option.some(firstEnabledIndex),
|
|
518
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
531
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~36");
|
|
519
532
|
}
|
|
520
533
|
const targetIndex = resolveActiveIndex('ArrowDown');
|
|
521
534
|
return __foldkitBrandViewResult((Option.some(Message.ActivatedItem({
|
|
522
535
|
index: targetIndex,
|
|
523
536
|
activationTrigger: 'Keyboard',
|
|
524
537
|
maybeImmediateSelection: resolveImmediateSelection(targetIndex),
|
|
525
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
538
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~36");
|
|
526
539
|
}), Match.when('ArrowUp', () => {
|
|
540
|
+
if (Array.isReadonlyArrayEmpty(items)) {
|
|
541
|
+
return __foldkitBrandViewResult((Option.some(Message.SuppressedEmptyItemNavigation())), "@foldkit/ui/combobox/shared.js#anonymous~37");
|
|
542
|
+
}
|
|
527
543
|
if (!isOpen) {
|
|
528
544
|
return __foldkitBrandViewResult((Option.some(Message.Opened({
|
|
529
545
|
maybeActiveItemIndex: Option.some(lastEnabledIndex),
|
|
530
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
546
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~37");
|
|
531
547
|
}
|
|
532
548
|
const targetIndex = resolveActiveIndex('ArrowUp');
|
|
533
549
|
return __foldkitBrandViewResult((Option.some(Message.ActivatedItem({
|
|
534
550
|
index: targetIndex,
|
|
535
551
|
activationTrigger: 'Keyboard',
|
|
536
552
|
maybeImmediateSelection: resolveImmediateSelection(targetIndex),
|
|
537
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
553
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~37");
|
|
538
554
|
}), Match.when('Enter', () => {
|
|
539
555
|
if (!isOpen) {
|
|
540
|
-
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
556
|
+
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~38");
|
|
541
557
|
}
|
|
542
|
-
return __foldkitBrandViewResult((resolveCommitMessage()), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
558
|
+
return __foldkitBrandViewResult((resolveCommitMessage()), "@foldkit/ui/combobox/shared.js#anonymous~38");
|
|
543
559
|
}), Match.when('Escape', () => {
|
|
544
560
|
if (!isOpen) {
|
|
545
|
-
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
561
|
+
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~39");
|
|
546
562
|
}
|
|
547
|
-
return __foldkitBrandViewResult((Option.some(Message.Closed({ restingInputValue, isClearable: !isReadOnly }))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
563
|
+
return __foldkitBrandViewResult((Option.some(Message.Closed({ restingInputValue, isClearable: !isReadOnly }))), "@foldkit/ui/combobox/shared.js#anonymous~39");
|
|
548
564
|
}), Match.whenOr('Home', 'End', () => {
|
|
549
565
|
if (!isOpen) {
|
|
550
|
-
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
566
|
+
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~40");
|
|
567
|
+
}
|
|
568
|
+
if (Array.isReadonlyArrayEmpty(items)) {
|
|
569
|
+
return __foldkitBrandViewResult((Option.some(Message.SuppressedEmptyItemNavigation())), "@foldkit/ui/combobox/shared.js#anonymous~40");
|
|
551
570
|
}
|
|
552
571
|
const targetIndex = resolveActiveIndex(key);
|
|
553
572
|
return __foldkitBrandViewResult((Option.some(Message.ActivatedItem({
|
|
554
573
|
index: targetIndex,
|
|
555
574
|
activationTrigger: 'Keyboard',
|
|
556
575
|
maybeImmediateSelection: resolveImmediateSelection(targetIndex),
|
|
557
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
558
|
-
}), Match.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
559
|
-
const maybeActiveDescendant = Option.match(
|
|
576
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~40");
|
|
577
|
+
}), Match.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~41")))), "@foldkit/ui/combobox/shared.js#handleInputKeyDown");
|
|
578
|
+
const maybeActiveDescendant = Option.match(maybeValidActiveItemIndex, {
|
|
560
579
|
onNone: () => __foldkitBrandViewResult(([]), "@foldkit/ui/combobox/shared.js#onNone~3"),
|
|
561
580
|
onSome: index => __foldkitBrandViewResult(([h.AriaActiveDescendant(itemId(id, index))]), "@foldkit/ui/combobox/shared.js#onSome~3"),
|
|
562
581
|
});
|
|
563
582
|
const onInputAttributes = isReadOnly
|
|
564
583
|
? []
|
|
565
|
-
: [h.OnInput(value => __foldkitBrandViewResult((Message.UpdatedInputValue({ value })), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
584
|
+
: [h.OnInput(value => __foldkitBrandViewResult((Message.UpdatedInputValue({ value })), "@foldkit/ui/combobox/shared.js#anonymous~42"))];
|
|
566
585
|
const resolvedInputAttributes = [
|
|
567
586
|
h.Id(`${id}-input`),
|
|
568
587
|
h.Role('combobox'),
|
|
569
|
-
h.AriaExpanded(
|
|
570
|
-
h.AriaControls(`${id}-items`),
|
|
588
|
+
h.AriaExpanded(isItemsPanelVisible),
|
|
589
|
+
...(isItemsPanelVisible ? [h.AriaControls(`${id}-items`)] : []),
|
|
571
590
|
h.Attribute('aria-autocomplete', 'list'),
|
|
572
591
|
h.Attribute('aria-haspopup', 'listbox'),
|
|
573
592
|
...inputLabelAttributes,
|
|
574
593
|
h.Autocomplete('off'),
|
|
575
594
|
h.Value(model.inputValue),
|
|
576
|
-
...maybeActiveDescendant,
|
|
595
|
+
...(isItemsPanelVisible ? maybeActiveDescendant : []),
|
|
577
596
|
...(inputPlaceholder ? [h.Placeholder(inputPlaceholder)] : []),
|
|
578
597
|
...(isDisabled
|
|
579
598
|
? [h.AriaDisabled(true), h.DataAttribute('disabled', '')]
|
|
@@ -633,7 +652,7 @@ export const makeView = (behavior) => {
|
|
|
633
652
|
...itemsAttributes,
|
|
634
653
|
];
|
|
635
654
|
const comboboxItems = Array.map(items, (item, index) => {
|
|
636
|
-
const isActiveItem = Option.exists(maybeActiveItemIndex, activeIndex => __foldkitBrandViewResult((activeIndex === index), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
655
|
+
const isActiveItem = Option.exists(maybeActiveItemIndex, activeIndex => __foldkitBrandViewResult((activeIndex === index), "@foldkit/ui/combobox/shared.js#anonymous~44"));
|
|
637
656
|
const isDisabledItem = isDisabledAtIndex(index);
|
|
638
657
|
const isSelectedItem = isValueSelected(itemToValue(item, index));
|
|
639
658
|
const itemConfig = itemToConfig(item, {
|
|
@@ -672,13 +691,13 @@ export const makeView = (behavior) => {
|
|
|
672
691
|
index,
|
|
673
692
|
screenX,
|
|
674
693
|
screenY,
|
|
675
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
694
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~45")),
|
|
676
695
|
]),
|
|
677
|
-
h.OnPointerLeave(pointerType => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', Message.DeactivatedItem())), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
696
|
+
h.OnPointerLeave(pointerType => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', Message.DeactivatedItem())), "@foldkit/ui/combobox/shared.js#anonymous~46")),
|
|
678
697
|
]
|
|
679
698
|
: []),
|
|
680
699
|
...(itemConfig.className ? [h.Class(itemConfig.className)] : []),
|
|
681
|
-
], [itemConfig.content])), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
700
|
+
], [itemConfig.content])), "@foldkit/ui/combobox/shared.js#anonymous~43");
|
|
682
701
|
});
|
|
683
702
|
const renderGroupedItems = () => {
|
|
684
703
|
if (!itemGroupKey) {
|
|
@@ -687,7 +706,7 @@ export const makeView = (behavior) => {
|
|
|
687
706
|
const segments = groupContiguous(comboboxItems, (_, index) => __foldkitBrandViewResult((Array.get(items, index).pipe(Option.match({
|
|
688
707
|
onNone: () => __foldkitBrandViewResult((''), "@foldkit/ui/combobox/shared.js#onNone~4"),
|
|
689
708
|
onSome: item => __foldkitBrandViewResult((itemGroupKey(item, index)), "@foldkit/ui/combobox/shared.js#onSome~4"),
|
|
690
|
-
}))), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
709
|
+
}))), "@foldkit/ui/combobox/shared.js#anonymous~47"));
|
|
691
710
|
return __foldkitBrandViewResult((Array.flatMap(segments, (segment, segmentIndex) => {
|
|
692
711
|
const maybeHeading = Option.fromNullishOr(groupToHeading && groupToHeading(segment.key));
|
|
693
712
|
const headingId = `${id}-heading-${segment.key}`;
|
|
@@ -723,10 +742,11 @@ export const makeView = (behavior) => {
|
|
|
723
742
|
]),
|
|
724
743
|
]
|
|
725
744
|
: [];
|
|
726
|
-
return __foldkitBrandViewResult(([...separator, groupElement]), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
745
|
+
return __foldkitBrandViewResult(([...separator, groupElement]), "@foldkit/ui/combobox/shared.js#anonymous~48");
|
|
727
746
|
})), "@foldkit/ui/combobox/shared.js#renderGroupedItems");
|
|
728
747
|
};
|
|
729
748
|
const backdrop = h.keyed('div')(`${id}-backdrop`, [
|
|
749
|
+
h.Id(`${id}-backdrop`),
|
|
730
750
|
h.OnMount(PortalComboboxBackdrop()),
|
|
731
751
|
...(isLeaving
|
|
732
752
|
? []
|
|
@@ -748,10 +768,7 @@ export const makeView = (behavior) => {
|
|
|
748
768
|
], renderedItems),
|
|
749
769
|
]
|
|
750
770
|
: renderedItems;
|
|
751
|
-
const
|
|
752
|
-
backdrop,
|
|
753
|
-
h.keyed('div')(`${id}-items-container`, itemsContainerAttributes, scrollableItems),
|
|
754
|
-
];
|
|
771
|
+
const itemsPanel = h.keyed('div')(`${id}-items-container`, itemsContainerAttributes, scrollableItems);
|
|
755
772
|
const resolvedInputWrapperAttributes = [
|
|
756
773
|
h.Id(`${id}-input-wrapper`),
|
|
757
774
|
...(inputWrapperClassName ? [h.Class(inputWrapperClassName)] : []),
|
|
@@ -763,8 +780,8 @@ export const makeView = (behavior) => {
|
|
|
763
780
|
h.Id(`${id}-button`),
|
|
764
781
|
h.Type('button'),
|
|
765
782
|
h.Tabindex(-1),
|
|
766
|
-
h.AriaControls(`${id}-items`),
|
|
767
|
-
h.AriaExpanded(
|
|
783
|
+
...(isItemsPanelVisible ? [h.AriaControls(`${id}-items`)] : []),
|
|
784
|
+
h.AriaExpanded(isItemsPanelVisible),
|
|
768
785
|
h.Attribute('aria-haspopup', 'listbox'),
|
|
769
786
|
...(isDisabled
|
|
770
787
|
? [h.AriaDisabled(true), h.DataAttribute('disabled', '')]
|
|
@@ -788,7 +805,7 @@ export const makeView = (behavior) => {
|
|
|
788
805
|
h.Type('hidden'),
|
|
789
806
|
h.Name(formName),
|
|
790
807
|
h.Value(selectedValue),
|
|
791
|
-
])), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
808
|
+
])), "@foldkit/ui/combobox/shared.js#anonymous~49")),
|
|
792
809
|
})
|
|
793
810
|
: [];
|
|
794
811
|
const wrapperAttributes = [
|
|
@@ -804,13 +821,12 @@ export const makeView = (behavior) => {
|
|
|
804
821
|
h.input(resolvedInputAttributes),
|
|
805
822
|
...toggleButton,
|
|
806
823
|
]),
|
|
807
|
-
...(
|
|
808
|
-
|
|
809
|
-
: []),
|
|
824
|
+
...(isBackdropVisible ? [backdrop] : []),
|
|
825
|
+
...(isItemsPanelVisible ? [itemsPanel] : []),
|
|
810
826
|
...hiddenInputs,
|
|
811
827
|
])), "@foldkit/ui/combobox/shared.js#anonymous~24");
|
|
812
828
|
});
|
|
813
829
|
return __foldkitBrandViewResult((() =>
|
|
814
830
|
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
815
|
-
__foldkitBrandViewResult((impl), "@foldkit/ui/combobox/shared.js#anonymous~
|
|
831
|
+
__foldkitBrandViewResult((impl), "@foldkit/ui/combobox/shared.js#anonymous~50")), "@foldkit/ui/combobox/shared.js#makeView");
|
|
816
832
|
};
|
|
@@ -145,6 +145,8 @@ export declare const update: (model: {
|
|
|
145
145
|
readonly item: string;
|
|
146
146
|
readonly displayText: string;
|
|
147
147
|
readonly wasSelected: boolean;
|
|
148
|
+
} | {
|
|
149
|
+
readonly _tag: "SuppressedEmptyItemNavigation";
|
|
148
150
|
} | {
|
|
149
151
|
readonly _tag: "SuppressedItemCommit";
|
|
150
152
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/combobox/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAExE,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,0OAA0O;AAC1O,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,oOAAoO;AACpO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,gIAAgI;AAChI,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;mEAGmE;AACnE,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/combobox/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAExE,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,0OAA0O;AAC1O,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,oOAAoO;AACpO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,gIAAgI;AAChI,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;mEAGmE;AACnE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BjB,CAAA;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;mEACmE;AACnE,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,YACoC,CAAA;AAExE;;;2DAG2D;AAC3D,eAAO,MAAM,KAAK,UAAW,KAAK,qBAAqB,MAAM,KAAG,YACS,CAAA;AAEzE;;;;;8BAK8B;AAC9B,eAAO,MAAM,UAAU,UACd,KAAK,QACN,MAAM,eACC,MAAM,KAClB,YAC6E,CAAA;AAIhF,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,GACtE,QAAQ,CAAC;IACP;;;sCAGkC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACxC,CAAC,CAAA;AAIJ,KAAK,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACxE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,IAAI,CAAC,CACjB,CAAA;AAED;;;;cAIc;AACd,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpE,UAAU,EAAE,CACV,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,KAChB,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAChD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;CAC7E,CAAC,CAAA;AAEF;;;;;wDAKwD;AACxD,eAAO,MAAM,MAAM,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,OAAK,MAAM,CAAC,IAAI,CAuClE,CAAA"}
|
package/dist/dialog/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Effect, Option, Schema } from 'effect';
|
|
2
2
|
import * as Command from 'foldkit/command';
|
|
3
3
|
import { type ChildAttribute, type Html } from 'foldkit/html';
|
|
4
|
+
import * as Mount from 'foldkit/mount';
|
|
4
5
|
import * as Update from 'foldkit/update';
|
|
5
6
|
/** Schema for the dialog component's state, tracking its unique ID, open/closed status, animation support, and animation lifecycle phase. */
|
|
6
7
|
export declare const Model: Schema.Struct<{
|
|
@@ -21,6 +22,8 @@ export declare const Message: import("foldkit/message").MessageUnion<{
|
|
|
21
22
|
readonly RequestedClose: {};
|
|
22
23
|
readonly SucceededShowDialog: {};
|
|
23
24
|
readonly FailedShowDialog: {};
|
|
25
|
+
readonly SucceededAcquireResources: {};
|
|
26
|
+
readonly FailedAcquireResources: {};
|
|
24
27
|
readonly CompletedCloseDialog: {};
|
|
25
28
|
readonly Unmounted: {};
|
|
26
29
|
readonly CompletedReleaseDialogResources: {};
|
|
@@ -37,6 +40,8 @@ export type RequestedOpen = typeof Message.RequestedOpen.Type;
|
|
|
37
40
|
export type RequestedClose = typeof Message.RequestedClose.Type;
|
|
38
41
|
export type SucceededShowDialog = typeof Message.SucceededShowDialog.Type;
|
|
39
42
|
export type FailedShowDialog = typeof Message.FailedShowDialog.Type;
|
|
43
|
+
export type SucceededAcquireResources = typeof Message.SucceededAcquireResources.Type;
|
|
44
|
+
export type FailedAcquireResources = typeof Message.FailedAcquireResources.Type;
|
|
40
45
|
export type CompletedCloseDialog = typeof Message.CompletedCloseDialog.Type;
|
|
41
46
|
export type Unmounted = typeof Message.Unmounted.Type;
|
|
42
47
|
export type CompletedReleaseDialogResources = typeof Message.CompletedReleaseDialogResources.Type;
|
|
@@ -60,7 +65,6 @@ export type OutMessage = typeof OutMessage.Type;
|
|
|
60
65
|
* elements rather than constructing those ids yourself. */
|
|
61
66
|
export type InitConfig = Readonly<{
|
|
62
67
|
id: string;
|
|
63
|
-
isOpen?: boolean;
|
|
64
68
|
isAnimated?: boolean;
|
|
65
69
|
/** CSS selector for the element that receives focus when the dialog opens.
|
|
66
70
|
* A selector-based override of the `initialFocus` RenderInfo marker, for the
|
|
@@ -69,7 +73,8 @@ export type InitConfig = Readonly<{
|
|
|
69
73
|
* neither set, focus falls to the first focusable element. */
|
|
70
74
|
focusSelector?: string;
|
|
71
75
|
}>;
|
|
72
|
-
/** Creates
|
|
76
|
+
/** Creates a closed dialog model from a config. Use `boot` when the Dialog
|
|
77
|
+
* should open as the application starts. */
|
|
73
78
|
export declare const init: (config: InitConfig) => Model;
|
|
74
79
|
/** Data attribute the dialog places on the `initialFocus` RenderInfo group and
|
|
75
80
|
* focuses on open. */
|
|
@@ -78,18 +83,20 @@ export declare const initialFocusMarkerAttribute = "foldkit-dialog-initial-focus
|
|
|
78
83
|
* dialog when no `focusSelector` is configured. */
|
|
79
84
|
export declare const initialFocusMarkerSelector = "[data-foldkit-dialog-initial-focus]";
|
|
80
85
|
type UpdateReturn = Update.ReturnWithOutMessage<Model, Message, OutMessage>;
|
|
81
|
-
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
86
|
+
/** Opens the native dialog element through `Dom.showDialog`, then locks page
|
|
87
|
+
* scroll when that call acquired the dialog resources. `Dom.showDialog`
|
|
88
|
+
* makes the background inert while leaving DevTools available as a separate
|
|
89
|
+
* developer overlay. It calls `show()` rather than `showModal()` so DevTools
|
|
90
|
+
* can stay interactive, layers the dialog with a high z-index, and traps
|
|
91
|
+
* focus. For an unhandled Escape on the topmost Dialog, the
|
|
85
92
|
* helper dispatches a `CustomEvent` named `cancel`; the Dialog view maps that
|
|
86
93
|
* signal to `RequestedClose` while suppressing native `cancel` events. The
|
|
87
94
|
* Dialog component supplies its own backdrop. If the dialog element is gone
|
|
88
|
-
* by the time the show runs, the
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
95
|
+
* by the time the show runs, the Command reports `FailedShowDialog` without
|
|
96
|
+
* taking the scroll lock. The update function then closes the Model. The
|
|
97
|
+
* acquisition becomes uninterruptible after the committed element is found,
|
|
98
|
+
* so modal resources and the scroll lock cannot split. A concurrent
|
|
99
|
+
* lifecycle acquisition reuses the resources already held by the id. */
|
|
93
100
|
export declare const ShowDialog: Command.CommandDefinitionWithArgs<"ShowDialog", {
|
|
94
101
|
id: Schema.String;
|
|
95
102
|
focusSelector: Schema.String;
|
|
@@ -98,6 +105,19 @@ export declare const ShowDialog: Command.CommandDefinitionWithArgs<"ShowDialog",
|
|
|
98
105
|
} | {
|
|
99
106
|
readonly _tag: "FailedShowDialog";
|
|
100
107
|
}, never, never>>;
|
|
108
|
+
/** Reacquires an initially visible Dialog's framework resources when its
|
|
109
|
+
* element mounts, including after development Model preservation restores an
|
|
110
|
+
* open Dialog without replaying initialization Commands. A successful
|
|
111
|
+
* acquisition also resumes a preserved animation transition from its current
|
|
112
|
+
* phase. */
|
|
113
|
+
export declare const AcquireResources: Mount.MountDefinitionWithArgs<"AcquireResources", {
|
|
114
|
+
id: Schema.String;
|
|
115
|
+
focusSelector: Schema.String;
|
|
116
|
+
}, {
|
|
117
|
+
readonly _tag: "SucceededAcquireResources";
|
|
118
|
+
} | {
|
|
119
|
+
readonly _tag: "FailedAcquireResources";
|
|
120
|
+
}>;
|
|
101
121
|
/** Calls `close()` on the native dialog element and unlocks page scroll when
|
|
102
122
|
* the close released the resources `ShowDialog` installed. A close that runs
|
|
103
123
|
* before the show has installed them leaves the lock alone. When the show
|
|
@@ -105,16 +125,16 @@ export declare const ShowDialog: Command.CommandDefinitionWithArgs<"ShowDialog",
|
|
|
105
125
|
* closes the dialog again. If the dialog element is gone by the time the
|
|
106
126
|
* close runs, the Command calls `Dom.releaseDialogResources` instead. That
|
|
107
127
|
* releases the scroll lock, focus trap, return focus, and stack entry if the
|
|
108
|
-
* dialog still holds them. */
|
|
128
|
+
* dialog still holds them. The background is restored before return focus. */
|
|
109
129
|
export declare const CloseDialog: Command.CommandDefinitionWithArgs<"CloseDialog", {
|
|
110
130
|
id: Schema.String;
|
|
111
131
|
}, Effect.Effect<{
|
|
112
132
|
readonly _tag: "CompletedCloseDialog";
|
|
113
133
|
}, never, never>>;
|
|
114
134
|
/** Releases the framework hygiene the dialog holds while open (scroll lock,
|
|
115
|
-
* focus trap, return focus, stack entry) when the
|
|
116
|
-
*
|
|
117
|
-
* resources
|
|
135
|
+
* focus trap, return focus, stack entry, background isolation) when the
|
|
136
|
+
* element unmounts without a purposeful close. Calling it after
|
|
137
|
+
* `CloseDialog` released those resources is a no-op. */
|
|
118
138
|
export declare const ReleaseDialogResources: Command.CommandDefinitionWithArgs<"ReleaseDialogResources", {
|
|
119
139
|
id: Schema.String;
|
|
120
140
|
}, Effect.Effect<{
|
|
@@ -141,6 +161,10 @@ export declare const update: (model: Model, message: Message) => Readonly<{
|
|
|
141
161
|
readonly _tag: "SucceededShowDialog";
|
|
142
162
|
} | {
|
|
143
163
|
readonly _tag: "FailedShowDialog";
|
|
164
|
+
} | {
|
|
165
|
+
readonly _tag: "SucceededAcquireResources";
|
|
166
|
+
} | {
|
|
167
|
+
readonly _tag: "FailedAcquireResources";
|
|
144
168
|
} | {
|
|
145
169
|
readonly _tag: "CompletedCloseDialog";
|
|
146
170
|
} | {
|
|
@@ -165,6 +189,11 @@ export declare const update: (model: Model, message: Message) => Readonly<{
|
|
|
165
189
|
readonly _tag: "Closed";
|
|
166
190
|
};
|
|
167
191
|
}>;
|
|
192
|
+
/** Creates a Dialog and opens it through the normal update path. Use the
|
|
193
|
+
* returned Model and Commands during application initialization so the
|
|
194
|
+
* initially visible Dialog acquires modal isolation, scroll locking, focus
|
|
195
|
+
* management, stack registration, and runtime-owned cleanup. */
|
|
196
|
+
export declare const boot: (config: InitConfig) => UpdateReturn;
|
|
168
197
|
/** Programmatically opens the dialog. */
|
|
169
198
|
export declare const open: (model: Model) => UpdateReturn;
|
|
170
199
|
/** Programmatically closes the dialog. */
|
|
@@ -192,11 +221,13 @@ export declare const descriptionId: (model: Model) => string;
|
|
|
192
221
|
/** Render-time payload published to the consumer's `toView`.
|
|
193
222
|
*
|
|
194
223
|
* - `dialog`: attributes for the native `<dialog>` element. Carries
|
|
195
|
-
* the id, ARIA labelling, `open` prop, positioning style, a `cancel` handler
|
|
224
|
+
* the id, ARIA labelling and modal state, `open` prop, positioning style, a `cancel` handler
|
|
196
225
|
* that prevents a file picker's native cancellation from closing the dialog
|
|
197
226
|
* while mapping `Dom.showDialog`'s Escape signal to `RequestedClose`,
|
|
198
|
-
*
|
|
199
|
-
*
|
|
227
|
+
* an `OnMount` acquisition that restores modal resources for an initially
|
|
228
|
+
* visible or development-preserved Dialog, and an `OnUnmount` backstop that
|
|
229
|
+
* releases framework hygiene (scroll lock, focus trap, background
|
|
230
|
+
* isolation, return focus) if the element is removed from the DOM while
|
|
200
231
|
* still open, such as navigating away from a route-keyed subtree.
|
|
201
232
|
* The consumer MUST render an `h.dialog(...)` element so the framework
|
|
202
233
|
* can open and close it, and so the unmount backstop can fire.
|
|
@@ -243,10 +274,10 @@ export type ViewInputs = Readonly<{
|
|
|
243
274
|
toView: (render: RenderInfo) => Html;
|
|
244
275
|
hasDescription?: boolean;
|
|
245
276
|
}>;
|
|
246
|
-
/** Renders a headless dialog
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
* component
|
|
277
|
+
/** Renders a headless modal dialog backed by the native `<dialog>` element.
|
|
278
|
+
* `ShowDialog` and the dialog's Mount open it through `Dom.showDialog`,
|
|
279
|
+
* isolate the background, trap focus, and handle Escape on the topmost
|
|
280
|
+
* dialog. The component supplies its own backdrop. */
|
|
250
281
|
export declare const view: import("foldkit/submodel").View<{
|
|
251
282
|
readonly id: string;
|
|
252
283
|
readonly isOpen: boolean;
|
|
@@ -265,6 +296,10 @@ export declare const view: import("foldkit/submodel").View<{
|
|
|
265
296
|
readonly _tag: "SucceededShowDialog";
|
|
266
297
|
} | {
|
|
267
298
|
readonly _tag: "FailedShowDialog";
|
|
299
|
+
} | {
|
|
300
|
+
readonly _tag: "SucceededAcquireResources";
|
|
301
|
+
} | {
|
|
302
|
+
readonly _tag: "FailedAcquireResources";
|
|
268
303
|
} | {
|
|
269
304
|
readonly _tag: "CompletedCloseDialog";
|
|
270
305
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAA;AAC5D,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dialog/index.ts"],"names":[],"mappings":"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"}
|