@servicetitan/anvil2 1.39.0 → 1.40.1
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/CHANGELOG.md +40 -12
- package/dist/Breadcrumbs-C_gan90a.js +36 -0
- package/dist/Breadcrumbs-C_gan90a.js.map +1 -0
- package/dist/{Breadcrumbs-DJbCkSeD.js → Breadcrumbs-D_jgwoN3-Dlw-weD8.js} +8 -38
- package/dist/Breadcrumbs-D_jgwoN3-Dlw-weD8.js.map +1 -0
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Calendar-BT6eeZDr-CSY_7I1M.js → Calendar-B2lMJY8r-Ddu4TfZW.js} +16 -15
- package/dist/Calendar-B2lMJY8r-Ddu4TfZW.js.map +1 -0
- package/dist/{Calendar-CIWOPMcu.js → Calendar-C099gPDT.js} +2 -2
- package/dist/{Calendar-CIWOPMcu.js.map → Calendar-C099gPDT.js.map} +1 -1
- package/dist/Calendar.js +1 -1
- package/dist/{Checkbox-BNrjUtHs-CfExXZer.js → Checkbox-B25R5cdM-CQSPNPUv.js} +2 -2
- package/dist/{Checkbox-BNrjUtHs-CfExXZer.js.map → Checkbox-B25R5cdM-CQSPNPUv.js.map} +1 -1
- package/dist/{Checkbox-ic-HmakR.js → Checkbox-BEM_rIup.js} +2 -2
- package/dist/{Checkbox-ic-HmakR.js.map → Checkbox-BEM_rIup.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Combobox-DR7O7aaZ.js → Combobox-mdEmKiV9.js} +195 -391
- package/dist/Combobox-mdEmKiV9.js.map +1 -0
- package/dist/Combobox.css +43 -281
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-CYT6udu8.js → DateField-Cwvw5EXY.js} +43 -43
- package/dist/DateField-Cwvw5EXY.js.map +1 -0
- package/dist/DateField.js +1 -1
- package/dist/DateFieldRange-BmokKaNf.js +22 -0
- package/dist/DateFieldRange-BmokKaNf.js.map +1 -0
- package/dist/DateFieldRange-DxR0h7Y6-CV2wAhJB.js +2759 -0
- package/dist/DateFieldRange-DxR0h7Y6-CV2wAhJB.js.map +1 -0
- package/dist/DateFieldRange.d.ts +2 -0
- package/dist/DateFieldRange.js +2 -0
- package/dist/DateFieldRange.js.map +1 -0
- package/dist/DateFieldSingle-BlKlfasz.js +22 -0
- package/dist/DateFieldSingle-BlKlfasz.js.map +1 -0
- package/dist/DateFieldSingle.d.ts +2 -0
- package/dist/DateFieldSingle.js +2 -0
- package/dist/DateFieldSingle.js.map +1 -0
- package/dist/{DaysOfTheWeek-DbjM8UPz.js → DaysOfTheWeek-CnTEWxtN.js} +2 -2
- package/dist/{DaysOfTheWeek-DbjM8UPz.js.map → DaysOfTheWeek-CnTEWxtN.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-BmeXBcs-.js → Dialog-CTf90W9W.js} +21 -26
- package/dist/Dialog-CTf90W9W.js.map +1 -0
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-8jQ-jaiv.js → Drawer-BmyhW9rQ.js} +2 -2
- package/dist/{Drawer-8jQ-jaiv.js.map → Drawer-BmyhW9rQ.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/{InputMask-CiHg25XE-DXRWDeku.js → InputMask-C9FmGrFp-BEgnXA0F.js} +2 -2
- package/dist/{InputMask-CiHg25XE-DXRWDeku.js.map → InputMask-C9FmGrFp-BEgnXA0F.js.map} +1 -1
- package/dist/{InputMask-DH14Bp7r.js → InputMask-CzTlJ1ya.js} +2 -2
- package/dist/{InputMask-DH14Bp7r.js.map → InputMask-CzTlJ1ya.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-HBQy0Qmv.js → ListView-CULEOIJt.js} +3 -3
- package/dist/{ListView-HBQy0Qmv.js.map → ListView-CULEOIJt.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/Menu-C9fOIYH7.js +60 -0
- package/dist/Menu-C9fOIYH7.js.map +1 -0
- package/dist/{Menu-CijOsL76.js → Menu-Dh8roQgP-De9kBXuN.js} +23 -73
- package/dist/Menu-Dh8roQgP-De9kBXuN.js.map +1 -0
- package/dist/{Menu.css → Menu-Dh8roQgP.css} +22 -21
- package/dist/Menu.js +1 -1
- package/dist/{Page-CdkxWab-.js → Page--tqLz6hu.js} +135 -105
- package/dist/Page--tqLz6hu.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/Pagination.css +124 -0
- package/dist/Pagination.d.ts +6 -0
- package/dist/Pagination.js +430 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/{Popover-CCcd-JhF.js → Popover-DVPij2bz.js} +2 -2
- package/dist/{Popover-CCcd-JhF.js.map → Popover-DVPij2bz.js.map} +1 -1
- package/dist/{Popover-CVCAWhdO-dI3x1kfe.js → Popover-DwWPCZH--BIhxtOlK.js} +3 -3
- package/dist/{Popover-CVCAWhdO-dI3x1kfe.js.map → Popover-DwWPCZH--BIhxtOlK.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-BEDtxKDv.js → ProgressBar-DOtekmJS.js} +2 -2
- package/dist/{ProgressBar-BEDtxKDv.js.map → ProgressBar-DOtekmJS.js.map} +1 -1
- package/dist/{ProgressBar-CZhkKwaS-BppwbCSh.js → ProgressBar-Dg77Xf_k-CyD-A4pF.js} +22 -23
- package/dist/ProgressBar-Dg77Xf_k-CyD-A4pF.js.map +1 -0
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-DiBn0-hf-CCkWosaL.js → Radio-BZ44ktjU-CZuSckW6.js} +3 -3
- package/dist/{Radio-DiBn0-hf-CCkWosaL.js.map → Radio-BZ44ktjU-CZuSckW6.js.map} +1 -1
- package/dist/{Radio-Sj9M1KAg.js → Radio-BpE1s8OT.js} +2 -2
- package/dist/{Radio-Sj9M1KAg.js.map → Radio-BpE1s8OT.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{SelectCard-CY8IVFDT-lXO3-mQ_.js → SelectCard-BaKoHPjf-BLXKVIys.js} +22 -22
- package/dist/SelectCard-BaKoHPjf-BLXKVIys.js.map +1 -0
- package/dist/SelectCard-BaKoHPjf.css +51 -0
- package/dist/SelectCard.js +1 -1
- package/dist/{SelectCardGroup-DLt9z9b8.js → SelectCardGroup-BVGPNZft.js} +2 -2
- package/dist/{SelectCardGroup-DLt9z9b8.js.map → SelectCardGroup-BVGPNZft.js.map} +1 -1
- package/dist/SelectTrigger-DMMw_LkZ.js +138 -0
- package/dist/SelectTrigger-DMMw_LkZ.js.map +1 -0
- package/dist/SelectTrigger.css +16 -0
- package/dist/SelectTrigger.d.ts +6 -0
- package/dist/SelectTrigger.js +2 -0
- package/dist/SelectTrigger.js.map +1 -0
- package/dist/SelectTriggerBase-A6_sIBpr-DfI0HLx2.js +301 -0
- package/dist/SelectTriggerBase-A6_sIBpr-DfI0HLx2.js.map +1 -0
- package/dist/SelectTriggerBase-A6_sIBpr.css +270 -0
- package/dist/{TextField-C5KbQxoU-DGLAOhCu.js → TextField-CG6Nv-0C-jX4uvHT8.js} +2 -2
- package/dist/{TextField-C5KbQxoU-DGLAOhCu.js.map → TextField-CG6Nv-0C-jX4uvHT8.js.map} +1 -1
- package/dist/{TextField-DUohb_Y6.js → TextField-DoqYMou3.js} +2 -2
- package/dist/{TextField-DUohb_Y6.js.map → TextField-DoqYMou3.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-HGQXwvO1.js → Textarea-6omWLtXb.js} +2 -2
- package/dist/{Textarea-HGQXwvO1.js.map → Textarea-6omWLtXb.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/Toast.js +1 -1
- package/dist/{Toolbar-28Uv31qc.js → Toolbar-B7NKUkgL.js} +5 -7
- package/dist/Toolbar-B7NKUkgL.js.map +1 -0
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-ZUko7Bl3.js → Tooltip-BcUIIzkM.js} +2 -2
- package/dist/{Tooltip-ZUko7Bl3.js.map → Tooltip-BcUIIzkM.js.map} +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/assets/icons/st/document_audio.svg +1 -0
- package/dist/assets/icons/st/document_doc.svg +1 -0
- package/dist/assets/icons/st/document_drawing.svg +1 -0
- package/dist/assets/icons/st/document_form.svg +1 -0
- package/dist/assets/icons/st/document_message.svg +1 -0
- package/dist/assets/icons/st/document_other.svg +1 -0
- package/dist/assets/icons/st/document_pdf.svg +1 -0
- package/dist/assets/icons/st/document_spreadsheet.svg +1 -0
- package/dist/assets/icons/st/document_text.svg +1 -0
- package/dist/assets/icons/st/document_web.svg +1 -0
- package/dist/assets/icons/st/gnav_insurance_work_queue_active.svg +1 -0
- package/dist/assets/icons/st/gnav_insurance_work_queue_inactive.svg +1 -0
- package/dist/assets/icons/st/gnav_production_work_queue_active.svg +1 -0
- package/dist/assets/icons/st/gnav_production_work_queue_inactive.svg +1 -0
- package/dist/assets/icons/st.ts +14 -0
- package/dist/components/Alert/Alert.figma.d.ts +1 -0
- package/dist/components/DateFieldRange/DateFieldRange.d.ts +7 -0
- package/dist/components/DateFieldRange/index.d.ts +2 -0
- package/dist/components/DateFieldSingle/DateFieldSingle.d.ts +7 -0
- package/dist/components/DateFieldSingle/index.d.ts +2 -0
- package/dist/components/Page/Page.d.ts +19 -352
- package/dist/components/Page/PageContent.d.ts +24 -0
- package/dist/components/Page/PageContext.d.ts +4 -0
- package/dist/components/Page/PageFooter.d.ts +24 -0
- package/dist/components/Page/PageHeader.d.ts +135 -0
- package/dist/components/Page/PagePanel.d.ts +57 -0
- package/dist/components/Page/PageSidebar.d.ts +57 -0
- package/dist/components/Page/PageSidebarContext.d.ts +5 -0
- package/dist/components/Page/PageSidebarHeader.d.ts +23 -0
- package/dist/components/Page/index.d.ts +5 -0
- package/dist/components/Pagination/Pagination.d.ts +58 -0
- package/dist/components/Pagination/index.d.ts +2 -0
- package/dist/components/Pagination/internal/usePaginationArray.d.ts +36 -0
- package/dist/components/SelectTrigger/SelectTrigger.d.ts +11 -0
- package/dist/components/SelectTrigger/index.d.ts +2 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/event-BEJFimi3.js +6 -0
- package/dist/event-BEJFimi3.js.map +1 -0
- package/dist/index.js +24 -21
- package/dist/index.js.map +1 -1
- package/dist/keyboard_arrow_right-DZWNVytH.js +8 -0
- package/dist/keyboard_arrow_right-DZWNVytH.js.map +1 -0
- package/dist/more_horiz-DJgdQiy0.js +6 -0
- package/dist/more_horiz-DJgdQiy0.js.map +1 -0
- package/dist/{toast-DjypuZMf.js → toast-ByZDutpT.js} +2 -2
- package/dist/{toast-DjypuZMf.js.map → toast-ByZDutpT.js.map} +1 -1
- package/package.json +7 -4
- package/dist/Breadcrumbs-DJbCkSeD.js.map +0 -1
- package/dist/Calendar-BT6eeZDr-CSY_7I1M.js.map +0 -1
- package/dist/Combobox-DR7O7aaZ.js.map +0 -1
- package/dist/DateField-CYT6udu8.js.map +0 -1
- package/dist/Dialog-BmeXBcs-.js.map +0 -1
- package/dist/Menu-CijOsL76.js.map +0 -1
- package/dist/Page-CdkxWab-.js.map +0 -1
- package/dist/ProgressBar-CZhkKwaS-BppwbCSh.js.map +0 -1
- package/dist/SelectCard-CY8IVFDT-lXO3-mQ_.js.map +0 -1
- package/dist/SelectCard-CY8IVFDT.css +0 -38
- package/dist/Toolbar-28Uv31qc.js.map +0 -1
- /package/dist/{Breadcrumbs.css → Breadcrumbs-D_jgwoN3.css} +0 -0
- /package/dist/{Calendar-BT6eeZDr.css → Calendar-B2lMJY8r.css} +0 -0
- /package/dist/{Popover-CVCAWhdO.css → Popover-DwWPCZH-.css} +0 -0
- /package/dist/{ProgressBar-CZhkKwaS.css → ProgressBar-Dg77Xf_k.css} +0 -0
- /package/dist/{Radio-DiBn0-hf.css → Radio-BZ44ktjU.css} +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef, useState, useId, createContext, useContext, useLayoutEffect } from 'react';
|
|
3
3
|
import { C as Card } from './Card-ZknG-yim-7W6rYSFV.js';
|
|
4
|
-
import { R as RadioGroup, a as Radio } from './Radio-
|
|
4
|
+
import { R as RadioGroup, a as Radio } from './Radio-BZ44ktjU-CZuSckW6.js';
|
|
5
5
|
import { c as cx } from './index-tZvMCc77.js';
|
|
6
|
-
import { C as CheckboxGroup, a as Checkbox } from './Checkbox-
|
|
6
|
+
import { C as CheckboxGroup, a as Checkbox } from './Checkbox-B25R5cdM-CQSPNPUv.js';
|
|
7
7
|
import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
|
|
8
8
|
|
|
9
|
-
import './SelectCard-
|
|
10
|
-
"select-card": "_select-
|
|
11
|
-
"select-card--
|
|
12
|
-
"select-card--
|
|
13
|
-
"select-card--
|
|
9
|
+
import './SelectCard-BaKoHPjf.css';const styles = {
|
|
10
|
+
"select-card": "_select-card_3pbcy_2",
|
|
11
|
+
"select-card--errored": "_select-card--errored_3pbcy_22",
|
|
12
|
+
"select-card--selected": "_select-card--selected_3pbcy_25",
|
|
13
|
+
"select-card--disabled": "_select-card--disabled_3pbcy_41",
|
|
14
|
+
"select-card--remove-drop-shadow": "_select-card--remove-drop-shadow_3pbcy_45"
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
const SelectCardContext = createContext(null);
|
|
@@ -103,6 +104,7 @@ const SelectCardElement = forwardRef(
|
|
|
103
104
|
errored,
|
|
104
105
|
radioProps,
|
|
105
106
|
onChange,
|
|
107
|
+
removeDropShadow,
|
|
106
108
|
id,
|
|
107
109
|
...rest
|
|
108
110
|
} = props;
|
|
@@ -148,13 +150,12 @@ const SelectCardElement = forwardRef(
|
|
|
148
150
|
Card,
|
|
149
151
|
{
|
|
150
152
|
...rest,
|
|
151
|
-
className: cx(
|
|
152
|
-
styles["select-card"],
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
),
|
|
153
|
+
className: cx(styles["select-card"], className, {
|
|
154
|
+
[styles["select-card--remove-drop-shadow"]]: removeDropShadow,
|
|
155
|
+
[styles["select-card--selected"]]: isChecked && !errored,
|
|
156
|
+
[styles["select-card--errored"]]: errored,
|
|
157
|
+
[styles["select-card--disabled"]]: disabled
|
|
158
|
+
}),
|
|
158
159
|
children
|
|
159
160
|
}
|
|
160
161
|
),
|
|
@@ -174,13 +175,12 @@ const SelectCardElement = forwardRef(
|
|
|
174
175
|
Card,
|
|
175
176
|
{
|
|
176
177
|
...rest,
|
|
177
|
-
className: cx(
|
|
178
|
-
styles["select-card"],
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
),
|
|
178
|
+
className: cx(styles["select-card"], className, {
|
|
179
|
+
[styles["select-card--remove-drop-shadow"]]: removeDropShadow,
|
|
180
|
+
[styles["select-card--selected"]]: isChecked && !errored,
|
|
181
|
+
[styles["select-card--errored"]]: errored,
|
|
182
|
+
[styles["select-card--disabled"]]: disabled
|
|
183
|
+
}),
|
|
184
184
|
children
|
|
185
185
|
}
|
|
186
186
|
),
|
|
@@ -221,4 +221,4 @@ const SelectCard = Object.assign(SelectCardElement, {
|
|
|
221
221
|
});
|
|
222
222
|
|
|
223
223
|
export { SelectCardGroup as S, SelectCard as a };
|
|
224
|
-
//# sourceMappingURL=SelectCard-
|
|
224
|
+
//# sourceMappingURL=SelectCard-BaKoHPjf-BLXKVIys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectCard-BaKoHPjf-BLXKVIys.js","sources":["../../hammer-react/dist/SelectCard-BaKoHPjf.js"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { useContext, useState, useId, createContext, forwardRef, useLayoutEffect } from 'react';\nimport { C as Card } from './Card-ZknG-yim.js';\nimport { a as RadioGroup, R as Radio } from './Radio-BZ44ktjU.js';\nimport cx from 'classnames';\nimport { a as CheckboxGroup, C as Checkbox } from './Checkbox-B25R5cdM.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\n\nimport './SelectCard.css';const styles = {\n\t\"select-card\": \"_select-card_3pbcy_2\",\n\t\"select-card--errored\": \"_select-card--errored_3pbcy_22\",\n\t\"select-card--selected\": \"_select-card--selected_3pbcy_25\",\n\t\"select-card--disabled\": \"_select-card--disabled_3pbcy_41\",\n\t\"select-card--remove-drop-shadow\": \"_select-card--remove-drop-shadow_3pbcy_45\"\n};\n\nconst SelectCardContext = createContext(null);\nconst SelectCardProvider = ({\n children,\n onChange,\n selectionMode\n}) => {\n const [selection, setSelection] = useState(/* @__PURE__ */ new Set());\n const radioName = useId();\n const handleChange = (e, state, options) => {\n if (!state || !state.id) {\n if (!options?.internal) {\n onChange(e, state);\n }\n return;\n }\n if (selectionMode === \"single\") {\n if (state.checked) {\n setSelection(/* @__PURE__ */ new Set([state.id]));\n } else {\n setSelection(/* @__PURE__ */ new Set());\n }\n } else {\n if (state.checked) {\n setSelection(selection.add(state.id));\n } else {\n selection.delete(state.id);\n setSelection(selection);\n }\n }\n if (!options?.internal) {\n onChange(e, state);\n }\n };\n const context = {\n selectionMode,\n onChange: handleChange,\n radioName,\n selection\n };\n return /* @__PURE__ */ jsx(SelectCardContext.Provider, { value: context, children });\n};\nconst useSelectCardContext = () => useContext(SelectCardContext);\n\nconst SelectCardGroup = forwardRef((props, _ref) => {\n const {\n ariaLabelledBy,\n children,\n legend,\n onChange,\n required = false,\n selectionMode,\n ...rest\n } = props;\n return /* @__PURE__ */ jsxs(SelectCardProvider, { onChange, selectionMode, children: [\n selectionMode === \"multiple\" && /* @__PURE__ */ jsx(\n CheckboxGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n ),\n selectionMode === \"single\" && /* @__PURE__ */ jsx(\n RadioGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n )\n ] });\n});\nSelectCardGroup.displayName = \"SelectCardGroup\";\n\nconst SelectCardElement = forwardRef(\n (props, ref) => {\n const {\n checkboxProps,\n children,\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n errored,\n radioProps,\n onChange,\n removeDropShadow,\n id,\n ...rest\n } = props;\n const [checked, setChecked] = useOptionallyControlledState({\n controlledValue: checkedProp,\n defaultValue: defaultCheckedProp || false,\n onChange\n });\n const context = useSelectCardContext();\n const [_, setForceRenderCount] = useState(0);\n useLayoutEffect(() => {\n if (defaultCheckedProp) {\n context?.onChange(\n void 0,\n {\n id,\n checked: defaultCheckedProp\n },\n { internal: true }\n );\n setForceRenderCount((prev) => prev + 1);\n }\n }, []);\n const handleChange = (event) => {\n const newChecked = event ? event.target.checked : false;\n setChecked(newChecked);\n context?.onChange(event, {\n id,\n checked: newChecked\n });\n };\n const isChecked = context ? context.selection.has(id) : checked;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n (!context || context?.selectionMode === \"multiple\") && /* @__PURE__ */ jsx(\n Checkbox,\n {\n ...checkboxProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(styles[\"select-card\"], className, {\n [styles[\"select-card--remove-drop-shadow\"]]: removeDropShadow,\n [styles[\"select-card--selected\"]]: isChecked && !errored,\n [styles[\"select-card--errored\"]]: errored,\n [styles[\"select-card--disabled\"]]: disabled\n }),\n children\n }\n ),\n hideCheckbox: true\n }\n ),\n context?.selectionMode === \"single\" && /* @__PURE__ */ jsx(\n Radio,\n {\n ...radioProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n name: context.radioName,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(styles[\"select-card\"], className, {\n [styles[\"select-card--remove-drop-shadow\"]]: removeDropShadow,\n [styles[\"select-card--selected\"]]: isChecked && !errored,\n [styles[\"select-card--errored\"]]: errored,\n [styles[\"select-card--disabled\"]]: disabled\n }),\n children\n }\n ),\n hideRadio: true\n }\n )\n ] });\n }\n);\nSelectCardElement.displayName = \"SelectCard\";\nconst SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: SelectCardGroup\n});\n\nexport { SelectCard as S, SelectCardGroup as a };\n//# sourceMappingURL=SelectCard-BaKoHPjf.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@layer starter, reset, base, state, application;
|
|
2
|
+
@layer starter, reset, base, state, application;
|
|
3
|
+
@layer base {
|
|
4
|
+
._select-card_3pbcy_2 {
|
|
5
|
+
--box-shadow-size: 0rem 0.125rem 0.5rem;
|
|
6
|
+
--box-shadow-color: var(--shadow-color, rgba(20, 20, 20, 0.0784313725));
|
|
7
|
+
box-shadow: var(--box-shadow-size) var(--box-shadow-color);
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
transition-property: box-shadow, color, background-color, border-color, text-decoration-color, fill, stroke;
|
|
10
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
11
|
+
transition-duration: 200ms;
|
|
12
|
+
isolation: isolate;
|
|
13
|
+
position: relative;
|
|
14
|
+
width: -moz-fit-content;
|
|
15
|
+
width: fit-content;
|
|
16
|
+
}
|
|
17
|
+
._select-card_3pbcy_2::before {
|
|
18
|
+
position: absolute;
|
|
19
|
+
inset: 0;
|
|
20
|
+
z-index: -1;
|
|
21
|
+
border-radius: inherit;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
@layer state {
|
|
25
|
+
._select-card--errored_3pbcy_22 {
|
|
26
|
+
border: 2px solid var(--border-color-danger, #e13212);
|
|
27
|
+
}
|
|
28
|
+
._select-card--selected_3pbcy_25 {
|
|
29
|
+
border: 0.0625rem solid var(--border-color-strong, #444445);
|
|
30
|
+
outline: 0.0625rem solid var(--border-color-strong, #444445);
|
|
31
|
+
}
|
|
32
|
+
._select-card_3pbcy_2:hover::before {
|
|
33
|
+
content: "";
|
|
34
|
+
background-color: var(--overlay-color-hover, rgba(20, 20, 20, 0.0784313725));
|
|
35
|
+
}
|
|
36
|
+
._select-card_3pbcy_2:active::before {
|
|
37
|
+
content: "";
|
|
38
|
+
background-color: var(--overlay-color-active, rgba(20, 20, 20, 0.1607843137));
|
|
39
|
+
}
|
|
40
|
+
._select-card_3pbcy_2:focus {
|
|
41
|
+
outline: 0.25rem solid var(--focus-ring-color, #0265DC);
|
|
42
|
+
outline-offset: 0.125rem;
|
|
43
|
+
}
|
|
44
|
+
._select-card--disabled_3pbcy_41 {
|
|
45
|
+
opacity: 0.4;
|
|
46
|
+
cursor: not-allowed;
|
|
47
|
+
}
|
|
48
|
+
._select-card--remove-drop-shadow_3pbcy_45 {
|
|
49
|
+
box-shadow: none;
|
|
50
|
+
}
|
|
51
|
+
}
|
package/dist/SelectCard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-
|
|
1
|
+
export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-BVGPNZft.js';
|
|
2
2
|
//# sourceMappingURL=SelectCard.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
|
-
import { S as SelectCardGroup$1, a as SelectCard$1 } from './SelectCard-
|
|
3
|
+
import { S as SelectCardGroup$1, a as SelectCard$1 } from './SelectCard-BaKoHPjf-BLXKVIys.js';
|
|
4
4
|
|
|
5
5
|
const SelectCardElement = forwardRef(
|
|
6
6
|
(props, ref) => {
|
|
@@ -46,4 +46,4 @@ const SelectCardGroup = forwardRef(
|
|
|
46
46
|
SelectCardGroup.displayName = SelectCardGroup$1.displayName;
|
|
47
47
|
|
|
48
48
|
export { SelectCard as S, SelectCardGroup as a, SelectCardElement as b };
|
|
49
|
-
//# sourceMappingURL=SelectCardGroup-
|
|
49
|
+
//# sourceMappingURL=SelectCardGroup-BVGPNZft.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCardGroup-
|
|
1
|
+
{"version":3,"file":"SelectCardGroup-BVGPNZft.js","sources":["../src/components/SelectCard/SelectCard.tsx","../src/components/SelectCard/SelectCardGroup.tsx"],"sourcesContent":["import {\n SelectCardProps as CoreSelectCardProps,\n SelectCard as CoreSelectCard,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCard component\n * @property {Omit<CheckboxProps, \"label\">} [checkboxProps] - Passes props to the underlying Checkbox component\n * @property {boolean} [checked] - Controlled state. When provided, the component becomes controlled\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {boolean} [disabled] - When true, disables the card\n * @property {boolean} [errored] - When true, sets error styling on the card\n * @property {string | number} id - A unique identifier for the card, used to track the selection state\n * @property {(value: boolean) => void} onChange - Function called on selection state change\n * @property {Omit<RadioProps, \"label\">} [radioProps] - Passes props to the underlying Radio component\n * @extends CoreSelectCardProps\n */\nexport type SelectCardProps = CoreSelectCardProps;\n\nexport const SelectCardElement = forwardRef(\n (props: SelectCardProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCard ref={ref} {...props} />;\n },\n);\nSelectCardElement.displayName = CoreSelectCard.displayName;\n\n/**\n * SelectCard component for creating interactive card-based selection interfaces.\n *\n * Features:\n * - Supports both single selection (radio) and multiple selection (checkbox) modes\n * - Automatic context detection for selection behavior\n * - Visual feedback for selected, disabled, and error states\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Customizable styling through Card component props\n * - Hover and focus states with smooth transitions\n * - Integration with SelectCardGroup for grouped selection\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard\n * id=\"option-1\"\n * onChange={(checked) => console.log('Selected:', checked)}\n * >\n * <Text variant=\"headline\" size=\"small\">Option 1</Text>\n * <Text>Description of option 1</Text>\n * </SelectCard>\n */\nexport const SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: CoreSelectCardGroup,\n});\n","import {\n SelectCardGroupProps as CoreSelectCardGroupProps,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCardGroup component\n * @property {string} [ariaLabelledBy] - Associates the legend with content below\n * @property {ReactNode} [children] - Child SelectCard components\n * @property {CheckboxGroupProps[\"legend\"]} legend - Sets the legend on the group\n * @property {boolean} [required] - When true, sets \"required\" text in label. This does not enforce error when nothing is selected\n * @property {(e?: ChangeEvent<HTMLInputElement>, state?: ISelectCardState) => void} onChange - Callback function that is triggered when the selection state changes\n * @property {\"single\" | \"multiple\"} selectionMode - Sets how many cards the user can select, either 'single' (radio buttons) or 'multiple' (checkboxes)\n * @extends CoreSelectCardGroupProps\n */\nexport type SelectCardGroupProps = CoreSelectCardGroupProps;\n\n/**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Integrates with CheckboxGroup and RadioGroup for proper form semantics\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCardGroup\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCardGroup>\n */\nexport const SelectCardGroup = forwardRef(\n (props: SelectCardGroupProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCardGroup ref={ref} {...props} />;\n },\n);\nSelectCardGroup.displayName = CoreSelectCardGroup.displayName;\n"],"names":["CoreSelectCard","CoreSelectCardGroup"],"mappings":";;;;AAqBO,MAAM,iBAAoB,GAAA,UAAA;AAAA,EAC/B,CAAC,OAAwB,GAA+B,KAAA;AACtD,IAAA,uBAAQ,GAAA,CAAAA,YAAA,EAAA,EAAe,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEhD;AACA,iBAAA,CAAkB,cAAcA,YAAe,CAAA,WAAA;AAwBlC,MAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAO,iBAAmB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BzD,KAAO,EAAAC;AACT,CAAC;;ACjCM,MAAM,eAAkB,GAAA,UAAA;AAAA,EAC7B,CAAC,OAA6B,GAA+B,KAAA;AAC3D,IAAA,uBAAQ,GAAA,CAAAA,iBAAA,EAAA,EAAoB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAErD;AACA,eAAA,CAAgB,cAAcA,iBAAoB,CAAA,WAAA;;;;"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useTrackingId } from './useTrackingId.js';
|
|
3
|
+
import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
|
|
4
|
+
import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
|
|
5
|
+
import { a as Avatar } from './Avatar-B20IdOEO-Di14brYV.js';
|
|
6
|
+
import { S as SelectTriggerBase, d as defaultItemToString, a as defaultItemToKey } from './SelectTriggerBase-A6_sIBpr-DfI0HLx2.js';
|
|
7
|
+
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
|
|
8
|
+
|
|
9
|
+
import './SelectTrigger.css';const SelectTrigger$1 = function(props) {
|
|
10
|
+
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
11
|
+
const {
|
|
12
|
+
className,
|
|
13
|
+
style,
|
|
14
|
+
label,
|
|
15
|
+
size,
|
|
16
|
+
error,
|
|
17
|
+
hint,
|
|
18
|
+
description,
|
|
19
|
+
required,
|
|
20
|
+
moreInfo,
|
|
21
|
+
openMoreInfo,
|
|
22
|
+
prefix,
|
|
23
|
+
suffix,
|
|
24
|
+
maxRows,
|
|
25
|
+
selectedItemProps = () => ({}),
|
|
26
|
+
id,
|
|
27
|
+
placeholder,
|
|
28
|
+
disabled: isDisabled,
|
|
29
|
+
readOnly: isReadOnly,
|
|
30
|
+
onClick,
|
|
31
|
+
multiple,
|
|
32
|
+
onChange,
|
|
33
|
+
disableClearSelection,
|
|
34
|
+
itemToString: itemToStringProp,
|
|
35
|
+
itemToKey: itemToKeyProp,
|
|
36
|
+
selectedItem = null,
|
|
37
|
+
selectedItems = [],
|
|
38
|
+
...rest
|
|
39
|
+
} = componentProps;
|
|
40
|
+
const itemToString = itemToStringProp ?? defaultItemToString;
|
|
41
|
+
const itemToKey = itemToKeyProp ?? defaultItemToKey;
|
|
42
|
+
function removeSelectedItem(item) {
|
|
43
|
+
if (multiple) {
|
|
44
|
+
onChange?.(
|
|
45
|
+
selectedItems.filter(
|
|
46
|
+
(selectedItem2) => itemToKey(selectedItem2) !== itemToKey(item)
|
|
47
|
+
)
|
|
48
|
+
);
|
|
49
|
+
} else if (itemToKey(selectedItem) === itemToKey(item)) {
|
|
50
|
+
onChange?.(null);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function reset() {
|
|
54
|
+
if (multiple) {
|
|
55
|
+
onChange?.([]);
|
|
56
|
+
} else {
|
|
57
|
+
onChange?.(null);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const noClearButton = isDisabled || isReadOnly || disableClearSelection;
|
|
61
|
+
const styleCombined = {
|
|
62
|
+
...style,
|
|
63
|
+
...layoutStyles
|
|
64
|
+
};
|
|
65
|
+
return /* @__PURE__ */ jsx(
|
|
66
|
+
SelectTriggerBase,
|
|
67
|
+
{
|
|
68
|
+
"data-anv": "select-trigger",
|
|
69
|
+
className,
|
|
70
|
+
style: styleCombined,
|
|
71
|
+
label,
|
|
72
|
+
size,
|
|
73
|
+
error,
|
|
74
|
+
hint,
|
|
75
|
+
description,
|
|
76
|
+
labelProps: {
|
|
77
|
+
required,
|
|
78
|
+
moreInfo,
|
|
79
|
+
openMoreInfo
|
|
80
|
+
},
|
|
81
|
+
prefix,
|
|
82
|
+
suffix,
|
|
83
|
+
maxRows,
|
|
84
|
+
selectedItemProps,
|
|
85
|
+
id,
|
|
86
|
+
placeholder,
|
|
87
|
+
disabled: isDisabled,
|
|
88
|
+
readOnly: isReadOnly,
|
|
89
|
+
itemToString,
|
|
90
|
+
removeSelectedItem,
|
|
91
|
+
disableClearSelection: noClearButton,
|
|
92
|
+
selectedItem,
|
|
93
|
+
selectedItems,
|
|
94
|
+
onClearButtonClick: reset,
|
|
95
|
+
inputWrapperProps: { onClick },
|
|
96
|
+
inputProps: rest
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const SelectTrigger = function({
|
|
102
|
+
prefix: prefixProp,
|
|
103
|
+
...props
|
|
104
|
+
}) {
|
|
105
|
+
const data = {
|
|
106
|
+
label: childrenToString(props.label),
|
|
107
|
+
size: props.size,
|
|
108
|
+
required: props.required,
|
|
109
|
+
moreInfo: props.moreInfo,
|
|
110
|
+
openMoreInfo: props.openMoreInfo,
|
|
111
|
+
description: childrenToString(props.description),
|
|
112
|
+
hint: props.hint,
|
|
113
|
+
labelProps: props.labelProps
|
|
114
|
+
};
|
|
115
|
+
const trackingId = useTrackingId({
|
|
116
|
+
name: "ComboboxSearchField",
|
|
117
|
+
data,
|
|
118
|
+
hasOverride: !!props["data-tracking-id"]
|
|
119
|
+
});
|
|
120
|
+
const prefix = prefixProp == null || typeof prefixProp === "string" ? prefixProp : "icon" in prefixProp ? /* @__PURE__ */ jsx(Icon, { ...prefixProp.icon }) : "avatar" in prefixProp ? /* @__PURE__ */ jsx(
|
|
121
|
+
Avatar,
|
|
122
|
+
{
|
|
123
|
+
...prefixProp.avatar,
|
|
124
|
+
size: props.size === "small" ? "small" : "medium"
|
|
125
|
+
}
|
|
126
|
+
) : prefixProp;
|
|
127
|
+
return /* @__PURE__ */ jsx(
|
|
128
|
+
SelectTrigger$1,
|
|
129
|
+
{
|
|
130
|
+
"data-tracking-id": trackingId,
|
|
131
|
+
...props,
|
|
132
|
+
prefix
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export { SelectTrigger as S };
|
|
138
|
+
//# sourceMappingURL=SelectTrigger-DMMw_LkZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectTrigger-DMMw_LkZ.js","sources":["../../hammer-react/dist/SelectTrigger-h50LrJVt.js","../src/components/SelectTrigger/SelectTrigger.tsx"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { S as SelectTriggerBase, d as defaultItemToString, a as defaultItemToKey } from './SelectTriggerBase-A6_sIBpr.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\n\nconst SelectTrigger = function(props) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n style,\n label,\n size,\n error,\n hint,\n description,\n required,\n moreInfo,\n openMoreInfo,\n prefix,\n suffix,\n maxRows,\n selectedItemProps = () => ({}),\n id,\n placeholder,\n disabled: isDisabled,\n readOnly: isReadOnly,\n onClick,\n multiple,\n onChange,\n disableClearSelection,\n itemToString: itemToStringProp,\n itemToKey: itemToKeyProp,\n selectedItem = null,\n selectedItems = [],\n ...rest\n } = componentProps;\n const itemToString = itemToStringProp ?? defaultItemToString;\n const itemToKey = itemToKeyProp ?? defaultItemToKey;\n function removeSelectedItem(item) {\n if (multiple) {\n onChange?.(\n selectedItems.filter(\n (selectedItem2) => itemToKey(selectedItem2) !== itemToKey(item)\n )\n );\n } else if (itemToKey(selectedItem) === itemToKey(item)) {\n onChange?.(null);\n }\n }\n function reset() {\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.(null);\n }\n }\n const noClearButton = isDisabled || isReadOnly || disableClearSelection;\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n return /* @__PURE__ */ jsx(\n SelectTriggerBase,\n {\n \"data-anv\": \"select-trigger\",\n className,\n style: styleCombined,\n label,\n size,\n error,\n hint,\n description,\n labelProps: {\n required,\n moreInfo,\n openMoreInfo\n },\n prefix,\n suffix,\n maxRows,\n selectedItemProps,\n id,\n placeholder,\n disabled: isDisabled,\n readOnly: isReadOnly,\n itemToString,\n removeSelectedItem,\n disableClearSelection: noClearButton,\n selectedItem,\n selectedItems,\n onClearButtonClick: reset,\n inputWrapperProps: { onClick },\n inputProps: rest\n }\n );\n};\n\nexport { SelectTrigger as S };\n//# sourceMappingURL=SelectTrigger-h50LrJVt.js.map\n","import {\n SelectTriggerProps as CoreSelectTriggerProps,\n SelectTrigger as CoreSelectTrigger,\n childrenToString,\n Icon as CoreIcon,\n IconProps as CoreIconProps,\n Avatar as CoreAvatar,\n AvatarProps as CoreAvatarProps,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { DistributiveOmit } from \"../../types\";\nimport \"./SelectTrigger.scss\";\n\nexport type SelectTriggerProps<Item> = DistributiveOmit<\n CoreSelectTriggerProps<Item>,\n \"prefix\"\n> &\n DataTrackingId & {\n prefix?:\n | string\n | { icon: DistributiveOmit<CoreIconProps, \"size\"> }\n | { avatar: DistributiveOmit<CoreAvatarProps, \"size\"> };\n };\n\nexport const SelectTrigger = function <Item = any>({\n prefix: prefixProp,\n ...props\n}: SelectTriggerProps<Item>) {\n const data = {\n label: childrenToString(props.label),\n size: props.size,\n required: props.required,\n moreInfo: props.moreInfo,\n openMoreInfo: props.openMoreInfo,\n description: childrenToString(props.description),\n hint: props.hint,\n labelProps: props.labelProps,\n };\n\n const trackingId = useTrackingId({\n name: \"ComboboxSearchField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const prefix =\n prefixProp == null || typeof prefixProp === \"string\" ? (\n prefixProp\n ) : \"icon\" in prefixProp ? (\n <CoreIcon {...prefixProp.icon} />\n ) : \"avatar\" in prefixProp ? (\n <CoreAvatar\n {...prefixProp.avatar}\n size={props.size === \"small\" ? \"small\" : \"medium\"}\n />\n ) : (\n prefixProp\n );\n\n return (\n <CoreSelectTrigger<Item>\n data-tracking-id={trackingId}\n {...props}\n prefix={prefix}\n />\n );\n};\n"],"names":["SelectTrigger","CoreIcon","CoreAvatar","CoreSelectTrigger"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@layer starter, reset, base, state, application;
|
|
2
|
+
/* REVERT LAYER BUGFIX START */
|
|
3
|
+
[data-anv=select-trigger] input::-moz-placeholder {
|
|
4
|
+
all: revert-layer;
|
|
5
|
+
-webkit-font-smoothing: auto;
|
|
6
|
+
}
|
|
7
|
+
[data-anv=select-trigger] > label,
|
|
8
|
+
[data-anv=select-trigger][data-anv=select-trigger] input,
|
|
9
|
+
[data-anv=select-trigger][data-anv=select-trigger] button,
|
|
10
|
+
[data-anv=select-trigger][data-anv=select-trigger] div[class*=input-wrapper],
|
|
11
|
+
[data-anv=select-trigger] input::placeholder {
|
|
12
|
+
all: revert-layer;
|
|
13
|
+
-webkit-font-smoothing: auto;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* REVERT LAYER BUGFIX END */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectTrigger.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|