@elliemae/ds-pills-v2 3.61.11 → 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/TruncatedTooltipText.js +112 -0
- package/dist/cjs/TruncatedTooltipText.js.map +7 -0
- package/dist/cjs/components/Pill.js +2 -1
- package/dist/cjs/components/Pill.js.map +2 -2
- package/dist/cjs/components/TextComponent.js +2 -2
- package/dist/cjs/components/TextComponent.js.map +2 -2
- package/dist/cjs/components/styled.js +62 -20
- package/dist/cjs/components/styled.js.map +2 -2
- package/dist/cjs/components/types/DropdownPill.js +55 -53
- package/dist/cjs/components/types/DropdownPill.js.map +2 -2
- package/dist/cjs/components/types/InputPill.js +91 -61
- package/dist/cjs/components/types/InputPill.js.map +2 -2
- package/dist/cjs/components/types/LabelOnlyPill.js +22 -2
- package/dist/cjs/components/types/LabelOnlyPill.js.map +2 -2
- package/dist/cjs/components/types/LabelPill.js +11 -2
- package/dist/cjs/components/types/LabelPill.js.map +2 -2
- package/dist/cjs/components/types/MenuButtonPill.js +11 -2
- package/dist/cjs/components/types/MenuButtonPill.js.map +2 -2
- package/dist/cjs/components/types/ReadOnlyPill.js +11 -2
- package/dist/cjs/components/types/ReadOnlyPill.js.map +2 -2
- package/dist/cjs/components/types/RemovablePill.js +15 -5
- package/dist/cjs/components/types/RemovablePill.js.map +2 -2
- package/dist/cjs/components/types/ValuePill.js +22 -1
- package/dist/cjs/components/types/ValuePill.js.map +2 -2
- package/dist/cjs/config/useValidateProps.js +63 -0
- package/dist/cjs/config/useValidateProps.js.map +7 -0
- package/dist/cjs/constants/index.js +3 -1
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/parts/DSPillButton/react-desc-prop-types.js +8 -2
- package/dist/cjs/parts/DSPillButton/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/parts/DSPillGroup/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +19 -9
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/typescript-testing/slot-props.js +42 -0
- package/dist/cjs/typescript-testing/slot-props.js.map +7 -0
- package/dist/cjs/typescript-testing/typescript-pills-v2-valid.js +1 -1
- package/dist/cjs/typescript-testing/typescript-pills-v2-valid.js.map +2 -2
- package/dist/esm/TruncatedTooltipText.js +86 -0
- package/dist/esm/TruncatedTooltipText.js.map +7 -0
- package/dist/esm/components/Pill.js +3 -2
- package/dist/esm/components/Pill.js.map +2 -2
- package/dist/esm/components/TextComponent.js +2 -2
- package/dist/esm/components/TextComponent.js.map +2 -2
- package/dist/esm/components/styled.js +62 -20
- package/dist/esm/components/styled.js.map +2 -2
- package/dist/esm/components/types/DropdownPill.js +55 -53
- package/dist/esm/components/types/DropdownPill.js.map +2 -2
- package/dist/esm/components/types/InputPill.js +92 -62
- package/dist/esm/components/types/InputPill.js.map +2 -2
- package/dist/esm/components/types/LabelOnlyPill.js +22 -2
- package/dist/esm/components/types/LabelOnlyPill.js.map +2 -2
- package/dist/esm/components/types/LabelPill.js +11 -2
- package/dist/esm/components/types/LabelPill.js.map +2 -2
- package/dist/esm/components/types/MenuButtonPill.js +11 -2
- package/dist/esm/components/types/MenuButtonPill.js.map +2 -2
- package/dist/esm/components/types/ReadOnlyPill.js +11 -2
- package/dist/esm/components/types/ReadOnlyPill.js.map +2 -2
- package/dist/esm/components/types/RemovablePill.js +15 -5
- package/dist/esm/components/types/RemovablePill.js.map +2 -2
- package/dist/esm/components/types/ValuePill.js +22 -1
- package/dist/esm/components/types/ValuePill.js.map +2 -2
- package/dist/esm/config/useValidateProps.js +33 -0
- package/dist/esm/config/useValidateProps.js.map +7 -0
- package/dist/esm/constants/index.js +3 -1
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/parts/DSPillButton/react-desc-prop-types.js +8 -2
- package/dist/esm/parts/DSPillButton/react-desc-prop-types.js.map +2 -2
- package/dist/esm/parts/DSPillGroup/react-desc-prop-types.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +20 -10
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/esm/typescript-testing/slot-props.js +19 -0
- package/dist/esm/typescript-testing/slot-props.js.map +7 -0
- package/dist/esm/typescript-testing/typescript-pills-v2-valid.js +1 -1
- package/dist/esm/typescript-testing/typescript-pills-v2-valid.js.map +2 -2
- package/dist/types/TruncatedTooltipText.d.ts +10 -0
- package/dist/types/components/TextComponent.d.ts +2 -0
- package/dist/types/components/styled.d.ts +5 -4
- package/dist/types/config/useValidateProps.d.ts +3 -0
- package/dist/types/constants/index.d.ts +3 -0
- package/dist/types/parts/DSPillGroup/config/usePillGroup.d.ts +91 -91
- package/dist/types/parts/DSPillGroup/react-desc-prop-types.d.ts +1 -1
- package/dist/types/react-desc-prop-types.d.ts +11 -2
- package/package.json +20 -18
- package/dist/types/parts/DSPillButton/tests/DSPillButton.test.d.ts +0 -1
- package/dist/types/parts/DSPillGroup/tests/DSPillGroup.test.d.ts +0 -1
- package/dist/types/tests/DSPill.a11y.test.d.ts +0 -1
- package/dist/types/tests/DSPill.exports.test.d.ts +0 -1
- package/dist/types/tests/DSPill.get-owner-props.test.d.ts +0 -1
- package/dist/types/tests/DSPill.test.d.ts +0 -1
- package/dist/types/tests/DSPillGroup.test.d.ts +0 -1
- package/dist/types/tests/events/DSPill.events.keyboard.test.d.ts +0 -1
- package/dist/types/tests/events/DSPill.events.test.d.ts +0 -1
- package/dist/types/tests/events/DSPillGroup.events.keyboard.test.d.ts +0 -1
- package/dist/types/tests/events/DSPillGroup.events.test.d.ts +0 -1
- package/dist/types/typescript-testing/typescript-pills-v2-valid.d.ts +0 -1
|
@@ -34,13 +34,14 @@ module.exports = __toCommonJS(InputPill_exports);
|
|
|
34
34
|
var React = __toESM(require("react"));
|
|
35
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
37
38
|
var import_uid = require("uid");
|
|
38
39
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
39
40
|
var import_styled = require("../styled.js");
|
|
40
41
|
var import_DSPillButton = require("../../parts/DSPillButton/DSPillButton.js");
|
|
41
42
|
var import_constants = require("../../constants/index.js");
|
|
42
|
-
const InputPill = import_react.default.memo(
|
|
43
|
-
|
|
43
|
+
const InputPill = import_react.default.memo((props) => {
|
|
44
|
+
const {
|
|
44
45
|
label,
|
|
45
46
|
size,
|
|
46
47
|
inputPlaceholder,
|
|
@@ -51,64 +52,93 @@ const InputPill = import_react.default.memo(
|
|
|
51
52
|
innerRef,
|
|
52
53
|
hasError,
|
|
53
54
|
inputId
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
[onInputClear]
|
|
67
|
-
);
|
|
68
|
-
const [inputHasFocus, setInputHasFocus] = (0, import_react.useState)(false);
|
|
69
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
70
|
-
import_styled.StyledInputPillWrapper,
|
|
71
|
-
{
|
|
72
|
-
pillSize: size,
|
|
73
|
-
className: "ds-pill-wrapper",
|
|
74
|
-
cols: label === "" ? ["auto"] : ["auto", "24px"],
|
|
75
|
-
inputWidth,
|
|
76
|
-
value: label ?? "",
|
|
77
|
-
inputHasFocus,
|
|
78
|
-
hasError,
|
|
79
|
-
children: [
|
|
80
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
|
-
InputComponent,
|
|
82
|
-
{
|
|
83
|
-
id: pillUid,
|
|
84
|
-
className: "ds-pill-focus-point",
|
|
85
|
-
"data-testid": import_constants.PILL_V2_DATA_TESTID.PILL_INPUT,
|
|
86
|
-
innerRef: (_ref) => {
|
|
87
|
-
ref.current = _ref;
|
|
88
|
-
},
|
|
89
|
-
value: label,
|
|
90
|
-
onChange: onInputChange,
|
|
91
|
-
placeholder: inputPlaceholder,
|
|
92
|
-
onFocus: () => setInputHasFocus(true),
|
|
93
|
-
onBlur: () => setInputHasFocus(false),
|
|
94
|
-
disableTooltip: false
|
|
95
|
-
}
|
|
96
|
-
),
|
|
97
|
-
label !== "" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
98
|
-
import_DSPillButton.DSPillButton,
|
|
99
|
-
{
|
|
100
|
-
id: pillUid,
|
|
101
|
-
"data-testid": import_constants.PILL_V2_DATA_TESTID.PILL_CLEAR_ICON,
|
|
102
|
-
innerRef,
|
|
103
|
-
onClick: onCloseIconClick,
|
|
104
|
-
"aria-label": "Clear input",
|
|
105
|
-
type: "right",
|
|
106
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.CloseXsmall, { size: "s", color: ["brand-primary", "700"] })
|
|
107
|
-
}
|
|
108
|
-
) })
|
|
109
|
-
]
|
|
55
|
+
} = props;
|
|
56
|
+
const ref = (0, import_react.useRef)(null);
|
|
57
|
+
const ownerProps = (0, import_ds_props_helpers.useOwnerProps)(props);
|
|
58
|
+
const pillUid = (0, import_react.useMemo)(() => inputId ?? `ds-pill-${(0, import_uid.uid)()}`, [inputId]);
|
|
59
|
+
const onCloseIconClick = (0, import_react.useCallback)(
|
|
60
|
+
(e) => {
|
|
61
|
+
if ("code" in e && ["Enter", "Space"].includes(e.code) || !("code" in e)) {
|
|
62
|
+
e.preventDefault();
|
|
63
|
+
onInputClear?.(e);
|
|
64
|
+
ref.current?.focus();
|
|
110
65
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
);
|
|
66
|
+
},
|
|
67
|
+
[onInputClear]
|
|
68
|
+
);
|
|
69
|
+
const [inputHasFocus, setInputHasFocus] = (0, import_react.useState)(false);
|
|
70
|
+
const handleValueChange = (0, import_react.useCallback)(
|
|
71
|
+
(newValue, e) => {
|
|
72
|
+
onInputChange?.(e, newValue);
|
|
73
|
+
},
|
|
74
|
+
[onInputChange]
|
|
75
|
+
);
|
|
76
|
+
const InputComponent = inputRender;
|
|
77
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
78
|
+
import_styled.StyledInputPillWrapper,
|
|
79
|
+
{
|
|
80
|
+
pillSize: size,
|
|
81
|
+
className: "ds-pill-wrapper",
|
|
82
|
+
cols: ["auto", "auto"],
|
|
83
|
+
inputWidth,
|
|
84
|
+
value: label ?? "",
|
|
85
|
+
inputHasFocus,
|
|
86
|
+
hasError,
|
|
87
|
+
...ownerProps,
|
|
88
|
+
children: [
|
|
89
|
+
InputComponent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
90
|
+
InputComponent,
|
|
91
|
+
{
|
|
92
|
+
id: pillUid,
|
|
93
|
+
"data-testid": import_constants.PILL_V2_DATA_TESTID.PILL_INPUT,
|
|
94
|
+
hasError,
|
|
95
|
+
dsInputtextInput: { className: "ds-pill-focus-point", "aria-describedby": null },
|
|
96
|
+
innerRef: (_ref) => {
|
|
97
|
+
ref.current = _ref;
|
|
98
|
+
},
|
|
99
|
+
value: label,
|
|
100
|
+
onValueChange: handleValueChange,
|
|
101
|
+
placeholder: inputPlaceholder,
|
|
102
|
+
onFocus: () => setInputHasFocus(true),
|
|
103
|
+
onBlur: () => setInputHasFocus(false),
|
|
104
|
+
autoComplete: "off",
|
|
105
|
+
maxLength: 255
|
|
106
|
+
}
|
|
107
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
108
|
+
import_styled.StyledDSInputText,
|
|
109
|
+
{
|
|
110
|
+
id: pillUid,
|
|
111
|
+
"data-testid": import_constants.PILL_V2_DATA_TESTID.PILL_INPUT,
|
|
112
|
+
hasError,
|
|
113
|
+
dsInputtextInput: { "aria-describedby": null },
|
|
114
|
+
innerRef: (_ref) => {
|
|
115
|
+
ref.current = _ref;
|
|
116
|
+
_ref?.classList.add("ds-pill-focus-point");
|
|
117
|
+
},
|
|
118
|
+
value: label,
|
|
119
|
+
onValueChange: handleValueChange,
|
|
120
|
+
placeholder: inputPlaceholder,
|
|
121
|
+
onFocus: () => setInputHasFocus(true),
|
|
122
|
+
onBlur: () => setInputHasFocus(false),
|
|
123
|
+
autoComplete: "off",
|
|
124
|
+
maxLength: 255,
|
|
125
|
+
...ownerProps
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { style: label === "" ? { visibility: "hidden" } : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
129
|
+
import_DSPillButton.DSPillButton,
|
|
130
|
+
{
|
|
131
|
+
id: `${pillUid}-clear`,
|
|
132
|
+
"data-testid": import_constants.PILL_V2_DATA_TESTID.PILL_CLEAR_ICON,
|
|
133
|
+
innerRef,
|
|
134
|
+
onClick: onCloseIconClick,
|
|
135
|
+
"aria-label": "Clear input",
|
|
136
|
+
type: "right",
|
|
137
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.CloseXsmall, { size: "s", color: ["brand-primary", "700"] })
|
|
138
|
+
}
|
|
139
|
+
) })
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
});
|
|
114
144
|
//# sourceMappingURL=InputPill.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/InputPill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { uid } from 'uid';\nimport { CloseXsmall } from '@elliemae/ds-icons';\nimport { StyledAgnosticPillRegion, StyledInputPillWrapper } from '../styled.js';\nimport { DSPillButton } from '../../parts/DSPillButton/DSPillButton.js';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { PILL_V2_DATA_TESTID } from '../../constants/index.js';\n\nexport const InputPill = React.memo<DSPillT.InternalProps>(\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { uid } from 'uid';\nimport { CloseXsmall } from '@elliemae/ds-icons';\nimport { StyledAgnosticPillRegion, StyledDSInputText, StyledInputPillWrapper } from '../styled.js';\nimport { DSPillButton } from '../../parts/DSPillButton/DSPillButton.js';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { PILL_V2_DATA_TESTID } from '../../constants/index.js';\n\nexport const InputPill = React.memo<DSPillT.InternalProps>((props) => {\n const {\n label,\n size,\n inputPlaceholder,\n inputWidth,\n inputRender,\n onInputChange,\n onInputClear,\n innerRef,\n hasError,\n inputId,\n } = props;\n const ref = useRef<HTMLInputElement | null>(null);\n const ownerProps = useOwnerProps(props);\n\n const pillUid = useMemo(() => inputId ?? `ds-pill-${uid()}`, [inputId]);\n\n const onCloseIconClick = useCallback(\n (e: React.KeyboardEvent | React.MouseEvent) => {\n if (('code' in e && ['Enter', 'Space'].includes(e.code)) || !('code' in e)) {\n e.preventDefault();\n onInputClear?.(e);\n ref.current?.focus();\n }\n },\n [onInputClear],\n );\n\n const [inputHasFocus, setInputHasFocus] = useState(false);\n\n // DSInputText exposes value changes via onValueChange(newValue, e). Re-map to the pill's public\n // onInputChange(e, newValue) contract so the (event, value) signature consumers rely on is preserved.\n const handleValueChange = useCallback(\n (newValue: string, e: React.ChangeEvent<HTMLInputElement>) => {\n onInputChange?.(e, newValue);\n },\n [onInputChange],\n );\n\n const InputComponent = inputRender;\n\n return (\n <StyledInputPillWrapper\n pillSize={size}\n className=\"ds-pill-wrapper\"\n cols={['auto', 'auto']}\n inputWidth={inputWidth}\n value={label ?? ''}\n inputHasFocus={inputHasFocus}\n hasError={hasError}\n {...ownerProps}\n >\n {InputComponent ? (\n <InputComponent\n id={pillUid}\n data-testid={PILL_V2_DATA_TESTID.PILL_INPUT}\n hasError={hasError}\n // inputRender has always assumed a DSInputText-shaped component (this is what the pill's own\n // default input is, and the only real-world usage of inputRender wraps DSInputText itself,\n // forwarding dsInputtextInput straight through). Keeping this contract unchanged avoids a\n // silent behavior break for any existing consumer. Do NOT also wire a plain onChange here: a\n // DSInputText-shaped component that forwards all received props (the common pattern) would\n // then call onInputChange twice per keystroke \u2014 once via onChange, once via onValueChange below.\n // Unlike the default branch below, this keeps className on the slot instead of forcing it via\n // classList.add: InputComponent is consumer-supplied, not something we render ourselves, so the\n // permanent forced-ref pattern is intentionally scoped to our own slot only (see that branch).\n dsInputtextInput={{ className: 'ds-pill-focus-point', 'aria-describedby': null }}\n innerRef={(_ref: HTMLInputElement | null) => {\n ref.current = _ref;\n }}\n value={label}\n onValueChange={handleValueChange}\n placeholder={inputPlaceholder}\n onFocus={() => setInputHasFocus(true)}\n onBlur={() => setInputHasFocus(false)}\n autoComplete=\"off\"\n maxLength={255}\n />\n ) : (\n <StyledDSInputText\n id={pillUid}\n data-testid={PILL_V2_DATA_TESTID.PILL_INPUT}\n hasError={hasError}\n // Clear DSInputText's auto aria-describedby: it points at form feedback/error message\n // elements that don't exist inside a pill (matching the legacy DSInput, which set none).\n // null, not undefined \u2014 an explicit \"no value\" survives regardless of how ds-system's\n // slot-prop merge evolves (see PUI-17949 below); undefined risks a future, smarter merge\n // reading it as \"unset, inherit DSInputText's default\" instead of \"explicitly cleared\".\n dsInputtextInput={{ 'aria-describedby': null }}\n innerRef={(_ref: HTMLInputElement | null) => {\n ref.current = _ref;\n // Permanent, not a workaround. Two independent reasons this class can never be supplied\n // through a slot prop, so classList.add is the canonical mechanism, not a stand-in for one:\n // 1) DSInputText's own styled construction forwards global attributes to the input but\n // routes `className` to its wrapper instead (a separate, pre-existing DSInputText quirk)\n // \u2014 `dsInputtextInput={{ className: ... }}` could never reach the real <input>, regardless\n // of PUI-17949's shallow-merge state.\n // 2) DSPillGroupV2's keyboard navigation (usePillGroup.ts) queries `.ds-pill-focus-point`\n // directly against the DOM and never goes through React's data flow (no ref-registration\n // prop) \u2014 since its consumer of this class operates outside React's render cycle by\n // design, the mechanism that supplies it is intentionally imperative/vanilla-DOM too,\n // rather than a value that has to survive a declarative slot-prop merge.\n // PUI-17949 (ds-system's callbackMerger doing a plain per-slot spread instead of a per-key\n // merge) is still real and still worth fixing for other nested-slot-override consumers \u2014\n // fixing it would not remove the need for this line. classList.add is idempotent, so\n // re-running it on every render is safe.\n _ref?.classList.add('ds-pill-focus-point');\n }}\n value={label}\n onValueChange={handleValueChange}\n placeholder={inputPlaceholder}\n onFocus={() => setInputHasFocus(true)}\n onBlur={() => setInputHasFocus(false)}\n autoComplete=\"off\"\n maxLength={255}\n {...ownerProps}\n />\n )}\n <StyledAgnosticPillRegion style={label === '' ? { visibility: 'hidden' } : undefined}>\n <DSPillButton\n id={`${pillUid}-clear`}\n data-testid={PILL_V2_DATA_TESTID.PILL_CLEAR_ICON}\n innerRef={innerRef as TypescriptHelpersT.AnyRef<HTMLButtonElement>}\n onClick={onCloseIconClick}\n // onKeyDown={onCloseIconClick} // button v2 now triggers click on key down already\n aria-label=\"Clear input\"\n type=\"right\"\n >\n <CloseXsmall size=\"s\" color={['brand-primary', '700']} />\n </DSPillButton>\n </StyledAgnosticPillRegion>\n </StyledInputPillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsDnB;AArDJ,mBAA8D;AAC9D,8BAA8B;AAE9B,iBAAoB;AACpB,sBAA4B;AAC5B,oBAAoF;AACpF,0BAA6B;AAE7B,uBAAoC;AAE7B,MAAM,YAAY,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACpE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,UAAM,qBAAgC,IAAI;AAChD,QAAM,iBAAa,uCAAc,KAAK;AAEtC,QAAM,cAAU,sBAAQ,MAAM,WAAW,eAAW,gBAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAEtE,QAAM,uBAAmB;AAAA,IACvB,CAAC,MAA8C;AAC7C,UAAK,UAAU,KAAK,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,KAAM,EAAE,UAAU,IAAI;AAC1E,UAAE,eAAe;AACjB,uBAAe,CAAC;AAChB,YAAI,SAAS,MAAM;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAEA,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAIxD,QAAM,wBAAoB;AAAA,IACxB,CAAC,UAAkB,MAA2C;AAC5D,sBAAgB,GAAG,QAAQ;AAAA,IAC7B;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,iBAAiB;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,WAAU;AAAA,MACV,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB;AAAA,MACA,OAAO,SAAS;AAAA,MAChB;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,yBACC;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,YACJ,eAAa,qCAAoB;AAAA,YACjC;AAAA,YAUA,kBAAkB,EAAE,WAAW,uBAAuB,oBAAoB,KAAK;AAAA,YAC/E,UAAU,CAAC,SAAkC;AAC3C,kBAAI,UAAU;AAAA,YAChB;AAAA,YACA,OAAO;AAAA,YACP,eAAe;AAAA,YACf,aAAa;AAAA,YACb,SAAS,MAAM,iBAAiB,IAAI;AAAA,YACpC,QAAQ,MAAM,iBAAiB,KAAK;AAAA,YACpC,cAAa;AAAA,YACb,WAAW;AAAA;AAAA,QACb,IAEA;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,YACJ,eAAa,qCAAoB;AAAA,YACjC;AAAA,YAMA,kBAAkB,EAAE,oBAAoB,KAAK;AAAA,YAC7C,UAAU,CAAC,SAAkC;AAC3C,kBAAI,UAAU;AAgBd,oBAAM,UAAU,IAAI,qBAAqB;AAAA,YAC3C;AAAA,YACA,OAAO;AAAA,YACP,eAAe;AAAA,YACf,aAAa;AAAA,YACb,SAAS,MAAM,iBAAiB,IAAI;AAAA,YACpC,QAAQ,MAAM,iBAAiB,KAAK;AAAA,YACpC,cAAa;AAAA,YACb,WAAW;AAAA,YACV,GAAG;AAAA;AAAA,QACN;AAAA,QAEF,4CAAC,0CAAyB,OAAO,UAAU,KAAK,EAAE,YAAY,SAAS,IAAI,QACzE;AAAA,UAAC;AAAA;AAAA,YACC,IAAI,GAAG,OAAO;AAAA,YACd,eAAa,qCAAoB;AAAA,YACjC;AAAA,YACA,SAAS;AAAA,YAET,cAAW;AAAA,YACX,MAAK;AAAA,YAEL,sDAAC,+BAAY,MAAK,KAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG;AAAA;AAAA,QACzD,GACF;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -38,7 +38,18 @@ var import_react = __toESM(require("react"));
|
|
|
38
38
|
var import_TextComponent = require("../TextComponent.js");
|
|
39
39
|
var import_styled = require("../styled.js");
|
|
40
40
|
const LabelOnlyPill = import_react.default.memo((props) => {
|
|
41
|
-
const {
|
|
41
|
+
const {
|
|
42
|
+
label,
|
|
43
|
+
size,
|
|
44
|
+
labelTruncated,
|
|
45
|
+
disableTruncationTooltip,
|
|
46
|
+
iconLeft,
|
|
47
|
+
IconLeft,
|
|
48
|
+
ariaLabel,
|
|
49
|
+
applyAriaDisabled,
|
|
50
|
+
readOnly,
|
|
51
|
+
trailingComma
|
|
52
|
+
} = props;
|
|
42
53
|
const ownerProps = (0, import_ds_props_helpers.useOwnerProps)(props);
|
|
43
54
|
const { wrap, tabIndex, ...globalAttributes } = (0, import_ds_props_helpers.useGetGlobalAttributes)(props);
|
|
44
55
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -59,7 +70,16 @@ const LabelOnlyPill = import_react.default.memo((props) => {
|
|
|
59
70
|
...ownerProps,
|
|
60
71
|
children: [
|
|
61
72
|
IconLeft ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconLeft, { label }) : iconLeft,
|
|
62
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
73
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
74
|
+
import_TextComponent.TextComponent,
|
|
75
|
+
{
|
|
76
|
+
pillSize: size,
|
|
77
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
78
|
+
labelTruncated,
|
|
79
|
+
disableTruncationTooltip,
|
|
80
|
+
label: `${label}${trailingComma ? "," : ""}`
|
|
81
|
+
}
|
|
82
|
+
)
|
|
63
83
|
]
|
|
64
84
|
}
|
|
65
85
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/LabelOnlyPill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledLabelOnlyPillWrapper } from '../styled.js';\n\nexport const LabelOnlyPill = React.memo<DSPillT.InternalProps>((props) => {\n const {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledLabelOnlyPillWrapper } from '../styled.js';\n\nexport const LabelOnlyPill = React.memo<DSPillT.InternalProps>((props) => {\n const {\n label,\n size,\n labelTruncated,\n disableTruncationTooltip,\n iconLeft,\n IconLeft,\n ariaLabel,\n applyAriaDisabled,\n readOnly,\n trailingComma,\n } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n return (\n <StyledLabelOnlyPillWrapper\n pillSize={size}\n alignItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-label\"\n data-label={ariaLabel || label}\n cols={[(iconLeft || IconLeft) && 'min-content', 'auto'].filter((notFalse) => notFalse) as string[]}\n gutter=\"xxxs\"\n hasIcon={(iconLeft || IconLeft) !== null}\n role=\"group\"\n aria-label={label}\n applyAriaDisabled={applyAriaDisabled}\n readOnly={readOnly}\n {...globalAttributes}\n {...ownerProps}\n >\n {IconLeft ? <IconLeft label={label} /> : iconLeft}\n <TextComponent\n pillSize={size}\n getOwnerProps={ownerProps.getOwnerProps}\n labelTruncated={labelTruncated}\n disableTruncationTooltip={disableTruncationTooltip}\n label={`${label}${trailingComma ? ',' : ''}`}\n />\n </StyledLabelOnlyPillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBnB;AAtBJ,8BAAsD;AACtD,mBAAkB;AAElB,2BAA8B;AAC9B,oBAA2C;AAEpC,MAAM,gBAAgB,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACxE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,iBAAa,uCAAc,KAAK;AACtC,QAAM,EAAE,MAAM,UAAU,GAAG,iBAAiB,QAAI,gDAAuB,KAAK;AAC5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,YAAW;AAAA,MACX,WAAU;AAAA,MACV,cAAY,aAAa;AAAA,MACzB,MAAM,EAAE,YAAY,aAAa,eAAe,MAAM,EAAE,OAAO,CAAC,aAAa,QAAQ;AAAA,MACrF,QAAO;AAAA,MACP,UAAU,YAAY,cAAc;AAAA,MACpC,MAAK;AAAA,MACL,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MAEH;AAAA,mBAAW,4CAAC,YAAS,OAAc,IAAK;AAAA,QACzC;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B;AAAA,YACA;AAAA,YACA,OAAO,GAAG,KAAK,GAAG,gBAAgB,MAAM,EAAE;AAAA;AAAA,QAC5C;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -38,7 +38,7 @@ var import_react = __toESM(require("react"));
|
|
|
38
38
|
var import_TextComponent = require("../TextComponent.js");
|
|
39
39
|
var import_styled = require("../styled.js");
|
|
40
40
|
const LabelPill = import_react.default.memo((props) => {
|
|
41
|
-
const { label, size, labelTruncated, iconLeft, IconLeft, ariaLabel } = props;
|
|
41
|
+
const { label, size, labelTruncated, disableTruncationTooltip, iconLeft, IconLeft, ariaLabel } = props;
|
|
42
42
|
const ownerProps = (0, import_ds_props_helpers.useOwnerProps)(props);
|
|
43
43
|
const { wrap, tabIndex, ...globalAttributes } = (0, import_ds_props_helpers.useGetGlobalAttributes)(props);
|
|
44
44
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -57,7 +57,16 @@ const LabelPill = import_react.default.memo((props) => {
|
|
|
57
57
|
...ownerProps,
|
|
58
58
|
children: [
|
|
59
59
|
(iconLeft || IconLeft) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: IconLeft ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconLeft, { label }) : iconLeft }),
|
|
60
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
60
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
61
|
+
import_TextComponent.TextComponent,
|
|
62
|
+
{
|
|
63
|
+
pillSize: size,
|
|
64
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
65
|
+
labelTruncated,
|
|
66
|
+
disableTruncationTooltip,
|
|
67
|
+
label
|
|
68
|
+
}
|
|
69
|
+
)
|
|
61
70
|
]
|
|
62
71
|
}
|
|
63
72
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/LabelPill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledLabelPillWrapper } from '../styled.js';\n\nexport const LabelPill = React.memo<DSPillT.InternalProps>((props) => {\n const { label, size, labelTruncated, iconLeft, IconLeft, ariaLabel } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n return (\n <StyledLabelPillWrapper\n pillSize={size}\n alignItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-label\"\n data-label={ariaLabel || label}\n cols={[(iconLeft || IconLeft) && 'min-content', 'auto'].filter((notFalse) => notFalse) as string[]}\n gutter={0}\n hasIcon={(iconLeft || IconLeft) !== null}\n role=\"group\"\n aria-label={label}\n {...globalAttributes}\n {...ownerProps}\n >\n {(iconLeft || IconLeft) && (\n <StyledAgnosticPillRegion>{IconLeft ? <IconLeft label={label} /> : iconLeft}</StyledAgnosticPillRegion>\n )}\n <TextComponent
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADYnB;AAXJ,8BAAsD;AACtD,mBAAkB;AAElB,2BAA8B;AAC9B,oBAAiE;AAE1D,MAAM,YAAY,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACpE,QAAM,EAAE,OAAO,MAAM,gBAAgB,UAAU,UAAU,UAAU,IAAI;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledLabelPillWrapper } from '../styled.js';\n\nexport const LabelPill = React.memo<DSPillT.InternalProps>((props) => {\n const { label, size, labelTruncated, disableTruncationTooltip, iconLeft, IconLeft, ariaLabel } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n return (\n <StyledLabelPillWrapper\n pillSize={size}\n alignItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-label\"\n data-label={ariaLabel || label}\n cols={[(iconLeft || IconLeft) && 'min-content', 'auto'].filter((notFalse) => notFalse) as string[]}\n gutter={0}\n hasIcon={(iconLeft || IconLeft) !== null}\n role=\"group\"\n aria-label={label}\n {...globalAttributes}\n {...ownerProps}\n >\n {(iconLeft || IconLeft) && (\n <StyledAgnosticPillRegion>{IconLeft ? <IconLeft label={label} /> : iconLeft}</StyledAgnosticPillRegion>\n )}\n <TextComponent\n pillSize={size}\n getOwnerProps={ownerProps.getOwnerProps}\n labelTruncated={labelTruncated}\n disableTruncationTooltip={disableTruncationTooltip}\n label={label}\n />\n </StyledLabelPillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADYnB;AAXJ,8BAAsD;AACtD,mBAAkB;AAElB,2BAA8B;AAC9B,oBAAiE;AAE1D,MAAM,YAAY,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACpE,QAAM,EAAE,OAAO,MAAM,gBAAgB,0BAA0B,UAAU,UAAU,UAAU,IAAI;AACjG,QAAM,iBAAa,uCAAc,KAAK;AACtC,QAAM,EAAE,MAAM,UAAU,GAAG,iBAAiB,QAAI,gDAAuB,KAAK;AAC5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,YAAW;AAAA,MACX,WAAU;AAAA,MACV,cAAY,aAAa;AAAA,MACzB,MAAM,EAAE,YAAY,aAAa,eAAe,MAAM,EAAE,OAAO,CAAC,aAAa,QAAQ;AAAA,MACrF,QAAQ;AAAA,MACR,UAAU,YAAY,cAAc;AAAA,MACpC,MAAK;AAAA,MACL,cAAY;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MAEF;AAAA,qBAAY,aACZ,4CAAC,0CAA0B,qBAAW,4CAAC,YAAS,OAAc,IAAK,UAAS;AAAA,QAE9E;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -44,7 +44,7 @@ var import_constants = require("../../constants/index.js");
|
|
|
44
44
|
const rowsForDsButtonV3 = () => ({ small: ["auto"], medium: ["auto"] });
|
|
45
45
|
const colsForDsButtonV3 = (size) => size === "m" ? { small: ["auto", "minmax(1.5625rem, auto)"], medium: ["auto", "minmax(1.9230rem, auto)"] } : { small: ["auto", "minmax(1.1875rem, auto)"], medium: ["auto", "minmax(1.4615rem, auto)"] };
|
|
46
46
|
const MenuButtonPill = import_react.default.memo((props) => {
|
|
47
|
-
const { label, size, labelTruncated, innerRef, ariaLabel, menuButtonProps } = props;
|
|
47
|
+
const { label, size, labelTruncated, disableTruncationTooltip, innerRef, ariaLabel, menuButtonProps } = props;
|
|
48
48
|
const ownerProps = (0, import_ds_props_helpers.useOwnerProps)(props);
|
|
49
49
|
const { wrap, tabIndex, ...globalAttributes } = (0, import_ds_props_helpers.useGetGlobalAttributes)(props);
|
|
50
50
|
const pillUid = (0, import_react.useMemo)(() => `ds-pill-${(0, import_uid.uid)()}`, []);
|
|
@@ -81,7 +81,16 @@ const MenuButtonPill = import_react.default.memo((props) => {
|
|
|
81
81
|
...globalAttributes,
|
|
82
82
|
...ownerProps,
|
|
83
83
|
children: [
|
|
84
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
85
|
+
import_TextComponent.TextComponent,
|
|
86
|
+
{
|
|
87
|
+
pillSize: size,
|
|
88
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
89
|
+
labelTruncated,
|
|
90
|
+
disableTruncationTooltip,
|
|
91
|
+
label
|
|
92
|
+
}
|
|
93
|
+
),
|
|
85
94
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
86
95
|
import_styled.StyledPillMenuButton,
|
|
87
96
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/MenuButtonPill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport { ChevronSmallDown } from '@elliemae/ds-icons';\nimport { type DSMenuButtonT } from '@elliemae/ds-menu-button';\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React, { useMemo } from 'react';\nimport { uid } from 'uid';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { defaultProps as DSPillButtonDefaultProps } from '../../parts/DSPillButton/react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledDropdownPillWrapper, StyledPillMenuButton } from '../styled.js';\nimport { PILL_V2_DATA_TESTID } from '../../constants/index.js';\n\n/* ************************************************************************************************************\n * Regarding magic numbers, default width and height\n * The Wrapper is setting a min-height to the whole pill based on the prop \"pillSize\" (which corresponds to \"size\" in the component)\n * the \"magic\" values are actually 25px RT for \"m\" and 19px RT for \"s\"\n ***************************************************************************************************************\n * Given the above, this iteration of StyledDropdownPillWrapper needs to have different styles/cols/rows to accomodate DSButtonV3\n * and I'm basing the styles on the same assumptions for width/height magic values.\n ************************************************************************************************************* */\nconst rowsForDsButtonV3 = () => ({ small: ['auto'], medium: ['auto'] });\nconst colsForDsButtonV3 = (size: 'm' | 's') =>\n size === 'm'\n ? { small: ['auto', 'minmax(1.5625rem, auto)'], medium: ['auto', 'minmax(1.9230rem, auto)'] }\n : { small: ['auto', 'minmax(1.1875rem, auto)'], medium: ['auto', 'minmax(1.4615rem, auto)'] };\n\nexport const MenuButtonPill = React.memo<DSPillT.InternalProps>((props) => {\n const { label, size, labelTruncated, innerRef, ariaLabel, menuButtonProps } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n const pillUid = useMemo(() => `ds-pill-${uid()}`, []);\n if (!menuButtonProps) {\n // eslint-disable-next-line no-console\n console.log('menuButtonProps', menuButtonProps);\n throw new Error('menuButtonProps was not provided');\n }\n if (Object.keys(menuButtonProps).length === 0) {\n // eslint-disable-next-line no-console\n console.log('menuButtonProps', menuButtonProps);\n throw new Error('menuButtonProps is empty');\n }\n const { width = DSPillButtonDefaultProps.width, height = DSPillButtonDefaultProps.height } = menuButtonProps;\n\n const memoizedRows = useMemo(() => rowsForDsButtonV3(), []);\n const memoizedCols = useMemo(() => colsForDsButtonV3(size), [size]);\n const dsMenubuttonRootProps = useMemo(\n () => ({\n width: `${width}`,\n height: `${height}`,\n }),\n [height, width],\n );\n\n const finalAriaLabel = ariaLabel || label;\n\n return (\n <StyledDropdownPillWrapper\n pillSize={size}\n id={pillUid}\n className=\"ds-pill-wrapper ds-pill-wrapper-dropdown\"\n cols={memoizedCols}\n rows={memoizedRows}\n gutter=\"2px\"\n alignItems=\"center\"\n justifyItems=\"center\"\n {...globalAttributes}\n {...ownerProps}\n >\n <TextComponent
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwDnB;AAvDJ,sBAAiC;AAEjC,8BAAsD;AACtD,mBAA+B;AAC/B,iBAAoB;AAEpB,mCAAyD;AACzD,2BAA8B;AAC9B,oBAA0F;AAC1F,uBAAoC;AAUpC,MAAM,oBAAoB,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;AACrE,MAAM,oBAAoB,CAAC,SACzB,SAAS,MACL,EAAE,OAAO,CAAC,QAAQ,yBAAyB,GAAG,QAAQ,CAAC,QAAQ,yBAAyB,EAAE,IAC1F,EAAE,OAAO,CAAC,QAAQ,yBAAyB,GAAG,QAAQ,CAAC,QAAQ,yBAAyB,EAAE;AAEzF,MAAM,iBAAiB,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACzE,QAAM,EAAE,OAAO,MAAM,gBAAgB,UAAU,WAAW,gBAAgB,IAAI;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport { ChevronSmallDown } from '@elliemae/ds-icons';\nimport { type DSMenuButtonT } from '@elliemae/ds-menu-button';\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React, { useMemo } from 'react';\nimport { uid } from 'uid';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { defaultProps as DSPillButtonDefaultProps } from '../../parts/DSPillButton/react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledDropdownPillWrapper, StyledPillMenuButton } from '../styled.js';\nimport { PILL_V2_DATA_TESTID } from '../../constants/index.js';\n\n/* ************************************************************************************************************\n * Regarding magic numbers, default width and height\n * The Wrapper is setting a min-height to the whole pill based on the prop \"pillSize\" (which corresponds to \"size\" in the component)\n * the \"magic\" values are actually 25px RT for \"m\" and 19px RT for \"s\"\n ***************************************************************************************************************\n * Given the above, this iteration of StyledDropdownPillWrapper needs to have different styles/cols/rows to accomodate DSButtonV3\n * and I'm basing the styles on the same assumptions for width/height magic values.\n ************************************************************************************************************* */\nconst rowsForDsButtonV3 = () => ({ small: ['auto'], medium: ['auto'] });\nconst colsForDsButtonV3 = (size: 'm' | 's') =>\n size === 'm'\n ? { small: ['auto', 'minmax(1.5625rem, auto)'], medium: ['auto', 'minmax(1.9230rem, auto)'] }\n : { small: ['auto', 'minmax(1.1875rem, auto)'], medium: ['auto', 'minmax(1.4615rem, auto)'] };\n\nexport const MenuButtonPill = React.memo<DSPillT.InternalProps>((props) => {\n const { label, size, labelTruncated, disableTruncationTooltip, innerRef, ariaLabel, menuButtonProps } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n const pillUid = useMemo(() => `ds-pill-${uid()}`, []);\n if (!menuButtonProps) {\n // eslint-disable-next-line no-console\n console.log('menuButtonProps', menuButtonProps);\n throw new Error('menuButtonProps was not provided');\n }\n if (Object.keys(menuButtonProps).length === 0) {\n // eslint-disable-next-line no-console\n console.log('menuButtonProps', menuButtonProps);\n throw new Error('menuButtonProps is empty');\n }\n const { width = DSPillButtonDefaultProps.width, height = DSPillButtonDefaultProps.height } = menuButtonProps;\n\n const memoizedRows = useMemo(() => rowsForDsButtonV3(), []);\n const memoizedCols = useMemo(() => colsForDsButtonV3(size), [size]);\n const dsMenubuttonRootProps = useMemo(\n () => ({\n width: `${width}`,\n height: `${height}`,\n }),\n [height, width],\n );\n\n const finalAriaLabel = ariaLabel || label;\n\n return (\n <StyledDropdownPillWrapper\n pillSize={size}\n id={pillUid}\n className=\"ds-pill-wrapper ds-pill-wrapper-dropdown\"\n cols={memoizedCols}\n rows={memoizedRows}\n gutter=\"2px\"\n alignItems=\"center\"\n justifyItems=\"center\"\n {...globalAttributes}\n {...ownerProps}\n >\n <TextComponent\n pillSize={size}\n getOwnerProps={ownerProps.getOwnerProps}\n labelTruncated={labelTruncated}\n disableTruncationTooltip={disableTruncationTooltip}\n label={label}\n />\n <StyledAgnosticPillRegion>\n <StyledPillMenuButton\n innerRef={innerRef as DSMenuButtonT.Props['innerRef']}\n aria-label={finalAriaLabel}\n dsMenubuttonRoot={dsMenubuttonRootProps}\n {...menuButtonProps}\n // the styles that makes the circle visual behave correctly in \"circle\"/\"square\"/\"pill group\"\n // are based on the button having the following props:\n data-testid={PILL_V2_DATA_TESTID.PILL_MENU_BUTTON}\n buttonType=\"raw\"\n className=\"ds-pill-button-right ds-pill-focus-point\"\n type=\"button\"\n width={`${width}`}\n height={`${height}`}\n // end of props for correcr circle/square/pill group visual behavior\n {...ownerProps}\n >\n <ChevronSmallDown color={['brand-primary', '800']} />\n </StyledPillMenuButton>\n </StyledAgnosticPillRegion>\n </StyledDropdownPillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwDnB;AAvDJ,sBAAiC;AAEjC,8BAAsD;AACtD,mBAA+B;AAC/B,iBAAoB;AAEpB,mCAAyD;AACzD,2BAA8B;AAC9B,oBAA0F;AAC1F,uBAAoC;AAUpC,MAAM,oBAAoB,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;AACrE,MAAM,oBAAoB,CAAC,SACzB,SAAS,MACL,EAAE,OAAO,CAAC,QAAQ,yBAAyB,GAAG,QAAQ,CAAC,QAAQ,yBAAyB,EAAE,IAC1F,EAAE,OAAO,CAAC,QAAQ,yBAAyB,GAAG,QAAQ,CAAC,QAAQ,yBAAyB,EAAE;AAEzF,MAAM,iBAAiB,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACzE,QAAM,EAAE,OAAO,MAAM,gBAAgB,0BAA0B,UAAU,WAAW,gBAAgB,IAAI;AACxG,QAAM,iBAAa,uCAAc,KAAK;AACtC,QAAM,EAAE,MAAM,UAAU,GAAG,iBAAiB,QAAI,gDAAuB,KAAK;AAC5E,QAAM,cAAU,sBAAQ,MAAM,eAAW,gBAAI,CAAC,IAAI,CAAC,CAAC;AACpD,MAAI,CAAC,iBAAiB;AAEpB,YAAQ,IAAI,mBAAmB,eAAe;AAC9C,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AACA,MAAI,OAAO,KAAK,eAAe,EAAE,WAAW,GAAG;AAE7C,YAAQ,IAAI,mBAAmB,eAAe;AAC9C,UAAM,IAAI,MAAM,0BAA0B;AAAA,EAC5C;AACA,QAAM,EAAE,QAAQ,6BAAAC,aAAyB,OAAO,SAAS,6BAAAA,aAAyB,OAAO,IAAI;AAE7F,QAAM,mBAAe,sBAAQ,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC1D,QAAM,mBAAe,sBAAQ,MAAM,kBAAkB,IAAI,GAAG,CAAC,IAAI,CAAC;AAClE,QAAM,4BAAwB;AAAA,IAC5B,OAAO;AAAA,MACL,OAAO,GAAG,KAAK;AAAA,MACf,QAAQ,GAAG,MAAM;AAAA,IACnB;AAAA,IACA,CAAC,QAAQ,KAAK;AAAA,EAChB;AAEA,QAAM,iBAAiB,aAAa;AAEpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,WAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAO;AAAA,MACP,YAAW;AAAA,MACX,cAAa;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,0CACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,cAAY;AAAA,YACZ,kBAAkB;AAAA,YACjB,GAAG;AAAA,YAGJ,eAAa,qCAAoB;AAAA,YACjC,YAAW;AAAA,YACX,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAO,GAAG,KAAK;AAAA,YACf,QAAQ,GAAG,MAAM;AAAA,YAEhB,GAAG;AAAA,YAEJ,sDAAC,oCAAiB,OAAO,CAAC,iBAAiB,KAAK,GAAG;AAAA;AAAA,QACrD,GACF;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React", "DSPillButtonDefaultProps"]
|
|
7
7
|
}
|
|
@@ -38,7 +38,7 @@ var import_react = __toESM(require("react"));
|
|
|
38
38
|
var import_TextComponent = require("../TextComponent.js");
|
|
39
39
|
var import_styled = require("../styled.js");
|
|
40
40
|
const ReadOnlyPill = import_react.default.memo((props) => {
|
|
41
|
-
const { label, size, labelTruncated, iconLeft, iconRight, ariaLabel, IconLeft, IconRight } = props;
|
|
41
|
+
const { label, size, labelTruncated, disableTruncationTooltip, iconLeft, iconRight, ariaLabel, IconLeft, IconRight } = props;
|
|
42
42
|
const ownerProps = (0, import_ds_props_helpers.useOwnerProps)(props);
|
|
43
43
|
const { wrap, tabIndex, ...globalAttributes } = (0, import_ds_props_helpers.useGetGlobalAttributes)(props);
|
|
44
44
|
const hasIconLeft = iconLeft !== null || iconRight !== null && label === "";
|
|
@@ -62,7 +62,16 @@ const ReadOnlyPill = import_react.default.memo((props) => {
|
|
|
62
62
|
...ownerProps,
|
|
63
63
|
children: [
|
|
64
64
|
(iconLeft || IconLeft) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: IconLeft ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconLeft, { label }) : iconLeft }),
|
|
65
|
-
label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
65
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
66
|
+
import_TextComponent.TextComponent,
|
|
67
|
+
{
|
|
68
|
+
pillSize: size,
|
|
69
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
70
|
+
labelTruncated,
|
|
71
|
+
disableTruncationTooltip,
|
|
72
|
+
label
|
|
73
|
+
}
|
|
74
|
+
) : null,
|
|
66
75
|
(iconRight || IconRight) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: IconRight ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconRight, { label }) : iconRight })
|
|
67
76
|
]
|
|
68
77
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/ReadOnlyPill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledReadonlyPillWrapper } from '../styled.js';\n\nexport const ReadOnlyPill = React.memo<DSPillT.InternalProps>((props) => {\n const { label, size, labelTruncated, iconLeft, iconRight, ariaLabel, IconLeft, IconRight }
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledReadonlyPillWrapper } from '../styled.js';\n\nexport const ReadOnlyPill = React.memo<DSPillT.InternalProps>((props) => {\n const { label, size, labelTruncated, disableTruncationTooltip, iconLeft, iconRight, ariaLabel, IconLeft, IconRight } =\n props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n const hasIconLeft = iconLeft !== null || (iconRight !== null && label === '');\n const hasIconRight = iconRight !== null || (iconLeft !== null && label === '');\n\n const hasIconLeftNew = IconLeft !== null || (IconRight !== null && label === '');\n const hasIconRightNew = IconRight !== null || (IconLeft !== null && label === '');\n\n return (\n <StyledReadonlyPillWrapper\n pillSize={size}\n alignItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-readonly\"\n data-label={ariaLabel || label}\n cols={\n [(iconLeft || IconLeft) && 'min-content', label && 'auto', (iconRight || IconRight) && 'min-content'].filter(\n (notFalse) => notFalse,\n ) as string[]\n }\n gutter={0}\n hasIconRight={hasIconRight || hasIconRightNew}\n hasIconLeft={hasIconLeft || hasIconLeftNew}\n {...globalAttributes}\n {...ownerProps}\n >\n {(iconLeft || IconLeft) && (\n <StyledAgnosticPillRegion>{IconLeft ? <IconLeft label={label} /> : iconLeft}</StyledAgnosticPillRegion>\n )}\n {label ? (\n <TextComponent\n pillSize={size}\n getOwnerProps={ownerProps.getOwnerProps}\n labelTruncated={labelTruncated}\n disableTruncationTooltip={disableTruncationTooltip}\n label={label}\n />\n ) : null}\n {(iconRight || IconRight) && (\n <StyledAgnosticPillRegion>{IconRight ? <IconRight label={label} /> : iconRight}</StyledAgnosticPillRegion>\n )}\n </StyledReadonlyPillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADmBnB;AAlBJ,8BAAsD;AACtD,mBAAkB;AAElB,2BAA8B;AAC9B,oBAAoE;AAE7D,MAAM,eAAe,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACvE,QAAM,EAAE,OAAO,MAAM,gBAAgB,0BAA0B,UAAU,WAAW,WAAW,UAAU,UAAU,IACjH;AACF,QAAM,iBAAa,uCAAc,KAAK;AACtC,QAAM,EAAE,MAAM,UAAU,GAAG,iBAAiB,QAAI,gDAAuB,KAAK;AAC5E,QAAM,cAAc,aAAa,QAAS,cAAc,QAAQ,UAAU;AAC1E,QAAM,eAAe,cAAc,QAAS,aAAa,QAAQ,UAAU;AAE3E,QAAM,iBAAiB,aAAa,QAAS,cAAc,QAAQ,UAAU;AAC7E,QAAM,kBAAkB,cAAc,QAAS,aAAa,QAAQ,UAAU;AAE9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,YAAW;AAAA,MACX,WAAU;AAAA,MACV,cAAY,aAAa;AAAA,MACzB,MACE,EAAE,YAAY,aAAa,eAAe,SAAS,SAAS,aAAa,cAAc,aAAa,EAAE;AAAA,QACpG,CAAC,aAAa;AAAA,MAChB;AAAA,MAEF,QAAQ;AAAA,MACR,cAAc,gBAAgB;AAAA,MAC9B,aAAa,eAAe;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MAEF;AAAA,qBAAY,aACZ,4CAAC,0CAA0B,qBAAW,4CAAC,YAAS,OAAc,IAAK,UAAS;AAAA,QAE7E,QACC;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF,IACE;AAAA,SACF,aAAa,cACb,4CAAC,0CAA0B,sBAAY,4CAAC,aAAU,OAAc,IAAK,WAAU;AAAA;AAAA;AAAA,EAEnF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -48,6 +48,7 @@ const RemovablePill = import_react.default.memo((props) => {
|
|
|
48
48
|
size,
|
|
49
49
|
disabled,
|
|
50
50
|
labelTruncated,
|
|
51
|
+
disableTruncationTooltip,
|
|
51
52
|
onRemove,
|
|
52
53
|
innerRef,
|
|
53
54
|
ariaLabel,
|
|
@@ -89,7 +90,7 @@ const RemovablePill = import_react.default.memo((props) => {
|
|
|
89
90
|
import_styled.StyledRemovablePillWrapper,
|
|
90
91
|
{
|
|
91
92
|
pillSize: size,
|
|
92
|
-
cols: [(iconLeft || IconLeft) && "min-content", "auto", `minmax(${size === "s" ?
|
|
93
|
+
cols: [(iconLeft || IconLeft) && "min-content", "auto", `minmax(${size === "s" ? 14 : 20}px, auto)`].filter(
|
|
93
94
|
(notFalse) => notFalse
|
|
94
95
|
),
|
|
95
96
|
disabled,
|
|
@@ -104,7 +105,16 @@ const RemovablePill = import_react.default.memo((props) => {
|
|
|
104
105
|
...ownerProps,
|
|
105
106
|
children: [
|
|
106
107
|
(iconLeft || IconLeft) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: IconLeft ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconLeft, { label }) : iconLeft }),
|
|
107
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
108
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
109
|
+
import_TextComponent.TextComponent,
|
|
110
|
+
{
|
|
111
|
+
pillSize: size,
|
|
112
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
113
|
+
labelTruncated,
|
|
114
|
+
disableTruncationTooltip,
|
|
115
|
+
label
|
|
116
|
+
}
|
|
117
|
+
),
|
|
108
118
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
109
119
|
import_DSPillButton.DSPillButton,
|
|
110
120
|
{
|
|
@@ -120,9 +130,9 @@ const RemovablePill = import_react.default.memo((props) => {
|
|
|
120
130
|
tabIndex,
|
|
121
131
|
applyAriaDisabled,
|
|
122
132
|
disabled,
|
|
123
|
-
width: `${size === "s" ?
|
|
124
|
-
height: `${size === "s" ?
|
|
125
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.CloseXsmall, { width: size === "s" ?
|
|
133
|
+
width: `${size === "s" ? 14 : 20}px`,
|
|
134
|
+
height: `${size === "s" ? 14 : 20}px`,
|
|
135
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.CloseXsmall, { width: size === "s" ? 14 : 20, height: size === "s" ? 14 : 20 })
|
|
126
136
|
}
|
|
127
137
|
) })
|
|
128
138
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/RemovablePill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\nimport { CloseXsmall } from '@elliemae/ds-icons';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport { uid } from 'uid';\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSPillButton } from '../../parts/DSPillButton/DSPillButton.js';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\n\nimport { DSPillGroupV2Context } from '../../parts/DSPillGroup/index.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledRemovablePillWrapper } from '../styled.js';\nimport { PILL_V2_DATA_TESTID } from '../../constants/index.js';\n\nexport const RemovablePill = React.memo<DSPillT.InternalProps>((props) => {\n const {\n label,\n size,\n disabled,\n labelTruncated,\n onRemove,\n innerRef,\n ariaLabel,\n tabIndex,\n applyAriaDisabled,\n iconLeft,\n IconLeft,\n } = props;\n const { onKeyboardRemove, onKeyboardNavigation } = useContext(DSPillGroupV2Context);\n const pillUid = useMemo(() => `ds-pill-${uid()}`, []);\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex: globalTabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n if (applyAriaDisabled) return;\n e.preventDefault();\n if (onKeyboardRemove) onKeyboardRemove(pillUid);\n }\n if (e.code === 'ArrowLeft') {\n e.preventDefault();\n if (onKeyboardNavigation) onKeyboardNavigation(pillUid, -1, e);\n }\n if (e.code === 'ArrowRight') {\n e.preventDefault();\n if (onKeyboardNavigation) onKeyboardNavigation(pillUid, 1, e);\n }\n },\n [onKeyboardRemove, onKeyboardNavigation, pillUid, applyAriaDisabled],\n );\n\n const handleOnRemove = useCallback(\n (e: React.KeyboardEvent | React.MouseEvent) => {\n if (applyAriaDisabled) return;\n if (onRemove) onRemove(e);\n },\n [onRemove, applyAriaDisabled],\n );\n\n return (\n <StyledRemovablePillWrapper\n pillSize={size}\n cols={\n [(iconLeft || IconLeft) && 'min-content', 'auto', `minmax(${size === 's' ?
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\nimport { CloseXsmall } from '@elliemae/ds-icons';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport { uid } from 'uid';\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSPillButton } from '../../parts/DSPillButton/DSPillButton.js';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\n\nimport { DSPillGroupV2Context } from '../../parts/DSPillGroup/index.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledRemovablePillWrapper } from '../styled.js';\nimport { PILL_V2_DATA_TESTID } from '../../constants/index.js';\n\nexport const RemovablePill = React.memo<DSPillT.InternalProps>((props) => {\n const {\n label,\n size,\n disabled,\n labelTruncated,\n disableTruncationTooltip,\n onRemove,\n innerRef,\n ariaLabel,\n tabIndex,\n applyAriaDisabled,\n iconLeft,\n IconLeft,\n } = props;\n const { onKeyboardRemove, onKeyboardNavigation } = useContext(DSPillGroupV2Context);\n const pillUid = useMemo(() => `ds-pill-${uid()}`, []);\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex: globalTabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n if (applyAriaDisabled) return;\n e.preventDefault();\n if (onKeyboardRemove) onKeyboardRemove(pillUid);\n }\n if (e.code === 'ArrowLeft') {\n e.preventDefault();\n if (onKeyboardNavigation) onKeyboardNavigation(pillUid, -1, e);\n }\n if (e.code === 'ArrowRight') {\n e.preventDefault();\n if (onKeyboardNavigation) onKeyboardNavigation(pillUid, 1, e);\n }\n },\n [onKeyboardRemove, onKeyboardNavigation, pillUid, applyAriaDisabled],\n );\n\n const handleOnRemove = useCallback(\n (e: React.KeyboardEvent | React.MouseEvent) => {\n if (applyAriaDisabled) return;\n if (onRemove) onRemove(e);\n },\n [onRemove, applyAriaDisabled],\n );\n\n return (\n <StyledRemovablePillWrapper\n pillSize={size}\n cols={\n [(iconLeft || IconLeft) && 'min-content', 'auto', `minmax(${size === 's' ? 14 : 20}px, auto)`].filter(\n (notFalse) => notFalse,\n ) as string[]\n }\n disabled={disabled}\n applyAriaDisabled={applyAriaDisabled}\n gutter={0}\n alignItems=\"center\"\n justifyItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-removable\"\n data-label={ariaLabel || label}\n hasIcon={(iconLeft || IconLeft) !== null}\n {...globalAttributes}\n {...ownerProps}\n >\n {(iconLeft || IconLeft) && (\n <StyledAgnosticPillRegion>{IconLeft ? <IconLeft label={label} /> : iconLeft}</StyledAgnosticPillRegion>\n )}\n <TextComponent\n pillSize={size}\n getOwnerProps={ownerProps.getOwnerProps}\n labelTruncated={labelTruncated}\n disableTruncationTooltip={disableTruncationTooltip}\n label={label}\n />\n <StyledAgnosticPillRegion>\n {/**\n * Button size = pill fit-content target (18 small / 24 medium) minus the agnostic\n * region's 2px top+bottom padding (\u00D72 = 4) \u2192 14 / 20. The pill height is fit-content,\n * and this button region would otherwise dominate the b2 label box (18/24) and force\n * the old 19/25. NOTE: no spec value exists for the button size that yields the pill's\n * target height (the spec only gives \"Button V3 small square\" + region 2px); 14/20 is\n * derived from the pill target \u2212 region padding. Raised as a spec concern.\n */}\n <DSPillButton\n {...props}\n className=\"ds-pill-focus-point\"\n id={pillUid}\n data-testid={PILL_V2_DATA_TESTID.PILL_REMOVABLE_ICON}\n innerRef={innerRef as TypescriptHelpersT.AnyRef<HTMLButtonElement>}\n onClick={handleOnRemove}\n onKeyDown={onKeyDown}\n aria-label={`Remove ${label}`}\n type=\"right\"\n tabIndex={tabIndex}\n applyAriaDisabled={applyAriaDisabled}\n disabled={disabled}\n width={`${size === 's' ? 14 : 20}px`}\n height={`${size === 's' ? 14 : 20}px`}\n >\n <CloseXsmall width={size === 's' ? 14 : 20} height={size === 's' ? 14 : 20} />\n </DSPillButton>\n </StyledAgnosticPillRegion>\n </StyledRemovablePillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD8DnB;AA7DJ,sBAA4B;AAE5B,mBAAwD;AACxD,iBAAoB;AACpB,8BAAsD;AACtD,0BAA6B;AAG7B,yBAAqC;AACrC,2BAA8B;AAC9B,oBAAqE;AACrE,uBAAoC;AAE7B,MAAM,gBAAgB,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACxE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,kBAAkB,qBAAqB,QAAI,yBAAW,uCAAoB;AAClF,QAAM,cAAU,sBAAQ,MAAM,eAAW,gBAAI,CAAC,IAAI,CAAC,CAAC;AACpD,QAAM,iBAAa,uCAAc,KAAK;AACtC,QAAM,EAAE,MAAM,UAAU,gBAAgB,GAAG,iBAAiB,QAAI,gDAAuB,KAAK;AAE5F,QAAM,gBAAY;AAAA,IAChB,CAAC,MAA2B;AAC1B,UAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AACvC,YAAI,kBAAmB;AACvB,UAAE,eAAe;AACjB,YAAI,iBAAkB,kBAAiB,OAAO;AAAA,MAChD;AACA,UAAI,EAAE,SAAS,aAAa;AAC1B,UAAE,eAAe;AACjB,YAAI,qBAAsB,sBAAqB,SAAS,IAAI,CAAC;AAAA,MAC/D;AACA,UAAI,EAAE,SAAS,cAAc;AAC3B,UAAE,eAAe;AACjB,YAAI,qBAAsB,sBAAqB,SAAS,GAAG,CAAC;AAAA,MAC9D;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB,sBAAsB,SAAS,iBAAiB;AAAA,EACrE;AAEA,QAAM,qBAAiB;AAAA,IACrB,CAAC,MAA8C;AAC7C,UAAI,kBAAmB;AACvB,UAAI,SAAU,UAAS,CAAC;AAAA,IAC1B;AAAA,IACA,CAAC,UAAU,iBAAiB;AAAA,EAC9B;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV,MACE,EAAE,YAAY,aAAa,eAAe,QAAQ,UAAU,SAAS,MAAM,KAAK,EAAE,WAAW,EAAE;AAAA,QAC7F,CAAC,aAAa;AAAA,MAChB;AAAA,MAEF;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,YAAW;AAAA,MACX,cAAa;AAAA,MACb,WAAU;AAAA,MACV,cAAY,aAAa;AAAA,MACzB,UAAU,YAAY,cAAc;AAAA,MACnC,GAAG;AAAA,MACH,GAAG;AAAA,MAEF;AAAA,qBAAY,aACZ,4CAAC,0CAA0B,qBAAW,4CAAC,YAAS,OAAc,IAAK,UAAS;AAAA,QAE9E;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,0CASC;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACJ,WAAU;AAAA,YACV,IAAI;AAAA,YACJ,eAAa,qCAAoB;AAAA,YACjC;AAAA,YACA,SAAS;AAAA,YACT;AAAA,YACA,cAAY,UAAU,KAAK;AAAA,YAC3B,MAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE;AAAA,YAChC,QAAQ,GAAG,SAAS,MAAM,KAAK,EAAE;AAAA,YAEjC,sDAAC,+BAAY,OAAO,SAAS,MAAM,KAAK,IAAI,QAAQ,SAAS,MAAM,KAAK,IAAI;AAAA;AAAA,QAC9E,GACF;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -43,6 +43,7 @@ const ValuePill = import_react.default.memo((props) => {
|
|
|
43
43
|
label,
|
|
44
44
|
size,
|
|
45
45
|
labelTruncated,
|
|
46
|
+
disableTruncationTooltip,
|
|
46
47
|
disabled,
|
|
47
48
|
tooltipValue,
|
|
48
49
|
iconLeft,
|
|
@@ -77,7 +78,27 @@ const ValuePill = import_react.default.memo((props) => {
|
|
|
77
78
|
tabIndex: -1,
|
|
78
79
|
children: [
|
|
79
80
|
(iconLeft || IconLeft) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: IconLeft ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconLeft, { label }) : iconLeft }),
|
|
80
|
-
tooltipValue !== "" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_tooltip_v3.DSTooltipV3, { text: tooltipValue ?? "", applyTooltipOverflowWrap, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
|
+
tooltipValue !== "" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_tooltip_v3.DSTooltipV3, { text: tooltipValue ?? "", applyTooltipOverflowWrap, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
82
|
+
import_styled.StyledSpanWithTooltip,
|
|
83
|
+
{
|
|
84
|
+
pillSize: size,
|
|
85
|
+
variant: "b2",
|
|
86
|
+
component: "span",
|
|
87
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
88
|
+
className: "ds-pill-tooltip-value",
|
|
89
|
+
"aria-disabled": applyAriaDisabled,
|
|
90
|
+
children: label
|
|
91
|
+
}
|
|
92
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
93
|
+
import_TextComponent.TextComponent,
|
|
94
|
+
{
|
|
95
|
+
pillSize: size,
|
|
96
|
+
getOwnerProps: ownerProps.getOwnerProps,
|
|
97
|
+
labelTruncated,
|
|
98
|
+
disableTruncationTooltip,
|
|
99
|
+
label: `${label}${trailingComma ? "," : ""}`
|
|
100
|
+
}
|
|
101
|
+
),
|
|
81
102
|
(iconRight || IconRight) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAgnosticPillRegion, { children: IconRight ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconRight, { label }) : iconRight })
|
|
82
103
|
]
|
|
83
104
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/types/ValuePill.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip-v3';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledSpanWithTooltip, StyledValuePillWrapper } from '../styled.js';\n\nexport const ValuePill = React.memo<DSPillT.InternalProps>((props) => {\n const {\n label,\n size,\n labelTruncated,\n disabled,\n tooltipValue,\n iconLeft,\n IconLeft,\n iconRight,\n IconRight,\n ariaLabel,\n applyAriaDisabled,\n readOnly,\n applyTooltipOverflowWrap,\n trailingComma,\n } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n\n return (\n <StyledValuePillWrapper\n disabled={disabled}\n pillSize={size}\n alignItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-value\"\n cols={\n [(iconLeft || IconLeft) && 'min-content', label && 'auto', (iconRight || IconRight) && 'min-content'].filter(\n (notFalse) => notFalse,\n ) as string[]\n }\n hasIcon={(iconLeft || IconLeft) !== null}\n hasIconRight={(iconRight || IconRight) !== null}\n data-label={ariaLabel || label}\n applyAriaDisabled={applyAriaDisabled}\n readOnly={readOnly}\n {...globalAttributes}\n {...ownerProps}\n tabIndex={-1}\n >\n {(iconLeft || IconLeft) && (\n <StyledAgnosticPillRegion>{IconLeft ? <IconLeft label={label} /> : iconLeft}</StyledAgnosticPillRegion>\n )}\n {tooltipValue !== '' ? (\n <DSTooltipV3 text={tooltipValue ?? ''} applyTooltipOverflowWrap={applyTooltipOverflowWrap}>\n <StyledSpanWithTooltip
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\nimport { useGetGlobalAttributes, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip-v3';\nimport React from 'react';\nimport type { DSPillT } from '../../react-desc-prop-types.js';\nimport { TextComponent } from '../TextComponent.js';\nimport { StyledAgnosticPillRegion, StyledSpanWithTooltip, StyledValuePillWrapper } from '../styled.js';\n\nexport const ValuePill = React.memo<DSPillT.InternalProps>((props) => {\n const {\n label,\n size,\n labelTruncated,\n disableTruncationTooltip,\n disabled,\n tooltipValue,\n iconLeft,\n IconLeft,\n iconRight,\n IconRight,\n ariaLabel,\n applyAriaDisabled,\n readOnly,\n applyTooltipOverflowWrap,\n trailingComma,\n } = props;\n const ownerProps = useOwnerProps(props);\n const { wrap, tabIndex, ...globalAttributes } = useGetGlobalAttributes(props);\n\n return (\n <StyledValuePillWrapper\n disabled={disabled}\n pillSize={size}\n alignItems=\"center\"\n className=\"ds-pill-wrapper ds-pill-wrapper-value\"\n cols={\n [(iconLeft || IconLeft) && 'min-content', label && 'auto', (iconRight || IconRight) && 'min-content'].filter(\n (notFalse) => notFalse,\n ) as string[]\n }\n hasIcon={(iconLeft || IconLeft) !== null}\n hasIconRight={(iconRight || IconRight) !== null}\n data-label={ariaLabel || label}\n applyAriaDisabled={applyAriaDisabled}\n readOnly={readOnly}\n {...globalAttributes}\n {...ownerProps}\n tabIndex={-1}\n >\n {(iconLeft || IconLeft) && (\n <StyledAgnosticPillRegion>{IconLeft ? <IconLeft label={label} /> : iconLeft}</StyledAgnosticPillRegion>\n )}\n {tooltipValue !== '' ? (\n <DSTooltipV3 text={tooltipValue ?? ''} applyTooltipOverflowWrap={applyTooltipOverflowWrap}>\n <StyledSpanWithTooltip\n pillSize={size}\n variant=\"b2\"\n component=\"span\"\n getOwnerProps={ownerProps.getOwnerProps}\n className=\"ds-pill-tooltip-value\"\n aria-disabled={applyAriaDisabled}\n >\n {label}\n </StyledSpanWithTooltip>\n </DSTooltipV3>\n ) : (\n <TextComponent\n pillSize={size}\n getOwnerProps={ownerProps.getOwnerProps}\n labelTruncated={labelTruncated}\n disableTruncationTooltip={disableTruncationTooltip}\n label={`${label}${trailingComma ? ',' : ''}`}\n />\n )}\n {(iconRight || IconRight) && (\n <StyledAgnosticPillRegion>{IconRight ? <IconRight label={label} /> : iconRight}</StyledAgnosticPillRegion>\n )}\n </StyledValuePillWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD8BnB;AA7BJ,8BAAsD;AACtD,2BAA4B;AAC5B,mBAAkB;AAElB,2BAA8B;AAC9B,oBAAwF;AAEjF,MAAM,YAAY,aAAAA,QAAM,KAA4B,CAAC,UAAU;AACpE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,iBAAa,uCAAc,KAAK;AACtC,QAAM,EAAE,MAAM,UAAU,GAAG,iBAAiB,QAAI,gDAAuB,KAAK;AAE5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,YAAW;AAAA,MACX,WAAU;AAAA,MACV,MACE,EAAE,YAAY,aAAa,eAAe,SAAS,SAAS,aAAa,cAAc,aAAa,EAAE;AAAA,QACpG,CAAC,aAAa;AAAA,MAChB;AAAA,MAEF,UAAU,YAAY,cAAc;AAAA,MACpC,eAAe,aAAa,eAAe;AAAA,MAC3C,cAAY,aAAa;AAAA,MACzB;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACJ,UAAU;AAAA,MAER;AAAA,qBAAY,aACZ,4CAAC,0CAA0B,qBAAW,4CAAC,YAAS,OAAc,IAAK,UAAS;AAAA,QAE7E,iBAAiB,KAChB,4CAAC,oCAAY,MAAM,gBAAgB,IAAI,0BACrC;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,SAAQ;AAAA,YACR,WAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B,WAAU;AAAA,YACV,iBAAe;AAAA,YAEd;AAAA;AAAA,QACH,GACF,IAEA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACV,eAAe,WAAW;AAAA,YAC1B;AAAA,YACA;AAAA,YACA,OAAO,GAAG,KAAK,GAAG,gBAAgB,MAAM,EAAE;AAAA;AAAA,QAC5C;AAAA,SAEA,aAAa,cACb,4CAAC,0CAA0B,sBAAY,4CAAC,aAAU,OAAc,IAAK,WAAU;AAAA;AAAA;AAAA,EAEnF;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|