@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.
Files changed (38) hide show
  1. package/dist/elements/Button/index.css +2 -2
  2. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  3. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  4. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  5. package/dist/elements/Popup/index.js +1 -1
  6. package/dist/elements/Popup/index.js.map +1 -1
  7. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  8. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  9. package/dist/icons/Edit/index.d.ts +0 -1
  10. package/dist/icons/Edit/index.d.ts.map +1 -1
  11. package/dist/icons/Edit/index.js +4 -4
  12. package/dist/icons/Edit/index.js.map +1 -1
  13. package/dist/providers/Actions/index.d.ts +1 -0
  14. package/dist/providers/Actions/index.d.ts.map +1 -1
  15. package/dist/providers/Actions/index.js +43 -11
  16. package/dist/providers/Actions/index.js.map +1 -1
  17. package/dist/providers/Locale/index.d.ts.map +1 -1
  18. package/dist/providers/Locale/index.js +41 -36
  19. package/dist/providers/Locale/index.js.map +1 -1
  20. package/dist/styles.css +1 -1
  21. package/dist/templates/Default/index.d.ts +1 -0
  22. package/dist/templates/Default/index.d.ts.map +1 -1
  23. package/dist/templates/Default/index.js +2 -0
  24. package/dist/templates/Default/index.js.map +1 -1
  25. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  26. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  27. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  28. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  29. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  30. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  31. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  32. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  33. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  34. package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
  35. package/dist/views/Root/index.d.ts.map +1 -1
  36. package/dist/views/Root/index.js +1 -0
  37. package/dist/views/Root/index.js.map +1 -1
  38. package/package.json +4 -4
@@ -10,6 +10,7 @@ export type DefaultTemplateProps = {
10
10
  globalSlug?: string;
11
11
  req?: PayloadRequest;
12
12
  viewActions?: CustomComponent[];
13
+ viewKey?: string;
13
14
  viewType?: ViewTypes;
14
15
  visibleEntities: VisibleEntities;
15
16
  } & Omit<ServerProps, 'server'>;
@@ -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,CAsL1D,CAAA"}
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":"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","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,+BAmEA"}
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: _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: "large"
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","_active","onKeyDown","ariaProps","extraButtonProps","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: _active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:dashboard')}\n buttonStyle=\"ghost\"\n extraButtonProps={{ onKeyDown }}\n onClick={onClick}\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=\"large\"\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
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;AAWpC,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,qBAsCA"}
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: [_jsxs("button", {
66
+ children: [_jsx(Button, {
67
+ "aria-label": `${t("general:edit")} ${widgetID}`,
68
+ buttonStyle: "secondary",
66
69
  className: "widget-wrapper__edit-btn",
67
- onClick: t4,
68
- type: "button",
69
- children: [_jsxs("span", {
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","onClick","type","_jsx"],"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 { 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 className=\"widget-wrapper__edit-btn\"\n onClick={() => {\n openModal(drawerSlug)\n }}\n type=\"button\"\n >\n <span className=\"sr-only\">\n {t('general:edit')} {widgetID}\n </span>\n <EditIcon />\n </button>\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,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,GAAAd,EAAA;EAA2B;IAAAe,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,GAAiBnC,KAAA;EACjB,MAAAoC,UAAA,GAAmB,iBAAiBD,QAAA,EAAU;EAAA,KAEzCJ,iBAAA;IAAA;EAAA;EAAA,IAAAM,EAAA;EAAA,IAAAzB,CAAA,QAAAwB,UAAA,IAAAxB,CAAA,QAAAI,SAAA;IAQUqB,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,OALJ0B,KAAA,CAAAC,SAAA;IAAAC,QAAA,GACEF,KAAA,CAAC;MAAAG,SAAA,EACW;MAAAC,OAAA,EACDL,EAET;MAAAM,IAAA,EACK;MAAAH,QAAA,GAELF,KAAA,CAAC;QAAAG,SAAA,EAAe;QAAAD,QAAA,GACbzB,CAAA,CAAE,iBAAgB,KAAER,QAAA;MAAA,C,GAEvBqC,IAAA,CAAA1C,QAAA,IAAC;IAAA,C,GAEH0C,IAAA,CAAAvC,kBAAA;MAAA+B,UAAA;MAAAvB,MAAA;MAAAc,MAAA,EAGUE,YAAA;MAAAf;IAAA,C","ignoreList":[]}
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,KAA4B,MAAM,OAAO,CAAA;AA6BhD,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,qBA6KA"}
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(22);
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
- if ($[0] !== activeDragId || $[1] !== addWidget || $[2] !== cancel || $[3] !== cancelModal || $[4] !== currentLayout || $[5] !== deleteWidget || $[6] !== isEditing || $[7] !== moveWidget || $[8] !== resetLayout || $[9] !== resizeWidget || $[10] !== saveLayout || $[11] !== sensors || $[12] !== setIsEditing || $[13] !== t || $[14] !== updateWidgetData || $[15] !== widgets) {
69
- let t2;
70
- if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
71
- t2 = () => {
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
- $[17] = t2;
92
+ $[21] = t4;
75
93
  } else {
76
- t2 = $[17];
94
+ t4 = $[21];
77
95
  }
78
- let t3;
79
- if ($[18] !== currentLayout || $[19] !== moveWidget) {
80
- t3 = event => {
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
- $[18] = currentLayout;
107
- $[19] = moveWidget;
108
- $[20] = t3;
124
+ $[22] = currentLayout;
125
+ $[23] = moveWidget;
126
+ $[24] = t5;
109
127
  } else {
110
- t3 = $[20];
128
+ t5 = $[24];
111
129
  }
112
- let t4;
113
- if ($[21] === Symbol.for("react.memo_cache_sentinel")) {
114
- t4 = event_0 => {
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
- $[21] = t4;
135
+ $[25] = t6;
118
136
  } else {
119
- t4 = $[21];
137
+ t6 = $[25];
120
138
  }
121
- t1 = _jsxs("div", {
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: t2,
133
- onDragEnd: t3,
134
- onDragStart: t4,
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: `widget-wrapper ${isEditing ? "widget-wrapper--editing" : ""}`,
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
- }), _jsxs("button", {
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
- type: "button",
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
- $[0] = activeDragId;
224
- $[1] = addWidget;
225
- $[2] = cancel;
226
- $[3] = cancelModal;
227
- $[4] = currentLayout;
228
- $[5] = deleteWidget;
229
- $[6] = isEditing;
230
- $[7] = moveWidget;
231
- $[8] = resetLayout;
232
- $[9] = resizeWidget;
233
- $[10] = saveLayout;
234
- $[11] = sensors;
235
- $[12] = setIsEditing;
236
- $[13] = t;
237
- $[14] = updateWidgetData;
238
- $[15] = widgets;
239
- $[16] = t1;
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
- t1 = $[16];
266
+ t3 = $[20];
242
267
  }
243
- return t1;
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
- button: /*#__PURE__*/_jsxs("button", {
269
- className: "widget-wrapper__size-btn",
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-success)" : "transparent";
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", {