@mittwald/flow-react-components 1.4.0-next.6 → 1.4.0-next.8
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/assets/component-index.json +1 -1
- package/dist/assets/doc-properties.json +1 -1
- package/dist/css/all-layered.css +1 -1
- package/dist/css/all.css +1 -1
- package/dist/js/_virtual/_13.locale.mjs +5 -505
- package/dist/js/_virtual/_14.locale.mjs +505 -5
- package/dist/js/_virtual/_15.locale.mjs +9 -3
- package/dist/js/_virtual/_16.locale.mjs +3 -59
- package/dist/js/_virtual/_17.locale.mjs +63 -3
- package/dist/js/_virtual/_18.locale.mjs +3 -9
- package/dist/js/_virtual/_19.locale.mjs +5 -5
- package/dist/js/_virtual/_20.locale.mjs +5 -11
- package/dist/js/_virtual/_21.locale.mjs +15 -3
- package/dist/js/_virtual/_22.locale.mjs +3 -15
- package/dist/js/_virtual/_23.locale.mjs +15 -3
- package/dist/js/_virtual/_24.locale.mjs +3 -33
- package/dist/js/_virtual/_25.locale.mjs +29 -5
- package/dist/js/_virtual/_26.locale.mjs +9 -3
- package/dist/js/_virtual/_27.locale.mjs +3 -3
- package/dist/js/_virtual/_28.locale.mjs +3 -93
- package/dist/js/_virtual/_29.locale.mjs +93 -3
- package/dist/js/_virtual/_30.locale.mjs +3 -9
- package/dist/js/_virtual/_31.locale.mjs +5 -5
- package/dist/js/_virtual/_32.locale.mjs +5 -7
- package/dist/js/_virtual/_33.locale.mjs +7 -13
- package/dist/js/_virtual/_34.locale.mjs +23 -0
- package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.mjs +7 -3
- package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ColumnLayout/lib/getColumns.mjs +1 -1
- package/dist/js/packages/components/src/components/ColumnLayout/lib/getColumns.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs +9 -6
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.module.mjs +4 -2
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.mjs +86 -0
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.mjs.map +1 -0
- package/dist/js/packages/components/src/components/CountryOptions/CountryOptions.mjs +1 -1
- package/dist/js/packages/components/src/components/FileCard/components/DeleteButton/DeleteButton.mjs +1 -1
- package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.mjs +1 -1
- package/dist/js/packages/components/src/components/Kbd/Kbd.mjs +1 -1
- package/dist/js/packages/components/src/components/LightBox/LightBox.mjs +1 -1
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/Controls.mjs +1 -1
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/LightBoxGallery.mjs +1 -1
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGalleryItem/LightBoxGalleryItem.mjs +1 -1
- package/dist/js/packages/components/src/components/Link/components/LinkIcon/LinkIcon.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/EmptySearchResultView/EmptySearchResultView.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/EmptyView/EmptyView.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Footer/Footer.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Footer/components/PaginationInfos/PaginationInfos.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.mjs +15 -3
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.module.mjs +9 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.module.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionRadioGroup.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/SortingAccordion.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/DateRangeFilterPopover.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenu.mjs +3 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenu.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterMenuItem.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterMenuItem.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingContextMenu.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/AccordionButton.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.mjs +1 -1
- package/dist/js/packages/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs +1 -1
- package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs +21 -0
- package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/views/EmptyView/EmptyView.mjs +1 -1
- package/dist/js/packages/components/src/components/MarkdownEditor/components/ModeButton.mjs +1 -1
- package/dist/js/packages/components/src/components/MarkdownEditor/components/ToolbarButton.mjs +1 -1
- package/dist/js/packages/components/src/components/MarkdownEditor/lib/useFileUpload.mjs +1 -1
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs +2 -1
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.module.mjs +3 -1
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs +4 -3
- package/dist/js/packages/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Message/Message.mjs +1 -1
- package/dist/js/packages/components/src/components/MessageThread/components/MessageSeparator/MessageSeparator.mjs +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.mjs +1 -1
- package/dist/js/packages/components/src/components/Modal/components/ConfirmUnsavedChangesModal/ConfirmUnsavedChangesModal.mjs +1 -1
- package/dist/js/packages/components/src/components/Notification/Notification.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/ariaAnnounce.mjs +1 -1
- package/dist/js/packages/components/src/components/Rating/components/RatingSegment/RatingSegment.mjs +1 -1
- package/dist/js/packages/components/src/components/SearchField/SearchField.mjs +1 -1
- package/dist/js/packages/components/src/components/Slider/Slider.mjs +1 -1
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs +1 -1
- package/dist/js/packages/components/src/components/Tabs/components/FallbackTab/FallbackTab.mjs +1 -1
- package/dist/js/packages/components/src/components/TextArea/TextArea.mjs +1 -1
- package/dist/js/packages/components/src/components/TextField/TextField.mjs +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs +1 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs +4 -0
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs.map +1 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs +4 -0
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs.map +1 -1
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +5 -0
- package/dist/types/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.d.ts +7 -0
- package/dist/types/components/List/model/filter/Filter.d.ts +6 -0
- package/dist/types/components/List/typedList.d.ts +3 -3
- package/dist/types/components/MenuItem/MenuItem.d.ts +5 -0
- package/dist/types/components/MenuItem/components/MenuItemContent/MenuItemContent.d.ts +1 -0
- package/dist/types/lib/theming/hooks/useDesignTokens.d.ts +4 -0
- package/package.json +9 -9
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
//#region \0.locale.json@
|
|
3
|
+
//#region \0.locale.json@16189d7d260d7331b0e0a1936d5c7c52
|
|
4
4
|
var __locale_default = {
|
|
5
5
|
"de-DE": {
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"validation.minLength": "Bitte gib mindestens {number} Zeichen ein",
|
|
10
|
-
"validation.pattern": "Entspricht nicht dem erwarteten Format: {pattern}",
|
|
11
|
-
"validation.required": "Dieses Feld ist erforderlich"
|
|
6
|
+
"characters": "{maxCount, select, 0 {{count}} other {{count}/{maxCount}}} Zeichen",
|
|
7
|
+
"password.hide": "Passwort verbergen",
|
|
8
|
+
"password.show": "Passwort anzeigen"
|
|
12
9
|
},
|
|
13
10
|
"en-US": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"validation.minLength": "Please enter at least {number} characters",
|
|
18
|
-
"validation.pattern": "Does not match the expected format: {pattern}",
|
|
19
|
-
"validation.required": "This field is required"
|
|
11
|
+
"characters": "{maxCount, select, 0 {{count}} other {{count}/{maxCount}}} characters",
|
|
12
|
+
"password.hide": "Show password",
|
|
13
|
+
"password.show": "Hide password"
|
|
20
14
|
}
|
|
21
15
|
};
|
|
22
16
|
//#endregion
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
//#region \0.locale.json@72ba2ce40f190df671686fec50c04ddf
|
|
4
|
+
var __locale_default = {
|
|
5
|
+
"de-DE": {
|
|
6
|
+
"validation.max": "Maximale Anzahl von {number} erreicht",
|
|
7
|
+
"validation.maxLength": "Bitte gib höchstens {number} Zeichen ein",
|
|
8
|
+
"validation.min": "Minimale Anzahl von {number} noch nicht erreicht",
|
|
9
|
+
"validation.minLength": "Bitte gib mindestens {number} Zeichen ein",
|
|
10
|
+
"validation.pattern": "Entspricht nicht dem erwarteten Format: {pattern}",
|
|
11
|
+
"validation.required": "Dieses Feld ist erforderlich"
|
|
12
|
+
},
|
|
13
|
+
"en-US": {
|
|
14
|
+
"validation.max": "Maximum number of {number} reached",
|
|
15
|
+
"validation.maxLength": "Please enter at most {number} characters",
|
|
16
|
+
"validation.min": "Minimum number of {number} has not yet been reached",
|
|
17
|
+
"validation.minLength": "Please enter at least {number} characters",
|
|
18
|
+
"validation.pattern": "Does not match the expected format: {pattern}",
|
|
19
|
+
"validation.required": "This field is required"
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { __locale_default as default };
|
|
@@ -21,9 +21,13 @@ var ColumnLayout = flowComponent("ColumnLayout", (props) => {
|
|
|
21
21
|
l?.map((v, i) => {
|
|
22
22
|
if (v === null) elementClassName = clsx(elementClassName, styleClassname(ColumnLayout_module_default, `hide-l-${i + 1}`));
|
|
23
23
|
});
|
|
24
|
-
const columnsS =
|
|
25
|
-
const columnsM = m ? getColumns(m) : s ? columnsS :
|
|
26
|
-
const columnsL = l ? getColumns(l) : m || s ? columnsM :
|
|
24
|
+
const columnsS = getColumns(s ?? [1]);
|
|
25
|
+
const columnsM = m ? getColumns(m) : s ? columnsS : getColumns([1, 1]);
|
|
26
|
+
const columnsL = l ? getColumns(l) : m || s ? columnsM : getColumns([
|
|
27
|
+
1,
|
|
28
|
+
1,
|
|
29
|
+
1
|
|
30
|
+
]);
|
|
27
31
|
const style = {
|
|
28
32
|
...styleFromProps,
|
|
29
33
|
"--column-layout--columns-s": columnsS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnLayout.mjs","names":[],"sources":["../../../../../../../src/components/ColumnLayout/ColumnLayout.tsx"],"sourcesContent":["import type { CSSProperties, PropsWithChildren } from \"react\";\nimport styles from \"./ColumnLayout.module.scss\";\nimport { styleClassname } from \"@/lib/scss/selectors\";\nimport { getColumns } from \"./lib/getColumns\";\nimport clsx from \"clsx\";\nimport type {\n PropsWithClassName,\n PropsWithElementType,\n} from \"@/lib/types/props\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\n\ntype GapSize = \"s\" | \"m\" | \"l\" | \"xl\";\n\nexport interface ColumnLayoutProps<\n T extends keyof HTMLElementTagNameMap = \"div\" | \"ul\",\n>\n extends\n PropsWithChildren,\n PropsWithElementType<T>,\n PropsWithClassName,\n FlowComponentProps<HTMLElementTagNameMap[T]> {\n /** Column layout for container size s. */\n s?: (number | null)[];\n /** Column layout for container size m. */\n m?: (number | null)[];\n /** Column layout for container size l. */\n l?: (number | null)[];\n /**\n * Size of the row and column gap between the content blocks inside the column\n * layout.\n *\n * @default \"m\"\n */\n gap?: GapSize;\n /** Size of the row gap between the content blocks inside the column layout. */\n rowGap?: GapSize;\n /** Size of the column gap between the content blocks inside the column layout. */\n columnGap?: GapSize;\n}\n\n/** @flr-generate all */\nexport const ColumnLayout = flowComponent(\n \"ColumnLayout\",\n (props) => {\n const {\n children,\n className,\n s,\n m,\n l,\n gap = \"m\",\n rowGap = gap,\n columnGap = gap,\n elementType = \"div\",\n \"aria-label\": ariaLabel,\n ref,\n style: styleFromProps,\n } = props;\n\n let elementClassName: string = styles.columnLayout;\n\n s?.map((v, i) => {\n if (v === null) {\n elementClassName = clsx(\n elementClassName,\n styleClassname(styles, `hide-s-${i + 1}`),\n );\n }\n });\n m?.map((v, i) => {\n if (v === null) {\n elementClassName = clsx(\n elementClassName,\n styleClassname(styles, `hide-m-${i + 1}`),\n );\n }\n });\n l?.map((v, i) => {\n if (v === null) {\n elementClassName = clsx(\n elementClassName,\n styleClassname(styles, `hide-l-${i + 1}`),\n );\n }\n });\n\n const columnsS =
|
|
1
|
+
{"version":3,"file":"ColumnLayout.mjs","names":[],"sources":["../../../../../../../src/components/ColumnLayout/ColumnLayout.tsx"],"sourcesContent":["import type { CSSProperties, PropsWithChildren } from \"react\";\nimport styles from \"./ColumnLayout.module.scss\";\nimport { styleClassname } from \"@/lib/scss/selectors\";\nimport { getColumns } from \"./lib/getColumns\";\nimport clsx from \"clsx\";\nimport type {\n PropsWithClassName,\n PropsWithElementType,\n} from \"@/lib/types/props\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\n\ntype GapSize = \"s\" | \"m\" | \"l\" | \"xl\";\n\nexport interface ColumnLayoutProps<\n T extends keyof HTMLElementTagNameMap = \"div\" | \"ul\",\n>\n extends\n PropsWithChildren,\n PropsWithElementType<T>,\n PropsWithClassName,\n FlowComponentProps<HTMLElementTagNameMap[T]> {\n /** Column layout for container size s. */\n s?: (number | null)[];\n /** Column layout for container size m. */\n m?: (number | null)[];\n /** Column layout for container size l. */\n l?: (number | null)[];\n /**\n * Size of the row and column gap between the content blocks inside the column\n * layout.\n *\n * @default \"m\"\n */\n gap?: GapSize;\n /** Size of the row gap between the content blocks inside the column layout. */\n rowGap?: GapSize;\n /** Size of the column gap between the content blocks inside the column layout. */\n columnGap?: GapSize;\n}\n\n/** @flr-generate all */\nexport const ColumnLayout = flowComponent(\n \"ColumnLayout\",\n (props) => {\n const {\n children,\n className,\n s,\n m,\n l,\n gap = \"m\",\n rowGap = gap,\n columnGap = gap,\n elementType = \"div\",\n \"aria-label\": ariaLabel,\n ref,\n style: styleFromProps,\n } = props;\n\n let elementClassName: string = styles.columnLayout;\n\n s?.map((v, i) => {\n if (v === null) {\n elementClassName = clsx(\n elementClassName,\n styleClassname(styles, `hide-s-${i + 1}`),\n );\n }\n });\n m?.map((v, i) => {\n if (v === null) {\n elementClassName = clsx(\n elementClassName,\n styleClassname(styles, `hide-m-${i + 1}`),\n );\n }\n });\n l?.map((v, i) => {\n if (v === null) {\n elementClassName = clsx(\n elementClassName,\n styleClassname(styles, `hide-l-${i + 1}`),\n );\n }\n });\n\n const columnsS = getColumns(s ?? [1]);\n const columnsM = m ? getColumns(m) : s ? columnsS : getColumns([1, 1]);\n const columnsL = l\n ? getColumns(l)\n : m || s\n ? columnsM\n : getColumns([1, 1, 1]);\n\n const style = {\n ...styleFromProps,\n \"--column-layout--columns-s\": columnsS,\n \"--column-layout--columns-m\": columnsM,\n \"--column-layout--columns-l\": columnsL,\n \"--column-layout--row-gap\": `var(--column-layout--gap--${rowGap})`,\n \"--column-layout--column-gap\": `var(--column-layout--gap--${columnGap})`,\n } as CSSProperties;\n\n const rootClassName = clsx(styles.columnLayoutContainer, className);\n\n const Element = elementType;\n\n const propsContext: PropsContext = {\n Section: {\n hideSeparator: true,\n },\n };\n\n return (\n <div className={rootClassName} style={style}>\n <Element\n ref={ref as never}\n aria-label={ariaLabel}\n className={elementClassName}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </Element>\n </div>\n );\n },\n {\n type: \"layout\",\n },\n);\n\nexport default ColumnLayout;\n"],"mappings":";;;;;;;;;;;AA8CA,IAAa,eAAe,cAC1B,iBACC,UAAU;CACT,MAAM,EACJ,UACA,WACA,GACA,GACA,GACA,MAAM,KACN,SAAS,KACT,YAAY,KACZ,cAAc,OACd,cAAc,WACd,KACA,OAAO,mBACL;CAEJ,IAAI,mBAA2B,4BAAO;CAEtC,GAAG,KAAK,GAAG,MAAM;EACf,IAAI,MAAM,MACR,mBAAmB,KACjB,kBACA,eAAe,6BAAQ,UAAU,IAAI,GAAG,CAC1C;CAEJ,CAAC;CACD,GAAG,KAAK,GAAG,MAAM;EACf,IAAI,MAAM,MACR,mBAAmB,KACjB,kBACA,eAAe,6BAAQ,UAAU,IAAI,GAAG,CAC1C;CAEJ,CAAC;CACD,GAAG,KAAK,GAAG,MAAM;EACf,IAAI,MAAM,MACR,mBAAmB,KACjB,kBACA,eAAe,6BAAQ,UAAU,IAAI,GAAG,CAC1C;CAEJ,CAAC;CAED,MAAM,WAAW,WAAW,KAAK,CAAC,CAAC,CAAC;CACpC,MAAM,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,WAAW,CAAC,GAAG,CAAC,CAAC;CACrE,MAAM,WAAW,IACb,WAAW,CAAC,IACZ,KAAK,IACH,WACA,WAAW;EAAC;EAAG;EAAG;CAAC,CAAC;CAE1B,MAAM,QAAQ;EACZ,GAAG;EACH,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,4BAA4B,6BAA6B,OAAO;EAChE,+BAA+B,6BAA6B,UAAU;CACxE;CAEA,MAAM,gBAAgB,KAAK,4BAAO,uBAAuB,SAAS;CAUlE,OACE,oBAAC,OAAD;EAAK,WAAW;EAAsB;EACpC,UAAA,oBAAC,aAAD;GACO;GACL,cAAY;GACZ,WAAW;GAEX,UAAA,oBAAC,sBAAD;IAAsB,OAAO,EAZjC,SAAS,EACP,eAAe,KACjB,EAUiC;IAC1B;GACmB,CAAA;EACf,CAAA;CACN,CAAA;AAET,GACA,EACE,MAAM,SACR,CACF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
//#region src/components/ColumnLayout/lib/getColumns.ts
|
|
4
4
|
var getColumns = (values) => {
|
|
5
|
-
return values.filter((v) => v !== null).map((value) =>
|
|
5
|
+
return values.filter((v) => v !== null).map((value) => `minmax(0, ${value}fr)`).join(" ");
|
|
6
6
|
};
|
|
7
7
|
//#endregion
|
|
8
8
|
export { getColumns };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getColumns.mjs","names":[],"sources":["../../../../../../../../src/components/ColumnLayout/lib/getColumns.ts"],"sourcesContent":["export const getColumns = (values: (number | null)[]): string => {\n const fractionValues = values\n .filter((v) => v !== null)\n .map((value) =>
|
|
1
|
+
{"version":3,"file":"getColumns.mjs","names":[],"sources":["../../../../../../../../src/components/ColumnLayout/lib/getColumns.ts"],"sourcesContent":["export const getColumns = (values: (number | null)[]): string => {\n const fractionValues = values\n .filter((v) => v !== null)\n .map((value) => `minmax(0, ${value}fr)`);\n\n return fractionValues.join(\" \");\n};\n"],"mappings":";;;AAAA,IAAa,cAAc,WAAsC;CAK/D,OAJuB,OACpB,QAAQ,MAAM,MAAM,IAAI,CAAC,CACzB,KAAK,UAAU,aAAa,MAAM,IAE9B,CAAA,CAAe,KAAK,GAAG;AAChC"}
|
|
@@ -10,16 +10,19 @@ import { closesOnSelect, getAriaSelectionMode, getMenuItemSelectionVariant } fro
|
|
|
10
10
|
import ContextMenuContentView from "../../views/ContextMenuContentView.mjs";
|
|
11
11
|
import ContextMenu_module_default from "./ContextMenu.module.mjs";
|
|
12
12
|
import { OverlayContentSuspendWatcher } from "../../lib/controller/overlay/OverlayContentSuspendWatcher.mjs";
|
|
13
|
-
import {
|
|
13
|
+
import { ContextMenuSelectAll } from "./components/ContextMenuSelectAll/ContextMenuSelectAll.mjs";
|
|
14
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
15
|
//#region src/components/ContextMenu/ContextMenu.tsx
|
|
15
16
|
/** @flr-generate all */
|
|
16
17
|
var ContextMenu = flowComponent("ContextMenu", (props) => {
|
|
17
|
-
const { children, onAction, selectionMode, selectedKeys, defaultSelectedKeys, disabledKeys, onSelectionChange, renderEmptyState, ref, controller: overlayControllerFromProps, ...rest } = props;
|
|
18
|
+
const { children, onAction, selectionMode, selectedKeys, defaultSelectedKeys, disabledKeys, onSelectionChange, renderEmptyState, showSelectAll, ref, controller: overlayControllerFromProps, ...rest } = props;
|
|
18
19
|
const overlayControllerFromContext = useOverlayController("ContextMenu", { reuseControllerFromContext: true });
|
|
19
20
|
const overlayController = overlayControllerFromProps ?? overlayControllerFromContext;
|
|
21
|
+
const selectionVariant = getMenuItemSelectionVariant(selectionMode);
|
|
22
|
+
const selectAll = showSelectAll && selectionMode === "multiple" && /* @__PURE__ */ jsx(ContextMenuSelectAll, {});
|
|
20
23
|
const propsContext = {
|
|
21
24
|
MenuItem: {
|
|
22
|
-
selectionVariant
|
|
25
|
+
selectionVariant,
|
|
23
26
|
Avatar: { size: "l" }
|
|
24
27
|
},
|
|
25
28
|
Section: {
|
|
@@ -38,7 +41,7 @@ var ContextMenu = flowComponent("ContextMenu", (props) => {
|
|
|
38
41
|
children: /* @__PURE__ */ jsx(OverlayContextProvider, {
|
|
39
42
|
type: "ContextMenu",
|
|
40
43
|
controller: overlayController,
|
|
41
|
-
children: /* @__PURE__ */
|
|
44
|
+
children: /* @__PURE__ */ jsxs(ContextMenuContentView, {
|
|
42
45
|
className: ContextMenu_module_default.contextMenu,
|
|
43
46
|
onAction,
|
|
44
47
|
selectionMode: getAriaSelectionMode(selectionMode),
|
|
@@ -48,13 +51,13 @@ var ContextMenu = flowComponent("ContextMenu", (props) => {
|
|
|
48
51
|
onSelectionChange,
|
|
49
52
|
renderEmptyState,
|
|
50
53
|
ref,
|
|
51
|
-
children: /* @__PURE__ */ jsx(PropsContextProvider, {
|
|
54
|
+
children: [selectAll, /* @__PURE__ */ jsx(PropsContextProvider, {
|
|
52
55
|
props: propsContext,
|
|
53
56
|
children: /* @__PURE__ */ jsx(Action, {
|
|
54
57
|
closeOverlay: closesOnSelect(selectionMode),
|
|
55
58
|
children
|
|
56
59
|
})
|
|
57
|
-
})
|
|
60
|
+
})]
|
|
58
61
|
})
|
|
59
62
|
})
|
|
60
63
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.mjs","names":[],"sources":["../../../../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import { Action } from \"@/components/Action\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n closesOnSelect,\n getMenuItemSelectionVariant,\n} from \"@/components/ContextMenu/lib\";\nimport type { MenuItemProps } from \"@/components/MenuItem\";\nimport { Popover, type PopoverProps } from \"@/components/Popover/Popover\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useOverlayController } from \"@/lib/controller\";\nimport { OverlayContextProvider } from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport ContextMenuContentView from \"@/views/ContextMenuContentView\";\nimport type * as Aria from \"react-aria-components\";\nimport styles from \"./ContextMenu.module.scss\";\nimport { OverlayContentSuspendWatcher } from \"@/lib/controller/overlay/OverlayContentSuspendWatcher\";\n\nexport interface ContextMenuProps\n extends\n Omit<PopoverProps, \"withTip\" | \"modality\">,\n Pick<\n Aria.MenuProps<MenuItemProps>,\n | \"onAction\"\n | \"selectedKeys\"\n | \"defaultSelectedKeys\"\n | \"onSelectionChange\"\n | \"disabledKeys\"\n | \"renderEmptyState\"\n >,\n FlowComponentProps {\n /** The type of selection that is allowed in the context menu. */\n selectionMode?: ContextMenuSelectionMode;\n /** Sets the context menu to a fixed width. */\n width?: string | number;\n}\n\n/** @flr-generate all */\nexport const ContextMenu = flowComponent(\"ContextMenu\", (props) => {\n const {\n children,\n onAction,\n selectionMode,\n selectedKeys,\n defaultSelectedKeys,\n disabledKeys,\n onSelectionChange,\n renderEmptyState,\n ref,\n controller: overlayControllerFromProps,\n ...rest\n } = props;\n\n const overlayControllerFromContext = useOverlayController(\"ContextMenu\", {\n reuseControllerFromContext: true,\n });\n\n const overlayController =\n overlayControllerFromProps ?? overlayControllerFromContext;\n\n const selectionVariant = getMenuItemSelectionVariant(selectionMode);\n\n const propsContext: PropsContext = {\n MenuItem: {\n selectionVariant,\n Avatar: {\n size: \"l\",\n },\n },\n\n Section: {\n MenuItem: {\n Avatar: {\n size: \"l\",\n },\n },\n renderContextMenuSection: true,\n },\n\n ContextMenuSection: {\n MenuItem: {\n Avatar: {\n size: \"l\",\n },\n },\n },\n };\n\n return (\n <OverlayContentSuspendWatcher overlayController={overlayController}>\n <Popover\n {...rest}\n className={styles.popover}\n controller={overlayController}\n isDialogContent={false}\n >\n <OverlayContextProvider\n type=\"ContextMenu\"\n controller={overlayController}\n >\n <ContextMenuContentView\n className={styles.contextMenu}\n onAction={onAction}\n selectionMode={getAriaSelectionMode(selectionMode)}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n onSelectionChange={onSelectionChange}\n renderEmptyState={renderEmptyState}\n ref={ref}\n >\n <PropsContextProvider props={propsContext}>\n <Action closeOverlay={closesOnSelect(selectionMode)}>\n {children}\n </Action>\n </PropsContextProvider>\n </ContextMenuContentView>\n </OverlayContextProvider>\n </Popover>\n </OverlayContentSuspendWatcher>\n );\n});\n\nexport default ContextMenu;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextMenu.mjs","names":[],"sources":["../../../../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import { Action } from \"@/components/Action\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n closesOnSelect,\n getMenuItemSelectionVariant,\n} from \"@/components/ContextMenu/lib\";\nimport type { MenuItemProps } from \"@/components/MenuItem\";\nimport { Popover, type PopoverProps } from \"@/components/Popover/Popover\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useOverlayController } from \"@/lib/controller\";\nimport { OverlayContextProvider } from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport ContextMenuContentView from \"@/views/ContextMenuContentView\";\nimport type * as Aria from \"react-aria-components\";\nimport styles from \"./ContextMenu.module.scss\";\nimport { OverlayContentSuspendWatcher } from \"@/lib/controller/overlay/OverlayContentSuspendWatcher\";\nimport { ContextMenuSelectAll } from \"@/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll\";\n\nexport interface ContextMenuProps\n extends\n Omit<PopoverProps, \"withTip\" | \"modality\">,\n Pick<\n Aria.MenuProps<MenuItemProps>,\n | \"onAction\"\n | \"selectedKeys\"\n | \"defaultSelectedKeys\"\n | \"onSelectionChange\"\n | \"disabledKeys\"\n | \"renderEmptyState\"\n >,\n FlowComponentProps {\n /** The type of selection that is allowed in the context menu. */\n selectionMode?: ContextMenuSelectionMode;\n /** Sets the context menu to a fixed width. */\n width?: string | number;\n /**\n * Adds a first entry that selects or deselects all items at once. Only\n * applies to `selectionMode=\"multiple\"`.\n */\n showSelectAll?: boolean;\n}\n\n/** @flr-generate all */\nexport const ContextMenu = flowComponent(\"ContextMenu\", (props) => {\n const {\n children,\n onAction,\n selectionMode,\n selectedKeys,\n defaultSelectedKeys,\n disabledKeys,\n onSelectionChange,\n renderEmptyState,\n showSelectAll,\n ref,\n controller: overlayControllerFromProps,\n ...rest\n } = props;\n\n const overlayControllerFromContext = useOverlayController(\"ContextMenu\", {\n reuseControllerFromContext: true,\n });\n\n const overlayController =\n overlayControllerFromProps ?? overlayControllerFromContext;\n\n const selectionVariant = getMenuItemSelectionVariant(selectionMode);\n\n const selectAll = showSelectAll && selectionMode === \"multiple\" && (\n <ContextMenuSelectAll />\n );\n\n const propsContext: PropsContext = {\n MenuItem: {\n selectionVariant,\n Avatar: {\n size: \"l\",\n },\n },\n\n Section: {\n MenuItem: {\n Avatar: {\n size: \"l\",\n },\n },\n renderContextMenuSection: true,\n },\n\n ContextMenuSection: {\n MenuItem: {\n Avatar: {\n size: \"l\",\n },\n },\n },\n };\n\n return (\n <OverlayContentSuspendWatcher overlayController={overlayController}>\n <Popover\n {...rest}\n className={styles.popover}\n controller={overlayController}\n isDialogContent={false}\n >\n <OverlayContextProvider\n type=\"ContextMenu\"\n controller={overlayController}\n >\n <ContextMenuContentView\n className={styles.contextMenu}\n onAction={onAction}\n selectionMode={getAriaSelectionMode(selectionMode)}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n onSelectionChange={onSelectionChange}\n renderEmptyState={renderEmptyState}\n ref={ref}\n >\n {selectAll}\n <PropsContextProvider props={propsContext}>\n <Action closeOverlay={closesOnSelect(selectionMode)}>\n {children}\n </Action>\n </PropsContextProvider>\n </ContextMenuContentView>\n </OverlayContextProvider>\n </Popover>\n </OverlayContentSuspendWatcher>\n );\n});\n\nexport default ContextMenu;\n"],"mappings":";;;;;;;;;;;;;;;;AA8CA,IAAa,cAAc,cAAc,gBAAgB,UAAU;CACjE,MAAM,EACJ,UACA,UACA,eACA,cACA,qBACA,cACA,mBACA,kBACA,eACA,KACA,YAAY,4BACZ,GAAG,SACD;CAEJ,MAAM,+BAA+B,qBAAqB,eAAe,EACvE,4BAA4B,KAC9B,CAAC;CAED,MAAM,oBACJ,8BAA8B;CAEhC,MAAM,mBAAmB,4BAA4B,aAAa;CAElE,MAAM,YAAY,iBAAiB,kBAAkB,cACnD,oBAAC,sBAAD,CAAuB,CAAA;CAGzB,MAAM,eAA6B;EACjC,UAAU;GACR;GACA,QAAQ,EACN,MAAM,IACR;EACF;EAEA,SAAS;GACP,UAAU,EACR,QAAQ,EACN,MAAM,IACR,EACF;GACA,0BAA0B;EAC5B;EAEA,oBAAoB,EAClB,UAAU,EACR,QAAQ,EACN,MAAM,IACR,EACF,EACF;CACF;CAEA,OACE,oBAAC,8BAAD;EAAiD;EAC/C,UAAA,oBAAC,SAAD;GACE,GAAI;GACJ,WAAW,2BAAO;GAClB,YAAY;GACZ,iBAAiB;GAEjB,UAAA,oBAAC,wBAAD;IACE,MAAK;IACL,YAAY;IAEZ,UAAA,qBAAC,wBAAD;KACE,WAAW,2BAAO;KACR;KACV,eAAe,qBAAqB,aAAa;KACnC;KACO;KACP;KACK;KACD;KACb;KATP,UAAA,CAWG,WACD,oBAAC,sBAAD;MAAsB,OAAO;MAC3B,UAAA,oBAAC,QAAD;OAAQ,cAAc,eAAe,aAAa;OAC/C;MACK,CAAA;KACY,CAAA,CACA;;GACF,CAAA;EACjB,CAAA;CACmB,CAAA;AAElC,CAAC"}
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
var contextMenu = "flow--context-menu";
|
|
5
5
|
var section = "flow--context-menu--section";
|
|
6
6
|
var popover = "flow--context-menu--popover";
|
|
7
|
+
var selectAll = "flow--context-menu--select-all";
|
|
7
8
|
var ContextMenu_module_default = {
|
|
8
9
|
contextMenu,
|
|
9
10
|
section,
|
|
10
|
-
popover
|
|
11
|
+
popover,
|
|
12
|
+
selectAll
|
|
11
13
|
};
|
|
12
14
|
//#endregion
|
|
13
|
-
export { contextMenu, ContextMenu_module_default as default, popover, section };
|
|
15
|
+
export { contextMenu, ContextMenu_module_default as default, popover, section, selectAll };
|
|
14
16
|
|
|
15
17
|
//# sourceMappingURL=ContextMenu.module.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.module.mjs","names":[],"sources":["../../../../../../../src/components/ContextMenu/ContextMenu.module.scss"],"sourcesContent":[".contextMenu {\n display: flex;\n flex-direction: column;\n row-gap: var(--menu--item-to-item-spacing);\n padding: var(--popover--padding--s);\n\n // A consumer-placed `Separator`. Its `flow--separator` class also covers the\n // vertical `<div>` variant, which must not get this block margin.\n // stylelint-disable-next-line selector-max-type -- see above\n > hr {\n margin-block: var(--popover--spacing);\n }\n\n &:focus-visible {\n outline: none;\n }\n}\n\n.section {\n display: flex;\n flex-direction: column;\n row-gap: var(--menu--item-to-item-spacing);\n\n &:has(:global(.flow--avatar)) {\n align-items: center;\n padding-top: var(--menu--item-to-item-spacing);\n }\n}\n\n.popover {\n max-width: fit-content;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ContextMenu.module.mjs","names":[],"sources":["../../../../../../../src/components/ContextMenu/ContextMenu.module.scss"],"sourcesContent":[".contextMenu {\n display: flex;\n flex-direction: column;\n row-gap: var(--menu--item-to-item-spacing);\n padding: var(--popover--padding--s);\n\n // A consumer-placed `Separator`. Its `flow--separator` class also covers the\n // vertical `<div>` variant, which must not get this block margin.\n // stylelint-disable-next-line selector-max-type -- see above\n > hr {\n margin-block: var(--popover--spacing);\n }\n\n &:focus-visible {\n outline: none;\n }\n}\n\n.section {\n display: flex;\n flex-direction: column;\n row-gap: var(--menu--item-to-item-spacing);\n\n &:has(:global(.flow--avatar)) {\n align-items: center;\n padding-top: var(--menu--item-to-item-spacing);\n }\n}\n\n.popover {\n max-width: fit-content;\n}\n\n.selectAll {\n margin-block-end: var(--menu--select-all-to-item-spacing);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
|
+
import { Text } from "../../../Text/Text.mjs";
|
|
5
|
+
import MenuItem_module_default from "../../../MenuItem/MenuItem.module.mjs";
|
|
6
|
+
import { MenuItemContent } from "../../../MenuItem/components/MenuItemContent/MenuItemContent.mjs";
|
|
7
|
+
import ContextMenu_module_default from "../../ContextMenu.module.mjs";
|
|
8
|
+
import __locale_default from "../../../../../../../_virtual/_13.locale.mjs";
|
|
9
|
+
import { useContext, useRef } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
import * as Aria from "react-aria-components";
|
|
12
|
+
//#region src/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.tsx
|
|
13
|
+
var selectAllSectionId = "flow--context-menu--select-all";
|
|
14
|
+
/**
|
|
15
|
+
* Keys that share the menu's selection: enabled items at the top level and in
|
|
16
|
+
* sections without a selection mode of their own.
|
|
17
|
+
*/
|
|
18
|
+
var getSelectableKeys = (state) => {
|
|
19
|
+
const keys = [];
|
|
20
|
+
const collect = (nodes) => {
|
|
21
|
+
for (const node of nodes) if (node.type === "item") {
|
|
22
|
+
if (!state.selectionManager.isDisabled(node.key)) keys.push(node.key);
|
|
23
|
+
} else if (node.type === "section" && node.key !== selectAllSectionId && node.props?.selectionMode === void 0) collect(state.collection.getChildren?.(node.key) ?? node.childNodes);
|
|
24
|
+
};
|
|
25
|
+
collect(state.collection);
|
|
26
|
+
return keys;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Rendered by the visible menu item. The collection renders the item's element
|
|
30
|
+
* a second time outside the menu, where `MenuStateContext` is missing.
|
|
31
|
+
*/
|
|
32
|
+
var SelectAllMenuItemContent = (props) => {
|
|
33
|
+
const { selectAll, ...renderProps } = props;
|
|
34
|
+
const state = useContext(Aria.MenuStateContext);
|
|
35
|
+
const formatter = useLocalizedStringFormatter(__locale_default, "ContextMenu");
|
|
36
|
+
const selectionManager = state?.selectionManager;
|
|
37
|
+
const keys = state ? getSelectableKeys(state) : [];
|
|
38
|
+
const selectedCount = keys.filter((key) => selectionManager?.isSelected(key)).length;
|
|
39
|
+
const isEverySelected = keys.length > 0 && selectedCount === keys.length;
|
|
40
|
+
const isIndeterminate = selectedCount > 0 && !isEverySelected;
|
|
41
|
+
selectAll.current = {
|
|
42
|
+
isEverySelected,
|
|
43
|
+
toggle: () => {
|
|
44
|
+
if (!selectionManager) return;
|
|
45
|
+
const keySet = new Set(keys);
|
|
46
|
+
const otherSelectedKeys = [...selectionManager.selectedKeys].filter((key) => !keySet.has(key));
|
|
47
|
+
selectionManager.setSelectedKeys(isEverySelected ? otherSelectedKeys : [...otherSelectedKeys, ...keys]);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return /* @__PURE__ */ jsx(MenuItemContent, {
|
|
51
|
+
...renderProps,
|
|
52
|
+
selectionMode: "multiple",
|
|
53
|
+
isSelected: isEverySelected,
|
|
54
|
+
isIndeterminate,
|
|
55
|
+
children: /* @__PURE__ */ jsx(Text, { children: formatter.format(isEverySelected ? "deselectAll" : "selectAll") })
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
var SelectAllMenuItem = () => {
|
|
59
|
+
const selectAll = useRef(void 0);
|
|
60
|
+
const formatter = useLocalizedStringFormatter(__locale_default, "ContextMenu");
|
|
61
|
+
return /* @__PURE__ */ jsx(Aria.MenuItem, {
|
|
62
|
+
id: `${selectAllSectionId}--item`,
|
|
63
|
+
textValue: formatter.format("selectAll"),
|
|
64
|
+
shouldCloseOnSelect: false,
|
|
65
|
+
onAction: () => selectAll.current?.toggle(),
|
|
66
|
+
className: MenuItem_module_default.menuItem,
|
|
67
|
+
children: (renderProps) => /* @__PURE__ */ jsx(SelectAllMenuItemContent, {
|
|
68
|
+
...renderProps,
|
|
69
|
+
selectAll
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* The entry lives in a section without selection, so pressing it runs its
|
|
75
|
+
* action only and sets the whole selection in one change.
|
|
76
|
+
*/
|
|
77
|
+
var ContextMenuSelectAll = () => /* @__PURE__ */ jsx(Aria.MenuSection, {
|
|
78
|
+
id: selectAllSectionId,
|
|
79
|
+
selectionMode: "none",
|
|
80
|
+
className: ContextMenu_module_default.selectAll,
|
|
81
|
+
children: /* @__PURE__ */ jsx(SelectAllMenuItem, {})
|
|
82
|
+
});
|
|
83
|
+
//#endregion
|
|
84
|
+
export { ContextMenuSelectAll, ContextMenuSelectAll as default };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=ContextMenuSelectAll.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenuSelectAll.mjs","names":[],"sources":["../../../../../../../../../src/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport { useContext, useRef, type FC } from \"react\";\nimport type { Key, Node } from \"@react-types/shared\";\nimport type { TreeState } from \"react-stately\";\nimport { MenuItemContent } from \"@/components/MenuItem/components/MenuItemContent/MenuItemContent\";\nimport menuItemStyles from \"@/components/MenuItem/MenuItem.module.scss\";\nimport { Text } from \"@/components/Text\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport locales from \"../../locales/*.locale.json\";\nimport styles from \"../../ContextMenu.module.scss\";\n\nconst selectAllSectionId = \"flow--context-menu--select-all\";\n\n/**\n * Keys that share the menu's selection: enabled items at the top level and in\n * sections without a selection mode of their own.\n */\nconst getSelectableKeys = (state: TreeState<unknown>): Key[] => {\n const keys: Key[] = [];\n\n const collect = (nodes: Iterable<Node<unknown>>) => {\n for (const node of nodes) {\n if (node.type === \"item\") {\n if (!state.selectionManager.isDisabled(node.key)) {\n keys.push(node.key);\n }\n } else if (\n node.type === \"section\" &&\n node.key !== selectAllSectionId &&\n node.props?.selectionMode === undefined\n ) {\n collect(state.collection.getChildren?.(node.key) ?? node.childNodes);\n }\n }\n };\n\n collect(state.collection);\n return keys;\n};\n\ninterface SelectAll {\n isEverySelected: boolean;\n toggle: () => void;\n}\n\n/**\n * Rendered by the visible menu item. The collection renders the item's element\n * a second time outside the menu, where `MenuStateContext` is missing.\n */\nconst SelectAllMenuItemContent: FC<\n Aria.MenuItemRenderProps & { selectAll: { current?: SelectAll } }\n> = (props) => {\n const { selectAll, ...renderProps } = props;\n const state = useContext(Aria.MenuStateContext);\n const formatter = useLocalizedStringFormatter(locales, \"ContextMenu\");\n\n const selectionManager = state?.selectionManager;\n const keys = state ? getSelectableKeys(state) : [];\n const selectedCount = keys.filter((key) =>\n selectionManager?.isSelected(key),\n ).length;\n const isEverySelected = keys.length > 0 && selectedCount === keys.length;\n const isIndeterminate = selectedCount > 0 && !isEverySelected;\n\n selectAll.current = {\n isEverySelected,\n toggle: () => {\n if (!selectionManager) {\n return;\n }\n const keySet = new Set(keys);\n const otherSelectedKeys = [...selectionManager.selectedKeys].filter(\n (key) => !keySet.has(key),\n );\n selectionManager.setSelectedKeys(\n isEverySelected ? otherSelectedKeys : [...otherSelectedKeys, ...keys],\n );\n },\n };\n\n return (\n <MenuItemContent\n {...renderProps}\n selectionMode=\"multiple\"\n isSelected={isEverySelected}\n isIndeterminate={isIndeterminate}\n >\n <Text>\n {formatter.format(isEverySelected ? \"deselectAll\" : \"selectAll\")}\n </Text>\n </MenuItemContent>\n );\n};\n\nconst SelectAllMenuItem: FC = () => {\n const selectAll = useRef<SelectAll>(undefined);\n const formatter = useLocalizedStringFormatter(locales, \"ContextMenu\");\n\n return (\n <Aria.MenuItem\n id={`${selectAllSectionId}--item`}\n textValue={formatter.format(\"selectAll\")}\n shouldCloseOnSelect={false}\n onAction={() => selectAll.current?.toggle()}\n className={menuItemStyles.menuItem}\n >\n {(renderProps) => (\n <SelectAllMenuItemContent {...renderProps} selectAll={selectAll} />\n )}\n </Aria.MenuItem>\n );\n};\n\n/**\n * The entry lives in a section without selection, so pressing it runs its\n * action only and sets the whole selection in one change.\n */\nexport const ContextMenuSelectAll: FC = () => (\n <Aria.MenuSection\n id={selectAllSectionId}\n selectionMode=\"none\"\n className={styles.selectAll}\n >\n <SelectAllMenuItem />\n </Aria.MenuSection>\n);\n\nexport default ContextMenuSelectAll;\n"],"mappings":";;;;;;;;;;;;AAWA,IAAM,qBAAqB;;;;;AAM3B,IAAM,qBAAqB,UAAqC;CAC9D,MAAM,OAAc,CAAC;CAErB,MAAM,WAAW,UAAmC;EAClD,KAAK,MAAM,QAAQ,OACjB,IAAI,KAAK,SAAS,QACZ;OAAA,CAAC,MAAM,iBAAiB,WAAW,KAAK,GAAG,GAC7C,KAAK,KAAK,KAAK,GAAG;EAAA,OAEf,IACL,KAAK,SAAS,aACd,KAAK,QAAQ,sBACb,KAAK,OAAO,kBAAkB,KAAA,GAE9B,QAAQ,MAAM,WAAW,cAAc,KAAK,GAAG,KAAK,KAAK,UAAU;CAGzE;CAEA,QAAQ,MAAM,UAAU;CACxB,OAAO;AACT;;;;;AAWA,IAAM,4BAED,UAAU;CACb,MAAM,EAAE,WAAW,GAAG,gBAAgB;CACtC,MAAM,QAAQ,WAAW,KAAK,gBAAgB;CAC9C,MAAM,YAAY,4BAA4B,kBAAS,aAAa;CAEpE,MAAM,mBAAmB,OAAO;CAChC,MAAM,OAAO,QAAQ,kBAAkB,KAAK,IAAI,CAAC;CACjD,MAAM,gBAAgB,KAAK,QAAQ,QACjC,kBAAkB,WAAW,GAAG,CAClC,CAAC,CAAC;CACF,MAAM,kBAAkB,KAAK,SAAS,KAAK,kBAAkB,KAAK;CAClE,MAAM,kBAAkB,gBAAgB,KAAK,CAAC;CAE9C,UAAU,UAAU;EAClB;EACA,cAAc;GACZ,IAAI,CAAC,kBACH;GAEF,MAAM,SAAS,IAAI,IAAI,IAAI;GAC3B,MAAM,oBAAoB,CAAC,GAAG,iBAAiB,YAAY,CAAC,CAAC,QAC1D,QAAQ,CAAC,OAAO,IAAI,GAAG,CAC1B;GACA,iBAAiB,gBACf,kBAAkB,oBAAoB,CAAC,GAAG,mBAAmB,GAAG,IAAI,CACtE;EACF;CACF;CAEA,OACE,oBAAC,iBAAD;EACE,GAAI;EACJ,eAAc;EACd,YAAY;EACK;EAEjB,UAAA,oBAAC,MAAD,EAAA,UACG,UAAU,OAAO,kBAAkB,gBAAgB,WAAW,EAC3D,CAAA;CACS,CAAA;AAErB;AAEA,IAAM,0BAA8B;CAClC,MAAM,YAAY,OAAkB,KAAA,CAAS;CAC7C,MAAM,YAAY,4BAA4B,kBAAS,aAAa;CAEpE,OACE,oBAAC,KAAK,UAAN;EACE,IAAI,GAAG,mBAAmB;EAC1B,WAAW,UAAU,OAAO,WAAW;EACvC,qBAAqB;EACrB,gBAAgB,UAAU,SAAS,OAAO;EAC1C,WAAW,wBAAe;EAExB,WAAA,gBACA,oBAAC,0BAAD;GAA0B,GAAI;GAAwB;EAAY,CAAA;CAEvD,CAAA;AAEnB;;;;;AAMA,IAAa,6BACX,oBAAC,KAAK,aAAN;CACE,IAAI;CACJ,eAAc;CACd,WAAW,2BAAO;CAElB,UAAA,oBAAC,mBAAD,CAAoB,CAAA;AACJ,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
|
-
import __locale_default from "../../../../../_virtual/
|
|
4
|
+
import __locale_default from "../../../../../_virtual/_14.locale.mjs";
|
|
5
5
|
import OptionView from "../../views/OptionView.mjs";
|
|
6
6
|
import { useMemo } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
package/dist/js/packages/components/src/components/FileCard/components/DeleteButton/DeleteButton.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { IconClose } from "../../../Icon/components/icons/IconClose.mjs";
|
|
4
4
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
5
|
import { Button } from "../../../Button/Button.mjs";
|
|
6
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
6
|
+
import __locale_default from "../../../../../../../_virtual/_16.locale.mjs";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/FileCard/components/DeleteButton/DeleteButton.tsx
|
|
9
9
|
var DeleteButton = (props) => {
|
|
@@ -7,7 +7,7 @@ import { IllustratedMessage } from "../IllustratedMessage/IllustratedMessage.mjs
|
|
|
7
7
|
import ImageCropper_module_default from "./ImageCropper.module.mjs";
|
|
8
8
|
import { Slider } from "../Slider/Slider.mjs";
|
|
9
9
|
import { getCroppedImageFile } from "./lib/getCroppedImageFile.mjs";
|
|
10
|
-
import __locale_default from "../../../../../_virtual/
|
|
10
|
+
import __locale_default from "../../../../../_virtual/_20.locale.mjs";
|
|
11
11
|
import { useImageSrc } from "../../lib/hooks/useImageSrc.mjs";
|
|
12
12
|
import clsx from "clsx";
|
|
13
13
|
import { useEffect, useRef, useState } from "react";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { flowComponent } from "../../lib/componentFactory/flowComponent.mjs";
|
|
4
4
|
import { useLocalizedStringFormatter as useLocalizedStringFormatter$1 } from "../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
|
-
import __locale_default from "../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../_virtual/_31.locale.mjs";
|
|
6
6
|
import Kbd_module_default from "./Kbd.module.mjs";
|
|
7
7
|
import clsx from "clsx";
|
|
8
8
|
import { Fragment } from "react";
|
|
@@ -7,7 +7,7 @@ import { UiComponentTunnelExit } from "../UiComponentTunnel/UiComponentTunnelExi
|
|
|
7
7
|
import { useOverlayController } from "../../lib/controller/overlay/useOverlayController.mjs";
|
|
8
8
|
import ButtonView from "../../views/ButtonView.mjs";
|
|
9
9
|
import DivView from "../../views/DivView.mjs";
|
|
10
|
-
import __locale_default from "../../../../../_virtual/
|
|
10
|
+
import __locale_default from "../../../../../_virtual/_21.locale.mjs";
|
|
11
11
|
import { Overlay } from "../Overlay/Overlay.mjs";
|
|
12
12
|
import LightBox_module_default from "./LightBox.module.mjs";
|
|
13
13
|
import clsx from "clsx";
|
package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/Controls.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
4
|
import LightBoxGallery_module_default from "./LightBoxGallery.module.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../../../_virtual/_21.locale.mjs";
|
|
6
6
|
import clsx from "clsx";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/LightBox/components/LightBoxGallery/Controls.tsx
|
|
@@ -5,7 +5,7 @@ import { IconChevronLeft } from "../../../Icon/components/icons/IconChevronLeft.
|
|
|
5
5
|
import { IconChevronRight } from "../../../Icon/components/icons/IconChevronRight.mjs";
|
|
6
6
|
import { Button } from "../../../Button/Button.mjs";
|
|
7
7
|
import LightBoxGallery_module_default from "./LightBoxGallery.module.mjs";
|
|
8
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
8
|
+
import __locale_default from "../../../../../../../_virtual/_21.locale.mjs";
|
|
9
9
|
import { Controls } from "./Controls.mjs";
|
|
10
10
|
import clsx from "clsx";
|
|
11
11
|
import React, { useEffect, useRef, useState } from "react";
|
|
@@ -7,7 +7,7 @@ import { Button } from "../../../Button/Button.mjs";
|
|
|
7
7
|
import { UiComponentTunnelExit } from "../../../UiComponentTunnel/UiComponentTunnelExit.mjs";
|
|
8
8
|
import { useOverlayController } from "../../../../lib/controller/overlay/useOverlayController.mjs";
|
|
9
9
|
import LightBoxGallery_module_default from "../LightBoxGallery/LightBoxGallery.module.mjs";
|
|
10
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
10
|
+
import __locale_default from "../../../../../../../_virtual/_21.locale.mjs";
|
|
11
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
import { useLocalizedStringFormatter } from "react-aria";
|
|
13
13
|
//#region src/components/LightBox/components/LightBoxGalleryItem/LightBoxGalleryItem.tsx
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { IconDownload } from "../../../Icon/components/icons/IconDownload.mjs";
|
|
4
4
|
import { IconExternalLink } from "../../../Icon/components/icons/IconExternalLink.mjs";
|
|
5
5
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
6
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
6
|
+
import __locale_default from "../../../../../../../_virtual/_15.locale.mjs";
|
|
7
7
|
import LinkIcon_module_default from "./LinkIcon.module.mjs";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/components/Link/components/LinkIcon/LinkIcon.tsx
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { IconSearch } from "../../../Icon/components/icons/IconSearch.mjs";
|
|
4
4
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../../../_virtual/_17.locale.mjs";
|
|
6
6
|
import IllustratedMessageView from "../../../../views/IllustratedMessageView.mjs";
|
|
7
7
|
import HeadingView from "../../../../views/HeadingView.mjs";
|
|
8
8
|
import TextView from "../../../../views/TextView.mjs";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { IconUnorderedList } from "../../../Icon/components/icons/IconUnorderedList.mjs";
|
|
4
4
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../../../_virtual/_17.locale.mjs";
|
|
6
6
|
import IllustratedMessageView from "../../../../views/IllustratedMessageView.mjs";
|
|
7
7
|
import HeadingView from "../../../../views/HeadingView.mjs";
|
|
8
8
|
import TextView from "../../../../views/TextView.mjs";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
4
|
import DivView from "../../../../views/DivView.mjs";
|
|
5
5
|
import LoadingSpinnerView from "../../../../views/LoadingSpinnerView.mjs";
|
|
6
|
-
import __locale_default from "../../../../../../../_virtual/
|
|
6
|
+
import __locale_default from "../../../../../../../_virtual/_17.locale.mjs";
|
|
7
7
|
import { useList } from "../../hooks/useList.mjs";
|
|
8
8
|
import Footer_module_default from "./Footer.module.mjs";
|
|
9
9
|
import { PaginationInfos } from "./components/PaginationInfos/PaginationInfos.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
4
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
5
5
|
import TextView from "../../../../../../views/TextView.mjs";
|
|
6
6
|
import { useList } from "../../../../hooks/useList.mjs";
|
|
7
7
|
import SkeletonView from "../../../../../../views/SkeletonView.mjs";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
4
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
6
6
|
import { useList } from "../../../../hooks/useList.mjs";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.tsx
|
|
@@ -6,7 +6,7 @@ import { IconUndo } from "../../../../../Icon/components/icons/IconUndo.mjs";
|
|
|
6
6
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
7
7
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
8
8
|
import DivView from "../../../../../../views/DivView.mjs";
|
|
9
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
9
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
10
10
|
import TextView from "../../../../../../views/TextView.mjs";
|
|
11
11
|
import { useList } from "../../../../hooks/useList.mjs";
|
|
12
12
|
import ActiveFilters_module_default from "./ActiveFilters.module.mjs";
|
|
@@ -5,7 +5,7 @@ import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/
|
|
|
5
5
|
import { useOverlayController } from "../../../../../../lib/controller/overlay/useOverlayController.mjs";
|
|
6
6
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
7
7
|
import SkeletonTextView from "../../../../../../views/SkeletonTextView.mjs";
|
|
8
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
8
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
9
9
|
import HeadingView from "../../../../../../views/HeadingView.mjs";
|
|
10
10
|
import TextView from "../../../../../../views/TextView.mjs";
|
|
11
11
|
import { useList } from "../../../../hooks/useList.mjs";
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
+
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
3
5
|
import CheckboxGroupView from "../../../../../../views/CheckboxGroupView.mjs";
|
|
4
6
|
import CheckboxView from "../../../../../../views/CheckboxView.mjs";
|
|
7
|
+
import FilterAccordionCheckboxGroup_module_default from "./FilterAccordionCheckboxGroup.module.mjs";
|
|
5
8
|
import "react";
|
|
6
|
-
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
10
|
//#region src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.tsx
|
|
8
11
|
var FilterAccordionCheckboxGroup = (props) => {
|
|
9
12
|
const { filter } = props;
|
|
13
|
+
const formatter = useLocalizedStringFormatter(__locale_default, "List");
|
|
10
14
|
const activeKeys = filter.values.filter((v) => v.isActive).map((v) => v.id);
|
|
11
15
|
const name = filter.name ?? filter.property;
|
|
12
|
-
|
|
16
|
+
const isEveryValueActive = filter.isEveryValueActive();
|
|
17
|
+
const selectAllCheckbox = filter.isSelectAllAvailable && /* @__PURE__ */ jsx(CheckboxView, {
|
|
18
|
+
className: FilterAccordionCheckboxGroup_module_default.selectAllCheckbox,
|
|
19
|
+
isSelected: isEveryValueActive,
|
|
20
|
+
isIndeterminate: filter.isActive() && !isEveryValueActive,
|
|
21
|
+
onChange: () => isEveryValueActive ? filter.deselectAll() : filter.selectAll(),
|
|
22
|
+
children: formatter.format(isEveryValueActive ? "filters.deselectAll" : "filters.selectAll")
|
|
23
|
+
});
|
|
24
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [selectAllCheckbox, /* @__PURE__ */ jsx(CheckboxGroupView, {
|
|
13
25
|
value: activeKeys,
|
|
14
26
|
m: [1, 1],
|
|
15
27
|
"aria-label": name,
|
|
@@ -18,7 +30,7 @@ var FilterAccordionCheckboxGroup = (props) => {
|
|
|
18
30
|
onPress: () => v.toggle(),
|
|
19
31
|
children: v.render()
|
|
20
32
|
}, v.id))
|
|
21
|
-
});
|
|
33
|
+
})] });
|
|
22
34
|
};
|
|
23
35
|
//#endregion
|
|
24
36
|
export { FilterAccordionCheckboxGroup };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterAccordionCheckboxGroup.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport CheckboxGroupView from \"@/views/CheckboxGroupView\";\nimport CheckboxView from \"@/views/CheckboxView\";\nimport type { Filter } from \"@/components/List/model/filter/Filter\";\n\ninterface Props {\n filter: Filter;\n}\n\nexport const FilterAccordionCheckboxGroup: FC<Props> = (props) => {\n const { filter } = props;\n\n const activeKeys = filter.values.filter((v) => v.isActive).map((v) => v.id);\n\n const name = filter.name ?? filter.property;\n\n return (\n <CheckboxGroupView value={activeKeys} m={[1, 1]} aria-label={name}>\n
|
|
1
|
+
{"version":3,"file":"FilterAccordionCheckboxGroup.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport CheckboxGroupView from \"@/views/CheckboxGroupView\";\nimport CheckboxView from \"@/views/CheckboxView\";\nimport type { Filter } from \"@/components/List/model/filter/Filter\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport styles from \"./FilterAccordionCheckboxGroup.module.scss\";\n\ninterface Props {\n filter: Filter;\n}\n\nexport const FilterAccordionCheckboxGroup: FC<Props> = (props) => {\n const { filter } = props;\n const formatter = useLocalizedStringFormatter(locales, \"List\");\n\n const activeKeys = filter.values.filter((v) => v.isActive).map((v) => v.id);\n\n const name = filter.name ?? filter.property;\n\n const isEveryValueActive = filter.isEveryValueActive();\n\n const selectAllCheckbox = filter.isSelectAllAvailable && (\n <CheckboxView\n className={styles.selectAllCheckbox}\n isSelected={isEveryValueActive}\n isIndeterminate={filter.isActive() && !isEveryValueActive}\n onChange={() =>\n isEveryValueActive ? filter.deselectAll() : filter.selectAll()\n }\n >\n {formatter.format(\n isEveryValueActive ? \"filters.deselectAll\" : \"filters.selectAll\",\n )}\n </CheckboxView>\n );\n\n return (\n <>\n {selectAllCheckbox}\n <CheckboxGroupView value={activeKeys} m={[1, 1]} aria-label={name}>\n {filter.values.map((v) => (\n <CheckboxView key={v.id} value={v.id} onPress={() => v.toggle()}>\n {v.render()}\n </CheckboxView>\n ))}\n </CheckboxGroupView>\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAYA,IAAa,gCAA2C,UAAU;CAChE,MAAM,EAAE,WAAW;CACnB,MAAM,YAAY,4BAA4B,kBAAS,MAAM;CAE7D,MAAM,aAAa,OAAO,OAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,EAAE;CAE1E,MAAM,OAAO,OAAO,QAAQ,OAAO;CAEnC,MAAM,qBAAqB,OAAO,mBAAmB;CAErD,MAAM,oBAAoB,OAAO,wBAC/B,oBAAC,cAAD;EACE,WAAW,4CAAO;EAClB,YAAY;EACZ,iBAAiB,OAAO,SAAS,KAAK,CAAC;EACvC,gBACE,qBAAqB,OAAO,YAAY,IAAI,OAAO,UAAU;EAG9D,UAAA,UAAU,OACT,qBAAqB,wBAAwB,mBAC/C;CACY,CAAA;CAGhB,OACE,qBAAA,YAAA,EAAA,UAAA,CACG,mBACD,oBAAC,mBAAD;EAAmB,OAAO;EAAY,GAAG,CAAC,GAAG,CAAC;EAAG,cAAY;EAC1D,UAAA,OAAO,OAAO,KAAK,MAClB,oBAAC,cAAD;GAAyB,OAAO,EAAE;GAAI,eAAe,EAAE,OAAO;GAC3D,UAAA,EAAE,OAAO;EACE,GAFK,EAAE,EAEP,CACf;CACgB,CAAA,CACnB,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
//#region src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.module.scss
|
|
4
|
+
var selectAllCheckbox = "flow--list--header--all-filters-modal--select-all-checkbox";
|
|
5
|
+
var FilterAccordionCheckboxGroup_module_default = { selectAllCheckbox };
|
|
6
|
+
//#endregion
|
|
7
|
+
export { FilterAccordionCheckboxGroup_module_default as default, selectAllCheckbox };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=FilterAccordionCheckboxGroup.module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterAccordionCheckboxGroup.module.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.module.scss"],"sourcesContent":["$select-all-spacing: var(--menu--select-all-to-item-spacing);\n\n/* Outside the checkbox grid, so it adds the grid's row gap itself */\n.selectAllCheckbox {\n margin-block-end: calc(var(--column-layout--gap--s) + #{$select-all-spacing});\n}\n"],"mappings":""}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
4
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
6
6
|
import RangeCalendarView from "../../../../../../views/RangeCalendarView.mjs";
|
|
7
7
|
import FlexView from "../../../../../../views/FlexView.mjs";
|
|
8
8
|
import "react";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
4
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
5
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
6
6
|
import RadioGroupView from "../../../../../../views/RadioGroupView.mjs";
|
|
7
7
|
import RadioView from "../../../../../../views/RadioView.mjs";
|
|
8
8
|
import FlexView from "../../../../../../views/FlexView.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
|
-
import __locale_default from "../../../../../../../../../_virtual/
|
|
4
|
+
import __locale_default from "../../../../../../../../../_virtual/_17.locale.mjs";
|
|
5
5
|
import HeadingView from "../../../../../../views/HeadingView.mjs";
|
|
6
6
|
import { useList } from "../../../../hooks/useList.mjs";
|
|
7
7
|
import ContentView from "../../../../../../views/ContentView.mjs";
|