@elliemae/ds-accordion 3.62.1 → 3.70.0-alpha.9
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/cjs/constants/index.js +3 -0
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/parts/accordionItem/DSAccordionItem.js +126 -221
- package/dist/cjs/parts/accordionItem/DSAccordionItem.js.map +2 -2
- package/dist/cjs/parts/accordionItem/ItemCustomActions.js +84 -0
- package/dist/cjs/parts/accordionItem/ItemCustomActions.js.map +7 -0
- package/dist/cjs/parts/accordionItem/ItemTitle.js +172 -0
- package/dist/cjs/parts/accordionItem/ItemTitle.js.map +7 -0
- package/dist/cjs/parts/accordionItem/styles.js +69 -14
- package/dist/cjs/parts/accordionItem/styles.js.map +2 -2
- package/dist/cjs/parts/accordionItem/useAccordionItem.js +4 -2
- package/dist/cjs/parts/accordionItem/useAccordionItem.js.map +2 -2
- package/dist/esm/constants/index.js +3 -0
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/parts/accordionItem/DSAccordionItem.js +128 -227
- package/dist/esm/parts/accordionItem/DSAccordionItem.js.map +2 -2
- package/dist/esm/parts/accordionItem/ItemCustomActions.js +54 -0
- package/dist/esm/parts/accordionItem/ItemCustomActions.js.map +7 -0
- package/dist/esm/parts/accordionItem/ItemTitle.js +142 -0
- package/dist/esm/parts/accordionItem/ItemTitle.js.map +7 -0
- package/dist/esm/parts/accordionItem/styles.js +69 -14
- package/dist/esm/parts/accordionItem/styles.js.map +2 -2
- package/dist/esm/parts/accordionItem/useAccordionItem.js +4 -2
- package/dist/esm/parts/accordionItem/useAccordionItem.js.map +2 -2
- package/dist/types/constants/index.d.ts +4 -0
- package/dist/types/parts/accordionItem/ItemCustomActions.d.ts +14 -0
- package/dist/types/parts/accordionItem/ItemTitle.d.ts +23 -0
- package/dist/types/parts/accordionItem/styles.d.ts +6 -4
- package/dist/types/parts/accordionItem/useAccordionItem.d.ts +1 -0
- package/package.json +11 -11
- package/dist/types/tests/DSAccordion.a11y.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.callback.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.data-testid.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.events.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.exports.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.get-owner-props.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.keyboard.test.d.ts +0 -1
- package/dist/types/tests/DSAccordion.test.d.ts +0 -1
- package/dist/types/typescript-testing/typescript-accordion-valid.d.ts +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/accordionItem/ItemCustomActions.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { BUTTON_TYPES, DSButtonV2 } from '@elliemae/ds-button-v2';\nimport React from 'react';\n\nimport type { DSAccordionT } from '../../react-desc-prop-types.js';\nimport type { DSAccordionInternalsT } from '../../sharedTypes.js';\nimport { StyledItemCustomActions } from './styles.js';\n\ninterface ItemCustomActionsProps {\n customActions: DSAccordionInternalsT.CustomActions[];\n renderCustomActions?: DSAccordionT.ItemOptionalProps['renderCustomActions'];\n CustomActionsComponent?: DSAccordionT.ItemOptionalProps['CustomActions'];\n isDSMobile: boolean;\n allRefs: DSAccordionInternalsT.AllChildrenReferences;\n actualActiveValue: DSAccordionInternalsT.InternalActiveValue;\n getOwnerProps: () => DSAccordionT.ItemProps;\n getOwnerPropsArguments: () => object;\n}\n\nexport const ItemCustomActions = ({\n customActions,\n renderCustomActions,\n CustomActionsComponent,\n isDSMobile,\n allRefs,\n actualActiveValue,\n getOwnerProps,\n getOwnerPropsArguments,\n}: ItemCustomActionsProps): JSX.Element | null => {\n if (isDSMobile) return null;\n\n if (customActions?.length > 0) {\n return (\n <StyledItemCustomActions\n isDSMobile={isDSMobile}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {customActions.map(({ onClick, id, ...otherProps }) => (\n <DSButtonV2\n key={id}\n onClick={(e: React.MouseEvent<HTMLElement, MouseEvent> | React.KeyboardEvent<HTMLElement>): void => {\n e.stopPropagation();\n if (onClick) onClick(e as React.MouseEvent<HTMLElement, MouseEvent>);\n }}\n {...otherProps}\n buttonType={BUTTON_TYPES.OUTLINE}\n />\n ))}\n </StyledItemCustomActions>\n );\n }\n\n if (renderCustomActions || CustomActionsComponent) {\n return (\n <StyledItemCustomActions\n isDSMobile={isDSMobile}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {CustomActionsComponent !== undefined ? (\n <CustomActionsComponent allRefs={allRefs} actualActiveValue={actualActiveValue} />\n ) : (\n renderCustomActions?.({ allRefs, actualActiveValue })\n )}\n </StyledItemCustomActions>\n );\n }\n\n return null;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsCb;AAtCV,0BAAyC;AAKzC,oBAAwC;AAajC,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAkD;AAChD,MAAI,WAAY,QAAO;AAEvB,MAAI,eAAe,SAAS,GAAG;AAC7B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QAEC,wBAAc,IAAI,CAAC,EAAE,SAAS,IAAI,GAAG,WAAW,MAC/C;AAAA,UAAC;AAAA;AAAA,YAEC,SAAS,CAAC,MAA0F;AAClG,gBAAE,gBAAgB;AAClB,kBAAI,QAAS,SAAQ,CAA8C;AAAA,YACrE;AAAA,YACC,GAAG;AAAA,YACJ,YAAY,iCAAa;AAAA;AAAA,UANpB;AAAA,QAOP,CACD;AAAA;AAAA,IACH;AAAA,EAEJ;AAEA,MAAI,uBAAuB,wBAAwB;AACjD,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QAEC,qCAA2B,SAC1B,4CAAC,0BAAuB,SAAkB,mBAAsC,IAEhF,sBAAsB,EAAE,SAAS,kBAAkB,CAAC;AAAA;AAAA,IAExD;AAAA,EAEJ;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var ItemTitle_exports = {};
|
|
30
|
+
__export(ItemTitle_exports, {
|
|
31
|
+
ItemTitle: () => ItemTitle
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(ItemTitle_exports);
|
|
34
|
+
var React = __toESM(require("react"));
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_ds_grid = require("@elliemae/ds-grid");
|
|
37
|
+
var import_styles = require("./styles.js");
|
|
38
|
+
const ItemTitleMobile = ({
|
|
39
|
+
title,
|
|
40
|
+
secondaryTitle,
|
|
41
|
+
selected,
|
|
42
|
+
disabled,
|
|
43
|
+
applyAriaDisabled,
|
|
44
|
+
wrapLabel,
|
|
45
|
+
IconOpened,
|
|
46
|
+
IconClosed,
|
|
47
|
+
onMouseEnter,
|
|
48
|
+
onMouseLeave,
|
|
49
|
+
setPrimaryElement,
|
|
50
|
+
getOwnerProps,
|
|
51
|
+
getOwnerPropsArguments
|
|
52
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { cols: ["auto", "20px"], children: [
|
|
53
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
54
|
+
import_styles.StyledItemTitles,
|
|
55
|
+
{
|
|
56
|
+
onMouseEnter,
|
|
57
|
+
onMouseLeave,
|
|
58
|
+
isDSMobile: true,
|
|
59
|
+
withSecondaryTitle: secondaryTitle,
|
|
60
|
+
selected,
|
|
61
|
+
getOwnerProps,
|
|
62
|
+
getOwnerPropsArguments,
|
|
63
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
64
|
+
import_styles.StyledPrimaryTitle,
|
|
65
|
+
{
|
|
66
|
+
innerRef: setPrimaryElement,
|
|
67
|
+
...title ? { id: `accordion_${title}id` } : void 0,
|
|
68
|
+
disabled,
|
|
69
|
+
applyAriaDisabled,
|
|
70
|
+
isDSMobile: true,
|
|
71
|
+
selected,
|
|
72
|
+
withSecondaryTitle: Boolean(secondaryTitle),
|
|
73
|
+
getOwnerProps,
|
|
74
|
+
getOwnerPropsArguments,
|
|
75
|
+
wrapLabel,
|
|
76
|
+
children: title
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
82
|
+
import_styles.StyledItemAddon,
|
|
83
|
+
{
|
|
84
|
+
disabled,
|
|
85
|
+
applyAriaDisabled,
|
|
86
|
+
isDSMobile: true,
|
|
87
|
+
getOwnerProps,
|
|
88
|
+
getOwnerPropsArguments,
|
|
89
|
+
children: selected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconOpened, { isDSMobile: true }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconClosed, { isDSMobile: true })
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] }) });
|
|
93
|
+
const ItemTitleDesktop = ({
|
|
94
|
+
title,
|
|
95
|
+
secondaryTitle,
|
|
96
|
+
value,
|
|
97
|
+
selected,
|
|
98
|
+
disabled,
|
|
99
|
+
applyAriaDisabled,
|
|
100
|
+
wrapLabel,
|
|
101
|
+
IconOpened,
|
|
102
|
+
IconClosed,
|
|
103
|
+
onMouseEnter,
|
|
104
|
+
onMouseLeave,
|
|
105
|
+
setPrimaryElement,
|
|
106
|
+
setSecondaryElement,
|
|
107
|
+
getOwnerProps,
|
|
108
|
+
getOwnerPropsArguments
|
|
109
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
110
|
+
import_ds_grid.Grid,
|
|
111
|
+
{
|
|
112
|
+
onMouseEnter,
|
|
113
|
+
onMouseLeave,
|
|
114
|
+
cols: ["auto", "1fr"],
|
|
115
|
+
padding: "6px 0px",
|
|
116
|
+
marginRight: "20px",
|
|
117
|
+
width: "100%",
|
|
118
|
+
children: [
|
|
119
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
120
|
+
import_styles.StyledItemAddon,
|
|
121
|
+
{
|
|
122
|
+
disabled,
|
|
123
|
+
applyAriaDisabled,
|
|
124
|
+
getOwnerProps,
|
|
125
|
+
getOwnerPropsArguments,
|
|
126
|
+
children: selected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconOpened, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconClosed, {})
|
|
127
|
+
}
|
|
128
|
+
),
|
|
129
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { rows: secondaryTitle ? ["auto", "auto"] : ["auto"], rowGap: secondaryTitle ? "3px" : "0px", children: [
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
131
|
+
import_styles.StyledItemTitles,
|
|
132
|
+
{
|
|
133
|
+
withSecondaryTitle: secondaryTitle,
|
|
134
|
+
selected,
|
|
135
|
+
getOwnerProps,
|
|
136
|
+
getOwnerPropsArguments,
|
|
137
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
138
|
+
import_styles.StyledPrimaryTitle,
|
|
139
|
+
{
|
|
140
|
+
innerRef: setPrimaryElement,
|
|
141
|
+
...title ? { id: `accordion_${title}id-${value}` } : void 0,
|
|
142
|
+
disabled,
|
|
143
|
+
applyAriaDisabled,
|
|
144
|
+
selected,
|
|
145
|
+
withSecondaryTitle: Boolean(secondaryTitle),
|
|
146
|
+
getOwnerProps,
|
|
147
|
+
getOwnerPropsArguments,
|
|
148
|
+
wrapLabel,
|
|
149
|
+
children: title
|
|
150
|
+
}
|
|
151
|
+
)
|
|
152
|
+
}
|
|
153
|
+
),
|
|
154
|
+
secondaryTitle && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
155
|
+
import_styles.StyledSecondaryTitle,
|
|
156
|
+
{
|
|
157
|
+
innerRef: setSecondaryElement,
|
|
158
|
+
disabled,
|
|
159
|
+
applyAriaDisabled,
|
|
160
|
+
selected,
|
|
161
|
+
getOwnerProps,
|
|
162
|
+
getOwnerPropsArguments,
|
|
163
|
+
wrapLabel,
|
|
164
|
+
children: secondaryTitle
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
] })
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
const ItemTitle = (props) => props.isDSMobile ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ItemTitleMobile, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ItemTitleDesktop, { ...props });
|
|
172
|
+
//# sourceMappingURL=ItemTitle.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/accordionItem/ItemTitle.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { Grid } from '@elliemae/ds-grid';\nimport React from 'react';\n\nimport type { DSAccordionT } from '../../react-desc-prop-types.js';\nimport type { DSAccordionInternalsT } from '../../sharedTypes.js';\nimport { StyledItemAddon, StyledItemTitles, StyledPrimaryTitle, StyledSecondaryTitle } from './styles.js';\n\ninterface ItemTitleProps {\n title: string;\n secondaryTitle?: string;\n value: string | number;\n selected: boolean;\n disabled: boolean;\n applyAriaDisabled: boolean;\n wrapLabel: boolean;\n isDSMobile: boolean;\n IconOpened: React.MemoExoticComponent<React.FunctionComponent<DSAccordionInternalsT.DefaultIconProps>>;\n IconClosed: React.MemoExoticComponent<React.FunctionComponent<DSAccordionInternalsT.DefaultIconProps>>;\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n setPrimaryElement: React.Dispatch<React.SetStateAction<HTMLElement | null | undefined>>;\n setSecondaryElement: React.Dispatch<React.SetStateAction<HTMLElement | null | undefined>>;\n getOwnerProps: () => DSAccordionT.ItemProps;\n getOwnerPropsArguments: () => object;\n}\n\nconst ItemTitleMobile = ({\n title,\n secondaryTitle,\n selected,\n disabled,\n applyAriaDisabled,\n wrapLabel,\n IconOpened,\n IconClosed,\n onMouseEnter,\n onMouseLeave,\n setPrimaryElement,\n getOwnerProps,\n getOwnerPropsArguments,\n}: Omit<ItemTitleProps, 'isDSMobile' | 'value' | 'setSecondaryElement'>): JSX.Element => (\n <Grid width=\"100%\">\n <Grid cols={['auto', '20px']}>\n <StyledItemTitles\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n isDSMobile\n withSecondaryTitle={secondaryTitle}\n selected={selected}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledPrimaryTitle\n innerRef={setPrimaryElement}\n {...(title ? { id: `accordion_${title}id` } : undefined)}\n disabled={disabled}\n applyAriaDisabled={applyAriaDisabled}\n isDSMobile\n selected={selected}\n withSecondaryTitle={Boolean(secondaryTitle)}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n wrapLabel={wrapLabel}\n >\n {title}\n </StyledPrimaryTitle>\n </StyledItemTitles>\n <StyledItemAddon\n disabled={disabled}\n applyAriaDisabled={applyAriaDisabled}\n isDSMobile\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {selected ? <IconOpened isDSMobile /> : <IconClosed isDSMobile />}\n </StyledItemAddon>\n </Grid>\n </Grid>\n);\n\nconst ItemTitleDesktop = ({\n title,\n secondaryTitle,\n value,\n selected,\n disabled,\n applyAriaDisabled,\n wrapLabel,\n IconOpened,\n IconClosed,\n onMouseEnter,\n onMouseLeave,\n setPrimaryElement,\n setSecondaryElement,\n getOwnerProps,\n getOwnerPropsArguments,\n}: Omit<ItemTitleProps, 'isDSMobile'>): JSX.Element => (\n <Grid\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n cols={['auto', '1fr']}\n padding=\"6px 0px\"\n marginRight=\"20px\"\n width=\"100%\"\n >\n <StyledItemAddon\n disabled={disabled}\n applyAriaDisabled={applyAriaDisabled}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {selected ? <IconOpened /> : <IconClosed />}\n </StyledItemAddon>\n <Grid rows={secondaryTitle ? ['auto', 'auto'] : ['auto']} rowGap={secondaryTitle ? '3px' : '0px'}>\n <StyledItemTitles\n withSecondaryTitle={secondaryTitle}\n selected={selected}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledPrimaryTitle\n innerRef={setPrimaryElement}\n {...(title ? { id: `accordion_${title}id-${value}` } : undefined)}\n disabled={disabled}\n applyAriaDisabled={applyAriaDisabled}\n selected={selected}\n withSecondaryTitle={Boolean(secondaryTitle)}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n wrapLabel={wrapLabel}\n >\n {title}\n </StyledPrimaryTitle>\n </StyledItemTitles>\n {secondaryTitle && (\n <StyledSecondaryTitle\n innerRef={setSecondaryElement}\n disabled={disabled}\n applyAriaDisabled={applyAriaDisabled}\n selected={selected}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n wrapLabel={wrapLabel}\n >\n {secondaryTitle}\n </StyledSecondaryTitle>\n )}\n </Grid>\n </Grid>\n);\n\nexport const ItemTitle = (props: ItemTitleProps): JSX.Element =>\n props.isDSMobile ? <ItemTitleMobile {...props} /> : <ItemTitleDesktop {...props} />;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0CnB;AA1CJ,qBAAqB;AAKrB,oBAA4F;AAqB5F,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,4CAAC,uBAAK,OAAM,QACV,uDAAC,uBAAK,MAAM,CAAC,QAAQ,MAAM,GACzB;AAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,YAAU;AAAA,MACV,oBAAoB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,UAAU;AAAA,UACT,GAAI,QAAQ,EAAE,IAAI,aAAa,KAAK,KAAK,IAAI;AAAA,UAC9C;AAAA,UACA;AAAA,UACA,YAAU;AAAA,UACV;AAAA,UACA,oBAAoB,QAAQ,cAAc;AAAA,UAC1C;AAAA,UACA;AAAA,UACA;AAAA,UAEC;AAAA;AAAA,MACH;AAAA;AAAA,EACF;AAAA,EACA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,YAAU;AAAA,MACV;AAAA,MACA;AAAA,MAEC,qBAAW,4CAAC,cAAW,YAAU,MAAC,IAAK,4CAAC,cAAW,YAAU,MAAC;AAAA;AAAA,EACjE;AAAA,GACF,GACF;AAGF,MAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA,MAAM,CAAC,QAAQ,KAAK;AAAA,IACpB,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UAEC,qBAAW,4CAAC,cAAW,IAAK,4CAAC,cAAW;AAAA;AAAA,MAC3C;AAAA,MACA,6CAAC,uBAAK,MAAM,iBAAiB,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,GAAG,QAAQ,iBAAiB,QAAQ,OACzF;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAoB;AAAA,YACpB;AAAA,YACA;AAAA,YACA;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACC,UAAU;AAAA,gBACT,GAAI,QAAQ,EAAE,IAAI,aAAa,KAAK,MAAM,KAAK,GAAG,IAAI;AAAA,gBACvD;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,oBAAoB,QAAQ,cAAc;AAAA,gBAC1C;AAAA,gBACA;AAAA,gBACA;AAAA,gBAEC;AAAA;AAAA,YACH;AAAA;AAAA,QACF;AAAA,QACC,kBACC;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAEC;AAAA;AAAA,QACH;AAAA,SAEJ;AAAA;AAAA;AACF;AAGK,MAAM,YAAY,CAAC,UACxB,MAAM,aAAa,4CAAC,mBAAiB,GAAG,OAAO,IAAK,4CAAC,oBAAkB,GAAG,OAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -32,6 +32,7 @@ __export(styles_exports, {
|
|
|
32
32
|
StyledItemContainer: () => StyledItemContainer,
|
|
33
33
|
StyledItemContent: () => StyledItemContent,
|
|
34
34
|
StyledItemCustomActions: () => StyledItemCustomActions,
|
|
35
|
+
StyledItemDetails: () => StyledItemDetails,
|
|
35
36
|
StyledItemHeader: () => StyledItemHeader,
|
|
36
37
|
StyledItemHeaderContainer: () => StyledItemHeaderContainer,
|
|
37
38
|
StyledItemTitles: () => StyledItemTitles,
|
|
@@ -48,17 +49,41 @@ const StyledItemContainer = (0, import_ds_system.styled)("div", {
|
|
|
48
49
|
slot: import_constants.DSAccordionItemSlots.ITEM_CONTAINER
|
|
49
50
|
})`
|
|
50
51
|
display: grid;
|
|
51
|
-
grid-template-
|
|
52
|
+
grid-template-columns: minmax(0, 1fr) max-content;
|
|
53
|
+
grid-template-areas:
|
|
54
|
+
'heading actions'
|
|
55
|
+
'content content';
|
|
52
56
|
border-bottom: 1px solid ${({ theme }) => theme.colors.neutral[200]};
|
|
53
57
|
align-items: center;
|
|
54
58
|
min-width: 240px;
|
|
55
|
-
|
|
59
|
+
position: relative;
|
|
60
|
+
|
|
61
|
+
&::before {
|
|
62
|
+
content: '';
|
|
63
|
+
grid-area: 1 / 1 / 2 / -1;
|
|
64
|
+
align-self: stretch;
|
|
65
|
+
justify-self: stretch;
|
|
66
|
+
border-radius: 2px;
|
|
67
|
+
pointer-events: none;
|
|
68
|
+
box-sizing: border-box;
|
|
69
|
+
}
|
|
70
|
+
&:hover::before {
|
|
71
|
+
${({ disabled, applyAriaDisabled, theme }) => !disabled && !applyAriaDisabled ? `background: ${theme.colors.brand[200]};` : ``}
|
|
72
|
+
}
|
|
73
|
+
|
|
56
74
|
${import_ds_system.xStyledCommonProps};
|
|
57
75
|
`;
|
|
58
|
-
const
|
|
76
|
+
const StyledItemDetails = (0, import_ds_system.styled)("details", {
|
|
77
|
+
name: import_constants.DSAccordionName,
|
|
78
|
+
slot: import_constants.DSAccordionItemSlots.ITEM_DETAILS
|
|
79
|
+
})`
|
|
80
|
+
display: contents;
|
|
81
|
+
`;
|
|
82
|
+
const StyledItemHeader = (0, import_ds_system.styled)("summary", {
|
|
59
83
|
name: import_constants.DSAccordionName,
|
|
60
84
|
slot: import_constants.DSAccordionItemSlots.ITEM_HEADER
|
|
61
85
|
})`
|
|
86
|
+
grid-area: heading;
|
|
62
87
|
display: flex;
|
|
63
88
|
min-height: ${({ theme, withSecondaryTitle, isDSMobile }) => isDSMobile ? `44px` : `${withSecondaryTitle ? theme.space.m : theme.space.s}`};
|
|
64
89
|
width: 100%;
|
|
@@ -66,9 +91,13 @@ const StyledItemHeader = (0, import_ds_system.styled)("button", {
|
|
|
66
91
|
border: none;
|
|
67
92
|
outline: none;
|
|
68
93
|
background: none;
|
|
94
|
+
list-style: none;
|
|
95
|
+
position: relative;
|
|
96
|
+
&::-webkit-details-marker {
|
|
97
|
+
display: none;
|
|
98
|
+
}
|
|
69
99
|
&:hover {
|
|
70
|
-
cursor: ${({ disabled }) => disabled ? "not-allowed" : "pointer"};
|
|
71
|
-
cursor: ${({ applyAriaDisabled }) => applyAriaDisabled ? "not-allowed" : "pointer"};
|
|
100
|
+
cursor: ${({ disabled, applyAriaDisabled }) => disabled || applyAriaDisabled ? "not-allowed" : "pointer"};
|
|
72
101
|
}
|
|
73
102
|
padding: ${({ isDSMobile }) => isDSMobile ? `0 16px` : `0`};
|
|
74
103
|
&:focus {
|
|
@@ -79,9 +108,10 @@ const StyledItemHeader = (0, import_ds_system.styled)("button", {
|
|
|
79
108
|
top: 0;
|
|
80
109
|
width: 100%;
|
|
81
110
|
height: 100%;
|
|
82
|
-
border-radius: 2px;
|
|
83
111
|
border: 2px solid ${({ theme }) => theme.colors.brand[700]};
|
|
84
112
|
pointer-events: none;
|
|
113
|
+
z-index: 2;
|
|
114
|
+
${({ withCustomActions }) => withCustomActions ? `border-right: none; border-radius: 2px 0 0 2px;` : `border-radius: 2px;`}
|
|
85
115
|
}
|
|
86
116
|
}
|
|
87
117
|
`;
|
|
@@ -89,6 +119,7 @@ const StyledItemContent = (0, import_ds_system.styled)("div", {
|
|
|
89
119
|
name: import_constants.DSAccordionName,
|
|
90
120
|
slot: import_constants.DSAccordionItemSlots.ITEM_CONTENT_CONTAINER
|
|
91
121
|
})`
|
|
122
|
+
grid-area: content;
|
|
92
123
|
padding: ${({ isDSMobile }) => isDSMobile ? `3px 16px 24px 16px` : "16px 20px"};
|
|
93
124
|
${({ selected, keepContentMounted }) => {
|
|
94
125
|
if (selected) return "";
|
|
@@ -168,26 +199,50 @@ const StyledItemCustomActions = (0, import_ds_system.styled)("div", {
|
|
|
168
199
|
name: import_constants.DSAccordionName,
|
|
169
200
|
slot: import_constants.DSAccordionItemSlots.ITEM_HEADER_CUSTOM_ACTIONS_CONTAINER
|
|
170
201
|
})`
|
|
202
|
+
grid-area: actions;
|
|
203
|
+
position: relative;
|
|
204
|
+
align-self: stretch;
|
|
205
|
+
z-index: 1;
|
|
171
206
|
display: grid;
|
|
172
207
|
grid-auto-flow: column;
|
|
173
208
|
place-items: center;
|
|
174
209
|
grid-gap: ${({ theme }) => theme.space.xxs};
|
|
175
210
|
margin: ${({ theme, isDSMobile }) => isDSMobile ? `0 ${theme.space.xs}` : `0 20px 0 0`};
|
|
176
211
|
justify-content: flex-end;
|
|
177
|
-
height: 28px;
|
|
212
|
+
min-height: 28px;
|
|
213
|
+
|
|
214
|
+
&::after {
|
|
215
|
+
content: '';
|
|
216
|
+
position: absolute;
|
|
217
|
+
top: 0;
|
|
218
|
+
bottom: 0;
|
|
219
|
+
left: 0;
|
|
220
|
+
right: -20px;
|
|
221
|
+
border: 2px solid transparent;
|
|
222
|
+
border-left: none;
|
|
223
|
+
border-radius: 0 2px 2px 0;
|
|
224
|
+
pointer-events: none;
|
|
225
|
+
z-index: 2;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/* Right half of the focus ring lights up when the sibling summary (inside the
|
|
229
|
+
display:contents <details>) is focused. Replaces the pre-migration
|
|
230
|
+
header-container:focus-within selector now that the trigger moved into
|
|
231
|
+
<details>. */
|
|
232
|
+
${StyledItemDetails}:focus-within + &::after {
|
|
233
|
+
border-color: ${({ theme }) => theme.colors.brand[700]};
|
|
234
|
+
}
|
|
178
235
|
`;
|
|
179
236
|
const StyledItemHeaderContainer = (0, import_ds_system.styled)("div", {
|
|
180
237
|
name: import_constants.DSAccordionName,
|
|
181
238
|
slot: import_constants.DSAccordionItemSlots.ITEM_HEADER_CONTAINER
|
|
182
239
|
})`
|
|
183
|
-
display: grid;
|
|
184
|
-
grid-template-columns: auto max-content;
|
|
185
|
-
place-items: center;
|
|
186
240
|
position: relative;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
241
|
+
align-self: stretch;
|
|
242
|
+
min-width: 0;
|
|
243
|
+
width: 100%;
|
|
244
|
+
display: flex;
|
|
245
|
+
align-items: center;
|
|
191
246
|
`;
|
|
192
247
|
const StyledTooltipContent = (0, import_ds_system.styled)("div", {
|
|
193
248
|
name: import_constants.DSAccordionName,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/accordionItem/styles.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport { styled, xStyledCommonProps } from '@elliemae/ds-system';\nimport { DSAccordionName, DSAccordionItemSlots } from '../../constants/index.js';\ninterface StyledItemHeaderPropsT {\n withCustomActions: boolean;\n withSecondaryTitle?: string;\n isDSMobile?: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface StyledItemTitlesPropsT {\n withSecondaryTitle?: string;\n isDSMobile?: boolean;\n selected: boolean;\n}\n\ninterface StyledPrimaryTitlePropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n isDSMobile?: boolean;\n selected: boolean;\n withSecondaryTitle: boolean;\n wrapLabel: boolean;\n}\n\ninterface StyledItemContentPropsT {\n isDSMobile?: boolean;\n selected?: boolean;\n keepContentMounted: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface StyledSecondaryTitlePropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n selected: boolean;\n wrapLabel: boolean;\n}\n\ninterface StyledItemAddonPropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n isDSMobile?: boolean;\n}\n\ninterface
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,uBAA2C;AAC3C,uBAAsD;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport { styled, xStyledCommonProps } from '@elliemae/ds-system';\nimport { DSAccordionName, DSAccordionItemSlots } from '../../constants/index.js';\ninterface StyledItemHeaderPropsT {\n withCustomActions: boolean;\n withSecondaryTitle?: string;\n isDSMobile?: boolean;\n disabled?: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface StyledItemTitlesPropsT {\n withSecondaryTitle?: string;\n isDSMobile?: boolean;\n selected: boolean;\n}\n\ninterface StyledPrimaryTitlePropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n isDSMobile?: boolean;\n selected: boolean;\n withSecondaryTitle: boolean;\n wrapLabel: boolean;\n}\n\ninterface StyledItemContentPropsT {\n isDSMobile?: boolean;\n selected?: boolean;\n keepContentMounted: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface StyledSecondaryTitlePropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n selected: boolean;\n wrapLabel: boolean;\n}\n\ninterface StyledItemAddonPropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n isDSMobile?: boolean;\n}\n\ninterface StyledItemContainerPropsT {\n disabled: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface StyledItemCustomActionsPropsT {\n isDSMobile?: boolean;\n}\n\nexport const StyledItemContainer = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_CONTAINER,\n})<StyledItemContainerPropsT>`\n display: grid;\n grid-template-columns: minmax(0, 1fr) max-content;\n grid-template-areas:\n 'heading actions'\n 'content content';\n border-bottom: 1px solid ${({ theme }) => theme.colors.neutral[200]};\n align-items: center;\n min-width: 240px;\n position: relative;\n\n &::before {\n content: '';\n grid-area: 1 / 1 / 2 / -1;\n align-self: stretch;\n justify-self: stretch;\n border-radius: 2px;\n pointer-events: none;\n box-sizing: border-box;\n }\n &:hover::before {\n ${({ disabled, applyAriaDisabled, theme }) =>\n !disabled && !applyAriaDisabled ? `background: ${theme.colors.brand[200]};` : ``}\n }\n\n ${xStyledCommonProps};\n`;\n\n// The `<details>` wrapper is styled with `display: contents` so its children\n// (the summary trigger + the content panel) participate directly in the item\n// container's grid, exactly as the button/content siblings did before the\n// native-engine migration. It carries the additive ITEM_DETAILS slot.\nexport const StyledItemDetails = styled('details', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_DETAILS,\n})`\n display: contents;\n`;\n\n// Trigger element. Migrated from <button> to <summary> to adopt the native\n// disclosure pattern. Keeps the ITEM_HEADER slot/testid and the focus-ring\n// treatment. Summary defaults (list marker, default cursor) are reset here.\nexport const StyledItemHeader = styled('summary', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER,\n})<StyledItemHeaderPropsT>`\n grid-area: heading;\n display: flex;\n min-height: ${({ theme, withSecondaryTitle, isDSMobile }) =>\n isDSMobile ? `44px` : `${withSecondaryTitle ? theme.space.m : theme.space.s}`};\n width: 100%;\n align-items: center;\n border: none;\n outline: none;\n background: none;\n list-style: none;\n position: relative;\n &::-webkit-details-marker {\n display: none;\n }\n &:hover {\n cursor: ${({ disabled, applyAriaDisabled }) => (disabled || applyAriaDisabled ? 'not-allowed' : 'pointer')};\n }\n padding: ${({ isDSMobile }) => (isDSMobile ? `0 16px` : `0`)};\n &:focus {\n &:after {\n position: absolute;\n content: '';\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n pointer-events: none;\n z-index: 2;\n ${({ withCustomActions }) =>\n withCustomActions ? `border-right: none; border-radius: 2px 0 0 2px;` : `border-radius: 2px;`}\n }\n }\n`;\n\nexport const StyledItemContent = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_CONTENT_CONTAINER,\n})<StyledItemContentPropsT>`\n grid-area: content;\n padding: ${({ isDSMobile }) => (isDSMobile ? `3px 16px 24px 16px` : '16px 20px')};\n ${({ selected, keepContentMounted }) => {\n if (selected) return '';\n return keepContentMounted ? 'visibility: hidden; height: 0px; padding: 0px;' : '';\n }}\n color: ${({ applyAriaDisabled, theme }) =>\n applyAriaDisabled ? theme.colors.neutral[500] : theme.colors.neutral[700]};\n ${xStyledCommonProps};\n`;\n\nexport const StyledItemAddon = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_ADDON,\n})<StyledItemAddonPropsT>`\n height: 100%;\n display: grid;\n place-items: flex-start;\n & .em-ds-icon svg {\n fill: ${({ disabled, applyAriaDisabled, theme }) =>\n disabled || applyAriaDisabled ? theme.colors.neutral[200] : theme.colors.brand[800]};\n }\n`;\n\nexport const StyledItemTitles = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_TITLE_CONTAINER,\n})<StyledItemTitlesPropsT>`\n display: grid;\n grid-gap: ${({ theme }) => theme.space.xxxs};\n grid-template-columns: 100%;\n width: 100%;\n align-content: center;\n`;\n\nexport const StyledPrimaryTitle = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_PRIMARY_TITLE,\n})<StyledPrimaryTitlePropsT>`\n margin: 0;\n font-size: 16px;\n line-height: 1.125;\n text-align: left;\n text-overflow: ellipsis;\n min-height: ${({ theme }) => theme.space.xs};\n color: ${({ disabled, applyAriaDisabled, theme }) =>\n disabled || applyAriaDisabled ? theme.colors.neutral[500] : theme.colors.neutral[700]};\n font-weight: ${({ theme, isDSMobile }) => (isDSMobile ? theme.fontWeights.semibold : theme.fontWeights.regular)};\n ${({ selected }) =>\n selected\n ? `word-break: break-word;`\n : `\n overflow: hidden;\n white-space: nowrap;\n `};\n ${({ wrapLabel }) =>\n wrapLabel &&\n `\n overflow-wrap: break-word;\n white-space: pre-wrap;\n word-break: break-word;\n`};\n width: 100%;\n display: block;\n`;\n\nexport const StyledSecondaryTitle = styled('span', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_SECONDARY_TITLE,\n})<StyledSecondaryTitlePropsT>`\n margin: 0;\n font-size: ${({ theme }) => theme.fontSizes.label[200]};\n line-height: 1.273;\n text-align: left;\n min-height: 12px;\n color: ${({ disabled, applyAriaDisabled, theme }) =>\n disabled || applyAriaDisabled ? theme.colors.neutral[500] : theme.colors.neutral[700]};\n text-overflow: ellipsis;\n ${({ selected }) =>\n selected\n ? `word-break: break-word;`\n : `\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n display: block;`}\n ${({ wrapLabel }) =>\n wrapLabel &&\n `\n overflow-wrap: break-word;\n white-space: pre-wrap;\n word-break: break-word;\n`};\n`;\n\nexport const StyledItemCustomActions = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_CUSTOM_ACTIONS_CONTAINER,\n})<StyledItemCustomActionsPropsT>`\n grid-area: actions;\n position: relative;\n align-self: stretch;\n z-index: 1;\n display: grid;\n grid-auto-flow: column;\n place-items: center;\n grid-gap: ${({ theme }) => theme.space.xxs};\n margin: ${({ theme, isDSMobile }) => (isDSMobile ? `0 ${theme.space.xs}` : `0 20px 0 0`)};\n justify-content: flex-end;\n min-height: 28px;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: -20px;\n border: 2px solid transparent;\n border-left: none;\n border-radius: 0 2px 2px 0;\n pointer-events: none;\n z-index: 2;\n }\n\n /* Right half of the focus ring lights up when the sibling summary (inside the\n display:contents <details>) is focused. Replaces the pre-migration\n header-container:focus-within selector now that the trigger moved into\n <details>. */\n ${StyledItemDetails}:focus-within + &::after {\n border-color: ${({ theme }) => theme.colors.brand[700]};\n }\n`;\n\n// Heading wrapper. Now nested inside the <summary> trigger (native disclosure\n// pattern places the heading inside the summary). Consumers still apply heading\n// semantics through the dsAccordionItemHeaderContainer slot prop\n// (role=\"heading\" + aria-level), exactly as before the migration.\nexport const StyledItemHeaderContainer = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_CONTAINER,\n})`\n position: relative;\n align-self: stretch;\n min-width: 0;\n width: 100%;\n display: flex;\n align-items: center;\n`;\n\nexport const StyledTooltipContent = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionItemSlots.ITEM_HEADER_TOOLTIP,\n})`\n padding: 8px;\n width: 250px;\n background: white;\n display: grid;\n gap: ${({ theme }) => theme.space.xxs};\n\n p {\n margin: 0;\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -46,12 +46,13 @@ const useAccordionItem = ({
|
|
|
46
46
|
}
|
|
47
47
|
return value === actualActiveValue;
|
|
48
48
|
}, [actualActiveValue, value]);
|
|
49
|
-
const
|
|
49
|
+
const toggle = (0, import_react.useCallback)(
|
|
50
50
|
(e) => {
|
|
51
51
|
if (!disabled && !applyAriaDisabled) setActiveValues(value, e);
|
|
52
52
|
},
|
|
53
|
-
[disabled, setActiveValues, value
|
|
53
|
+
[disabled, applyAriaDisabled, setActiveValues, value]
|
|
54
54
|
);
|
|
55
|
+
const handleOnClick = (0, import_react.useCallback)((e) => toggle(e), [toggle]);
|
|
55
56
|
const handleOnKeyDown = (0, import_react.useCallback)(
|
|
56
57
|
(e, _dsIndex) => {
|
|
57
58
|
if (!disabled && e.key === "ArrowDown") {
|
|
@@ -76,6 +77,7 @@ const useAccordionItem = ({
|
|
|
76
77
|
return {
|
|
77
78
|
handleOnClick,
|
|
78
79
|
handleOnKeyDown,
|
|
80
|
+
toggle,
|
|
79
81
|
selected
|
|
80
82
|
};
|
|
81
83
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/accordionItem/useAccordionItem.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type React from 'react';\nimport { useCallback, useContext, useMemo } from 'react';\nimport { DSAccordionContext } from '../../DSAccordionCTX.js';\n\nexport interface UseAccordionItemPropsT {\n value: string | number;\n disabled: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface UseAccordionItemReturnTypeT {\n handleOnClick: (e: React.MouseEvent) => void;\n handleOnKeyDown: (e: React.KeyboardEvent, dsIndex: number) => void;\n selected: boolean;\n}\n\nexport const useAccordionItem = ({\n value,\n disabled,\n applyAriaDisabled,\n}: UseAccordionItemPropsT): UseAccordionItemReturnTypeT => {\n const { actualActiveValue, setActiveValues, focusableChildrenReferences } = useContext(DSAccordionContext);\n\n const selected = useMemo(() => {\n if (Array.isArray(actualActiveValue)) {\n return actualActiveValue.some((currentValue) => currentValue === value);\n }\n return value === actualActiveValue;\n }, [actualActiveValue, value]);\n\n const
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAiD;AACjD,4BAAmC;
|
|
4
|
+
"sourcesContent": ["import type React from 'react';\nimport { useCallback, useContext, useMemo } from 'react';\nimport { DSAccordionContext } from '../../DSAccordionCTX.js';\n\nexport interface UseAccordionItemPropsT {\n value: string | number;\n disabled: boolean;\n applyAriaDisabled: boolean;\n}\n\ninterface UseAccordionItemReturnTypeT {\n handleOnClick: (e: React.MouseEvent) => void;\n handleOnKeyDown: (e: React.KeyboardEvent, dsIndex: number) => void;\n toggle: (e: React.MouseEvent | React.KeyboardEvent) => void;\n selected: boolean;\n}\n\nexport const useAccordionItem = ({\n value,\n disabled,\n applyAriaDisabled,\n}: UseAccordionItemPropsT): UseAccordionItemReturnTypeT => {\n const { actualActiveValue, setActiveValues, focusableChildrenReferences } = useContext(DSAccordionContext);\n\n const selected = useMemo(() => {\n if (Array.isArray(actualActiveValue)) {\n return actualActiveValue.some((currentValue) => currentValue === value);\n }\n return value === actualActiveValue;\n }, [actualActiveValue, value]);\n\n // Unified toggle usable from both pointer and keyboard events. The <summary>\n // trigger (native disclosure) does not synthesize a click on Enter/Space the\n // way the old <button> did, so the keydown handler calls this directly.\n const toggle = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (!disabled && !applyAriaDisabled) setActiveValues(value, e);\n },\n [disabled, applyAriaDisabled, setActiveValues, value],\n );\n\n const handleOnClick = useCallback((e: React.MouseEvent) => toggle(e), [toggle]);\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent, _dsIndex: number) => {\n if (!disabled && e.key === 'ArrowDown') {\n const currentIndex = focusableChildrenReferences.findIndex((item) => item.index === _dsIndex);\n if (focusableChildrenReferences[currentIndex + 1]?.ref?.current)\n focusableChildrenReferences[currentIndex + 1]?.ref?.current?.focus();\n else if (currentIndex === focusableChildrenReferences.length - 1) {\n focusableChildrenReferences[0]?.ref?.current?.focus();\n }\n }\n\n if (!disabled && e.key === 'ArrowUp') {\n const currentIndex = focusableChildrenReferences.findIndex((item) => item.index === _dsIndex);\n if (focusableChildrenReferences[currentIndex - 1]?.ref?.current)\n focusableChildrenReferences[currentIndex - 1]?.ref?.current?.focus();\n else if (currentIndex === 0) {\n focusableChildrenReferences[focusableChildrenReferences.length - 1]?.ref?.current?.focus();\n }\n }\n },\n [disabled, focusableChildrenReferences],\n );\n\n return {\n handleOnClick,\n handleOnKeyDown,\n toggle,\n selected,\n };\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAiD;AACjD,4BAAmC;AAe5B,MAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAA2D;AACzD,QAAM,EAAE,mBAAmB,iBAAiB,4BAA4B,QAAI,yBAAW,wCAAkB;AAEzG,QAAM,eAAW,sBAAQ,MAAM;AAC7B,QAAI,MAAM,QAAQ,iBAAiB,GAAG;AACpC,aAAO,kBAAkB,KAAK,CAAC,iBAAiB,iBAAiB,KAAK;AAAA,IACxE;AACA,WAAO,UAAU;AAAA,EACnB,GAAG,CAAC,mBAAmB,KAAK,CAAC;AAK7B,QAAM,aAAS;AAAA,IACb,CAAC,MAA8C;AAC7C,UAAI,CAAC,YAAY,CAAC,kBAAmB,iBAAgB,OAAO,CAAC;AAAA,IAC/D;AAAA,IACA,CAAC,UAAU,mBAAmB,iBAAiB,KAAK;AAAA,EACtD;AAEA,QAAM,oBAAgB,0BAAY,CAAC,MAAwB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AAE9E,QAAM,sBAAkB;AAAA,IACtB,CAAC,GAAwB,aAAqB;AAC5C,UAAI,CAAC,YAAY,EAAE,QAAQ,aAAa;AACtC,cAAM,eAAe,4BAA4B,UAAU,CAAC,SAAS,KAAK,UAAU,QAAQ;AAC5F,YAAI,4BAA4B,eAAe,CAAC,GAAG,KAAK;AACtD,sCAA4B,eAAe,CAAC,GAAG,KAAK,SAAS,MAAM;AAAA,iBAC5D,iBAAiB,4BAA4B,SAAS,GAAG;AAChE,sCAA4B,CAAC,GAAG,KAAK,SAAS,MAAM;AAAA,QACtD;AAAA,MACF;AAEA,UAAI,CAAC,YAAY,EAAE,QAAQ,WAAW;AACpC,cAAM,eAAe,4BAA4B,UAAU,CAAC,SAAS,KAAK,UAAU,QAAQ;AAC5F,YAAI,4BAA4B,eAAe,CAAC,GAAG,KAAK;AACtD,sCAA4B,eAAe,CAAC,GAAG,KAAK,SAAS,MAAM;AAAA,iBAC5D,iBAAiB,GAAG;AAC3B,sCAA4B,4BAA4B,SAAS,CAAC,GAAG,KAAK,SAAS,MAAM;AAAA,QAC3F;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,UAAU,2BAA2B;AAAA,EACxC;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -7,6 +7,9 @@ const ACCORDION_SLOTS = {
|
|
|
7
7
|
const DSAccordionSlots = ACCORDION_SLOTS;
|
|
8
8
|
const ACCORDION_ITEM_SLOTS = {
|
|
9
9
|
ITEM_CONTAINER: "item-container",
|
|
10
|
+
// additive slot: wraps the summary + content as a native <details> disclosure.
|
|
11
|
+
// New in the native-engine migration — not a breaking change (did not exist before).
|
|
12
|
+
ITEM_DETAILS: "item-details",
|
|
10
13
|
ITEM_HEADER_CONTAINER: "item-header-container",
|
|
11
14
|
ITEM_HEADER: "item-header",
|
|
12
15
|
ITEM_HEADER_ADDON: "item-header-addon",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/constants/index.ts"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSAccordionName = 'DSAccordion';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const ACCORDION_SLOTS = {\n CONTAINER: 'root',\n} as const;\nexport const DSAccordionSlots = ACCORDION_SLOTS;\n\nexport const ACCORDION_ITEM_SLOTS = {\n ITEM_CONTAINER: 'item-container',\n ITEM_HEADER_CONTAINER: 'item-header-container',\n ITEM_HEADER: 'item-header',\n ITEM_HEADER_ADDON: 'item-header-addon',\n ITEM_HEADER_TITLE_CONTAINER: 'item-header-titles-container',\n ITEM_HEADER_PRIMARY_TITLE: 'item-header-primary-title',\n ITEM_HEADER_SECONDARY_TITLE: 'item-header-secondary-title',\n ITEM_HEADER_CUSTOM_ACTIONS_CONTAINER: 'item-header-custom-actions-container',\n ITEM_HEADER_TOOLTIP: 'item-header-tooltip',\n ITEM_CONTENT_CONTAINER: 'item-content-container',\n} as const;\nexport const DSAccordionItemSlots = ACCORDION_ITEM_SLOTS;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const ACCORDION_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSAccordionName, ACCORDION_SLOTS),\n ...slotObjectToDataTestIds(DSAccordionName, ACCORDION_ITEM_SLOTS),\n ITEM_CONTENT_CONTAINER: 'ds-accordion_item-content',\n ITEM_HEADER: 'ds-accordion_item-header',\n ITEM_CONTAINER: 'ds-accordion_item',\n CONTAINER: 'ds-accordion_group',\n};\nexport const DSAccordionDataTestid = ACCORDION_DATA_TESTID;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,kBAAkB;AAGxB,MAAM,kBAAkB;AAAA,EAC7B,WAAW;AACb;AACO,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,gBAAgB;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSAccordionName = 'DSAccordion';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const ACCORDION_SLOTS = {\n CONTAINER: 'root',\n} as const;\nexport const DSAccordionSlots = ACCORDION_SLOTS;\n\nexport const ACCORDION_ITEM_SLOTS = {\n ITEM_CONTAINER: 'item-container',\n // additive slot: wraps the summary + content as a native <details> disclosure.\n // New in the native-engine migration \u2014 not a breaking change (did not exist before).\n ITEM_DETAILS: 'item-details',\n ITEM_HEADER_CONTAINER: 'item-header-container',\n ITEM_HEADER: 'item-header',\n ITEM_HEADER_ADDON: 'item-header-addon',\n ITEM_HEADER_TITLE_CONTAINER: 'item-header-titles-container',\n ITEM_HEADER_PRIMARY_TITLE: 'item-header-primary-title',\n ITEM_HEADER_SECONDARY_TITLE: 'item-header-secondary-title',\n ITEM_HEADER_CUSTOM_ACTIONS_CONTAINER: 'item-header-custom-actions-container',\n ITEM_HEADER_TOOLTIP: 'item-header-tooltip',\n ITEM_CONTENT_CONTAINER: 'item-content-container',\n} as const;\nexport const DSAccordionItemSlots = ACCORDION_ITEM_SLOTS;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const ACCORDION_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSAccordionName, ACCORDION_SLOTS),\n ...slotObjectToDataTestIds(DSAccordionName, ACCORDION_ITEM_SLOTS),\n ITEM_CONTENT_CONTAINER: 'ds-accordion_item-content',\n ITEM_HEADER: 'ds-accordion_item-header',\n ITEM_CONTAINER: 'ds-accordion_item',\n CONTAINER: 'ds-accordion_group',\n};\nexport const DSAccordionDataTestid = ACCORDION_DATA_TESTID;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,kBAAkB;AAGxB,MAAM,kBAAkB;AAAA,EAC7B,WAAW;AACb;AACO,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,gBAAgB;AAAA;AAAA;AAAA,EAGhB,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,6BAA6B;AAAA,EAC7B,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,sCAAsC;AAAA,EACtC,qBAAqB;AAAA,EACrB,wBAAwB;AAC1B;AACO,MAAM,uBAAuB;AAG7B,MAAM,wBAAwB;AAAA,EACnC,GAAG,wBAAwB,iBAAiB,eAAe;AAAA,EAC3D,GAAG,wBAAwB,iBAAiB,oBAAoB;AAAA,EAChE,wBAAwB;AAAA,EACxB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,WAAW;AACb;AACO,MAAM,wBAAwB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|