@astryxdesign/core 0.1.6-canary.15dd282 → 0.1.6-canary.1b61ba6
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 +34 -4
- package/dist/ButtonGroup/ButtonGroup.d.ts +19 -4
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +19 -4
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts +12 -1
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +43 -6
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +15 -12
- package/dist/Dialog/DialogHeader.d.ts +1 -1
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +3 -1
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +6 -0
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +26 -15
- 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 +17 -10
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/astryx.css +3 -1
- package/dist/astryx.umd.js +12 -12
- package/dist/astryx.umd.js.map +3 -3
- package/dist/authoring/doc.d.ts +145 -0
- package/dist/authoring/doc.d.ts.map +1 -0
- package/dist/authoring/doc.js +100 -0
- package/dist/authoring/index.d.ts +29 -0
- package/dist/authoring/index.d.ts.map +1 -0
- package/dist/authoring/index.js +28 -0
- package/dist/authoring/integration.d.ts +35 -0
- package/dist/authoring/integration.d.ts.map +1 -0
- package/dist/authoring/integration.js +30 -0
- package/dist/authoring/template.d.ts +66 -0
- package/dist/authoring/template.d.ts.map +1 -0
- package/dist/authoring/template.js +55 -0
- package/dist/config.d.ts +80 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +40 -0
- package/package.json +11 -1
- package/src/AppShell/AppShell.doc.mjs +8 -2
- package/src/Button/Button.tsx +34 -4
- package/src/ButtonGroup/ButtonGroup.test.tsx +386 -2
- package/src/ButtonGroup/ButtonGroup.tsx +19 -4
- package/src/Card/Card.doc.mjs +3 -3
- package/src/Chat/ChatLayout.test.tsx +127 -2
- package/src/Chat/ChatMessageList.doc.mjs +1 -1
- package/src/Chat/ChatToolCalls.doc.mjs +1 -1
- package/src/Chat/index.ts +1 -0
- package/src/Chat/useChatStreamScroll.test.tsx +168 -0
- package/src/Chat/useChatStreamScroll.ts +67 -11
- 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 +11 -15
- package/src/Dialog/DialogHeader.tsx +3 -1
- package/src/Field/Field.doc.mjs +2 -2
- package/src/FileInput/FileInput.test.tsx +40 -1
- package/src/FileInput/FileInput.tsx +9 -0
- package/src/Grid/Grid.doc.mjs +5 -5
- package/src/InputGroup/InputGroup.doc.mjs +1 -1
- package/src/Lightbox/Lightbox.doc.mjs +7 -2
- package/src/OverflowList/OverflowList.doc.mjs +2 -2
- package/src/PowerSearch/PowerSearch.doc.mjs +4 -4
- package/src/PowerSearch/formatFilterValue.test.ts +282 -0
- 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/BaseTable.tsx +28 -18
- package/src/Table/Table.test.tsx +132 -1
- 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 +2 -5
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +4 -4
- package/src/Table/types.ts +18 -12
- 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/authoring/doc.ts +166 -0
- package/src/authoring/index.test.ts +52 -0
- package/src/authoring/index.ts +50 -0
- package/src/authoring/integration.ts +42 -0
- package/src/authoring/template.ts +74 -0
- package/src/config.test.ts +16 -0
- package/src/config.ts +92 -0
- package/src/docPropLiterals.test.ts +938 -0
- package/src/i18n/useTranslator.doc.mjs +4 -0
|
@@ -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,12 +228,42 @@ 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])))';
|
|
231
261
|
const groupStyles = {
|
|
232
262
|
horizontal: {
|
|
233
263
|
krdFHd: "x15mokao x8eehn2",
|
|
234
264
|
kVL7Gh: "xbiv7yw x1xrp5p4",
|
|
235
|
-
kfmiAY: "x1ga7v0g
|
|
236
|
-
kT0f0o: "x16uus16
|
|
265
|
+
kfmiAY: "x1ga7v0g xbfdvlp",
|
|
266
|
+
kT0f0o: "x16uus16 xajhecq",
|
|
237
267
|
k2ei4v: "xgbv0en x1pjv70x",
|
|
238
268
|
kVhnKS: "x1t7ytsu xyf0ibl",
|
|
239
269
|
kGJrpR: "x1j92z86",
|
|
@@ -242,8 +272,8 @@ const groupStyles = {
|
|
|
242
272
|
vertical: {
|
|
243
273
|
krdFHd: "x15mokao x8eehn2",
|
|
244
274
|
kfmiAY: "x1ga7v0g x2qxyot",
|
|
245
|
-
kVL7Gh: "xbiv7yw
|
|
246
|
-
kT0f0o: "x16uus16
|
|
275
|
+
kVL7Gh: "xbiv7yw x12tyzlf",
|
|
276
|
+
kT0f0o: "x16uus16 xajhecq",
|
|
247
277
|
kEafiO: "x11xkdxz x1g31smg",
|
|
248
278
|
kPef9Z: "x13fuv20 x1d9v4yf",
|
|
249
279
|
kLZC3w: "x1pc3f07",
|
|
@@ -4,9 +4,10 @@
|
|
|
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
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Children (Button, IconButton) consume the ButtonGroup context to apply
|
|
8
|
+
* position-aware styles in pure CSS — no cloneElement or wrapper divs needed.
|
|
9
|
+
* The end-cap radius rules live in Button.tsx; see IS_LAST_ITEM there for why
|
|
10
|
+
* the trailing edge cannot use :last-child (#2508).
|
|
10
11
|
*
|
|
11
12
|
* SYNC: When modified, update these files to stay in sync:
|
|
12
13
|
* - /packages/core/src/ButtonGroup/ButtonGroup.doc.mjs (props table, features)
|
|
@@ -56,7 +57,10 @@ export interface ButtonGroupProps extends BaseProps<HTMLDivElement> {
|
|
|
56
57
|
* handling (only on outer edges), and horizontal or vertical orientation.
|
|
57
58
|
*
|
|
58
59
|
* Children automatically detect the group via context and apply position-aware
|
|
59
|
-
* styles
|
|
60
|
+
* styles in pure CSS.
|
|
61
|
+
*
|
|
62
|
+
* Members that render their own layer — a Button with a `tooltip`, or a
|
|
63
|
+
* DropdownMenu — compose correctly, including as the trailing member.
|
|
60
64
|
*
|
|
61
65
|
* @example
|
|
62
66
|
* ```
|
|
@@ -66,6 +70,17 @@ export interface ButtonGroupProps extends BaseProps<HTMLDivElement> {
|
|
|
66
70
|
* <Button label="Paste" />
|
|
67
71
|
* </ButtonGroup>
|
|
68
72
|
* ```
|
|
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
|
+
* ```
|
|
69
84
|
*/
|
|
70
85
|
export declare function ButtonGroup({ children, label, orientation, size: sizeProp, isDisabled, xstyle, className, style, ref, 'data-testid': testId, onKeyDown, ...props }: ButtonGroupProps): ReactNode;
|
|
71
86
|
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;;;;;;;;;;;;;;;;;GAiBG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;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,9 +8,10 @@
|
|
|
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
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Children (Button, IconButton) consume the ButtonGroup context to apply
|
|
12
|
+
* position-aware styles in pure CSS — no cloneElement or wrapper divs needed.
|
|
13
|
+
* The end-cap radius rules live in Button.tsx; see IS_LAST_ITEM there for why
|
|
14
|
+
* the trailing edge cannot use :last-child (#2508).
|
|
14
15
|
*
|
|
15
16
|
* SYNC: When modified, update these files to stay in sync:
|
|
16
17
|
* - /packages/core/src/ButtonGroup/ButtonGroup.doc.mjs (props table, features)
|
|
@@ -56,7 +57,10 @@ const styles = {
|
|
|
56
57
|
* handling (only on outer edges), and horizontal or vertical orientation.
|
|
57
58
|
*
|
|
58
59
|
* Children automatically detect the group via context and apply position-aware
|
|
59
|
-
* styles
|
|
60
|
+
* styles in pure CSS.
|
|
61
|
+
*
|
|
62
|
+
* Members that render their own layer — a Button with a `tooltip`, or a
|
|
63
|
+
* DropdownMenu — compose correctly, including as the trailing member.
|
|
60
64
|
*
|
|
61
65
|
* @example
|
|
62
66
|
* ```
|
|
@@ -66,6 +70,17 @@ const styles = {
|
|
|
66
70
|
* <Button label="Paste" />
|
|
67
71
|
* </ButtonGroup>
|
|
68
72
|
* ```
|
|
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
|
+
* ```
|
|
69
84
|
*/
|
|
70
85
|
export function ButtonGroup({
|
|
71
86
|
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 { UseChatStreamScrollOptions, UseChatStreamScrollReturn, } from './useChatStreamScroll';
|
|
27
|
+
export type { ChatScrollToBottomOptions, 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,14 @@
|
|
|
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
|
+
}
|
|
1
12
|
export interface UseChatStreamScrollOptions {
|
|
2
13
|
/**
|
|
3
14
|
* Ref to the scrollable container element.
|
|
@@ -42,7 +53,7 @@ export interface UseChatStreamScrollReturn {
|
|
|
42
53
|
/** Whether auto-scroll is locked (following content). */
|
|
43
54
|
isLocked: boolean;
|
|
44
55
|
/** Scroll to the bottom of the container and re-lock. */
|
|
45
|
-
scrollToBottom: () => void;
|
|
56
|
+
scrollToBottom: (options?: ChatScrollToBottomOptions) => void;
|
|
46
57
|
/** Scroll so a specific element is at the top of the visible area. No lock change. */
|
|
47
58
|
scrollToMessage: (el: HTMLElement) => void;
|
|
48
59
|
/** 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":"AAiCA,MAAM,WAAW,yBAAyB;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACjC;AAED,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,CAAC,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAE9D,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,CA4QxD"}
|
|
@@ -12,6 +12,9 @@
|
|
|
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
|
|
15
18
|
*
|
|
16
19
|
* Uses scroll direction (lastScrollTop comparison) to detect user
|
|
17
20
|
* intent — works for wheel, touch, scrollbar drag, keyboard, everything.
|
|
@@ -44,6 +47,9 @@ export function useChatStreamScroll({
|
|
|
44
47
|
const [isScrolledUp, setIsScrolledUp] = useState(false);
|
|
45
48
|
const [isLocked, setIsLocked] = useState(true);
|
|
46
49
|
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);
|
|
47
53
|
const velocityRef = useRef(0);
|
|
48
54
|
const animatingRef = useRef(false);
|
|
49
55
|
const lastTickRef = useRef(undefined);
|
|
@@ -95,14 +101,33 @@ export function useChatStreamScroll({
|
|
|
95
101
|
}
|
|
96
102
|
}, [animate]);
|
|
97
103
|
|
|
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
|
+
|
|
98
118
|
// --- Public API ---
|
|
99
119
|
|
|
100
|
-
const scrollToBottom = useCallback(
|
|
120
|
+
const scrollToBottom = useCallback(options => {
|
|
101
121
|
lockedRef.current = true;
|
|
102
122
|
setIsLocked(true);
|
|
103
123
|
setIsScrolledUp(false);
|
|
124
|
+
initialFillPendingRef.current = false;
|
|
125
|
+
if (options?.behavior === 'instant') {
|
|
126
|
+
jumpToBottom();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
104
129
|
startAnimation();
|
|
105
|
-
}, [startAnimation]);
|
|
130
|
+
}, [startAnimation, jumpToBottom]);
|
|
106
131
|
const scrollToMessage = useCallback(el => {
|
|
107
132
|
const container = scrollRef.current;
|
|
108
133
|
if (!container) {
|
|
@@ -143,10 +168,21 @@ export function useChatStreamScroll({
|
|
|
143
168
|
if (!enabled) {
|
|
144
169
|
return;
|
|
145
170
|
}
|
|
146
|
-
if (lockedRef.current) {
|
|
147
|
-
|
|
171
|
+
if (!lockedRef.current) {
|
|
172
|
+
return;
|
|
148
173
|
}
|
|
149
|
-
|
|
174
|
+
// Initial fill: content appearing for the first time (e.g. an
|
|
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]);
|
|
150
186
|
|
|
151
187
|
// --- Event listeners ---
|
|
152
188
|
|
|
@@ -230,11 +266,12 @@ export function useChatStreamScroll({
|
|
|
230
266
|
passive: true
|
|
231
267
|
});
|
|
232
268
|
|
|
233
|
-
// Initial scroll to bottom
|
|
269
|
+
// Initial scroll to bottom — content already present at mount.
|
|
234
270
|
requestAnimationFrame(() => {
|
|
235
271
|
if (el.scrollHeight > el.clientHeight) {
|
|
236
272
|
el.scrollTop = el.scrollHeight - el.clientHeight;
|
|
237
273
|
lastScrollTopRef.current = el.scrollTop;
|
|
274
|
+
initialFillPendingRef.current = false;
|
|
238
275
|
}
|
|
239
276
|
});
|
|
240
277
|
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,sCAqOb;yBArPe,MAAM"}
|
package/dist/Dialog/Dialog.js
CHANGED
|
@@ -359,38 +359,41 @@ 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
|
+
|
|
362
369
|
// --- Inline rendering path (for documentation previews) ---
|
|
363
370
|
if (isInline) {
|
|
364
371
|
if (!isOpen) {
|
|
365
372
|
return null;
|
|
366
373
|
}
|
|
367
374
|
return /*#__PURE__*/_jsx("div", {
|
|
375
|
+
...safeProps,
|
|
368
376
|
...mergeProps(themeProps('dialog', {
|
|
369
377
|
variant
|
|
370
378
|
}), stylex.props(styles.inlineWrapper, !isFullscreen && dynamicStyles.sizing(width, maxHeight), isFullscreen && styles.fullscreen, xstyle), className, style),
|
|
371
|
-
"data-testid": props['data-testid'],
|
|
372
379
|
children: innerContent
|
|
373
380
|
});
|
|
374
381
|
}
|
|
375
382
|
|
|
376
383
|
// --- Standard modal rendering path ---
|
|
377
|
-
const hasPosition = position != null && !isFullscreen;
|
|
378
384
|
|
|
379
|
-
// Filter out native open to prevent InvalidStateError when accidentally passed
|
|
380
|
-
const {
|
|
381
|
-
open: _open,
|
|
382
|
-
...safeProps
|
|
383
|
-
} = props;
|
|
384
385
|
return /*#__PURE__*/_jsx("dialog", {
|
|
385
386
|
ref: mergeRefs(ref, dialogRef),
|
|
386
|
-
|
|
387
|
-
onCancel: handleCancel,
|
|
388
|
-
"aria-modal": "true",
|
|
389
|
-
role: purpose === 'required' ? 'alertdialog' : undefined,
|
|
387
|
+
...safeProps,
|
|
390
388
|
...mergeProps(themeProps('dialog', {
|
|
391
389
|
variant
|
|
392
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),
|
|
393
|
-
|
|
391
|
+
onClick: handleClick,
|
|
392
|
+
onCancel: handleCancel,
|
|
393
|
+
"aria-modal": "true",
|
|
394
|
+
...(purpose === 'required' ? {
|
|
395
|
+
role: 'alertdialog'
|
|
396
|
+
} : undefined),
|
|
394
397
|
children: innerContent
|
|
395
398
|
});
|
|
396
399
|
}
|
|
@@ -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, }: DialogHeaderProps): import("react").JSX.Element;
|
|
70
|
+
export declare function DialogHeader({ title, subtitle, onOpenChange, startContent, endContent, hasDivider, xstyle, className, style, ref, ...rest }: 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,EACH,GAAG,IAAI,EACR,EAAE,iBAAiB,+BAiEnB;yBA7Ee,YAAY"}
|
|
@@ -64,7 +64,8 @@ export function DialogHeader({
|
|
|
64
64
|
xstyle,
|
|
65
65
|
className,
|
|
66
66
|
style,
|
|
67
|
-
ref
|
|
67
|
+
ref,
|
|
68
|
+
...rest
|
|
68
69
|
}) {
|
|
69
70
|
const t = useTranslator();
|
|
70
71
|
const titleRef = useRef(null);
|
|
@@ -85,6 +86,7 @@ export function DialogHeader({
|
|
|
85
86
|
xstyle: xstyle,
|
|
86
87
|
className: className,
|
|
87
88
|
style: style,
|
|
89
|
+
...rest,
|
|
88
90
|
children: /*#__PURE__*/_jsxs("div", {
|
|
89
91
|
...{
|
|
90
92
|
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,+BAsXhB;yBAhZe,SAAS"}
|
|
@@ -313,6 +313,12 @@ 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
|
+
}
|
|
316
322
|
setIsDragOver(false);
|
|
317
323
|
}, []);
|
|
318
324
|
const handleDrop = useCallback(e => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;AA2jBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,EAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAC,KACrD,YAAY,CAAC"}
|
package/dist/Table/BaseTable.js
CHANGED
|
@@ -116,7 +116,7 @@ function TableRowInner({
|
|
|
116
116
|
}
|
|
117
117
|
const initialBodyCellRenderProps = {
|
|
118
118
|
htmlProps: initialCellHtmlProps,
|
|
119
|
-
|
|
119
|
+
xstyle: [],
|
|
120
120
|
columnIndex,
|
|
121
121
|
columns: columns
|
|
122
122
|
};
|
|
@@ -141,7 +141,7 @@ function TableRowInner({
|
|
|
141
141
|
return /*#__PURE__*/_jsx(CellComponent, {
|
|
142
142
|
...cellRenderProps.htmlProps,
|
|
143
143
|
contextMenuActions: cellRenderProps.contextMenuActions,
|
|
144
|
-
xstyle: cellRenderProps.
|
|
144
|
+
xstyle: cellRenderProps.xstyle,
|
|
145
145
|
children: content
|
|
146
146
|
}, col.key);
|
|
147
147
|
});
|
|
@@ -149,7 +149,7 @@ function TableRowInner({
|
|
|
149
149
|
// Apply plugin transforms for row (with pre-rendered children)
|
|
150
150
|
const rowRenderProps = applyPlugins(plugins, p => p.transformBodyRow, {
|
|
151
151
|
htmlProps: {},
|
|
152
|
-
|
|
152
|
+
xstyle: [],
|
|
153
153
|
children: /*#__PURE__*/_jsx(_Fragment, {
|
|
154
154
|
children: cells
|
|
155
155
|
})
|
|
@@ -157,7 +157,7 @@ function TableRowInner({
|
|
|
157
157
|
const row = /*#__PURE__*/_jsx(RowComponent, {
|
|
158
158
|
ref: rowRenderProps.ref,
|
|
159
159
|
...rowRenderProps.htmlProps,
|
|
160
|
-
xstyle: rowRenderProps.
|
|
160
|
+
xstyle: rowRenderProps.xstyle,
|
|
161
161
|
children: rowRenderProps.children
|
|
162
162
|
}, rowKey);
|
|
163
163
|
return row;
|
|
@@ -239,7 +239,11 @@ function BaseTableInner({
|
|
|
239
239
|
textOverflow = 'wrap',
|
|
240
240
|
scrollWrapper: ScrollWrapper,
|
|
241
241
|
emptyState,
|
|
242
|
-
|
|
242
|
+
xstyle,
|
|
243
|
+
className,
|
|
244
|
+
style,
|
|
245
|
+
ref,
|
|
246
|
+
...rest
|
|
243
247
|
}) {
|
|
244
248
|
const t = useTranslator();
|
|
245
249
|
// Use stable empty array when no plugins provided
|
|
@@ -275,7 +279,7 @@ function BaseTableInner({
|
|
|
275
279
|
htmlProps: {
|
|
276
280
|
...userTableProps
|
|
277
281
|
},
|
|
278
|
-
|
|
282
|
+
xstyle: children ? [styles.table, styles.tableAutoLayout] : [styles.table]
|
|
279
283
|
});
|
|
280
284
|
|
|
281
285
|
// --- Plugin pipeline: header cells ---
|
|
@@ -297,7 +301,7 @@ function BaseTableInner({
|
|
|
297
301
|
}
|
|
298
302
|
const initialHeaderRenderProps = {
|
|
299
303
|
htmlProps: initialHeaderHtmlProps,
|
|
300
|
-
|
|
304
|
+
xstyle: [],
|
|
301
305
|
content: headerContent,
|
|
302
306
|
columnIndex,
|
|
303
307
|
columns: resolvedColumns
|
|
@@ -341,7 +345,7 @@ function BaseTableInner({
|
|
|
341
345
|
...mergedHtmlProps,
|
|
342
346
|
...headerTitleProp,
|
|
343
347
|
contextMenuActions: cellRenderProps.contextMenuActions,
|
|
344
|
-
xstyle: cellRenderProps.
|
|
348
|
+
xstyle: cellRenderProps.xstyle,
|
|
345
349
|
children: headerInner
|
|
346
350
|
}, col.key);
|
|
347
351
|
});
|
|
@@ -349,7 +353,7 @@ function BaseTableInner({
|
|
|
349
353
|
// --- Plugin pipeline: header row ---
|
|
350
354
|
const headerRowRenderProps = applyPlugins(plugins, p => p.transformHeaderRow, {
|
|
351
355
|
htmlProps: {},
|
|
352
|
-
|
|
356
|
+
xstyle: [],
|
|
353
357
|
children: /*#__PURE__*/_jsx(_Fragment, {
|
|
354
358
|
children: headerCells
|
|
355
359
|
})
|
|
@@ -358,21 +362,28 @@ function BaseTableInner({
|
|
|
358
362
|
// --- Render ---
|
|
359
363
|
const hasData = data != null && data.length > 0;
|
|
360
364
|
const hasColumns = resolvedColumns.length > 0;
|
|
365
|
+
|
|
366
|
+
// Style precedence: deprecated tableProps.style < consumer style < the
|
|
367
|
+
// computed column min-width (structural — derived from column defs, so it
|
|
368
|
+
// must win when present; when absent, a consumer minWidth survives).
|
|
361
369
|
const tableStyle = {
|
|
362
370
|
...tableRenderProps.htmlProps.style,
|
|
363
|
-
|
|
371
|
+
...style,
|
|
372
|
+
...(resolvedWidths.tableMinWidth > 0 ? {
|
|
373
|
+
minWidth: `${resolvedWidths.tableMinWidth}px`
|
|
374
|
+
} : null)
|
|
364
375
|
};
|
|
365
376
|
let tableElement = /*#__PURE__*/_jsx("table", {
|
|
366
377
|
ref: ref,
|
|
367
378
|
...tableRenderProps.htmlProps,
|
|
368
|
-
...mergeProps(themeProps('base-table'), stylex.props(...tableRenderProps.
|
|
369
|
-
|
|
379
|
+
...mergeProps(themeProps('base-table'), stylex.props(...tableRenderProps.xstyle, xstyle), [tableRenderProps.htmlProps.className, className].filter(Boolean).join(' ') || undefined, tableStyle),
|
|
380
|
+
...rest,
|
|
370
381
|
children: children ? children : /*#__PURE__*/_jsxs(_Fragment, {
|
|
371
382
|
children: [hasColumns && /*#__PURE__*/_jsx(TableHeader, {
|
|
372
383
|
children: /*#__PURE__*/_jsx(RowComponent, {
|
|
373
384
|
...headerRowRenderProps.htmlProps,
|
|
374
385
|
isHeaderRow: true,
|
|
375
|
-
xstyle: headerRowRenderProps.
|
|
386
|
+
xstyle: headerRowRenderProps.xstyle,
|
|
376
387
|
children: headerRowRenderProps.children
|
|
377
388
|
})
|
|
378
389
|
}), /*#__PURE__*/_jsx(TableBody, {
|
|
@@ -412,11 +423,11 @@ function BaseTableInner({
|
|
|
412
423
|
if (ScrollWrapper) {
|
|
413
424
|
const scrollWrapperRenderProps = applyPlugins(plugins, p => p.transformScrollWrapper, {
|
|
414
425
|
htmlProps: {},
|
|
415
|
-
|
|
426
|
+
xstyle: []
|
|
416
427
|
});
|
|
417
428
|
tableElement = /*#__PURE__*/_jsx(ScrollWrapper, {
|
|
418
429
|
htmlProps: scrollWrapperRenderProps.htmlProps,
|
|
419
|
-
|
|
430
|
+
xstyle: scrollWrapperRenderProps.xstyle,
|
|
420
431
|
beforeTable: scrollWrapperRenderProps.beforeTable,
|
|
421
432
|
afterTable: scrollWrapperRenderProps.afterTable,
|
|
422
433
|
children: tableElement
|
package/dist/Table/Table.js
CHANGED
|
@@ -72,7 +72,7 @@ const scrollWrapperStyles = {
|
|
|
72
72
|
function TableScrollWrapper({
|
|
73
73
|
children,
|
|
74
74
|
htmlProps,
|
|
75
|
-
|
|
75
|
+
xstyle: pluginStyles,
|
|
76
76
|
beforeTable,
|
|
77
77
|
afterTable
|
|
78
78
|
}) {
|
|
@@ -113,7 +113,7 @@ function buildTableStylePlugin() {
|
|
|
113
113
|
...props.htmlProps,
|
|
114
114
|
className: existingClass ? `${existingClass} ${tableClass}` : tableClass
|
|
115
115
|
},
|
|
116
|
-
|
|
116
|
+
xstyle: [...props.xstyle, tableStyles.base]
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
119
|
};
|
|
@@ -595,7 +595,7 @@ export function useTableColumnResize(config) {
|
|
|
595
595
|
overlay: /*#__PURE__*/_jsxs(_Fragment, {
|
|
596
596
|
children: [props.overlay, handle]
|
|
597
597
|
}),
|
|
598
|
-
|
|
598
|
+
xstyle: [...props.xstyle, headerCellRelative.base]
|
|
599
599
|
};
|
|
600
600
|
}
|
|
601
601
|
}), [columnWidths, globalMinWidth, maxWidth, resizableColumns, measureRef]);
|
|
@@ -199,7 +199,7 @@ export function useTableGroupedRows(config) {
|
|
|
199
199
|
onClick: toggle,
|
|
200
200
|
'aria-expanded': !collapsed
|
|
201
201
|
},
|
|
202
|
-
|
|
202
|
+
xstyle: [...props.xstyle, styles.headerRow],
|
|
203
203
|
children:
|
|
204
204
|
/*#__PURE__*/
|
|
205
205
|
// colSpan larger than the column count is clamped by the browser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableRowExpansion.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/rowExpansion/useTableRowExpansion.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,aAAa,CAAC;AAMrB;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3E,0CAA0C;IAC1C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kDAAkD;IAClD,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,sEAAsE;IACtE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC1C,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B,CAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEjC,mCAAmC;IACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,qEAAqE;IACrE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9B,kDAAkD;IAClD,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C,qDAAqD;IACrD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,+CAA+C;IAC/C,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,+BAA+B,CAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEjC,qEAAqE;IACrE,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,4DAA4D;IAC5D,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3E,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,EAAE,+BAA+B,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC,CAAC,CAyHzE;AAuGD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACpC,WAAW,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useTableRowExpansion.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/rowExpansion/useTableRowExpansion.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,aAAa,CAAC;AAMrB;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3E,0CAA0C;IAC1C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kDAAkD;IAClD,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,sEAAsE;IACtE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC1C,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B,CAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEjC,mCAAmC;IACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,qEAAqE;IACrE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9B,kDAAkD;IAClD,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C,qDAAqD;IACrD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,+CAA+C;IAC/C,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,+BAA+B,CAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEjC,qEAAqE;IACrE,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,4DAA4D;IAC5D,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3E,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,EAAE,+BAA+B,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC,CAAC,CAyHzE;AAuGD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACpC,WAAW,CAAC,CAAC,CAAC,CAwOhB"}
|
|
@@ -393,7 +393,7 @@ export function useTableRowExpansion(config) {
|
|
|
393
393
|
...props.htmlProps,
|
|
394
394
|
onClick: () => onToggle(key)
|
|
395
395
|
},
|
|
396
|
-
|
|
396
|
+
xstyle: [...props.xstyle, expansionStyles.clickableRow]
|
|
397
397
|
};
|
|
398
398
|
}
|
|
399
399
|
}), [expandedKeys, getRowKey, onToggle, getChildren, getDepth, getIsItemExpandable, hasRowClickExpansion, isAllExpanded, onToggleExpandAll, expansionColumn, t]);
|