@astryxdesign/core 0.1.6-canary.2829fc5 → 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.map +1 -1
- package/dist/Button/Button.js +4 -34
- 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/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/astryx.css +1 -3
- package/dist/astryx.umd.js +11 -11
- package/dist/astryx.umd.js.map +3 -3
- package/package.json +1 -1
- package/src/AppShell/AppShell.doc.mjs +2 -8
- package/src/Button/Button.tsx +4 -34
- package/src/ButtonGroup/ButtonGroup.test.tsx +2 -386
- package/src/ButtonGroup/ButtonGroup.tsx +4 -19
- 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/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/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/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/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/Chat/useChatStreamScroll.test.tsx +0 -168
- package/src/PowerSearch/formatFilterValue.test.ts +0 -282
- package/src/docPropLiterals.test.ts +0 -938
|
@@ -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,MAAM,MAAM,kBAAkB,CAAC;AAqB3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAyFrD,QAAA,MAAM,UAAU;;;;;;;;;;EAUd,CAAC;AAsGH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,UAAU,CAAC;AAEjD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,oDAAoD;IACpD,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,CACZ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KACnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;
|
|
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
|
@@ -228,42 +228,12 @@ const loadingStyles = {
|
|
|
228
228
|
$$css: true
|
|
229
229
|
}
|
|
230
230
|
};
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* "I am the last member of the group" — the trailing end cap.
|
|
234
|
-
*
|
|
235
|
-
* NOT `:last-child`: several members render an invisible layer element AFTER
|
|
236
|
-
* their button (a tooltip'd Button returns button + layer; DropdownMenu returns
|
|
237
|
-
* trigger + popover). `useLayer` renders those inline rather than portaling
|
|
238
|
-
* them, so the layer — not the button — took the `:last-child` slot and the real
|
|
239
|
-
* trailing button silently kept square corners (#2508).
|
|
240
|
-
*
|
|
241
|
-
* Layers always carry the native `popover` attribute (useLayer.tsx), and a
|
|
242
|
-
* popover is never an in-flow member — it is `display: none` until shown, then
|
|
243
|
-
* promoted to the top layer. So "last member" is: no following element sibling
|
|
244
|
-
* that isn't a popover.
|
|
245
|
-
*
|
|
246
|
-
* Reading it the other way round — marking the *buttons* and testing for a
|
|
247
|
-
* marked sibling — is the trap: it silently reclassifies anything it doesn't
|
|
248
|
-
* recognise as "not a member", so a member wrapped in a `display: contents`
|
|
249
|
-
* wrapper (Tooltip, HoverCard) or a raw child would make the button BEFORE it
|
|
250
|
-
* round mid-group. Ignoring known layers keeps the predicate conservative: an
|
|
251
|
-
* unrecognised sibling still counts, exactly as `:last-child` did, so the worst
|
|
252
|
-
* case degrades to the old behaviour instead of a wrong corner.
|
|
253
|
-
*
|
|
254
|
-
* Kept as a same-file const: StyleX only statically evaluates a selector key
|
|
255
|
-
* from a const in the same file.
|
|
256
|
-
*
|
|
257
|
-
* The leading edge still uses `:first-child` — a member's button always precedes
|
|
258
|
-
* its own layer, so the first button is genuinely `:first-child`.
|
|
259
|
-
*/
|
|
260
|
-
const IS_LAST_ITEM = ':not(:has(~ *:not([popover])))';
|
|
261
231
|
const groupStyles = {
|
|
262
232
|
horizontal: {
|
|
263
233
|
krdFHd: "x15mokao x8eehn2",
|
|
264
234
|
kVL7Gh: "xbiv7yw x1xrp5p4",
|
|
265
|
-
kfmiAY: "x1ga7v0g
|
|
266
|
-
kT0f0o: "x16uus16
|
|
235
|
+
kfmiAY: "x1ga7v0g x11xp8u1",
|
|
236
|
+
kT0f0o: "x16uus16 x747jw7",
|
|
267
237
|
k2ei4v: "xgbv0en x1pjv70x",
|
|
268
238
|
kVhnKS: "x1t7ytsu xyf0ibl",
|
|
269
239
|
kGJrpR: "x1j92z86",
|
|
@@ -272,8 +242,8 @@ const groupStyles = {
|
|
|
272
242
|
vertical: {
|
|
273
243
|
krdFHd: "x15mokao x8eehn2",
|
|
274
244
|
kfmiAY: "x1ga7v0g x2qxyot",
|
|
275
|
-
kVL7Gh: "xbiv7yw
|
|
276
|
-
kT0f0o: "x16uus16
|
|
245
|
+
kVL7Gh: "xbiv7yw x1yp72r9",
|
|
246
|
+
kT0f0o: "x16uus16 x747jw7",
|
|
277
247
|
kEafiO: "x11xkdxz x1g31smg",
|
|
278
248
|
kPef9Z: "x13fuv20 x1d9v4yf",
|
|
279
249
|
kLZC3w: "x1pc3f07",
|
|
@@ -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,
|
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/astryx.css
CHANGED
|
@@ -1038,9 +1038,6 @@
|
|
|
1038
1038
|
.x3730vf.x3730vf:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:auto}
|
|
1039
1039
|
.xuqivmr.xuqivmr:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){transform:translateY(0)}
|
|
1040
1040
|
.x7v6acp.x7v6acp:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){visibility:visible}
|
|
1041
|
-
.xajhecq:not(:has(~ *:not([popover]))):not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}
|
|
1042
|
-
.x12tyzlf:not(:has(~ *:not([popover]))):not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}
|
|
1043
|
-
.xbfdvlp:not(:has(~ *:not([popover]))):not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}
|
|
1044
1041
|
.xuihb5h:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent-muted)}
|
|
1045
1042
|
.xyavpck:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}
|
|
1046
1043
|
.x10wafsz:focus-within:not(#\#):not(#\#):not(#\#){clip-path:none}
|
|
@@ -1078,6 +1075,7 @@
|
|
|
1078
1075
|
.x9bi00s:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-3)),var(--spacing-2))}
|
|
1079
1076
|
.x18c6q21:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-4)),var(--spacing-2))}
|
|
1080
1077
|
.x747jw7:last-child:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}
|
|
1078
|
+
.x1yp72r9:last-child:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}
|
|
1081
1079
|
.x11xp8u1:last-child:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}
|
|
1082
1080
|
.xbg7gas:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-2)),var(--spacing-2))}
|
|
1083
1081
|
.xpilulx:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-3)),var(--spacing-2))}
|