@payloadcms/ui 3.0.0-beta.90 → 3.0.0-beta.92

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 (67) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +1 -1
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.scss +14 -4
  5. package/dist/elements/AppHeader/index.js +41 -80
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/Autosave/index.js +148 -231
  8. package/dist/elements/Autosave/index.js.map +1 -1
  9. package/dist/elements/Button/index.js +86 -218
  10. package/dist/elements/Button/index.js.map +1 -1
  11. package/dist/elements/Collapsible/index.js +44 -62
  12. package/dist/elements/Collapsible/index.js.map +1 -1
  13. package/dist/elements/Collapsible/index.scss +15 -28
  14. package/dist/elements/CopyToClipboard/index.js +20 -54
  15. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  16. package/dist/elements/Dropzone/index.js +59 -119
  17. package/dist/elements/Dropzone/index.js.map +1 -1
  18. package/dist/elements/EditMany/index.js +124 -230
  19. package/dist/elements/EditMany/index.js.map +1 -1
  20. package/dist/elements/EditUpload/index.js +133 -206
  21. package/dist/elements/EditUpload/index.js.map +1 -1
  22. package/dist/elements/ListControls/index.js +82 -188
  23. package/dist/elements/ListControls/index.js.map +1 -1
  24. package/dist/elements/Nav/context.js +47 -83
  25. package/dist/elements/Nav/context.js.map +1 -1
  26. package/dist/elements/SaveButton/index.js +30 -81
  27. package/dist/elements/SaveButton/index.js.map +1 -1
  28. package/dist/elements/SaveDraftButton/index.js +54 -116
  29. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  30. package/dist/elements/SearchFilter/index.js +21 -77
  31. package/dist/elements/SearchFilter/index.js.map +1 -1
  32. package/dist/elements/Upload/index.js +130 -280
  33. package/dist/elements/Upload/index.js.map +1 -1
  34. package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-MTP455NO.js} +2 -2
  35. package/dist/exports/client/chunk-NJHSEGFB.js +14 -0
  36. package/dist/exports/client/{chunk-UGBVRIVY.js.map → chunk-NJHSEGFB.js.map} +2 -2
  37. package/dist/exports/client/index.d.ts +1 -1
  38. package/dist/exports/client/index.d.ts.map +1 -1
  39. package/dist/exports/client/index.js +19 -19
  40. package/dist/exports/client/index.js.map +3 -3
  41. package/dist/fields/Relationship/index.js +318 -504
  42. package/dist/fields/Relationship/index.js.map +1 -1
  43. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  44. package/dist/fields/Upload/HasMany/index.js +192 -422
  45. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  46. package/dist/fields/Upload/HasMany/index.scss +19 -1
  47. package/dist/forms/Submit/index.js +12 -28
  48. package/dist/forms/Submit/index.js.map +1 -1
  49. package/dist/hooks/useDelay.js +15 -48
  50. package/dist/hooks/useDelay.js.map +1 -1
  51. package/dist/hooks/useDelayedRender.js +32 -71
  52. package/dist/hooks/useDelayedRender.js.map +1 -1
  53. package/dist/hooks/useIntersect.js +14 -20
  54. package/dist/hooks/useIntersect.js.map +1 -1
  55. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  56. package/dist/providers/Config/createClientConfig/collections.js +8 -6
  57. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  58. package/dist/providers/Preferences/index.js +1 -3
  59. package/dist/providers/Preferences/index.js.map +1 -1
  60. package/dist/providers/Selection/index.js +102 -190
  61. package/dist/providers/Selection/index.js.map +1 -1
  62. package/dist/scss/app.scss +6 -6
  63. package/dist/scss/type.scss +4 -4
  64. package/dist/styles.css +1 -1
  65. package/package.json +9 -9
  66. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  67. /package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-MTP455NO.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAIzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkM1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAIzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoM1C,CAAA"}
