@astryxdesign/core 0.1.6-canary.2d8ba8b → 0.1.6-canary.2e2e960
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/Button/Button.d.ts +2 -10
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +6 -49
- package/dist/ButtonGroup/ButtonGroup.d.ts +4 -19
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +4 -19
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +2 -21
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts +1 -12
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +6 -43
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +12 -15
- package/dist/Dialog/DialogHeader.d.ts +1 -1
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +1 -3
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +0 -6
- package/dist/Layer/useLayer.d.ts +0 -10
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +1 -23
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +10 -42
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +15 -26
- package/dist/Table/Table.js +2 -2
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +2 -2
- package/dist/Table/types.d.ts +10 -17
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/astryx.css +1 -3
- package/dist/astryx.umd.js +41 -41
- package/dist/astryx.umd.js.map +3 -3
- package/dist/utils/color.d.ts +1 -13
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js +1 -23
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/package.json +1 -1
- package/src/AppShell/AppShell.doc.mjs +2 -8
- package/src/Button/Button.doc.mjs +0 -8
- package/src/Button/Button.test.tsx +0 -27
- package/src/Button/Button.tsx +5 -51
- package/src/ButtonGroup/ButtonGroup.test.tsx +2 -386
- package/src/ButtonGroup/ButtonGroup.tsx +4 -19
- package/src/Calendar/Calendar.test.tsx +2 -103
- package/src/Calendar/Calendar.tsx +1 -21
- package/src/Card/Card.doc.mjs +3 -3
- package/src/Chat/ChatLayout.test.tsx +2 -127
- package/src/Chat/ChatMessageList.doc.mjs +1 -1
- package/src/Chat/ChatToolCalls.doc.mjs +1 -1
- package/src/Chat/index.ts +0 -1
- package/src/Chat/useChatStreamScroll.ts +11 -67
- package/src/CheckboxList/CheckboxList.doc.mjs +1 -1
- package/src/ClickableCard/ClickableCard.doc.mjs +1 -1
- package/src/DateInput/DateInput.doc.mjs +2 -2
- package/src/DateInput/DateInput.test.tsx +5 -17
- package/src/DateRangeInput/DateRangeInput.doc.mjs +1 -1
- package/src/DateTimeInput/DateTimeInput.doc.mjs +2 -2
- package/src/Dialog/Dialog.tsx +15 -11
- package/src/Dialog/DialogHeader.tsx +1 -3
- package/src/Field/Field.doc.mjs +2 -2
- package/src/FileInput/FileInput.test.tsx +1 -40
- package/src/FileInput/FileInput.tsx +0 -9
- package/src/Grid/Grid.doc.mjs +5 -5
- package/src/InputGroup/InputGroup.doc.mjs +1 -1
- package/src/Layer/useLayer.doc.mjs +5 -8
- package/src/Layer/useLayer.test.tsx +1 -136
- package/src/Layer/useLayer.tsx +2 -34
- package/src/Lightbox/Lightbox.doc.mjs +2 -7
- package/src/OverflowList/OverflowList.doc.mjs +2 -2
- package/src/PowerSearch/PowerSearch.doc.mjs +4 -4
- package/src/RadioList/RadioList.doc.mjs +1 -1
- package/src/Section/Section.doc.mjs +4 -4
- package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
- package/src/Selector/Selector.doc.mjs +3 -6
- package/src/Selector/Selector.test.tsx +6 -114
- package/src/Selector/Selector.tsx +11 -57
- package/src/Slider/Slider.doc.mjs +2 -2
- package/src/Stack/Stack.doc.mjs +10 -10
- package/src/Switch/Switch.doc.mjs +2 -2
- package/src/Table/BaseTable.tsx +18 -28
- package/src/Table/Table.test.tsx +1 -132
- package/src/Table/Table.tsx +3 -3
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +1 -1
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +5 -2
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +4 -4
- package/src/Table/types.ts +12 -18
- package/src/Table/useTableFiltering.doc.mjs +2 -2
- package/src/Table/useTableSortable.doc.mjs +11 -11
- package/src/Text/Text.doc.mjs +2 -2
- package/src/TimeInput/TimeInput.doc.mjs +2 -2
- package/src/Timestamp/Timestamp.doc.mjs +4 -4
- package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
- package/src/Toolbar/Toolbar.doc.mjs +1 -1
- package/src/Typeahead/Typeahead.doc.mjs +1 -1
- package/src/utils/color.test.ts +1 -101
- package/src/utils/color.ts +1 -23
- package/src/utils/index.ts +1 -8
- package/src/Chat/useChatStreamScroll.test.tsx +0 -168
- package/src/PowerSearch/formatFilterValue.test.ts +0 -282
- package/src/docPropLiterals.test.ts +0 -938
package/dist/Button/Button.d.ts
CHANGED
|
@@ -11,11 +11,10 @@
|
|
|
11
11
|
* - /apps/storybook/stories/Button.stories.tsx (storybook stories)
|
|
12
12
|
* - /packages/cli/templates/blocks/components/Button/ (showcase blocks)
|
|
13
13
|
*
|
|
14
|
-
* Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly,
|
|
14
|
+
* Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly, children, tooltip, endContent, href, as, target, rel
|
|
15
15
|
*/
|
|
16
16
|
import { type ReactNode } from 'react';
|
|
17
17
|
import type { BaseProps } from '../BaseProps';
|
|
18
|
-
import type { SizeValue } from '../utils/types';
|
|
19
18
|
import * as stylex from '@stylexjs/stylex';
|
|
20
19
|
import type { LinkComponentType } from '../Link/types';
|
|
21
20
|
declare const sizeStyles: Readonly<{
|
|
@@ -123,12 +122,6 @@ export interface ButtonProps extends BaseProps<HTMLButtonElement> {
|
|
|
123
122
|
* @default false
|
|
124
123
|
*/
|
|
125
124
|
isIconOnly?: boolean;
|
|
126
|
-
/**
|
|
127
|
-
* Width of the button. Numbers are treated as pixels, strings are used as-is
|
|
128
|
-
* (e.g. `'100%'` for a full-width button). By default the button sizes to
|
|
129
|
-
* its content.
|
|
130
|
-
*/
|
|
131
|
-
width?: SizeValue;
|
|
132
125
|
/**
|
|
133
126
|
* Optional visible content. When provided, rendered instead of `label` as the
|
|
134
127
|
* visible text (label still serves as the accessible name via aria-label).
|
|
@@ -188,12 +181,11 @@ export interface ButtonProps extends BaseProps<HTMLButtonElement> {
|
|
|
188
181
|
* <Button label="Edit" icon={<PencilIcon />} />
|
|
189
182
|
* <Button label="Messages" endContent={<Badge label={3} />} />
|
|
190
183
|
* <Button label="Edit" icon={<PencilIcon />} endContent={<Badge label="New" />} />
|
|
191
|
-
* <Button label="Sign in" variant="primary" width="100%" />
|
|
192
184
|
* <Button label="Visit site" href="https://example.com" variant="primary" />
|
|
193
185
|
* <Button label="Open in new tab" href="https://example.com" target="_blank" rel="noopener noreferrer" />
|
|
194
186
|
* ```
|
|
195
187
|
*/
|
|
196
|
-
export declare function Button({ label, variant, size: sizeProp, type, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly,
|
|
188
|
+
export declare function Button({ label, variant, size: sizeProp, type, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly, children, endContent, tooltip, href, as, target, rel, xstyle, className, style, ref, ...props }: ButtonProps): ReactNode;
|
|
197
189
|
export declare namespace Button {
|
|
198
190
|
var displayName: string;
|
|
199
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
|
package/dist/Button/Button.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - /apps/storybook/stories/Button.stories.tsx (storybook stories)
|
|
16
16
|
* - /packages/cli/templates/blocks/components/Button/ (showcase blocks)
|
|
17
17
|
*
|
|
18
|
-
* Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly,
|
|
18
|
+
* Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly, children, tooltip, endContent, href, as, target, rel
|
|
19
19
|
*/
|
|
20
20
|
import { useRef, useTransition } from 'react';
|
|
21
21
|
import * as stylex from '@stylexjs/stylex';
|
|
@@ -98,17 +98,6 @@ const styles = {
|
|
|
98
98
|
$$css: true
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
|
-
|
|
102
|
-
// Dynamic style for the consumer-controlled button width. Numbers are treated
|
|
103
|
-
// as pixels by StyleX; strings (e.g. '100%') are used as-is.
|
|
104
|
-
const dynamicStyles = {
|
|
105
|
-
width: width => [{
|
|
106
|
-
kzqmXN: width != null ? "x5lhr3w" : width,
|
|
107
|
-
$$css: true
|
|
108
|
-
}, {
|
|
109
|
-
"--x-width": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(width)
|
|
110
|
-
}]
|
|
111
|
-
};
|
|
112
101
|
const sizeStyles = {
|
|
113
102
|
sm: {
|
|
114
103
|
kZKoxP: "x6k0iem",
|
|
@@ -239,42 +228,12 @@ const loadingStyles = {
|
|
|
239
228
|
$$css: true
|
|
240
229
|
}
|
|
241
230
|
};
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* "I am the last member of the group" — the trailing end cap.
|
|
245
|
-
*
|
|
246
|
-
* NOT `:last-child`: several members render an invisible layer element AFTER
|
|
247
|
-
* their button (a tooltip'd Button returns button + layer; DropdownMenu returns
|
|
248
|
-
* trigger + popover). `useLayer` renders those inline rather than portaling
|
|
249
|
-
* them, so the layer — not the button — took the `:last-child` slot and the real
|
|
250
|
-
* trailing button silently kept square corners (#2508).
|
|
251
|
-
*
|
|
252
|
-
* Layers always carry the native `popover` attribute (useLayer.tsx), and a
|
|
253
|
-
* popover is never an in-flow member — it is `display: none` until shown, then
|
|
254
|
-
* promoted to the top layer. So "last member" is: no following element sibling
|
|
255
|
-
* that isn't a popover.
|
|
256
|
-
*
|
|
257
|
-
* Reading it the other way round — marking the *buttons* and testing for a
|
|
258
|
-
* marked sibling — is the trap: it silently reclassifies anything it doesn't
|
|
259
|
-
* recognise as "not a member", so a member wrapped in a `display: contents`
|
|
260
|
-
* wrapper (Tooltip, HoverCard) or a raw child would make the button BEFORE it
|
|
261
|
-
* round mid-group. Ignoring known layers keeps the predicate conservative: an
|
|
262
|
-
* unrecognised sibling still counts, exactly as `:last-child` did, so the worst
|
|
263
|
-
* case degrades to the old behaviour instead of a wrong corner.
|
|
264
|
-
*
|
|
265
|
-
* Kept as a same-file const: StyleX only statically evaluates a selector key
|
|
266
|
-
* from a const in the same file.
|
|
267
|
-
*
|
|
268
|
-
* The leading edge still uses `:first-child` — a member's button always precedes
|
|
269
|
-
* its own layer, so the first button is genuinely `:first-child`.
|
|
270
|
-
*/
|
|
271
|
-
const IS_LAST_ITEM = ':not(:has(~ *:not([popover])))';
|
|
272
231
|
const groupStyles = {
|
|
273
232
|
horizontal: {
|
|
274
233
|
krdFHd: "x15mokao x8eehn2",
|
|
275
234
|
kVL7Gh: "xbiv7yw x1xrp5p4",
|
|
276
|
-
kfmiAY: "x1ga7v0g
|
|
277
|
-
kT0f0o: "x16uus16
|
|
235
|
+
kfmiAY: "x1ga7v0g x11xp8u1",
|
|
236
|
+
kT0f0o: "x16uus16 x747jw7",
|
|
278
237
|
k2ei4v: "xgbv0en x1pjv70x",
|
|
279
238
|
kVhnKS: "x1t7ytsu xyf0ibl",
|
|
280
239
|
kGJrpR: "x1j92z86",
|
|
@@ -283,8 +242,8 @@ const groupStyles = {
|
|
|
283
242
|
vertical: {
|
|
284
243
|
krdFHd: "x15mokao x8eehn2",
|
|
285
244
|
kfmiAY: "x1ga7v0g x2qxyot",
|
|
286
|
-
kVL7Gh: "xbiv7yw
|
|
287
|
-
kT0f0o: "x16uus16
|
|
245
|
+
kVL7Gh: "xbiv7yw x1yp72r9",
|
|
246
|
+
kT0f0o: "x16uus16 x747jw7",
|
|
288
247
|
kEafiO: "x11xkdxz x1g31smg",
|
|
289
248
|
kPef9Z: "x13fuv20 x1d9v4yf",
|
|
290
249
|
kLZC3w: "x1pc3f07",
|
|
@@ -321,7 +280,6 @@ const groupStyles = {
|
|
|
321
280
|
* <Button label="Edit" icon={<PencilIcon />} />
|
|
322
281
|
* <Button label="Messages" endContent={<Badge label={3} />} />
|
|
323
282
|
* <Button label="Edit" icon={<PencilIcon />} endContent={<Badge label="New" />} />
|
|
324
|
-
* <Button label="Sign in" variant="primary" width="100%" />
|
|
325
283
|
* <Button label="Visit site" href="https://example.com" variant="primary" />
|
|
326
284
|
* <Button label="Open in new tab" href="https://example.com" target="_blank" rel="noopener noreferrer" />
|
|
327
285
|
* ```
|
|
@@ -337,7 +295,6 @@ export function Button({
|
|
|
337
295
|
clickAction,
|
|
338
296
|
icon,
|
|
339
297
|
isIconOnly = false,
|
|
340
|
-
width,
|
|
341
298
|
children,
|
|
342
299
|
endContent,
|
|
343
300
|
tooltip,
|
|
@@ -430,7 +387,7 @@ export function Button({
|
|
|
430
387
|
} : null;
|
|
431
388
|
|
|
432
389
|
// Shared StyleX props for both button and link rendering
|
|
433
|
-
const sharedStylexProps = stylex.props(styles.base, sizeStyles[size], variants[variant], isIconOnly && styles.iconOnly, buttonDisabled && styles.disabled, useAriaDisabled && styles.ariaDisabled, renderAsLink && styles.link, !buttonGroup && styles.pressable, buttonGroup && (buttonGroup.orientation === 'horizontal' ? groupStyles.horizontal : groupStyles.vertical), buttonGroup && (variant === 'primary' || variant === 'destructive') && (buttonGroup.orientation === 'horizontal' ? groupStyles.onSolidHorizontal : groupStyles.onSolidVertical),
|
|
390
|
+
const sharedStylexProps = stylex.props(styles.base, sizeStyles[size], variants[variant], isIconOnly && styles.iconOnly, buttonDisabled && styles.disabled, useAriaDisabled && styles.ariaDisabled, renderAsLink && styles.link, !buttonGroup && styles.pressable, buttonGroup && (buttonGroup.orientation === 'horizontal' ? groupStyles.horizontal : groupStyles.vertical), buttonGroup && (variant === 'primary' || variant === 'destructive') && (buttonGroup.orientation === 'horizontal' ? groupStyles.onSolidHorizontal : groupStyles.onSolidVertical), xstyle);
|
|
434
391
|
const sharedMergedProps = mergeProps(themeProps('button', {
|
|
435
392
|
variant,
|
|
436
393
|
size
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* @output Exports ButtonGroup component, context, and types
|
|
5
5
|
* @position Groups buttons with connected styling; consumed by index.ts
|
|
6
6
|
*
|
|
7
|
-
* Children (Button, IconButton) consume the ButtonGroup context to
|
|
8
|
-
* position-aware styles
|
|
9
|
-
*
|
|
10
|
-
* the trailing edge cannot use :last-child (#2508).
|
|
7
|
+
* Children (Button, IconButton) consume the ButtonGroup context to
|
|
8
|
+
* apply position-aware styles using CSS :first-child / :last-child
|
|
9
|
+
* pseudo-classes — no cloneElement or wrapper divs needed.
|
|
11
10
|
*
|
|
12
11
|
* SYNC: When modified, update these files to stay in sync:
|
|
13
12
|
* - /packages/core/src/ButtonGroup/ButtonGroup.doc.mjs (props table, features)
|
|
@@ -57,10 +56,7 @@ export interface ButtonGroupProps extends BaseProps<HTMLDivElement> {
|
|
|
57
56
|
* handling (only on outer edges), and horizontal or vertical orientation.
|
|
58
57
|
*
|
|
59
58
|
* Children automatically detect the group via context and apply position-aware
|
|
60
|
-
* styles
|
|
61
|
-
*
|
|
62
|
-
* Members that render their own layer — a Button with a `tooltip`, or a
|
|
63
|
-
* DropdownMenu — compose correctly, including as the trailing member.
|
|
59
|
+
* styles using CSS :first-child / :last-child pseudo-classes.
|
|
64
60
|
*
|
|
65
61
|
* @example
|
|
66
62
|
* ```
|
|
@@ -70,17 +66,6 @@ export interface ButtonGroupProps extends BaseProps<HTMLDivElement> {
|
|
|
70
66
|
* <Button label="Paste" />
|
|
71
67
|
* </ButtonGroup>
|
|
72
68
|
* ```
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* ```
|
|
76
|
-
* <ButtonGroup label="Approve action">
|
|
77
|
-
* <Button label="Allow once" variant="primary" />
|
|
78
|
-
* <DropdownMenu
|
|
79
|
-
* button={{label: 'Allow options', variant: 'primary', isIconOnly: true, icon: <Icon icon="chevronDown" />}}
|
|
80
|
-
* items={[{label: 'Allow for 30 minutes'}, {label: 'Always allow'}]}
|
|
81
|
-
* />
|
|
82
|
-
* </ButtonGroup>
|
|
83
|
-
* ```
|
|
84
69
|
*/
|
|
85
70
|
export declare function ButtonGroup({ children, label, orientation, size: sizeProp, isDisabled, xstyle, className, style, ref, 'data-testid': testId, onKeyDown, ...props }: ButtonGroupProps): ReactNode;
|
|
86
71
|
export declare namespace ButtonGroup {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAI1C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAOjE,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAErC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,WAA0B,EAC1B,IAAI,EAAE,QAAQ,EACd,UAAkB,EAClB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,SAAS,CAuC9B;yBApDe,WAAW"}
|
|
@@ -8,10 +8,9 @@
|
|
|
8
8
|
* @output Exports ButtonGroup component, context, and types
|
|
9
9
|
* @position Groups buttons with connected styling; consumed by index.ts
|
|
10
10
|
*
|
|
11
|
-
* Children (Button, IconButton) consume the ButtonGroup context to
|
|
12
|
-
* position-aware styles
|
|
13
|
-
*
|
|
14
|
-
* the trailing edge cannot use :last-child (#2508).
|
|
11
|
+
* Children (Button, IconButton) consume the ButtonGroup context to
|
|
12
|
+
* apply position-aware styles using CSS :first-child / :last-child
|
|
13
|
+
* pseudo-classes — no cloneElement or wrapper divs needed.
|
|
15
14
|
*
|
|
16
15
|
* SYNC: When modified, update these files to stay in sync:
|
|
17
16
|
* - /packages/core/src/ButtonGroup/ButtonGroup.doc.mjs (props table, features)
|
|
@@ -57,10 +56,7 @@ const styles = {
|
|
|
57
56
|
* handling (only on outer edges), and horizontal or vertical orientation.
|
|
58
57
|
*
|
|
59
58
|
* Children automatically detect the group via context and apply position-aware
|
|
60
|
-
* styles
|
|
61
|
-
*
|
|
62
|
-
* Members that render their own layer — a Button with a `tooltip`, or a
|
|
63
|
-
* DropdownMenu — compose correctly, including as the trailing member.
|
|
59
|
+
* styles using CSS :first-child / :last-child pseudo-classes.
|
|
64
60
|
*
|
|
65
61
|
* @example
|
|
66
62
|
* ```
|
|
@@ -70,17 +66,6 @@ const styles = {
|
|
|
70
66
|
* <Button label="Paste" />
|
|
71
67
|
* </ButtonGroup>
|
|
72
68
|
* ```
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* ```
|
|
76
|
-
* <ButtonGroup label="Approve action">
|
|
77
|
-
* <Button label="Allow once" variant="primary" />
|
|
78
|
-
* <DropdownMenu
|
|
79
|
-
* button={{label: 'Allow options', variant: 'primary', isIconOnly: true, icon: <Icon icon="chevronDown" />}}
|
|
80
|
-
* items={[{label: 'Allow for 30 minutes'}, {label: 'Always allow'}]}
|
|
81
|
-
* />
|
|
82
|
-
* </ButtonGroup>
|
|
83
|
-
* ```
|
|
84
69
|
*/
|
|
85
70
|
export function ButtonGroup({
|
|
86
71
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA8C5C,YAAY,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACV,MAAM,oBAAoB,CAAC;AAK5B,+CAA+C;AAE/C,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C;AAID,UAAU,iBAAkB,SAAQ,IAAI,CACtC,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,cAAc,CAC5B;IACC,kDAAkD;IAClD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAEzD;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CAC1C;AAID,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,qBAAqB;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,qBAAqB;IACrB,IAAI,EAAE,OAAO,CAAC;IAEd,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAMrE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAC,GAAG,EAAE,GAAG,KAAK,EAAC,EAAE,aAAa,+BA8StD;yBA9Se,QAAQ"}
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
* - /apps/storybook/stories/Calendar.stories.tsx (storybook stories)
|
|
17
17
|
* - /packages/cli/templates/blocks/components/Calendar/ (showcase blocks)
|
|
18
18
|
*/
|
|
19
|
-
import { useState, useMemo, useCallback, useEffect, useImperativeHandle
|
|
19
|
+
import { useState, useMemo, useCallback, useEffect, useImperativeHandle } from 'react';
|
|
20
20
|
import * as stylex from '@stylexjs/stylex';
|
|
21
21
|
import { Button } from "../Button/index.js";
|
|
22
22
|
import { Icon } from "../Icon/index.js";
|
|
23
|
-
import {
|
|
23
|
+
import { useGridFocus } from "../hooks/index.js";
|
|
24
24
|
import { useCalendarDays, useCalendarConstraints } from "./hooks/index.js";
|
|
25
25
|
import { calendarStyles, monthGridStyles, dayCellStyles, dayCellTheme } from "./styles.js";
|
|
26
26
|
import { plainDateFromISO, plainDateToISO, plainDateToDate, plainDateToday, plainDateSetFirstOfMonth, plainDateAddMonths, plainDateAddDays, plainDateIsBefore, plainDateIsEqual, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_MONTH_YEAR } from "../utils/plainDate.js";
|
|
@@ -160,25 +160,6 @@ export function Calendar({
|
|
|
160
160
|
return visibleMonths.map(m => plainDateFormat(m, DATE_FORMAT_MONTH_YEAR)).join(' – ');
|
|
161
161
|
}, [visibleMonths, numberOfMonths]);
|
|
162
162
|
|
|
163
|
-
// Announce the newly visible month to screen readers whenever it changes.
|
|
164
|
-
// The visible month label (`<span>`) carries no live semantics, so paging the
|
|
165
|
-
// grid — via the header prev/next buttons, keyboard grid paging (arrow keys
|
|
166
|
-
// across a month boundary, PageUp/PageDown), the `navigateTo` handle, or a
|
|
167
|
-
// controlled `focusDate` change — otherwise updates the grid silently. Keying
|
|
168
|
-
// off `monthYearLabel` reuses the existing single-/multi-month formatting and
|
|
169
|
-
// only fires when the visible month actually changes (so selecting a date,
|
|
170
|
-
// which does not move the grid, stays silent). The first-render guard avoids
|
|
171
|
-
// announcing the initial month on mount.
|
|
172
|
-
const announce = useAnnounce();
|
|
173
|
-
const isInitialRenderRef = useRef(true);
|
|
174
|
-
useEffect(() => {
|
|
175
|
-
if (isInitialRenderRef.current) {
|
|
176
|
-
isInitialRenderRef.current = false;
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
announce(monthYearLabel);
|
|
180
|
-
}, [monthYearLabel, announce]);
|
|
181
|
-
|
|
182
163
|
// Determine if prev/next navigation is possible based on min/max
|
|
183
164
|
const canNavigatePrevious = useMemo(() => {
|
|
184
165
|
if (!min) {
|
package/dist/Chat/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export type { ChatMessageMetadataProps, ChatMessageStatus, } from './ChatMessage
|
|
|
24
24
|
export { ChatSystemMessage } from './ChatSystemMessage';
|
|
25
25
|
export type { ChatSystemMessageProps, ChatSystemMessageVariant, } from './ChatSystemMessage';
|
|
26
26
|
export { useChatStreamScroll } from './useChatStreamScroll';
|
|
27
|
-
export type {
|
|
27
|
+
export type { UseChatStreamScrollOptions, UseChatStreamScrollReturn, } from './useChatStreamScroll';
|
|
28
28
|
export { useChatNewMessages } from './useChatNewMessages';
|
|
29
29
|
export type { UseChatNewMessagesOptions, UseChatNewMessagesReturn, } from './useChatNewMessages';
|
|
30
30
|
export { useChatPasteAsToken } from './useChatPasteAsToken';
|
package/dist/Chat/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAC,iBAAiB,EAAE,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAChF,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAC,sBAAsB,EAAC,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACV,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
export interface ChatScrollToBottomOptions {
|
|
2
|
-
/**
|
|
3
|
-
* `'instant'` jumps to the bottom in a single frame instead of running
|
|
4
|
-
* the spring animation. Use for programmatic positioning (opening a
|
|
5
|
-
* conversation, restoring a session) — keep the default `'spring'` for
|
|
6
|
-
* user-initiated scrolls like the scroll-to-bottom button. Mirrors the
|
|
7
|
-
* DOM's `scrollTo({behavior})`.
|
|
8
|
-
* @default 'spring'
|
|
9
|
-
*/
|
|
10
|
-
behavior?: 'instant' | 'spring';
|
|
11
|
-
}
|
|
12
1
|
export interface UseChatStreamScrollOptions {
|
|
13
2
|
/**
|
|
14
3
|
* Ref to the scrollable container element.
|
|
@@ -53,7 +42,7 @@ export interface UseChatStreamScrollReturn {
|
|
|
53
42
|
/** Whether auto-scroll is locked (following content). */
|
|
54
43
|
isLocked: boolean;
|
|
55
44
|
/** Scroll to the bottom of the container and re-lock. */
|
|
56
|
-
scrollToBottom: (
|
|
45
|
+
scrollToBottom: () => void;
|
|
57
46
|
/** Scroll so a specific element is at the top of the visible area. No lock change. */
|
|
58
47
|
scrollToMessage: (el: HTMLElement) => void;
|
|
59
48
|
/** Lock auto-scroll and scroll to bottom. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatStreamScroll.d.ts","sourceRoot":"","sources":["../../src/Chat/useChatStreamScroll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useChatStreamScroll.d.ts","sourceRoot":"","sources":["../../src/Chat/useChatStreamScroll.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;IAEtB,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAC;IAElB,yDAAyD;IACzD,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,sFAAsF;IACtF,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAE3C,6CAA6C;IAC7C,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,oEAAoE;IACpE,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,mDAAmD;IACnD,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC;AAQD,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,OAAc,EACd,aAAkB,EAClB,eAAqB,EACrB,OAAa,EACb,SAAgB,EAChB,IAAW,GACZ,EAAE,0BAA0B,GAAG,yBAAyB,CAmOxD"}
|
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
* - Locked (default): content growth auto-scrolls to bottom via rAF spring
|
|
13
13
|
* - Scrolling up (any source): unlocks immediately
|
|
14
14
|
* - Scrolling settles at bottom: re-locks on scrollend
|
|
15
|
-
* - The first fill positions instantly (whether content is present at
|
|
16
|
-
* mount or arrives async); only subsequent growth springs
|
|
17
|
-
* - `scrollToBottom({behavior: 'instant'})` jumps in one frame, no animation
|
|
18
15
|
*
|
|
19
16
|
* Uses scroll direction (lastScrollTop comparison) to detect user
|
|
20
17
|
* intent — works for wheel, touch, scrollbar drag, keyboard, everything.
|
|
@@ -47,9 +44,6 @@ export function useChatStreamScroll({
|
|
|
47
44
|
const [isScrolledUp, setIsScrolledUp] = useState(false);
|
|
48
45
|
const [isLocked, setIsLocked] = useState(true);
|
|
49
46
|
const lockedRef = useRef(true);
|
|
50
|
-
// True until the initial fill has been positioned — consumed by the first
|
|
51
|
-
// scrollIfLocked that sees scrollable content.
|
|
52
|
-
const initialFillPendingRef = useRef(true);
|
|
53
47
|
const velocityRef = useRef(0);
|
|
54
48
|
const animatingRef = useRef(false);
|
|
55
49
|
const lastTickRef = useRef(undefined);
|
|
@@ -101,33 +95,14 @@ export function useChatStreamScroll({
|
|
|
101
95
|
}
|
|
102
96
|
}, [animate]);
|
|
103
97
|
|
|
104
|
-
// Jump to the bottom in a single frame — cancels any in-flight spring so
|
|
105
|
-
// a later animation tick can't fight the assignment.
|
|
106
|
-
const jumpToBottom = useCallback(() => {
|
|
107
|
-
const el = scrollRef.current;
|
|
108
|
-
if (!el) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
animatingRef.current = false;
|
|
112
|
-
velocityRef.current = 0;
|
|
113
|
-
lastTickRef.current = undefined;
|
|
114
|
-
el.scrollTop = el.scrollHeight - el.clientHeight;
|
|
115
|
-
lastScrollTopRef.current = el.scrollTop;
|
|
116
|
-
}, [scrollRef]);
|
|
117
|
-
|
|
118
98
|
// --- Public API ---
|
|
119
99
|
|
|
120
|
-
const scrollToBottom = useCallback(
|
|
100
|
+
const scrollToBottom = useCallback(() => {
|
|
121
101
|
lockedRef.current = true;
|
|
122
102
|
setIsLocked(true);
|
|
123
103
|
setIsScrolledUp(false);
|
|
124
|
-
initialFillPendingRef.current = false;
|
|
125
|
-
if (options?.behavior === 'instant') {
|
|
126
|
-
jumpToBottom();
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
104
|
startAnimation();
|
|
130
|
-
}, [startAnimation
|
|
105
|
+
}, [startAnimation]);
|
|
131
106
|
const scrollToMessage = useCallback(el => {
|
|
132
107
|
const container = scrollRef.current;
|
|
133
108
|
if (!container) {
|
|
@@ -168,21 +143,10 @@ export function useChatStreamScroll({
|
|
|
168
143
|
if (!enabled) {
|
|
169
144
|
return;
|
|
170
145
|
}
|
|
171
|
-
if (
|
|
172
|
-
|
|
146
|
+
if (lockedRef.current) {
|
|
147
|
+
startAnimation();
|
|
173
148
|
}
|
|
174
|
-
|
|
175
|
-
// async-loaded conversation) positions in one frame instead of
|
|
176
|
-
// spring-flying from the top. Stays pending through empty/loading
|
|
177
|
-
// resizes until the container is actually scrollable.
|
|
178
|
-
const el = scrollRef.current;
|
|
179
|
-
if (initialFillPendingRef.current && el && el.scrollHeight > el.clientHeight) {
|
|
180
|
-
initialFillPendingRef.current = false;
|
|
181
|
-
jumpToBottom();
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
startAnimation();
|
|
185
|
-
}, [enabled, startAnimation, jumpToBottom, scrollRef]);
|
|
149
|
+
}, [enabled, startAnimation]);
|
|
186
150
|
|
|
187
151
|
// --- Event listeners ---
|
|
188
152
|
|
|
@@ -266,12 +230,11 @@ export function useChatStreamScroll({
|
|
|
266
230
|
passive: true
|
|
267
231
|
});
|
|
268
232
|
|
|
269
|
-
// Initial scroll to bottom
|
|
233
|
+
// Initial scroll to bottom
|
|
270
234
|
requestAnimationFrame(() => {
|
|
271
235
|
if (el.scrollHeight > el.clientHeight) {
|
|
272
236
|
el.scrollTop = el.scrollHeight - el.clientHeight;
|
|
273
237
|
lastScrollTopRef.current = el.scrollTop;
|
|
274
|
-
initialFillPendingRef.current = false;
|
|
275
238
|
}
|
|
276
239
|
});
|
|
277
240
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAA6B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoB5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAwBhD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAyHD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAkB,EAClB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAA6B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoB5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAwBhD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAyHD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAkB,EAClB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,sCAyOb;yBAzPe,MAAM"}
|
package/dist/Dialog/Dialog.js
CHANGED
|
@@ -359,41 +359,38 @@ export function Dialog({
|
|
|
359
359
|
})
|
|
360
360
|
});
|
|
361
361
|
|
|
362
|
-
// Filter out native open to prevent InvalidStateError when accidentally passed
|
|
363
|
-
const hasPosition = position != null && !isFullscreen;
|
|
364
|
-
const {
|
|
365
|
-
open: _open,
|
|
366
|
-
...safeProps
|
|
367
|
-
} = props;
|
|
368
|
-
|
|
369
362
|
// --- Inline rendering path (for documentation previews) ---
|
|
370
363
|
if (isInline) {
|
|
371
364
|
if (!isOpen) {
|
|
372
365
|
return null;
|
|
373
366
|
}
|
|
374
367
|
return /*#__PURE__*/_jsx("div", {
|
|
375
|
-
...safeProps,
|
|
376
368
|
...mergeProps(themeProps('dialog', {
|
|
377
369
|
variant
|
|
378
370
|
}), stylex.props(styles.inlineWrapper, !isFullscreen && dynamicStyles.sizing(width, maxHeight), isFullscreen && styles.fullscreen, xstyle), className, style),
|
|
371
|
+
"data-testid": props['data-testid'],
|
|
379
372
|
children: innerContent
|
|
380
373
|
});
|
|
381
374
|
}
|
|
382
375
|
|
|
383
376
|
// --- Standard modal rendering path ---
|
|
377
|
+
const hasPosition = position != null && !isFullscreen;
|
|
384
378
|
|
|
379
|
+
// Filter out native open to prevent InvalidStateError when accidentally passed
|
|
380
|
+
const {
|
|
381
|
+
open: _open,
|
|
382
|
+
...safeProps
|
|
383
|
+
} = props;
|
|
385
384
|
return /*#__PURE__*/_jsx("dialog", {
|
|
386
385
|
ref: mergeRefs(ref, dialogRef),
|
|
387
|
-
...safeProps,
|
|
388
|
-
...mergeProps(themeProps('dialog', {
|
|
389
|
-
variant
|
|
390
|
-
}), stylex.props(styles.dialog, isOpen && styles.open, styles.backdrop, !isFullscreen && dynamicStyles.sizing(width, maxHeight), hasPosition && dynamicStyles.position(position?.top, position?.right, position?.bottom, position?.left), isFullscreen && styles.fullscreen, xstyle), className, style),
|
|
391
386
|
onClick: handleClick,
|
|
392
387
|
onCancel: handleCancel,
|
|
393
388
|
"aria-modal": "true",
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
389
|
+
role: purpose === 'required' ? 'alertdialog' : undefined,
|
|
390
|
+
...mergeProps(themeProps('dialog', {
|
|
391
|
+
variant
|
|
392
|
+
}), stylex.props(styles.dialog, isOpen && styles.open, styles.backdrop, !isFullscreen && dynamicStyles.sizing(width, maxHeight), hasPosition && dynamicStyles.position(position?.top, position?.right, position?.bottom, position?.left), isFullscreen && styles.fullscreen, xstyle), className, style),
|
|
393
|
+
...safeProps,
|
|
397
394
|
children: innerContent
|
|
398
395
|
});
|
|
399
396
|
}
|
|
@@ -67,7 +67,7 @@ export interface DialogHeaderProps extends BaseProps<HTMLDivElement> {
|
|
|
67
67
|
* </Dialog>
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
|
-
export declare function DialogHeader({ title, subtitle, onOpenChange, startContent, endContent, hasDivider, xstyle, className, style, ref,
|
|
70
|
+
export declare function DialogHeader({ title, subtitle, onOpenChange, startContent, endContent, hasDivider, xstyle, className, style, ref, }: DialogHeaderProps): import("react").JSX.Element;
|
|
71
71
|
export declare namespace DialogHeader {
|
|
72
72
|
var displayName: string;
|
|
73
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogHeader.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogHeader.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoC5C,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAClE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,
|
|
1
|
+
{"version":3,"file":"DialogHeader.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogHeader.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoC5C,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAClE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE,iBAAiB,+BAgEnB;yBA3Ee,YAAY"}
|
|
@@ -64,8 +64,7 @@ export function DialogHeader({
|
|
|
64
64
|
xstyle,
|
|
65
65
|
className,
|
|
66
66
|
style,
|
|
67
|
-
ref
|
|
68
|
-
...rest
|
|
67
|
+
ref
|
|
69
68
|
}) {
|
|
70
69
|
const t = useTranslator();
|
|
71
70
|
const titleRef = useRef(null);
|
|
@@ -86,7 +85,6 @@ export function DialogHeader({
|
|
|
86
85
|
xstyle: xstyle,
|
|
87
86
|
className: className,
|
|
88
87
|
style: style,
|
|
89
|
-
...rest,
|
|
90
88
|
children: /*#__PURE__*/_jsxs("div", {
|
|
91
89
|
...{
|
|
92
90
|
className: "x78zum5 x1cy8zhl x1qughib xjcht0a"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../src/FileInput/FileInput.tsx"],"names":[],"mappings":"AAsCA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,UAAU,CAAC;AAMlB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AA0N9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,SAAS,EACT,UAAU,GAAG,cAAc,GAAG,OAAO,CACtC;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAkB,EAClB,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,WAAW,EACX,WAAW,EACX,IAAc,EACd,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,+
|
|
1
|
+
{"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../src/FileInput/FileInput.tsx"],"names":[],"mappings":"AAsCA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,UAAU,CAAC;AAMlB,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AA0N9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,SAAS,EACT,UAAU,GAAG,cAAc,GAAG,OAAO,CACtC;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAkB,EAClB,OAAO,EACP,QAAQ,EACR,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,WAAW,EACX,WAAW,EACX,IAAc,EACd,UAAkB,EAClB,YAAY,EACZ,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,+BA6WhB;yBAvYe,SAAS"}
|
|
@@ -313,12 +313,6 @@ export function FileInput({
|
|
|
313
313
|
const handleDragLeave = useCallback(e => {
|
|
314
314
|
e.preventDefault();
|
|
315
315
|
e.stopPropagation();
|
|
316
|
-
// Moving over the dropzone's own children (icon, text) fires dragleave on
|
|
317
|
-
// the container too — only a leave that actually exits the dropzone ends
|
|
318
|
-
// the drag-over state, otherwise the highlight flickers mid-drag.
|
|
319
|
-
if (e.relatedTarget instanceof Node && e.currentTarget.contains(e.relatedTarget)) {
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
316
|
setIsDragOver(false);
|
|
323
317
|
}, []);
|
|
324
318
|
const handleDrop = useCallback(e => {
|
package/dist/Layer/useLayer.d.ts
CHANGED
|
@@ -215,16 +215,6 @@ export interface FixedLayerReturn {
|
|
|
215
215
|
*/
|
|
216
216
|
render: (children: ReactNode, props: FixedRenderProps) => ReactNode;
|
|
217
217
|
}
|
|
218
|
-
/**
|
|
219
|
-
* Compute the `position-try-fallbacks` list for a placement/alignment pair.
|
|
220
|
-
*
|
|
221
|
-
* Flips alone cannot rescue a centered layer — flipping along the alignment
|
|
222
|
-
* axis maps center → center, so overflow on that axis renders clipped
|
|
223
|
-
* (#3671). Centered alignments therefore append span-based fallbacks letting
|
|
224
|
-
* the browser slide the layer along the alignment axis as a last resort
|
|
225
|
-
* (same-side spans first). Flips already resolve non-centered alignments.
|
|
226
|
-
*/
|
|
227
|
-
export declare function getPositionTryFallbacks(placement?: LayerPlacement, alignment?: LayerAlignment): string;
|
|
228
218
|
/**
|
|
229
219
|
* Core layer hook that handles popover behavior and positioning.
|
|
230
220
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"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"}
|