@dreamtree-org/twreact-ui 1.2.1 → 1.3.1
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/DESIGN.md +118 -0
- package/README.md +231 -44
- package/ai-skills/dreamtree-ui.md +98 -12
- package/dist/ai-schema.json +452 -17
- package/dist/components/blocks/AppShell.d.ts +4 -0
- package/dist/components/blocks/AppShell.d.ts.map +1 -0
- package/dist/components/blocks/ConfirmDialog.d.ts +4 -0
- package/dist/components/blocks/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/blocks/EmptyState.d.ts +4 -0
- package/dist/components/blocks/EmptyState.d.ts.map +1 -0
- package/dist/components/blocks/ErrorState.d.ts +4 -0
- package/dist/components/blocks/ErrorState.d.ts.map +1 -0
- package/dist/components/blocks/LoadingState.d.ts +9 -0
- package/dist/components/blocks/LoadingState.d.ts.map +1 -0
- package/dist/components/blocks/PageHeader.d.ts +4 -0
- package/dist/components/blocks/PageHeader.d.ts.map +1 -0
- package/dist/components/blocks/StatCard.d.ts +4 -0
- package/dist/components/blocks/StatCard.d.ts.map +1 -0
- package/dist/components/blocks/StatusPill.d.ts +5 -0
- package/dist/components/blocks/StatusPill.d.ts.map +1 -0
- package/dist/components/core/Accordion.d.ts.map +1 -1
- package/dist/components/core/Button.d.ts.map +1 -1
- package/dist/components/core/Checkbox.d.ts.map +1 -1
- package/dist/components/core/ColorPicker.d.ts.map +1 -1
- package/dist/components/core/DatePicker.d.ts.map +1 -1
- package/dist/components/core/DateRangePicker.d.ts.map +1 -1
- package/dist/components/core/Form.d.ts.map +1 -1
- package/dist/components/core/Input.d.ts.map +1 -1
- package/dist/components/core/LocationPicker.d.ts.map +1 -1
- package/dist/components/core/Popover.d.ts +4 -0
- package/dist/components/core/Popover.d.ts.map +1 -0
- package/dist/components/core/PriceRangePicker.d.ts.map +1 -1
- package/dist/components/core/ProgressBar.d.ts.map +1 -1
- package/dist/components/core/Radio.d.ts.map +1 -1
- package/dist/components/core/Rate.d.ts.map +1 -1
- package/dist/components/core/Select.d.ts.map +1 -1
- package/dist/components/core/Skeleton.d.ts.map +1 -1
- package/dist/components/core/Slider.d.ts +4 -0
- package/dist/components/core/Slider.d.ts.map +1 -0
- package/dist/components/core/SpeechToText.d.ts.map +1 -1
- package/dist/components/core/Switch.d.ts.map +1 -1
- package/dist/components/core/Table/ActionMenu.d.ts.map +1 -1
- package/dist/components/core/Table/ColumnMenu.d.ts +2 -1
- package/dist/components/core/Table/ColumnMenu.d.ts.map +1 -1
- package/dist/components/core/Table/MobileCard.d.ts +2 -2
- package/dist/components/core/Table/MobileCard.d.ts.map +1 -1
- package/dist/components/core/Table/Table.d.ts.map +1 -1
- package/dist/components/core/Table/TableRow.d.ts +4 -2
- package/dist/components/core/Table/TableRow.d.ts.map +1 -1
- package/dist/components/core/Tabs.d.ts.map +1 -1
- package/dist/components/core/Textarea.d.ts +4 -0
- package/dist/components/core/Textarea.d.ts.map +1 -0
- package/dist/components/core/ThreeDotPopover.d.ts.map +1 -1
- package/dist/components/core/Tooltip.d.ts.map +1 -1
- package/dist/components/feedback/Dialog.d.ts.map +1 -1
- package/dist/components/feedback/Drawer.d.ts +4 -0
- package/dist/components/feedback/Drawer.d.ts.map +1 -0
- package/dist/components/feedback/Toast.d.ts +14 -5
- package/dist/components/feedback/Toast.d.ts.map +1 -1
- package/dist/components/feedback/Tour.d.ts +4 -0
- package/dist/components/feedback/Tour.d.ts.map +1 -0
- package/dist/components/feedback/TourSpotlight.d.ts +9 -0
- package/dist/components/feedback/TourSpotlight.d.ts.map +1 -0
- package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/navigation/FootNav.d.ts.map +1 -1
- package/dist/components/navigation/Navbar.d.ts.map +1 -1
- package/dist/components/navigation/Sidebar.d.ts +8 -2
- package/dist/components/navigation/Sidebar.d.ts.map +1 -1
- package/dist/components/utility/Badge.d.ts.map +1 -1
- package/dist/components/utility/FileUpload.d.ts.map +1 -1
- package/dist/components/utility/Sortable.d.ts +4 -0
- package/dist/components/utility/Sortable.d.ts.map +1 -0
- package/dist/esm/_vendor/object-assign/index.js +99 -0
- package/dist/esm/_vendor/prop-types/_vendor/react-is/cjs/react-is.development.js +190 -0
- package/dist/esm/_vendor/prop-types/_vendor/react-is/cjs/react-is.production.min.js +26 -0
- package/dist/esm/_vendor/prop-types/_vendor/react-is/index.js +19 -0
- package/dist/esm/_vendor/prop-types/checkPropTypes.js +115 -0
- package/dist/esm/_vendor/prop-types/factoryWithThrowingShims.js +74 -0
- package/dist/esm/_vendor/prop-types/factoryWithTypeCheckers.js +625 -0
- package/dist/esm/_vendor/prop-types/index.js +30 -0
- package/dist/esm/_vendor/prop-types/lib/ReactPropTypesSecret.js +21 -0
- package/dist/esm/_vendor/prop-types/lib/has.js +11 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +5 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +329 -0
- package/dist/esm/_virtual/index.js +3 -0
- package/dist/esm/_virtual/index2.js +3 -0
- package/dist/esm/_virtual/react-is.development.js +3 -0
- package/dist/esm/_virtual/react-is.production.min.js +3 -0
- package/dist/esm/components/blocks/AppShell.js +205 -0
- package/dist/esm/components/blocks/ConfirmDialog.js +57 -0
- package/dist/esm/components/blocks/EmptyState.js +44 -0
- package/dist/esm/components/blocks/ErrorState.js +53 -0
- package/dist/esm/components/blocks/LoadingState.js +134 -0
- package/dist/esm/components/blocks/PageHeader.js +51 -0
- package/dist/esm/components/blocks/StatCard.js +79 -0
- package/dist/esm/components/blocks/StatusPill.js +55 -0
- package/dist/esm/components/core/Accordion.js +260 -0
- package/dist/esm/components/core/Button.js +59 -0
- package/dist/esm/components/core/Checkbox.js +188 -0
- package/dist/esm/components/core/ColorPicker.js +348 -0
- package/dist/esm/components/core/DatePicker.js +436 -0
- package/dist/esm/components/core/DateRangePicker.js +494 -0
- package/dist/esm/components/core/Form.js +522 -0
- package/dist/esm/components/core/Input.js +179 -0
- package/dist/esm/components/core/Loader.js +141 -0
- package/dist/esm/components/core/LocationPicker.js +161 -0
- package/dist/esm/components/core/Popover.js +171 -0
- package/dist/esm/components/core/PriceRangePicker.js +376 -0
- package/dist/esm/components/core/ProgressBar.js +152 -0
- package/dist/esm/components/core/Radio.js +156 -0
- package/dist/esm/components/core/Rate.js +197 -0
- package/dist/esm/components/core/RoundedTag.js +118 -0
- package/dist/esm/components/core/Select.js +857 -0
- package/dist/esm/components/core/Skeleton.js +100 -0
- package/dist/esm/components/core/Slider.js +134 -0
- package/dist/esm/components/core/SpeechToText.js +226 -0
- package/dist/esm/components/core/Switch.js +207 -0
- package/dist/esm/components/core/Table/ActionMenu.js +251 -0
- package/dist/esm/components/core/Table/ColumnMenu.js +55 -0
- package/dist/esm/components/core/Table/FieldInput.js +157 -0
- package/dist/esm/components/core/Table/MobileCard.js +187 -0
- package/dist/esm/components/core/Table/MobileFilters.js +72 -0
- package/dist/esm/components/core/Table/Pagination.js +157 -0
- package/dist/esm/components/core/Table/Table.js +1533 -0
- package/dist/esm/components/core/Table/TableRow.js +254 -0
- package/dist/esm/components/core/Table/constants.js +35 -0
- package/dist/esm/components/core/Table/helpers.js +124 -0
- package/dist/esm/components/core/Table/useClickOutside.js +26 -0
- package/dist/esm/components/core/Tabs.js +289 -0
- package/dist/esm/components/core/TextToSpeech.js +52 -0
- package/dist/esm/components/core/Textarea.js +125 -0
- package/dist/esm/components/core/ThreeDotPopover.js +160 -0
- package/dist/esm/components/core/Tooltip.js +372 -0
- package/dist/esm/components/feedback/Alert.js +96 -0
- package/dist/esm/components/feedback/Dialog.js +200 -0
- package/dist/esm/components/feedback/Drawer.js +171 -0
- package/dist/esm/components/feedback/Toast.js +362 -0
- package/dist/esm/components/feedback/Tour.js +214 -0
- package/dist/esm/components/feedback/TourSpotlight.js +71 -0
- package/dist/esm/components/navigation/Breadcrumbs.js +75 -0
- package/dist/esm/components/navigation/Dropdown.js +53 -0
- package/dist/esm/components/navigation/FootNav.js +51 -0
- package/dist/esm/components/navigation/Navbar.js +437 -0
- package/dist/esm/components/navigation/Sidebar.js +567 -0
- package/dist/esm/components/utility/Avatar.js +89 -0
- package/dist/esm/components/utility/Badge.js +47 -0
- package/dist/esm/components/utility/Card.js +85 -0
- package/dist/esm/components/utility/Carousel.js +97 -0
- package/dist/esm/components/utility/Condition.js +9 -0
- package/dist/esm/components/utility/FileUpload.js +177 -0
- package/dist/esm/components/utility/Pagination.js +111 -0
- package/dist/esm/components/utility/Sortable.js +190 -0
- package/dist/esm/components/utility/Stepper.js +101 -0
- package/dist/esm/hooks/useApi.js +169 -0
- package/dist/esm/hooks/useControllableState.js +32 -0
- package/dist/esm/hooks/useFocusTrap.js +85 -0
- package/dist/esm/hooks/useLatestRef.js +20 -0
- package/dist/esm/hooks/useMixins.js +100 -0
- package/dist/esm/hooks/useScrollLock.js +26 -0
- package/dist/esm/hooks/useSliderValues.js +135 -0
- package/dist/esm/hooks/useSortable.js +188 -0
- package/dist/esm/hooks/useTheme.js +53 -0
- package/dist/esm/hooks/useTourTarget.js +92 -0
- package/dist/esm/index.js +65 -0
- package/dist/esm/store/index.js +26 -0
- package/dist/esm/store/store.js +107 -0
- package/dist/esm/store/storeSlice.js +45 -0
- package/dist/esm/utils/cn.js +11 -0
- package/dist/esm/utils/emitter.js +169 -0
- package/dist/esm/utils/helpers.js +161 -0
- package/dist/esm/utils/position.js +134 -0
- package/dist/hooks/useApi.d.ts +2 -1
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useControllableState.d.ts +11 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +15 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/hooks/useLatestRef.d.ts +8 -0
- package/dist/hooks/useLatestRef.d.ts.map +1 -0
- package/dist/hooks/useMixins.d.ts.map +1 -1
- package/dist/hooks/useScrollLock.d.ts +2 -0
- package/dist/hooks/useScrollLock.d.ts.map +1 -0
- package/dist/hooks/useSliderValues.d.ts +43 -0
- package/dist/hooks/useSliderValues.d.ts.map +1 -0
- package/dist/hooks/useSortable.d.ts +32 -0
- package/dist/hooks/useSortable.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useTourTarget.d.ts +15 -0
- package/dist/hooks/useTourTarget.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +55 -39
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +7937 -4659
- package/dist/index.js +7950 -4657
- package/dist/tokens/brands/default.css +1 -0
- package/dist/tokens/brands/default.json +5 -0
- package/dist/tokens/brands/practicepro.css +17 -0
- package/dist/tokens/brands/practicepro.json +27 -0
- package/dist/tokens/tailwind3-preset.cjs +214 -0
- package/dist/tokens/theme.css +193 -0
- package/dist/tokens/tokens.json +373 -0
- package/dist/tokens/vars.css +98 -0
- package/dist/types/blocks.d.ts +109 -0
- package/dist/types/blocks.d.ts.map +1 -0
- package/dist/types/index.d.ts +194 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/position.d.ts +30 -0
- package/dist/utils/position.d.ts.map +1 -0
- package/doc/README.md +26 -1
- package/mcp/catalog.snapshot.json +1643 -549
- package/package.json +24 -6
- package/tokens/brands/default.json +5 -0
- package/tokens/brands/practicepro.json +27 -0
- package/tokens/lib.cjs +128 -0
- package/tokens/tokens.json +133 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { createListenerMiddleware, combineReducers, configureStore, isAnyOf } from '@reduxjs/toolkit';
|
|
3
|
+
import { EmitterClass } from '../utils/emitter.js';
|
|
4
|
+
import { createMigrate, persistReducer, FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, persistStore } from 'redux-persist';
|
|
5
|
+
import storage from 'redux-persist/lib/storage';
|
|
6
|
+
import getStore, { promiseMap } from './storeSlice.js';
|
|
7
|
+
|
|
8
|
+
var listenerMiddleware = createListenerMiddleware();
|
|
9
|
+
// Persist config
|
|
10
|
+
var PERSIST_VERSION = 1;
|
|
11
|
+
var persistConfig = {
|
|
12
|
+
key: "root",
|
|
13
|
+
version: PERSIST_VERSION,
|
|
14
|
+
storage: storage,
|
|
15
|
+
whitelist: ["storeSlice"],
|
|
16
|
+
// only persist these reducers
|
|
17
|
+
migrate: createMigrate({
|
|
18
|
+
// Example migration for future schema changes
|
|
19
|
+
1: function _(state) {
|
|
20
|
+
return state;
|
|
21
|
+
} // current
|
|
22
|
+
}, {
|
|
23
|
+
debug: false
|
|
24
|
+
})
|
|
25
|
+
};
|
|
26
|
+
function setupStore() {
|
|
27
|
+
var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
28
|
+
var emitter = EmitterClass.getInstance();
|
|
29
|
+
var context = {
|
|
30
|
+
emitter: emitter,
|
|
31
|
+
changes: []
|
|
32
|
+
};
|
|
33
|
+
var storeData = getStore(initialState, context);
|
|
34
|
+
var storeSlice = storeData.reducer;
|
|
35
|
+
var actions = storeData.actions;
|
|
36
|
+
var rootReducer = combineReducers({
|
|
37
|
+
storeSlice: storeSlice
|
|
38
|
+
});
|
|
39
|
+
var persistedReducer = persistReducer(persistConfig, rootReducer);
|
|
40
|
+
var store = configureStore({
|
|
41
|
+
reducer: persistedReducer,
|
|
42
|
+
middleware: function middleware(getDefault) {
|
|
43
|
+
return getDefault({
|
|
44
|
+
serializableCheck: {
|
|
45
|
+
// Ignore redux-persist action types and setStore action
|
|
46
|
+
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, 'store/setStore']
|
|
47
|
+
}
|
|
48
|
+
}).concat(listenerMiddleware.middleware);
|
|
49
|
+
},
|
|
50
|
+
devTools: process.env.NODE_ENV !== "production"
|
|
51
|
+
});
|
|
52
|
+
var persistor = persistStore(store);
|
|
53
|
+
listenerMiddleware.startListening({
|
|
54
|
+
matcher: isAnyOf(actions.setStore),
|
|
55
|
+
effect: function () {
|
|
56
|
+
var _effect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(action, _api) {
|
|
57
|
+
var changeEvent, uniqueId, value, promise;
|
|
58
|
+
return _regenerator().w(function (_context) {
|
|
59
|
+
while (1) switch (_context.n) {
|
|
60
|
+
case 0:
|
|
61
|
+
try {
|
|
62
|
+
// Get state for future use if needed
|
|
63
|
+
// const state = _api.getState();
|
|
64
|
+
changeEvent = action.payload; // do things after state is reduced
|
|
65
|
+
uniqueId = changeEvent.uniqueId, value = changeEvent.value; // Resolve promise from module-level map if it exists
|
|
66
|
+
if (promiseMap && promiseMap.has(uniqueId)) {
|
|
67
|
+
promise = promiseMap.get(uniqueId);
|
|
68
|
+
if (promise && typeof promise.resolve === 'function') {
|
|
69
|
+
promise.resolve(value);
|
|
70
|
+
}
|
|
71
|
+
// Clean up fulfilled promises
|
|
72
|
+
if (promise && promise.isFulfilled()) {
|
|
73
|
+
promiseMap["delete"](uniqueId);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Clean up changes array - remove fulfilled promises
|
|
77
|
+
context.changes = context.changes.filter(function (change) {
|
|
78
|
+
// Check if promise still exists in promiseMap
|
|
79
|
+
if (promiseMap && promiseMap.has(change.uniqueId)) {
|
|
80
|
+
var _promise = promiseMap.get(change.uniqueId);
|
|
81
|
+
return _promise && !_promise.isFulfilled();
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
});
|
|
85
|
+
} catch (error) {
|
|
86
|
+
console.error('Error in setStore listener middleware:', error);
|
|
87
|
+
// Don't throw - let the action complete even if promise resolution fails
|
|
88
|
+
}
|
|
89
|
+
case 1:
|
|
90
|
+
return _context.a(2);
|
|
91
|
+
}
|
|
92
|
+
}, _callee);
|
|
93
|
+
}));
|
|
94
|
+
function effect(_x, _x2) {
|
|
95
|
+
return _effect.apply(this, arguments);
|
|
96
|
+
}
|
|
97
|
+
return effect;
|
|
98
|
+
}()
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
store: store,
|
|
102
|
+
persistor: persistor,
|
|
103
|
+
actions: actions
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { setupStore as default, listenerMiddleware, setupStore };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
import helperInstance from '../utils/helpers.js';
|
|
3
|
+
|
|
4
|
+
// src/store/storeSlice.ts
|
|
5
|
+
var storeInstance = {
|
|
6
|
+
actions: {}
|
|
7
|
+
};
|
|
8
|
+
var promiseMap = new Map();
|
|
9
|
+
function getStore() {
|
|
10
|
+
var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
11
|
+
var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
12
|
+
var storeSlice = createSlice({
|
|
13
|
+
name: "store",
|
|
14
|
+
initialState: initialState,
|
|
15
|
+
reducers: {
|
|
16
|
+
setStore: function setStore(state, _ref) {
|
|
17
|
+
var payload = _ref.payload;
|
|
18
|
+
// Extract only serializable data
|
|
19
|
+
var name = payload.name,
|
|
20
|
+
value = payload.value,
|
|
21
|
+
uniqueId = payload.uniqueId;
|
|
22
|
+
// Store change event for listener middleware (without promise)
|
|
23
|
+
// Note: We no longer store resolve/reject functions here - they're in promiseMap
|
|
24
|
+
if (context.changes) {
|
|
25
|
+
var changeEvent = {
|
|
26
|
+
name: name,
|
|
27
|
+
value: value,
|
|
28
|
+
uniqueId: uniqueId
|
|
29
|
+
};
|
|
30
|
+
context.changes.push(changeEvent);
|
|
31
|
+
}
|
|
32
|
+
var newState = helperInstance.setNested(state, name, value);
|
|
33
|
+
return newState;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
var setStore = storeSlice.actions.setStore;
|
|
38
|
+
storeInstance.reducer = storeSlice.reducer;
|
|
39
|
+
storeInstance.actions = {
|
|
40
|
+
setStore: setStore
|
|
41
|
+
};
|
|
42
|
+
return storeInstance;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { getStore as default, getStore, promiseMap, storeInstance };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
|
|
4
|
+
function cn() {
|
|
5
|
+
for (var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
6
|
+
inputs[_key] = arguments[_key];
|
|
7
|
+
}
|
|
8
|
+
return twMerge(clsx(inputs));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { cn };
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { createClass as _createClass, classCallCheck as _classCallCheck } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
var EmitterClass = /*#__PURE__*/function () {
|
|
4
|
+
function EmitterClass() {
|
|
5
|
+
_classCallCheck(this, EmitterClass);
|
|
6
|
+
this.events = {};
|
|
7
|
+
this.testCallback = null;
|
|
8
|
+
}
|
|
9
|
+
return _createClass(EmitterClass, [{
|
|
10
|
+
key: "onCheck",
|
|
11
|
+
value: function onCheck(callback) {
|
|
12
|
+
this.testCallback = callback;
|
|
13
|
+
}
|
|
14
|
+
}, {
|
|
15
|
+
key: "on",
|
|
16
|
+
value: function on(event, listener) {
|
|
17
|
+
if (!this.events[event]) {
|
|
18
|
+
this.events[event] = [];
|
|
19
|
+
}
|
|
20
|
+
this.events[event].push({
|
|
21
|
+
listener: listener,
|
|
22
|
+
once: false
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}, {
|
|
26
|
+
key: "onOnce",
|
|
27
|
+
value: function onOnce(event, listener) {
|
|
28
|
+
if (!this.events[event]) {
|
|
29
|
+
this.events[event] = [];
|
|
30
|
+
}
|
|
31
|
+
this.events[event].push({
|
|
32
|
+
listener: listener,
|
|
33
|
+
once: true
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
key: "offAll",
|
|
38
|
+
value: function offAll(event) {
|
|
39
|
+
if (!this.events[event]) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.events[event] = [];
|
|
43
|
+
}
|
|
44
|
+
}, {
|
|
45
|
+
key: "onSchedule",
|
|
46
|
+
value: function onSchedule(event, listener, schedule) {
|
|
47
|
+
if (!this.events[event]) {
|
|
48
|
+
this.events[event] = [];
|
|
49
|
+
}
|
|
50
|
+
this.events[event].push({
|
|
51
|
+
listener: listener,
|
|
52
|
+
schedule: schedule
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}, {
|
|
56
|
+
key: "emit",
|
|
57
|
+
value: function emit(event) {
|
|
58
|
+
var _this = this;
|
|
59
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
60
|
+
args[_key - 1] = arguments[_key];
|
|
61
|
+
}
|
|
62
|
+
return new Promise(function (resolve, reject) {
|
|
63
|
+
_this.executeEvent.apply(_this, [event, {
|
|
64
|
+
resolve: resolve,
|
|
65
|
+
reject: reject
|
|
66
|
+
}].concat(args));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "executeEvent",
|
|
71
|
+
value: function executeEvent(event) {
|
|
72
|
+
var _this2 = this;
|
|
73
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
74
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
75
|
+
args[_key2 - 2] = arguments[_key2];
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
if (this.testCallback) {
|
|
79
|
+
this.testCallback({
|
|
80
|
+
event: event,
|
|
81
|
+
args: args
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
if (!this.events[event]) {
|
|
85
|
+
if (typeof config.resolve === "function") {
|
|
86
|
+
config.resolve(undefined);
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.events[event].forEach(function (payload) {
|
|
91
|
+
var listener = payload.listener,
|
|
92
|
+
once = payload.once,
|
|
93
|
+
schedule = payload.schedule;
|
|
94
|
+
var resolveListener = function resolveListener() {
|
|
95
|
+
var result = listener.apply(void 0, args);
|
|
96
|
+
config.resolve(result);
|
|
97
|
+
};
|
|
98
|
+
if (schedule) {
|
|
99
|
+
var now = new Date();
|
|
100
|
+
var nextRun;
|
|
101
|
+
var delay = -1;
|
|
102
|
+
if (schedule instanceof Date) {
|
|
103
|
+
nextRun = schedule;
|
|
104
|
+
delay = nextRun.getTime() - now.getTime();
|
|
105
|
+
} else if (typeof schedule === "number") {
|
|
106
|
+
delay = schedule;
|
|
107
|
+
} else if (typeof schedule === "string") {
|
|
108
|
+
nextRun = new Date(schedule);
|
|
109
|
+
delay = nextRun.getTime() - now.getTime();
|
|
110
|
+
}
|
|
111
|
+
if (delay > 0) {
|
|
112
|
+
setTimeout(function () {
|
|
113
|
+
resolveListener();
|
|
114
|
+
}, delay);
|
|
115
|
+
} else {
|
|
116
|
+
resolveListener();
|
|
117
|
+
}
|
|
118
|
+
} else {
|
|
119
|
+
resolveListener();
|
|
120
|
+
}
|
|
121
|
+
if (once) {
|
|
122
|
+
_this2.off(event, listener);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
} catch (error) {
|
|
126
|
+
config.reject(error);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "off",
|
|
131
|
+
value: function off(event, listener) {
|
|
132
|
+
if (!this.events[event]) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.events[event] = this.events[event].filter(function (payload) {
|
|
136
|
+
var payloadListener = payload.listener;
|
|
137
|
+
return payloadListener !== listener;
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}], [{
|
|
141
|
+
key: "getInstance",
|
|
142
|
+
value: function getInstance() {
|
|
143
|
+
return new EmitterClass();
|
|
144
|
+
}
|
|
145
|
+
}]);
|
|
146
|
+
}();
|
|
147
|
+
var Emitter = /*#__PURE__*/function () {
|
|
148
|
+
function Emitter() {
|
|
149
|
+
_classCallCheck(this, Emitter);
|
|
150
|
+
if (Emitter.instanceMap.has(this)) {
|
|
151
|
+
return Emitter.instanceMap.get(this);
|
|
152
|
+
}
|
|
153
|
+
Emitter.instanceMap.set(this, new EmitterClass());
|
|
154
|
+
}
|
|
155
|
+
return _createClass(Emitter, null, [{
|
|
156
|
+
key: "getInstance",
|
|
157
|
+
value: function getInstance() {
|
|
158
|
+
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "default";
|
|
159
|
+
if (this.instanceMap.has(name)) {
|
|
160
|
+
return this.instanceMap.get(name);
|
|
161
|
+
}
|
|
162
|
+
this.instanceMap.set(name, new EmitterClass());
|
|
163
|
+
return this.instanceMap.get(name);
|
|
164
|
+
}
|
|
165
|
+
}]);
|
|
166
|
+
}();
|
|
167
|
+
Emitter.instanceMap = new Map();
|
|
168
|
+
|
|
169
|
+
export { Emitter, EmitterClass, Emitter as default };
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { createClass as _createClass, classCallCheck as _classCallCheck, typeof as _typeof } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
var Helpers = /*#__PURE__*/function () {
|
|
4
|
+
function Helpers() {
|
|
5
|
+
_classCallCheck(this, Helpers);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Traverses an object by a dotted path and returns the nested value.
|
|
9
|
+
* If `options.prefix` is provided, starts from that subkey of state.
|
|
10
|
+
* @param path - Dot-separated path, e.g. "a.b.c"
|
|
11
|
+
* @param options - { state?: Object, prefix?: string }
|
|
12
|
+
* @returns Reference to the nested object or value
|
|
13
|
+
*
|
|
14
|
+
* Example:
|
|
15
|
+
* let obj = { foo: { bar: { baz: 5 } } };
|
|
16
|
+
* Helpers.dotWalk("bar.baz", { state: obj.foo }) // returns 5
|
|
17
|
+
*/
|
|
18
|
+
return _createClass(Helpers, [{
|
|
19
|
+
key: "dotWalk",
|
|
20
|
+
value: function dotWalk(path) {
|
|
21
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
22
|
+
// The state root is provided via options.state or this.state (if available)
|
|
23
|
+
var state = options.state || this.state;
|
|
24
|
+
if (!state || _typeof(state) !== "object") {
|
|
25
|
+
throw new Error("dotWalk requires a state object via options.state");
|
|
26
|
+
}
|
|
27
|
+
var arr = path.split(".");
|
|
28
|
+
var tmp = state;
|
|
29
|
+
// Use prefix if provided
|
|
30
|
+
var prefix = options.prefix || "";
|
|
31
|
+
if (prefix) {
|
|
32
|
+
tmp = tmp[prefix];
|
|
33
|
+
}
|
|
34
|
+
for (var i = 0; i < arr.length; i++) {
|
|
35
|
+
if (tmp == null) return undefined;
|
|
36
|
+
tmp = tmp[arr[i]];
|
|
37
|
+
}
|
|
38
|
+
return tmp;
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
key: "setNested",
|
|
42
|
+
value: function setNested(state, name, value) {
|
|
43
|
+
var payload = {
|
|
44
|
+
name: name,
|
|
45
|
+
value: value
|
|
46
|
+
};
|
|
47
|
+
var old = state;
|
|
48
|
+
var tmp = old;
|
|
49
|
+
var key = "";
|
|
50
|
+
var arr = payload.name.split(".");
|
|
51
|
+
if (arr.length > 1) {
|
|
52
|
+
arr.forEach(function (k) {
|
|
53
|
+
old = tmp;
|
|
54
|
+
tmp[k] = tmp[k] || {};
|
|
55
|
+
tmp = tmp[k];
|
|
56
|
+
key = k;
|
|
57
|
+
});
|
|
58
|
+
old[key] = payload.value;
|
|
59
|
+
} else {
|
|
60
|
+
key = payload.name;
|
|
61
|
+
old = state[key];
|
|
62
|
+
state[key] = payload.value;
|
|
63
|
+
}
|
|
64
|
+
return state;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Creates and returns a debounced version of the given callback.
|
|
68
|
+
* The debounced function delays invoking the callback until after delay ms have elapsed
|
|
69
|
+
* since the last time the debounced function was invoked.
|
|
70
|
+
* The debounce state (timeout) is stored per instance; if you need per-callback
|
|
71
|
+
* isolation, use a closure or bind a new Helpers() instance.
|
|
72
|
+
*
|
|
73
|
+
* @param delay - Delay in milliseconds
|
|
74
|
+
* @returns Debounced promise with clear method
|
|
75
|
+
*/
|
|
76
|
+
}, {
|
|
77
|
+
key: "debounce",
|
|
78
|
+
value: function debounce() {
|
|
79
|
+
var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
|
80
|
+
var timeoutId = 0;
|
|
81
|
+
var promise = new Promise(function (resolve, reject) {
|
|
82
|
+
try {
|
|
83
|
+
timeoutId = setTimeout(function () {
|
|
84
|
+
resolve();
|
|
85
|
+
}, delay);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
reject(error);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
var _clear = function _clear() {
|
|
91
|
+
clearTimeout(timeoutId);
|
|
92
|
+
timeoutId = 0;
|
|
93
|
+
};
|
|
94
|
+
promise._clear = _clear; // Add the clear method to the promise
|
|
95
|
+
return promise;
|
|
96
|
+
}
|
|
97
|
+
}]);
|
|
98
|
+
}();
|
|
99
|
+
// A serializable-safe TrackingPromise that *does not* put the promise or any methods in the redux action payload.
|
|
100
|
+
// This class is only intended to be used locally (not as part of redux/store payloads).
|
|
101
|
+
// DO NOT EVER put an instance of TrackingPromise directly in redux actions.
|
|
102
|
+
var TrackingPromise = /*#__PURE__*/function () {
|
|
103
|
+
function TrackingPromise(callback) {
|
|
104
|
+
var _this = this;
|
|
105
|
+
_classCallCheck(this, TrackingPromise);
|
|
106
|
+
this._state = "pending";
|
|
107
|
+
this._callback = callback;
|
|
108
|
+
this._promise = new Promise(function (resolve, reject) {
|
|
109
|
+
_this._resolve = function (value) {
|
|
110
|
+
_this._state = "fulfilled";
|
|
111
|
+
resolve(value);
|
|
112
|
+
};
|
|
113
|
+
_this._reject = function (reason) {
|
|
114
|
+
_this._state = "rejected";
|
|
115
|
+
reject(reason);
|
|
116
|
+
};
|
|
117
|
+
_this._callback(_this._resolve, _this._reject);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return _createClass(TrackingPromise, [{
|
|
121
|
+
key: "resolve",
|
|
122
|
+
value: function resolve(value) {
|
|
123
|
+
if (this._state !== "pending") return;
|
|
124
|
+
this._resolve(value);
|
|
125
|
+
}
|
|
126
|
+
}, {
|
|
127
|
+
key: "reject",
|
|
128
|
+
value: function reject(reason) {
|
|
129
|
+
if (this._state !== "pending") return;
|
|
130
|
+
this._reject(reason);
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "isFulfilled",
|
|
134
|
+
value: function isFulfilled() {
|
|
135
|
+
return this._state === "fulfilled";
|
|
136
|
+
}
|
|
137
|
+
}, {
|
|
138
|
+
key: "isRejected",
|
|
139
|
+
value: function isRejected() {
|
|
140
|
+
return this._state === "rejected";
|
|
141
|
+
}
|
|
142
|
+
}, {
|
|
143
|
+
key: "isPending",
|
|
144
|
+
value: function isPending() {
|
|
145
|
+
return this._state === "pending";
|
|
146
|
+
}
|
|
147
|
+
}, {
|
|
148
|
+
key: "then",
|
|
149
|
+
value: function then(onFulfilled, onRejected) {
|
|
150
|
+
return this._promise.then(onFulfilled, onRejected);
|
|
151
|
+
}
|
|
152
|
+
}, {
|
|
153
|
+
key: "catch",
|
|
154
|
+
value: function _catch(onRejected) {
|
|
155
|
+
return this._promise["catch"](onRejected);
|
|
156
|
+
}
|
|
157
|
+
}]);
|
|
158
|
+
}();
|
|
159
|
+
var helperInstance = new Helpers();
|
|
160
|
+
|
|
161
|
+
export { Helpers, TrackingPromise, helperInstance as default };
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
// Internal (not exported). Viewport-space positioning shared by Popover and Tour.
|
|
4
|
+
// All rects are getBoundingClientRect() values, so the result is for
|
|
5
|
+
// `position: fixed`.
|
|
6
|
+
var OPPOSITE = {
|
|
7
|
+
top: "bottom",
|
|
8
|
+
bottom: "top",
|
|
9
|
+
left: "right",
|
|
10
|
+
right: "left"
|
|
11
|
+
};
|
|
12
|
+
function parsePlacement() {
|
|
13
|
+
var placement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "bottom";
|
|
14
|
+
var _String$split = String(placement).split("-"),
|
|
15
|
+
_String$split2 = _slicedToArray(_String$split, 2),
|
|
16
|
+
_String$split2$ = _String$split2[0],
|
|
17
|
+
side = _String$split2$ === void 0 ? "bottom" : _String$split2$,
|
|
18
|
+
_String$split2$2 = _String$split2[1],
|
|
19
|
+
align = _String$split2$2 === void 0 ? "center" : _String$split2$2;
|
|
20
|
+
return {
|
|
21
|
+
side: OPPOSITE[side] ? side : "bottom",
|
|
22
|
+
align: align
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function roomOn(side, anchor, viewport) {
|
|
26
|
+
if (side === "top") return anchor.top;
|
|
27
|
+
if (side === "bottom") return viewport.height - anchor.bottom;
|
|
28
|
+
if (side === "left") return anchor.left;
|
|
29
|
+
return viewport.width - anchor.right;
|
|
30
|
+
}
|
|
31
|
+
function chooseSide(side, anchor, size, offset, viewport) {
|
|
32
|
+
var needed = (side === "top" || side === "bottom" ? size.height : size.width) + offset;
|
|
33
|
+
if (roomOn(side, anchor, viewport) >= needed) return side;
|
|
34
|
+
var flipped = OPPOSITE[side];
|
|
35
|
+
return roomOn(flipped, anchor, viewport) > roomOn(side, anchor, viewport) ? flipped : side;
|
|
36
|
+
}
|
|
37
|
+
function alignAxis(align, start, length, size) {
|
|
38
|
+
if (align === "start") return start;
|
|
39
|
+
if (align === "end") return start + length - size;
|
|
40
|
+
return start + length / 2 - size / 2;
|
|
41
|
+
}
|
|
42
|
+
var clamp = function clamp(value, min, max) {
|
|
43
|
+
return Math.max(min, Math.min(value, Math.max(min, max)));
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Places a floating box of `size` next to `anchor`. Flips to the opposite side
|
|
47
|
+
* when the requested side lacks room, then clamps into the viewport.
|
|
48
|
+
* Returns `{ top, left, side }`.
|
|
49
|
+
*/
|
|
50
|
+
function computePosition(anchor, size, _ref) {
|
|
51
|
+
var placement = _ref.placement,
|
|
52
|
+
_ref$offset = _ref.offset,
|
|
53
|
+
offset = _ref$offset === void 0 ? 8 : _ref$offset,
|
|
54
|
+
_ref$padding = _ref.padding,
|
|
55
|
+
padding = _ref$padding === void 0 ? 8 : _ref$padding,
|
|
56
|
+
viewport = _ref.viewport;
|
|
57
|
+
var vp = viewport || {
|
|
58
|
+
width: window.innerWidth,
|
|
59
|
+
height: window.innerHeight
|
|
60
|
+
};
|
|
61
|
+
var _parsePlacement = parsePlacement(placement),
|
|
62
|
+
wanted = _parsePlacement.side,
|
|
63
|
+
align = _parsePlacement.align;
|
|
64
|
+
var side = chooseSide(wanted, anchor, size, offset, vp);
|
|
65
|
+
var top;
|
|
66
|
+
var left;
|
|
67
|
+
if (side === "top" || side === "bottom") {
|
|
68
|
+
top = side === "top" ? anchor.top - size.height - offset : anchor.bottom + offset;
|
|
69
|
+
left = alignAxis(align, anchor.left, anchor.width, size.width);
|
|
70
|
+
} else {
|
|
71
|
+
left = side === "left" ? anchor.left - size.width - offset : anchor.right + offset;
|
|
72
|
+
top = alignAxis(align, anchor.top, anchor.height, size.height);
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
top: Math.round(clamp(top, padding, vp.height - size.height - padding)),
|
|
76
|
+
left: Math.round(clamp(left, padding, vp.width - size.width - padding)),
|
|
77
|
+
side: side
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** `true` when the user asked the OS for reduced motion. */
|
|
81
|
+
function prefersReducedMotion() {
|
|
82
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") return false;
|
|
83
|
+
return window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
84
|
+
}
|
|
85
|
+
function nearestScroller(el) {
|
|
86
|
+
var node = el.parentElement;
|
|
87
|
+
while (node && node !== document.body && node !== document.documentElement) {
|
|
88
|
+
var _window$getComputedSt = window.getComputedStyle(node),
|
|
89
|
+
overflowY = _window$getComputedSt.overflowY;
|
|
90
|
+
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) return node;
|
|
91
|
+
node = node.parentElement;
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Scrolls `el` into view through its nearest real scroller only. Unlike
|
|
97
|
+
* `scrollIntoView`, this never scrolls `overflow: hidden` ancestors (an app
|
|
98
|
+
* shell's fixed-height root), which would leave the layout shifted afterwards.
|
|
99
|
+
*/
|
|
100
|
+
function revealElement(el) {
|
|
101
|
+
if (!el || typeof window === "undefined") return;
|
|
102
|
+
var behavior = prefersReducedMotion() ? "auto" : "smooth";
|
|
103
|
+
var rect = el.getBoundingClientRect();
|
|
104
|
+
var scroller = nearestScroller(el);
|
|
105
|
+
if (scroller && typeof scroller.scrollTo === "function") {
|
|
106
|
+
var box = scroller.getBoundingClientRect();
|
|
107
|
+
if (rect.top >= box.top && rect.bottom <= box.bottom) return;
|
|
108
|
+
var _top = scroller.scrollTop + (rect.top - box.top) - (box.height - rect.height) / 2;
|
|
109
|
+
scroller.scrollTo({
|
|
110
|
+
top: Math.max(0, _top),
|
|
111
|
+
behavior: behavior
|
|
112
|
+
});
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (rect.top >= 0 && rect.bottom <= window.innerHeight) return;
|
|
116
|
+
if (typeof window.scrollTo !== "function") return;
|
|
117
|
+
var top = window.scrollY + rect.top - (window.innerHeight - rect.height) / 2;
|
|
118
|
+
window.scrollTo({
|
|
119
|
+
top: Math.max(0, top),
|
|
120
|
+
behavior: behavior
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/** Assigns one DOM node to several refs (callback or object). */
|
|
124
|
+
function setRefs(node) {
|
|
125
|
+
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
126
|
+
refs[_key - 1] = arguments[_key];
|
|
127
|
+
}
|
|
128
|
+
refs.forEach(function (ref) {
|
|
129
|
+
if (!ref) return;
|
|
130
|
+
if (typeof ref === "function") ref(node);else ref.current = node;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export { computePosition, parsePlacement, prefersReducedMotion, revealElement, setRefs };
|
package/dist/hooks/useApi.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { AxiosInstance, AxiosResponse, Method } from "axios";
|
|
|
2
2
|
interface UseApiProps {
|
|
3
3
|
BASE_URL?: string | null;
|
|
4
4
|
DEFAULT_HEADERS?: Record<string, string>;
|
|
5
|
-
apiMap?: Record<string, (
|
|
5
|
+
apiMap?: Record<string, (...args: any[]) => ApiConfig>;
|
|
6
6
|
createRequestInstance?: (baseURL?: string | null, defaultHeaders?: Record<string, string>) => AxiosInstance;
|
|
7
7
|
sendRequest?: (requestInstance: AxiosInstance, method: string, url: string, data?: any, headers?: Record<string, string>) => Promise<AxiosResponse>;
|
|
8
8
|
}
|
|
@@ -22,6 +22,7 @@ interface UseApiReturn<T = any> {
|
|
|
22
22
|
lastRequest: string | null;
|
|
23
23
|
fetchData: (url: string, method: string, data?: any, headers?: Record<string, string>, options?: FetchOptions) => Promise<T>;
|
|
24
24
|
fetchApi: (apiKey: string, data?: any, needLoading?: boolean) => Promise<T>;
|
|
25
|
+
fetchApiWith: (apiKey: string, args?: any[], options?: FetchOptions) => Promise<T>;
|
|
25
26
|
}
|
|
26
27
|
export declare const useApi: <T = any>(props?: UseApiProps) => UseApiReturn<T>;
|
|
27
28
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpE,UAAU,WAAW;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpE,UAAU,WAAW;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC;IACvD,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,CAAC;IAC5G,WAAW,CAAC,EAAE,CACV,eAAe,EAAE,aAAa,EAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/B,OAAO,CAAC,aAAa,CAAC,CAAC;CAC/B;AAED,UAAU,SAAS;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;CACd;AAED,UAAU,YAAY;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,YAAY,CAAC,CAAC,GAAG,GAAG;IAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,CACP,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,CAAC,EAAE,YAAY,KACrB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACtF;AAED,eAAO,MAAM,MAAM,GAAI,CAAC,GAAG,GAAG,EAAE,QAAO,WAAgB,KAAG,YAAY,CAAC,CAAC,CAiHvE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal (not exported). Controlled/uncontrolled state in one place: when
|
|
3
|
+
* `value` is defined the component is controlled and `setValue` only notifies
|
|
4
|
+
* `onChange`; otherwise it also updates internal state.
|
|
5
|
+
*/
|
|
6
|
+
export function useControllableState({ value, defaultValue, onChange }: {
|
|
7
|
+
value: any;
|
|
8
|
+
defaultValue: any;
|
|
9
|
+
onChange: any;
|
|
10
|
+
}): any[];
|
|
11
|
+
//# sourceMappingURL=useControllableState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH;;;;UAcC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moves focus into `containerRef` while `active`, restores it to the previously
|
|
3
|
+
* focused element afterwards (unless the user moved focus elsewhere), routes
|
|
4
|
+
* Escape to `onEscape`, and — when `trap` — keeps Tab cycling inside.
|
|
5
|
+
*/
|
|
6
|
+
export function useFocusTrap(containerRef: any, { active, onEscape, trap, initialFocusRef, focusKey }: {
|
|
7
|
+
active: any;
|
|
8
|
+
onEscape: any;
|
|
9
|
+
trap?: boolean | undefined;
|
|
10
|
+
initialFocusRef: any;
|
|
11
|
+
focusKey: any;
|
|
12
|
+
}): void;
|
|
13
|
+
export const FOCUSABLE_SELECTOR: string;
|
|
14
|
+
export function getFocusable(root: any): any[];
|
|
15
|
+
//# sourceMappingURL=useFocusTrap.d.ts.map
|