@@ -202,7 +202,7 @@ export const AddNewRelation = t0 => {
202
202
  id: `${path}-add-new`,
203
203
  children: [relatedCollections.length === 1 && _jsxs(Fragment, {
204
204
  children: [_jsx(DocumentDrawerToggler, {
205
- className: [`${baseClass}__add-button`, !unstyled && `${baseClass}__add-button--styled`].join(" "),
205
+ className: [`${baseClass}__add-button`, unstyled && `${baseClass}__add-button--unstyled`].filter(Boolean).join(" "),
206
206
  onClick: () => setShowTooltip(false),
207
207
  onMouseEnter: () => setShowTooltip(true),
208
208
  onMouseLeave: () => setShowTooltip(false),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","PopupList","Popup","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","permission","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentInfoContext['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create?.permission)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create?.permission,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n !unstyled && `${baseClass}__add-button--styled`,\n ].join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create.permission) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig &&\n permissions.collections[collectionConfig?.slug]?.create?.permission && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","PopupList","Popup","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","permission","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentInfoContext['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create?.permission)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create?.permission,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create.permission) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig &&\n permissions.collections[collectionConfig?.slug]?.create?.permission && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,13 +10,23 @@
10
10
  height: 100%;
11
11
  }
12
12
 
13
- &__add-button {
13
+ &__add-button:not(.relationship-add-new__add-button--unstyled),
14
+ &__add-button:not(.relationship-add-new__add-button--unstyled).doc-drawer__toggler {
15
+ @include formInput;
16
+ margin: 0;
17
+ border-top-left-radius: 0;
18
+ border-bottom-left-radius: 0;
14
19
  position: relative;
20
+ height: 100%;
21
+ margin-left: -1px;
22
+ display: flex;
23
+ padding: 0 base(0.5);
24
+ align-items: center;
25
+ display: flex;
26
+ cursor: pointer;
15
27
  }
16
28
 
17
- &__add-button--unstyled,
18
- &__add-button--unstyled.doc-drawer__toggler {
19
- @include formInput;
29
+ &__add-button {
20
30
  margin: 0;
21
31
  border-top-left-radius: 0;
22
32
  border-bottom-left-radius: 0;
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import LinkWithDefault from 'next/link.js';
6
5
  import React, { useEffect, useRef, useState } from 'react';
@@ -19,27 +18,22 @@ import { StepNav } from '../StepNav/index.js';
19
18
  import './index.scss';
20
19
  const baseClass = 'app-header';
21
20
  export const AppHeader = () => {
22
- const $ = _c(8);
23
21
  const {
24
22
  t
25
23
  } = useTranslation();
26
24
  const {
27
- config: t0
25
+ config: {
26
+ admin: {
27
+ routes: {
28
+ account: accountRoute
29
+ }
30
+ },
31
+ localization,
32
+ routes: {
33
+ admin: adminRoute
34
+ }
35
+ }
28
36
  } = useConfig();
29
- const {
30
- admin: t1,
31
- localization,
32
- routes: t2
33
- } = t0;
34
- const {
35
- routes: t3
36
- } = t1;
37
- const {
38
- account: accountRoute
39
- } = t3;
40
- const {
41
- admin: adminRoute
42
- } = t2;
43
37
  const {
44
38
  actions
45
39
  } = useActions();
@@ -48,14 +42,6 @@ export const AppHeader = () => {
48
42
  } = useNav();
49
43
  const customControlsRef = useRef(null);
50
44
  const [isScrollable, setIsScrollable] = useState(false);
51
- let t4;
52
- if ($[0] !== actions) {
53
- t4 = [actions];
54
- $[0] = actions;
55
- $[1] = t4;
56
- } else {
57
- t4 = $[1];
58
- }
59
45
  useEffect(() => {
60
46
  const checkIsScrollable = () => {
61
47
  const el = customControlsRef.current;
@@ -65,88 +51,63 @@ export const AppHeader = () => {
65
51
  }
66
52
  };
67
53
  checkIsScrollable();
68
- window.addEventListener("resize", checkIsScrollable);
54
+ window.addEventListener('resize', checkIsScrollable);
69
55
  return () => {
70
- window.removeEventListener("resize", checkIsScrollable);
56
+ window.removeEventListener('resize', checkIsScrollable);
71
57
  };
72
- }, t4);
58
+ }, [actions]);
73
59
  const Link = LinkWithDefault.default;
74
- const LinkElement = Link || "a";
75
- const t5 = navOpen && `${baseClass}--nav-open`;
76
- let t6;
77
- if ($[2] !== t5) {
78
- t6 = [baseClass, t5].filter(Boolean);
79
- $[2] = t5;
80
- $[3] = t6;
81
- } else {
82
- t6 = $[3];
83
- }
84
- let t7;
85
- if ($[4] !== isScrollable) {
86
- t7 = isScrollable && _jsx("div", {
87
- className: `${baseClass}__gradient-placeholder`
88
- });
89
- $[4] = isScrollable;
90
- $[5] = t7;
91
- } else {
92
- t7 = $[5];
93
- }
94
- let t8;
95
- if ($[6] !== localization) {
96
- t8 = localization && _jsx(LocalizerLabel, {
97
- ariaLabel: "invisible",
98
- className: `${baseClass}__localizer-spacing`
99
- });
100
- $[6] = localization;
101
- $[7] = t8;
102
- } else {
103
- t8 = $[7];
104
- }
105
- return _jsxs("header", {
106
- className: t6.join(" "),
107
- children: [_jsx("div", {
60
+ const LinkElement = Link || 'a';
61
+ return /*#__PURE__*/_jsxs("header", {
62
+ className: [baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' '),
63
+ children: [/*#__PURE__*/_jsx("div", {
108
64
  className: `${baseClass}__bg`
109
- }), _jsx("div", {
65
+ }), /*#__PURE__*/_jsx("div", {
110
66
  className: `${baseClass}__content`,
111
- children: _jsxs("div", {
67
+ children: /*#__PURE__*/_jsxs("div", {
112
68
  className: `${baseClass}__wrapper`,
113
- children: [_jsx(NavToggler, {
69
+ children: [/*#__PURE__*/_jsx(NavToggler, {
114
70
  className: `${baseClass}__mobile-nav-toggler`,
115
71
  tabIndex: -1,
116
- children: _jsx(Hamburger, {})
117
- }), _jsxs("div", {
72
+ children: /*#__PURE__*/_jsx(Hamburger, {})
73
+ }), /*#__PURE__*/_jsxs("div", {
118
74
  className: `${baseClass}__controls-wrapper`,
119
- children: [_jsx("div", {
75
+ children: [/*#__PURE__*/_jsx("div", {
120
76
  className: `${baseClass}__step-nav-wrapper`,
121
- children: _jsx(StepNav, {
122
- Link,
77
+ children: /*#__PURE__*/_jsx(StepNav, {
78
+ Link: Link,
123
79
  className: `${baseClass}__step-nav`
124
80
  })
125
- }), _jsxs("div", {
81
+ }), /*#__PURE__*/_jsxs("div", {
126
82
  className: `${baseClass}__actions-wrapper`,
127
- children: [_jsx("div", {
83
+ children: [/*#__PURE__*/_jsx("div", {
128
84
  className: `${baseClass}__actions`,
129
85
  ref: customControlsRef,
130
- children: Array.isArray(actions) && actions.map((Action, i) => _jsx("div", {
131
- className: isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : "",
132
- children: _jsx(RenderComponent, {
86
+ children: Array.isArray(actions) && actions.map((Action, i) => /*#__PURE__*/_jsx("div", {
87
+ className: isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : '',
88
+ children: /*#__PURE__*/_jsx(RenderComponent, {
133
89
  mappedComponent: Action
134
90
  })
135
91
  }, i))
136
- }), t7]
137
- }), t8, _jsx(LinkElement, {
138
- "aria-label": t("authentication:account"),
92
+ }), isScrollable && /*#__PURE__*/_jsx("div", {
93
+ className: `${baseClass}__gradient-placeholder`
94
+ })]
95
+ }), localization && /*#__PURE__*/_jsx(LocalizerLabel, {
96
+ ariaLabel: "invisible",
97
+ className: `${baseClass}__localizer-spacing`
98
+ }), /*#__PURE__*/_jsx(LinkElement, {
99
+ "aria-label": t('authentication:account'),
139
100
  className: `${baseClass}__account`,
140
101
  href: formatAdminURL({
141
102
  adminRoute,
142
103
  path: accountRoute
143
104
  }),
144
105
  tabIndex: 0,
145
- children: _jsx(Account, {})
106
+ children: /*#__PURE__*/_jsx(Account, {})
146
107
  })]
147
108
  })]
148
109
  })
149
- }), _jsx(Localizer, {
110
+ }), /*#__PURE__*/_jsx(Localizer, {
150
111
  className: `${baseClass}__localizer`
151
112
  })]
152
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","RenderComponent","useConfig","useTranslation","formatAdminURL","Hamburger","LocalizerLabel","Localizer","NavToggler","useNav","StepNav","baseClass","AppHeader","$","t","config","t0","admin","t1","localization","routes","t2","t3","account","accountRoute","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","t4","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","t5","t6","filter","Boolean","t7","_jsx","className","t8","ariaLabel","_jsxs","join","children","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","href","path"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav Link={Link} className={`${baseClass}__step-nav`} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","RenderComponent","useConfig","useTranslation","formatAdminURL","Hamburger","LocalizerLabel","Localizer","NavToggler","useNav","StepNav","baseClass","AppHeader","t","config","admin","routes","account","accountRoute","localization","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","ariaLabel","href","path"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav Link={Link} className={`${baseClass}__step-nav`} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}