@octanejs/base-ui 0.1.30 → 0.1.32
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/cjs/accordion.cjs +497 -0
- package/dist/cjs/alert-dialog.cjs +65 -0
- package/dist/cjs/avatar.cjs +234 -0
- package/dist/cjs/button.cjs +54 -0
- package/dist/cjs/checkbox-group.cjs +165 -0
- package/dist/cjs/checkbox.cjs +475 -0
- package/dist/cjs/collapsible.cjs +700 -0
- package/dist/cjs/context-menu.cjs +257 -0
- package/dist/cjs/csp-provider.cjs +40 -0
- package/dist/cjs/dialog.cjs +741 -0
- package/dist/cjs/direction-provider.cjs +35 -0
- package/dist/cjs/field.cjs +559 -0
- package/dist/cjs/fieldset.cjs +101 -0
- package/dist/cjs/form.cjs +177 -0
- package/dist/cjs/index.cjs +133 -0
- package/dist/cjs/input.cjs +32 -0
- package/dist/cjs/internal.cjs +51 -0
- package/dist/cjs/menu.cjs +2420 -0
- package/dist/cjs/menubar.cjs +132 -0
- package/dist/cjs/merge-props.cjs +34 -0
- package/dist/cjs/meter.cjs +169 -0
- package/dist/cjs/number-field.cjs +812 -0
- package/dist/cjs/popover.cjs +966 -0
- package/dist/cjs/preview-card.cjs +632 -0
- package/dist/cjs/progress.cjs +206 -0
- package/dist/cjs/radio-group.cjs +264 -0
- package/dist/cjs/radio.cjs +327 -0
- package/dist/cjs/separator.cjs +44 -0
- package/dist/cjs/slider.cjs +1384 -0
- package/dist/cjs/switch.cjs +306 -0
- package/dist/cjs/tabs.cjs +727 -0
- package/dist/cjs/toast.cjs +1766 -0
- package/dist/cjs/toggle-group.cjs +118 -0
- package/dist/cjs/toggle.cjs +121 -0
- package/dist/cjs/tooltip.cjs +835 -0
- package/dist/cjs/unstable-use-media-query.cjs +79 -0
- package/dist/cjs/use-render.cjs +40 -0
- package/dist/cjs/utils/CSPContext.cjs +38 -0
- package/dist/cjs/utils/CheckboxGroupContext.cjs +40 -0
- package/dist/cjs/utils/CompositeRootContext.cjs +40 -0
- package/dist/cjs/utils/ContextMenuRootContext.cjs +42 -0
- package/dist/cjs/utils/DirectionContext.cjs +34 -0
- package/dist/cjs/utils/FloatingPortalLite.cjs +47 -0
- package/dist/cjs/utils/InternalBackdrop.cjs +49 -0
- package/dist/cjs/utils/MenubarContext.cjs +40 -0
- package/dist/cjs/utils/RadioGroupContext.cjs +34 -0
- package/dist/cjs/utils/RequestQueue.cjs +111 -0
- package/dist/cjs/utils/TimeoutManager.cjs +50 -0
- package/dist/cjs/utils/ToggleGroupContext.cjs +40 -0
- package/dist/cjs/utils/adaptiveOriginMiddleware.cjs +94 -0
- package/dist/cjs/utils/addEventListener.cjs +33 -0
- package/dist/cjs/utils/areArraysEqual.cjs +30 -0
- package/dist/cjs/utils/clamp.cjs +30 -0
- package/dist/cjs/utils/closePart.cjs +70 -0
- package/dist/cjs/utils/collapsibleOpenStateMapping.cjs +42 -0
- package/dist/cjs/utils/composeRefs.cjs +68 -0
- package/dist/cjs/utils/composite/CompositeItem.cjs +59 -0
- package/dist/cjs/utils/composite/CompositeList.cjs +177 -0
- package/dist/cjs/utils/composite/CompositeListContext.cjs +43 -0
- package/dist/cjs/utils/composite/CompositeRoot.cjs +118 -0
- package/dist/cjs/utils/composite/grid-utils.cjs +343 -0
- package/dist/cjs/utils/composite/gridNavigation.cjs +92 -0
- package/dist/cjs/utils/composite/keys.cjs +174 -0
- package/dist/cjs/utils/composite/list-utils.cjs +90 -0
- package/dist/cjs/utils/composite/useCompositeItem.cjs +63 -0
- package/dist/cjs/utils/composite/useCompositeListItem.cjs +104 -0
- package/dist/cjs/utils/composite/useCompositeRoot.cjs +263 -0
- package/dist/cjs/utils/constants.cjs +56 -0
- package/dist/cjs/utils/contains.cjs +46 -0
- package/dist/cjs/utils/createChangeEventDetails.cjs +92 -0
- package/dist/cjs/utils/dom.cjs +35 -0
- package/dist/cjs/utils/empty.cjs +34 -0
- package/dist/cjs/utils/field/FieldItemContext.cjs +34 -0
- package/dist/cjs/utils/field/FieldRootContext.cjs +80 -0
- package/dist/cjs/utils/field/FormContext.cjs +41 -0
- package/dist/cjs/utils/field/LabelableContext.cjs +43 -0
- package/dist/cjs/utils/field/LabelableProvider.cjs +115 -0
- package/dist/cjs/utils/field/constants.cjs +68 -0
- package/dist/cjs/utils/field/getCombinedFieldValidityData.cjs +36 -0
- package/dist/cjs/utils/field/useAriaLabelledBy.cjs +87 -0
- package/dist/cjs/utils/field/useFieldControlRegistration.cjs +165 -0
- package/dist/cjs/utils/field/useFieldValidation.cjs +285 -0
- package/dist/cjs/utils/field/useLabel.cjs +99 -0
- package/dist/cjs/utils/field/useLabelableId.cjs +105 -0
- package/dist/cjs/utils/field/useRegisterFieldControl.cjs +60 -0
- package/dist/cjs/utils/findRootOwnerId.cjs +37 -0
- package/dist/cjs/utils/floating/FloatingDelayGroup.cjs +219 -0
- package/dist/cjs/utils/floating/FloatingFocusManager.cjs +685 -0
- package/dist/cjs/utils/floating/FloatingPortal.cjs +230 -0
- package/dist/cjs/utils/floating/FloatingRootStore.cjs +87 -0
- package/dist/cjs/utils/floating/FloatingTree.cjs +86 -0
- package/dist/cjs/utils/floating/FloatingTreeStore.cjs +41 -0
- package/dist/cjs/utils/floating/FocusGuard.cjs +54 -0
- package/dist/cjs/utils/floating/composite.cjs +42 -0
- package/dist/cjs/utils/floating/constants.cjs +34 -0
- package/dist/cjs/utils/floating/createAttribute.cjs +30 -0
- package/dist/cjs/utils/floating/createEventEmitter.cjs +44 -0
- package/dist/cjs/utils/floating/element.cjs +103 -0
- package/dist/cjs/utils/floating/enqueueFocus.cjs +51 -0
- package/dist/cjs/utils/floating/event.cjs +65 -0
- package/dist/cjs/utils/floating/getEmptyRootContext.cjs +42 -0
- package/dist/cjs/utils/floating/gridNavigation.cjs +45 -0
- package/dist/cjs/utils/floating/markOthers.cjs +181 -0
- package/dist/cjs/utils/floating/nodes.cjs +48 -0
- package/dist/cjs/utils/floating/safePolygon.cjs +301 -0
- package/dist/cjs/utils/floating/tabbable.cjs +242 -0
- package/dist/cjs/utils/floating/types.cjs +16 -0
- package/dist/cjs/utils/floating/useClick.cjs +153 -0
- package/dist/cjs/utils/floating/useClientPoint.cjs +225 -0
- package/dist/cjs/utils/floating/useDismiss.cjs +506 -0
- package/dist/cjs/utils/floating/useFloating.cjs +186 -0
- package/dist/cjs/utils/floating/useFloatingRootContext.cjs +75 -0
- package/dist/cjs/utils/floating/useFocus.cjs +184 -0
- package/dist/cjs/utils/floating/useHoverFloatingInteraction.cjs +231 -0
- package/dist/cjs/utils/floating/useHoverInteractionSharedState.cjs +113 -0
- package/dist/cjs/utils/floating/useHoverReferenceInteraction.cjs +380 -0
- package/dist/cjs/utils/floating/useHoverShared.cjs +65 -0
- package/dist/cjs/utils/floating/useListNavigation.cjs +665 -0
- package/dist/cjs/utils/floating/useSyncedFloatingRootContext.cjs +91 -0
- package/dist/cjs/utils/floating/useTypeahead.cjs +187 -0
- package/dist/cjs/utils/formatNumber.cjs +60 -0
- package/dist/cjs/utils/generateId.cjs +32 -0
- package/dist/cjs/utils/getCssDimensions.cjs +42 -0
- package/dist/cjs/utils/getDefaultFormSubmitter.cjs +42 -0
- package/dist/cjs/utils/getDisabledMountTransitionStyles.cjs +32 -0
- package/dist/cjs/utils/getElementRef.cjs +35 -0
- package/dist/cjs/utils/getPseudoElementBounds.cjs +56 -0
- package/dist/cjs/utils/getStateAttributesProps.cjs +46 -0
- package/dist/cjs/utils/hideMiddleware.cjs +42 -0
- package/dist/cjs/utils/inertValue.cjs +30 -0
- package/dist/cjs/utils/matchesFocusVisible.cjs +38 -0
- package/dist/cjs/utils/mergeCleanups.cjs +37 -0
- package/dist/cjs/utils/mergeObjects.cjs +39 -0
- package/dist/cjs/utils/mergeProps.cjs +182 -0
- package/dist/cjs/utils/noop.cjs +29 -0
- package/dist/cjs/utils/number/constants.cjs +34 -0
- package/dist/cjs/utils/number/parse.cjs +258 -0
- package/dist/cjs/utils/number/types.cjs +16 -0
- package/dist/cjs/utils/number/validate.cjs +104 -0
- package/dist/cjs/utils/owner.cjs +35 -0
- package/dist/cjs/utils/platform.cjs +83 -0
- package/dist/cjs/utils/popupStateMapping.cjs +74 -0
- package/dist/cjs/utils/popups/index.cjs +39 -0
- package/dist/cjs/utils/popups/inlineRect.cjs +218 -0
- package/dist/cjs/utils/popups/popupStoreUtils.cjs +379 -0
- package/dist/cjs/utils/popups/popupTriggerMap.cjs +76 -0
- package/dist/cjs/utils/popups/store.cjs +118 -0
- package/dist/cjs/utils/popups/useTriggerFocusGuards.cjs +72 -0
- package/dist/cjs/utils/resolveAriaLabelledBy.cjs +35 -0
- package/dist/cjs/utils/resolveClassName.cjs +30 -0
- package/dist/cjs/utils/resolveRef.cjs +33 -0
- package/dist/cjs/utils/resolveStyle.cjs +30 -0
- package/dist/cjs/utils/serializeValue.cjs +40 -0
- package/dist/cjs/utils/slider/asc.cjs +30 -0
- package/dist/cjs/utils/slider/getMidpoint.cjs +34 -0
- package/dist/cjs/utils/slider/getPushedThumbValues.cjs +73 -0
- package/dist/cjs/utils/slider/getSliderValue.cjs +42 -0
- package/dist/cjs/utils/slider/replaceArrayItemAtIndex.cjs +33 -0
- package/dist/cjs/utils/slider/resolveThumbCollision.cjs +155 -0
- package/dist/cjs/utils/slider/roundValueToStep.cjs +45 -0
- package/dist/cjs/utils/slider/validateMinimumDistance.cjs +40 -0
- package/dist/cjs/utils/slider/valueArrayToPercentages.cjs +36 -0
- package/dist/cjs/utils/store/ReactStore.cjs +135 -0
- package/dist/cjs/utils/store/Store.cjs +83 -0
- package/dist/cjs/utils/store/createSelector.cjs +74 -0
- package/dist/cjs/utils/store/useStore.cjs +51 -0
- package/dist/cjs/utils/stringifyLocale.cjs +36 -0
- package/dist/cjs/utils/useAnchorPositioning.cjs +421 -0
- package/dist/cjs/utils/useAnchoredPopupScrollLock.cjs +59 -0
- package/dist/cjs/utils/useAnimationFrame.cjs +93 -0
- package/dist/cjs/utils/useAnimationsFinished.cjs +98 -0
- package/dist/cjs/utils/useBaseUiId.cjs +36 -0
- package/dist/cjs/utils/useButton.cjs +177 -0
- package/dist/cjs/utils/useCheckboxGroupParent.cjs +114 -0
- package/dist/cjs/utils/useControlled.cjs +47 -0
- package/dist/cjs/utils/useEnhancedClickHandler.cjs +60 -0
- package/dist/cjs/utils/useFocusableWhenDisabled.cjs +77 -0
- package/dist/cjs/utils/useForcedRerendering.cjs +35 -0
- package/dist/cjs/utils/useIsHydrating.cjs +44 -0
- package/dist/cjs/utils/useMixedToggleClickHandler.cjs +66 -0
- package/dist/cjs/utils/useOnFirstRender.cjs +35 -0
- package/dist/cjs/utils/useOnMount.cjs +36 -0
- package/dist/cjs/utils/useOpenChangeComplete.cjs +57 -0
- package/dist/cjs/utils/useOpenInteractionType.cjs +69 -0
- package/dist/cjs/utils/usePopupAutoResize.cjs +191 -0
- package/dist/cjs/utils/usePopupViewport.cjs +283 -0
- package/dist/cjs/utils/usePositioner.cjs +53 -0
- package/dist/cjs/utils/usePressAndHold.cjs +51 -0
- package/dist/cjs/utils/usePreviousValue.cjs +47 -0
- package/dist/cjs/utils/useRefWithInit.cjs +41 -0
- package/dist/cjs/utils/useRegisteredLabelId.cjs +48 -0
- package/dist/cjs/utils/useRenderElement.cjs +106 -0
- package/dist/cjs/utils/useScrollLock.cjs +232 -0
- package/dist/cjs/utils/useStableCallback.cjs +41 -0
- package/dist/cjs/utils/useTimeout.cjs +66 -0
- package/dist/cjs/utils/useTransitionStatus.cjs +116 -0
- package/dist/cjs/utils/useValueAsRef.cjs +43 -0
- package/dist/cjs/utils/useValueChanged.cjs +55 -0
- package/dist/cjs/utils/valueToPercent.cjs +30 -0
- package/dist/cjs/utils/visuallyHidden.cjs +49 -0
- package/package.json +20 -8
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ReactStore_exports = {};
|
|
20
|
+
__export(ReactStore_exports, {
|
|
21
|
+
ReactStore: () => ReactStore
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ReactStore_exports);
|
|
24
|
+
var import_octane = require("octane");
|
|
25
|
+
var import_useStableCallback = require("../useStableCallback.cjs");
|
|
26
|
+
var import_noop = require("../noop.cjs");
|
|
27
|
+
var import_Store = require("./Store.cjs");
|
|
28
|
+
var import_useStore = require("./useStore.cjs");
|
|
29
|
+
class ReactStore extends import_Store.Store {
|
|
30
|
+
context;
|
|
31
|
+
selectors;
|
|
32
|
+
constructor(state, context = {}, selectors) {
|
|
33
|
+
super(state);
|
|
34
|
+
this.context = context;
|
|
35
|
+
this.selectors = selectors;
|
|
36
|
+
}
|
|
37
|
+
/** Sync a single external value into the store (in a layout effect). */
|
|
38
|
+
useSyncedValue(key, value, slot) {
|
|
39
|
+
const store = this;
|
|
40
|
+
(0, import_octane.useLayoutEffect)(
|
|
41
|
+
() => {
|
|
42
|
+
if (store.state[key] !== value) {
|
|
43
|
+
store.set(key, value);
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
[store, key, value],
|
|
47
|
+
slot
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
/** Sync a single external value into the store; reset to `undefined` on unmount. */
|
|
51
|
+
useSyncedValueWithCleanup(key, value, slot) {
|
|
52
|
+
const store = this;
|
|
53
|
+
(0, import_octane.useLayoutEffect)(
|
|
54
|
+
() => {
|
|
55
|
+
if (store.state[key] !== value) {
|
|
56
|
+
store.set(key, value);
|
|
57
|
+
}
|
|
58
|
+
return () => {
|
|
59
|
+
store.set(key, void 0);
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
[store, key, value],
|
|
63
|
+
slot
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
/** Sync multiple external values into the store. */
|
|
67
|
+
useSyncedValues(statePart, slot) {
|
|
68
|
+
const store = this;
|
|
69
|
+
const dependencies = Object.values(statePart);
|
|
70
|
+
(0, import_octane.useLayoutEffect)(
|
|
71
|
+
() => {
|
|
72
|
+
store.update(statePart);
|
|
73
|
+
},
|
|
74
|
+
[store, ...dependencies],
|
|
75
|
+
slot
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
/** Register a controllable prop: when `controlled` is defined, the store key tracks it. */
|
|
79
|
+
useControlledProp(key, controlled, slot) {
|
|
80
|
+
const store = this;
|
|
81
|
+
const isControlled = controlled !== void 0;
|
|
82
|
+
(0, import_octane.useLayoutEffect)(
|
|
83
|
+
() => {
|
|
84
|
+
if (isControlled && !Object.is(store.state[key], controlled)) {
|
|
85
|
+
store.setState({ ...store.state, [key]: controlled });
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
[store, key, controlled, isControlled],
|
|
89
|
+
slot
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
/** Non-hook: read a selector's current value synchronously. */
|
|
93
|
+
select(key, a1, a2, a3) {
|
|
94
|
+
const selector = this.selectors[key];
|
|
95
|
+
return selector(this.state, a1, a2, a3);
|
|
96
|
+
}
|
|
97
|
+
/** Subscribe to a selector's value (re-renders on change). */
|
|
98
|
+
useState(key, slot, a1, a2, a3) {
|
|
99
|
+
return (0, import_useStore.useStore)(this, this.selectors[key], slot, a1, a2, a3);
|
|
100
|
+
}
|
|
101
|
+
/** Wrap a callback with `useStableCallback` and assign it to `context[key]`. */
|
|
102
|
+
useContextCallback(key, fn, slot) {
|
|
103
|
+
const stableFunction = (0, import_useStableCallback.useStableCallback)(fn ?? import_noop.NOOP, slot);
|
|
104
|
+
this.context[key] = stableFunction;
|
|
105
|
+
}
|
|
106
|
+
/** A stable ref-callback setter for a state key (commonly passed as a `ref`). */
|
|
107
|
+
useStateSetter(key, slot) {
|
|
108
|
+
const store = this;
|
|
109
|
+
const ref = (0, import_octane.useRef)(void 0, slot);
|
|
110
|
+
if (ref.current === void 0) {
|
|
111
|
+
ref.current = (value) => {
|
|
112
|
+
store.set(key, value);
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return ref.current;
|
|
116
|
+
}
|
|
117
|
+
/** Non-hook: observe a selector; call `listener` when its value changes (fires once now). */
|
|
118
|
+
observe(selector, listener) {
|
|
119
|
+
const selectFn = typeof selector === "function" ? selector : this.selectors[selector];
|
|
120
|
+
let prevValue = selectFn(this.state);
|
|
121
|
+
listener(prevValue, prevValue, this);
|
|
122
|
+
return this.subscribe((nextState) => {
|
|
123
|
+
const nextValue = selectFn(nextState);
|
|
124
|
+
if (!Object.is(prevValue, nextValue)) {
|
|
125
|
+
const oldValue = prevValue;
|
|
126
|
+
prevValue = nextValue;
|
|
127
|
+
listener(nextValue, oldValue, this);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
+
0 && (module.exports = {
|
|
134
|
+
ReactStore
|
|
135
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Store_exports = {};
|
|
20
|
+
__export(Store_exports, {
|
|
21
|
+
Store: () => Store
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Store_exports);
|
|
24
|
+
var import_useStore = require("./useStore.cjs");
|
|
25
|
+
class Store {
|
|
26
|
+
state;
|
|
27
|
+
listeners;
|
|
28
|
+
// Internal state to handle recursive `setState()` calls.
|
|
29
|
+
updateTick;
|
|
30
|
+
constructor(state) {
|
|
31
|
+
this.state = state;
|
|
32
|
+
this.listeners = /* @__PURE__ */ new Set();
|
|
33
|
+
this.updateTick = 0;
|
|
34
|
+
}
|
|
35
|
+
subscribe = (fn) => {
|
|
36
|
+
this.listeners.add(fn);
|
|
37
|
+
return () => {
|
|
38
|
+
this.listeners.delete(fn);
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
getSnapshot = () => {
|
|
42
|
+
return this.state;
|
|
43
|
+
};
|
|
44
|
+
setState(newState) {
|
|
45
|
+
if (this.state === newState) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.state = newState;
|
|
49
|
+
this.updateTick += 1;
|
|
50
|
+
const currentTick = this.updateTick;
|
|
51
|
+
for (const listener of this.listeners) {
|
|
52
|
+
if (currentTick !== this.updateTick) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
listener(newState);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
update(changes) {
|
|
59
|
+
for (const key in changes) {
|
|
60
|
+
if (!Object.is(this.state[key], changes[key])) {
|
|
61
|
+
this.setState({ ...this.state, ...changes });
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
set(key, value) {
|
|
67
|
+
if (!Object.is(this.state[key], value)) {
|
|
68
|
+
this.setState({ ...this.state, [key]: value });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
notifyAll() {
|
|
72
|
+
const newState = { ...this.state };
|
|
73
|
+
this.setState(newState);
|
|
74
|
+
}
|
|
75
|
+
// octane: slot is threaded explicitly (was `use(selector, ...args)` in React).
|
|
76
|
+
use(selector, slot, a1, a2, a3) {
|
|
77
|
+
return (0, import_useStore.useStore)(this, selector, slot, a1, a2, a3);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
Store
|
|
83
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var createSelector_exports = {};
|
|
20
|
+
__export(createSelector_exports, {
|
|
21
|
+
createSelector: () => createSelector
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(createSelector_exports);
|
|
24
|
+
const createSelector = ((a, b, c, d, e, f, ...other) => {
|
|
25
|
+
if (other.length > 0) {
|
|
26
|
+
throw new Error("Unsupported number of selectors");
|
|
27
|
+
}
|
|
28
|
+
let selector;
|
|
29
|
+
if (a && b && c && d && e && f) {
|
|
30
|
+
selector = (state, a1, a2, a3) => {
|
|
31
|
+
const va = a(state, a1, a2, a3);
|
|
32
|
+
const vb = b(state, a1, a2, a3);
|
|
33
|
+
const vc = c(state, a1, a2, a3);
|
|
34
|
+
const vd = d(state, a1, a2, a3);
|
|
35
|
+
const ve = e(state, a1, a2, a3);
|
|
36
|
+
return f(va, vb, vc, vd, ve, a1, a2, a3);
|
|
37
|
+
};
|
|
38
|
+
} else if (a && b && c && d && e) {
|
|
39
|
+
selector = (state, a1, a2, a3) => {
|
|
40
|
+
const va = a(state, a1, a2, a3);
|
|
41
|
+
const vb = b(state, a1, a2, a3);
|
|
42
|
+
const vc = c(state, a1, a2, a3);
|
|
43
|
+
const vd = d(state, a1, a2, a3);
|
|
44
|
+
return e(va, vb, vc, vd, a1, a2, a3);
|
|
45
|
+
};
|
|
46
|
+
} else if (a && b && c && d) {
|
|
47
|
+
selector = (state, a1, a2, a3) => {
|
|
48
|
+
const va = a(state, a1, a2, a3);
|
|
49
|
+
const vb = b(state, a1, a2, a3);
|
|
50
|
+
const vc = c(state, a1, a2, a3);
|
|
51
|
+
return d(va, vb, vc, a1, a2, a3);
|
|
52
|
+
};
|
|
53
|
+
} else if (a && b && c) {
|
|
54
|
+
selector = (state, a1, a2, a3) => {
|
|
55
|
+
const va = a(state, a1, a2, a3);
|
|
56
|
+
const vb = b(state, a1, a2, a3);
|
|
57
|
+
return c(va, vb, a1, a2, a3);
|
|
58
|
+
};
|
|
59
|
+
} else if (a && b) {
|
|
60
|
+
selector = (state, a1, a2, a3) => {
|
|
61
|
+
const va = a(state, a1, a2, a3);
|
|
62
|
+
return b(va, a1, a2, a3);
|
|
63
|
+
};
|
|
64
|
+
} else if (a) {
|
|
65
|
+
selector = a;
|
|
66
|
+
} else {
|
|
67
|
+
throw new Error("Missing arguments");
|
|
68
|
+
}
|
|
69
|
+
return selector;
|
|
70
|
+
});
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
createSelector
|
|
74
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var useStore_exports = {};
|
|
20
|
+
__export(useStore_exports, {
|
|
21
|
+
useStore: () => useStore
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(useStore_exports);
|
|
24
|
+
var import_octane = require("octane");
|
|
25
|
+
var import_internal = require("../../internal.cjs");
|
|
26
|
+
function useStore(store, selector, slot, a1, a2, a3) {
|
|
27
|
+
const cache = (0, import_octane.useRef)(
|
|
28
|
+
{ hasValue: false, value: void 0 },
|
|
29
|
+
(0, import_internal.subSlot)(slot, "sel")
|
|
30
|
+
);
|
|
31
|
+
const select = (state) => {
|
|
32
|
+
const next = selector(state, a1, a2, a3);
|
|
33
|
+
const c = cache.current;
|
|
34
|
+
if (c.hasValue && Object.is(c.value, next)) {
|
|
35
|
+
return c.value;
|
|
36
|
+
}
|
|
37
|
+
c.hasValue = true;
|
|
38
|
+
c.value = next;
|
|
39
|
+
return next;
|
|
40
|
+
};
|
|
41
|
+
return (0, import_octane.useSyncExternalStore)(
|
|
42
|
+
store.subscribe,
|
|
43
|
+
() => select(store.getSnapshot()),
|
|
44
|
+
() => select(store.getSnapshot()),
|
|
45
|
+
(0, import_internal.subSlot)(slot, "uses")
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
useStore
|
|
51
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var stringifyLocale_exports = {};
|
|
20
|
+
__export(stringifyLocale_exports, {
|
|
21
|
+
stringifyLocale: () => stringifyLocale
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(stringifyLocale_exports);
|
|
24
|
+
function stringifyLocale(locale) {
|
|
25
|
+
if (Array.isArray(locale)) {
|
|
26
|
+
return locale.map((value) => stringifyLocale(value)).join(",");
|
|
27
|
+
}
|
|
28
|
+
if (locale == null) {
|
|
29
|
+
return "";
|
|
30
|
+
}
|
|
31
|
+
return String(locale);
|
|
32
|
+
}
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
stringifyLocale
|
|
36
|
+
});
|