@webiny/app-admin 6.0.0-rc.7 → 6.1.0-beta.0

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 (77) hide show
  1. package/base/ui/Brand.d.ts +6 -6
  2. package/base/ui/Dashboard.d.ts +6 -6
  3. package/base/ui/FileManager.d.ts +6 -6
  4. package/base/ui/Layout.d.ts +6 -6
  5. package/base/ui/LoginScreen.d.ts +12 -12
  6. package/base/ui/Logo.d.ts +6 -6
  7. package/base/ui/Navigation.d.ts +6 -6
  8. package/base/ui/NotFound.d.ts +6 -6
  9. package/base/ui/TenantSelector.d.ts +6 -6
  10. package/base/ui/UserMenu/UserMenu.d.ts +6 -6
  11. package/base/ui/UserMenu/UserMenuHandle.d.ts +6 -6
  12. package/base/ui/UserMenu/UserMenuItem.d.ts +12 -12
  13. package/base/ui/UserMenu/UserMenuLink.d.ts +12 -12
  14. package/base/ui/UserMenu/UserMenuSeparator.d.ts +6 -6
  15. package/base/ui/UserMenu.d.ts +12 -12
  16. package/components/Dialogs/Dialog.d.ts +1 -0
  17. package/components/Dialogs/Dialog.js +1 -0
  18. package/components/Dialogs/Dialog.js.map +1 -1
  19. package/components/Dialogs/DialogsContext.d.ts +4 -3
  20. package/components/Dialogs/DialogsContext.js +2 -0
  21. package/components/Dialogs/DialogsContext.js.map +1 -1
  22. package/components/IconPicker/IconRenderer.d.ts +6 -6
  23. package/components/LexicalEditor/LexicalLinkForm.js +3 -1
  24. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
  25. package/components/OverlayLayout/components/OverlayRoot.js +3 -0
  26. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -1
  27. package/components/Permissions/StyledComponents.js +9 -3
  28. package/components/Permissions/StyledComponents.js.map +1 -1
  29. package/components/SimpleUI/InputField.js +16 -39
  30. package/components/SimpleUI/InputField.js.map +1 -1
  31. package/components/index.d.ts +1 -4
  32. package/components/index.js +1 -4
  33. package/components/index.js.map +1 -1
  34. package/exports/admin/build-params.d.ts +1 -0
  35. package/exports/admin/build-params.js +1 -0
  36. package/exports/admin/build-params.js.map +1 -1
  37. package/exports/admin/ui.d.ts +1 -0
  38. package/exports/admin/ui.js +1 -0
  39. package/exports/admin/ui.js.map +1 -1
  40. package/exports/admin.d.ts +1 -0
  41. package/exports/admin.js +1 -0
  42. package/exports/admin.js.map +1 -1
  43. package/features/buildParams/feature.d.ts +1 -1
  44. package/features/buildParams/feature.js +4 -0
  45. package/features/buildParams/feature.js.map +1 -1
  46. package/hooks/index.d.ts +1 -0
  47. package/hooks/index.js +1 -0
  48. package/hooks/index.js.map +1 -1
  49. package/hooks/useHotkeys.d.ts +9 -0
  50. package/hooks/useHotkeys.js +99 -0
  51. package/hooks/useHotkeys.js.map +1 -0
  52. package/index.d.ts +1 -0
  53. package/index.js +2 -1
  54. package/index.js.map +1 -1
  55. package/package.json +30 -34
  56. package/permissions/createHasPermission.d.ts +1 -1
  57. package/permissions/createHasPermission.js +20 -5
  58. package/permissions/createHasPermission.js.map +1 -1
  59. package/permissions/createHasPermission.test.d.ts +1 -0
  60. package/permissions/createHasPermission.test.js +206 -0
  61. package/permissions/createHasPermission.test.js.map +1 -0
  62. package/permissions/types.d.ts +24 -4
  63. package/permissions/types.js.map +1 -1
  64. package/presentation/buildParams/useBuildParams.d.ts +1 -0
  65. package/presentation/buildParams/useBuildParams.js +7 -0
  66. package/presentation/buildParams/useBuildParams.js.map +1 -0
  67. package/presentation/wcp/WcpProvider.js +8 -1
  68. package/presentation/wcp/WcpProvider.js.map +1 -1
  69. package/components/FloatingPanel.d.ts +0 -13
  70. package/components/FloatingPanel.js +0 -94
  71. package/components/FloatingPanel.js.map +0 -1
  72. package/components/NavigationPrompt.d.ts +0 -27
  73. package/components/NavigationPrompt.js +0 -39
  74. package/components/NavigationPrompt.js.map +0 -1
  75. package/components/StateInspector.d.ts +0 -8
  76. package/components/StateInspector.js +0 -36
  77. package/components/StateInspector.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useSnackbar","Dialog","createProvider","generateId","initializeState","params","id","title","description","dismissible","icon","content","acceptLabel","cancelLabel","loadingLabel","dataLoadingLabel","onAccept","onClose","open","loading","element","formData","size","DialogsContext","createContext","undefined","DialogsProvider","children","showSnackbar","dialogs","setDialogs","Map","showDialog","newDialog","set","closeDialog","dialog","get","error","console","newDialogs","delete","closeAllDialogs","onSubmit","data","message","context","createElement","Provider","value","Array","from","values","map","key","Fragment","createDialogsProvider","Component","DialogsProviderDecorator"],"sources":["DialogsContext.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { useState } from \"react\";\nimport type { GenericFormData } from \"@webiny/form\";\nimport { useSnackbar } from \"~/hooks/index.js\";\nimport { Dialog, type DialogProps } from \"./Dialog.js\";\nimport { createProvider } from \"@webiny/app\";\nimport { generateId } from \"@webiny/utils\";\n\ninterface ShowDialogParams {\n title: ReactNode;\n description?: ReactNode;\n dismissible?: boolean;\n content: ReactNode;\n actions?: JSX.Element;\n icon?: JSX.Element;\n acceptLabel?: ReactNode;\n cancelLabel?: ReactNode;\n loadingLabel?: ReactNode;\n dataLoadingLabel?: ReactNode;\n onAccept?: (data: GenericFormData) => void;\n onClose?: () => void;\n formData?: DialogProps[\"formData\"];\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n}\n\nexport interface DialogsContext {\n showDialog: (params: ShowDialogParams) => () => void;\n closeAllDialogs: () => void;\n}\n\ninterface DialogsProviderProps {\n children: ReactNode;\n}\n\ninterface DialogState extends ShowDialogParams {\n id: string;\n open: boolean;\n loading: boolean;\n element?: JSX.Element;\n}\n\nexport const initializeState = (params: Partial<DialogState> = {}): DialogState => ({\n id: `dialog-${generateId()}`,\n title: params.title ?? `Confirmation`,\n description: params.description,\n dismissible: params.dismissible,\n icon: params.icon,\n content: params.content,\n acceptLabel: params.acceptLabel === null ? null : (params.acceptLabel ?? `Confirm`),\n cancelLabel: params.cancelLabel === null ? null : (params.cancelLabel ?? `Cancel`),\n loadingLabel: params.loadingLabel ?? `Loading...`,\n dataLoadingLabel: params.dataLoadingLabel ?? `Loading...`,\n onAccept: params.onAccept,\n onClose: params.onClose,\n open: params.open ?? false,\n loading: params.loading ?? false,\n element: params.element,\n formData: params.formData ?? {},\n size: params.size ?? \"md\"\n});\n\nexport const DialogsContext = React.createContext<DialogsContext | undefined>(undefined);\n\nexport const DialogsProvider = ({ children }: DialogsProviderProps) => {\n const { showSnackbar } = useSnackbar();\n const [dialogs, setDialogs] = useState<Map<string, DialogState>>(new Map());\n\n const showDialog = (params: ShowDialogParams) => {\n const newDialog = initializeState({ ...params, open: true });\n setDialogs(dialogs => new Map(dialogs).set(newDialog.id, newDialog));\n return () => closeDialog(newDialog.id);\n };\n\n const closeDialog = (id: string) => {\n const dialog = dialogs.get(id);\n\n // Call the onClose callback if it exists\n if (dialog?.onClose && typeof dialog.onClose === \"function\") {\n try {\n dialog.onClose();\n } catch (error) {\n // Log error but don't prevent dialog cleanup\n console.error(\"Error in dialog onClose callback:\", error);\n }\n }\n\n setDialogs(dialogs => {\n const newDialogs = new Map(dialogs);\n newDialogs.delete(id);\n return newDialogs;\n });\n };\n\n const closeAllDialogs = () => {\n setDialogs(new Map());\n };\n\n const onSubmit = async (id: string, data: GenericFormData) => {\n const dialog = dialogs.get(id);\n if (!dialog) {\n return;\n }\n\n try {\n if (typeof dialog.onAccept === \"function\") {\n setDialogs(dialogs => {\n const newDialogs = new Map(dialogs);\n newDialogs.set(id, { ...dialog, loading: true });\n return newDialogs;\n });\n\n await dialog.onAccept(data);\n }\n } catch (error) {\n showSnackbar(error.message);\n } finally {\n setDialogs(dialogs => {\n const newDialogs = new Map(dialogs);\n newDialogs.set(id, { ...dialog, loading: false });\n return newDialogs;\n });\n closeDialog(id);\n }\n };\n\n const context = {\n showDialog,\n closeDialog,\n closeAllDialogs\n };\n\n return (\n <DialogsContext.Provider value={context}>\n {children}\n {Array.from(dialogs.values()).map(dialog => (\n <Dialog\n key={dialog.id}\n description={dialog.description}\n dismissible={dialog.dismissible ?? true}\n icon={dialog.icon ?? <></>}\n title={dialog.title}\n content={dialog.content}\n open={dialog.open}\n acceptLabel={dialog.acceptLabel}\n cancelLabel={dialog.cancelLabel}\n loadingLabel={dialog.loadingLabel}\n dataLoadingLabel={dialog.dataLoadingLabel}\n loading={dialog.loading}\n closeDialog={() => {\n closeDialog(dialog.id);\n dialog.onClose && dialog.onClose();\n }}\n onSubmit={data => onSubmit(dialog.id, data)}\n formData={dialog.formData}\n size={dialog.size}\n />\n ))}\n </DialogsContext.Provider>\n );\n};\n\nexport const createDialogsProvider = () => {\n return createProvider(Component => {\n return function DialogsProviderDecorator({ children }: DialogsProviderProps) {\n return (\n <DialogsProvider>\n <Component>{children}</Component>\n </DialogsProvider>\n );\n };\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useSnackbar","Dialog","createProvider","generateId","initializeState","params","id","title","description","dismissible","icon","info","content","acceptLabel","cancelLabel","loadingLabel","dataLoadingLabel","onAccept","onClose","open","loading","element","formData","size","DialogsContext","createContext","undefined","DialogsProvider","children","showSnackbar","dialogs","setDialogs","Map","showDialog","newDialog","set","closeDialog","dialog","get","error","console","newDialogs","delete","closeAllDialogs","onSubmit","data","message","context","createElement","Provider","value","Array","from","values","map","key","Fragment","createDialogsProvider","Component","DialogsProviderDecorator"],"sources":["DialogsContext.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { useState } from \"react\";\nimport type { GenericFormData } from \"@webiny/form\";\nimport { useSnackbar } from \"~/hooks/index.js\";\nimport { Dialog, type DialogProps } from \"./Dialog.js\";\nimport { createProvider } from \"@webiny/app\";\nimport { generateId } from \"@webiny/utils\";\n\ninterface ShowDialogParams {\n title: ReactNode;\n description?: ReactNode;\n dismissible?: boolean;\n content: ReactNode;\n actions?: React.JSX.Element;\n icon?: React.JSX.Element;\n info?: ReactNode;\n acceptLabel?: ReactNode;\n cancelLabel?: ReactNode;\n loadingLabel?: ReactNode;\n dataLoadingLabel?: ReactNode;\n onAccept?: (data: GenericFormData) => void;\n onClose?: () => void;\n formData?: DialogProps[\"formData\"];\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n}\n\nexport interface DialogsContext {\n showDialog: (params: ShowDialogParams) => () => void;\n closeAllDialogs: () => void;\n}\n\ninterface DialogsProviderProps {\n children: ReactNode;\n}\n\ninterface DialogState extends ShowDialogParams {\n id: string;\n open: boolean;\n loading: boolean;\n element?: React.JSX.Element;\n}\n\nexport const initializeState = (params: Partial<DialogState> = {}): DialogState => ({\n id: `dialog-${generateId()}`,\n title: params.title ?? `Confirmation`,\n description: params.description,\n dismissible: params.dismissible,\n icon: params.icon,\n info: params.info,\n content: params.content,\n acceptLabel: params.acceptLabel === null ? null : (params.acceptLabel ?? `Confirm`),\n cancelLabel: params.cancelLabel === null ? null : (params.cancelLabel ?? `Cancel`),\n loadingLabel: params.loadingLabel ?? `Loading...`,\n dataLoadingLabel: params.dataLoadingLabel ?? `Loading...`,\n onAccept: params.onAccept,\n onClose: params.onClose,\n open: params.open ?? false,\n loading: params.loading ?? false,\n element: params.element,\n formData: params.formData ?? {},\n size: params.size ?? \"md\"\n});\n\nexport const DialogsContext = React.createContext<DialogsContext | undefined>(undefined);\n\nexport const DialogsProvider = ({ children }: DialogsProviderProps) => {\n const { showSnackbar } = useSnackbar();\n const [dialogs, setDialogs] = useState<Map<string, DialogState>>(new Map());\n\n const showDialog = (params: ShowDialogParams) => {\n const newDialog = initializeState({ ...params, open: true });\n setDialogs(dialogs => new Map(dialogs).set(newDialog.id, newDialog));\n return () => closeDialog(newDialog.id);\n };\n\n const closeDialog = (id: string) => {\n const dialog = dialogs.get(id);\n\n // Call the onClose callback if it exists\n if (dialog?.onClose && typeof dialog.onClose === \"function\") {\n try {\n dialog.onClose();\n } catch (error) {\n // Log error but don't prevent dialog cleanup\n console.error(\"Error in dialog onClose callback:\", error);\n }\n }\n\n setDialogs(dialogs => {\n const newDialogs = new Map(dialogs);\n newDialogs.delete(id);\n return newDialogs;\n });\n };\n\n const closeAllDialogs = () => {\n setDialogs(new Map());\n };\n\n const onSubmit = async (id: string, data: GenericFormData) => {\n const dialog = dialogs.get(id);\n if (!dialog) {\n return;\n }\n\n try {\n if (typeof dialog.onAccept === \"function\") {\n setDialogs(dialogs => {\n const newDialogs = new Map(dialogs);\n newDialogs.set(id, { ...dialog, loading: true });\n return newDialogs;\n });\n\n await dialog.onAccept(data);\n }\n } catch (error) {\n showSnackbar(error.message);\n } finally {\n setDialogs(dialogs => {\n const newDialogs = new Map(dialogs);\n newDialogs.set(id, { ...dialog, loading: false });\n return newDialogs;\n });\n closeDialog(id);\n }\n };\n\n const context = {\n showDialog,\n closeDialog,\n closeAllDialogs\n };\n\n return (\n <DialogsContext.Provider value={context}>\n {children}\n {Array.from(dialogs.values()).map(dialog => (\n <Dialog\n key={dialog.id}\n description={dialog.description}\n dismissible={dialog.dismissible ?? true}\n icon={dialog.icon ?? <></>}\n title={dialog.title}\n content={dialog.content}\n open={dialog.open}\n info={dialog.info}\n acceptLabel={dialog.acceptLabel}\n cancelLabel={dialog.cancelLabel}\n loadingLabel={dialog.loadingLabel}\n dataLoadingLabel={dialog.dataLoadingLabel}\n loading={dialog.loading}\n closeDialog={() => {\n closeDialog(dialog.id);\n dialog.onClose && dialog.onClose();\n }}\n onSubmit={data => onSubmit(dialog.id, data)}\n formData={dialog.formData}\n size={dialog.size}\n />\n ))}\n </DialogsContext.Provider>\n );\n};\n\nexport const createDialogsProvider = () => {\n return createProvider(Component => {\n return function DialogsProviderDecorator({ children }: DialogsProviderProps) {\n return (\n <DialogsProvider>\n <Component>{children}</Component>\n </DialogsProvider>\n );\n };\n });\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,20 @@
1
1
  import React from "react";
2
2
  import type { Icon } from "./types.js";
3
- export declare const IconRenderer: ((props: unknown) => JSX.Element | null) & {
4
- original: (props: unknown) => JSX.Element | null;
3
+ export declare const IconRenderer: ((props: unknown) => React.JSX.Element | null) & {
4
+ original: (props: unknown) => React.JSX.Element | null;
5
5
  originalName: string;
6
6
  displayName: string;
7
7
  } & {
8
- original: ((props: unknown) => JSX.Element | null) & {
9
- original: (props: unknown) => JSX.Element | null;
8
+ original: ((props: unknown) => React.JSX.Element | null) & {
9
+ original: (props: unknown) => React.JSX.Element | null;
10
10
  originalName: string;
11
11
  displayName: string;
12
12
  };
13
13
  originalName: string;
14
14
  displayName: string;
15
15
  } & {
16
- createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<((props: unknown) => JSX.Element | null) & {
17
- original: (props: unknown) => JSX.Element | null;
16
+ createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<((props: unknown) => React.JSX.Element | null) & {
17
+ original: (props: unknown) => React.JSX.Element | null;
18
18
  originalName: string;
19
19
  displayName: string;
20
20
  }>) => (props: unknown) => React.JSX.Element;
@@ -60,7 +60,9 @@ const UrlInput = () => {
60
60
  }
61
61
  };
62
62
  return /*#__PURE__*/React.createElement(Input, Object.assign({}, urlBind, {
63
- inputRef: ref => inputRef.current = ref,
63
+ inputRef: ref => {
64
+ inputRef.current = ref;
65
+ },
64
66
  variant: "secondary",
65
67
  placeholder: "Enter link",
66
68
  autoFocus: true,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","Button","Grid","Icon","IconButton","Input","Switch","Form","useBind","validation","ReactComponent","GlobeIcon","OpenInNew","RemoveLink","LexicalLinkForm","linkData","onSave","removeLink","onSubmit","data","createElement","validateOnFirstSubmit","submitOnEnter","form","className","gap","Column","span","UrlInput","TargetSwitch","variant","text","onClick","icon","label","submit","inputRef","urlBind","name","validators","create","current","setTimeout","focus","openInNewTab","isValid","value","window","open","Object","assign","ref","placeholder","autoFocus","startIcon","endIcon","targetBind","defaultValue","checked","onChange"],"sources":["LexicalLinkForm.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport type { FloatingLinkEditorPlugin } from \"@webiny/lexical-editor\";\nimport { Button, Grid, Icon, IconButton, Input, Switch } from \"@webiny/admin-ui\";\nimport { Form, useBind } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ReactComponent as GlobeIcon } from \"@webiny/icons/language.svg\";\nimport { ReactComponent as OpenInNew } from \"@webiny/icons/open_in_new.svg\";\nimport { ReactComponent as RemoveLink } from \"@webiny/icons/link_off.svg\";\n\ntype LexicalLinkForm = NonNullable<\n React.ComponentProps<typeof FloatingLinkEditorPlugin>[\"LinkForm\"]\n>;\ntype LinkFormProps = React.ComponentProps<LexicalLinkForm>;\n\nexport const LexicalLinkForm = ({ linkData, onSave, removeLink }: LinkFormProps) => {\n const onSubmit = (data: LinkFormProps[\"linkData\"]) => {\n onSave(data);\n };\n\n return (\n <Form data={linkData} onSubmit={onSubmit} validateOnFirstSubmit submitOnEnter>\n {form => (\n <div className={\"p-md\"}>\n <Grid gap={\"small\"}>\n <Grid.Column span={12}>\n <UrlInput />\n </Grid.Column>\n </Grid>\n <div className={\"flex w-full items-center justify-between mt-sm gap-sm\"}>\n <TargetSwitch />\n <Button\n variant={\"ghost\"}\n text={`Remove link`}\n className={\"text-destructive-primary! [&_svg]:fill-destructive\"}\n onClick={removeLink}\n icon={<Icon label={\"Remove link\"} icon={<RemoveLink />} />}\n />\n <Button variant={\"primary\"} text={`Save`} onClick={form.submit} />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nconst UrlInput = () => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const urlBind = useBind({\n name: \"url\",\n validators: validation.create(\"required,url:allowRelative:allowHref\")\n });\n\n useEffect(() => {\n if (inputRef.current) {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 10);\n }\n }, []);\n\n const openInNewTab = () => {\n if (urlBind.validation.isValid !== false && urlBind.value) {\n window.open(urlBind.value, \"_blank\");\n }\n };\n\n return (\n <Input\n {...urlBind}\n inputRef={ref => (inputRef.current = ref)}\n variant={\"secondary\"}\n placeholder={\"Enter link\"}\n autoFocus={true}\n startIcon={<Icon label=\"globe\" icon={<GlobeIcon />} />}\n endIcon={<IconButton variant=\"ghost\" icon={<OpenInNew />} onClick={openInNewTab} />}\n />\n );\n};\n\nconst TargetSwitch = () => {\n const targetBind = useBind({\n name: \"target\",\n defaultValue: \"_self\"\n });\n\n return (\n <Switch\n checked={targetBind.value === \"_blank\"}\n label={\"Open in new tab\"}\n onChange={value => {\n targetBind.onChange(value === true ? \"_blank\" : \"_self\");\n }}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","Button","Grid","Icon","IconButton","Input","Switch","Form","useBind","validation","ReactComponent","GlobeIcon","OpenInNew","RemoveLink","LexicalLinkForm","linkData","onSave","removeLink","onSubmit","data","createElement","validateOnFirstSubmit","submitOnEnter","form","className","gap","Column","span","UrlInput","TargetSwitch","variant","text","onClick","icon","label","submit","inputRef","urlBind","name","validators","create","current","setTimeout","focus","openInNewTab","isValid","value","window","open","Object","assign","ref","placeholder","autoFocus","startIcon","endIcon","targetBind","defaultValue","checked","onChange"],"sources":["LexicalLinkForm.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport type { FloatingLinkEditorPlugin } from \"@webiny/lexical-editor\";\nimport { Button, Grid, Icon, IconButton, Input, Switch } from \"@webiny/admin-ui\";\nimport { Form, useBind } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ReactComponent as GlobeIcon } from \"@webiny/icons/language.svg\";\nimport { ReactComponent as OpenInNew } from \"@webiny/icons/open_in_new.svg\";\nimport { ReactComponent as RemoveLink } from \"@webiny/icons/link_off.svg\";\n\ntype LexicalLinkForm = NonNullable<\n React.ComponentProps<typeof FloatingLinkEditorPlugin>[\"LinkForm\"]\n>;\ntype LinkFormProps = React.ComponentProps<LexicalLinkForm>;\n\nexport const LexicalLinkForm = ({ linkData, onSave, removeLink }: LinkFormProps) => {\n const onSubmit = (data: LinkFormProps[\"linkData\"]) => {\n onSave(data);\n };\n\n return (\n <Form data={linkData} onSubmit={onSubmit} validateOnFirstSubmit submitOnEnter>\n {form => (\n <div className={\"p-md\"}>\n <Grid gap={\"small\"}>\n <Grid.Column span={12}>\n <UrlInput />\n </Grid.Column>\n </Grid>\n <div className={\"flex w-full items-center justify-between mt-sm gap-sm\"}>\n <TargetSwitch />\n <Button\n variant={\"ghost\"}\n text={`Remove link`}\n className={\"text-destructive-primary! [&_svg]:fill-destructive\"}\n onClick={removeLink}\n icon={<Icon label={\"Remove link\"} icon={<RemoveLink />} />}\n />\n <Button variant={\"primary\"} text={`Save`} onClick={form.submit} />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nconst UrlInput = () => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const urlBind = useBind({\n name: \"url\",\n validators: validation.create(\"required,url:allowRelative:allowHref\")\n });\n\n useEffect(() => {\n if (inputRef.current) {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 10);\n }\n }, []);\n\n const openInNewTab = () => {\n if (urlBind.validation.isValid !== false && urlBind.value) {\n window.open(urlBind.value, \"_blank\");\n }\n };\n\n return (\n <Input\n {...urlBind}\n inputRef={ref => {\n inputRef.current = ref;\n }}\n variant={\"secondary\"}\n placeholder={\"Enter link\"}\n autoFocus={true}\n startIcon={<Icon label=\"globe\" icon={<GlobeIcon />} />}\n endIcon={<IconButton variant=\"ghost\" icon={<OpenInNew />} onClick={openInNewTab} />}\n />\n );\n};\n\nconst TargetSwitch = () => {\n const targetBind = useBind({\n name: \"target\",\n defaultValue: \"_self\"\n });\n\n return (\n <Switch\n checked={targetBind.value === \"_blank\"}\n label={\"Open in new tab\"}\n onChange={value => {\n targetBind.onChange(value === true ? \"_blank\" : \"_self\");\n }}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,15 @@ const OverlayRoot = ({
5
5
  onExited,
6
6
  children
7
7
  }) => {
8
+ const ref = React.useRef(null);
8
9
  return /*#__PURE__*/React.createElement(Transition, {
10
+ nodeRef: ref,
9
11
  in: visible,
10
12
  timeout: 100,
11
13
  appear: true,
12
14
  onExited: onExited
13
15
  }, /*#__PURE__*/React.createElement("div", {
16
+ ref: ref,
14
17
  className: "pointer-events-auto"
15
18
  }, children));
16
19
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","Transition","OverlayRoot","visible","onExited","children","createElement","in","timeout","appear","className"],"sources":["OverlayRoot.tsx"],"sourcesContent":["import React from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport type { ExitHandler } from \"react-transition-group/Transition\";\n\ninterface OverlayRootProps {\n visible?: boolean;\n onExited?: ExitHandler<HTMLElement>;\n children: React.ReactNode;\n}\n\nconst OverlayRoot = ({ visible, onExited, children }: OverlayRootProps) => {\n return (\n <Transition in={visible} timeout={100} appear onExited={onExited}>\n <div className={\"pointer-events-auto\"}>{children}</div>\n </Transition>\n );\n};\n\nexport { OverlayRoot, type OverlayRootProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,wBAAwB;AASnD,MAAMC,WAAW,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,KAAK;EACvE,oBACIL,KAAA,CAAAM,aAAA,CAACL,UAAU;IAACM,EAAE,EAAEJ,OAAQ;IAACK,OAAO,EAAE,GAAI;IAACC,MAAM;IAACL,QAAQ,EAAEA;EAAS,gBAC7DJ,KAAA,CAAAM,aAAA;IAAKI,SAAS,EAAE;EAAsB,GAAEL,QAAc,CAC9C,CAAC;AAErB,CAAC;AAED,SAASH,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["React","Transition","OverlayRoot","visible","onExited","children","ref","useRef","createElement","nodeRef","in","timeout","appear","className"],"sources":["OverlayRoot.tsx"],"sourcesContent":["import React from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport type { ExitHandler } from \"react-transition-group/Transition\";\n\ninterface OverlayRootProps {\n visible?: boolean;\n onExited?: ExitHandler<HTMLElement>;\n children: React.ReactNode;\n}\n\nconst OverlayRoot = ({ visible, onExited, children }: OverlayRootProps) => {\n const ref = React.useRef<HTMLDivElement>(null);\n return (\n <Transition nodeRef={ref} in={visible} timeout={100} appear onExited={onExited}>\n <div ref={ref} className={\"pointer-events-auto\"}>\n {children}\n </div>\n </Transition>\n );\n};\n\nexport { OverlayRoot, type OverlayRootProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,wBAAwB;AASnD,MAAMC,WAAW,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,KAAK;EACvE,MAAMC,GAAG,GAAGN,KAAK,CAACO,MAAM,CAAiB,IAAI,CAAC;EAC9C,oBACIP,KAAA,CAAAQ,aAAA,CAACP,UAAU;IAACQ,OAAO,EAAEH,GAAI;IAACI,EAAE,EAAEP,OAAQ;IAACQ,OAAO,EAAE,GAAI;IAACC,MAAM;IAACR,QAAQ,EAAEA;EAAS,gBAC3EJ,KAAA,CAAAQ,aAAA;IAAKF,GAAG,EAAEA,GAAI;IAACO,SAAS,EAAE;EAAsB,GAC3CR,QACA,CACG,CAAC;AAErB,CAAC;AAED,SAASH,WAAW","ignoreList":[]}
@@ -1,8 +1,14 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
1
2
  import React from "react";
2
- import { css } from "emotion";
3
+ import { css } from "@emotion/css";
3
4
  import { Label } from "@webiny/admin-ui";
4
- export const gridWithPaddingClass = css({
5
- paddingTop: "var(--padding-md)"
5
+ export const gridWithPaddingClass = /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
6
+ name: "musf0l",
7
+ styles: "padding-top:var(--padding-md)"
8
+ } : {
9
+ name: "auruij-gridWithPaddingClass",
10
+ styles: "padding-top:var(--padding-md);label:gridWithPaddingClass;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0eWxlZENvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlvQyIsImZpbGUiOiJTdHlsZWRDb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IExhYmVsIH0gZnJvbSBcIkB3ZWJpbnkvYWRtaW4tdWlcIjtcblxuZXhwb3J0IGNvbnN0IGdyaWRXaXRoUGFkZGluZ0NsYXNzID0gY3NzKHtcbiAgICBwYWRkaW5nVG9wOiBcInZhcigtLXBhZGRpbmctbWQpXCJcbn0pO1xuXG5pbnRlcmZhY2UgUGVybWlzc2lvbkluZm9Qcm9wcyB7XG4gICAgdGl0bGU6IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBQZXJtaXNzaW9uSW5mbyA9ICh7IHRpdGxlIH06IFBlcm1pc3Npb25JbmZvUHJvcHMpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT17XCJmbGV4IGl0ZW1zLWNlbnRlciBoLWZ1bGxcIn0+XG4gICAgICAgIDxMYWJlbCB0ZXh0PXt0aXRsZX0gLz5cbiAgICA8L2Rpdj5cbik7XG4iXX0= */",
11
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
6
12
  });
7
13
  export const PermissionInfo = ({
8
14
  title
@@ -1 +1 @@
1
- {"version":3,"names":["React","css","Label","gridWithPaddingClass","paddingTop","PermissionInfo","title","createElement","className","text"],"sources":["StyledComponents.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Label } from \"@webiny/admin-ui\";\n\nexport const gridWithPaddingClass = css({\n paddingTop: \"var(--padding-md)\"\n});\n\ninterface PermissionInfoProps {\n title: string;\n}\nexport const PermissionInfo = ({ title }: PermissionInfoProps) => (\n <div className={\"flex items-center h-full\"}>\n <Label text={title} />\n </div>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,SAAS;AAC7B,SAASC,KAAK,QAAQ,kBAAkB;AAExC,OAAO,MAAMC,oBAAoB,GAAGF,GAAG,CAAC;EACpCG,UAAU,EAAE;AAChB,CAAC,CAAC;AAKF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAA2B,CAAC,kBACzDN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAE;AAA2B,gBACvCR,KAAA,CAAAO,aAAA,CAACL,KAAK;EAACO,IAAI,EAAEH;AAAM,CAAE,CACpB,CACR","ignoreList":[]}
1
+ {"version":3,"names":["React","css","Label","gridWithPaddingClass","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","PermissionInfo","title","createElement","className","text"],"sources":["StyledComponents.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"@emotion/css\";\nimport { Label } from \"@webiny/admin-ui\";\n\nexport const gridWithPaddingClass = css({\n paddingTop: \"var(--padding-md)\"\n});\n\ninterface PermissionInfoProps {\n title: string;\n}\nexport const PermissionInfo = ({ title }: PermissionInfoProps) => (\n <div className={\"flex items-center h-full\"}>\n <Label text={title} />\n </div>\n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,KAAK,QAAQ,kBAAkB;AAExC,OAAO,MAAMC,oBAAoB,gBAAGF,GAAG,CAAAG,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAC;AAAA,CAEtC,CAAC;AAKF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAA2B,CAAC,kBACzDZ,KAAA,CAAAa,aAAA;EAAKC,SAAS,EAAE;AAA2B,gBACvCd,KAAA,CAAAa,aAAA,CAACX,KAAK;EAACa,IAAI,EAAEH;AAAM,CAAE,CACpB,CACR","ignoreList":[]}
@@ -1,48 +1,25 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
1
2
  import React from "react";
2
- import { css } from "emotion";
3
+ import { css } from "@emotion/css";
3
4
  import classNames from "classnames";
4
5
  import omit from "lodash/omit.js";
5
6
  import { Typography } from "@webiny/ui/Typography/index.js";
6
7
  import { FormElementMessage } from "@webiny/ui/FormElementMessage/index.js";
7
- const inputStyle = css({
8
- boxSizing: "border-box",
9
- border: "1px solid var(--mdc-theme-on-background)",
10
- width: "100%",
11
- height: "100%",
12
- padding: "4px 8px",
13
- textAlign: "left",
14
- minHeight: 32,
15
- backgroundColor: "var(--mdc-theme-surface)",
16
- transition: "150ms all ease-in-out",
17
- "&:focus:not(:disabled)": {
18
- backgroundColor: "var(--mdc-theme-on-background)"
19
- },
20
- "&:hover:not(:disabled)": {
21
- backgroundColor: "var(--mdc-theme-on-background)"
22
- },
23
- "&:disabled": {
24
- opacity: 0.5,
25
- cursor: "not-allowed"
26
- },
27
- "&.text-center": {
28
- textAlign: "center",
29
- padding: 4
30
- },
31
- "&::-webkit-inner-spin-button": {
32
- WebkitAppearance: "none",
33
- margin: 0
34
- },
35
- "&::-webkit-outer-spin-button": {
36
- WebkitAppearance: "none",
37
- margin: 0
38
- }
8
+ const inputStyle = /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
9
+ name: "182fb6",
10
+ styles: "box-sizing:border-box;border:1px solid var(--mdc-theme-on-background);width:100%;height:100%;padding:4px 8px;text-align:left;min-height:32px;background-color:var(--mdc-theme-surface);transition:150ms all ease-in-out;&:focus:not(:disabled){background-color:var(--mdc-theme-on-background);}&:hover:not(:disabled){background-color:var(--mdc-theme-on-background);}&:disabled{opacity:0.5;cursor:not-allowed;}&.text-center{text-align:center;padding:4px;}&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}"
11
+ } : {
12
+ name: "k732d4-inputStyle",
13
+ styles: "box-sizing:border-box;border:1px solid var(--mdc-theme-on-background);width:100%;height:100%;padding:4px 8px;text-align:left;min-height:32px;background-color:var(--mdc-theme-surface);transition:150ms all ease-in-out;&:focus:not(:disabled){background-color:var(--mdc-theme-on-background);}&:hover:not(:disabled){background-color:var(--mdc-theme-on-background);}&:disabled{opacity:0.5;cursor:not-allowed;}&.text-center{text-align:center;padding:4px;}&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;};label:inputStyle;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0RmllbGQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9tQiIsImZpbGUiOiJJbnB1dEZpZWxkLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgb21pdCBmcm9tIFwibG9kYXNoL29taXQuanNcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tIFwiQHdlYmlueS91aS9UeXBvZ3JhcGh5L2luZGV4LmpzXCI7XG5pbXBvcnQgeyBGb3JtRWxlbWVudE1lc3NhZ2UgfSBmcm9tIFwiQHdlYmlueS91aS9Gb3JtRWxlbWVudE1lc3NhZ2UvaW5kZXguanNcIjtcblxuY29uc3QgaW5wdXRTdHlsZSA9IGNzcyh7XG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKVwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIHBhZGRpbmc6IFwiNHB4IDhweFwiLFxuICAgIHRleHRBbGlnbjogXCJsZWZ0XCIsXG4gICAgbWluSGVpZ2h0OiAzMixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UpXCIsXG4gICAgdHJhbnNpdGlvbjogXCIxNTBtcyBhbGwgZWFzZS1pbi1vdXRcIixcbiAgICBcIiY6Zm9jdXM6bm90KDpkaXNhYmxlZClcIjoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLW9uLWJhY2tncm91bmQpXCJcbiAgICB9LFxuICAgIFwiJjpob3Zlcjpub3QoOmRpc2FibGVkKVwiOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtb24tYmFja2dyb3VuZClcIlxuICAgIH0sXG4gICAgXCImOmRpc2FibGVkXCI6IHtcbiAgICAgICAgb3BhY2l0eTogMC41LFxuICAgICAgICBjdXJzb3I6IFwibm90LWFsbG93ZWRcIlxuICAgIH0sXG5cbiAgICBcIiYudGV4dC1jZW50ZXJcIjoge1xuICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgICAgIHBhZGRpbmc6IDRcbiAgICB9LFxuXG4gICAgXCImOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uXCI6IHtcbiAgICAgICAgV2Via2l0QXBwZWFyYW5jZTogXCJub25lXCIsXG4gICAgICAgIG1hcmdpbjogMFxuICAgIH0sXG4gICAgXCImOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uXCI6IHtcbiAgICAgICAgV2Via2l0QXBwZWFyYW5jZTogXCJub25lXCIsXG4gICAgICAgIG1hcmdpbjogMFxuICAgIH1cbn0pO1xuXG5jb25zdCBsYWJlbFN0eWxlID0gY3NzKHtcbiAgICBtYXJnaW5Cb3R0b206IDgsXG4gICAgcGFkZGluZzogXCIwcHggOHB4XCIsXG4gICAgXCImIHNwYW5cIjoge1xuICAgICAgICBjb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQpXCJcbiAgICB9XG59KTtcblxuaW50ZXJmYWNlIEdldFZhbHVlUGFyYW1zIHtcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGRlZmF1bHRWYWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHR5cGU6IFwibnVtYmVyXCIgfCBcInN0cmluZ1wiO1xufVxuY29uc3QgZ2V0VmFsdWUgPSAocGFyYW1zOiBHZXRWYWx1ZVBhcmFtcyk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSwgZGVmYXVsdFZhbHVlLCB0eXBlIH0gPSBwYXJhbXM7XG4gICAgaWYgKHR5cGUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIChpc05hTih2YWx1ZSBhcyBudW1iZXIpID8gZGVmYXVsdFZhbHVlIDogdmFsdWUpIGFzIHN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuICh2YWx1ZSB8fCBkZWZhdWx0VmFsdWUpIGFzIHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE9uS2V5RG93blByb3BzID0gUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTElucHV0RWxlbWVudCwgRXZlbnQ+ICZcbiAgICBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG5pbnRlcmZhY2UgSW5wdXRCb3hQcm9wcyB7XG4gICAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICBvbktleURvd24/OiAoZTogT25LZXlEb3duUHJvcHMpID0+IGFueTtcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdHlwZT86IFwic3RyaW5nXCIgfCBcIm51bWJlclwiO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmNvbnN0IElucHV0RmllbGQgPSAoe1xuICAgIGNsYXNzTmFtZSxcbiAgICB2YWx1ZSxcbiAgICBvbkNoYW5nZSxcbiAgICBvbktleURvd24sXG4gICAgbGFiZWwsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgdmFsaWRhdGlvbiA9IHsgaXNWYWxpZDogdHJ1ZSB9LFxuICAgIGRlZmF1bHRWYWx1ZSA9IFwiXCIsXG4gICAgLi4ucHJvcHNcbn06IElucHV0Qm94UHJvcHMpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICB7bGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtsYWJlbFN0eWxlfT5cbiAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcImJvZHkyXCJ9PntsYWJlbH08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGlucHV0U3R5bGUsIGNsYXNzTmFtZSl9XG4gICAgICAgICAgICAgICAgdmFsdWU9e2dldFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHByb3BzLnR5cGUgfHwgXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvbkNoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKChldi50YXJnZXQudmFsdWUgfHwgXCJcIikudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB7Li4ub21pdChwcm9wcywgXCJ2YWxpZGF0ZVwiKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7dmFsaWRhdGlvbi5pc1ZhbGlkID09PSBmYWxzZSAmJiAoXG4gICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZSBlcnJvcj57dmFsaWRhdGlvbi5tZXNzYWdlfTwvRm9ybUVsZW1lbnRNZXNzYWdlPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHt2YWxpZGF0aW9uLmlzVmFsaWQgIT09IGZhbHNlICYmIGRlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICAgICAgICA8Rm9ybUVsZW1lbnRNZXNzYWdlPntkZXNjcmlwdGlvbn08L0Zvcm1FbGVtZW50TWVzc2FnZT5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0Lm1lbW8oSW5wdXRGaWVsZCk7XG4iXX0= */",
14
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
39
15
  });
40
- const labelStyle = css({
41
- marginBottom: 8,
42
- padding: "0px 8px",
43
- "& span": {
44
- color: "var(--mdc-theme-text-primary-on-background)"
45
- }
16
+ const labelStyle = /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
17
+ name: "9dnmsz",
18
+ styles: "margin-bottom:8px;padding:0px 8px;& span{color:var(--mdc-theme-text-primary-on-background);}"
19
+ } : {
20
+ name: "1yl4ooa-labelStyle",
21
+ styles: "margin-bottom:8px;padding:0px 8px;& span{color:var(--mdc-theme-text-primary-on-background);};label:labelStyle;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0RmllbGQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDbUIiLCJmaWxlIjoiSW5wdXRGaWVsZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IG9taXQgZnJvbSBcImxvZGFzaC9vbWl0LmpzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIkB3ZWJpbnkvdWkvVHlwb2dyYXBoeS9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRNZXNzYWdlIH0gZnJvbSBcIkB3ZWJpbnkvdWkvRm9ybUVsZW1lbnRNZXNzYWdlL2luZGV4LmpzXCI7XG5cbmNvbnN0IGlucHV0U3R5bGUgPSBjc3Moe1xuICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtb24tYmFja2dyb3VuZClcIixcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICBwYWRkaW5nOiBcIjRweCA4cHhcIixcbiAgICB0ZXh0QWxpZ246IFwibGVmdFwiLFxuICAgIG1pbkhlaWdodDogMzIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1zdXJmYWNlKVwiLFxuICAgIHRyYW5zaXRpb246IFwiMTUwbXMgYWxsIGVhc2UtaW4tb3V0XCIsXG4gICAgXCImOmZvY3VzOm5vdCg6ZGlzYWJsZWQpXCI6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKVwiXG4gICAgfSxcbiAgICBcIiY6aG92ZXI6bm90KDpkaXNhYmxlZClcIjoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLW9uLWJhY2tncm91bmQpXCJcbiAgICB9LFxuICAgIFwiJjpkaXNhYmxlZFwiOiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNSxcbiAgICAgICAgY3Vyc29yOiBcIm5vdC1hbGxvd2VkXCJcbiAgICB9LFxuXG4gICAgXCImLnRleHQtY2VudGVyXCI6IHtcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgICAgICBwYWRkaW5nOiA0XG4gICAgfSxcblxuICAgIFwiJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvblwiOiB7XG4gICAgICAgIFdlYmtpdEFwcGVhcmFuY2U6IFwibm9uZVwiLFxuICAgICAgICBtYXJnaW46IDBcbiAgICB9LFxuICAgIFwiJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvblwiOiB7XG4gICAgICAgIFdlYmtpdEFwcGVhcmFuY2U6IFwibm9uZVwiLFxuICAgICAgICBtYXJnaW46IDBcbiAgICB9XG59KTtcblxuY29uc3QgbGFiZWxTdHlsZSA9IGNzcyh7XG4gICAgbWFyZ2luQm90dG9tOiA4LFxuICAgIHBhZGRpbmc6IFwiMHB4IDhweFwiLFxuICAgIFwiJiBzcGFuXCI6IHtcbiAgICAgICAgY29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKVwiXG4gICAgfVxufSk7XG5cbmludGVyZmFjZSBHZXRWYWx1ZVBhcmFtcyB7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICB0eXBlOiBcIm51bWJlclwiIHwgXCJzdHJpbmdcIjtcbn1cbmNvbnN0IGdldFZhbHVlID0gKHBhcmFtczogR2V0VmFsdWVQYXJhbXMpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgdHlwZSB9ID0gcGFyYW1zO1xuICAgIGlmICh0eXBlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiAoaXNOYU4odmFsdWUgYXMgbnVtYmVyKSA/IGRlZmF1bHRWYWx1ZSA6IHZhbHVlKSBhcyBzdHJpbmc7XG4gICAgfVxuICAgIHJldHVybiAodmFsdWUgfHwgZGVmYXVsdFZhbHVlKSBhcyBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBPbktleURvd25Qcm9wcyA9IFJlYWN0LlN5bnRoZXRpY0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQsIEV2ZW50PiAmXG4gICAgUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PjtcblxuaW50ZXJmYWNlIElucHV0Qm94UHJvcHMge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIG9uQ2hhbmdlPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgb25LZXlEb3duPzogKGU6IE9uS2V5RG93blByb3BzKSA9PiBhbnk7XG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHR5cGU/OiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIjtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5jb25zdCBJbnB1dEZpZWxkID0gKHtcbiAgICBjbGFzc05hbWUsXG4gICAgdmFsdWUsXG4gICAgb25DaGFuZ2UsXG4gICAgb25LZXlEb3duLFxuICAgIGxhYmVsLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIHZhbGlkYXRpb24gPSB7IGlzVmFsaWQ6IHRydWUgfSxcbiAgICBkZWZhdWx0VmFsdWUgPSBcIlwiLFxuICAgIC4uLnByb3BzXG59OiBJbnB1dEJveFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAge2xhYmVsICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17bGFiZWxTdHlsZX0+XG4gICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT17XCJib2R5MlwifT57bGFiZWx9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhpbnB1dFN0eWxlLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtnZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBwcm9wcy50eXBlIHx8IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZSgoZXYudGFyZ2V0LnZhbHVlIHx8IFwiXCIpLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgey4uLm9taXQocHJvcHMsIFwidmFsaWRhdGVcIil9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3ZhbGlkYXRpb24uaXNWYWxpZCA9PT0gZmFsc2UgJiYgKFxuICAgICAgICAgICAgICAgIDxGb3JtRWxlbWVudE1lc3NhZ2UgZXJyb3I+e3ZhbGlkYXRpb24ubWVzc2FnZX08L0Zvcm1FbGVtZW50TWVzc2FnZT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7dmFsaWRhdGlvbi5pc1ZhbGlkICE9PSBmYWxzZSAmJiBkZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZT57ZGVzY3JpcHRpb259PC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWFjdC5tZW1vKElucHV0RmllbGQpO1xuIl19 */",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
46
23
  });
47
24
  const getValue = params => {
48
25
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["React","css","classNames","omit","Typography","FormElementMessage","inputStyle","boxSizing","border","width","height","padding","textAlign","minHeight","backgroundColor","transition","opacity","cursor","WebkitAppearance","margin","labelStyle","marginBottom","color","getValue","params","value","defaultValue","type","isNaN","InputField","className","onChange","onKeyDown","label","description","validation","isValid","props","createElement","Fragment","use","Object","assign","ev","target","toLowerCase","error","message","memo"],"sources":["InputField.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport omit from \"lodash/omit.js\";\nimport { Typography } from \"@webiny/ui/Typography/index.js\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage/index.js\";\n\nconst inputStyle = css({\n boxSizing: \"border-box\",\n border: \"1px solid var(--mdc-theme-on-background)\",\n width: \"100%\",\n height: \"100%\",\n padding: \"4px 8px\",\n textAlign: \"left\",\n minHeight: 32,\n backgroundColor: \"var(--mdc-theme-surface)\",\n transition: \"150ms all ease-in-out\",\n \"&:focus:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:disabled\": {\n opacity: 0.5,\n cursor: \"not-allowed\"\n },\n\n \"&.text-center\": {\n textAlign: \"center\",\n padding: 4\n },\n\n \"&::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n },\n \"&::-webkit-outer-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n }\n});\n\nconst labelStyle = css({\n marginBottom: 8,\n padding: \"0px 8px\",\n \"& span\": {\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\ninterface GetValueParams {\n value: string | number | undefined;\n defaultValue: string | number;\n type: \"number\" | \"string\";\n}\nconst getValue = (params: GetValueParams): string => {\n const { value, defaultValue, type } = params;\n if (type === \"number\") {\n return (isNaN(value as number) ? defaultValue : value) as string;\n }\n return (value || defaultValue) as string;\n};\n\nexport type OnKeyDownProps = React.SyntheticEvent<HTMLInputElement, Event> &\n React.KeyboardEvent<HTMLInputElement>;\n\ninterface InputBoxProps {\n value?: string | number;\n onChange?: (value: any) => void;\n onKeyDown?: (e: OnKeyDownProps) => any;\n defaultValue?: string | number;\n type?: \"string\" | \"number\";\n [key: string]: any;\n}\nconst InputField = ({\n className,\n value,\n onChange,\n onKeyDown,\n label,\n description,\n validation = { isValid: true },\n defaultValue = \"\",\n ...props\n}: InputBoxProps) => {\n return (\n <React.Fragment>\n {label && (\n <div className={labelStyle}>\n <Typography use={\"body2\"}>{label}</Typography>\n </div>\n )}\n <input\n className={classNames(inputStyle, className)}\n value={getValue({\n value,\n type: props.type || \"string\",\n defaultValue\n })}\n onKeyDown={onKeyDown}\n onChange={ev => {\n if (!onChange) {\n return;\n }\n onChange((ev.target.value || \"\").toLowerCase());\n }}\n {...omit(props, \"validate\")}\n />\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n};\n\nexport default React.memo(InputField);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","css","classNames","omit","Typography","FormElementMessage","inputStyle","process","env","NODE_ENV","name","styles","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","labelStyle","getValue","params","value","defaultValue","type","isNaN","InputField","className","onChange","onKeyDown","label","description","validation","isValid","props","createElement","Fragment","use","Object","assign","ev","target","toLowerCase","error","message","memo"],"sources":["InputField.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"@emotion/css\";\nimport classNames from \"classnames\";\nimport omit from \"lodash/omit.js\";\nimport { Typography } from \"@webiny/ui/Typography/index.js\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage/index.js\";\n\nconst inputStyle = css({\n boxSizing: \"border-box\",\n border: \"1px solid var(--mdc-theme-on-background)\",\n width: \"100%\",\n height: \"100%\",\n padding: \"4px 8px\",\n textAlign: \"left\",\n minHeight: 32,\n backgroundColor: \"var(--mdc-theme-surface)\",\n transition: \"150ms all ease-in-out\",\n \"&:focus:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:disabled\": {\n opacity: 0.5,\n cursor: \"not-allowed\"\n },\n\n \"&.text-center\": {\n textAlign: \"center\",\n padding: 4\n },\n\n \"&::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n },\n \"&::-webkit-outer-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n }\n});\n\nconst labelStyle = css({\n marginBottom: 8,\n padding: \"0px 8px\",\n \"& span\": {\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\ninterface GetValueParams {\n value: string | number | undefined;\n defaultValue: string | number;\n type: \"number\" | \"string\";\n}\nconst getValue = (params: GetValueParams): string => {\n const { value, defaultValue, type } = params;\n if (type === \"number\") {\n return (isNaN(value as number) ? defaultValue : value) as string;\n }\n return (value || defaultValue) as string;\n};\n\nexport type OnKeyDownProps = React.SyntheticEvent<HTMLInputElement, Event> &\n React.KeyboardEvent<HTMLInputElement>;\n\ninterface InputBoxProps {\n value?: string | number;\n onChange?: (value: any) => void;\n onKeyDown?: (e: OnKeyDownProps) => any;\n defaultValue?: string | number;\n type?: \"string\" | \"number\";\n [key: string]: any;\n}\nconst InputField = ({\n className,\n value,\n onChange,\n onKeyDown,\n label,\n description,\n validation = { isValid: true },\n defaultValue = \"\",\n ...props\n}: InputBoxProps) => {\n return (\n <React.Fragment>\n {label && (\n <div className={labelStyle}>\n <Typography use={\"body2\"}>{label}</Typography>\n </div>\n )}\n <input\n className={classNames(inputStyle, className)}\n value={getValue({\n value,\n type: props.type || \"string\",\n defaultValue\n })}\n onKeyDown={onKeyDown}\n onChange={ev => {\n if (!onChange) {\n return;\n }\n onChange((ev.target.value || \"\").toLowerCase());\n }}\n {...omit(props, \"validate\")}\n />\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n};\n\nexport default React.memo(InputField);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,cAAc;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,IAAI,MAAM,gBAAgB;AACjC,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,kBAAkB,QAAQ,wCAAwC;AAE3E,MAAMC,UAAU,gBAAGL,GAAG,CAAAM,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAC;AAAA,CAkCrB,CAAC;AAEF,MAAMC,UAAU,gBAAGb,GAAG,CAAAM,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,QAAA,EAAAC;AAAA,CAMrB,CAAC;AAOF,MAAME,QAAQ,GAAIC,MAAsB,IAAa;EACjD,MAAM;IAAEC,KAAK;IAAEC,YAAY;IAAEC;EAAK,CAAC,GAAGH,MAAM;EAC5C,IAAIG,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAQC,KAAK,CAACH,KAAe,CAAC,GAAGC,YAAY,GAAGD,KAAK;EACzD;EACA,OAAQA,KAAK,IAAIC,YAAY;AACjC,CAAC;AAaD,MAAMG,UAAU,GAAGA,CAAC;EAChBC,SAAS;EACTL,KAAK;EACLM,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,WAAW;EACXC,UAAU,GAAG;IAAEC,OAAO,EAAE;EAAK,CAAC;EAC9BV,YAAY,GAAG,EAAE;EACjB,GAAGW;AACQ,CAAC,KAAK;EACjB,oBACI7B,KAAA,CAAA8B,aAAA,CAAC9B,KAAK,CAAC+B,QAAQ,QACVN,KAAK,iBACFzB,KAAA,CAAA8B,aAAA;IAAKR,SAAS,EAAER;EAAW,gBACvBd,KAAA,CAAA8B,aAAA,CAAC1B,UAAU;IAAC4B,GAAG,EAAE;EAAQ,GAAEP,KAAkB,CAC5C,CACR,eACDzB,KAAA,CAAA8B,aAAA,UAAAG,MAAA,CAAAC,MAAA;IACIZ,SAAS,EAAEpB,UAAU,CAACI,UAAU,EAAEgB,SAAS,CAAE;IAC7CL,KAAK,EAAEF,QAAQ,CAAC;MACZE,KAAK;MACLE,IAAI,EAAEU,KAAK,CAACV,IAAI,IAAI,QAAQ;MAC5BD;IACJ,CAAC,CAAE;IACHM,SAAS,EAAEA,SAAU;IACrBD,QAAQ,EAAEY,EAAE,IAAI;MACZ,IAAI,CAACZ,QAAQ,EAAE;QACX;MACJ;MACAA,QAAQ,CAAC,CAACY,EAAE,CAACC,MAAM,CAACnB,KAAK,IAAI,EAAE,EAAEoB,WAAW,CAAC,CAAC,CAAC;IACnD;EAAE,GACElC,IAAI,CAAC0B,KAAK,EAAE,UAAU,CAAC,CAC9B,CAAC,EACDF,UAAU,CAACC,OAAO,KAAK,KAAK,iBACzB5B,KAAA,CAAA8B,aAAA,CAACzB,kBAAkB;IAACiC,KAAK;EAAA,GAAEX,UAAU,CAACY,OAA4B,CACrE,EACAZ,UAAU,CAACC,OAAO,KAAK,KAAK,IAAIF,WAAW,iBACxC1B,KAAA,CAAA8B,aAAA,CAACzB,kBAAkB,QAAEqB,WAAgC,CAE7C,CAAC;AAEzB,CAAC;AAED,4BAAe1B,KAAK,CAACwC,IAAI,CAACnB,UAAU,CAAC","ignoreList":[]}
@@ -1,7 +1,5 @@
1
+ export { DevToolsSection } from "@webiny/react-properties";
1
2
  export { FileManager } from "../base/ui/FileManager.js";
2
- export { FloatingPanel } from "../components/FloatingPanel.js";
3
- export { StateInspector } from "../components/StateInspector.js";
4
- export { NavigationPrompt } from "../components/NavigationPrompt.js";
5
3
  export * from "../components/AdminLayout.js";
6
4
  export * from "../components/Buttons/index.js";
7
5
  export { DialogsProvider } from "../components/Dialogs/DialogsContext.js";
@@ -17,7 +15,6 @@ export type { RichTextValueWithHtml } from "../components/LexicalEditor/index.js
17
15
  export { LexicalLinkForm } from "../components/LexicalEditor/index.js";
18
16
  export { Wcp } from "../components/Wcp.js";
19
17
  export * from "../components/IconPicker/index.js";
20
- export * from "../components/NavigationPrompt.js";
21
18
  export * from "../components/SplitView/index.js";
22
19
  export * from "../components/Permissions/index.js";
23
20
  export * from "../components/SearchUI.js";
@@ -1,7 +1,5 @@
1
+ export { DevToolsSection } from "@webiny/react-properties";
1
2
  export { FileManager } from "../base/ui/FileManager.js";
2
- export { FloatingPanel } from "./FloatingPanel.js";
3
- export { StateInspector } from "./StateInspector.js";
4
- export { NavigationPrompt } from "./NavigationPrompt.js";
5
3
  export * from "./AdminLayout.js";
6
4
  export * from "./Buttons/index.js";
7
5
  export { DialogsProvider } from "./Dialogs/DialogsContext.js";
@@ -16,7 +14,6 @@ export { LexicalEditor } from "./LexicalEditor/index.js";
16
14
  export { LexicalLinkForm } from "./LexicalEditor/index.js";
17
15
  export { Wcp } from "./Wcp.js";
18
16
  export * from "./IconPicker/index.js";
19
- export * from "./NavigationPrompt.js";
20
17
  export * from "./SplitView/index.js";
21
18
  export * from "./Permissions/index.js";
22
19
  export * from "./SearchUI.js";
@@ -1 +1 @@
1
- {"version":3,"names":["FileManager","FloatingPanel","StateInspector","NavigationPrompt","DialogsProvider","OverlayLayout","EmptyView","SimpleFormContent","SimpleForm","SimpleFormFooter","SimpleFormHeader","default","SingleImageUpload","LexicalEditor","LexicalLinkForm","Wcp","RegisterFeature"],"sources":["index.ts"],"sourcesContent":["export { FileManager } from \"~/base/ui/FileManager.js\";\nexport { FloatingPanel } from \"~/components/FloatingPanel.js\";\nexport { StateInspector } from \"~/components/StateInspector.js\";\nexport { NavigationPrompt } from \"~/components/NavigationPrompt.js\";\nexport * from \"~/components/AdminLayout.js\";\nexport * from \"~/components/Buttons/index.js\";\nexport { DialogsProvider } from \"~/components/Dialogs/DialogsContext.js\";\nexport * from \"~/components/OptionsMenu/index.js\";\nexport * from \"~/components/Filters/index.js\";\nexport * from \"~/components/BulkActions/index.js\";\nexport { OverlayLayout, type OverlayLayoutProps } from \"~/components/OverlayLayout/index.js\";\nexport { type EmptyViewProps, EmptyView } from \"~/components/EmptyView.js\";\nexport {\n SimpleFormContent,\n SimpleForm,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"~/components/SimpleForm/index.js\";\nexport {\n default as SingleImageUpload,\n type SingleImageUploadProps\n} from \"~/components/SingleImageUpload.js\";\nexport { LexicalEditor } from \"~/components/LexicalEditor/index.js\";\nexport type { RichTextValueWithHtml } from \"~/components/LexicalEditor/index.js\";\nexport { LexicalLinkForm } from \"~/components/LexicalEditor/index.js\";\nexport { Wcp } from \"~/components/Wcp.js\";\nexport * from \"~/components/IconPicker/index.js\";\nexport * from \"~/components/NavigationPrompt.js\";\nexport * from \"~/components/SplitView/index.js\";\nexport * from \"~/components/Permissions/index.js\";\nexport * from \"~/components/SearchUI.js\";\nexport * from \"~/components/RegisterFeature.js\";\nexport { RegisterFeature } from \"~/components/RegisterFeature.js\";\nexport * from \"~/components/RolesMultiAutocomplete/index.js\";\nexport * from \"~/components/RoleAutocomplete/index.js\";\nexport * from \"~/components/TeamAutocomplete/index.js\";\nexport * from \"~/components/TeamsMultiAutocomplete/index.js\";\nexport * from \"./DeveloperMode/index.js\";\n"],"mappings":"AAAA,SAASA,WAAW;AACpB,SAASC,aAAa;AACtB,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB;AACA;AACA,SAASC,eAAe;AACxB;AACA;AACA;AACA,SAASC,aAAa;AACtB,SAA8BC,SAAS;AACvC,SACIC,iBAAiB,EACjBC,UAAU,EACVC,gBAAgB,EAChBC,gBAAgB;AAEpB,SACIC,OAAO,IAAIC,iBAAiB;AAGhC,SAASC,aAAa;AAEtB,SAASC,eAAe;AACxB,SAASC,GAAG;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAe;AACxB;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["DevToolsSection","FileManager","DialogsProvider","OverlayLayout","EmptyView","SimpleFormContent","SimpleForm","SimpleFormFooter","SimpleFormHeader","default","SingleImageUpload","LexicalEditor","LexicalLinkForm","Wcp","RegisterFeature"],"sources":["index.ts"],"sourcesContent":["export { DevToolsSection } from \"@webiny/react-properties\";\nexport { FileManager } from \"~/base/ui/FileManager.js\";\nexport * from \"~/components/AdminLayout.js\";\nexport * from \"~/components/Buttons/index.js\";\nexport { DialogsProvider } from \"~/components/Dialogs/DialogsContext.js\";\nexport * from \"~/components/OptionsMenu/index.js\";\nexport * from \"~/components/Filters/index.js\";\nexport * from \"~/components/BulkActions/index.js\";\nexport { OverlayLayout, type OverlayLayoutProps } from \"~/components/OverlayLayout/index.js\";\nexport { type EmptyViewProps, EmptyView } from \"~/components/EmptyView.js\";\nexport {\n SimpleFormContent,\n SimpleForm,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"~/components/SimpleForm/index.js\";\nexport {\n default as SingleImageUpload,\n type SingleImageUploadProps\n} from \"~/components/SingleImageUpload.js\";\nexport { LexicalEditor } from \"~/components/LexicalEditor/index.js\";\nexport type { RichTextValueWithHtml } from \"~/components/LexicalEditor/index.js\";\nexport { LexicalLinkForm } from \"~/components/LexicalEditor/index.js\";\nexport { Wcp } from \"~/components/Wcp.js\";\nexport * from \"~/components/IconPicker/index.js\";\nexport * from \"~/components/SplitView/index.js\";\nexport * from \"~/components/Permissions/index.js\";\nexport * from \"~/components/SearchUI.js\";\nexport * from \"~/components/RegisterFeature.js\";\nexport { RegisterFeature } from \"~/components/RegisterFeature.js\";\nexport * from \"~/components/RolesMultiAutocomplete/index.js\";\nexport * from \"~/components/RoleAutocomplete/index.js\";\nexport * from \"~/components/TeamAutocomplete/index.js\";\nexport * from \"~/components/TeamsMultiAutocomplete/index.js\";\nexport * from \"./DeveloperMode/index.js\";\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,WAAW;AACpB;AACA;AACA,SAASC,eAAe;AACxB;AACA;AACA;AACA,SAASC,aAAa;AACtB,SAA8BC,SAAS;AACvC,SACIC,iBAAiB,EACjBC,UAAU,EACVC,gBAAgB,EAChBC,gBAAgB;AAEpB,SACIC,OAAO,IAAIC,iBAAiB;AAGhC,SAASC,aAAa;AAEtB,SAASC,eAAe;AACxB,SAASC,GAAG;AACZ;AACA;AACA;AACA;AACA;AACA,SAASC,eAAe;AACxB;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -1 +1,2 @@
1
+ export { useBuildParams } from "../../presentation/buildParams/useBuildParams.js";
1
2
  export { BuildParam, BuildParams } from "../../features/buildParams/index.js";
@@ -1,3 +1,4 @@
1
+ export { useBuildParams } from "../../presentation/buildParams/useBuildParams.js";
1
2
  export { BuildParam, BuildParams } from "../../features/buildParams/index.js";
2
3
 
3
4
  //# sourceMappingURL=build-params.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BuildParam","BuildParams"],"sources":["build-params.ts"],"sourcesContent":["export { BuildParam, BuildParams } from \"~/features/buildParams/index.js\";\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["useBuildParams","BuildParam","BuildParams"],"sources":["build-params.ts"],"sourcesContent":["export { useBuildParams } from \"~/presentation/buildParams/useBuildParams.js\";\nexport { BuildParam, BuildParams } from \"~/features/buildParams/index.js\";\n"],"mappings":"AAAA,SAASA,cAAc;AACvB,SAASC,UAAU,EAAEC,WAAW","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ export { useHotkeys } from "../../hooks/useHotkeys.js";
1
2
  export { useDialogs } from "../../components/Dialogs/useDialogs.js";
2
3
  export { Logo } from "../../base/ui/Logo.js";
3
4
  export { TenantSelector } from "../../base/ui/TenantSelector.js";
@@ -1,3 +1,4 @@
1
+ export { useHotkeys } from "../../hooks/useHotkeys.js";
1
2
  export { useDialogs } from "../../components/Dialogs/useDialogs.js";
2
3
  export { Logo } from "../../base/ui/Logo.js";
3
4
  export { TenantSelector } from "../../base/ui/TenantSelector.js";
@@ -1 +1 @@
1
- {"version":3,"names":["useDialogs","Logo","TenantSelector","LexicalEditor"],"sources":["ui.ts"],"sourcesContent":["export { useDialogs } from \"~/components/Dialogs/useDialogs.js\";\nexport { Logo } from \"~/base/ui/Logo.js\";\nexport { TenantSelector } from \"~/base/ui/TenantSelector.js\";\nexport { LexicalEditor } from \"~/components/LexicalEditor/LexicalEditor.js\";\n"],"mappings":"AAAA,SAASA,UAAU;AACnB,SAASC,IAAI;AACb,SAASC,cAAc;AACvB,SAASC,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["useHotkeys","useDialogs","Logo","TenantSelector","LexicalEditor"],"sources":["ui.ts"],"sourcesContent":["export { useHotkeys } from \"~/hooks/useHotkeys.js\";\nexport { useDialogs } from \"~/components/Dialogs/useDialogs.js\";\nexport { Logo } from \"~/base/ui/Logo.js\";\nexport { TenantSelector } from \"~/base/ui/TenantSelector.js\";\nexport { LexicalEditor } from \"~/components/LexicalEditor/LexicalEditor.js\";\n"],"mappings":"AAAA,SAASA,UAAU;AACnB,SAASC,UAAU;AACnB,SAASC,IAAI;AACb,SAASC,cAAc;AACvB,SAASC,aAAa","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ export { DevToolsSection } from "../components/index.js";
1
2
  export { createPermissionSchema } from "../permissions/index.js";
2
3
  export { createHasPermission } from "../permissions/index.js";
3
4
  export { createUsePermissions } from "../permissions/index.js";
package/exports/admin.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { DevToolsSection } from "../components/index.js";
1
2
  export { createPermissionSchema } from "../permissions/index.js";
2
3
  export { createHasPermission } from "../permissions/index.js";
3
4
  export { createUsePermissions } from "../permissions/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["createPermissionSchema","createHasPermission","createUsePermissions","RegisterFeature","BuildParam","BuildParams","AdminConfig","Routes"],"sources":["admin.ts"],"sourcesContent":["export { createPermissionSchema } from \"~/permissions/index.js\";\nexport { createHasPermission } from \"~/permissions/index.js\";\nexport { createUsePermissions } from \"~/permissions/index.js\";\nexport { RegisterFeature } from \"~/components/RegisterFeature.js\";\nexport { BuildParam, BuildParams } from \"~/features/buildParams/index.js\";\nexport { AdminConfig } from \"~/config/AdminConfig.js\";\nexport { Routes } from \"~/routes.js\";\n"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB;AAC7B,SAASC,eAAe;AACxB,SAASC,UAAU,EAAEC,WAAW;AAChC,SAASC,WAAW;AACpB,SAASC,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["DevToolsSection","createPermissionSchema","createHasPermission","createUsePermissions","RegisterFeature","BuildParam","BuildParams","AdminConfig","Routes"],"sources":["admin.ts"],"sourcesContent":["export { DevToolsSection } from \"~/components/index.js\";\nexport { createPermissionSchema } from \"~/permissions/index.js\";\nexport { createHasPermission } from \"~/permissions/index.js\";\nexport { createUsePermissions } from \"~/permissions/index.js\";\nexport { RegisterFeature } from \"~/components/RegisterFeature.js\";\nexport { BuildParam, BuildParams } from \"~/features/buildParams/index.js\";\nexport { AdminConfig } from \"~/config/AdminConfig.js\";\nexport { Routes } from \"~/routes.js\";\n"],"mappings":"AAAA,SAASA,eAAe;AACxB,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB;AAC7B,SAASC,eAAe;AACxB,SAASC,UAAU,EAAEC,WAAW;AAChC,SAASC,WAAW;AACpB,SAASC,MAAM","ignoreList":[]}
@@ -1 +1 @@
1
- export declare const BuildParamsFeature: import("@webiny/feature/admin").FeatureDefinition<any, []>;
1
+ export declare const BuildParamsFeature: import("@webiny/feature/admin").FeatureDefinition<import("./abstractions.js").IBuildParams, []>;
@@ -1,9 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/admin";
2
+ import { BuildParams as Abstraction } from "./abstractions.js";
2
3
  import { BuildParams } from "./BuildParams.js";
3
4
  export const BuildParamsFeature = createFeature({
4
5
  name: "BuildParamsFeature",
5
6
  register(container) {
6
7
  container.register(BuildParams);
8
+ },
9
+ resolve(container) {
10
+ return container.resolve(Abstraction);
7
11
  }
8
12
  });
9
13
 
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","BuildParams","BuildParamsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\nimport { BuildParams } from \"./BuildParams.js\";\n\nexport const BuildParamsFeature = createFeature({\n name: \"BuildParamsFeature\",\n register(container: Container) {\n container.register(BuildParams);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AAErD,SAASC,WAAW;AAEpB,OAAO,MAAMC,kBAAkB,GAAGF,aAAa,CAAC;EAC5CG,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACH,WAAW,CAAC;EACnC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createFeature","BuildParams","Abstraction","BuildParamsFeature","name","register","container","resolve"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\nimport { BuildParams as Abstraction } from \"./abstractions.js\";\nimport { BuildParams } from \"./BuildParams.js\";\n\nexport const BuildParamsFeature = createFeature({\n name: \"BuildParamsFeature\",\n register(container: Container) {\n container.register(BuildParams);\n },\n resolve(container) {\n return container.resolve(Abstraction);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AAErD,SAASC,WAAW,IAAIC,WAAW;AACnC,SAASD,WAAW;AAEpB,OAAO,MAAME,kBAAkB,GAAGH,aAAa,CAAC;EAC5CI,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACJ,WAAW,CAAC;EACnC,CAAC;EACDM,OAAOA,CAACD,SAAS,EAAE;IACf,OAAOA,SAAS,CAACC,OAAO,CAACL,WAAW,CAAC;EACzC;AACJ,CAAC,CAAC","ignoreList":[]}
package/hooks/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from "./useModKey.js";
9
9
  export * from "./useIsMounted.js";
10
10
  export * from "./useStateIfMounted.js";
11
11
  export * from "./useToggler.js";
12
+ export * from "./useHotkeys.js";
package/hooks/index.js CHANGED
@@ -9,5 +9,6 @@ export * from "./useModKey.js";
9
9
  export * from "./useIsMounted.js";
10
10
  export * from "./useStateIfMounted.js";
11
11
  export * from "./useToggler.js";
12
+ export * from "./useHotkeys.js";
12
13
 
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useConfirmationDialog.js\";\nexport * from \"./useDialog.js\";\nexport * from \"../components/Dialogs/useDialogs.js\";\nexport * from \"./useSnackbar.js\";\nexport * from \"./useKeyHandler.js\";\nexport * from \"./useShiftKey.js\";\nexport * from \"./useStateWithCallback.js\";\nexport * from \"./useModKey.js\";\nexport * from \"./useIsMounted.js\";\nexport * from \"./useStateIfMounted.js\";\nexport * from \"./useToggler.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useConfirmationDialog.js\";\nexport * from \"./useDialog.js\";\nexport * from \"../components/Dialogs/useDialogs.js\";\nexport * from \"./useSnackbar.js\";\nexport * from \"./useKeyHandler.js\";\nexport * from \"./useShiftKey.js\";\nexport * from \"./useStateWithCallback.js\";\nexport * from \"./useModKey.js\";\nexport * from \"./useIsMounted.js\";\nexport * from \"./useStateIfMounted.js\";\nexport * from \"./useToggler.js\";\nexport * from \"./useHotkeys.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ type HookProps = {
2
+ disabled?: boolean;
3
+ zIndex: number;
4
+ keys?: {
5
+ [key: string]: (e: KeyboardEvent) => void;
6
+ };
7
+ };
8
+ export declare function useHotkeys(props: HookProps): void;
9
+ export {};
@@ -0,0 +1,99 @@
1
+ import { useEffect, useRef } from "react";
2
+ import isHotkey from "is-hotkey";
3
+ const state = {
4
+ listenerAttached: false,
5
+ zIndex: null,
6
+ handlers: {}
7
+ };
8
+ function triggerHotkeys(e) {
9
+ if (state.zIndex === null) {
10
+ return;
11
+ }
12
+ const keys = state.handlers[state.zIndex];
13
+ for (const key in keys) {
14
+ if (isHotkey(key, e)) {
15
+ keys[key](e);
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ function registerZIndex({
21
+ zIndex,
22
+ keys
23
+ }) {
24
+ if (state.zIndex === null || state.zIndex < zIndex) {
25
+ state.zIndex = zIndex;
26
+ }
27
+ if (!state.handlers[zIndex]) {
28
+ state.handlers[zIndex] = {};
29
+ }
30
+ if (!keys || Object.keys(keys).length === 0) {
31
+ return;
32
+ }
33
+ for (const key in keys) {
34
+ if (key in state.handlers[zIndex]) {
35
+ throw Error(`Shortcut "${key}" already registered on zIndex ${zIndex}.`);
36
+ }
37
+ state.handlers[zIndex][key] = keys[key];
38
+ }
39
+ if (!state.listenerAttached) {
40
+ document.body.addEventListener("keydown", triggerHotkeys);
41
+ state.listenerAttached = true;
42
+ }
43
+ }
44
+ function unregisterZIndex({
45
+ zIndex,
46
+ keys
47
+ }) {
48
+ if (state.handlers && state.handlers[zIndex]) {
49
+ for (const key in keys) {
50
+ delete state.handlers[zIndex][key];
51
+ }
52
+ if (Object.keys(state.handlers[zIndex]).length === 0) {
53
+ delete state.handlers[zIndex];
54
+ }
55
+ }
56
+ if (Object.keys(state.handlers).length > 0) {
57
+ state.zIndex = Math.max(...Object.keys(state.handlers).map(Number));
58
+ } else {
59
+ state.zIndex = null;
60
+ if (state.listenerAttached) {
61
+ document.body.removeEventListener("keydown", triggerHotkeys);
62
+ state.listenerAttached = false;
63
+ }
64
+ }
65
+ }
66
+ export function useHotkeys(props) {
67
+ const {
68
+ disabled,
69
+ zIndex,
70
+ keys
71
+ } = props;
72
+ const prevPropsRef = useRef();
73
+ const firstRenderRef = useRef(true);
74
+ useEffect(function () {
75
+ if (firstRenderRef.current || prevPropsRef.current?.disabled !== disabled) {
76
+ firstRenderRef.current = false;
77
+ if (disabled) {
78
+ unregisterZIndex(props);
79
+ } else {
80
+ registerZIndex(props);
81
+ }
82
+ }
83
+ if (!disabled && typeof keys === "object") {
84
+ Object.assign(state.handlers[zIndex], keys);
85
+ }
86
+ prevPropsRef.current = {
87
+ ...props
88
+ };
89
+ });
90
+ useEffect(function () {
91
+ return function () {
92
+ if (!disabled) {
93
+ unregisterZIndex(props);
94
+ }
95
+ };
96
+ }, []);
97
+ }
98
+
99
+ //# sourceMappingURL=useHotkeys.js.map