@payloadcms/ui 4.0.0-canary.24 → 4.0.0-canary.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/Button/index.css +2 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +2 -0
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuL1D,CAAA"}
|
|
@@ -24,6 +24,7 @@ export const DefaultTemplate = ({
|
|
|
24
24
|
searchParams,
|
|
25
25
|
user,
|
|
26
26
|
viewActions,
|
|
27
|
+
viewKey,
|
|
27
28
|
viewType,
|
|
28
29
|
visibleEntities
|
|
29
30
|
}) => {
|
|
@@ -133,6 +134,7 @@ export const DefaultTemplate = ({
|
|
|
133
134
|
modalSlugPrefix: collectionSlug,
|
|
134
135
|
children: /*#__PURE__*/_jsxs(ActionsProvider, {
|
|
135
136
|
Actions: Actions,
|
|
137
|
+
viewKey: viewKey,
|
|
136
138
|
children: [RenderServerComponent({
|
|
137
139
|
clientProps,
|
|
138
140
|
Component: CustomHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","isUserMenuSettingsGroup","React","ActionsProvider","AppHeader","BulkUploadProvider","CommandPalette","EntityVisibilityProvider","DefaultTemplateWrapper","Wrapper","DefaultNav","RenderServerComponent","baseClass","DefaultTemplate","children","className","collectionSlug","docID","documentSubViewType","globalSlug","i18n","locale","params","payload","permissions","req","searchParams","user","viewActions","viewType","visibleEntities","admin","avatar","components","header","CustomHeader","Nav","CustomNav","undefined","config","clientProps","serverProps","server","Actions","action","key","path","Component","importMap","settingsItemGroups","userMenuSettingsItems","Array","isArray","groupedItemsByLabel","Map","groupLabels","ungroupedItems","itemIndex","userMenuSettingsItem","entries","push","groupLabel","group","existingItems","get","renderedItems","items","map","groupedItem","groupedItemIndex","length","set","NavComponent","Fallback","_jsxs","_jsx","modalSlugPrefix","style","position","CustomAvatar","CustomLogoutButton","logout","Button"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type {\n CustomComponent,\n DocumentSubViewTypes,\n PayloadRequest,\n ServerProps,\n ViewTypes,\n VisibleEntities,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isUserMenuSettingsGroup } from 'payload/shared'\n\nimport './index.css'\n\nimport React from 'react'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary */\nimport {\n ActionsProvider,\n AppHeader,\n BulkUploadProvider,\n CommandPalette,\n EntityVisibilityProvider,\n DefaultTemplateWrapper as Wrapper,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport type { UserMenuSettingsGroup } from '../../elements/UserMenu/SettingsMenu/index.js'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n collectionSlug?: string\n docID?: number | string\n documentSubViewType?: DocumentSubViewTypes\n globalSlug?: string\n req?: PayloadRequest\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n visibleEntities: VisibleEntities\n} & Omit<ServerProps, 'server'>\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n collectionSlug,\n docID,\n documentSubViewType,\n globalSlug,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n user,\n viewActions,\n viewType,\n visibleEntities,\n}) => {\n const {\n admin: {\n avatar,\n components,\n components: { header: CustomHeader, Nav: CustomNav } = {\n header: undefined,\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const clientProps = {\n documentSubViewType,\n viewType,\n visibleEntities,\n }\n\n const serverProps: {\n collectionSlug: string\n docID: number | string\n globalSlug: string\n req: PayloadRequest\n } & ServerProps = {\n collectionSlug,\n docID,\n globalSlug,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n server: req?.server,\n user,\n }\n\n const Actions: Record<string, React.ReactNode> = {}\n for (const action of viewActions ?? []) {\n if (!action) {\n continue\n }\n const key = typeof action === 'object' ? action.path : action\n Actions[key] = RenderServerComponent({\n clientProps,\n Component: action,\n importMap: payload.importMap,\n serverProps,\n })\n }\n\n const settingsItemGroups: UserMenuSettingsGroup[] = []\n if (components?.userMenuSettingsItems && Array.isArray(components.userMenuSettingsItems)) {\n const groupedItemsByLabel = new Map<string, React.ReactNode[]>()\n const groupLabels: string[] = []\n const ungroupedItems: React.ReactNode[] = []\n\n for (const [itemIndex, userMenuSettingsItem] of components.userMenuSettingsItems.entries()) {\n // Ungrouped items are collected as orphans rendered at the bottom\n if (!isUserMenuSettingsGroup(userMenuSettingsItem)) {\n ungroupedItems.push(\n RenderServerComponent({\n clientProps,\n Component: userMenuSettingsItem,\n importMap: payload.importMap,\n key: `user-menu-settings-ungrouped-${itemIndex}`,\n serverProps,\n }),\n )\n\n continue\n }\n\n const groupLabel = getTranslation(userMenuSettingsItem.group, i18n)\n const existingItems = groupedItemsByLabel.get(groupLabel)\n const renderedItems = userMenuSettingsItem.items.map((groupedItem, groupedItemIndex) =>\n RenderServerComponent({\n clientProps,\n Component: groupedItem,\n importMap: payload.importMap,\n key: `user-menu-settings-group-${groupLabel}-${itemIndex}-${groupedItemIndex}`,\n serverProps,\n }),\n )\n\n if (existingItems) {\n existingItems.push(...renderedItems)\n } else if (renderedItems.length > 0) {\n groupedItemsByLabel.set(groupLabel, renderedItems)\n groupLabels.push(groupLabel)\n }\n }\n\n for (const groupLabel of groupLabels) {\n const items = groupedItemsByLabel.get(groupLabel)\n if (items?.length) {\n settingsItemGroups.push({\n group: groupLabel,\n items,\n })\n }\n }\n\n if (ungroupedItems.length > 0) {\n settingsItemGroups.push({\n items: ungroupedItems,\n })\n }\n }\n\n const NavComponent = RenderServerComponent({\n clientProps,\n Component: CustomNav,\n Fallback: DefaultNav,\n importMap: payload.importMap,\n serverProps,\n })\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <CommandPalette />\n <BulkUploadProvider modalSlugPrefix={collectionSlug}>\n <ActionsProvider Actions={Actions}>\n {RenderServerComponent({\n clientProps,\n Component: CustomHeader,\n importMap: payload.importMap,\n serverProps,\n })}\n <div style={{ position: 'relative' }}>\n <Wrapper baseClass={baseClass} className={className}>\n {NavComponent}\n <div className={`${baseClass}__wrap`}>\n <AppHeader\n CustomAvatar={\n avatar !== 'gravatar' && avatar !== 'default'\n ? RenderServerComponent({\n Component: avatar.Component,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n CustomLogoutButton={\n components?.logout?.Button\n ? RenderServerComponent({\n clientProps,\n Component: components.logout.Button,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n settingsItemGroups={settingsItemGroups}\n />\n {children}\n </div>\n </Wrapper>\n </div>\n </ActionsProvider>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","isUserMenuSettingsGroup","React","ActionsProvider","AppHeader","BulkUploadProvider","CommandPalette","EntityVisibilityProvider","DefaultTemplateWrapper","Wrapper","DefaultNav","RenderServerComponent","baseClass","DefaultTemplate","children","className","collectionSlug","docID","documentSubViewType","globalSlug","i18n","locale","params","payload","permissions","req","searchParams","user","viewActions","viewKey","viewType","visibleEntities","admin","avatar","components","header","CustomHeader","Nav","CustomNav","undefined","config","clientProps","serverProps","server","Actions","action","key","path","Component","importMap","settingsItemGroups","userMenuSettingsItems","Array","isArray","groupedItemsByLabel","Map","groupLabels","ungroupedItems","itemIndex","userMenuSettingsItem","entries","push","groupLabel","group","existingItems","get","renderedItems","items","map","groupedItem","groupedItemIndex","length","set","NavComponent","Fallback","_jsxs","_jsx","modalSlugPrefix","style","position","CustomAvatar","CustomLogoutButton","logout","Button"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type {\n CustomComponent,\n DocumentSubViewTypes,\n PayloadRequest,\n ServerProps,\n ViewTypes,\n VisibleEntities,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isUserMenuSettingsGroup } from 'payload/shared'\n\nimport './index.css'\n\nimport React from 'react'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary */\nimport {\n ActionsProvider,\n AppHeader,\n BulkUploadProvider,\n CommandPalette,\n EntityVisibilityProvider,\n DefaultTemplateWrapper as Wrapper,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport type { UserMenuSettingsGroup } from '../../elements/UserMenu/SettingsMenu/index.js'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n collectionSlug?: string\n docID?: number | string\n documentSubViewType?: DocumentSubViewTypes\n globalSlug?: string\n req?: PayloadRequest\n viewActions?: CustomComponent[]\n viewKey?: string\n viewType?: ViewTypes\n visibleEntities: VisibleEntities\n} & Omit<ServerProps, 'server'>\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n collectionSlug,\n docID,\n documentSubViewType,\n globalSlug,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n user,\n viewActions,\n viewKey,\n viewType,\n visibleEntities,\n}) => {\n const {\n admin: {\n avatar,\n components,\n components: { header: CustomHeader, Nav: CustomNav } = {\n header: undefined,\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const clientProps = {\n documentSubViewType,\n viewType,\n visibleEntities,\n }\n\n const serverProps: {\n collectionSlug: string\n docID: number | string\n globalSlug: string\n req: PayloadRequest\n } & ServerProps = {\n collectionSlug,\n docID,\n globalSlug,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n server: req?.server,\n user,\n }\n\n const Actions: Record<string, React.ReactNode> = {}\n for (const action of viewActions ?? []) {\n if (!action) {\n continue\n }\n const key = typeof action === 'object' ? action.path : action\n Actions[key] = RenderServerComponent({\n clientProps,\n Component: action,\n importMap: payload.importMap,\n serverProps,\n })\n }\n\n const settingsItemGroups: UserMenuSettingsGroup[] = []\n if (components?.userMenuSettingsItems && Array.isArray(components.userMenuSettingsItems)) {\n const groupedItemsByLabel = new Map<string, React.ReactNode[]>()\n const groupLabels: string[] = []\n const ungroupedItems: React.ReactNode[] = []\n\n for (const [itemIndex, userMenuSettingsItem] of components.userMenuSettingsItems.entries()) {\n // Ungrouped items are collected as orphans rendered at the bottom\n if (!isUserMenuSettingsGroup(userMenuSettingsItem)) {\n ungroupedItems.push(\n RenderServerComponent({\n clientProps,\n Component: userMenuSettingsItem,\n importMap: payload.importMap,\n key: `user-menu-settings-ungrouped-${itemIndex}`,\n serverProps,\n }),\n )\n\n continue\n }\n\n const groupLabel = getTranslation(userMenuSettingsItem.group, i18n)\n const existingItems = groupedItemsByLabel.get(groupLabel)\n const renderedItems = userMenuSettingsItem.items.map((groupedItem, groupedItemIndex) =>\n RenderServerComponent({\n clientProps,\n Component: groupedItem,\n importMap: payload.importMap,\n key: `user-menu-settings-group-${groupLabel}-${itemIndex}-${groupedItemIndex}`,\n serverProps,\n }),\n )\n\n if (existingItems) {\n existingItems.push(...renderedItems)\n } else if (renderedItems.length > 0) {\n groupedItemsByLabel.set(groupLabel, renderedItems)\n groupLabels.push(groupLabel)\n }\n }\n\n for (const groupLabel of groupLabels) {\n const items = groupedItemsByLabel.get(groupLabel)\n if (items?.length) {\n settingsItemGroups.push({\n group: groupLabel,\n items,\n })\n }\n }\n\n if (ungroupedItems.length > 0) {\n settingsItemGroups.push({\n items: ungroupedItems,\n })\n }\n }\n\n const NavComponent = RenderServerComponent({\n clientProps,\n Component: CustomNav,\n Fallback: DefaultNav,\n importMap: payload.importMap,\n serverProps,\n })\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <CommandPalette />\n <BulkUploadProvider modalSlugPrefix={collectionSlug}>\n <ActionsProvider Actions={Actions} viewKey={viewKey}>\n {RenderServerComponent({\n clientProps,\n Component: CustomHeader,\n importMap: payload.importMap,\n serverProps,\n })}\n <div style={{ position: 'relative' }}>\n <Wrapper baseClass={baseClass} className={className}>\n {NavComponent}\n <div className={`${baseClass}__wrap`}>\n <AppHeader\n CustomAvatar={\n avatar !== 'gravatar' && avatar !== 'default'\n ? RenderServerComponent({\n Component: avatar.Component,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n CustomLogoutButton={\n components?.logout?.Button\n ? RenderServerComponent({\n clientProps,\n Component: components.logout.Button,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n settingsItemGroups={settingsItemGroups}\n />\n {children}\n </div>\n </Wrapper>\n </div>\n </ActionsProvider>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":";AASA,SAASA,cAAc,QAAQ;AAC/B,SAASC,uBAAuB,QAAQ;AAExC,OAAO;AAEP,OAAOC,KAAA,MAAW;AAElB;AACA,SACEC,eAAe,EACfC,SAAS,EACTC,kBAAkB,EAClBC,cAAc,EACdC,wBAAwB,EACxBC,sBAAA,IAA0BC,OAAO,QAC5B;AAIP,SAASC,UAAU,QAAQ;AAC3B,SAASC,qBAAqB,QAAQ;AAEtC,MAAMC,SAAA,GAAY;AAgBlB,OAAO,MAAMC,eAAA,GAAkDA,CAAC;EAC9DC,QAAQ;EACRC,SAAS;EACTC,cAAc;EACdC,KAAK;EACLC,mBAAmB;EACnBC,UAAU;EACVC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,WAAW;EACXC,GAAG;EACHC,YAAY;EACZC,IAAI;EACJC,WAAW;EACXC,OAAO;EACPC,QAAQ;EACRC;AAAe,CAChB;EACC,MAAM;IACJC,KAAA,EAAO;MACLC,MAAM;MACNC,UAAU;MACVA,UAAA,EAAY;QAAEC,MAAA,EAAQC,YAAY;QAAEC,GAAA,EAAKC;MAAS,CAAE,GAAG;QACrDH,MAAA,EAAQI,SAAA;QACRF,GAAA,EAAKE;MACP;IAAC,CACF,GAAG,CAAC;EAAC,CACP,GAAGhB,OAAA,CAAQiB,MAAM,IAAI,CAAC;EAEvB,MAAMC,WAAA,GAAc;IAClBvB,mBAAA;IACAY,QAAA;IACAC;EACF;EAEA,MAAMW,WAAA,GAKY;IAChB1B,cAAA;IACAC,KAAA;IACAE,UAAA;IACAC,IAAA;IACAC,MAAA;IACAC,MAAA;IACAC,OAAA;IACAC,WAAA;IACAC,GAAA;IACAC,YAAA;IACAiB,MAAA,EAAQlB,GAAA,EAAKkB,MAAA;IACbhB;EACF;EAEA,MAAMiB,OAAA,GAA2C,CAAC;EAClD,KAAK,MAAMC,MAAA,IAAUjB,WAAA,IAAe,EAAE,EAAE;IACtC,IAAI,CAACiB,MAAA,EAAQ;MACX;IACF;IACA,MAAMC,GAAA,GAAM,OAAOD,MAAA,KAAW,WAAWA,MAAA,CAAOE,IAAI,GAAGF,MAAA;IACvDD,OAAO,CAACE,GAAA,CAAI,GAAGnC,qBAAA,CAAsB;MACnC8B,WAAA;MACAO,SAAA,EAAWH,MAAA;MACXI,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;MAC5BP;IACF;EACF;EAEA,MAAMQ,kBAAA,GAA8C,EAAE;EACtD,IAAIhB,UAAA,EAAYiB,qBAAA,IAAyBC,KAAA,CAAMC,OAAO,CAACnB,UAAA,CAAWiB,qBAAqB,GAAG;IACxF,MAAMG,mBAAA,GAAsB,IAAIC,GAAA;IAChC,MAAMC,WAAA,GAAwB,EAAE;IAChC,MAAMC,cAAA,GAAoC,EAAE;IAE5C,KAAK,MAAM,CAACC,SAAA,EAAWC,oBAAA,CAAqB,IAAIzB,UAAA,CAAWiB,qBAAqB,CAACS,OAAO,IAAI;MAC1F;MACA,IAAI,CAAC3D,uBAAA,CAAwB0D,oBAAA,GAAuB;QAClDF,cAAA,CAAeI,IAAI,CACjBlD,qBAAA,CAAsB;UACpB8B,WAAA;UACAO,SAAA,EAAWW,oBAAA;UACXV,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;UAC5BH,GAAA,EAAK,gCAAgCY,SAAA,EAAW;UAChDhB;QACF;QAGF;MACF;MAEA,MAAMoB,UAAA,GAAa9D,cAAA,CAAe2D,oBAAA,CAAqBI,KAAK,EAAE3C,IAAA;MAC9D,MAAM4C,aAAA,GAAgBV,mBAAA,CAAoBW,GAAG,CAACH,UAAA;MAC9C,MAAMI,aAAA,GAAgBP,oBAAA,CAAqBQ,KAAK,CAACC,GAAG,CAAC,CAACC,WAAA,EAAaC,gBAAA,KACjE3D,qBAAA,CAAsB;QACpB8B,WAAA;QACAO,SAAA,EAAWqB,WAAA;QACXpB,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;QAC5BH,GAAA,EAAK,4BAA4BgB,UAAA,IAAcJ,SAAA,IAAaY,gBAAA,EAAkB;QAC9E5B;MACF;MAGF,IAAIsB,aAAA,EAAe;QACjBA,aAAA,CAAcH,IAAI,IAAIK,aAAA;MACxB,OAAO,IAAIA,aAAA,CAAcK,MAAM,GAAG,GAAG;QACnCjB,mBAAA,CAAoBkB,GAAG,CAACV,UAAA,EAAYI,aAAA;QACpCV,WAAA,CAAYK,IAAI,CAACC,UAAA;MACnB;IACF;IAEA,KAAK,MAAMA,UAAA,IAAcN,WAAA,EAAa;MACpC,MAAMW,KAAA,GAAQb,mBAAA,CAAoBW,GAAG,CAACH,UAAA;MACtC,IAAIK,KAAA,EAAOI,MAAA,EAAQ;QACjBrB,kBAAA,CAAmBW,IAAI,CAAC;UACtBE,KAAA,EAAOD,UAAA;UACPK;QACF;MACF;IACF;IAEA,IAAIV,cAAA,CAAec,MAAM,GAAG,GAAG;MAC7BrB,kBAAA,CAAmBW,IAAI,CAAC;QACtBM,KAAA,EAAOV;MACT;IACF;EACF;EAEA,MAAMgB,YAAA,GAAe9D,qBAAA,CAAsB;IACzC8B,WAAA;IACAO,SAAA,EAAWV,SAAA;IACXoC,QAAA,EAAUhE,UAAA;IACVuC,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;IAC5BP;EACF;EAEA,oBACEiC,KAAA,CAACpE,wBAAA;IAAyBwB,eAAA,EAAiBA,eAAA;4BACzC6C,IAAA,CAACtE,cAAA,O,aACDsE,IAAA,CAACvE,kBAAA;MAAmBwE,eAAA,EAAiB7D,cAAA;gBACnC,aAAA2D,KAAA,CAACxE,eAAA;QAAgByC,OAAA,EAASA,OAAA;QAASf,OAAA,EAASA,OAAA;mBACzClB,qBAAA,CAAsB;UACrB8B,WAAA;UACAO,SAAA,EAAWZ,YAAA;UACXa,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;UAC5BP;QACF,I,aACAkC,IAAA,CAAC;UAAIE,KAAA,EAAO;YAAEC,QAAA,EAAU;UAAW;oBACjC,aAAAJ,KAAA,CAAClE,OAAA;YAAQG,SAAA,EAAWA,SAAA;YAAWG,SAAA,EAAWA,SAAA;uBACvC0D,YAAA,E,aACDE,KAAA,CAAC;cAAI5D,SAAA,EAAW,GAAGH,SAAA,QAAiB;sCAClCgE,IAAA,CAACxE,SAAA;gBACC4E,YAAA,EACE/C,MAAA,KAAW,cAAcA,MAAA,KAAW,YAChCtB,qBAAA,CAAsB;kBACpBqC,SAAA,EAAWf,MAAA,CAAOe,SAAS;kBAC3BC,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;kBAC5BP;gBACF,KACAH,SAAA;gBAEN0C,kBAAA,EACE/C,UAAA,EAAYgD,MAAA,EAAQC,MAAA,GAChBxE,qBAAA,CAAsB;kBACpB8B,WAAA;kBACAO,SAAA,EAAWd,UAAA,CAAWgD,MAAM,CAACC,MAAM;kBACnClC,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;kBAC5BP;gBACF,KACAH,SAAA;gBAENW,kBAAA,EAAoBA;kBAErBpC,QAAA;;;;;;;AAQjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardStepNav.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/DashboardStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAa3C,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,OAAO,GACR,EAAE;IACD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB,+BAoCA;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,+
|
|
1
|
+
{"version":3,"file":"DashboardStepNav.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/DashboardStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAa3C,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,OAAO,GACR,EAAE;IACD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB,+BAoCA;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,+BAoEA"}
|
|
@@ -169,7 +169,7 @@ export function DashboardBreadcrumbDropdown(props) {
|
|
|
169
169
|
if ($[9] !== t) {
|
|
170
170
|
t1 = t2 => {
|
|
171
171
|
const {
|
|
172
|
-
active
|
|
172
|
+
active,
|
|
173
173
|
onClick,
|
|
174
174
|
onKeyDown,
|
|
175
175
|
...ariaProps
|
|
@@ -181,6 +181,7 @@ export function DashboardBreadcrumbDropdown(props) {
|
|
|
181
181
|
onKeyDown
|
|
182
182
|
},
|
|
183
183
|
onClick,
|
|
184
|
+
selected: active,
|
|
184
185
|
...ariaProps,
|
|
185
186
|
children: _jsxs("span", {
|
|
186
187
|
className: "dashboard-breadcrumb-dropdown__label",
|
|
@@ -203,7 +204,7 @@ export function DashboardBreadcrumbDropdown(props) {
|
|
|
203
204
|
horizontalAlign: "left",
|
|
204
205
|
render: t0,
|
|
205
206
|
renderButton: t1,
|
|
206
|
-
size: "
|
|
207
|
+
size: "fit-content"
|
|
207
208
|
});
|
|
208
209
|
$[11] = t0;
|
|
209
210
|
$[12] = t1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardStepNav.js","names":["c","_c","useEffect","useId","Button","DrawerToggler","ItemsDrawer","Popup","PopupList","useStepNav","ChevronIcon","useTranslation","DashboardStepNav","t0","$","addWidget","cancel","isEditing","resetLayout","saveLayout","setIsEditing","widgets","t","setStepNav","uuid","drawerSlug","t1","t2","label","_jsx","DashboardBreadcrumbDropdown","onCancel","onEditClick","onResetLayout","onSaveChanges","widgetsDrawerSlug","t3","_Fragment","children","items","onItemClick","widget","slug","searchPlaceholder","title","props","_jsxs","className","buttonStyle","el","size","onClick","close","ButtonGroup","active","
|
|
1
|
+
{"version":3,"file":"DashboardStepNav.js","names":["c","_c","useEffect","useId","Button","DrawerToggler","ItemsDrawer","Popup","PopupList","useStepNav","ChevronIcon","useTranslation","DashboardStepNav","t0","$","addWidget","cancel","isEditing","resetLayout","saveLayout","setIsEditing","widgets","t","setStepNav","uuid","drawerSlug","t1","t2","label","_jsx","DashboardBreadcrumbDropdown","onCancel","onEditClick","onResetLayout","onSaveChanges","widgetsDrawerSlug","t3","_Fragment","children","items","onItemClick","widget","slug","searchPlaceholder","title","props","_jsxs","className","buttonStyle","el","size","onClick","close","ButtonGroup","active","onKeyDown","ariaProps","extraButtonProps","selected","direction","horizontalAlign","render"],"sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/DashboardStepNav.tsx"],"sourcesContent":["'use client'\nimport type { ClientWidget } from 'payload'\n\nimport { useEffect, useId } from 'react'\n\nimport { Button } from '../../../../elements/Button/index.js'\nimport { DrawerToggler } from '../../../../elements/Drawer/index.js'\nimport { ItemsDrawer } from '../../../../elements/ItemsDrawer/index.js'\nimport { Popup } from '../../../../elements/Popup/index.js'\nimport * as PopupList from '../../../../elements/Popup/PopupButtonList/index.js'\nimport { useStepNav } from '../../../../elements/StepNav/index.js'\nimport { ChevronIcon } from '../../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\n\nexport function DashboardStepNav({\n addWidget,\n cancel,\n isEditing,\n resetLayout,\n saveLayout,\n setIsEditing,\n widgets,\n}: {\n addWidget: (slug: string) => void\n cancel: () => void\n isEditing: boolean\n resetLayout: () => Promise<void>\n saveLayout: () => Promise<void>\n setIsEditing: (isEditing: boolean) => void\n widgets: ClientWidget[]\n}) {\n const { t } = useTranslation()\n const { setStepNav } = useStepNav()\n const uuid = useId()\n const drawerSlug = `widgets-drawer-${uuid}`\n\n useEffect(() => {\n setStepNav([\n {\n label: (\n <DashboardBreadcrumbDropdown\n isEditing={isEditing}\n onCancel={cancel}\n onEditClick={() => setIsEditing(true)}\n onResetLayout={resetLayout}\n onSaveChanges={saveLayout}\n widgetsDrawerSlug={drawerSlug}\n />\n ),\n },\n ])\n }, [isEditing, drawerSlug, cancel, resetLayout, saveLayout, setIsEditing, setStepNav])\n\n return (\n <>\n {isEditing && (\n <ItemsDrawer\n drawerSlug={drawerSlug}\n items={widgets}\n onItemClick={(widget) => addWidget(widget.slug)}\n searchPlaceholder={t('dashboard:searchWidgets')}\n title={t('dashboard:addWidget')}\n />\n )}\n </>\n )\n}\n\nexport function DashboardBreadcrumbDropdown(props: {\n isEditing: boolean\n onCancel: () => void\n onEditClick: () => void\n onResetLayout: () => void\n onSaveChanges: () => void\n widgetsDrawerSlug: string\n}) {\n const { isEditing, onCancel, onEditClick, onResetLayout, onSaveChanges, widgetsDrawerSlug } =\n props\n const { t } = useTranslation()\n\n if (isEditing) {\n return (\n <div className=\"dashboard-breadcrumb-dropdown__editing\">\n <span>{t('dashboard:editingDashboard')}</span>\n <div className=\"dashboard-breadcrumb-dropdown__actions\">\n <DrawerToggler className=\"drawer-toggler--unstyled\" slug={widgetsDrawerSlug}>\n <Button buttonStyle=\"primary\" el=\"span\" size=\"medium\">\n {t('dashboard:addButton')}\n </Button>\n </DrawerToggler>\n <Button buttonStyle=\"pill\" onClick={onSaveChanges} size=\"medium\">\n {t('fields:saveChanges')}\n </Button>\n <Button buttonStyle=\"pill\" onClick={onCancel} size=\"medium\">\n {t('general:cancel')}\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <Popup\n className=\"dashboard-breadcrumb-dropdown\"\n horizontalAlign=\"left\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n <PopupList.Button\n onClick={() => {\n close()\n onEditClick()\n }}\n >\n {t('dashboard:editDashboard')}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n close()\n onResetLayout()\n }}\n >\n {t('dashboard:resetLayout')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:dashboard')}\n buttonStyle=\"ghost\"\n extraButtonProps={{ onKeyDown }}\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <span className=\"dashboard-breadcrumb-dropdown__label\">\n {t('general:dashboard')}\n <ChevronIcon direction=\"down\" size={16} />\n </span>\n </Button>\n )}\n size=\"fit-content\"\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetEditControl.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetEditControl.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAgB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"WidgetEditControl.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetEditControl.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAgB,MAAM,OAAO,CAAA;AAYpC,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,UAAU,EACV,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;CACjB,qBAoCA"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
5
|
import React, { useId } from 'react';
|
|
6
|
+
import { Button } from '../../../../elements/Button/index.js';
|
|
6
7
|
import { useModal } from '../../../../elements/Modal/index.js';
|
|
7
8
|
import { EditIcon } from '../../../../icons/Edit/index.js';
|
|
8
9
|
import { useConfig } from '../../../../providers/Config/index.js';
|
|
@@ -62,14 +63,13 @@ export function WidgetEditControl(t0) {
|
|
|
62
63
|
t4 = $[6];
|
|
63
64
|
}
|
|
64
65
|
return _jsxs(_Fragment, {
|
|
65
|
-
children: [
|
|
66
|
+
children: [_jsx(Button, {
|
|
67
|
+
"aria-label": `${t("general:edit")} ${widgetID}`,
|
|
68
|
+
buttonStyle: "secondary",
|
|
66
69
|
className: "widget-wrapper__edit-btn",
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
className: "sr-only",
|
|
71
|
-
children: [t("general:edit"), " ", widgetID]
|
|
72
|
-
}), _jsx(EditIcon, {})]
|
|
70
|
+
icon: _jsx(EditIcon, {}),
|
|
71
|
+
margin: false,
|
|
72
|
+
onClick: t4
|
|
73
73
|
}), _jsx(WidgetConfigDrawer, {
|
|
74
74
|
drawerSlug,
|
|
75
75
|
onSave,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetEditControl.js","names":["c","_c","React","useId","useModal","EditIcon","useConfig","useTranslation","WidgetConfigDrawer","getWidgetSlugFromID","widgetID","slice","lastIndexOf","WidgetEditControl","t0","$","onSave","widgetData","t","openModal","widgets","t1","config","admin","dashboard","configWidgets","undefined","t2","widgetSlug","t3","widget","slug","widgetConfig","find","hasEditableFields","Boolean","fields","length","drawerID","drawerSlug","t4","_jsxs","_Fragment","children","className","
|
|
1
|
+
{"version":3,"file":"WidgetEditControl.js","names":["c","_c","React","useId","Button","useModal","EditIcon","useConfig","useTranslation","WidgetConfigDrawer","getWidgetSlugFromID","widgetID","slice","lastIndexOf","WidgetEditControl","t0","$","onSave","widgetData","t","openModal","widgets","t1","config","admin","dashboard","configWidgets","undefined","t2","widgetSlug","t3","widget","slug","widgetConfig","find","hasEditableFields","Boolean","fields","length","drawerID","drawerSlug","t4","_jsxs","_Fragment","children","_jsx","buttonStyle","className","icon","margin","onClick"],"sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetEditControl.tsx"],"sourcesContent":["'use client'\n\nimport type { Data } from 'payload'\n\nimport React, { useId } from 'react'\n\nimport { Button } from '../../../../elements/Button/index.js'\nimport { useModal } from '../../../../elements/Modal/index.js'\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { WidgetConfigDrawer } from './WidgetConfigDrawer.js'\n\nconst getWidgetSlugFromID = (widgetID: string): string =>\n widgetID.slice(0, widgetID.lastIndexOf('-'))\n\nexport function WidgetEditControl({\n onSave,\n widgetData,\n widgetID,\n}: {\n onSave: (data: Data) => void\n widgetData?: Record<string, unknown>\n widgetID: string\n}) {\n const { t } = useTranslation()\n const { openModal } = useModal()\n const { widgets: configWidgets = [] } = useConfig().config.admin.dashboard ?? {}\n\n const widgetSlug = getWidgetSlugFromID(widgetID)\n const widgetConfig = configWidgets.find((widget) => widget.slug === widgetSlug)\n const hasEditableFields = Boolean(widgetConfig?.fields?.length)\n\n const drawerID = useId()\n const drawerSlug = `widget-editor-${drawerID}`\n\n if (!hasEditableFields) {\n return null\n }\n\n return (\n <>\n <Button\n aria-label={`${t('general:edit')} ${widgetID}`}\n buttonStyle=\"secondary\"\n className=\"widget-wrapper__edit-btn\"\n icon={<EditIcon />}\n margin={false}\n onClick={() => {\n openModal(drawerSlug)\n }}\n />\n <WidgetConfigDrawer\n drawerSlug={drawerSlug}\n onSave={onSave}\n widget={widgetConfig}\n widgetData={widgetData}\n />\n </>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,IAASC,KAAK,QAAQ;AAE7B,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AAEnC,MAAMC,mBAAA,GAAuBC,QAAA,IAC3BA,QAAA,CAASC,KAAK,CAAC,GAAGD,QAAA,CAASE,WAAW,CAAC;AAEzC,OAAO,SAAAC,kBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAA2B;IAAAgB,MAAA;IAAAC,UAAA;IAAAP;EAAA,IAAAI,EAQjC;EACC;IAAAI;EAAA,IAAcX,cAAA;EACd;IAAAY;EAAA,IAAsBf,QAAA;EACtB;IAAAgB,OAAA,EAAAC;EAAA,IAAwCf,SAAA,GAAAgB,MAAA,CAAAC,KAAA,CAAAC,SAAA,MAAuC;EAA9D,MAAAC,aAAA,GAAAJ,EAAkB,KAAAK,SAAA,QAAlBL,EAAkB;EAAA,IAAAM,EAAA;EAAA,IAAAZ,CAAA,QAAAL,QAAA;IAEhBiB,EAAA,GAAAlB,mBAAA,CAAoBC,QAAA;IAAAK,CAAA,MAAAL,QAAA;IAAAK,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAAvC,MAAAa,UAAA,GAAmBD,EAAoB;EAAA,IAAAE,EAAA;EAAA,IAAAd,CAAA,QAAAa,UAAA;IACCC,EAAA,GAAAC,MAAA,IAAYA,MAAA,CAAAC,IAAA,KAAgBH,UAAA;IAAAb,CAAA,MAAAa,UAAA;IAAAb,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAApE,MAAAiB,YAAA,GAAqBP,aAAA,CAAAQ,IAAA,CAAmBJ,EAA4B;EACpE,MAAAK,iBAAA,GAA0BC,OAAA,CAAQH,YAAA,EAAAI,MAAA,EAAAC,MAAsB;EAExD,MAAAC,QAAA,GAAiBpC,KAAA;EACjB,MAAAqC,UAAA,GAAmB,iBAAiBD,QAAA,EAAU;EAAA,KAEzCJ,iBAAA;IAAA;EAAA;EAAA,IAAAM,EAAA;EAAA,IAAAzB,CAAA,QAAAwB,UAAA,IAAAxB,CAAA,QAAAI,SAAA;IAYUqB,EAAA,GAAAA,CAAA;MACPrB,SAAA,CAAUoB,UAAA;IAAA;IACZxB,CAAA,MAAAwB,UAAA;IAAAxB,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EAAA,OATJ0B,KAAA,CAAAC,SAAA;IAAAC,QAAA,GACEC,IAAA,CAAAzC,MAAA;MAAA,cACc,GAAGe,CAAA,CAAE,mBAAmBR,QAAA,EAAU;MAAAmC,WAAA,EAClC;MAAAC,SAAA,EACF;MAAAC,IAAA,EACJH,IAAA,CAAAvC,QAAA,IAAC;MAAA2C,MAAA;MAAAC,OAAA,EAEET;IAET,C,GAEFI,IAAA,CAAApC,kBAAA;MAAA+B,UAAA;MAAAvB,MAAA;MAAAc,MAAA,EAGUE,YAAA;MAAAf;IAAA,C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAuC,MAAM,OAAO,CAAA;AA6B3D,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC5B,MAAM,EAAE,oBAAoB,CAAA;CAC7B,GAAG,IAAI,CAAA;AAYR,wBAAgB,sBAAsB,CAAC,EACrC,YAAY,EAAE,aAAa,EAC3B,OAAO,GACR,EAAE;IACD,YAAY,EAAE,oBAAoB,EAAE,CAAA;IACpC,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB,qBAiMA"}
|
|
@@ -4,11 +4,11 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { DndContext, DragOverlay, useDraggable, useDroppable } from '@dnd-kit/core';
|
|
6
6
|
import { snapCenterToCursor } from '@dnd-kit/modifiers';
|
|
7
|
-
import React, { useMemo, useState } from 'react';
|
|
7
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
8
|
+
import { Button } from '../../../../elements/Button/index.js';
|
|
8
9
|
import { Popup } from '../../../../elements/Popup/index.js';
|
|
9
10
|
import * as PopupList from '../../../../elements/Popup/PopupButtonList/index.js';
|
|
10
11
|
import { ChevronIcon } from '../../../../icons/Chevron/index.js';
|
|
11
|
-
import { XIcon } from '../../../../icons/X/index.js';
|
|
12
12
|
import { useTranslation } from '../../../../providers/Translation/index.js';
|
|
13
13
|
import { DashboardStepNav } from './DashboardStepNav.js';
|
|
14
14
|
import { useDashboardLayout } from './useDashboardLayout.js';
|
|
@@ -40,7 +40,7 @@ const WIDTH_TO_PERCENTAGE = {
|
|
|
40
40
|
full: 100
|
|
41
41
|
};
|
|
42
42
|
export function ModularDashboardClient(t0) {
|
|
43
|
-
const $ = _c(
|
|
43
|
+
const $ = _c(26);
|
|
44
44
|
const {
|
|
45
45
|
clientLayout: initialLayout,
|
|
46
46
|
widgets
|
|
@@ -63,21 +63,39 @@ export function ModularDashboardClient(t0) {
|
|
|
63
63
|
updateWidgetData
|
|
64
64
|
} = useDashboardLayout(initialLayout);
|
|
65
65
|
const [activeDragId, setActiveDragId] = useState(null);
|
|
66
|
+
const [activeControlsWidgetID, setActiveControlsWidgetID] = useState(null);
|
|
66
67
|
const sensors = useDashboardSensors();
|
|
67
68
|
let t1;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
let t2;
|
|
70
|
+
if ($[0] !== isEditing) {
|
|
71
|
+
t1 = () => {
|
|
72
|
+
if (!isEditing) {
|
|
73
|
+
setActiveControlsWidgetID(null);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
t2 = [isEditing];
|
|
77
|
+
$[0] = isEditing;
|
|
78
|
+
$[1] = t1;
|
|
79
|
+
$[2] = t2;
|
|
80
|
+
} else {
|
|
81
|
+
t1 = $[1];
|
|
82
|
+
t2 = $[2];
|
|
83
|
+
}
|
|
84
|
+
useEffect(t1, t2);
|
|
85
|
+
let t3;
|
|
86
|
+
if ($[3] !== activeControlsWidgetID || $[4] !== activeDragId || $[5] !== addWidget || $[6] !== cancel || $[7] !== cancelModal || $[8] !== currentLayout || $[9] !== deleteWidget || $[10] !== isEditing || $[11] !== moveWidget || $[12] !== resetLayout || $[13] !== resizeWidget || $[14] !== saveLayout || $[15] !== sensors || $[16] !== setIsEditing || $[17] !== t || $[18] !== updateWidgetData || $[19] !== widgets) {
|
|
87
|
+
let t4;
|
|
88
|
+
if ($[21] === Symbol.for("react.memo_cache_sentinel")) {
|
|
89
|
+
t4 = () => {
|
|
72
90
|
setActiveDragId(null);
|
|
73
91
|
};
|
|
74
|
-
$[
|
|
92
|
+
$[21] = t4;
|
|
75
93
|
} else {
|
|
76
|
-
|
|
94
|
+
t4 = $[21];
|
|
77
95
|
}
|
|
78
|
-
let
|
|
79
|
-
if ($[
|
|
80
|
-
|
|
96
|
+
let t5;
|
|
97
|
+
if ($[22] !== currentLayout || $[23] !== moveWidget) {
|
|
98
|
+
t5 = event => {
|
|
81
99
|
if (!event.over) {
|
|
82
100
|
setActiveDragId(null);
|
|
83
101
|
return;
|
|
@@ -103,22 +121,22 @@ export function ModularDashboardClient(t0) {
|
|
|
103
121
|
});
|
|
104
122
|
setActiveDragId(null);
|
|
105
123
|
};
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
124
|
+
$[22] = currentLayout;
|
|
125
|
+
$[23] = moveWidget;
|
|
126
|
+
$[24] = t5;
|
|
109
127
|
} else {
|
|
110
|
-
|
|
128
|
+
t5 = $[24];
|
|
111
129
|
}
|
|
112
|
-
let
|
|
113
|
-
if ($[
|
|
114
|
-
|
|
130
|
+
let t6;
|
|
131
|
+
if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
|
|
132
|
+
t6 = event_0 => {
|
|
115
133
|
setActiveDragId(event_0.active.id);
|
|
116
134
|
};
|
|
117
|
-
$[
|
|
135
|
+
$[25] = t6;
|
|
118
136
|
} else {
|
|
119
|
-
|
|
137
|
+
t6 = $[25];
|
|
120
138
|
}
|
|
121
|
-
|
|
139
|
+
t3 = _jsxs("div", {
|
|
122
140
|
children: [_jsx(DndContext, {
|
|
123
141
|
autoScroll: {
|
|
124
142
|
enabled: true,
|
|
@@ -129,9 +147,9 @@ export function ModularDashboardClient(t0) {
|
|
|
129
147
|
},
|
|
130
148
|
collisionDetection: closestInXAxis,
|
|
131
149
|
id: "dashboard-dnd-context",
|
|
132
|
-
onDragCancel:
|
|
133
|
-
onDragEnd:
|
|
134
|
-
onDragStart:
|
|
150
|
+
onDragCancel: t4,
|
|
151
|
+
onDragEnd: t5,
|
|
152
|
+
onDragStart: t6,
|
|
135
153
|
sensors,
|
|
136
154
|
children: _jsxs("div", {
|
|
137
155
|
className: `modular-dashboard ${isEditing ? "editing" : ""}`,
|
|
@@ -153,12 +171,15 @@ export function ModularDashboardClient(t0) {
|
|
|
153
171
|
},
|
|
154
172
|
width: widget_1.item.width,
|
|
155
173
|
children: _jsxs("div", {
|
|
156
|
-
className:
|
|
174
|
+
className: ["widget-wrapper", isEditing ? "widget-wrapper--editing" : "", activeControlsWidgetID === widget_1.item.id ? "widget-wrapper--controls-active" : ""].filter(Boolean).join(" "),
|
|
157
175
|
children: [_jsx("div", {
|
|
158
176
|
"aria-hidden": isEditing,
|
|
159
177
|
className: "widget-content",
|
|
160
178
|
inert: isEditing,
|
|
161
179
|
children: widget_1.component
|
|
180
|
+
}), isEditing && _jsx("div", {
|
|
181
|
+
"aria-hidden": true,
|
|
182
|
+
className: "widget-wrapper__edit-overlay"
|
|
162
183
|
}), isEditing && _jsxs("div", {
|
|
163
184
|
className: "widget-wrapper__controls",
|
|
164
185
|
onPointerDown: _temp,
|
|
@@ -172,17 +193,20 @@ export function ModularDashboardClient(t0) {
|
|
|
172
193
|
currentWidth: widget_1.item.width,
|
|
173
194
|
maxWidth: widget_1.item.maxWidth,
|
|
174
195
|
minWidth: widget_1.item.minWidth,
|
|
196
|
+
onOpenChange: isOpen => {
|
|
197
|
+
setActiveControlsWidgetID(isOpen ? widget_1.item.id : null);
|
|
198
|
+
},
|
|
175
199
|
onResize: width => resizeWidget(widget_1.item.id, width)
|
|
176
|
-
}),
|
|
200
|
+
}), _jsx(Button, {
|
|
201
|
+
"aria-label": t("dashboard:deleteWidget", {
|
|
202
|
+
id: widget_1.item.id
|
|
203
|
+
}),
|
|
204
|
+
buttonStyle: "destructive",
|
|
177
205
|
className: "widget-wrapper__delete-btn",
|
|
206
|
+
icon: "x",
|
|
207
|
+
margin: false,
|
|
178
208
|
onClick: () => deleteWidget(widget_1.item.id),
|
|
179
|
-
|
|
180
|
-
children: [_jsx("span", {
|
|
181
|
-
className: "sr-only",
|
|
182
|
-
children: t("dashboard:deleteWidget", {
|
|
183
|
-
id: widget_1.item.id
|
|
184
|
-
})
|
|
185
|
-
}), _jsx(XIcon, {})]
|
|
209
|
+
round: true
|
|
186
210
|
})]
|
|
187
211
|
})]
|
|
188
212
|
})
|
|
@@ -220,27 +244,28 @@ export function ModularDashboardClient(t0) {
|
|
|
220
244
|
widgets
|
|
221
245
|
}), cancelModal]
|
|
222
246
|
});
|
|
223
|
-
$[
|
|
224
|
-
$[
|
|
225
|
-
$[
|
|
226
|
-
$[
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
234
|
-
$[
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
237
|
-
$[
|
|
238
|
-
$[
|
|
239
|
-
$[
|
|
247
|
+
$[3] = activeControlsWidgetID;
|
|
248
|
+
$[4] = activeDragId;
|
|
249
|
+
$[5] = addWidget;
|
|
250
|
+
$[6] = cancel;
|
|
251
|
+
$[7] = cancelModal;
|
|
252
|
+
$[8] = currentLayout;
|
|
253
|
+
$[9] = deleteWidget;
|
|
254
|
+
$[10] = isEditing;
|
|
255
|
+
$[11] = moveWidget;
|
|
256
|
+
$[12] = resetLayout;
|
|
257
|
+
$[13] = resizeWidget;
|
|
258
|
+
$[14] = saveLayout;
|
|
259
|
+
$[15] = sensors;
|
|
260
|
+
$[16] = setIsEditing;
|
|
261
|
+
$[17] = t;
|
|
262
|
+
$[18] = updateWidgetData;
|
|
263
|
+
$[19] = widgets;
|
|
264
|
+
$[20] = t3;
|
|
240
265
|
} else {
|
|
241
|
-
|
|
266
|
+
t3 = $[20];
|
|
242
267
|
}
|
|
243
|
-
return
|
|
268
|
+
return t3;
|
|
244
269
|
}
|
|
245
270
|
function _temp(e) {
|
|
246
271
|
return e.stopPropagation();
|
|
@@ -249,6 +274,7 @@ function WidgetWidthDropdown({
|
|
|
249
274
|
currentWidth,
|
|
250
275
|
maxWidth,
|
|
251
276
|
minWidth,
|
|
277
|
+
onOpenChange,
|
|
252
278
|
onResize
|
|
253
279
|
}) {
|
|
254
280
|
// Filter options based on minWidth and maxWidth
|
|
@@ -265,18 +291,8 @@ function WidgetWidthDropdown({
|
|
|
265
291
|
return null;
|
|
266
292
|
}
|
|
267
293
|
return /*#__PURE__*/_jsx(Popup, {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
onPointerDown: e => e.stopPropagation(),
|
|
271
|
-
type: "button",
|
|
272
|
-
children: [/*#__PURE__*/_jsx("span", {
|
|
273
|
-
className: "widget-wrapper__size-btn-text",
|
|
274
|
-
children: currentWidth
|
|
275
|
-
}), /*#__PURE__*/_jsx(ChevronIcon, {
|
|
276
|
-
className: "widget-wrapper__size-btn-icon"
|
|
277
|
-
})]
|
|
278
|
-
}),
|
|
279
|
-
buttonType: "custom",
|
|
294
|
+
onToggleClose: () => onOpenChange(false),
|
|
295
|
+
onToggleOpen: onOpenChange,
|
|
280
296
|
render: ({
|
|
281
297
|
close
|
|
282
298
|
}) => /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
|
|
@@ -298,6 +314,28 @@ function WidgetWidthDropdown({
|
|
|
298
314
|
}, option_0.width);
|
|
299
315
|
})
|
|
300
316
|
}),
|
|
317
|
+
renderButton: ({
|
|
318
|
+
active: _active,
|
|
319
|
+
onClick,
|
|
320
|
+
onKeyDown,
|
|
321
|
+
...ariaProps
|
|
322
|
+
}) => /*#__PURE__*/_jsx(Button, {
|
|
323
|
+
buttonStyle: "secondary",
|
|
324
|
+
className: "widget-wrapper__size-btn",
|
|
325
|
+
extraButtonProps: {
|
|
326
|
+
onKeyDown,
|
|
327
|
+
onPointerDown: e => e.stopPropagation(),
|
|
328
|
+
...ariaProps
|
|
329
|
+
},
|
|
330
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
331
|
+
className: "widget-wrapper__size-btn-icon",
|
|
332
|
+
size: 16
|
|
333
|
+
}),
|
|
334
|
+
margin: false,
|
|
335
|
+
onClick: onClick,
|
|
336
|
+
selected: _active,
|
|
337
|
+
children: currentWidth
|
|
338
|
+
}),
|
|
301
339
|
size: "small",
|
|
302
340
|
verticalAlign: "bottom"
|
|
303
341
|
});
|
|
@@ -408,7 +446,7 @@ function DroppableItem(t0) {
|
|
|
408
446
|
const t4 = `${id}-${position}`;
|
|
409
447
|
const t5 = position === "before" ? -2 : "auto";
|
|
410
448
|
const t6 = position === "after" ? -2 : "auto";
|
|
411
|
-
const t7 = isOver ? "var(--color-bg-
|
|
449
|
+
const t7 = isOver ? "var(--color-bg-brand-secondary)" : "transparent";
|
|
412
450
|
let t8;
|
|
413
451
|
if ($[5] !== setNodeRef || $[6] !== t4 || $[7] !== t5 || $[8] !== t6 || $[9] !== t7) {
|
|
414
452
|
t8 = _jsx("div", {
|