@jobber/components 8.24.0 → 8.24.2-visual-reg-5479aeb.18
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/ProgressIndicator.d.ts +1 -0
- package/{DescriptionList.js → ProgressIndicator.js} +3 -3
- package/dist/AtlantisThemeContext/AtlantisThemeContext.d.ts +1 -1
- package/dist/AtlantisThemeContext/index.cjs +1 -2
- package/dist/AtlantisThemeContext/index.mjs +1 -2
- package/dist/AtlantisThemeContext/themeStore.d.ts +11 -0
- package/dist/AtlantisThemeContext/types.d.ts +14 -0
- package/dist/AtlantisThemeContext/updateTheme.d.ts +1 -1
- package/dist/AtlantisThemeContext-cjs.js +58 -17
- package/dist/AtlantisThemeContext-es.js +60 -20
- package/dist/Avatar-cjs.js +3 -2
- package/dist/Avatar-es.js +3 -2
- package/dist/BottomSheet-cjs.js +8 -7
- package/dist/BottomSheet-es.js +9 -8
- package/dist/ComboboxChipRemove-es.js +2 -2
- package/dist/DatePicker-es.js +1 -1
- package/dist/Dialog/Dialog.d.ts +47 -3
- package/dist/Dialog/Dialog.types.d.ts +1 -15
- package/dist/Dialog/DialogBottomSheet.d.ts +12 -13
- package/dist/Dialog/DialogModal.d.ts +11 -11
- package/dist/Dialog/dialogComposableShared.d.ts +13 -3
- package/dist/DrawerDescription-cjs.js +4 -97
- package/dist/DrawerDescription-es.js +6 -98
- package/dist/InputNumberExperimental-cjs.js +21 -25
- package/dist/InputNumberExperimental-es.js +22 -26
- package/dist/MenuSubmenuTrigger-es.js +3 -3
- package/dist/Modal/index.cjs +12 -2
- package/dist/Modal/index.mjs +13 -3
- package/dist/ProgressBar/ProgressBar.d.ts +7 -0
- package/dist/ProgressBar-cjs.js +4 -0
- package/dist/ProgressBar-es.js +4 -0
- package/dist/ProgressIndicator/ProgressIndicator.d.ts +60 -0
- package/dist/ProgressIndicator/index.cjs +9 -0
- package/dist/ProgressIndicator/index.d.ts +1 -0
- package/dist/ProgressIndicator/index.mjs +3 -0
- package/dist/ProgressIndicator-cjs.js +43 -0
- package/dist/ProgressIndicator-es.js +41 -0
- package/dist/ScrollAreaViewport-cjs.js +2122 -12
- package/dist/ScrollAreaViewport-es.js +2118 -13
- package/dist/dialogReturnFocus-cjs.js +61 -34
- package/dist/dialogReturnFocus-es.js +63 -36
- package/dist/docs/AtlantisThemeContext/AtlantisThemeContext.md +41 -0
- package/dist/docs/DataTable/DataTable.md +0 -4
- package/dist/docs/Dialog/Dialog.md +1006 -0
- package/dist/docs/Icon/Icon.md +60 -53
- package/dist/docs/InputNumberExperimental/InputNumberExperimental.md +578 -0
- package/dist/docs/ProgressBar/ProgressBar.md +9 -0
- package/dist/docs/ProgressIndicator/ProgressIndicator.md +105 -0
- package/dist/docs/Table/Table.md +1 -3
- package/dist/docs/index.md +3 -1
- package/dist/index.cjs +3 -4
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +2 -3
- package/dist/isTypedArray-es.js +1 -1
- package/dist/primitives/InputNumberExperimental/InputNumberExperimental.d.ts +31 -15
- package/dist/primitives/InputNumberExperimental/types.d.ts +0 -1
- package/dist/styles.css +172 -51
- package/dist/unstyledPrimitives/index.cjs +218 -2230
- package/dist/unstyledPrimitives/index.mjs +224 -2236
- package/dist/useButton-es.js +1 -1
- package/dist/useScrollLock-es.js +2 -2
- package/dist/useScrollToActive-es.js +1 -1
- package/dist/utils/meta/meta.json +1 -1
- package/package.json +7 -7
- package/DescriptionList.d.ts +0 -1
- package/dist/DescriptionList/DescriptionList.d.ts +0 -11
- package/dist/DescriptionList/index.cjs +0 -10
- package/dist/DescriptionList/index.d.ts +0 -1
- package/dist/DescriptionList/index.mjs +0 -4
- package/dist/DescriptionList-cjs.js +0 -14
- package/dist/DescriptionList-es.js +0 -12
- package/dist/docs/DescriptionList/DescriptionList.md +0 -25
- package/dist/updateTheme-cjs.js +0 -20
- package/dist/updateTheme-es.js +0 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./dist/ProgressIndicator";
|
|
@@ -4,14 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true,
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var ProgressIndicator = require("./dist/ProgressIndicator");
|
|
8
8
|
|
|
9
|
-
Object.keys(
|
|
9
|
+
Object.keys(ProgressIndicator).forEach(function(key) {
|
|
10
10
|
if (key === "default" || key === "__esModule") return;
|
|
11
11
|
Object.defineProperty(exports, key, {
|
|
12
12
|
enumerable: true,
|
|
13
13
|
get: function get() {
|
|
14
|
-
return
|
|
14
|
+
return ProgressIndicator[key];
|
|
15
15
|
},
|
|
16
16
|
});
|
|
17
17
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { AtlantisThemeContextProviderProps, AtlantisThemeContextValue } from "./types";
|
|
3
3
|
export declare const atlantisThemeContextDefaultValues: AtlantisThemeContextValue;
|
|
4
|
-
export declare function AtlantisThemeContextProvider({ children, dangerouslyOverrideTheme, dangerouslyOverrideTokens, }: AtlantisThemeContextProviderProps): React.JSX.Element;
|
|
4
|
+
export declare function AtlantisThemeContextProvider({ children, dangerouslyOverrideTheme, dangerouslyOverrideTokens, storageKey, }: AtlantisThemeContextProviderProps): React.JSX.Element;
|
|
5
5
|
export declare function useAtlantisTheme(): AtlantisThemeContextValue;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var AtlantisThemeContext = require('../AtlantisThemeContext-cjs.js');
|
|
4
|
-
var updateTheme = require('../updateTheme-cjs.js');
|
|
5
4
|
require('@jobber/design');
|
|
6
5
|
require('react');
|
|
7
6
|
require('../_commonjsHelpers-cjs.js');
|
|
@@ -19,5 +18,5 @@ require('../_setToString-cjs.js');
|
|
|
19
18
|
exports.AtlantisThemeContextProvider = AtlantisThemeContext.AtlantisThemeContextProvider;
|
|
20
19
|
exports.THEME_CHANGE_EVENT = AtlantisThemeContext.THEME_CHANGE_EVENT;
|
|
21
20
|
exports.atlantisThemeContextDefaultValues = AtlantisThemeContext.atlantisThemeContextDefaultValues;
|
|
21
|
+
exports.updateTheme = AtlantisThemeContext.updateTheme;
|
|
22
22
|
exports.useAtlantisTheme = AtlantisThemeContext.useAtlantisTheme;
|
|
23
|
-
exports.updateTheme = updateTheme.updateTheme;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { A as AtlantisThemeContextProvider, T as THEME_CHANGE_EVENT, a as atlantisThemeContextDefaultValues, u as useAtlantisTheme } from '../AtlantisThemeContext-es.js';
|
|
2
|
-
export { u as updateTheme } from '../updateTheme-es.js';
|
|
1
|
+
export { A as AtlantisThemeContextProvider, T as THEME_CHANGE_EVENT, a as atlantisThemeContextDefaultValues, b as updateTheme, u as useAtlantisTheme } from '../AtlantisThemeContext-es.js';
|
|
3
2
|
import '@jobber/design';
|
|
4
3
|
import 'react';
|
|
5
4
|
import '../_commonjsHelpers-es.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Theme } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* `useSyncExternalStore` source for the theme. `data-theme` on the document
|
|
4
|
+
* element is the source of truth: `updateTheme` writes it and dispatches
|
|
5
|
+
* `THEME_CHANGE_EVENT`, which this store subscribes to.
|
|
6
|
+
*/
|
|
7
|
+
export declare const themeStore: {
|
|
8
|
+
readonly subscribe: (onStoreChange: () => void) => () => void;
|
|
9
|
+
readonly getSnapshot: () => Theme;
|
|
10
|
+
readonly getServerSnapshot: () => Theme;
|
|
11
|
+
};
|
|
@@ -32,6 +32,20 @@ export interface AtlantisThemeContextProviderProps extends PropsWithChildren {
|
|
|
32
32
|
* **Important**: you should provide a constant or at least a memoized value for performance reasons.
|
|
33
33
|
*/
|
|
34
34
|
readonly dangerouslyOverrideTokens?: OverrideTokens;
|
|
35
|
+
/**
|
|
36
|
+
* The `localStorage` key your app writes to when toggling the theme (e.g.
|
|
37
|
+
* `"jobber_theme"`). When set, the provider listens for `window` `storage`
|
|
38
|
+
* events on this key and applies theme changes signalled by other browser
|
|
39
|
+
* tabs. Writing to `localStorage` remains the app's responsibility; Atlantis
|
|
40
|
+
* only handles the listen-and-react side.
|
|
41
|
+
*
|
|
42
|
+
* Cross-tab sync is opt-in: omit this prop and no `storage` listener is added,
|
|
43
|
+
* preserving the previous within-tab-only behavior.
|
|
44
|
+
*
|
|
45
|
+
* Has no effect when `dangerouslyOverrideTheme` is set, since that provider
|
|
46
|
+
* is intentionally isolated from the shared theme store.
|
|
47
|
+
*/
|
|
48
|
+
readonly storageKey?: string;
|
|
35
49
|
}
|
|
36
50
|
export type OverrideTokens = {
|
|
37
51
|
[K in keyof typeof tokens]?: (typeof tokens)[K];
|
|
@@ -2,6 +2,6 @@ import type { Theme } from "./types";
|
|
|
2
2
|
/**
|
|
3
3
|
* Toggle the theme of the application. If subscribed, the tokens will be updated accordingly.
|
|
4
4
|
* Will add data-theme="<newTheme>" to the <html> element.
|
|
5
|
-
* Will dispatch a custom event "atlantis.toggle-theme"
|
|
5
|
+
* Will dispatch a custom event "atlantis.toggle-theme" that theme providers subscribe to.
|
|
6
6
|
*/
|
|
7
7
|
export declare function updateTheme(theme: Theme): void;
|
|
@@ -340,9 +340,45 @@ var merge_1 = merge;
|
|
|
340
340
|
|
|
341
341
|
var merge$1 = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(merge_1);
|
|
342
342
|
|
|
343
|
+
var styles = {"staticThemeProviderWrapper":"P6HrDSaI0Ac-","overrideTokensWrapper":"j-NMCOBL3-E-","spinning":"iq03qkKnXBA-"};
|
|
344
|
+
|
|
343
345
|
const THEME_CHANGE_EVENT = "atlantis.toggle-theme";
|
|
344
346
|
|
|
345
|
-
|
|
347
|
+
/**
|
|
348
|
+
* `useSyncExternalStore` source for the theme. `data-theme` on the document
|
|
349
|
+
* element is the source of truth: `updateTheme` writes it and dispatches
|
|
350
|
+
* `THEME_CHANGE_EVENT`, which this store subscribes to.
|
|
351
|
+
*/
|
|
352
|
+
const themeStore = {
|
|
353
|
+
subscribe(onStoreChange) {
|
|
354
|
+
globalThis.window.addEventListener(THEME_CHANGE_EVENT, onStoreChange);
|
|
355
|
+
return () => {
|
|
356
|
+
globalThis.window.removeEventListener(THEME_CHANGE_EVENT, onStoreChange);
|
|
357
|
+
};
|
|
358
|
+
},
|
|
359
|
+
getSnapshot() {
|
|
360
|
+
var _a, _b, _c, _d;
|
|
361
|
+
return ((_d = (_c = (_b = (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.documentElement) === null || _b === void 0 ? void 0 : _b.dataset) === null || _c === void 0 ? void 0 : _c.theme) !== null && _d !== void 0 ? _d : "light");
|
|
362
|
+
},
|
|
363
|
+
getServerSnapshot() {
|
|
364
|
+
return "light";
|
|
365
|
+
},
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Toggle the theme of the application. If subscribed, the tokens will be updated accordingly.
|
|
370
|
+
* Will add data-theme="<newTheme>" to the <html> element.
|
|
371
|
+
* Will dispatch a custom event "atlantis.toggle-theme" that theme providers subscribe to.
|
|
372
|
+
*/
|
|
373
|
+
function updateTheme(theme) {
|
|
374
|
+
if (!globalThis.window)
|
|
375
|
+
return;
|
|
376
|
+
globalThis.document.documentElement.setAttribute("data-theme", theme);
|
|
377
|
+
const event = new CustomEvent(THEME_CHANGE_EVENT, {
|
|
378
|
+
detail: { theme },
|
|
379
|
+
});
|
|
380
|
+
globalThis.window.dispatchEvent(event);
|
|
381
|
+
}
|
|
346
382
|
|
|
347
383
|
const atlantisThemeContextDefaultValues = {
|
|
348
384
|
theme: "light",
|
|
@@ -350,31 +386,35 @@ const atlantisThemeContextDefaultValues = {
|
|
|
350
386
|
};
|
|
351
387
|
const actualDarkTokens = merge$1({}, design.tokens, design.darkTokens);
|
|
352
388
|
const AtlantisThemeContext = React.createContext(atlantisThemeContextDefaultValues);
|
|
353
|
-
function AtlantisThemeContextProvider({ children, dangerouslyOverrideTheme, dangerouslyOverrideTokens, }) {
|
|
389
|
+
function AtlantisThemeContextProvider({ children, dangerouslyOverrideTheme, dangerouslyOverrideTokens, storageKey, }) {
|
|
354
390
|
if (dangerouslyOverrideTheme) {
|
|
355
391
|
return (React.createElement(InternalStaticThemeProvider, { dangerouslyOverrideTokens: dangerouslyOverrideTokens, dangerouslyOverrideTheme: dangerouslyOverrideTheme }, children));
|
|
356
392
|
}
|
|
357
|
-
return (React.createElement(InternalDynamicThemeProvider, { dangerouslyOverrideTokens: dangerouslyOverrideTokens }, children));
|
|
393
|
+
return (React.createElement(InternalDynamicThemeProvider, { dangerouslyOverrideTokens: dangerouslyOverrideTokens, storageKey: storageKey }, children));
|
|
358
394
|
}
|
|
359
|
-
function InternalDynamicThemeProvider({ children, dangerouslyOverrideTokens, }) {
|
|
360
|
-
|
|
361
|
-
const
|
|
362
|
-
const [internalTheme, setInternalTheme] = React.useState(initialTheme);
|
|
363
|
-
const { finalTokens, cssVariableOverrides } = useTokens(internalTheme, dangerouslyOverrideTokens);
|
|
364
|
-
const handleThemeChangeEvent = React.useCallback((event) => {
|
|
365
|
-
const newTheme = event.detail.theme;
|
|
366
|
-
setInternalTheme(newTheme);
|
|
367
|
-
}, []);
|
|
395
|
+
function InternalDynamicThemeProvider({ children, dangerouslyOverrideTokens, storageKey, }) {
|
|
396
|
+
const theme = React.useSyncExternalStore(themeStore.subscribe, themeStore.getSnapshot, themeStore.getServerSnapshot);
|
|
397
|
+
const { finalTokens, cssVariableOverrides } = useTokens(theme, dangerouslyOverrideTokens);
|
|
368
398
|
React.useEffect(() => {
|
|
369
|
-
if (!globalThis.window)
|
|
399
|
+
if (!storageKey || !globalThis.window)
|
|
370
400
|
return;
|
|
371
|
-
|
|
401
|
+
function handleStorage(event) {
|
|
402
|
+
if (event.key !== storageKey)
|
|
403
|
+
return;
|
|
404
|
+
const next = event.newValue;
|
|
405
|
+
if (next !== "light" && next !== "dark")
|
|
406
|
+
return;
|
|
407
|
+
if (next === themeStore.getSnapshot())
|
|
408
|
+
return;
|
|
409
|
+
updateTheme(next);
|
|
410
|
+
}
|
|
411
|
+
globalThis.window.addEventListener("storage", handleStorage);
|
|
372
412
|
return () => {
|
|
373
|
-
globalThis.window.removeEventListener(
|
|
413
|
+
globalThis.window.removeEventListener("storage", handleStorage);
|
|
374
414
|
};
|
|
375
|
-
}, [
|
|
415
|
+
}, [storageKey]);
|
|
376
416
|
return (React.createElement(AtlantisThemeContext.Provider, { value: {
|
|
377
|
-
theme:
|
|
417
|
+
theme: theme,
|
|
378
418
|
tokens: finalTokens,
|
|
379
419
|
overrideTokens: dangerouslyOverrideTokens,
|
|
380
420
|
} }, cssVariableOverrides ? (React.createElement("div", { className: styles.overrideTokensWrapper, style: cssVariableOverrides }, children)) : (children)));
|
|
@@ -419,4 +459,5 @@ function useTokens(theme, overrideTokens) {
|
|
|
419
459
|
exports.AtlantisThemeContextProvider = AtlantisThemeContextProvider;
|
|
420
460
|
exports.THEME_CHANGE_EVENT = THEME_CHANGE_EVENT;
|
|
421
461
|
exports.atlantisThemeContextDefaultValues = atlantisThemeContextDefaultValues;
|
|
462
|
+
exports.updateTheme = updateTheme;
|
|
422
463
|
exports.useAtlantisTheme = useAtlantisTheme;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { tokens, darkTokens } from '@jobber/design';
|
|
2
|
-
import React__default, { createContext,
|
|
2
|
+
import React__default, { createContext, useSyncExternalStore, useEffect, useContext, useMemo } from 'react';
|
|
3
3
|
import { g as getDefaultExportFromCjs } from './_commonjsHelpers-es.js';
|
|
4
4
|
import { e as eq_1, c as _Stack } from './identity-es.js';
|
|
5
5
|
import { _ as _baseAssignValue } from './_baseAssignValue-es.js';
|
|
6
6
|
import { _ as _baseFor } from './_baseFor-es.js';
|
|
7
7
|
import { _ as _copyObject, k as keysIn_1, a as _cloneBufferExports, b as _cloneTypedArray, c as _copyArray, d as _initCloneObject, i as isPlainObject_1 } from './keysIn-es.js';
|
|
8
|
-
import { b as isArrayLike_1, i as isArguments_1, a as isArray_1, c as isBufferExports,
|
|
8
|
+
import { b as isArrayLike_1, i as isArguments_1, a as isArray_1, c as isBufferExports, k as isFunction_1, d as isTypedArray_1 } from './isTypedArray-es.js';
|
|
9
9
|
import { i as isObjectLike_1, a as isObject_1 } from './isObjectLike-es.js';
|
|
10
10
|
import { _ as _baseRest, a as _isIterateeCall } from './_isIterateeCall-es.js';
|
|
11
11
|
|
|
@@ -338,9 +338,45 @@ var merge_1 = merge;
|
|
|
338
338
|
|
|
339
339
|
var merge$1 = /*@__PURE__*/getDefaultExportFromCjs(merge_1);
|
|
340
340
|
|
|
341
|
+
var styles = {"staticThemeProviderWrapper":"P6HrDSaI0Ac-","overrideTokensWrapper":"j-NMCOBL3-E-","spinning":"iq03qkKnXBA-"};
|
|
342
|
+
|
|
341
343
|
const THEME_CHANGE_EVENT = "atlantis.toggle-theme";
|
|
342
344
|
|
|
343
|
-
|
|
345
|
+
/**
|
|
346
|
+
* `useSyncExternalStore` source for the theme. `data-theme` on the document
|
|
347
|
+
* element is the source of truth: `updateTheme` writes it and dispatches
|
|
348
|
+
* `THEME_CHANGE_EVENT`, which this store subscribes to.
|
|
349
|
+
*/
|
|
350
|
+
const themeStore = {
|
|
351
|
+
subscribe(onStoreChange) {
|
|
352
|
+
globalThis.window.addEventListener(THEME_CHANGE_EVENT, onStoreChange);
|
|
353
|
+
return () => {
|
|
354
|
+
globalThis.window.removeEventListener(THEME_CHANGE_EVENT, onStoreChange);
|
|
355
|
+
};
|
|
356
|
+
},
|
|
357
|
+
getSnapshot() {
|
|
358
|
+
var _a, _b, _c, _d;
|
|
359
|
+
return ((_d = (_c = (_b = (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.documentElement) === null || _b === void 0 ? void 0 : _b.dataset) === null || _c === void 0 ? void 0 : _c.theme) !== null && _d !== void 0 ? _d : "light");
|
|
360
|
+
},
|
|
361
|
+
getServerSnapshot() {
|
|
362
|
+
return "light";
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Toggle the theme of the application. If subscribed, the tokens will be updated accordingly.
|
|
368
|
+
* Will add data-theme="<newTheme>" to the <html> element.
|
|
369
|
+
* Will dispatch a custom event "atlantis.toggle-theme" that theme providers subscribe to.
|
|
370
|
+
*/
|
|
371
|
+
function updateTheme(theme) {
|
|
372
|
+
if (!globalThis.window)
|
|
373
|
+
return;
|
|
374
|
+
globalThis.document.documentElement.setAttribute("data-theme", theme);
|
|
375
|
+
const event = new CustomEvent(THEME_CHANGE_EVENT, {
|
|
376
|
+
detail: { theme },
|
|
377
|
+
});
|
|
378
|
+
globalThis.window.dispatchEvent(event);
|
|
379
|
+
}
|
|
344
380
|
|
|
345
381
|
const atlantisThemeContextDefaultValues = {
|
|
346
382
|
theme: "light",
|
|
@@ -348,31 +384,35 @@ const atlantisThemeContextDefaultValues = {
|
|
|
348
384
|
};
|
|
349
385
|
const actualDarkTokens = merge$1({}, tokens, darkTokens);
|
|
350
386
|
const AtlantisThemeContext = createContext(atlantisThemeContextDefaultValues);
|
|
351
|
-
function AtlantisThemeContextProvider({ children, dangerouslyOverrideTheme, dangerouslyOverrideTokens, }) {
|
|
387
|
+
function AtlantisThemeContextProvider({ children, dangerouslyOverrideTheme, dangerouslyOverrideTokens, storageKey, }) {
|
|
352
388
|
if (dangerouslyOverrideTheme) {
|
|
353
389
|
return (React__default.createElement(InternalStaticThemeProvider, { dangerouslyOverrideTokens: dangerouslyOverrideTokens, dangerouslyOverrideTheme: dangerouslyOverrideTheme }, children));
|
|
354
390
|
}
|
|
355
|
-
return (React__default.createElement(InternalDynamicThemeProvider, { dangerouslyOverrideTokens: dangerouslyOverrideTokens }, children));
|
|
391
|
+
return (React__default.createElement(InternalDynamicThemeProvider, { dangerouslyOverrideTokens: dangerouslyOverrideTokens, storageKey: storageKey }, children));
|
|
356
392
|
}
|
|
357
|
-
function InternalDynamicThemeProvider({ children, dangerouslyOverrideTokens, }) {
|
|
358
|
-
|
|
359
|
-
const
|
|
360
|
-
const [internalTheme, setInternalTheme] = useState(initialTheme);
|
|
361
|
-
const { finalTokens, cssVariableOverrides } = useTokens(internalTheme, dangerouslyOverrideTokens);
|
|
362
|
-
const handleThemeChangeEvent = useCallback((event) => {
|
|
363
|
-
const newTheme = event.detail.theme;
|
|
364
|
-
setInternalTheme(newTheme);
|
|
365
|
-
}, []);
|
|
393
|
+
function InternalDynamicThemeProvider({ children, dangerouslyOverrideTokens, storageKey, }) {
|
|
394
|
+
const theme = useSyncExternalStore(themeStore.subscribe, themeStore.getSnapshot, themeStore.getServerSnapshot);
|
|
395
|
+
const { finalTokens, cssVariableOverrides } = useTokens(theme, dangerouslyOverrideTokens);
|
|
366
396
|
useEffect(() => {
|
|
367
|
-
if (!globalThis.window)
|
|
397
|
+
if (!storageKey || !globalThis.window)
|
|
368
398
|
return;
|
|
369
|
-
|
|
399
|
+
function handleStorage(event) {
|
|
400
|
+
if (event.key !== storageKey)
|
|
401
|
+
return;
|
|
402
|
+
const next = event.newValue;
|
|
403
|
+
if (next !== "light" && next !== "dark")
|
|
404
|
+
return;
|
|
405
|
+
if (next === themeStore.getSnapshot())
|
|
406
|
+
return;
|
|
407
|
+
updateTheme(next);
|
|
408
|
+
}
|
|
409
|
+
globalThis.window.addEventListener("storage", handleStorage);
|
|
370
410
|
return () => {
|
|
371
|
-
globalThis.window.removeEventListener(
|
|
411
|
+
globalThis.window.removeEventListener("storage", handleStorage);
|
|
372
412
|
};
|
|
373
|
-
}, [
|
|
413
|
+
}, [storageKey]);
|
|
374
414
|
return (React__default.createElement(AtlantisThemeContext.Provider, { value: {
|
|
375
|
-
theme:
|
|
415
|
+
theme: theme,
|
|
376
416
|
tokens: finalTokens,
|
|
377
417
|
overrideTokens: dangerouslyOverrideTokens,
|
|
378
418
|
} }, cssVariableOverrides ? (React__default.createElement("div", { className: styles.overrideTokensWrapper, style: cssVariableOverrides }, children)) : (children)));
|
|
@@ -414,4 +454,4 @@ function useTokens(theme, overrideTokens) {
|
|
|
414
454
|
};
|
|
415
455
|
}
|
|
416
456
|
|
|
417
|
-
export { AtlantisThemeContextProvider as A, THEME_CHANGE_EVENT as T, atlantisThemeContextDefaultValues as a, useAtlantisTheme as u };
|
|
457
|
+
export { AtlantisThemeContextProvider as A, THEME_CHANGE_EVENT as T, atlantisThemeContextDefaultValues as a, updateTheme as b, useAtlantisTheme as u };
|
package/dist/Avatar-cjs.js
CHANGED
|
@@ -41,6 +41,7 @@ function deconstructCssCustomProperty(color) {
|
|
|
41
41
|
.trim();
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
const MAX_VISIBLE_INITIALS = 3;
|
|
44
45
|
function Avatar({ imageUrl, name, initials, size = "base", color, UNSAFE_className = {}, UNSAFE_style = {}, }) {
|
|
45
46
|
const style = Object.assign({ backgroundColor: color, borderColor: color }, UNSAFE_style.container);
|
|
46
47
|
if (imageUrl) {
|
|
@@ -72,9 +73,9 @@ function Initials({ initials, iconColor = "textReverse", iconSize = "base", UNSA
|
|
|
72
73
|
return (React.createElement(Icon.Icon, { name: "person", color: iconColor, size: iconSize, UNSAFE_className: UNSAFE_className === null || UNSAFE_className === void 0 ? void 0 : UNSAFE_className.fallbackIcon, UNSAFE_style: UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.fallbackIcon }));
|
|
73
74
|
}
|
|
74
75
|
const className = classnames(styles.initials, UNSAFE_className === null || UNSAFE_className === void 0 ? void 0 : UNSAFE_className.initials, {
|
|
75
|
-
[styles.smallInitials]: initials.length
|
|
76
|
+
[styles.smallInitials]: initials.length >= MAX_VISIBLE_INITIALS,
|
|
76
77
|
});
|
|
77
|
-
return (React.createElement("span", { className: className, style: UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.initials }, initials.
|
|
78
|
+
return (React.createElement("span", { className: className, style: UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.initials }, initials.slice(0, MAX_VISIBLE_INITIALS)));
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
exports.Avatar = Avatar;
|
package/dist/Avatar-es.js
CHANGED
|
@@ -39,6 +39,7 @@ function deconstructCssCustomProperty(color) {
|
|
|
39
39
|
.trim();
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
const MAX_VISIBLE_INITIALS = 3;
|
|
42
43
|
function Avatar({ imageUrl, name, initials, size = "base", color, UNSAFE_className = {}, UNSAFE_style = {}, }) {
|
|
43
44
|
const style = Object.assign({ backgroundColor: color, borderColor: color }, UNSAFE_style.container);
|
|
44
45
|
if (imageUrl) {
|
|
@@ -70,9 +71,9 @@ function Initials({ initials, iconColor = "textReverse", iconSize = "base", UNSA
|
|
|
70
71
|
return (React__default.createElement(Icon, { name: "person", color: iconColor, size: iconSize, UNSAFE_className: UNSAFE_className === null || UNSAFE_className === void 0 ? void 0 : UNSAFE_className.fallbackIcon, UNSAFE_style: UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.fallbackIcon }));
|
|
71
72
|
}
|
|
72
73
|
const className = classnames(styles.initials, UNSAFE_className === null || UNSAFE_className === void 0 ? void 0 : UNSAFE_className.initials, {
|
|
73
|
-
[styles.smallInitials]: initials.length
|
|
74
|
+
[styles.smallInitials]: initials.length >= MAX_VISIBLE_INITIALS,
|
|
74
75
|
});
|
|
75
|
-
return (React__default.createElement("span", { className: className, style: UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.initials }, initials.
|
|
76
|
+
return (React__default.createElement("span", { className: className, style: UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.initials }, initials.slice(0, MAX_VISIBLE_INITIALS)));
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
export { Avatar as A };
|
package/dist/BottomSheet-cjs.js
CHANGED
|
@@ -7,7 +7,7 @@ var buttonRenderAdapter = require('./buttonRenderAdapter-cjs.js');
|
|
|
7
7
|
var Button = require('./Button-cjs.js');
|
|
8
8
|
var ScrollAreaViewport = require('./ScrollAreaViewport-cjs.js');
|
|
9
9
|
|
|
10
|
-
var styles = {"backdrop":"Qf3IFhKJwQ0-","popup":"_868PDAA3U2M-","content":"eKuxReHyju8-","scrollRoot":"V--tRnN-P0I-","scrollArea":"_1I0eaFciaWo-","bottomFade":"BYEzqcZUGls-","spinning":"IJxq5fm5qdw-"};
|
|
10
|
+
var styles = {"backdrop":"Qf3IFhKJwQ0-","viewport":"U069n8h0urk-","popup":"_868PDAA3U2M-","content":"eKuxReHyju8-","scrollRoot":"V--tRnN-P0I-","scrollArea":"_1I0eaFciaWo-","bottomFade":"BYEzqcZUGls-","spinning":"IJxq5fm5qdw-"};
|
|
11
11
|
|
|
12
12
|
// `resolveBottomSheetTriggerRender` so an Atlantis `<Button>` works as a trigger
|
|
13
13
|
// via `children` or `render`. Raw text children are wrapped in a default Button.
|
|
@@ -64,11 +64,12 @@ function BottomSheetPopup(_a) {
|
|
|
64
64
|
const renderScrollArea = React.useContext(BottomSheetScrollAreaContext);
|
|
65
65
|
return (React.createElement(ScrollAreaViewport.DrawerPortal, null,
|
|
66
66
|
React.createElement(ScrollAreaViewport.DrawerBackdrop, { forceRender: true, className: styles.backdrop, "data-testid": "ATL-BottomSheet-Backdrop" }),
|
|
67
|
-
React.createElement(ScrollAreaViewport.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
React.createElement(ScrollAreaViewport.DrawerViewport, { className: styles.viewport, "data-testid": "ATL-BottomSheet-Viewport" },
|
|
68
|
+
React.createElement(ScrollAreaViewport.DrawerPopup, Object.assign({}, popupProps, { ref: ref, className: classnames(styles.popup, className), initialFocus: initialFocus, finalFocus: finalFocus }), !renderScrollArea ? (
|
|
69
|
+
// The consumer manages its own scroll region (e.g. Dialog pins a
|
|
70
|
+
// header/footer outside a single scroll area) — often by composing
|
|
71
|
+
// `BottomSheet.ScrollArea` itself.
|
|
72
|
+
children) : (React.createElement(BottomSheetScrollArea, null, children))))));
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
75
|
* The sheet's scroll region: a styled BaseUI `ScrollArea` (native scrollbar) with
|
|
@@ -78,7 +79,7 @@ function BottomSheetPopup(_a) {
|
|
|
78
79
|
* directly.
|
|
79
80
|
*/
|
|
80
81
|
function BottomSheetScrollArea({ children, className, style, }) {
|
|
81
|
-
return (React.createElement(ScrollAreaViewport.ScrollAreaRoot, { className: classnames(styles.scrollRoot, className), style: style },
|
|
82
|
+
return (React.createElement(ScrollAreaViewport.ScrollAreaRoot, { className: classnames(styles.scrollRoot, className), style: style, "data-testid": "ATL-BottomSheet-ScrollRegion" },
|
|
82
83
|
React.createElement(ScrollAreaViewport.ScrollAreaViewport, { className: styles.scrollArea, "data-testid": "ATL-BottomSheet-ScrollArea",
|
|
83
84
|
// BaseUI sets overflow: scroll in the style prop by default. This is to override that because adding it to the className doesn't work.
|
|
84
85
|
style: { overflow: "auto" } }, children),
|
package/dist/BottomSheet-es.js
CHANGED
|
@@ -3,9 +3,9 @@ import React__default from 'react';
|
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { n as normalizeBaseUiButtonProps, i as isAtlantisButtonRenderTarget, s as stripNativeTypeFromButtonRenderTarget, r as renderAtlantisButtonTarget } from './buttonRenderAdapter-es.js';
|
|
5
5
|
import { B as Button } from './Button-es.js';
|
|
6
|
-
import { D as DrawerTrigger, a as DrawerRoot, b as DrawerPortal, c as DrawerBackdrop, d as DrawerPopup, S as ScrollAreaRoot,
|
|
6
|
+
import { D as DrawerTrigger, a as DrawerRoot, b as DrawerPortal, c as DrawerBackdrop, d as DrawerViewport, e as DrawerPopup, S as ScrollAreaRoot, f as ScrollAreaViewport, g as DrawerContent } from './ScrollAreaViewport-es.js';
|
|
7
7
|
|
|
8
|
-
var styles = {"backdrop":"Qf3IFhKJwQ0-","popup":"_868PDAA3U2M-","content":"eKuxReHyju8-","scrollRoot":"V--tRnN-P0I-","scrollArea":"_1I0eaFciaWo-","bottomFade":"BYEzqcZUGls-","spinning":"IJxq5fm5qdw-"};
|
|
8
|
+
var styles = {"backdrop":"Qf3IFhKJwQ0-","viewport":"U069n8h0urk-","popup":"_868PDAA3U2M-","content":"eKuxReHyju8-","scrollRoot":"V--tRnN-P0I-","scrollArea":"_1I0eaFciaWo-","bottomFade":"BYEzqcZUGls-","spinning":"IJxq5fm5qdw-"};
|
|
9
9
|
|
|
10
10
|
// `resolveBottomSheetTriggerRender` so an Atlantis `<Button>` works as a trigger
|
|
11
11
|
// via `children` or `render`. Raw text children are wrapped in a default Button.
|
|
@@ -62,11 +62,12 @@ function BottomSheetPopup(_a) {
|
|
|
62
62
|
const renderScrollArea = React__default.useContext(BottomSheetScrollAreaContext);
|
|
63
63
|
return (React__default.createElement(DrawerPortal, null,
|
|
64
64
|
React__default.createElement(DrawerBackdrop, { forceRender: true, className: styles.backdrop, "data-testid": "ATL-BottomSheet-Backdrop" }),
|
|
65
|
-
React__default.createElement(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
React__default.createElement(DrawerViewport, { className: styles.viewport, "data-testid": "ATL-BottomSheet-Viewport" },
|
|
66
|
+
React__default.createElement(DrawerPopup, Object.assign({}, popupProps, { ref: ref, className: classnames(styles.popup, className), initialFocus: initialFocus, finalFocus: finalFocus }), !renderScrollArea ? (
|
|
67
|
+
// The consumer manages its own scroll region (e.g. Dialog pins a
|
|
68
|
+
// header/footer outside a single scroll area) — often by composing
|
|
69
|
+
// `BottomSheet.ScrollArea` itself.
|
|
70
|
+
children) : (React__default.createElement(BottomSheetScrollArea, null, children))))));
|
|
70
71
|
}
|
|
71
72
|
/**
|
|
72
73
|
* The sheet's scroll region: a styled BaseUI `ScrollArea` (native scrollbar) with
|
|
@@ -76,7 +77,7 @@ function BottomSheetPopup(_a) {
|
|
|
76
77
|
* directly.
|
|
77
78
|
*/
|
|
78
79
|
function BottomSheetScrollArea({ children, className, style, }) {
|
|
79
|
-
return (React__default.createElement(ScrollAreaRoot, { className: classnames(styles.scrollRoot, className), style: style },
|
|
80
|
+
return (React__default.createElement(ScrollAreaRoot, { className: classnames(styles.scrollRoot, className), style: style, "data-testid": "ATL-BottomSheet-ScrollRegion" },
|
|
80
81
|
React__default.createElement(ScrollAreaViewport, { className: styles.scrollArea, "data-testid": "ATL-BottomSheet-ScrollArea",
|
|
81
82
|
// BaseUI sets overflow: scroll in the style prop by default. This is to override that because adding it to the className doesn't work.
|
|
82
83
|
style: { overflow: "auto" } }, children),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { z as useControlled, b as useStableCallback, m as useValueAsRef, k as useTransitionStatus, a as useIsoLayoutEffect, J as createGenericEventDetails, G as inputClear, F as inputChange, d as createChangeEventDetails, v as focusOut, Q as outsidePress, g as getTarget, V as itemPress, f as useOpenChangeComplete, O as useValueChanged, C as none,
|
|
2
|
+
import { z as useControlled, b as useStableCallback, m as useValueAsRef, k as useTransitionStatus, a as useIsoLayoutEffect, J as createGenericEventDetails, G as inputClear, F as inputChange, d as createChangeEventDetails, v as focusOut, Q as outsidePress, g as getTarget, V as itemPress, f as useOpenChangeComplete, O as useValueChanged, C as none, a7 as inputPress, q as contains, D as visuallyHiddenInput, E as visuallyHidden, h as useTimeout, c as useButton, o as ownerDocument, s as stopEvent, r as listNavigation, e as closePress, u as useBaseUiId, a3 as android, _ as escapeKey, a8 as clearPress, t as transitionStatusMapping, A as ios, S as SafeReact, j as error, a9 as chipRemovePress } from './useButton-es.js';
|
|
3
3
|
import { f as formatErrorMessage, b as EMPTY_ARRAY, a as useRefWithInit, E as EMPTY_OBJECT, N as NOOP, m as mergeProps, c as useMergedRefs, u as useRenderElement } from './useRenderElement-es.js';
|
|
4
4
|
import { a as useFormContext, b as useFieldRootContext, c as useLabelableId, d as useRegisterFieldControl, f as fieldValidityMapping, u as useLabelableContext, F as FieldRootContext, e as DEFAULT_FIELD_ROOT_CONTEXT, g as DEFAULT_FIELD_STATE_ATTRIBUTES } from './useLabelableId-es.js';
|
|
5
5
|
import { u as useFloatingRootContext, a as useListNavigation, b as useTypeahead, g as getPseudoElementBounds, C as CompositeList, d as useAnchorPositioning, c as useAnchoredPopupScrollLock, e as usePositioner, f as getDisabledMountTransitionStyles, h as useCompositeListItem, I as IndexGuessBehavior } from './useCompositeListItem-es.js';
|
|
6
6
|
import { h as hasNullItemLabel, c as compareItemEquality, a as stringifyAsLabel, k as isGroupedItems, s as stringifyAsValue, i as selectedValueIncludes, j as removeItem, f as findItemIndex, d as defaultItemEquality, b as areArraysEqual, r as resolveAriaLabelledBy, l as getDefaultLabelId, e as resolveMultipleLabels, g as resolveSelectedLabel } from './resolveAriaLabelledBy-es.js';
|
|
7
|
-
import {
|
|
7
|
+
import { al as getGridNavigatedIndex, e as isIndexOutOfListBounds, t as createSelector, r as useDirection, S as Store, w as useStore, v as useOpenInteractionType, x as useClick, y as useDismiss, F as FOCUSABLE_POPUP_PROPS, z as useOnFirstRender, B as pressableTriggerOpenStateMapping, am as gecko, Q as isInteractiveElement, af as triggerOpenStateMapping, E as FloatingPortal, p as popupStateMapping, I as InternalBackdrop, G as inertValue, H as DROPDOWN_COLLISION_AVOIDANCE, a as FloatingFocusManager } from './useScrollLock-es.js';
|
|
8
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
9
|
import * as ReactDOM from 'react-dom';
|
|
10
10
|
import { s as stringifyLocale, u as useLabel } from './useLabel-es.js';
|
package/dist/DatePicker-es.js
CHANGED
|
@@ -13,7 +13,7 @@ import { c as _Stack } from './identity-es.js';
|
|
|
13
13
|
import { _ as _copyObject, k as keysIn_1, e as _getPrototype, f as _cloneArrayBuffer, b as _cloneTypedArray, a as _cloneBufferExports, c as _copyArray, d as _initCloneObject, g as _assignValue, i as isPlainObject_1 } from './keysIn-es.js';
|
|
14
14
|
import { a as _getTag } from './_getTag-es.js';
|
|
15
15
|
import { b as _Symbol, i as isObjectLike_1, a as isObject_1 } from './isObjectLike-es.js';
|
|
16
|
-
import { m as _nodeUtilExports,
|
|
16
|
+
import { m as _nodeUtilExports, j as _baseUnary, c as isBufferExports, a as isArray_1 } from './isTypedArray-es.js';
|
|
17
17
|
import { _ as _baseFlatten } from './_baseFlatten-es.js';
|
|
18
18
|
import { _ as _overRest, a as _setToString } from './_setToString-es.js';
|
|
19
19
|
import { u as useAtlantisContext } from './AtlantisContext-es.js';
|
package/dist/Dialog/Dialog.d.ts
CHANGED
|
@@ -1,3 +1,47 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { DialogBodyProps, DialogCloseProps, DialogContentProps, DialogFooterProps, DialogHandle, DialogHeaderProps, DialogRootProps, DialogScrollAreaProps, DialogTitleProps, DialogTriggerProps } from "./Dialog.types";
|
|
3
|
+
import { DialogActions } from "./dialogComposableShared";
|
|
4
|
+
/**
|
|
5
|
+
* The Dialog root is a centered modal on
|
|
6
|
+
* desktop, a bottom sheet on mobile. Compose it with `Dialog.Trigger`,
|
|
7
|
+
* `Dialog.Content`, and the layout parts.
|
|
8
|
+
*/
|
|
9
|
+
export declare function Dialog<Payload = unknown>({ onRequestClose, size, type, finalFocus, children, onOpenChange, ...rest }: DialogRootProps<Payload>): React.JSX.Element;
|
|
10
|
+
export declare namespace Dialog {
|
|
11
|
+
var Trigger: typeof DialogTrigger;
|
|
12
|
+
var Content: typeof DialogContent;
|
|
13
|
+
var Header: typeof DialogHeader;
|
|
14
|
+
var Title: typeof DialogTitle;
|
|
15
|
+
var Close: typeof DialogClose;
|
|
16
|
+
var Body: typeof DialogBody;
|
|
17
|
+
var Footer: typeof DialogFooter;
|
|
18
|
+
var Actions: typeof DialogActions;
|
|
19
|
+
var ScrollArea: typeof DialogScrollArea;
|
|
20
|
+
var createHandle: <Payload = unknown>() => DialogHandle<Payload>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Opens the dialog. Accepts an Atlantis `<Button>` (via `children` or `render`)
|
|
24
|
+
* or links a detached `Dialog` through a matching `handle`.
|
|
25
|
+
*/
|
|
26
|
+
declare function DialogTrigger<Payload = unknown>(props: DialogTriggerProps<Payload>): React.JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* The dialog popup surface. Holds the `Header`, `Body`, and `Footer`; renders as a
|
|
29
|
+
* centered modal on desktop and a bottom sheet on mobile.
|
|
30
|
+
*/
|
|
31
|
+
declare function DialogContent(props: DialogContentProps): React.JSX.Element;
|
|
32
|
+
/** Layout-only header row — typically a `Dialog.Title` and a `Dialog.Close`. */
|
|
33
|
+
declare function DialogHeader(props: DialogHeaderProps): React.JSX.Element;
|
|
34
|
+
/** The dialog's accessible title; wired to `aria-labelledby`. */
|
|
35
|
+
declare function DialogTitle(props: DialogTitleProps): React.JSX.Element;
|
|
36
|
+
/** A dismiss button that closes the dialog. */
|
|
37
|
+
declare function DialogClose(props: DialogCloseProps): React.JSX.Element;
|
|
38
|
+
/** The dialog body; wired to `aria-describedby`. */
|
|
39
|
+
declare function DialogBody(props: DialogBodyProps): React.JSX.Element;
|
|
40
|
+
/** Footer region for actions or supporting content. */
|
|
41
|
+
declare function DialogFooter(props: DialogFooterProps): React.JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Advanced scroll region. Delegates to the shell: the modal uses a native
|
|
44
|
+
* scrollbar; the sheet uses the BottomSheet primitive's scroll area (with fade).
|
|
45
|
+
*/
|
|
46
|
+
declare function DialogScrollArea(props: DialogScrollAreaProps): React.JSX.Element;
|
|
47
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CSSProperties, ComponentPropsWithRef, ComponentPropsWithoutRef,
|
|
1
|
+
import type { CSSProperties, ComponentPropsWithRef, ComponentPropsWithoutRef, ReactElement, ReactNode } from "react";
|
|
2
2
|
import type { Dialog as BaseDialog } from "../unstyledPrimitives";
|
|
3
3
|
import type { ButtonProps } from "../Button";
|
|
4
4
|
type BaseUIPropsToExclude = "render" | "className" | "style" | "ref" | "children";
|
|
@@ -162,20 +162,6 @@ export interface DialogContextValue {
|
|
|
162
162
|
export interface DialogProviderProps extends DialogContextValue {
|
|
163
163
|
readonly children: ReactNode;
|
|
164
164
|
}
|
|
165
|
-
/** The assembled `Dialog` component: a root with the parts attached. */
|
|
166
|
-
export interface DialogComponent {
|
|
167
|
-
<Payload = unknown>(props: DialogRootProps<Payload>): ReactElement;
|
|
168
|
-
Trigger: <Payload = unknown>(props: DialogTriggerProps<Payload>) => ReactElement;
|
|
169
|
-
Content: FunctionComponent<DialogContentProps>;
|
|
170
|
-
Header: FunctionComponent<DialogHeaderProps>;
|
|
171
|
-
Title: FunctionComponent<DialogTitleProps>;
|
|
172
|
-
Close: FunctionComponent<DialogCloseProps>;
|
|
173
|
-
Body: FunctionComponent<DialogBodyProps>;
|
|
174
|
-
Footer: FunctionComponent<DialogFooterProps>;
|
|
175
|
-
Actions: FunctionComponent<DialogActionsProps>;
|
|
176
|
-
ScrollArea: FunctionComponent<DialogScrollAreaProps>;
|
|
177
|
-
createHandle: <Payload = unknown>() => DialogHandle<Payload>;
|
|
178
|
-
}
|
|
179
165
|
export type DialogActionsAlign = "left" | "right" | "fullWidth";
|
|
180
166
|
interface DialogActionsBaseProps extends DialogBaseProps, Omit<ComponentPropsWithoutRef<"div">, "className" | "style" | "children"> {
|
|
181
167
|
/** Primary action (right). */
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { DialogBodyProps, DialogCloseProps, DialogContentProps, DialogScrollAreaProps, DialogShellRootProps, DialogTitleProps, DialogTriggerProps } from "./Dialog.types";
|
|
3
3
|
import { SharedDialogFooter, SharedDialogHeader } from "./dialogComposableShared";
|
|
4
|
-
declare function
|
|
4
|
+
export declare function DialogBottomSheet(props: DialogShellRootProps): React.JSX.Element;
|
|
5
|
+
export declare namespace DialogBottomSheet {
|
|
6
|
+
var Trigger: typeof DialogBottomSheetTrigger;
|
|
7
|
+
var Content: typeof DialogBottomSheetContent;
|
|
8
|
+
var Header: typeof SharedDialogHeader;
|
|
9
|
+
var Title: typeof DialogBottomSheetTitle;
|
|
10
|
+
var Close: typeof DialogBottomSheetClose;
|
|
11
|
+
var Body: typeof DialogBottomSheetBody;
|
|
12
|
+
var Footer: typeof SharedDialogFooter;
|
|
13
|
+
var ScrollArea: typeof DialogBottomSheetScrollArea;
|
|
14
|
+
}
|
|
5
15
|
declare function DialogBottomSheetTrigger<Payload = unknown>(props: DialogTriggerProps<Payload>): React.JSX.Element;
|
|
6
|
-
declare function DialogBottomSheetContent({ children, className, style, ...rest }: DialogContentProps): React.JSX.Element;
|
|
16
|
+
declare function DialogBottomSheetContent({ children, className, style, render, ...rest }: DialogContentProps): React.JSX.Element;
|
|
7
17
|
declare function DialogBottomSheetTitle({ children, ...rest }: DialogTitleProps): React.JSX.Element;
|
|
8
18
|
declare function DialogBottomSheetClose({ children, render, ...rest }: DialogCloseProps): React.JSX.Element;
|
|
9
19
|
/**
|
|
@@ -14,15 +24,4 @@ declare function DialogBottomSheetClose({ children, render, ...rest }: DialogClo
|
|
|
14
24
|
*/
|
|
15
25
|
declare function DialogBottomSheetScrollArea({ children, className, style, }: DialogScrollAreaProps): React.JSX.Element;
|
|
16
26
|
declare function DialogBottomSheetBody({ children, fullBleed, className, style, ...rest }: DialogBodyProps): React.JSX.Element;
|
|
17
|
-
/** Mobile shell: a bottom sheet built on the BottomSheet/Drawer primitives. */
|
|
18
|
-
export declare const DialogBottomSheet: typeof DialogBottomSheetRoot & {
|
|
19
|
-
Trigger: typeof DialogBottomSheetTrigger;
|
|
20
|
-
Content: typeof DialogBottomSheetContent;
|
|
21
|
-
Header: typeof SharedDialogHeader;
|
|
22
|
-
Title: typeof DialogBottomSheetTitle;
|
|
23
|
-
Close: typeof DialogBottomSheetClose;
|
|
24
|
-
Body: typeof DialogBottomSheetBody;
|
|
25
|
-
Footer: typeof SharedDialogFooter;
|
|
26
|
-
ScrollArea: typeof DialogBottomSheetScrollArea;
|
|
27
|
-
};
|
|
28
27
|
export {};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { DialogBodyProps, DialogCloseProps, DialogContentProps, DialogShellRootProps, DialogTitleProps, DialogTriggerProps } from "./Dialog.types";
|
|
3
3
|
import { DialogScrollArea, SharedDialogFooter, SharedDialogHeader } from "./dialogComposableShared";
|
|
4
|
-
declare function
|
|
4
|
+
export declare function DialogModal(props: DialogShellRootProps): React.JSX.Element;
|
|
5
|
+
export declare namespace DialogModal {
|
|
6
|
+
var Trigger: typeof DialogModalTrigger;
|
|
7
|
+
var Content: typeof DialogModalContent;
|
|
8
|
+
var Header: typeof SharedDialogHeader;
|
|
9
|
+
var Title: typeof DialogModalTitle;
|
|
10
|
+
var Close: typeof DialogModalClose;
|
|
11
|
+
var Body: typeof DialogModalBody;
|
|
12
|
+
var Footer: typeof SharedDialogFooter;
|
|
13
|
+
var ScrollArea: typeof DialogScrollArea;
|
|
14
|
+
}
|
|
5
15
|
declare function DialogModalTrigger<Payload = unknown>({ children, render, handle, payload, className, style, ...rest }: DialogTriggerProps<Payload>): React.JSX.Element;
|
|
6
16
|
declare function DialogModalContent({ children, className, style, ...rest }: DialogContentProps): React.JSX.Element;
|
|
7
17
|
declare function DialogModalTitle({ children, ...rest }: DialogTitleProps): React.JSX.Element;
|
|
8
18
|
declare function DialogModalClose({ children, render, ...rest }: DialogCloseProps): React.JSX.Element;
|
|
9
19
|
declare function DialogModalBody({ children, fullBleed, className, style, ...rest }: DialogBodyProps): React.JSX.Element;
|
|
10
|
-
export declare const DialogModal: typeof DialogModalRoot & {
|
|
11
|
-
Trigger: typeof DialogModalTrigger;
|
|
12
|
-
Content: typeof DialogModalContent;
|
|
13
|
-
Header: typeof SharedDialogHeader;
|
|
14
|
-
Title: typeof DialogModalTitle;
|
|
15
|
-
Close: typeof DialogModalClose;
|
|
16
|
-
Body: typeof DialogModalBody;
|
|
17
|
-
Footer: typeof SharedDialogFooter;
|
|
18
|
-
ScrollArea: typeof DialogScrollArea;
|
|
19
|
-
};
|
|
20
20
|
export {};
|