@mittwald/flow-react-components 0.2.0-alpha.533 → 0.2.0-alpha.535
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 +12 -0
- package/dist/assets/doc-properties.json +604 -516
- package/dist/css/all.css +1 -1
- package/dist/js/_virtual/_.locale.json@8b26c19d587a90f821a2307c8122f6d1.mjs +2 -0
- package/dist/js/_virtual/_.locale.json@8b26c19d587a90f821a2307c8122f6d1.mjs.map +1 -1
- package/dist/js/components/src/components/Action/lib/ariaLive.mjs +17 -5
- package/dist/js/components/src/components/Action/lib/ariaLive.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/ContextMenu.mjs +3 -1
- package/dist/js/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs +3 -0
- package/dist/js/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
- package/dist/js/components/src/components/CopyButton/CopyButton.mjs +1 -0
- package/dist/js/components/src/components/CopyButton/CopyButton.mjs.map +1 -1
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs +1 -0
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs.map +1 -1
- package/dist/js/components/src/components/Modal/Modal.mjs +6 -2
- package/dist/js/components/src/components/Modal/Modal.mjs.map +1 -1
- package/dist/js/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs +120 -0
- package/dist/js/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs.map +1 -0
- package/dist/js/components/src/components/Overlay/Overlay.mjs +2 -1
- package/dist/js/components/src/components/Overlay/Overlay.mjs.map +1 -1
- package/dist/js/components/src/components/Overlay/components/OverlayContent.mjs +14 -3
- package/dist/js/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
- package/dist/js/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs +119 -0
- package/dist/js/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs.map +1 -0
- package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs +2 -0
- package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs +1 -0
- package/dist/js/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs +2 -1
- package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs.map +1 -1
- package/dist/js/components/src/integrations/react-hook-form/components/Form/Form.mjs +2 -0
- package/dist/js/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
- package/dist/js/components/src/views/FlexView.mjs +15 -0
- package/dist/js/components/src/views/FlexView.mjs.map +1 -0
- package/dist/js/components/src/views/LoadingSpinnerView.mjs +15 -0
- package/dist/js/components/src/views/LoadingSpinnerView.mjs.map +1 -0
- package/dist/js/default.mjs +1 -0
- package/dist/js/default.mjs.map +1 -1
- package/dist/js/flr-universal.mjs +5 -3
- package/dist/js/flr-universal.mjs.map +1 -1
- package/dist/types/components/Action/index.d.ts +1 -0
- package/dist/types/components/Action/index.d.ts.map +1 -1
- package/dist/types/components/Action/lib/ariaLive.d.ts +1 -0
- package/dist/types/components/Action/lib/ariaLive.d.ts.map +1 -1
- package/dist/types/components/Modal/Modal.d.ts.map +1 -1
- package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.d.ts +3 -0
- package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.d.ts.map +1 -0
- package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/index.d.ts +2 -0
- package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/index.d.ts.map +1 -0
- package/dist/types/components/Modal/stories/Default.stories.d.ts +1 -0
- package/dist/types/components/Modal/stories/Default.stories.d.ts.map +1 -1
- package/dist/types/components/Overlay/Overlay.d.ts +1 -0
- package/dist/types/components/Overlay/Overlay.d.ts.map +1 -1
- package/dist/types/components/Overlay/components/OverlayContent.d.ts.map +1 -1
- package/dist/types/components/Overlay/components/OverlaySuspenseFallback.d.ts +4 -0
- package/dist/types/components/Overlay/components/OverlaySuspenseFallback.d.ts.map +1 -0
- package/dist/types/components/Overlay/components/index.d.ts +1 -0
- package/dist/types/components/Overlay/components/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
const locales = {"de-DE": { "action.isFailed": `Fehlgeschlagen`,
|
|
4
4
|
"action.isPending": `Ausstehend...`,
|
|
5
5
|
"action.isSucceeded": `Erfolgreich`,
|
|
6
|
+
"suspense.isPending": `Lädt...`,
|
|
6
7
|
},"en-US": { "action.isFailed": `Failed`,
|
|
7
8
|
"action.isPending": `Pending...`,
|
|
8
9
|
"action.isSucceeded": `Succeeded`,
|
|
10
|
+
"suspense.isPending": `Loading...`,
|
|
9
11
|
}};
|
|
10
12
|
|
|
11
13
|
export { locales as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_.locale.json@8b26c19d587a90f821a2307c8122f6d1.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_.locale.json@8b26c19d587a90f821a2307c8122f6d1.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -6,11 +6,11 @@ import { useEffect } from 'react';
|
|
|
6
6
|
import { announce } from '@react-aria/live-announcer';
|
|
7
7
|
|
|
8
8
|
const useAriaAnnounceActionState = (actionState, options = {}) => {
|
|
9
|
-
const
|
|
9
|
+
const formatter = useLocalizedStringFormatter(locales);
|
|
10
10
|
const {
|
|
11
|
-
isPendingText =
|
|
12
|
-
isSucceededText =
|
|
13
|
-
isFailedText =
|
|
11
|
+
isPendingText = formatter.format("action.isPending"),
|
|
12
|
+
isSucceededText = formatter.format("action.isSucceeded"),
|
|
13
|
+
isFailedText = formatter.format("action.isFailed")
|
|
14
14
|
} = options;
|
|
15
15
|
useEffect(() => {
|
|
16
16
|
if (actionState === "isPending") {
|
|
@@ -22,6 +22,18 @@ const useAriaAnnounceActionState = (actionState, options = {}) => {
|
|
|
22
22
|
}
|
|
23
23
|
}, [actionState]);
|
|
24
24
|
};
|
|
25
|
+
const useAriaAnnounceSuspense = () => {
|
|
26
|
+
const formatter = useLocalizedStringFormatter(locales);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
const timeout = setTimeout(() => {
|
|
29
|
+
const isPendingText = formatter.format("suspense.isPending");
|
|
30
|
+
announce(isPendingText, "polite");
|
|
31
|
+
}, 750);
|
|
32
|
+
return () => {
|
|
33
|
+
clearTimeout(timeout);
|
|
34
|
+
};
|
|
35
|
+
}, []);
|
|
36
|
+
};
|
|
25
37
|
|
|
26
|
-
export { useAriaAnnounceActionState };
|
|
38
|
+
export { useAriaAnnounceActionState, useAriaAnnounceSuspense };
|
|
27
39
|
//# sourceMappingURL=ariaLive.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ariaLive.mjs","sources":["../../../../../../../src/components/Action/lib/ariaLive.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../locales/*.locale.json\";\nimport { useEffect } from \"react\";\nimport type { ActionStateValue } from \"@/components/Action/models/ActionState\";\nimport { announce } from \"@react-aria/live-announcer\";\n\ninterface Options {\n isPendingText?: string;\n isSucceededText?: string;\n isFailedText?: string;\n}\n\nexport const useAriaAnnounceActionState = (\n actionState: ActionStateValue,\n options: Options = {},\n): void => {\n const
|
|
1
|
+
{"version":3,"file":"ariaLive.mjs","sources":["../../../../../../../src/components/Action/lib/ariaLive.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../locales/*.locale.json\";\nimport { useEffect } from \"react\";\nimport type { ActionStateValue } from \"@/components/Action/models/ActionState\";\nimport { announce } from \"@react-aria/live-announcer\";\n\ninterface Options {\n isPendingText?: string;\n isSucceededText?: string;\n isFailedText?: string;\n}\n\nexport const useAriaAnnounceActionState = (\n actionState: ActionStateValue,\n options: Options = {},\n): void => {\n const formatter = useLocalizedStringFormatter(locales);\n\n const {\n isPendingText = formatter.format(\"action.isPending\"),\n isSucceededText = formatter.format(\"action.isSucceeded\"),\n isFailedText = formatter.format(\"action.isFailed\"),\n } = options;\n\n useEffect(() => {\n if (actionState === \"isPending\") {\n announce(isPendingText, \"polite\");\n } else if (actionState === \"isSucceeded\") {\n announce(isSucceededText, \"polite\");\n } else if (actionState === \"isFailed\") {\n announce(isFailedText, \"polite\");\n }\n }, [actionState]);\n};\n\nexport const useAriaAnnounceSuspense = () => {\n const formatter = useLocalizedStringFormatter(locales);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n const isPendingText = formatter.format(\"suspense.isPending\");\n announce(isPendingText, \"polite\");\n }, 750);\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n};\n"],"names":[],"mappings":";;;;;AAYO,MAAM,0BAAA,GAA6B,CACxC,WAAA,EACA,OAAA,GAAmB,EAAC,KACX;AACT,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AAErD,EAAA,MAAM;AAAA,IACJ,aAAA,GAAgB,SAAA,CAAU,MAAA,CAAO,kBAAkB,CAAA;AAAA,IACnD,eAAA,GAAkB,SAAA,CAAU,MAAA,CAAO,oBAAoB,CAAA;AAAA,IACvD,YAAA,GAAe,SAAA,CAAU,MAAA,CAAO,iBAAiB;AAAA,GACnD,GAAI,OAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,gBAAgB,WAAA,EAAa;AAC/B,MAAA,QAAA,CAAS,eAAe,QAAQ,CAAA;AAAA,IAClC,CAAA,MAAA,IAAW,gBAAgB,aAAA,EAAe;AACxC,MAAA,QAAA,CAAS,iBAAiB,QAAQ,CAAA;AAAA,IACpC,CAAA,MAAA,IAAW,gBAAgB,UAAA,EAAY;AACrC,MAAA,QAAA,CAAS,cAAc,QAAQ,CAAA;AAAA,IACjC;AAAA,EACF,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAClB;AAEO,MAAM,0BAA0B,MAAM;AAC3C,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AAErD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,OAAA,GAAU,WAAW,MAAM;AAC/B,MAAA,MAAM,aAAA,GAAgB,SAAA,CAAU,MAAA,CAAO,oBAAoB,CAAA;AAC3D,MAAA,QAAA,CAAS,eAAe,QAAQ,CAAA;AAAA,IAClC,GAAG,GAAG,CAAA;AAEN,IAAA,OAAO,MAAM;AACX,MAAA,YAAA,CAAa,OAAO,CAAA;AAAA,IACtB,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AACP;;;;"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
import { Action } from '../Action/Action.mjs';
|
|
5
|
+
import 'react-aria';
|
|
6
|
+
import 'react';
|
|
7
|
+
import '@react-aria/live-announcer';
|
|
5
8
|
import { getAriaSelectionMode, getMenuItemSelectionVariant, getCloseOverlayType } from './lib.mjs';
|
|
6
9
|
import { Popover } from '../Popover/Popover.mjs';
|
|
7
10
|
import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
|
|
8
11
|
import 'mobx';
|
|
9
|
-
import 'react';
|
|
10
12
|
import { useOverlayController } from '../../lib/controller/overlay/useOverlayController.mjs';
|
|
11
13
|
import { OverlayContextProvider } from '../../lib/controller/overlay/OverlayContextProvider.mjs';
|
|
12
14
|
import '../../lib/propsContext/propsContext.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.mjs","sources":["../../../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import { Action } from \"@/components/Action\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n getCloseOverlayType,\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\";\n\nexport interface ContextMenuProps\n extends Omit<PopoverProps, \"withTip\">,\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 <Popover {...rest} controller={overlayController} isDialogContent={false}>\n <OverlayContextProvider type=\"ContextMenu\" controller={overlayController}>\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={getCloseOverlayType(selectionMode)}>\n {children}\n </Action>\n </PropsContextProvider>\n </ContextMenuContentView>\n </OverlayContextProvider>\n </Popover>\n );\n});\n\nexport default ContextMenu;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextMenu.mjs","sources":["../../../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import { Action } from \"@/components/Action\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n getCloseOverlayType,\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\";\n\nexport interface ContextMenuProps\n extends Omit<PopoverProps, \"withTip\">,\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 <Popover {...rest} controller={overlayController} isDialogContent={false}>\n <OverlayContextProvider type=\"ContextMenu\" controller={overlayController}>\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={getCloseOverlayType(selectionMode)}>\n {children}\n </Action>\n </PropsContextProvider>\n </ContextMenuContentView>\n </OverlayContextProvider>\n </Popover>\n );\n});\n\nexport default ContextMenu;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAsCO,MAAM,WAAA,GAAc,aAAA,CAAc,aAAA,EAAe,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,YAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,GAAA;AAAA,IACA,UAAA,EAAY,0BAAA;AAAA,IACZ,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,4BAAA,GAA+B,qBAAqB,aAAA,EAAe;AAAA,IACvE,0BAAA,EAA4B;AAAA,GAC7B,CAAA;AAED,EAAA,MAAM,oBACJ,0BAAA,IAA8B,4BAAA;AAEhC,EAAA,MAAM,gBAAA,GAAmB,4BAA4B,aAAa,CAAA;AAElE,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,QAAA,EAAU;AAAA,MACR,gBAAA;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IAEA,OAAA,EAAS;AAAA,MACP,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,IAAA,EAAM;AAAA;AACR,OACF;AAAA,MACA,wBAAA,EAA0B;AAAA,KAC5B;AAAA,IAEA,kBAAA,EAAoB;AAAA,MAClB,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,IAAA,EAAM;AAAA;AACR;AACF;AACF,GACF;AAEA,EAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAS,GAAG,IAAA,EAAM,UAAA,EAAY,iBAAA,EAAmB,eAAA,EAAiB,KAAA,EACjE,QAAA,kBAAA,GAAA,CAAC,sBAAA,EAAA,EAAuB,IAAA,EAAK,aAAA,EAAc,YAAY,iBAAA,EACrD,QAAA,kBAAA,GAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,WAAW,MAAA,CAAO,WAAA;AAAA,MAClB,QAAA;AAAA,MACA,aAAA,EAAe,qBAAqB,aAAa,CAAA;AAAA,MACjD,YAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,GAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,YAAA,EAAc,mBAAA,CAAoB,aAAa,CAAA,EACpD,QAAA,EACH,CAAA,EACF;AAAA;AAAA,KAEJ,CAAA,EACF,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -8,6 +8,9 @@ import { flowComponent } from '../../../../lib/componentFactory/flowComponent.mj
|
|
|
8
8
|
import styles from '../../ContextMenu.module.scss.mjs';
|
|
9
9
|
import { getAriaSelectionMode, getMenuItemSelectionVariant, getCloseOverlayType } from '../../lib.mjs';
|
|
10
10
|
import { Action } from '../../../Action/Action.mjs';
|
|
11
|
+
import 'react-aria';
|
|
12
|
+
import 'react';
|
|
13
|
+
import '@react-aria/live-announcer';
|
|
11
14
|
|
|
12
15
|
const ContextMenuSection = flowComponent(
|
|
13
16
|
"ContextMenuSection",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuSection.mjs","sources":["../../../../../../../../src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { PropsWithChildren } from \"react\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport styles from \"../../ContextMenu.module.scss\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n getCloseOverlayType,\n getMenuItemSelectionVariant,\n} from \"@/components/ContextMenu/lib\";\nimport { Action } from \"@/components/Action\";\nimport type { MenuItemProps } from \"@/components/MenuItem\";\n\nexport type ContextMenuSectionProps = PropsWithChildren &\n FlowComponentProps &\n Pick<\n Aria.MenuSectionProps<MenuItemProps>,\n \"defaultSelectedKeys\" | \"selectedKeys\"\n > & {\n selectionMode?: ContextMenuSelectionMode;\n };\n\n/** @flr-generate all */\nexport const ContextMenuSection = flowComponent(\n \"ContextMenuSection\",\n (props) => {\n const { children, selectionMode, ref, ...rest } = props;\n\n const selectionVariant = getMenuItemSelectionVariant(selectionMode);\n\n const propsContext: PropsContext = {\n Heading: {\n level: 5,\n wrapWith: <Aria.Header />,\n },\n MenuItem: {\n selectionVariant,\n },\n };\n\n return (\n <Aria.MenuSection\n ref={ref}\n {...rest}\n selectionMode={getAriaSelectionMode(selectionMode)}\n className={styles.section}\n >\n <PropsContextProvider props={propsContext}>\n <Action skip>\n <Action closeOverlay={getCloseOverlayType(selectionMode)}>\n {children}\n </Action>\n </Action>\n </PropsContextProvider>\n </Aria.MenuSection>\n );\n },\n);\n\nexport default ContextMenuSection;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextMenuSection.mjs","sources":["../../../../../../../../src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { PropsWithChildren } from \"react\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport styles from \"../../ContextMenu.module.scss\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n getCloseOverlayType,\n getMenuItemSelectionVariant,\n} from \"@/components/ContextMenu/lib\";\nimport { Action } from \"@/components/Action\";\nimport type { MenuItemProps } from \"@/components/MenuItem\";\n\nexport type ContextMenuSectionProps = PropsWithChildren &\n FlowComponentProps &\n Pick<\n Aria.MenuSectionProps<MenuItemProps>,\n \"defaultSelectedKeys\" | \"selectedKeys\"\n > & {\n selectionMode?: ContextMenuSelectionMode;\n };\n\n/** @flr-generate all */\nexport const ContextMenuSection = flowComponent(\n \"ContextMenuSection\",\n (props) => {\n const { children, selectionMode, ref, ...rest } = props;\n\n const selectionVariant = getMenuItemSelectionVariant(selectionMode);\n\n const propsContext: PropsContext = {\n Heading: {\n level: 5,\n wrapWith: <Aria.Header />,\n },\n MenuItem: {\n selectionVariant,\n },\n };\n\n return (\n <Aria.MenuSection\n ref={ref}\n {...rest}\n selectionMode={getAriaSelectionMode(selectionMode)}\n className={styles.section}\n >\n <PropsContextProvider props={propsContext}>\n <Action skip>\n <Action closeOverlay={getCloseOverlayType(selectionMode)}>\n {children}\n </Action>\n </Action>\n </PropsContextProvider>\n </Aria.MenuSection>\n );\n },\n);\n\nexport default ContextMenuSection;\n"],"names":[],"mappings":";;;;;;;;;;;;AA0BO,MAAM,kBAAA,GAAqB,aAAA;AAAA,EAChC,oBAAA;AAAA,EACA,CAAC,KAAA,KAAU;AACT,IAAA,MAAM,EAAE,QAAA,EAAU,aAAA,EAAe,GAAA,EAAK,GAAG,MAAK,GAAI,KAAA;AAElD,IAAA,MAAM,gBAAA,GAAmB,4BAA4B,aAAa,CAAA;AAElE,IAAA,MAAM,YAAA,GAA6B;AAAA,MACjC,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,CAAA;AAAA,QACP,QAAA,kBAAU,GAAA,CAAC,IAAA,CAAK,MAAA,EAAL,EAAY;AAAA,OACzB;AAAA,MACA,QAAA,EAAU;AAAA,QACR;AAAA;AACF,KACF;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA,CAAK,WAAA;AAAA,MAAL;AAAA,QACC,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QACJ,aAAA,EAAe,qBAAqB,aAAa,CAAA;AAAA,QACjD,WAAW,MAAA,CAAO,OAAA;AAAA,QAElB,8BAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,UAAO,IAAA,EAAI,IAAA,EACV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,cAAc,mBAAA,CAAoB,aAAa,CAAA,EACpD,QAAA,EACH,GACF,CAAA,EACF;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;;;;"}
|
|
@@ -15,6 +15,7 @@ import { Tooltip } from '../Tooltip/Tooltip.mjs';
|
|
|
15
15
|
import { onlyText } from 'react-children-utilities';
|
|
16
16
|
import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
|
|
17
17
|
import { Action } from '../Action/Action.mjs';
|
|
18
|
+
import '@react-aria/live-announcer';
|
|
18
19
|
|
|
19
20
|
const CopyButton = flowComponent("CopyButton", (props) => {
|
|
20
21
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.mjs","sources":["../../../../../../src/components/CopyButton/CopyButton.tsx"],"sourcesContent":["import copy from \"copy-to-clipboard\";\nimport type { ButtonProps } from \"@/components/Button\";\nimport { Button } from \"@/components/Button\";\nimport { IconCopy } from \"@/components/Icon/components/icons\";\nimport locales from \"./locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport { Tooltip, TooltipTrigger } from \"@/components/Tooltip\";\nimport { onlyText } from \"react-children-utilities\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Action } from \"@/components/Action\";\n\nexport interface CopyButtonProps\n extends Omit<ButtonProps, \"onPress\" | \"aria-label\" | \"render\">,\n FlowComponentProps<HTMLButtonElement> {\n /** The text to copy. */\n text?: string;\n}\n\n/** @flr-generate all */\nexport const CopyButton = flowComponent(\"CopyButton\", (props) => {\n const {\n text = \"\",\n ref,\n variant = \"plain\",\n color = \"secondary\",\n ...buttonProps\n } = props;\n\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n const tooltip = stringFormatter.format(\"copyButton.copy\");\n\n const copyValue = () => {\n copy(onlyText(text));\n };\n\n return (\n <TooltipTrigger>\n <Action action={copyValue} showFeedback>\n <Button\n aria-label={tooltip}\n {...buttonProps}\n ref={ref}\n variant={variant}\n color={color}\n >\n <IconCopy />\n </Button>\n </Action>\n <Tooltip>{tooltip}</Tooltip>\n </TooltipTrigger>\n );\n});\n\nexport default CopyButton;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CopyButton.mjs","sources":["../../../../../../src/components/CopyButton/CopyButton.tsx"],"sourcesContent":["import copy from \"copy-to-clipboard\";\nimport type { ButtonProps } from \"@/components/Button\";\nimport { Button } from \"@/components/Button\";\nimport { IconCopy } from \"@/components/Icon/components/icons\";\nimport locales from \"./locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport { Tooltip, TooltipTrigger } from \"@/components/Tooltip\";\nimport { onlyText } from \"react-children-utilities\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Action } from \"@/components/Action\";\n\nexport interface CopyButtonProps\n extends Omit<ButtonProps, \"onPress\" | \"aria-label\" | \"render\">,\n FlowComponentProps<HTMLButtonElement> {\n /** The text to copy. */\n text?: string;\n}\n\n/** @flr-generate all */\nexport const CopyButton = flowComponent(\"CopyButton\", (props) => {\n const {\n text = \"\",\n ref,\n variant = \"plain\",\n color = \"secondary\",\n ...buttonProps\n } = props;\n\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n const tooltip = stringFormatter.format(\"copyButton.copy\");\n\n const copyValue = () => {\n copy(onlyText(text));\n };\n\n return (\n <TooltipTrigger>\n <Action action={copyValue} showFeedback>\n <Button\n aria-label={tooltip}\n {...buttonProps}\n ref={ref}\n variant={variant}\n color={color}\n >\n <IconCopy />\n </Button>\n </Action>\n <Tooltip>{tooltip}</Tooltip>\n </TooltipTrigger>\n );\n});\n\nexport default CopyButton;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAoBO,MAAM,UAAA,GAAa,aAAA,CAAc,YAAA,EAAc,CAAC,KAAA,KAAU;AAC/D,EAAA,MAAM;AAAA,IACJ,IAAA,GAAO,EAAA;AAAA,IACP,GAAA;AAAA,IACA,OAAA,GAAU,OAAA;AAAA,IACV,KAAA,GAAQ,WAAA;AAAA,IACR,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAA,MAAM,OAAA,GAAU,eAAA,CAAgB,MAAA,CAAO,iBAAiB,CAAA;AAExD,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,IAAA,CAAK,QAAA,CAAS,IAAI,CAAC,CAAA;AAAA,EACrB,CAAA;AAEA,EAAA,4BACG,cAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,YAAA,EAAY,IAAA,EACrC,QAAA,kBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAY,OAAA;AAAA,QACX,GAAG,WAAA;AAAA,QACJ,GAAA;AAAA,QACA,OAAA;AAAA,QACA,KAAA;AAAA,QAEA,8BAAC,QAAA,EAAA,EAAS;AAAA;AAAA,KACZ,EACF,CAAA;AAAA,oBACA,GAAA,CAAC,WAAS,QAAA,EAAA,OAAA,EAAQ;AAAA,GAAA,EACpB,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -88,6 +88,7 @@ import '../../NumberField/NumberField.mjs';
|
|
|
88
88
|
import '../../Option/Option.mjs';
|
|
89
89
|
import '../../../views/OverlayContentView.mjs';
|
|
90
90
|
import '../../../views/ClearPropsContextView.mjs';
|
|
91
|
+
import '../../../views/LoadingSpinnerView.mjs';
|
|
91
92
|
import '../../PasswordCreationField/PasswordCreationField.mjs';
|
|
92
93
|
import '../../Popover/components/PopoverTrigger/PopoverTrigger.mjs';
|
|
93
94
|
import '../../Popover/Popover.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAriaAnnounceSearchState.mjs","sources":["../../../../../../../src/components/List/hooks/useAriaAnnounceSearchState.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../locales/*.locale.json\";\nimport { announce } from \"@react-aria/live-announcer\";\nimport { useList } from \"@/index/default\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useEffect } from \"react\";\n\nconst announceDebounceMs = 600;\n\nexport const useAriaAnnounceSearchState = (): void => {\n const formatter = useLocalizedStringFormatter(locales);\n const list = useList();\n const debouncedAnnounce = useDebounceCallback(announce, announceDebounceMs);\n\n const searchTerm = list.search?.value;\n const resultCount = list.batches.getTotalItemsCount();\n const isLoading = list.loader.loaderState.useIsLoading();\n\n useEffect(() => {\n if (isLoading || !searchTerm) {\n debouncedAnnounce.cancel();\n return;\n }\n\n const text = formatter.format(\n resultCount > 0\n ? \"list.search.announce.result\"\n : \"list.search.announce.noResult\",\n {\n resultCount,\n searchTerm,\n },\n );\n\n debouncedAnnounce(text, \"polite\");\n }, [searchTerm, resultCount, isLoading]);\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAriaAnnounceSearchState.mjs","sources":["../../../../../../../src/components/List/hooks/useAriaAnnounceSearchState.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../locales/*.locale.json\";\nimport { announce } from \"@react-aria/live-announcer\";\nimport { useList } from \"@/index/default\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useEffect } from \"react\";\n\nconst announceDebounceMs = 600;\n\nexport const useAriaAnnounceSearchState = (): void => {\n const formatter = useLocalizedStringFormatter(locales);\n const list = useList();\n const debouncedAnnounce = useDebounceCallback(announce, announceDebounceMs);\n\n const searchTerm = list.search?.value;\n const resultCount = list.batches.getTotalItemsCount();\n const isLoading = list.loader.loaderState.useIsLoading();\n\n useEffect(() => {\n if (isLoading || !searchTerm) {\n debouncedAnnounce.cancel();\n return;\n }\n\n const text = formatter.format(\n resultCount > 0\n ? \"list.search.announce.result\"\n : \"list.search.announce.noResult\",\n {\n resultCount,\n searchTerm,\n },\n );\n\n debouncedAnnounce(text, \"polite\");\n }, [searchTerm, resultCount, isLoading]);\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,kBAAA,GAAqB,GAAA;AAEpB,MAAM,6BAA6B,MAAY;AACpD,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AACrD,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,iBAAA,GAAoB,mBAAA,CAAoB,QAAA,EAAU,kBAAkB,CAAA;AAE1E,EAAA,MAAM,UAAA,GAAa,KAAK,MAAA,EAAQ,KAAA;AAChC,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,OAAA,CAAQ,kBAAA,EAAmB;AACpD,EAAA,MAAM,SAAA,GAAY,IAAA,CAAK,MAAA,CAAO,WAAA,CAAY,YAAA,EAAa;AAEvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,IAAa,CAAC,UAAA,EAAY;AAC5B,MAAA,iBAAA,CAAkB,MAAA,EAAO;AACzB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,OAAO,SAAA,CAAU,MAAA;AAAA,MACrB,WAAA,GAAc,IACV,6BAAA,GACA,+BAAA;AAAA,MACJ;AAAA,QACE,WAAA;AAAA,QACA;AAAA;AACF,KACF;AAEA,IAAA,iBAAA,CAAkB,MAAM,QAAQ,CAAA;AAAA,EAClC,CAAA,EAAG,CAAC,UAAA,EAAY,WAAA,EAAa,SAAS,CAAC,CAAA;AACzC;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
import { Suspense } from 'react';
|
|
4
5
|
import styles from './Modal.module.scss.mjs';
|
|
5
6
|
import clsx from 'clsx';
|
|
6
7
|
import { dynamic } from '../../lib/propsContext/dynamicProps/dynamic.mjs';
|
|
@@ -9,12 +10,15 @@ import { PropsContextProvider } from '../../lib/propsContext/components/PropsCon
|
|
|
9
10
|
import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
|
|
10
11
|
import { Overlay } from '../Overlay/Overlay.mjs';
|
|
11
12
|
import { Action } from '../Action/Action.mjs';
|
|
12
|
-
import 'react';
|
|
13
|
+
import 'react-aria';
|
|
14
|
+
import '@react-aria/live-announcer';
|
|
13
15
|
import '@tabler/icons-react';
|
|
14
16
|
import '../Icon/Icon.mjs';
|
|
15
17
|
import '../../views/IconView.mjs';
|
|
16
18
|
import { IconClose } from '../Icon/components/icons/IconClose.mjs';
|
|
17
19
|
import ButtonView from '../../views/ButtonView.mjs';
|
|
20
|
+
import { OffCanvasSuspenseFallback } from './components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs';
|
|
21
|
+
import { Wrap } from '../Wrap/Wrap.mjs';
|
|
18
22
|
|
|
19
23
|
const Modal = flowComponent(
|
|
20
24
|
"Modal",
|
|
@@ -82,7 +86,7 @@ const Modal = flowComponent(
|
|
|
82
86
|
controller,
|
|
83
87
|
ref,
|
|
84
88
|
...rest,
|
|
85
|
-
children: /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children })
|
|
89
|
+
children: /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children: /* @__PURE__ */ jsx(Wrap, { if: offCanvas, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(OffCanvasSuspenseFallback, {}), children }) }) })
|
|
86
90
|
}
|
|
87
91
|
);
|
|
88
92
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.mjs","sources":["../../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"Modal.mjs","sources":["../../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import { Suspense, type PropsWithChildren, type ReactNode } from \"react\";\nimport styles from \"./Modal.module.scss\";\nimport clsx from \"clsx\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport type { OverlayController } from \"@/lib/controller/overlay\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Overlay } from \"@/components/Overlay/Overlay\";\nimport { Action } from \"@/components/Action\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport ButtonView from \"@/views/ButtonView\";\nimport { OffCanvasSuspenseFallback } from \"@/components/Modal/components/OffCanvasSuspenseFallback\";\nimport Wrap from \"@/components/Wrap\";\n\nexport interface ModalProps\n extends PropsWithChildren,\n FlowComponentProps,\n PropsWithClassName {\n /** The size of the modal. @default \"s\" */\n size?: \"s\" | \"m\" | \"l\";\n /** Whether the modal should be displayed as an off canvas. */\n offCanvas?: boolean;\n /**\n * Whether the off canvas should be displayed on the right or left side of the\n * screen. @default \"right\"\n */\n offCanvasOrientation?: \"left\" | \"right\";\n /** An overlay controller to control the modal state. */\n controller?: OverlayController;\n /**\n * Accepts \"actionConfirm\" to use the modal as a confirmation modal for an\n * action.\n */\n slot?: string;\n /** Whether the modal can be closed by clicking outside of it. */\n isDismissable?: boolean;\n}\n\nexport const Modal = flowComponent(\n \"Modal\",\n (props) => {\n const {\n size = \"s\",\n offCanvas,\n controller,\n children,\n ref,\n className,\n offCanvasOrientation = \"right\",\n ...rest\n } = props;\n\n const rootClassName = clsx(\n offCanvas ? styles.offCanvas : styles.modal,\n styles[`size-${size}`],\n offCanvasOrientation === \"left\" && styles[\"left\"],\n className,\n );\n\n const header = (children: ReactNode) => (\n <>\n {children}\n <Action closeOverlay=\"Modal\">\n <ButtonView\n variant=\"plain\"\n color=\"secondary\"\n onPress={controller?.close}\n >\n <IconClose />\n </ButtonView>\n </Action>\n </>\n );\n\n const nestedHeadingLevel = 3;\n\n const nestedHeadingProps: PropsContext = {\n Heading: { level: nestedHeadingLevel },\n Section: { Heading: { level: nestedHeadingLevel } },\n };\n\n const propsContext: PropsContext = {\n Content: {\n ...nestedHeadingProps,\n className: styles.content,\n },\n ColumnLayout: {\n ...nestedHeadingProps,\n l: [2, 1],\n m: [1],\n className: styles.columnLayout,\n AccentBox: { className: styles.accentBox, color: \"neutral\" },\n },\n Heading: {\n className: styles.header,\n level: 2,\n slot: \"title\",\n children: dynamic((props) => header(props.children)),\n },\n ActionGroup: {\n className: styles.actionGroup,\n spacing: \"m\",\n },\n };\n\n return (\n <Overlay\n className={rootClassName}\n controller={controller}\n ref={ref}\n {...rest}\n >\n <PropsContextProvider props={propsContext}>\n <Wrap if={offCanvas}>\n <Suspense fallback={<OffCanvasSuspenseFallback />}>\n {children}\n </Suspense>\n </Wrap>\n </PropsContextProvider>\n </Overlay>\n );\n },\n {\n type: \"provider\",\n },\n);\n\nexport default Modal;\n"],"names":["children","props"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2CO,MAAM,KAAA,GAAQ,aAAA;AAAA,EACnB,OAAA;AAAA,EACA,CAAC,KAAA,KAAU;AACT,IAAA,MAAM;AAAA,MACJ,IAAA,GAAO,GAAA;AAAA,MACP,SAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,MACA,oBAAA,GAAuB,OAAA;AAAA,MACvB,GAAG;AAAA,KACL,GAAI,KAAA;AAEJ,IAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,MACpB,SAAA,GAAY,MAAA,CAAO,SAAA,GAAY,MAAA,CAAO,KAAA;AAAA,MACtC,MAAA,CAAO,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,CAAA;AAAA,MACrB,oBAAA,KAAyB,MAAA,IAAU,MAAA,CAAO,MAAM,CAAA;AAAA,MAChD;AAAA,KACF;AAEA,IAAA,MAAM,MAAA,GAAS,CAACA,SAAAA,qBACd,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,MAAAA,SAAAA;AAAA,sBACD,GAAA,CAAC,MAAA,EAAA,EAAO,YAAA,EAAa,OAAA,EACnB,QAAA,kBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,OAAA;AAAA,UACR,KAAA,EAAM,WAAA;AAAA,UACN,SAAS,UAAA,EAAY,KAAA;AAAA,UAErB,8BAAC,SAAA,EAAA,EAAU;AAAA;AAAA,OACb,EACF;AAAA,KAAA,EACF,CAAA;AAGF,IAAA,MAAM,kBAAA,GAAqB,CAAA;AAE3B,IAAA,MAAM,kBAAA,GAAmC;AAAA,MACvC,OAAA,EAAS,EAAE,KAAA,EAAO,kBAAA,EAAmB;AAAA,MACrC,SAAS,EAAE,OAAA,EAAS,EAAE,KAAA,EAAO,oBAAmB;AAAE,KACpD;AAEA,IAAA,MAAM,YAAA,GAA6B;AAAA,MACjC,OAAA,EAAS;AAAA,QACP,GAAG,kBAAA;AAAA,QACH,WAAW,MAAA,CAAO;AAAA,OACpB;AAAA,MACA,YAAA,EAAc;AAAA,QACZ,GAAG,kBAAA;AAAA,QACH,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,QACR,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,QACL,WAAW,MAAA,CAAO,YAAA;AAAA,QAClB,WAAW,EAAE,SAAA,EAAW,MAAA,CAAO,SAAA,EAAW,OAAO,SAAA;AAAU,OAC7D;AAAA,MACA,OAAA,EAAS;AAAA,QACP,WAAW,MAAA,CAAO,MAAA;AAAA,QAClB,KAAA,EAAO,CAAA;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,UAAU,OAAA,CAAQ,CAACC,WAAU,MAAA,CAAOA,MAAAA,CAAM,QAAQ,CAAC;AAAA,OACrD;AAAA,MACA,WAAA,EAAa;AAAA,QACX,WAAW,MAAA,CAAO,WAAA;AAAA,QAClB,OAAA,EAAS;AAAA;AACX,KACF;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,aAAA;AAAA,QACX,UAAA;AAAA,QACA,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,8BAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,QAAK,EAAA,EAAI,SAAA,EACR,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,0BAAU,GAAA,CAAC,yBAAA,EAAA,EAA0B,CAAA,EAC5C,QAAA,EACH,GACF,CAAA,EACF;AAAA;AAAA,KACF;AAAA,EAEJ,CAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM;AAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import '../../../AccentBox/AccentBox.mjs';
|
|
5
|
+
import 'react';
|
|
6
|
+
import 'clsx';
|
|
7
|
+
import '../../../../lib/propsContext/propsContext.mjs';
|
|
8
|
+
import '../../../../lib/propsContext/components/PropsContextProvider.mjs';
|
|
9
|
+
import '../../../Button/Button.mjs';
|
|
10
|
+
import '@tabler/icons-react';
|
|
11
|
+
import '../../../Icon/Icon.mjs';
|
|
12
|
+
import '../../../../views/IconView.mjs';
|
|
13
|
+
import '@mittwald/react-tunnel';
|
|
14
|
+
import '../../../SuspenseTrigger/SuspenseTrigger.mjs';
|
|
15
|
+
import 'react-aria';
|
|
16
|
+
import '../../../Action/Action.mjs';
|
|
17
|
+
import { useAriaAnnounceSuspense } from '../../../Action/lib/ariaLive.mjs';
|
|
18
|
+
import '../../../ActionGroup/ActionGroup.mjs';
|
|
19
|
+
import '../../../Alert/Alert.mjs';
|
|
20
|
+
import '../../../AlertBadge/AlertBadge.mjs';
|
|
21
|
+
import '../../../Align/Align.mjs';
|
|
22
|
+
import '../../../Autocomplete/Autocomplete.mjs';
|
|
23
|
+
import '../../../Avatar/Avatar.mjs';
|
|
24
|
+
import '../../../Badge/Badge.mjs';
|
|
25
|
+
import 'react-aria-components';
|
|
26
|
+
import 'mobx';
|
|
27
|
+
import '../../../../lib/controller/overlay/context.mjs';
|
|
28
|
+
import 'remeda';
|
|
29
|
+
import '@react-aria/utils';
|
|
30
|
+
import 'dot-prop';
|
|
31
|
+
import 'recharts';
|
|
32
|
+
import '../../../Heading/Heading.mjs';
|
|
33
|
+
import '../../../Text/Text.mjs';
|
|
34
|
+
import '../../../Checkbox/Checkbox.mjs';
|
|
35
|
+
import '../../../CheckboxButton/CheckboxButton.mjs';
|
|
36
|
+
import '../../../CheckboxGroup/CheckboxGroup.mjs';
|
|
37
|
+
import '../../../../lib/propsContext/inherit/PropsContextLevelProvider.mjs';
|
|
38
|
+
import 'react-syntax-highlighter';
|
|
39
|
+
import '../../../CopyButton/CopyButton.mjs';
|
|
40
|
+
import '../../../ColumnLayout/ColumnLayout.mjs';
|
|
41
|
+
import '../../../ComboBox/ComboBox.mjs';
|
|
42
|
+
import '../../../../lib/propsContext/components/ComponentPropsContextProvider.mjs';
|
|
43
|
+
import '../../../Content/Content.mjs';
|
|
44
|
+
import '../../../ContextMenu/ContextMenu.mjs';
|
|
45
|
+
import '../../../MenuItem/MenuItem.mjs';
|
|
46
|
+
import '../../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
|
|
47
|
+
import '../../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
|
|
48
|
+
import '../../../ContextualHelp/ContextualHelp.mjs';
|
|
49
|
+
import '../../../ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs';
|
|
50
|
+
import '../../../CounterBadge/CounterBadge.mjs';
|
|
51
|
+
import '../../../CountryOptions/CountryOptions.mjs';
|
|
52
|
+
import '../../../DatePicker/DatePicker.mjs';
|
|
53
|
+
import '../../../DateRangePicker/DateRangePicker.mjs';
|
|
54
|
+
import '../../../FieldDescription/FieldDescription.mjs';
|
|
55
|
+
import '../../../FieldError/FieldError.mjs';
|
|
56
|
+
import '../../../FileCard/FileCard.mjs';
|
|
57
|
+
import '../../../FileCardList/FileCardList.mjs';
|
|
58
|
+
import '../../../FileDropZone/FileDropZone.mjs';
|
|
59
|
+
import '../../../FileField/FileField.mjs';
|
|
60
|
+
import '../../../Header/Header.mjs';
|
|
61
|
+
import '../../../Image/Image.mjs';
|
|
62
|
+
import '../../../Initials/Initials.mjs';
|
|
63
|
+
import '../../../Label/Label.mjs';
|
|
64
|
+
import '../../../LayoutCard/LayoutCard.mjs';
|
|
65
|
+
import '../../../OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs';
|
|
66
|
+
import '../../../../views/DialogTriggerView.mjs';
|
|
67
|
+
import '../../../LightBox/LightBox.mjs';
|
|
68
|
+
import '../../../Link/Link.mjs';
|
|
69
|
+
import 'invariant';
|
|
70
|
+
import '../../../../views/ListItemViewContentView.mjs';
|
|
71
|
+
import '../../../../views/ButtonView.mjs';
|
|
72
|
+
import '../../../../views/ContextMenuTriggerView.mjs';
|
|
73
|
+
import '../../../List/components/ListSummary/ListSummary.mjs';
|
|
74
|
+
import '../../../List/listContext.mjs';
|
|
75
|
+
import '../../../List/List.mjs';
|
|
76
|
+
import 'react-markdown';
|
|
77
|
+
import 'remark-gfm';
|
|
78
|
+
import '../../../MarkdownEditor/MarkdownEditor.mjs';
|
|
79
|
+
import '../../../Message/Message.mjs';
|
|
80
|
+
import '../../../MessageThread/MessageThread.mjs';
|
|
81
|
+
import '../../Modal.mjs';
|
|
82
|
+
import '../../../Navigation/Navigation.mjs';
|
|
83
|
+
import '../../../Navigation/components/NavigationGroup/NavigationGroup.mjs';
|
|
84
|
+
import '../../../NotificationProvider/NotificationProvider.mjs';
|
|
85
|
+
import 'luxon';
|
|
86
|
+
import '../../../NumberField/NumberField.mjs';
|
|
87
|
+
import '../../../Option/Option.mjs';
|
|
88
|
+
import '../../../../views/OverlayContentView.mjs';
|
|
89
|
+
import '../../../../views/ClearPropsContextView.mjs';
|
|
90
|
+
import LoadingSpinnerView from '../../../../views/LoadingSpinnerView.mjs';
|
|
91
|
+
import '../../../PasswordCreationField/PasswordCreationField.mjs';
|
|
92
|
+
import '../../../Popover/components/PopoverTrigger/PopoverTrigger.mjs';
|
|
93
|
+
import '../../../Popover/Popover.mjs';
|
|
94
|
+
import '../../../ProgressBar/ProgressBar.mjs';
|
|
95
|
+
import '../../../RadioGroup/RadioGroup.mjs';
|
|
96
|
+
import '../../../RadioGroup/components/Radio/Radio.mjs';
|
|
97
|
+
import '../../../RadioGroup/components/RadioButton/RadioButton.mjs';
|
|
98
|
+
import '../../../SearchField/SearchField.mjs';
|
|
99
|
+
import '../../../Section/Section.mjs';
|
|
100
|
+
import '../../../SegmentedControl/SegmentedControl.mjs';
|
|
101
|
+
import '../../../SegmentedControl/components/Segment/Segment.mjs';
|
|
102
|
+
import '../../../Select/Select.mjs';
|
|
103
|
+
import '../../../SettingsProvider/SettingsProvider.mjs';
|
|
104
|
+
import '../../../Slider/Slider.mjs';
|
|
105
|
+
import '../../../Switch/Switch.mjs';
|
|
106
|
+
import '../../../Tabs/Tabs.mjs';
|
|
107
|
+
import '../../../Tabs/components/Tab/context.mjs';
|
|
108
|
+
import '../../../TextArea/TextArea.mjs';
|
|
109
|
+
import '../../../TextField/TextField.mjs';
|
|
110
|
+
import '../../../TimeField/TimeField.mjs';
|
|
111
|
+
import '../../../TranslationProvider/TranslationProvider.mjs';
|
|
112
|
+
import FlexView from '../../../../views/FlexView.mjs';
|
|
113
|
+
|
|
114
|
+
const OffCanvasSuspenseFallback = () => {
|
|
115
|
+
useAriaAnnounceSuspense();
|
|
116
|
+
return /* @__PURE__ */ jsx(FlexView, { grow: true, align: "center", justify: "center", children: /* @__PURE__ */ jsx(LoadingSpinnerView, {}) });
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export { OffCanvasSuspenseFallback };
|
|
120
|
+
//# sourceMappingURL=OffCanvasSuspenseFallback.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OffCanvasSuspenseFallback.mjs","sources":["../../../../../../../../src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.tsx"],"sourcesContent":["import { useAriaAnnounceSuspense } from \"@/index/default\";\nimport FlexView from \"@/views/FlexView\";\nimport LoadingSpinnerView from \"@/views/LoadingSpinnerView\";\nimport type { FC } from \"react\";\n\nexport const OffCanvasSuspenseFallback: FC = () => {\n useAriaAnnounceSuspense();\n return (\n <FlexView grow align=\"center\" justify=\"center\">\n <LoadingSpinnerView />\n </FlexView>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,4BAAgC,MAAM;AACjD,EAAA,uBAAA,EAAwB;AACxB,EAAA,uBACE,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAI,IAAA,EAAC,KAAA,EAAM,UAAS,OAAA,EAAQ,QAAA,EACpC,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,CAAA,EACtB,CAAA;AAEJ;;;;"}
|
|
@@ -17,13 +17,14 @@ const Overlay = (props) => {
|
|
|
17
17
|
isDismissable = true,
|
|
18
18
|
className,
|
|
19
19
|
overlayType = "Modal",
|
|
20
|
+
isOpen: isOpenFromProps,
|
|
20
21
|
ref
|
|
21
22
|
} = props;
|
|
22
23
|
const controllerFromContext = useOverlayController(overlayType, {
|
|
23
24
|
reuseControllerFromContext: true
|
|
24
25
|
});
|
|
25
26
|
const controller = controllerFromProps ?? controllerFromContext;
|
|
26
|
-
const isOpen = controller.useIsOpen();
|
|
27
|
+
const isOpen = isOpenFromProps ?? controller.useIsOpen();
|
|
27
28
|
const rootClassName = clsx(styles.overlay, className);
|
|
28
29
|
return /* @__PURE__ */ jsx(ClearPropsContextView, { keep: overlayType, children: /* @__PURE__ */ jsx(
|
|
29
30
|
OverlayContentView,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.mjs","sources":["../../../../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import type { FC, PropsWithChildren, Ref } from \"react\";\nimport styles from \"./Overlay.module.scss\";\nimport clsx from \"clsx\";\nimport type { OverlayController } from \"@/lib/controller\";\nimport { useOverlayController } from \"@/lib/controller\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport OverlayContentView from \"@/views/OverlayContentView\";\nimport ClearPropsContextView from \"@/views/ClearPropsContextView\";\n\nexport interface OverlayProps extends PropsWithChildren, PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n /** The controller to control the overlay state. */\n controller?: OverlayController;\n /** Whether the overlay can be closed by clicking outside of it. */\n isDismissable?: boolean;\n /** Whether the overlay is a modal or a light box. */\n overlayType?: \"Modal\" | \"LightBox\";\n}\n\nexport const Overlay: FC<OverlayProps> = (props) => {\n const {\n controller: controllerFromProps,\n children,\n isDismissable = true,\n className,\n overlayType = \"Modal\",\n ref,\n } = props;\n\n const controllerFromContext = useOverlayController(overlayType, {\n reuseControllerFromContext: true,\n });\n\n const controller = controllerFromProps ?? controllerFromContext;\n\n const isOpen = controller.useIsOpen();\n\n const rootClassName = clsx(styles.overlay, className);\n\n return (\n <ClearPropsContextView keep={overlayType}>\n <OverlayContentView\n onOpenChange={(isOpen) => controller.setOpen(isOpen)}\n isOpen={isOpen}\n ref={ref}\n isDismissable={isDismissable}\n className={rootClassName}\n >\n <OverlayContextProvider type=\"Modal\" controller={controller}>\n {isOpen && children}\n </OverlayContextProvider>\n </OverlayContentView>\n </ClearPropsContextView>\n );\n};\n\nexport default Overlay;\n"],"names":["isOpen"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Overlay.mjs","sources":["../../../../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import type { FC, PropsWithChildren, Ref } from \"react\";\nimport styles from \"./Overlay.module.scss\";\nimport clsx from \"clsx\";\nimport type { OverlayController } from \"@/lib/controller\";\nimport { useOverlayController } from \"@/lib/controller\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport OverlayContentView from \"@/views/OverlayContentView\";\nimport ClearPropsContextView from \"@/views/ClearPropsContextView\";\n\nexport interface OverlayProps extends PropsWithChildren, PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n /** The controller to control the overlay state. */\n controller?: OverlayController;\n /** Whether the overlay can be closed by clicking outside of it. */\n isDismissable?: boolean;\n /** Whether the overlay is a modal or a light box. */\n overlayType?: \"Modal\" | \"LightBox\";\n isOpen?: boolean;\n}\n\nexport const Overlay: FC<OverlayProps> = (props) => {\n const {\n controller: controllerFromProps,\n children,\n isDismissable = true,\n className,\n overlayType = \"Modal\",\n isOpen: isOpenFromProps,\n ref,\n } = props;\n\n const controllerFromContext = useOverlayController(overlayType, {\n reuseControllerFromContext: true,\n });\n\n const controller = controllerFromProps ?? controllerFromContext;\n\n const isOpen = isOpenFromProps ?? controller.useIsOpen();\n\n const rootClassName = clsx(styles.overlay, className);\n\n return (\n <ClearPropsContextView keep={overlayType}>\n <OverlayContentView\n onOpenChange={(isOpen) => controller.setOpen(isOpen)}\n isOpen={isOpen}\n ref={ref}\n isDismissable={isDismissable}\n className={rootClassName}\n >\n <OverlayContextProvider type=\"Modal\" controller={controller}>\n {isOpen && children}\n </OverlayContextProvider>\n </OverlayContentView>\n </ClearPropsContextView>\n );\n};\n\nexport default Overlay;\n"],"names":["isOpen"],"mappings":";;;;;;;;;;AAqBO,MAAM,OAAA,GAA4B,CAAC,KAAA,KAAU;AAClD,EAAA,MAAM;AAAA,IACJ,UAAA,EAAY,mBAAA;AAAA,IACZ,QAAA;AAAA,IACA,aAAA,GAAgB,IAAA;AAAA,IAChB,SAAA;AAAA,IACA,WAAA,GAAc,OAAA;AAAA,IACd,MAAA,EAAQ,eAAA;AAAA,IACR;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,MAAM,qBAAA,GAAwB,qBAAqB,WAAA,EAAa;AAAA,IAC9D,0BAAA,EAA4B;AAAA,GAC7B,CAAA;AAED,EAAA,MAAM,aAAa,mBAAA,IAAuB,qBAAA;AAE1C,EAAA,MAAM,MAAA,GAAS,eAAA,IAAmB,UAAA,CAAW,SAAA,EAAU;AAEvD,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,OAAA,EAAS,SAAS,CAAA;AAEpD,EAAA,uBACE,GAAA,CAAC,qBAAA,EAAA,EAAsB,IAAA,EAAM,WAAA,EAC3B,QAAA,kBAAA,GAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAc,CAACA,OAAAA,KAAW,UAAA,CAAW,QAAQA,OAAM,CAAA;AAAA,MACnD,MAAA;AAAA,MACA,GAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA,EAAW,aAAA;AAAA,MAEX,8BAAC,sBAAA,EAAA,EAAuB,IAAA,EAAK,OAAA,EAAQ,UAAA,EAClC,oBAAU,QAAA,EACb;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -2,11 +2,22 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
import * as Aria from 'react-aria-components';
|
|
5
|
-
import 'react';
|
|
5
|
+
import { useState, Suspense, useLayoutEffect } from 'react';
|
|
6
|
+
import { OverlaySuspenseFallback } from './OverlaySuspenseFallback.mjs';
|
|
7
|
+
import styles from '../Overlay.module.scss.mjs';
|
|
6
8
|
|
|
7
9
|
const OverlayContent = (props) => {
|
|
8
|
-
const { children, ...restProps } = props;
|
|
9
|
-
|
|
10
|
+
const { children, className, ...restProps } = props;
|
|
11
|
+
const [isSuspended, setIsSuspended] = useState(false);
|
|
12
|
+
const Fallback = () => {
|
|
13
|
+
useLayoutEffect(() => {
|
|
14
|
+
setIsSuspended(true);
|
|
15
|
+
return () => setIsSuspended(false);
|
|
16
|
+
}, [setIsSuspended]);
|
|
17
|
+
return /* @__PURE__ */ jsx(OverlaySuspenseFallback, { ...restProps });
|
|
18
|
+
};
|
|
19
|
+
const rootClassName = isSuspended ? styles.overlay : className;
|
|
20
|
+
return /* @__PURE__ */ jsx(Aria.ModalOverlay, { ...restProps, className: rootClassName, children: /* @__PURE__ */ jsx(Aria.Modal, { children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Fallback, {}), children: /* @__PURE__ */ jsx(Aria.Dialog, { children }) }) }) });
|
|
10
21
|
};
|
|
11
22
|
|
|
12
23
|
export { OverlayContent, OverlayContent as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayContent.mjs","sources":["../../../../../../../src/components/Overlay/components/OverlayContent.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport
|
|
1
|
+
{"version":3,"file":"OverlayContent.mjs","sources":["../../../../../../../src/components/Overlay/components/OverlayContent.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport { Suspense, useLayoutEffect, useState } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport { OverlaySuspenseFallback } from \"@/components/Overlay/components/OverlaySuspenseFallback\";\nimport styles from \"../Overlay.module.scss\";\n\nexport interface OverlayContentProps\n extends PropsWithChildren,\n PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n onOpenChange: (isOpen: boolean) => void;\n isDismissable?: boolean;\n isOpen?: boolean;\n}\n\n/** @flr-generate all */\nexport const OverlayContent: FC<OverlayContentProps> = (props) => {\n const { children, className, ...restProps } = props;\n\n const [isSuspended, setIsSuspended] = useState(false);\n\n const Fallback = () => {\n // Track suspense state to adjust styling\n useLayoutEffect(() => {\n setIsSuspended(true);\n return () => setIsSuspended(false);\n }, [setIsSuspended]);\n return <OverlaySuspenseFallback {...restProps} />;\n };\n\n const rootClassName = isSuspended ? styles.overlay : className;\n\n return (\n <Aria.ModalOverlay {...restProps} className={rootClassName}>\n <Aria.Modal>\n <Suspense fallback={<Fallback />}>\n <Aria.Dialog>{children}</Aria.Dialog>\n </Suspense>\n </Aria.Modal>\n </Aria.ModalOverlay>\n );\n};\n\nexport default OverlayContent;\n"],"names":[],"mappings":";;;;;;AAiBO,MAAM,cAAA,GAA0C,CAAC,KAAA,KAAU;AAChE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,GAAG,WAAU,GAAI,KAAA;AAE9C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AAEpD,EAAA,MAAM,WAAW,MAAM;AAErB,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAA,cAAA,CAAe,IAAI,CAAA;AACnB,MAAA,OAAO,MAAM,eAAe,KAAK,CAAA;AAAA,IACnC,CAAA,EAAG,CAAC,cAAc,CAAC,CAAA;AACnB,IAAA,uBAAO,GAAA,CAAC,uBAAA,EAAA,EAAyB,GAAG,SAAA,EAAW,CAAA;AAAA,EACjD,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,WAAA,GAAc,MAAA,CAAO,OAAA,GAAU,SAAA;AAErD,EAAA,uBACE,GAAA,CAAC,IAAA,CAAK,YAAA,EAAL,EAAmB,GAAG,WAAW,SAAA,EAAW,aAAA,EAC3C,QAAA,kBAAA,GAAA,CAAC,IAAA,CAAK,KAAA,EAAL,EACC,8BAAC,QAAA,EAAA,EAAS,QAAA,kBAAU,GAAA,CAAC,QAAA,EAAA,EAAS,CAAA,EAC5B,QAAA,kBAAA,GAAA,CAAC,IAAA,CAAK,MAAA,EAAL,EAAa,QAAA,EAAS,CAAA,EACzB,CAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import LoadingSpinnerView from '../../../views/LoadingSpinnerView.mjs';
|
|
5
|
+
import { useAriaAnnounceSuspense } from '../../Action/lib/ariaLive.mjs';
|
|
6
|
+
import '../../AccentBox/AccentBox.mjs';
|
|
7
|
+
import 'react';
|
|
8
|
+
import 'clsx';
|
|
9
|
+
import '../../../lib/propsContext/propsContext.mjs';
|
|
10
|
+
import '../../../lib/propsContext/components/PropsContextProvider.mjs';
|
|
11
|
+
import '../../Button/Button.mjs';
|
|
12
|
+
import '@tabler/icons-react';
|
|
13
|
+
import '../../Icon/Icon.mjs';
|
|
14
|
+
import '../../../views/IconView.mjs';
|
|
15
|
+
import '@mittwald/react-tunnel';
|
|
16
|
+
import '../../SuspenseTrigger/SuspenseTrigger.mjs';
|
|
17
|
+
import 'react-aria';
|
|
18
|
+
import '../../Action/Action.mjs';
|
|
19
|
+
import '../../ActionGroup/ActionGroup.mjs';
|
|
20
|
+
import '../../Alert/Alert.mjs';
|
|
21
|
+
import '../../AlertBadge/AlertBadge.mjs';
|
|
22
|
+
import '../../Align/Align.mjs';
|
|
23
|
+
import '../../Autocomplete/Autocomplete.mjs';
|
|
24
|
+
import '../../Avatar/Avatar.mjs';
|
|
25
|
+
import '../../Badge/Badge.mjs';
|
|
26
|
+
import 'react-aria-components';
|
|
27
|
+
import 'mobx';
|
|
28
|
+
import '../../../lib/controller/overlay/context.mjs';
|
|
29
|
+
import 'remeda';
|
|
30
|
+
import '@react-aria/utils';
|
|
31
|
+
import 'dot-prop';
|
|
32
|
+
import 'recharts';
|
|
33
|
+
import '../../Heading/Heading.mjs';
|
|
34
|
+
import '../../Text/Text.mjs';
|
|
35
|
+
import '../../Checkbox/Checkbox.mjs';
|
|
36
|
+
import '../../CheckboxButton/CheckboxButton.mjs';
|
|
37
|
+
import '../../CheckboxGroup/CheckboxGroup.mjs';
|
|
38
|
+
import '../../../lib/propsContext/inherit/PropsContextLevelProvider.mjs';
|
|
39
|
+
import 'react-syntax-highlighter';
|
|
40
|
+
import '../../CopyButton/CopyButton.mjs';
|
|
41
|
+
import '../../ColumnLayout/ColumnLayout.mjs';
|
|
42
|
+
import '../../ComboBox/ComboBox.mjs';
|
|
43
|
+
import '../../../lib/propsContext/components/ComponentPropsContextProvider.mjs';
|
|
44
|
+
import '../../Content/Content.mjs';
|
|
45
|
+
import '../../ContextMenu/ContextMenu.mjs';
|
|
46
|
+
import '../../MenuItem/MenuItem.mjs';
|
|
47
|
+
import '../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
|
|
48
|
+
import '../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
|
|
49
|
+
import '../../ContextualHelp/ContextualHelp.mjs';
|
|
50
|
+
import '../../ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs';
|
|
51
|
+
import '../../CounterBadge/CounterBadge.mjs';
|
|
52
|
+
import '../../CountryOptions/CountryOptions.mjs';
|
|
53
|
+
import '../../DatePicker/DatePicker.mjs';
|
|
54
|
+
import '../../DateRangePicker/DateRangePicker.mjs';
|
|
55
|
+
import '../../FieldDescription/FieldDescription.mjs';
|
|
56
|
+
import '../../FieldError/FieldError.mjs';
|
|
57
|
+
import '../../FileCard/FileCard.mjs';
|
|
58
|
+
import '../../FileCardList/FileCardList.mjs';
|
|
59
|
+
import '../../FileDropZone/FileDropZone.mjs';
|
|
60
|
+
import '../../FileField/FileField.mjs';
|
|
61
|
+
import '../../Header/Header.mjs';
|
|
62
|
+
import '../../Image/Image.mjs';
|
|
63
|
+
import '../../Initials/Initials.mjs';
|
|
64
|
+
import '../../Label/Label.mjs';
|
|
65
|
+
import '../../LayoutCard/LayoutCard.mjs';
|
|
66
|
+
import '../../OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs';
|
|
67
|
+
import '../../../views/DialogTriggerView.mjs';
|
|
68
|
+
import '../../LightBox/LightBox.mjs';
|
|
69
|
+
import '../../Link/Link.mjs';
|
|
70
|
+
import 'invariant';
|
|
71
|
+
import '../../../views/ListItemViewContentView.mjs';
|
|
72
|
+
import '../../../views/ButtonView.mjs';
|
|
73
|
+
import '../../../views/ContextMenuTriggerView.mjs';
|
|
74
|
+
import '../../List/components/ListSummary/ListSummary.mjs';
|
|
75
|
+
import '../../List/listContext.mjs';
|
|
76
|
+
import '../../List/List.mjs';
|
|
77
|
+
import 'react-markdown';
|
|
78
|
+
import 'remark-gfm';
|
|
79
|
+
import '../../MarkdownEditor/MarkdownEditor.mjs';
|
|
80
|
+
import '../../Message/Message.mjs';
|
|
81
|
+
import '../../MessageThread/MessageThread.mjs';
|
|
82
|
+
import '../../Modal/Modal.mjs';
|
|
83
|
+
import '../../Navigation/Navigation.mjs';
|
|
84
|
+
import '../../Navigation/components/NavigationGroup/NavigationGroup.mjs';
|
|
85
|
+
import '../../NotificationProvider/NotificationProvider.mjs';
|
|
86
|
+
import 'luxon';
|
|
87
|
+
import '../../NumberField/NumberField.mjs';
|
|
88
|
+
import '../../Option/Option.mjs';
|
|
89
|
+
import '../../../views/OverlayContentView.mjs';
|
|
90
|
+
import '../../../views/ClearPropsContextView.mjs';
|
|
91
|
+
import '../../PasswordCreationField/PasswordCreationField.mjs';
|
|
92
|
+
import '../../Popover/components/PopoverTrigger/PopoverTrigger.mjs';
|
|
93
|
+
import '../../Popover/Popover.mjs';
|
|
94
|
+
import '../../ProgressBar/ProgressBar.mjs';
|
|
95
|
+
import '../../RadioGroup/RadioGroup.mjs';
|
|
96
|
+
import '../../RadioGroup/components/Radio/Radio.mjs';
|
|
97
|
+
import '../../RadioGroup/components/RadioButton/RadioButton.mjs';
|
|
98
|
+
import '../../SearchField/SearchField.mjs';
|
|
99
|
+
import '../../Section/Section.mjs';
|
|
100
|
+
import '../../SegmentedControl/SegmentedControl.mjs';
|
|
101
|
+
import '../../SegmentedControl/components/Segment/Segment.mjs';
|
|
102
|
+
import '../../Select/Select.mjs';
|
|
103
|
+
import '../../SettingsProvider/SettingsProvider.mjs';
|
|
104
|
+
import '../../Slider/Slider.mjs';
|
|
105
|
+
import '../../Switch/Switch.mjs';
|
|
106
|
+
import '../../Tabs/Tabs.mjs';
|
|
107
|
+
import '../../Tabs/components/Tab/context.mjs';
|
|
108
|
+
import '../../TextArea/TextArea.mjs';
|
|
109
|
+
import '../../TextField/TextField.mjs';
|
|
110
|
+
import '../../TimeField/TimeField.mjs';
|
|
111
|
+
import '../../TranslationProvider/TranslationProvider.mjs';
|
|
112
|
+
|
|
113
|
+
const OverlaySuspenseFallback = () => {
|
|
114
|
+
useAriaAnnounceSuspense();
|
|
115
|
+
return /* @__PURE__ */ jsx(LoadingSpinnerView, { color: "dark" });
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export { OverlaySuspenseFallback };
|
|
119
|
+
//# sourceMappingURL=OverlaySuspenseFallback.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlaySuspenseFallback.mjs","sources":["../../../../../../../src/components/Overlay/components/OverlaySuspenseFallback.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport LoadingSpinnerView from \"@/views/LoadingSpinnerView\";\nimport { useAriaAnnounceSuspense } from \"@/components/Action/lib/ariaLive\";\nimport { type OverlayContentProps } from \"@/index/default\";\n\nexport const OverlaySuspenseFallback: FC<OverlayContentProps> = () => {\n useAriaAnnounceSuspense();\n return <LoadingSpinnerView color=\"dark\" />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,0BAAmD,MAAM;AACpE,EAAA,uBAAA,EAAwB;AACxB,EAAA,uBAAO,GAAA,CAAC,kBAAA,EAAA,EAAmB,KAAA,EAAM,MAAA,EAAO,CAAA;AAC1C;;;;"}
|
|
@@ -12,6 +12,8 @@ import { FieldErrorContext } from 'react-aria-components';
|
|
|
12
12
|
import clsx from 'clsx';
|
|
13
13
|
import { TunnelProvider, TunnelExit } from '@mittwald/react-tunnel';
|
|
14
14
|
import '../Action/Action.mjs';
|
|
15
|
+
import 'react-aria';
|
|
16
|
+
import '@react-aria/live-announcer';
|
|
15
17
|
import { getStateFromLatestPolicyValidationResult } from './lib/getStateFromLatestPolicyValidationResult.mjs';
|
|
16
18
|
import locales from '../../../../_virtual/_.locale.json@95341064edeb0e38b66d786dbd62955c.mjs';
|
|
17
19
|
import { generateValidationTranslation } from './lib/generateValidationTranslation.mjs';
|