@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.
Files changed (60) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/assets/doc-properties.json +604 -516
  3. package/dist/css/all.css +1 -1
  4. package/dist/js/_virtual/_.locale.json@8b26c19d587a90f821a2307c8122f6d1.mjs +2 -0
  5. package/dist/js/_virtual/_.locale.json@8b26c19d587a90f821a2307c8122f6d1.mjs.map +1 -1
  6. package/dist/js/components/src/components/Action/lib/ariaLive.mjs +17 -5
  7. package/dist/js/components/src/components/Action/lib/ariaLive.mjs.map +1 -1
  8. package/dist/js/components/src/components/ContextMenu/ContextMenu.mjs +3 -1
  9. package/dist/js/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
  10. package/dist/js/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs +3 -0
  11. package/dist/js/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
  12. package/dist/js/components/src/components/CopyButton/CopyButton.mjs +1 -0
  13. package/dist/js/components/src/components/CopyButton/CopyButton.mjs.map +1 -1
  14. package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs +1 -0
  15. package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs.map +1 -1
  16. package/dist/js/components/src/components/Modal/Modal.mjs +6 -2
  17. package/dist/js/components/src/components/Modal/Modal.mjs.map +1 -1
  18. package/dist/js/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs +120 -0
  19. package/dist/js/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs.map +1 -0
  20. package/dist/js/components/src/components/Overlay/Overlay.mjs +2 -1
  21. package/dist/js/components/src/components/Overlay/Overlay.mjs.map +1 -1
  22. package/dist/js/components/src/components/Overlay/components/OverlayContent.mjs +14 -3
  23. package/dist/js/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
  24. package/dist/js/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs +119 -0
  25. package/dist/js/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs.map +1 -0
  26. package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs +2 -0
  27. package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
  28. package/dist/js/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs +1 -0
  29. package/dist/js/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs.map +1 -1
  30. package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs +2 -1
  31. package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs.map +1 -1
  32. package/dist/js/components/src/integrations/react-hook-form/components/Form/Form.mjs +2 -0
  33. package/dist/js/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
  34. package/dist/js/components/src/views/FlexView.mjs +15 -0
  35. package/dist/js/components/src/views/FlexView.mjs.map +1 -0
  36. package/dist/js/components/src/views/LoadingSpinnerView.mjs +15 -0
  37. package/dist/js/components/src/views/LoadingSpinnerView.mjs.map +1 -0
  38. package/dist/js/default.mjs +1 -0
  39. package/dist/js/default.mjs.map +1 -1
  40. package/dist/js/flr-universal.mjs +5 -3
  41. package/dist/js/flr-universal.mjs.map +1 -1
  42. package/dist/types/components/Action/index.d.ts +1 -0
  43. package/dist/types/components/Action/index.d.ts.map +1 -1
  44. package/dist/types/components/Action/lib/ariaLive.d.ts +1 -0
  45. package/dist/types/components/Action/lib/ariaLive.d.ts.map +1 -1
  46. package/dist/types/components/Modal/Modal.d.ts.map +1 -1
  47. package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.d.ts +3 -0
  48. package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.d.ts.map +1 -0
  49. package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/index.d.ts +2 -0
  50. package/dist/types/components/Modal/components/OffCanvasSuspenseFallback/index.d.ts.map +1 -0
  51. package/dist/types/components/Modal/stories/Default.stories.d.ts +1 -0
  52. package/dist/types/components/Modal/stories/Default.stories.d.ts.map +1 -1
  53. package/dist/types/components/Overlay/Overlay.d.ts +1 -0
  54. package/dist/types/components/Overlay/Overlay.d.ts.map +1 -1
  55. package/dist/types/components/Overlay/components/OverlayContent.d.ts.map +1 -1
  56. package/dist/types/components/Overlay/components/OverlaySuspenseFallback.d.ts +4 -0
  57. package/dist/types/components/Overlay/components/OverlaySuspenseFallback.d.ts.map +1 -0
  58. package/dist/types/components/Overlay/components/index.d.ts +1 -0
  59. package/dist/types/components/Overlay/components/index.d.ts.map +1 -1
  60. 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 formater = useLocalizedStringFormatter(locales);
9
+ const formatter = useLocalizedStringFormatter(locales);
10
10
  const {
11
- isPendingText = formater.format("action.isPending"),
12
- isSucceededText = formater.format("action.isSucceeded"),
13
- isFailedText = formater.format("action.isFailed")
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 formater = useLocalizedStringFormatter(locales);\n\n const {\n isPendingText = formater.format(\"action.isPending\"),\n isSucceededText = formater.format(\"action.isSucceeded\"),\n isFailedText = formater.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"],"names":[],"mappings":";;;;;AAYO,MAAM,0BAAA,GAA6B,CACxC,WAAA,EACA,OAAA,GAAmB,EAAC,KACX;AACT,EAAA,MAAM,QAAA,GAAW,4BAA4B,OAAO,CAAA;AAEpD,EAAA,MAAM;AAAA,IACJ,aAAA,GAAgB,QAAA,CAAS,MAAA,CAAO,kBAAkB,CAAA;AAAA,IAClD,eAAA,GAAkB,QAAA,CAAS,MAAA,CAAO,oBAAoB,CAAA;AAAA,IACtD,YAAA,GAAe,QAAA,CAAS,MAAA,CAAO,iBAAiB;AAAA,GAClD,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;;;;"}
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":";;;;;;;;;;;;;;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;;;;"}
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":";;;;;;;;;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;;;;"}
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":";;;;;;;;;;;;;;;;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;;;;"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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 { PropsWithChildren, 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\";\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 {children}\n </PropsContextProvider>\n </Overlay>\n );\n },\n {\n type: \"provider\",\n },\n);\n\nexport default Modal;\n"],"names":["children","props"],"mappings":";;;;;;;;;;;;;;;;AAyCO,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,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH;AAAA;AAAA,KACF;AAAA,EAEJ,CAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM;AAAA;AAEV;;;;"}
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":";;;;;;;;;;AAoBO,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;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,WAAW,SAAA,EAAU;AAEpC,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;;;;"}
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
- return /* @__PURE__ */ jsx(Aria.ModalOverlay, { ...restProps, children: /* @__PURE__ */ jsx(Aria.Modal, { children: /* @__PURE__ */ jsx(Aria.Dialog, { children }) }) });
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 React from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\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, ...restProps } = props;\n\n return (\n <Aria.ModalOverlay {...restProps}>\n <Aria.Modal>\n <Aria.Dialog>{children}</Aria.Dialog>\n </Aria.Modal>\n </Aria.ModalOverlay>\n );\n};\n\nexport default OverlayContent;\n"],"names":[],"mappings":";;;;AAeO,MAAM,cAAA,GAA0C,CAAC,KAAA,KAAU;AAChE,EAAA,MAAM,EAAE,QAAA,EAAU,GAAG,SAAA,EAAU,GAAI,KAAA;AAEnC,EAAA,2BACG,IAAA,CAAK,YAAA,EAAL,EAAmB,GAAG,WACrB,QAAA,kBAAA,GAAA,CAAC,IAAA,CAAK,KAAA,EAAL,EACC,8BAAC,IAAA,CAAK,MAAA,EAAL,EAAa,QAAA,EAAS,GACzB,CAAA,EACF,CAAA;AAEJ;;;;"}
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';