@ariakit/components 0.1.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/CHANGELOG.md +19 -0
- package/dist/checkbox/checkbox-store.d.ts +47 -0
- package/dist/checkbox/checkbox-store.d.ts.map +1 -0
- package/dist/checkbox/checkbox-store.js +16 -0
- package/dist/checkbox/checkbox-store.js.map +1 -0
- package/dist/collection/collection-store.d.ts +2 -0
- package/dist/collection/collection-store.js +132 -0
- package/dist/collection/collection-store.js.map +1 -0
- package/dist/collection-store-yNe83BiS.d.ts +81 -0
- package/dist/collection-store-yNe83BiS.d.ts.map +1 -0
- package/dist/combobox/combobox-store.d.ts +150 -0
- package/dist/combobox/combobox-store.d.ts.map +1 -0
- package/dist/combobox/combobox-store.js +83 -0
- package/dist/combobox/combobox-store.js.map +1 -0
- package/dist/composite/composite-overflow-store.d.ts +16 -0
- package/dist/composite/composite-overflow-store.d.ts.map +1 -0
- package/dist/composite/composite-overflow-store.js +12 -0
- package/dist/composite/composite-overflow-store.js.map +1 -0
- package/dist/composite/composite-store.d.ts +2 -0
- package/dist/composite/composite-store.js +167 -0
- package/dist/composite/composite-store.js.map +1 -0
- package/dist/composite-store-B-iDEtZZ.d.ts +331 -0
- package/dist/composite-store-B-iDEtZZ.d.ts.map +1 -0
- package/dist/dialog/dialog-store.d.ts +2 -0
- package/dist/dialog/dialog-store.js +12 -0
- package/dist/dialog/dialog-store.js.map +1 -0
- package/dist/dialog-store-BOLvw2IX.d.ts +16 -0
- package/dist/dialog-store-BOLvw2IX.d.ts.map +1 -0
- package/dist/disclosure/disclosure-store.d.ts +2 -0
- package/dist/disclosure/disclosure-store.js +47 -0
- package/dist/disclosure/disclosure-store.js.map +1 -0
- package/dist/disclosure-store-xKlQffR0.d.ts +142 -0
- package/dist/disclosure-store-xKlQffR0.d.ts.map +1 -0
- package/dist/form/form-store.d.ts +247 -0
- package/dist/form/form-store.d.ts.map +1 -0
- package/dist/form/form-store.js +211 -0
- package/dist/form/form-store.js.map +1 -0
- package/dist/form/types.d.ts +37 -0
- package/dist/form/types.d.ts.map +1 -0
- package/dist/form/types.js +0 -0
- package/dist/hovercard/hovercard-store.d.ts +65 -0
- package/dist/hovercard/hovercard-store.d.ts.map +1 -0
- package/dist/hovercard/hovercard-store.js +31 -0
- package/dist/hovercard/hovercard-store.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/menu/menu-bar-store.d.ts +16 -0
- package/dist/menu/menu-bar-store.d.ts.map +1 -0
- package/dist/menu/menu-bar-store.js +12 -0
- package/dist/menu/menu-bar-store.js.map +1 -0
- package/dist/menu/menu-store.d.ts +100 -0
- package/dist/menu/menu-store.d.ts.map +1 -0
- package/dist/menu/menu-store.js +74 -0
- package/dist/menu/menu-store.js.map +1 -0
- package/dist/menubar/menubar-store.d.ts +2 -0
- package/dist/menubar/menubar-store.js +24 -0
- package/dist/menubar/menubar-store.js.map +1 -0
- package/dist/menubar-store-CD3YDYfW.d.ts +16 -0
- package/dist/menubar-store-CD3YDYfW.d.ts.map +1 -0
- package/dist/popover/popover-store.d.ts +2 -0
- package/dist/popover/popover-store.js +44 -0
- package/dist/popover/popover-store.js.map +1 -0
- package/dist/popover-store-DoCiTmUQ.d.ts +106 -0
- package/dist/popover-store-DoCiTmUQ.d.ts.map +1 -0
- package/dist/radio/radio-store.d.ts +42 -0
- package/dist/radio/radio-store.d.ts.map +1 -0
- package/dist/radio/radio-store.js +27 -0
- package/dist/radio/radio-store.js.map +1 -0
- package/dist/select/select-store.d.ts +116 -0
- package/dist/select/select-store.d.ts.map +1 -0
- package/dist/select/select-store.js +93 -0
- package/dist/select/select-store.js.map +1 -0
- package/dist/tab/tab-store.d.ts +127 -0
- package/dist/tab/tab-store.d.ts.map +1 -0
- package/dist/tab/tab-store.js +107 -0
- package/dist/tab/tab-store.js.map +1 -0
- package/dist/tag/tag-store.d.ts +2 -0
- package/dist/tag/tag-store.js +60 -0
- package/dist/tag/tag-store.js.map +1 -0
- package/dist/tag-store-D47X5_zA.d.ts +83 -0
- package/dist/tag-store-D47X5_zA.d.ts.map +1 -0
- package/dist/toolbar/toolbar-store.d.ts +21 -0
- package/dist/toolbar/toolbar-store.d.ts.map +1 -0
- package/dist/toolbar/toolbar-store.js +18 -0
- package/dist/toolbar/toolbar-store.js.map +1 -0
- package/dist/tooltip/tooltip-store.d.ts +35 -0
- package/dist/tooltip/tooltip-store.d.ts.map +1 -0
- package/dist/tooltip/tooltip-store.js +29 -0
- package/dist/tooltip/tooltip-store.js.map +1 -0
- package/license +21 -0
- package/package.json +121 -0
- package/readme.md +19 -0
- package/src/checkbox/checkbox-store.ts +93 -0
- package/src/collection/collection-store.ts +301 -0
- package/src/combobox/combobox-store.ts +382 -0
- package/src/composite/composite-overflow-store.ts +30 -0
- package/src/composite/composite-store.ts +711 -0
- package/src/dialog/dialog-store.ts +26 -0
- package/src/disclosure/disclosure-store.ts +226 -0
- package/src/form/form-store.ts +608 -0
- package/src/form/types.ts +44 -0
- package/src/hovercard/hovercard-store.ts +112 -0
- package/src/index.ts +1 -0
- package/src/menu/menu-bar-store.ts +28 -0
- package/src/menu/menu-store.ts +263 -0
- package/src/menubar/menubar-store.ts +51 -0
- package/src/popover/popover-store.ts +170 -0
- package/src/radio/radio-store.ts +80 -0
- package/src/select/select-store.ts +323 -0
- package/src/tab/tab-store.ts +330 -0
- package/src/tag/tag-store.ts +170 -0
- package/src/toolbar/toolbar-store.ts +47 -0
- package/src/tooltip/tooltip-store.ts +93 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { a as DisclosureStoreState, n as DisclosureStoreFunctions, r as DisclosureStoreOptions } from "./disclosure-store-xKlQffR0.js";
|
|
2
|
+
import { Store, StoreProps } from "@ariakit/store";
|
|
3
|
+
|
|
4
|
+
//#region src/dialog/dialog-store.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Creates a dialog store.
|
|
7
|
+
*/
|
|
8
|
+
declare function createDialogStore(props?: DialogStoreProps): DialogStore;
|
|
9
|
+
interface DialogStoreState extends DisclosureStoreState {}
|
|
10
|
+
interface DialogStoreFunctions extends DisclosureStoreFunctions {}
|
|
11
|
+
interface DialogStoreOptions extends DisclosureStoreOptions {}
|
|
12
|
+
interface DialogStoreProps extends DialogStoreOptions, StoreProps<DialogStoreState> {}
|
|
13
|
+
interface DialogStore extends DialogStoreFunctions, Store<DialogStoreState> {}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DialogStoreState as a, DialogStoreProps as i, DialogStoreFunctions as n, createDialogStore as o, DialogStoreOptions as r, DialogStore as t };
|
|
16
|
+
//# sourceMappingURL=dialog-store-BOLvw2IX.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-store-BOLvw2IX.d.ts","names":["Store","StoreProps","DisclosureStoreFunctions","DisclosureStoreOptions","DisclosureStoreState","createDialogStore","DialogStoreProps","DialogStore","props","DialogStoreState","DialogStoreFunctions","DialogStoreOptions"],"sources":["../src/dialog/dialog-store.d.ts"],"mappings":";;;;;;AAKA;iBAAwBK,iBAAAA,CAAkBG,KAAAA,GAAQF,gBAAAA,GAAmBC,WAAW;AAAA,UAC/DE,gBAAAA,SAAyBL,oBAAoB;AAAA,UAE7CM,oBAAAA,SAA6BR,wBAAwB;AAAA,UAErDS,kBAAAA,SAA2BR,sBAAsB;AAAA,UAEjDG,gBAAAA,SAAyBK,kBAAAA,EAAoBV,UAAAA,CAAWQ,gBAAAA;AAAAA,UAExDF,WAAAA,SAAoBG,oBAAAA,EAAsBV,KAAAA,CAAMS,gBAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as DisclosureStoreState, i as DisclosureStoreProps, n as DisclosureStoreFunctions, o as createDisclosureStore, r as DisclosureStoreOptions, t as DisclosureStore } from "../disclosure-store-xKlQffR0.js";
|
|
2
|
+
export { DisclosureStore, DisclosureStoreFunctions, DisclosureStoreOptions, DisclosureStoreProps, DisclosureStoreState, createDisclosureStore };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createStore, mergeStore, omit, setup, subscribe, sync, throwOnConflictingProps } from "@ariakit/store";
|
|
2
|
+
import { defaultValue } from "@ariakit/utils";
|
|
3
|
+
//#region src/disclosure/disclosure-store.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a disclosure store.
|
|
6
|
+
*/
|
|
7
|
+
function createDisclosureStore(props = {}) {
|
|
8
|
+
const store = mergeStore(props.store, omit(props.disclosure, ["contentElement", "disclosureElement"]));
|
|
9
|
+
throwOnConflictingProps(props, store);
|
|
10
|
+
const syncState = store?.getState();
|
|
11
|
+
const open = defaultValue(props.open, syncState?.open, props.defaultOpen, false);
|
|
12
|
+
const animated = defaultValue(props.animated, syncState?.animated, false);
|
|
13
|
+
const disclosure = createStore({
|
|
14
|
+
open,
|
|
15
|
+
animated,
|
|
16
|
+
animating: !!animated && open,
|
|
17
|
+
mounted: open,
|
|
18
|
+
contentElement: defaultValue(syncState?.contentElement, null),
|
|
19
|
+
disclosureElement: defaultValue(syncState?.disclosureElement, null)
|
|
20
|
+
}, store);
|
|
21
|
+
setup(disclosure, () => sync(disclosure, ["animated", "animating"], (state) => {
|
|
22
|
+
if (state.animated) return;
|
|
23
|
+
disclosure.setState("animating", false);
|
|
24
|
+
}));
|
|
25
|
+
setup(disclosure, () => subscribe(disclosure, ["open"], () => {
|
|
26
|
+
if (!disclosure.getState().animated) return;
|
|
27
|
+
disclosure.setState("animating", true);
|
|
28
|
+
}));
|
|
29
|
+
setup(disclosure, () => sync(disclosure, ["open", "animating"], (state) => {
|
|
30
|
+
disclosure.setState("mounted", state.open || state.animating);
|
|
31
|
+
}));
|
|
32
|
+
return {
|
|
33
|
+
...disclosure,
|
|
34
|
+
disclosure: props.disclosure,
|
|
35
|
+
setOpen: (value) => disclosure.setState("open", value),
|
|
36
|
+
show: () => disclosure.setState("open", true),
|
|
37
|
+
hide: () => disclosure.setState("open", false),
|
|
38
|
+
toggle: () => disclosure.setState("open", (open) => !open),
|
|
39
|
+
stopAnimation: () => disclosure.setState("animating", false),
|
|
40
|
+
setContentElement: (value) => disclosure.setState("contentElement", value),
|
|
41
|
+
setDisclosureElement: (value) => disclosure.setState("disclosureElement", value)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { createDisclosureStore };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=disclosure-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclosure-store.js","names":[],"sources":["../../src/disclosure/disclosure-store.ts"],"sourcesContent":["import {\n createStore,\n mergeStore,\n omit,\n setup,\n subscribe,\n sync,\n throwOnConflictingProps,\n} from \"@ariakit/store\";\nimport type { Store, StoreOptions, StoreProps } from \"@ariakit/store\";\nimport { defaultValue } from \"@ariakit/utils\";\nimport type { SetState } from \"@ariakit/utils\";\n\n/**\n * Creates a disclosure store.\n */\nexport function createDisclosureStore(\n props: DisclosureStoreProps = {},\n): DisclosureStore {\n const store = mergeStore(\n props.store,\n omit(props.disclosure, [\"contentElement\", \"disclosureElement\"]),\n );\n\n throwOnConflictingProps(props, store);\n\n const syncState = store?.getState();\n\n const open = defaultValue(\n props.open,\n syncState?.open,\n props.defaultOpen,\n false,\n );\n\n const animated = defaultValue(props.animated, syncState?.animated, false);\n\n const initialState: DisclosureStoreState = {\n open,\n animated,\n animating: !!animated && open,\n mounted: open,\n contentElement: defaultValue(syncState?.contentElement, null),\n disclosureElement: defaultValue(syncState?.disclosureElement, null),\n };\n\n const disclosure = createStore(initialState, store);\n\n setup(disclosure, () =>\n sync(disclosure, [\"animated\", \"animating\"], (state) => {\n if (state.animated) return;\n // Reset animating to false when animation is disabled.\n disclosure.setState(\"animating\", false);\n }),\n );\n\n setup(disclosure, () =>\n subscribe(disclosure, [\"open\"], () => {\n if (!disclosure.getState().animated) return;\n disclosure.setState(\"animating\", true);\n }),\n );\n\n setup(disclosure, () =>\n sync(disclosure, [\"open\", \"animating\"], (state) => {\n disclosure.setState(\"mounted\", state.open || state.animating);\n }),\n );\n\n return {\n ...disclosure,\n disclosure: props.disclosure,\n setOpen: (value) => disclosure.setState(\"open\", value),\n show: () => disclosure.setState(\"open\", true),\n hide: () => disclosure.setState(\"open\", false),\n toggle: () => disclosure.setState(\"open\", (open) => !open),\n stopAnimation: () => disclosure.setState(\"animating\", false),\n setContentElement: (value) => disclosure.setState(\"contentElement\", value),\n setDisclosureElement: (value) =>\n disclosure.setState(\"disclosureElement\", value),\n };\n}\n\nexport interface DisclosureStoreState {\n /**\n * Whether the content is visible.\n *\n * Live examples:\n * - [Combobox with links](https://ariakit.com/examples/combobox-links)\n * - [Dialog with React\n * Router](https://ariakit.com/examples/dialog-react-router)\n * - [Menu with\n * Motion](https://ariakit.com/examples/menu-framer-motion)\n * - [Lazy Popover](https://ariakit.com/examples/popover-lazy)\n * @default false\n */\n open: boolean;\n /**\n * The mounted state usually matches the\n * [`open`](https://ariakit.com/reference/disclosure-provider#open) value.\n * However, if the content element is animated, it waits for the animation to\n * finish before turning `false`. This ensures the content element doesn't get\n * unmounted during the animation.\n *\n * Live examples:\n * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)\n * - [Responsive Popover](https://ariakit.com/examples/popover-responsive)\n */\n mounted: boolean;\n /**\n * Determines whether the content should animate when it is shown or hidden.\n * - If `true`, the `animating` state will be `true` when the content is shown\n * or hidden and it will wait for a CSS animation/transition to end before\n * becoming `false`.\n * - If it's set to a number, the `animating` state will be `true` when the\n * content is shown or hidden and it will wait for the number of\n * milliseconds to pass before becoming `false`.\n */\n animated: boolean | number;\n /**\n * Whether the content is currently animating.\n */\n animating: boolean;\n /**\n * The content element that is being shown or hidden.\n */\n contentElement: HTMLElement | null;\n /**\n * The disclosure button element that toggles the content.\n */\n disclosureElement: HTMLElement | null;\n}\n\nexport interface DisclosureStoreFunctions extends Pick<\n DisclosureStoreOptions,\n \"disclosure\"\n> {\n /**\n * Sets the [`open`](https://ariakit.com/reference/disclosure-provider#open)\n * state.\n *\n * Live examples:\n * - [Textarea with inline\n * Combobox](https://ariakit.com/examples/combobox-textarea)\n * @example\n * store.setOpen(true);\n * store.setOpen((open) => !open);\n */\n setOpen: SetState<DisclosureStoreState[\"open\"]>;\n /**\n * Sets the [`open`](https://ariakit.com/reference/disclosure-provider#open)\n * state to `true`.\n *\n * Live examples:\n * - [Textarea with inline\n * Combobox](https://ariakit.com/examples/combobox-textarea)\n * - [Dialog with\n * Motion](https://ariakit.com/examples/dialog-framer-motion)\n * - [Context Menu](https://ariakit.com/examples/menu-context-menu)\n * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)\n */\n show: () => void;\n /**\n * Sets the [`open`](https://ariakit.com/reference/disclosure-provider#open)\n * state to `false`.\n *\n * Live examples:\n * - [Textarea with inline\n * Combobox](https://ariakit.com/examples/combobox-textarea)\n * - [Sliding Menu](https://ariakit.com/examples/menu-slide)\n */\n hide: () => void;\n /**\n * Toggles the\n * [`open`](https://ariakit.com/reference/disclosure-provider#open) state.\n */\n toggle: () => void;\n /**\n * Sets the `animating` state to `false`, which will automatically set the\n * `mounted` state to `false` if it was `true`. This means that the content\n * element can be safely unmounted.\n * @deprecated Use `setState(\"animating\", false)` instead.\n */\n stopAnimation: () => void;\n /**\n * Sets the `contentElement` state.\n */\n setContentElement: SetState<DisclosureStoreState[\"contentElement\"]>;\n /**\n * Sets the `disclosureElement` state.\n *\n * Live examples:\n * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)\n */\n setDisclosureElement: SetState<DisclosureStoreState[\"disclosureElement\"]>;\n}\n\nexport interface DisclosureStoreOptions extends StoreOptions<\n DisclosureStoreState,\n \"open\" | \"animated\"\n> {\n /**\n * @deprecated Manually setting the `animated` prop is no longer necessary.\n * This will be removed in a future release.\n */\n animated?: DisclosureStoreState[\"animated\"];\n /**\n * Whether the content should be visible by default.\n * @default false\n */\n defaultOpen?: DisclosureStoreState[\"open\"];\n /**\n * A reference to another disclosure store that controls another disclosure\n * component to keep them in sync. Element states like `contentElement` and\n * `disclosureElement` won't be synced. For that, use the\n * [`store`](https://ariakit.com/reference/disclosure-provider#store) prop\n * instead.\n */\n disclosure?: DisclosureStore | null;\n}\n\nexport interface DisclosureStoreProps\n extends DisclosureStoreOptions, StoreProps<DisclosureStoreState> {}\n\nexport interface DisclosureStore\n extends DisclosureStoreFunctions, Store<DisclosureStoreState> {}\n"],"mappings":";;;;;;AAgBA,SAAgB,sBACd,QAA8B,CAAC,GACd;CACjB,MAAM,QAAQ,WACZ,MAAM,OACN,KAAK,MAAM,YAAY,CAAC,kBAAkB,mBAAmB,CAAC,CAChE;CAEA,wBAAwB,OAAO,KAAK;CAEpC,MAAM,YAAY,OAAO,SAAS;CAElC,MAAM,OAAO,aACX,MAAM,MACN,WAAW,MACX,MAAM,aACN,KACF;CAEA,MAAM,WAAW,aAAa,MAAM,UAAU,WAAW,UAAU,KAAK;CAWxE,MAAM,aAAa,YAAY;EAR7B;EACA;EACA,WAAW,CAAC,CAAC,YAAY;EACzB,SAAS;EACT,gBAAgB,aAAa,WAAW,gBAAgB,IAAI;EAC5D,mBAAmB,aAAa,WAAW,mBAAmB,IAAI;CAG1B,GAAG,KAAK;CAElD,MAAM,kBACJ,KAAK,YAAY,CAAC,YAAY,WAAW,IAAI,UAAU;EACrD,IAAI,MAAM,UAAU;EAEpB,WAAW,SAAS,aAAa,KAAK;CACxC,CAAC,CACH;CAEA,MAAM,kBACJ,UAAU,YAAY,CAAC,MAAM,SAAS;EACpC,IAAI,CAAC,WAAW,SAAS,EAAE,UAAU;EACrC,WAAW,SAAS,aAAa,IAAI;CACvC,CAAC,CACH;CAEA,MAAM,kBACJ,KAAK,YAAY,CAAC,QAAQ,WAAW,IAAI,UAAU;EACjD,WAAW,SAAS,WAAW,MAAM,QAAQ,MAAM,SAAS;CAC9D,CAAC,CACH;CAEA,OAAO;EACL,GAAG;EACH,YAAY,MAAM;EAClB,UAAU,UAAU,WAAW,SAAS,QAAQ,KAAK;EACrD,YAAY,WAAW,SAAS,QAAQ,IAAI;EAC5C,YAAY,WAAW,SAAS,QAAQ,KAAK;EAC7C,cAAc,WAAW,SAAS,SAAS,SAAS,CAAC,IAAI;EACzD,qBAAqB,WAAW,SAAS,aAAa,KAAK;EAC3D,oBAAoB,UAAU,WAAW,SAAS,kBAAkB,KAAK;EACzE,uBAAuB,UACrB,WAAW,SAAS,qBAAqB,KAAK;CAClD;AACF"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Store, StoreOptions, StoreProps } from "@ariakit/store";
|
|
2
|
+
import { SetState } from "@ariakit/utils";
|
|
3
|
+
|
|
4
|
+
//#region src/disclosure/disclosure-store.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Creates a disclosure store.
|
|
7
|
+
*/
|
|
8
|
+
declare function createDisclosureStore(props?: DisclosureStoreProps): DisclosureStore;
|
|
9
|
+
interface DisclosureStoreState {
|
|
10
|
+
/**
|
|
11
|
+
* Whether the content is visible.
|
|
12
|
+
*
|
|
13
|
+
* Live examples:
|
|
14
|
+
* - [Combobox with links](https://ariakit.com/examples/combobox-links)
|
|
15
|
+
* - [Dialog with React
|
|
16
|
+
* Router](https://ariakit.com/examples/dialog-react-router)
|
|
17
|
+
* - [Menu with
|
|
18
|
+
* Motion](https://ariakit.com/examples/menu-framer-motion)
|
|
19
|
+
* - [Lazy Popover](https://ariakit.com/examples/popover-lazy)
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
open: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The mounted state usually matches the
|
|
25
|
+
* [`open`](https://ariakit.com/reference/disclosure-provider#open) value.
|
|
26
|
+
* However, if the content element is animated, it waits for the animation to
|
|
27
|
+
* finish before turning `false`. This ensures the content element doesn't get
|
|
28
|
+
* unmounted during the animation.
|
|
29
|
+
*
|
|
30
|
+
* Live examples:
|
|
31
|
+
* - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
|
|
32
|
+
* - [Responsive Popover](https://ariakit.com/examples/popover-responsive)
|
|
33
|
+
*/
|
|
34
|
+
mounted: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Determines whether the content should animate when it is shown or hidden.
|
|
37
|
+
* - If `true`, the `animating` state will be `true` when the content is shown
|
|
38
|
+
* or hidden and it will wait for a CSS animation/transition to end before
|
|
39
|
+
* becoming `false`.
|
|
40
|
+
* - If it's set to a number, the `animating` state will be `true` when the
|
|
41
|
+
* content is shown or hidden and it will wait for the number of
|
|
42
|
+
* milliseconds to pass before becoming `false`.
|
|
43
|
+
*/
|
|
44
|
+
animated: boolean | number;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the content is currently animating.
|
|
47
|
+
*/
|
|
48
|
+
animating: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The content element that is being shown or hidden.
|
|
51
|
+
*/
|
|
52
|
+
contentElement: HTMLElement | null;
|
|
53
|
+
/**
|
|
54
|
+
* The disclosure button element that toggles the content.
|
|
55
|
+
*/
|
|
56
|
+
disclosureElement: HTMLElement | null;
|
|
57
|
+
}
|
|
58
|
+
interface DisclosureStoreFunctions extends Pick<DisclosureStoreOptions, "disclosure"> {
|
|
59
|
+
/**
|
|
60
|
+
* Sets the [`open`](https://ariakit.com/reference/disclosure-provider#open)
|
|
61
|
+
* state.
|
|
62
|
+
*
|
|
63
|
+
* Live examples:
|
|
64
|
+
* - [Textarea with inline
|
|
65
|
+
* Combobox](https://ariakit.com/examples/combobox-textarea)
|
|
66
|
+
* @example
|
|
67
|
+
* store.setOpen(true);
|
|
68
|
+
* store.setOpen((open) => !open);
|
|
69
|
+
*/
|
|
70
|
+
setOpen: SetState<DisclosureStoreState["open"]>;
|
|
71
|
+
/**
|
|
72
|
+
* Sets the [`open`](https://ariakit.com/reference/disclosure-provider#open)
|
|
73
|
+
* state to `true`.
|
|
74
|
+
*
|
|
75
|
+
* Live examples:
|
|
76
|
+
* - [Textarea with inline
|
|
77
|
+
* Combobox](https://ariakit.com/examples/combobox-textarea)
|
|
78
|
+
* - [Dialog with
|
|
79
|
+
* Motion](https://ariakit.com/examples/dialog-framer-motion)
|
|
80
|
+
* - [Context Menu](https://ariakit.com/examples/menu-context-menu)
|
|
81
|
+
* - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
|
|
82
|
+
*/
|
|
83
|
+
show: () => void;
|
|
84
|
+
/**
|
|
85
|
+
* Sets the [`open`](https://ariakit.com/reference/disclosure-provider#open)
|
|
86
|
+
* state to `false`.
|
|
87
|
+
*
|
|
88
|
+
* Live examples:
|
|
89
|
+
* - [Textarea with inline
|
|
90
|
+
* Combobox](https://ariakit.com/examples/combobox-textarea)
|
|
91
|
+
* - [Sliding Menu](https://ariakit.com/examples/menu-slide)
|
|
92
|
+
*/
|
|
93
|
+
hide: () => void;
|
|
94
|
+
/**
|
|
95
|
+
* Toggles the
|
|
96
|
+
* [`open`](https://ariakit.com/reference/disclosure-provider#open) state.
|
|
97
|
+
*/
|
|
98
|
+
toggle: () => void;
|
|
99
|
+
/**
|
|
100
|
+
* Sets the `animating` state to `false`, which will automatically set the
|
|
101
|
+
* `mounted` state to `false` if it was `true`. This means that the content
|
|
102
|
+
* element can be safely unmounted.
|
|
103
|
+
* @deprecated Use `setState("animating", false)` instead.
|
|
104
|
+
*/
|
|
105
|
+
stopAnimation: () => void;
|
|
106
|
+
/**
|
|
107
|
+
* Sets the `contentElement` state.
|
|
108
|
+
*/
|
|
109
|
+
setContentElement: SetState<DisclosureStoreState["contentElement"]>;
|
|
110
|
+
/**
|
|
111
|
+
* Sets the `disclosureElement` state.
|
|
112
|
+
*
|
|
113
|
+
* Live examples:
|
|
114
|
+
* - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
|
|
115
|
+
*/
|
|
116
|
+
setDisclosureElement: SetState<DisclosureStoreState["disclosureElement"]>;
|
|
117
|
+
}
|
|
118
|
+
interface DisclosureStoreOptions extends StoreOptions<DisclosureStoreState, "open" | "animated"> {
|
|
119
|
+
/**
|
|
120
|
+
* @deprecated Manually setting the `animated` prop is no longer necessary.
|
|
121
|
+
* This will be removed in a future release.
|
|
122
|
+
*/
|
|
123
|
+
animated?: DisclosureStoreState["animated"];
|
|
124
|
+
/**
|
|
125
|
+
* Whether the content should be visible by default.
|
|
126
|
+
* @default false
|
|
127
|
+
*/
|
|
128
|
+
defaultOpen?: DisclosureStoreState["open"];
|
|
129
|
+
/**
|
|
130
|
+
* A reference to another disclosure store that controls another disclosure
|
|
131
|
+
* component to keep them in sync. Element states like `contentElement` and
|
|
132
|
+
* `disclosureElement` won't be synced. For that, use the
|
|
133
|
+
* [`store`](https://ariakit.com/reference/disclosure-provider#store) prop
|
|
134
|
+
* instead.
|
|
135
|
+
*/
|
|
136
|
+
disclosure?: DisclosureStore | null;
|
|
137
|
+
}
|
|
138
|
+
interface DisclosureStoreProps extends DisclosureStoreOptions, StoreProps<DisclosureStoreState> {}
|
|
139
|
+
interface DisclosureStore extends DisclosureStoreFunctions, Store<DisclosureStoreState> {}
|
|
140
|
+
//#endregion
|
|
141
|
+
export { DisclosureStoreState as a, DisclosureStoreProps as i, DisclosureStoreFunctions as n, createDisclosureStore as o, DisclosureStoreOptions as r, DisclosureStore as t };
|
|
142
|
+
//# sourceMappingURL=disclosure-store-xKlQffR0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclosure-store-xKlQffR0.d.ts","names":["Store","StoreOptions","StoreProps","SetState","createDisclosureStore","DisclosureStoreProps","DisclosureStore","props","DisclosureStoreState","HTMLElement","open","mounted","animated","animating","contentElement","disclosureElement","DisclosureStoreFunctions","DisclosureStoreOptions","Pick","setOpen","show","hide","toggle","stopAnimation","setContentElement","setDisclosureElement","defaultOpen","disclosure"],"sources":["../src/disclosure/disclosure-store.d.ts"],"mappings":";;;;;;AAKA;iBAAwBI,qBAAAA,CAAsBG,KAAAA,GAAQF,oBAAAA,GAAuBC,eAAe;AAAA,UAC3EE,oBAAAA;EAD2E;;;;;AAAA;AAC5F;;;;;;EAaIE,IAAAA;EA0BAG;;;;;;AAQ8B;AAElC;;;;EAxBIF,OAAAA;EAoCSR;;;;;;;;;EA1BTS,QAAAA;EA0BAO;;;EAtBAN,SAAAA;EA6CAQ;;;EAzCAP,cAAAA,EAAgBL,WAAAA;EAyDGN;;;EArDnBY,iBAAAA,EAAmBN,WAAW;AAAA;AAAA,UAEjBO,wBAAAA,SAAiCE,IAAAA,CAAKD,sBAAAA;EA0DA;AAEvD;;;;;;;;;;EAhDIE,OAAAA,EAAShB,QAAAA,CAASK,oBAAAA;EAgDuCA;;;;;;;;AAkB7B;AAEhC;;;EAvDIY,IAAAA;EAuD0CH;;;;;;;;AAAuD;EA7CjGI,IAAAA;EA+C4B;;;;EA1C5BC,MAAAA;EA0CoE;;;;;;EAnCpEC,aAAAA;;;;EAIAC,iBAAAA,EAAmBrB,QAAAA,CAASK,oBAAAA;;;;;;;EAO5BiB,oBAAAA,EAAsBtB,QAAAA,CAASK,oBAAAA;AAAAA;AAAAA,UAElBS,sBAAAA,SAA+BhB,YAAAA,CAAaO,oBAAAA;;;;;EAKzDI,QAAAA,GAAWJ,oBAAAA;;;;;EAKXkB,WAAAA,GAAclB,oBAAAA;;;;;;;;EAQdmB,UAAAA,GAAarB,eAAAA;AAAAA;AAAAA,UAEAD,oBAAAA,SAA6BY,sBAAAA,EAAwBf,UAAAA,CAAWM,oBAAAA;AAAAA,UAEhEF,eAAAA,SAAwBU,wBAAAA,EAA0BhB,KAAAA,CAAMQ,oBAAAA"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { i as CollectionStoreOptions, n as CollectionStoreFunctions, o as CollectionStoreState, r as CollectionStoreItem } from "../collection-store-yNe83BiS.js";
|
|
2
|
+
import { DeepMap, DeepPartial, Names, StringLike } from "./types.js";
|
|
3
|
+
import { Store, StoreOptions, StoreProps } from "@ariakit/store";
|
|
4
|
+
import { AnyObject, PickRequired, SetState, SetStateAction } from "@ariakit/utils";
|
|
5
|
+
|
|
6
|
+
//#region src/form/form-store.d.ts
|
|
7
|
+
type ErrorMessage = string | undefined | null;
|
|
8
|
+
declare function hasMessages(object: FormStoreValues): boolean;
|
|
9
|
+
declare function get<T>(values: FormStoreValues, path: StringLike | string[], defaultValue?: T): T;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a form store.
|
|
12
|
+
*/
|
|
13
|
+
declare function createFormStore<T extends FormStoreValues = FormStoreValues>(props: PickRequired<FormStoreProps<T>, "values" | "defaultValues" | "errors" | "defaultErrors" | "touched" | "defaultTouched">): FormStore<T>;
|
|
14
|
+
declare function createFormStore(props: FormStoreProps): FormStore;
|
|
15
|
+
type FormStoreCallback<T extends FormStoreState = FormStoreState> = (state: T) => void | Promise<void>;
|
|
16
|
+
type FormStoreValues = AnyObject;
|
|
17
|
+
interface FormStoreItem extends CollectionStoreItem {
|
|
18
|
+
type: "field" | "label" | "description" | "error" | "button";
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
21
|
+
interface FormStoreState<T extends FormStoreValues = FormStoreValues> extends CollectionStoreState<FormStoreItem> {
|
|
22
|
+
/**
|
|
23
|
+
* Form values.
|
|
24
|
+
*
|
|
25
|
+
* Live examples:
|
|
26
|
+
* - [FormRadio](https://ariakit.com/examples/form-radio)
|
|
27
|
+
* - [FormSelect](https://ariakit.com/examples/form-select)
|
|
28
|
+
* @default {}
|
|
29
|
+
*/
|
|
30
|
+
values: T;
|
|
31
|
+
/**
|
|
32
|
+
* Form errors.
|
|
33
|
+
*/
|
|
34
|
+
errors: DeepPartial<DeepMap<T, ErrorMessage>>;
|
|
35
|
+
/**
|
|
36
|
+
* The touched state of the form.
|
|
37
|
+
*/
|
|
38
|
+
touched: DeepPartial<DeepMap<T, boolean>>;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the form is valid.
|
|
41
|
+
*/
|
|
42
|
+
valid: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the form is validating.
|
|
45
|
+
*/
|
|
46
|
+
validating: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the form is submitting.
|
|
49
|
+
*/
|
|
50
|
+
submitting: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The number of times
|
|
53
|
+
* [`submit`](https://ariakit.com/reference/use-form-store#submit) has been
|
|
54
|
+
* called with a successful response.
|
|
55
|
+
*/
|
|
56
|
+
submitSucceed: number;
|
|
57
|
+
/**
|
|
58
|
+
* The number of times
|
|
59
|
+
* [`submit`](https://ariakit.com/reference/use-form-store#submit) has been
|
|
60
|
+
* called with an error response.
|
|
61
|
+
*/
|
|
62
|
+
submitFailed: number;
|
|
63
|
+
}
|
|
64
|
+
interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues> extends CollectionStoreFunctions<FormStoreItem> {
|
|
65
|
+
/**
|
|
66
|
+
* An object containing the names of the form fields for type safety.
|
|
67
|
+
*
|
|
68
|
+
* Live examples:
|
|
69
|
+
* - [FormRadio](https://ariakit.com/examples/form-radio)
|
|
70
|
+
* - [FormSelect](https://ariakit.com/examples/form-select)
|
|
71
|
+
* @example
|
|
72
|
+
* store.names.name; // "name"
|
|
73
|
+
* store.names.name.first; // "name.first"
|
|
74
|
+
* store.names.name.last; // "name.last"
|
|
75
|
+
*/
|
|
76
|
+
names: Names<T>;
|
|
77
|
+
/**
|
|
78
|
+
* Sets the [`values`](https://ariakit.com/reference/form-provider#values)
|
|
79
|
+
* state.
|
|
80
|
+
* @example
|
|
81
|
+
* store.setValues({ name: "John" });
|
|
82
|
+
* store.setValues((values) => ({ ...values, name: "John" }));
|
|
83
|
+
*/
|
|
84
|
+
setValues: SetState<FormStoreState<T>["values"]>;
|
|
85
|
+
/**
|
|
86
|
+
* Retrieves a field value.
|
|
87
|
+
*
|
|
88
|
+
* Live examples:
|
|
89
|
+
* - [FormRadio](https://ariakit.com/examples/form-radio)
|
|
90
|
+
* @example
|
|
91
|
+
* const nameValue = store.getValue("name");
|
|
92
|
+
* // Can also use store.names for type-safety.
|
|
93
|
+
* const emailValue = store.getValue(store.names.email);
|
|
94
|
+
*/
|
|
95
|
+
getValue: <T = any>(name: StringLike) => T;
|
|
96
|
+
/**
|
|
97
|
+
* Sets a field value.
|
|
98
|
+
*
|
|
99
|
+
* Live examples:
|
|
100
|
+
* - [FormSelect](https://ariakit.com/examples/form-select)
|
|
101
|
+
* @example
|
|
102
|
+
* store.setValue("name", "John");
|
|
103
|
+
* store.setValue("name", (value) => value + " Doe");
|
|
104
|
+
* // Can also use store.names for type-safety.
|
|
105
|
+
* store.setValue(store.names.name, "John");
|
|
106
|
+
*/
|
|
107
|
+
setValue: <T>(name: StringLike, value: SetStateAction<T>) => void;
|
|
108
|
+
/**
|
|
109
|
+
* Pushes a value to an array field.
|
|
110
|
+
* @example
|
|
111
|
+
* store.pushValue("tags", "new tag");
|
|
112
|
+
* store.pushValue("tags", { id: 1, name: "new tag" });
|
|
113
|
+
* // Can also use store.names for type-safety.
|
|
114
|
+
* store.pushValue(store.names.tags, "new tag");
|
|
115
|
+
*/
|
|
116
|
+
pushValue: <T>(name: StringLike, value: T) => void;
|
|
117
|
+
/**
|
|
118
|
+
* Removes a value from an array field.
|
|
119
|
+
* @example
|
|
120
|
+
* store.removeValue("tags", 0);
|
|
121
|
+
* store.removeValue("tags", 1);
|
|
122
|
+
* // Can also use store.names for type-safety.
|
|
123
|
+
* store.removeValue(store.names.tags, 0);
|
|
124
|
+
*/
|
|
125
|
+
removeValue: (name: StringLike, index: number) => void;
|
|
126
|
+
/**
|
|
127
|
+
* Sets the [`errors`](https://ariakit.com/reference/form-provider#errors)
|
|
128
|
+
* state.
|
|
129
|
+
* @example
|
|
130
|
+
* store.setErrors({ name: "Name is required" });
|
|
131
|
+
* store.setErrors((errors) => ({ ...errors, name: "Name is required" }));
|
|
132
|
+
*/
|
|
133
|
+
setErrors: SetState<FormStoreState<T>["errors"]>;
|
|
134
|
+
/**
|
|
135
|
+
* Retrieves a field error.
|
|
136
|
+
* @example
|
|
137
|
+
* const nameError = store.getError("name");
|
|
138
|
+
* // Can also use store.names for type-safety.
|
|
139
|
+
* const emailError = store.getError(store.names.email);
|
|
140
|
+
*/
|
|
141
|
+
getError: (name: StringLike) => ErrorMessage;
|
|
142
|
+
/**
|
|
143
|
+
* Sets a field error.
|
|
144
|
+
*
|
|
145
|
+
* Live examples:
|
|
146
|
+
* - [FormRadio](https://ariakit.com/examples/form-radio)
|
|
147
|
+
* @example
|
|
148
|
+
* store.setError("name", "Name is required");
|
|
149
|
+
* store.setError("name", (error) => error + "!");
|
|
150
|
+
* // Can also use store.names for type-safety.
|
|
151
|
+
* store.setError(store.names.name, "Name is required");
|
|
152
|
+
*/
|
|
153
|
+
setError: (name: StringLike, error: SetStateAction<ErrorMessage>) => void;
|
|
154
|
+
/**
|
|
155
|
+
* Sets the [`touched`](https://ariakit.com/reference/form-provider#touched)
|
|
156
|
+
* state.
|
|
157
|
+
* @example
|
|
158
|
+
* store.setTouched({ name: true });
|
|
159
|
+
* store.setTouched((touched) => ({ ...touched, name: true }));
|
|
160
|
+
*/
|
|
161
|
+
setTouched: SetState<FormStoreState<T>["touched"]>;
|
|
162
|
+
/**
|
|
163
|
+
* Retrieves a field touched state.
|
|
164
|
+
* @example
|
|
165
|
+
* const nameTouched = store.getFieldTouched("name");
|
|
166
|
+
* // Can also use store.names for type-safety.
|
|
167
|
+
* const emailTouched = store.getFieldTouched(store.names.email);
|
|
168
|
+
*/
|
|
169
|
+
getFieldTouched: (name: StringLike) => boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Sets a field touched state.
|
|
172
|
+
* @example
|
|
173
|
+
* store.setFieldTouched("name", true);
|
|
174
|
+
* store.setFieldTouched("name", (value) => !value);
|
|
175
|
+
* // Can also use store.names for type-safety.
|
|
176
|
+
* store.setFieldTouched(store.names.name, true);
|
|
177
|
+
*/
|
|
178
|
+
setFieldTouched: (name: StringLike, value: SetStateAction<boolean>) => void;
|
|
179
|
+
/**
|
|
180
|
+
* Function that accepts a callback that will be used to validate the form
|
|
181
|
+
* when [`validate`](https://ariakit.com/reference/use-form-store#validate) is
|
|
182
|
+
* called. It returns a cleanup function that will remove the callback.
|
|
183
|
+
* @example
|
|
184
|
+
* const cleanup = store.onValidate(async (state) => {
|
|
185
|
+
* const errors = await api.validate(state.values);
|
|
186
|
+
* if (errors) {
|
|
187
|
+
* store.setErrors(errors);
|
|
188
|
+
* }
|
|
189
|
+
* });
|
|
190
|
+
*/
|
|
191
|
+
onValidate: (callback: FormStoreCallback<FormStoreState<T>>) => () => void;
|
|
192
|
+
/**
|
|
193
|
+
* Function that accepts a callback that will be used to submit the form when
|
|
194
|
+
* [`submit`](https://ariakit.com/reference/use-form-store#submit) is called.
|
|
195
|
+
* It returns a cleanup function that will remove the callback.
|
|
196
|
+
* @param callback The callback function.
|
|
197
|
+
* @example
|
|
198
|
+
* const cleanup = store.onSubmit(async (state) => {
|
|
199
|
+
* try {
|
|
200
|
+
* await api.submit(state.values);
|
|
201
|
+
* } catch (errors) {
|
|
202
|
+
* store.setErrors(errors);
|
|
203
|
+
* }
|
|
204
|
+
* });
|
|
205
|
+
*/
|
|
206
|
+
onSubmit: (callback: FormStoreCallback<FormStoreState<T>>) => () => void;
|
|
207
|
+
/**
|
|
208
|
+
* Validates the form.
|
|
209
|
+
* @example
|
|
210
|
+
* if (await store.validate()) {
|
|
211
|
+
* // Form is valid.
|
|
212
|
+
* }
|
|
213
|
+
*/
|
|
214
|
+
validate: () => Promise<boolean>;
|
|
215
|
+
/**
|
|
216
|
+
* Submits the form. This also triggers validation.
|
|
217
|
+
* @example
|
|
218
|
+
* if (await form.submit()) {
|
|
219
|
+
* // Form is submitted.
|
|
220
|
+
* }
|
|
221
|
+
*/
|
|
222
|
+
submit: () => Promise<boolean>;
|
|
223
|
+
/**
|
|
224
|
+
* Resets the form to its default values.
|
|
225
|
+
*/
|
|
226
|
+
reset: () => void;
|
|
227
|
+
}
|
|
228
|
+
interface FormStoreOptions<T extends FormStoreValues = FormStoreValues> extends CollectionStoreOptions<FormStoreItem>, StoreOptions<FormStoreState<T>, "values" | "errors" | "touched"> {
|
|
229
|
+
/**
|
|
230
|
+
* The default values of the form.
|
|
231
|
+
* @default {}
|
|
232
|
+
*/
|
|
233
|
+
defaultValues?: FormStoreState<T>["values"];
|
|
234
|
+
/**
|
|
235
|
+
* The default errors of the form.
|
|
236
|
+
*/
|
|
237
|
+
defaultErrors?: FormStoreState<T>["errors"];
|
|
238
|
+
/**
|
|
239
|
+
* The default touched state of the form.
|
|
240
|
+
*/
|
|
241
|
+
defaultTouched?: FormStoreState<T>["touched"];
|
|
242
|
+
}
|
|
243
|
+
interface FormStoreProps<T extends FormStoreValues = FormStoreValues> extends FormStoreOptions<T>, StoreProps<FormStoreState<T>> {}
|
|
244
|
+
interface FormStore<T extends FormStoreValues = FormStoreValues> extends FormStoreFunctions<T>, Store<FormStoreState<T>> {}
|
|
245
|
+
//#endregion
|
|
246
|
+
export { FormStore, FormStoreCallback, FormStoreFunctions, FormStoreItem, FormStoreOptions, FormStoreProps, FormStoreState, FormStoreValues, createFormStore, get, hasMessages };
|
|
247
|
+
//# sourceMappingURL=form-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-store.d.ts","names":["Store","StoreOptions","StoreProps","AnyObject","PickRequired","SetState","SetStateAction","CollectionStoreFunctions","CollectionStoreItem","CollectionStoreOptions","CollectionStoreState","DeepMap","DeepPartial","Names","StringLike","ErrorMessage","hasMessages","FormStoreValues","object","get","T","values","path","defaultValue","createFormStore","FormStoreProps","FormStore","props","FormStoreCallback","FormStoreState","Promise","state","FormStoreItem","type","name","errors","touched","valid","validating","submitting","submitSucceed","submitFailed","FormStoreFunctions","names","setValues","getValue","setValue","value","pushValue","removeValue","index","setErrors","getError","setError","error","setTouched","getFieldTouched","setFieldTouched","onValidate","callback","onSubmit","validate","submit","reset","FormStoreOptions","defaultValues","defaultErrors","defaultTouched"],"sources":["../../src/form/form-store.d.ts"],"mappings":"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"}
|