@payloadcms/ui 3.0.0-beta.31 → 3.0.0-beta.33
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/assets/index.d.ts +4 -4
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +4 -4
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +2 -2
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +1 -1
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +1 -1
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.d.ts +2 -4
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +20 -4
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/Pill/index.js +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +10 -2
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.scss +4 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +8 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.scss +16 -0
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +3 -3
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.scss +4 -0
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +6 -0
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +3 -3
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +1 -1
- package/dist/elements/RenderCustomComponent/index.d.ts +3 -3
- package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +4 -4
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +2 -2
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +13 -3
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/index.scss +11 -0
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +5 -5
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -3
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +4 -4
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +2 -2
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.d.ts +2 -2
- package/dist/elements/WithServerSideProps/index.d.ts.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +4 -6
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +5 -5
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +5 -5
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +4 -4
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +4 -4
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +1 -1
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +3 -3
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +4 -4
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/HiddenInput/index.d.ts.map +1 -1
- package/dist/fields/HiddenInput/index.js +1 -1
- package/dist/fields/HiddenInput/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +3 -3
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +4 -4
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +2 -2
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +4 -4
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +1 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +3 -3
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +5 -5
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +8 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +5 -0
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.scss +2 -2
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +4 -4
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +3 -3
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +1 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +3 -3
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +1 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +3 -3
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +2 -2
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.d.ts.map +1 -1
- package/dist/forms/FieldLabel/index.js +1 -1
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.js +1 -1
- package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
- package/dist/forms/Submit/index.d.ts.map +1 -1
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/graphics/Account/index.d.ts +0 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +2 -11
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/Icon/index.d.ts +3 -1
- package/dist/graphics/Icon/index.d.ts.map +1 -1
- package/dist/graphics/Icon/index.js +10 -36
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.d.ts +2 -4
- package/dist/graphics/Logo/index.d.ts.map +1 -1
- package/dist/graphics/Logo/index.js +10 -2
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Edit/index.d.ts +3 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +5 -2
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +5 -4
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +3 -2
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +3 -2
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +4 -3
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +3 -2
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +3 -2
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +3 -2
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +4 -4
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +6 -2
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +44 -31
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/templates/Default/index.d.ts +4 -4
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +18 -4
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/hasSavePermission.d.ts +8 -0
- package/dist/utilities/hasSavePermission.d.ts.map +1 -0
- package/dist/utilities/hasSavePermission.js +12 -0
- package/dist/utilities/hasSavePermission.js.map +1 -0
- package/dist/utilities/isEditing.d.ts +6 -0
- package/dist/utilities/isEditing.d.ts.map +1 -0
- package/dist/utilities/isEditing.js +3 -0
- package/dist/utilities/isEditing.js.map +1 -0
- package/package.json +11 -11
- /package/dist/assets/{og-image.png → static-og-image.png} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { ServerProps } from 'payload/config'\n\nimport React from 'react'\n\nimport { Logout } from '../Logout/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { WithServerSideProps } from '../WithServerSideProps/index.js'\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = (props) => {\n const { i18n, locale, params, payload, permissions, searchParams, user } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks },\n },\n } = payload.config\n\n const BeforeNavLinks = Array.isArray(beforeNavLinks)\n ? beforeNavLinks.map((Component, i) => (\n <WithServerSideProps\n Component={Component}\n key={i}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n ))\n : null\n\n const AfterNavLinks = Array.isArray(afterNavLinks)\n ? afterNavLinks.map((Component, i) => (\n <WithServerSideProps\n Component={Component}\n key={i}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n ))\n : null\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n {Array.isArray(BeforeNavLinks) && BeforeNavLinks.map((Component) => Component)}\n\n <DefaultNavClient />\n {Array.isArray(AfterNavLinks) && AfterNavLinks.map((Component) => Component)}\n\n <div className={`${baseClass}__controls`}>\n <Logout />\n </div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"names":["React","Logout","NavHamburger","NavWrapper","baseClass","WithServerSideProps","DefaultNavClient","DefaultNav","props","i18n","locale","params","payload","permissions","searchParams","user","config","admin","components","afterNavLinks","beforeNavLinks","BeforeNavLinks","Array","isArray","map","Component","i","key","serverOnlyProps","AfterNavLinks","nav","className","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,MAAMC,YAAY;AAElB,SAASC,mBAAmB,QAAQ,kCAAiC;AACrE,SAASC,gBAAgB,QAAQ,oBAAmB;AAIpD,OAAO,MAAMC,aAAiC,CAACC;IAC7C,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAAEC,WAAW,EAAEC,YAAY,EAAEC,IAAI,EAAE,GAAGP;IAE3E,IAAI,CAACI,SAASI,QAAQ;QACpB,OAAO;IACT;IAEA,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,aAAa,EAAEC,cAAc,EAAE,EAC9C,EACF,GAAGR,QAAQI,MAAM;IAElB,MAAMK,iBAAiBC,MAAMC,OAAO,CAACH,kBACjCA,eAAeI,GAAG,CAAC,CAACC,WAAWC,kBAC7B,oBAACrB;YACCoB,WAAWA;YACXE,KAAKD;YACLE,iBAAiB;gBACfnB;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;YACF;cAGJ;IAEJ,MAAMc,gBAAgBP,MAAMC,OAAO,CAACJ,iBAChCA,cAAcK,GAAG,CAAC,CAACC,WAAWC,kBAC5B,oBAACrB;YACCoB,WAAWA;YACXE,KAAKD;YACLE,iBAAiB;gBACfnB;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;YACF;cAGJ;IAEJ,qBACE,oBAACZ;QAAWC,WAAWA;qBACrB,oBAAC0B;QAAIC,WAAW,CAAC,EAAE3B,UAAU,MAAM,CAAC;OACjCkB,MAAMC,OAAO,CAACF,mBAAmBA,eAAeG,GAAG,CAAC,CAACC,YAAcA,0BAEpE,oBAACnB,yBACAgB,MAAMC,OAAO,CAACM,kBAAkBA,cAAcL,GAAG,CAAC,CAACC,YAAcA,0BAElE,oBAACO;QAAID,WAAW,CAAC,EAAE3B,UAAU,UAAU,CAAC;qBACtC,oBAACH,+BAGL,oBAAC+B;QAAID,WAAW,CAAC,EAAE3B,UAAU,QAAQ,CAAC;qBACpC,oBAAC4B;QAAID,WAAW,CAAC,EAAE3B,UAAU,gBAAgB,CAAC;qBAC5C,oBAACF;QAAaE,WAAWA;;AAKnC,EAAC"}
|
|
@@ -48,7 +48,7 @@ const StaticPill = (props)=>{
|
|
|
48
48
|
"aria-expanded": ariaExpanded,
|
|
49
49
|
"aria-label": ariaLabel,
|
|
50
50
|
className: classes,
|
|
51
|
-
href: to ||
|
|
51
|
+
href: to || null,
|
|
52
52
|
onClick: onClick,
|
|
53
53
|
type: Element === 'button' ? 'button' : undefined
|
|
54
54
|
}, icon && alignIcon === 'left' && /*#__PURE__*/ React.createElement("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { HTMLAttributes } from 'react'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: HTMLAttributes<HTMLElement> & {\n ref: React.RefCallback<HTMLElement>\n }\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) Element = 'button'\n if (to) Element = Link\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to ||
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { HTMLAttributes } from 'react'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: HTMLAttributes<HTMLElement> & {\n ref: React.RefCallback<HTMLElement>\n }\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) Element = 'button'\n if (to) Element = Link\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n {icon && alignIcon === 'left' && <span className={`${baseClass}__icon`}>{icon}</span>}\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && alignIcon === 'right' && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) return <DraggablePill {...props} />\n return <StaticPill {...props} />\n}\n"],"names":["LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","id","className","attributes","isDragging","listeners","setNodeRef","transform","StaticPill","filter","Boolean","join","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","aria-checked","aria-controls","aria-expanded","aria-label","href","type","undefined","span","Pill"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,qBAAqB,eAAc;AAC1C,MAAMC,OAAOD,gBAAgBE,OAAO;AACpC,OAAOC,WAAW,QAAO,CAAC,iDAAiD;AAgC3E,SAASC,oBAAoB,QAAQ,qDAAoD;AAGzF,MAAMC,YAAY;AAElB,MAAMC,gBAAqC,CAACC;IAC1C,MAAM,EAAEC,EAAE,EAAEC,SAAS,EAAE,GAAGF;IAE1B,MAAM,EAAEG,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGV,qBAAqB;QACxFI;IACF;IAEA,qBACE,oBAACO;QACE,GAAGR,KAAK;QACTE,WAAW;YAACE,cAAc,CAAC,EAAEN,UAAU,aAAa,CAAC;YAAEI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvFC,cAAc;YACZ,GAAGP,SAAS;YACZ,GAAGF,UAAU;YACbU,KAAKP;YACLQ,OAAO;gBACLP;YACF;QACF;;AAGN;AAEA,MAAMC,aAAkC,CAACR;IACvC,MAAM,EACJe,YAAY,OAAO,EACnB,gBAAgBC,WAAW,EAC3B,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,cAAcC,SAAS,EACvBC,QAAQ,EACRlB,SAAS,EACTmB,SAAS,EACTT,YAAY,EACZU,IAAI,EACJC,OAAO,EACPC,YAAY,OAAO,EACnBC,OAAO,EACPC,EAAE,EACH,GAAG1B;IAEJ,MAAM2B,UAAU;QACd7B;QACA,CAAC,EAAEA,UAAU,QAAQ,EAAE0B,UAAU,CAAC;QAClCtB,aAAaA;QACbwB,MAAM,CAAC,EAAE5B,UAAU,UAAU,CAAC;QAC7B4B,CAAAA,MAAMH,OAAM,KAAM,CAAC,EAAEzB,UAAU,YAAY,CAAC;QAC7CwB,QAAQ,CAAC,EAAExB,UAAU,UAAU,CAAC;QAChCwB,QAAQ,CAAC,EAAExB,UAAU,aAAa,EAAEiB,UAAU,CAAC;QAC/CM,aAAa,CAAC,EAAEvB,UAAU,WAAW,CAAC;QACtC2B,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;KACnC,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIiB,UAAqD;IAEzD,IAAIL,WAAW,CAACG,IAAIE,UAAU;IAC9B,IAAIF,IAAIE,UAAUlC;IAElB,qBACE,oBAACkC;QACE,GAAGhB,YAAY;QAChBiB,gBAAcb;QACdc,iBAAeb;QACfc,iBAAeb;QACfc,cAAYb;QACZjB,WAAWyB;QACXM,MAAMP,MAAM;QACZH,SAASA;QACTW,MAAMN,YAAY,WAAW,WAAWO;OAEvCb,QAAQP,cAAc,wBAAU,oBAACqB;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;OAAGwB,qBACzE,oBAACc;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;OAAGsB,WACxCE,QAAQP,cAAc,yBAAW,oBAACqB;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;OAAGwB;AAGhF;AAEA,OAAO,MAAMe,OAA4B,CAACrC;IACxC,MAAM,EAAEqB,SAAS,EAAE,GAAGrB;IAEtB,IAAIqB,WAAW,qBAAO,oBAACtB,eAAkBC;IACzC,qBAAO,oBAACQ,YAAeR;AACzB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/ClearIndicator/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/ClearIndicator/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAuB1E,CAAA"}
|
|
@@ -2,11 +2,19 @@ import React from 'react';
|
|
|
2
2
|
import { X } from '../../../icons/X/index.js';
|
|
3
3
|
const baseClass = 'clear-indicator';
|
|
4
4
|
export const ClearIndicator = (props)=>{
|
|
5
|
-
const { innerProps: { ref, ...restInnerProps } } = props;
|
|
5
|
+
const { clearValue, innerProps: { ref, ...restInnerProps } } = props;
|
|
6
6
|
return /*#__PURE__*/ React.createElement("div", {
|
|
7
7
|
className: baseClass,
|
|
8
8
|
ref: ref,
|
|
9
|
-
...restInnerProps
|
|
9
|
+
...restInnerProps,
|
|
10
|
+
onKeyDown: (e)=>{
|
|
11
|
+
if (e.key === 'Enter') {
|
|
12
|
+
clearValue();
|
|
13
|
+
e.stopPropagation();
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
role: "button",
|
|
17
|
+
tabIndex: 0
|
|
10
18
|
}, /*#__PURE__*/ React.createElement(X, {
|
|
11
19
|
className: `${baseClass}__icon`
|
|
12
20
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/ReactSelect/ClearIndicator/index.tsx"],"sourcesContent":["import type { ClearIndicatorProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport './index.scss'\n\nconst baseClass = 'clear-indicator'\n\nexport const ClearIndicator: React.FC<ClearIndicatorProps<OptionType, true>> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <div
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/ReactSelect/ClearIndicator/index.tsx"],"sourcesContent":["import type { ClearIndicatorProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport './index.scss'\n\nconst baseClass = 'clear-indicator'\n\nexport const ClearIndicator: React.FC<ClearIndicatorProps<OptionType, true>> = (props) => {\n const {\n clearValue,\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <div\n className={baseClass}\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n clearValue()\n e.stopPropagation()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <X className={`${baseClass}__icon`} />\n </div>\n )\n}\n"],"names":["React","X","baseClass","ClearIndicator","props","clearValue","innerProps","ref","restInnerProps","div","className","onKeyDown","e","key","stopPropagation","role","tabIndex"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAIzB,SAASC,CAAC,QAAQ,4BAA2B;AAG7C,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAAkE,CAACC;IAC9E,MAAM,EACJC,UAAU,EACVC,YAAY,EAAEC,GAAG,EAAE,GAAGC,gBAAgB,EACvC,GAAGJ;IAEJ,qBACE,oBAACK;QACCC,WAAWR;QACXK,KAAKA;QACJ,GAAGC,cAAc;QAClBG,WAAW,CAACC;YACV,IAAIA,EAAEC,GAAG,KAAK,SAAS;gBACrBR;gBACAO,EAAEE,eAAe;YACnB;QACF;QACAC,MAAK;QACLC,UAAU;qBAEV,oBAACf;QAAES,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;;AAGxC,EAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DropdownIndicatorProps } from 'react-select';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { Option as OptionType } from '../types.js';
|
|
4
|
+
import './index.scss';
|
|
5
|
+
export declare const DropdownIndicator: React.FC<DropdownIndicatorProps<OptionType, true> & {
|
|
6
|
+
innerProps: JSX.IntrinsicElements['button'];
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CACtC,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG;IACzC,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CAC5C,CAmBF,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Chevron } from '@payloadcms/ui/icons/Chevron';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
const baseClass = 'dropdown-indicator';
|
|
4
|
+
export const DropdownIndicator = (props)=>{
|
|
5
|
+
const { innerProps: { ref, ...restInnerProps } } = props;
|
|
6
|
+
return /*#__PURE__*/ React.createElement("button", {
|
|
7
|
+
className: baseClass,
|
|
8
|
+
ref: ref,
|
|
9
|
+
...restInnerProps,
|
|
10
|
+
onKeyDown: (e)=>{
|
|
11
|
+
if (e.key === 'Enter') e.key = ' ';
|
|
12
|
+
},
|
|
13
|
+
type: "button"
|
|
14
|
+
}, /*#__PURE__*/ React.createElement(Chevron, {
|
|
15
|
+
className: `${baseClass}__icon`
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"sourcesContent":["import type { DropdownIndicatorProps } from 'react-select'\n\nimport { Chevron } from '@payloadcms/ui/icons/Chevron'\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'dropdown-indicator'\nexport const DropdownIndicator: React.FC<\n DropdownIndicatorProps<OptionType, true> & {\n innerProps: JSX.IntrinsicElements['button']\n }\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <button\n className={baseClass}\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') e.key = ' '\n }}\n type=\"button\"\n >\n <Chevron className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["Chevron","React","baseClass","DropdownIndicator","props","innerProps","ref","restInnerProps","button","className","onKeyDown","e","key","type"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,OAAO,QAAQ,+BAA8B;AACtD,OAAOC,WAAW,QAAO;AAMzB,MAAMC,YAAY;AAClB,OAAO,MAAMC,oBAIT,CAACC;IACH,MAAM,EACJC,YAAY,EAAEC,GAAG,EAAE,GAAGC,gBAAgB,EACvC,GAAGH;IAEJ,qBACE,oBAACI;QACCC,WAAWP;QACXI,KAAKA;QACJ,GAAGC,cAAc;QAClBG,WAAW,CAACC;YACV,IAAIA,EAAEC,GAAG,KAAK,SAASD,EAAEC,GAAG,GAAG;QACjC;QACAC,MAAK;qBAEL,oBAACb;QAAQS,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;;AAG9C,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CA8CxD,CAAA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { components as SelectComponents } from 'react-select';
|
|
3
|
-
import { v4 as uuid } from 'uuid';
|
|
4
3
|
import { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js';
|
|
5
4
|
const baseClass = 'multi-value';
|
|
6
5
|
export const MultiValue = (props)=>{
|
|
7
6
|
const { className, data: { value }, innerProps, isDisabled, // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module
|
|
8
7
|
selectProps: { customProps: { disableMouseDown } = {}, isSortable } = {} } = props;
|
|
9
8
|
const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({
|
|
10
|
-
id: typeof value === '
|
|
9
|
+
id: typeof value === 'string' && value.toString(),
|
|
11
10
|
disabled: !isSortable
|
|
12
11
|
});
|
|
13
12
|
const classes = [
|
|
@@ -31,7 +30,8 @@ export const MultiValue = (props)=>{
|
|
|
31
30
|
},
|
|
32
31
|
ref: setNodeRef,
|
|
33
32
|
style: {
|
|
34
|
-
transform
|
|
33
|
+
transform,
|
|
34
|
+
...attributes?.style
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"sourcesContent":["import type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\nimport { v4 as uuid } from 'uuid'\n\nimport type { Option } from '../types.js'\n\nimport { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value'\nexport const MultiValue: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n className,\n data: { value },\n innerProps,\n isDisabled,\n // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableMouseDown } = {}, isSortable } = {},\n } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id: typeof value === '
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"sourcesContent":["import type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\nimport { v4 as uuid } from 'uuid'\n\nimport type { Option } from '../types.js'\n\nimport { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value'\nexport const MultiValue: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n className,\n data: { value },\n innerProps,\n isDisabled,\n // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableMouseDown } = {}, isSortable } = {},\n } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id: typeof value === 'string' && value.toString(),\n disabled: !isSortable,\n })\n\n const classes = [\n baseClass,\n className,\n !isDisabled && 'draggable',\n isDragging && `${baseClass}--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <SelectComponents.MultiValue\n {...props}\n className={classes}\n innerProps={{\n ...innerProps,\n ...attributes,\n ...listeners,\n onMouseDown: (e) => {\n if (!disableMouseDown) {\n // we need to prevent the dropdown from opening when clicking on the drag handle, but not when a modal is open (i.e. the 'Relationship' field component)\n e.stopPropagation()\n }\n },\n ref: setNodeRef,\n style: {\n transform,\n ...attributes?.style,\n },\n }}\n />\n )\n}\n"],"names":["React","components","SelectComponents","useDraggableSortable","baseClass","MultiValue","props","className","data","value","innerProps","isDisabled","selectProps","customProps","disableMouseDown","isSortable","attributes","isDragging","listeners","setNodeRef","transform","id","toString","disabled","classes","filter","Boolean","join","onMouseDown","e","stopPropagation","ref","style"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAK7D,SAASC,oBAAoB,QAAQ,wDAAuD;AAG5F,MAAMC,YAAY;AAClB,OAAO,MAAMC,aAAgD,CAACC;IAC5D,MAAM,EACJC,SAAS,EACTC,MAAM,EAAEC,KAAK,EAAE,EACfC,UAAU,EACVC,UAAU,EACV,oFAAoF;IACpFC,aAAa,EAAEC,aAAa,EAAEC,gBAAgB,EAAE,GAAG,CAAC,CAAC,EAAEC,UAAU,EAAE,GAAG,CAAC,CAAC,EACzE,GAAGT;IAEJ,MAAM,EAAEU,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGjB,qBAAqB;QACxFkB,IAAI,OAAOZ,UAAU,YAAYA,MAAMa,QAAQ;QAC/CC,UAAU,CAACR;IACb;IAEA,MAAMS,UAAU;QACdpB;QACAG;QACA,CAACI,cAAc;QACfM,cAAc,CAAC,EAAEb,UAAU,aAAa,CAAC;KAC1C,CACEqB,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,oBAACzB,iBAAiBG,UAAU;QACzB,GAAGC,KAAK;QACTC,WAAWiB;QACXd,YAAY;YACV,GAAGA,UAAU;YACb,GAAGM,UAAU;YACb,GAAGE,SAAS;YACZU,aAAa,CAACC;gBACZ,IAAI,CAACf,kBAAkB;oBACrB,wJAAwJ;oBACxJe,EAAEC,eAAe;gBACnB;YACF;YACAC,KAAKZ;YACLa,OAAO;gBACLZ;gBACA,GAAGJ,YAAYgB,KAAK;YACtB;QACF;;AAGN,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValueRemove/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC,qBAAqB,CAAC,UAAU,CAAC,GAAG;IAClC,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CAC5C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValueRemove/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC,qBAAqB,CAAC,UAAU,CAAC,GAAG;IAClC,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CAC5C,CAkCF,CAAA"}
|
|
@@ -17,6 +17,12 @@ export const MultiValueRemove = (props)=>{
|
|
|
17
17
|
setShowTooltip(false);
|
|
18
18
|
onClick(e);
|
|
19
19
|
},
|
|
20
|
+
onKeyDown: (e)=>{
|
|
21
|
+
if (e.key === 'Enter') {
|
|
22
|
+
e.stopPropagation();
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
onMouseDown: (e)=>e.stopPropagation(),
|
|
20
26
|
onMouseEnter: ()=>setShowTooltip(true),
|
|
21
27
|
onMouseLeave: ()=>setShowTooltip(false),
|
|
22
28
|
onTouchEnd: onTouchEnd,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueRemove/index.tsx"],"sourcesContent":["import type { MultiValueRemoveProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value-remove'\n\nexport const MultiValueRemove: React.FC<\n MultiValueRemoveProps<OptionType> & {\n innerProps: JSX.IntrinsicElements['button']\n }\n> = (props) => {\n const {\n innerProps: { className, onClick, onTouchEnd },\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n const { t } = useTranslation()\n\n return (\n <button\n aria-label={t('general:remove')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={(e) => {\n setShowTooltip(false)\n onClick(e)\n }}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={onTouchEnd}\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:remove')}\n </Tooltip>\n <X className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["React","X","useTranslation","Tooltip","baseClass","MultiValueRemove","props","innerProps","className","onClick","onTouchEnd","showTooltip","setShowTooltip","useState","t","button","aria-label","filter","Boolean","join","e","onMouseEnter","onMouseLeave","type","show"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueRemove/index.tsx"],"sourcesContent":["import type { MultiValueRemoveProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value-remove'\n\nexport const MultiValueRemove: React.FC<\n MultiValueRemoveProps<OptionType> & {\n innerProps: JSX.IntrinsicElements['button']\n }\n> = (props) => {\n const {\n innerProps: { className, onClick, onTouchEnd },\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n const { t } = useTranslation()\n\n return (\n <button\n aria-label={t('general:remove')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={(e) => {\n setShowTooltip(false)\n onClick(e)\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n }\n }}\n onMouseDown={(e) => e.stopPropagation()}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={onTouchEnd}\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:remove')}\n </Tooltip>\n <X className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["React","X","useTranslation","Tooltip","baseClass","MultiValueRemove","props","innerProps","className","onClick","onTouchEnd","showTooltip","setShowTooltip","useState","t","button","aria-label","filter","Boolean","join","e","onKeyDown","key","stopPropagation","onMouseDown","onMouseEnter","onMouseLeave","type","show"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAIzB,SAASC,CAAC,QAAQ,4BAA2B;AAC7C,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,OAAO,QAAQ,yBAAwB;AAGhD,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAIT,CAACC;IACH,MAAM,EACJC,YAAY,EAAEC,SAAS,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC/C,GAAGJ;IAEJ,MAAM,CAACK,aAAaC,eAAe,GAAGZ,MAAMa,QAAQ,CAAC;IACrD,MAAM,EAAEC,CAAC,EAAE,GAAGZ;IAEd,qBACE,oBAACa;QACCC,cAAYF,EAAE;QACdN,WAAW;YAACJ;YAAWI;SAAU,CAACS,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDV,SAAS,CAACW;YACRR,eAAe;YACfH,QAAQW;QACV;QACAC,WAAW,CAACD;YACV,IAAIA,EAAEE,GAAG,KAAK,SAAS;gBACrBF,EAAEG,eAAe;YACnB;QACF;QACAC,aAAa,CAACJ,IAAMA,EAAEG,eAAe;QACrCE,cAAc,IAAMb,eAAe;QACnCc,cAAc,IAAMd,eAAe;QACnCF,YAAYA;QACZiB,MAAK;qBAEL,oBAACxB;QAAQK,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;QAAEwB,MAAMjB;OAChDG,EAAE,kCAEL,oBAACb;QAAEO,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;;AAGxC,EAAC"}
|
|
@@ -4,11 +4,11 @@ import { getTranslation } from '@payloadcms/translations';
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import Select from 'react-select';
|
|
6
6
|
import CreatableSelect from 'react-select/creatable';
|
|
7
|
-
import { Chevron } from '../../icons/Chevron/index.js';
|
|
8
7
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
9
8
|
import { DraggableSortable } from '../DraggableSortable/index.js';
|
|
10
9
|
import { ClearIndicator } from './ClearIndicator/index.js';
|
|
11
10
|
import { Control } from './Control/index.js';
|
|
11
|
+
import { DropdownIndicator } from './DropdownIndicator/index.js';
|
|
12
12
|
import { MultiValue } from './MultiValue/index.js';
|
|
13
13
|
import { MultiValueLabel } from './MultiValueLabel/index.js';
|
|
14
14
|
import { MultiValueRemove } from './MultiValueRemove/index.js';
|
|
@@ -41,7 +41,7 @@ const SelectAdapter = (props)=>{
|
|
|
41
41
|
components: {
|
|
42
42
|
ClearIndicator,
|
|
43
43
|
Control,
|
|
44
|
-
DropdownIndicator
|
|
44
|
+
DropdownIndicator,
|
|
45
45
|
MultiValue,
|
|
46
46
|
MultiValueLabel,
|
|
47
47
|
MultiValueRemove,
|
|
@@ -112,7 +112,7 @@ const SelectAdapter = (props)=>{
|
|
|
112
112
|
components: {
|
|
113
113
|
ClearIndicator,
|
|
114
114
|
Control,
|
|
115
|
-
DropdownIndicator
|
|
115
|
+
DropdownIndicator,
|
|
116
116
|
MultiValue,
|
|
117
117
|
MultiValueLabel,
|
|
118
118
|
MultiValueRemove,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { KeyboardEventHandler } from 'react'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option } from './types.js'\nimport type { Props as ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.scss'\n\nconst createOption = (label: string) => ({\n label,\n value: label,\n})\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = React.useState('') // for creatable select\n\n const {\n className,\n components,\n customProps,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n noOptionsMessage = () => t('general:noOptions'),\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n value,\n } = props\n\n const loadingMessage = () => t('general:loading') + '...'\n\n const classes = [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' ')\n\n if (!isCreatable) {\n return (\n <Select\n captureMenuScroll\n customProps={customProps}\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator: Chevron,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n getOptionValue={getOptionValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n loadingMessage={loadingMessage}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n }\n const handleKeyDown: KeyboardEventHandler = (event) => {\n // eslint-disable-next-line no-restricted-globals\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n if (!value || !inputValue || inputValue.trim() === '') return\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([...(value as Option[]), createOption(inputValue)])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <CreatableSelect\n captureMenuScroll\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator: Chevron,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n inputValue={inputValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n loadingMessage={loadingMessage}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { onChange, value } = props\n\n let ids: string[] = []\n if (value)\n ids = Array.isArray(value)\n ? value.map((item) => item?.id ?? `${item?.value}`)\n : [value?.id || `${value?.value}`]\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={ids}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"names":["arrayMove","getTranslation","React","Select","CreatableSelect","Chevron","useTranslation","DraggableSortable","ClearIndicator","Control","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","createOption","label","value","SelectAdapter","props","i18n","t","inputValue","setInputValue","useState","className","components","customProps","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","loadingMessage","classes","filter","Boolean","join","captureMenuScroll","classNamePrefix","DropdownIndicator","isDisabled","menuPlacement","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","onInputChange","newValue","onKeyDown","SortableSelect","ids","Array","isArray","map","item","id","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { KeyboardEventHandler } from 'react'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option } from './types.js'\nimport type { Props as ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { DropdownIndicator } from './DropdownIndicator/index.js'\nimport { MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.scss'\n\nconst createOption = (label: string) => ({\n label,\n value: label,\n})\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = React.useState('') // for creatable select\n\n const {\n className,\n components,\n customProps,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n noOptionsMessage = () => t('general:noOptions'),\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n value,\n } = props\n\n const loadingMessage = () => t('general:loading') + '...'\n\n const classes = [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' ')\n\n if (!isCreatable) {\n return (\n <Select\n captureMenuScroll\n customProps={customProps}\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n getOptionValue={getOptionValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n loadingMessage={loadingMessage}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n }\n const handleKeyDown: KeyboardEventHandler = (event) => {\n // eslint-disable-next-line no-restricted-globals\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n if (!value || !inputValue || inputValue.trim() === '') return\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([...(value as Option[]), createOption(inputValue)])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <CreatableSelect\n captureMenuScroll\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n inputValue={inputValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n loadingMessage={loadingMessage}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { onChange, value } = props\n\n let ids: string[] = []\n if (value)\n ids = Array.isArray(value)\n ? value.map((item) => item?.id ?? `${item?.value}`)\n : [value?.id || `${value?.value}`]\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={ids}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"names":["arrayMove","getTranslation","React","Select","CreatableSelect","useTranslation","DraggableSortable","ClearIndicator","Control","DropdownIndicator","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","createOption","label","value","SelectAdapter","props","i18n","t","inputValue","setInputValue","useState","className","components","customProps","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","loadingMessage","classes","filter","Boolean","join","captureMenuScroll","classNamePrefix","isDisabled","menuPlacement","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","onInputChange","newValue","onKeyDown","SortableSelect","ids","Array","isArray","map","item","id","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ServerProps } from 'payload/config';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export type RenderCustomComponentProps = {
|
|
4
4
|
CustomComponent?: React.ComponentType<any>;
|
|
5
5
|
DefaultComponent: React.ComponentType<any>;
|
|
6
6
|
componentProps?: Record<string, any>;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Server-only props automatically get added to the component if it's an RSC
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
serverOnlyProps?: ServerProps;
|
|
11
11
|
};
|
|
12
12
|
export declare const RenderCustomComponent: React.FC<RenderCustomComponentProps>;
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderCustomComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderCustomComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC1C,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC;;OAEG;IACH,eAAe,CAAC,EAAE,WAAW,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAwBtE,CAAA"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { WithServerSideProps } from '@payloadcms/ui/elements/WithServerSideProps';
|
|
2
1
|
import React from 'react';
|
|
2
|
+
import { WithServerSideProps } from '../WithServerSideProps/index.js';
|
|
3
3
|
export const RenderCustomComponent = (props)=>{
|
|
4
|
-
const { CustomComponent, DefaultComponent, componentProps
|
|
4
|
+
const { CustomComponent, DefaultComponent, componentProps, serverOnlyProps } = props;
|
|
5
5
|
if (CustomComponent) {
|
|
6
6
|
return /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
7
7
|
Component: CustomComponent,
|
|
8
|
-
|
|
8
|
+
serverOnlyProps: serverOnlyProps,
|
|
9
9
|
...componentProps
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
if (DefaultComponent) {
|
|
13
13
|
return /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
14
14
|
Component: DefaultComponent,
|
|
15
|
-
|
|
15
|
+
serverOnlyProps: serverOnlyProps,
|
|
16
16
|
...componentProps
|
|
17
17
|
});
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/RenderCustomComponent/index.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/RenderCustomComponent/index.tsx"],"sourcesContent":["import type { ServerProps } from 'payload/config'\n\nimport React from 'react'\n\nimport { WithServerSideProps } from '../WithServerSideProps/index.js'\n\nexport type RenderCustomComponentProps = {\n CustomComponent?: React.ComponentType<any>\n DefaultComponent: React.ComponentType<any>\n componentProps?: Record<string, any>\n /**\n * Server-only props automatically get added to the component if it's an RSC\n */\n serverOnlyProps?: ServerProps\n}\n\nexport const RenderCustomComponent: React.FC<RenderCustomComponentProps> = (props) => {\n const { CustomComponent, DefaultComponent, componentProps, serverOnlyProps } = props\n\n if (CustomComponent) {\n return (\n <WithServerSideProps\n Component={CustomComponent}\n serverOnlyProps={serverOnlyProps}\n {...componentProps}\n />\n )\n }\n\n if (DefaultComponent) {\n return (\n <WithServerSideProps\n Component={DefaultComponent}\n serverOnlyProps={serverOnlyProps}\n {...componentProps}\n />\n )\n }\n\n return null\n}\n"],"names":["React","WithServerSideProps","RenderCustomComponent","props","CustomComponent","DefaultComponent","componentProps","serverOnlyProps","Component"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,mBAAmB,QAAQ,kCAAiC;AAYrE,OAAO,MAAMC,wBAA8D,CAACC;IAC1E,MAAM,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,eAAe,EAAE,GAAGJ;IAE/E,IAAIC,iBAAiB;QACnB,qBACE,oBAACH;YACCO,WAAWJ;YACXG,iBAAiBA;YAChB,GAAGD,cAAc;;IAGxB;IAEA,IAAID,kBAAkB;QACpB,qBACE,oBAACJ;YACCO,WAAWH;YACXE,iBAAiBA;YAChB,GAAGD,cAAc;;IAGxB;IAEA,OAAO;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AAErD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EA6CrC,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
|
-
import { useAuth } from '@payloadcms/ui/providers/Auth';
|
|
4
3
|
// TODO: abstract the `next/navigation` dependency out from this component
|
|
5
4
|
import { useRouter } from 'next/navigation.js';
|
|
6
5
|
import React from 'react';
|
|
7
6
|
import { Button } from '../../elements/Button/index.js';
|
|
7
|
+
import { useAuth } from '../../providers/Auth/index.js';
|
|
8
8
|
import { useConfig } from '../../providers/Config/index.js';
|
|
9
9
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
10
10
|
const baseClass = 'stay-logged-in';
|
|
@@ -14,7 +14,7 @@ export const StayLoggedInModal = ()=>{
|
|
|
14
14
|
const { refreshCookie } = useAuth();
|
|
15
15
|
const router = useRouter();
|
|
16
16
|
const config = useConfig();
|
|
17
|
-
const { admin: { logoutRoute }, routes: { admin } } = config;
|
|
17
|
+
const { admin: { routes: { logout: logoutRoute } }, routes: { admin } } = config;
|
|
18
18
|
const { toggleModal } = useModal();
|
|
19
19
|
const { t } = useTranslation();
|
|
20
20
|
return /*#__PURE__*/ React.createElement(Modal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nexport const stayLoggedInModalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC = () => {\n const { Modal, useModal } = facelessUIImport\n const { refreshCookie } = useAuth()\n\n const router = useRouter()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin },\n } = config\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug={stayLoggedInModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(stayLoggedInModalSlug)\n router.push(`${admin}${logoutRoute}`)\n }}\n >\n {t('authentication:logOut')}\n </Button>\n <Button\n onClick={() => {\n refreshCookie()\n toggleModal(stayLoggedInModalSlug)\n }}\n >\n {t('authentication:stayLoggedIn')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"names":["facelessUIImport","useRouter","React","Button","useAuth","useConfig","useTranslation","baseClass","stayLoggedInModalSlug","StayLoggedInModal","Modal","useModal","refreshCookie","router","config","admin","routes","logout","logoutRoute","toggleModal","t","className","slug","div","h1","p","buttonStyle","onClick","push"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,YAAYA,sBAAsB,qBAAoB;AACtD,0EAA0E;AAC1E,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAAwB,iBAAgB;AAErD,OAAO,MAAMC,oBAA8B;IACzC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGX;IAC5B,MAAM,EAAEY,aAAa,EAAE,GAAGR;IAE1B,MAAMS,SAASZ;IACf,MAAMa,SAAST;IAEf,MAAM,EACJU,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,KAAK,EAAE,EAClB,GAAGD;IACJ,MAAM,EAAEK,WAAW,EAAE,GAAGR;IACxB,MAAM,EAAES,CAAC,EAAE,GAAGd;IAEd,qBACE,oBAACI;QAAMW,WAAWd;QAAWe,MAAMd;qBACjC,oBAACe;QAAIF,WAAW,CAAC,EAAEd,UAAU,SAAS,CAAC;qBACrC,oBAACgB;QAAIF,WAAW,CAAC,EAAEd,UAAU,SAAS,CAAC;qBACrC,oBAACiB,YAAIJ,EAAE,+CACP,oBAACK,WAAGL,EAAE,kDAER,oBAACG;QAAIF,WAAW,CAAC,EAAEd,UAAU,UAAU,CAAC;qBACtC,oBAACJ;QACCuB,aAAY;QACZC,SAAS;YACPR,YAAYX;YACZK,OAAOe,IAAI,CAAC,CAAC,EAAEb,MAAM,EAAEG,YAAY,CAAC;QACtC;OAECE,EAAE,yCAEL,oBAACjB;QACCwB,SAAS;YACPf;YACAO,YAAYX;QACd;OAECY,EAAE;AAMf,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAInD,OAAO,KAAwD,MAAM,OAAO,CAAA;AAK5E,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA;AAMD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAa7D,CAAA;AAED,QAAA,MAAM,UAAU,QAAO,WAAkC,CAAA;AAEzD,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CA4DA,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
+
import { useComponentMap } from '@payloadcms/ui/providers/ComponentMap';
|
|
3
4
|
import React, { Fragment, createContext, useContext, useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
+
import { PayloadIcon } from '../../graphics/Icon/index.js';
|
|
5
6
|
import { useConfig } from '../../providers/Config/index.js';
|
|
6
7
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
7
8
|
export { SetStepNav } from './SetStepNav.js';
|
|
@@ -22,6 +23,9 @@ const StepNav = ({ Link, className })=>{
|
|
|
22
23
|
const { stepNav } = useStepNav();
|
|
23
24
|
const config = useConfig();
|
|
24
25
|
const { routes: { admin } } = config;
|
|
26
|
+
const { componentMap } = useComponentMap();
|
|
27
|
+
const { t } = useTranslation();
|
|
28
|
+
const Icon = componentMap?.Icon || /*#__PURE__*/ React.createElement(PayloadIcon, null);
|
|
25
29
|
const LinkElement = Link || 'a';
|
|
26
30
|
return /*#__PURE__*/ React.createElement(Fragment, null, stepNav.length > 0 ? /*#__PURE__*/ React.createElement("nav", {
|
|
27
31
|
className: [
|
|
@@ -32,7 +36,9 @@ const StepNav = ({ Link, className })=>{
|
|
|
32
36
|
className: `${baseClass}__home`,
|
|
33
37
|
href: admin,
|
|
34
38
|
tabIndex: 0
|
|
35
|
-
}, /*#__PURE__*/ React.createElement(
|
|
39
|
+
}, /*#__PURE__*/ React.createElement("span", {
|
|
40
|
+
title: t('general:dashboard')
|
|
41
|
+
}, Icon)), /*#__PURE__*/ React.createElement("span", null, "/"), stepNav.map((item, i)=>{
|
|
36
42
|
const StepLabel = getTranslation(item.label, i18n);
|
|
37
43
|
const isLast = stepNav.length === i + 1;
|
|
38
44
|
const Step = isLast ? /*#__PURE__*/ React.createElement("span", {
|
|
@@ -53,7 +59,11 @@ const StepNav = ({ Link, className })=>{
|
|
|
53
59
|
baseClass,
|
|
54
60
|
className
|
|
55
61
|
].filter(Boolean).join(' ')
|
|
56
|
-
}, /*#__PURE__*/ React.createElement(
|
|
62
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
63
|
+
className: `${baseClass}__home`
|
|
64
|
+
}, /*#__PURE__*/ React.createElement("span", {
|
|
65
|
+
title: t('general:dashboard')
|
|
66
|
+
}, Icon))));
|
|
57
67
|
};
|
|
58
68
|
export { StepNav, StepNavProvider, useStepNav };
|
|
59
69
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/StepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { LabelFunction } from 'payload/config'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, createContext, useContext, useState } from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/StepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { LabelFunction } from 'payload/config'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport React, { Fragment, createContext, useContext, useState } from 'react'\n\nimport { PayloadIcon } from '../../graphics/Icon/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport { SetStepNav } from './SetStepNav.js'\n\nexport type StepNavItem = {\n label: LabelFunction | Record<string, string> | string\n url?: string\n}\n\nexport type ContextType = {\n setStepNav: (items: StepNavItem[]) => void\n stepNav: StepNavItem[]\n}\n\nconst baseClass = 'step-nav'\n\nconst Context = createContext({} as ContextType)\n\nconst StepNavProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const [stepNav, setStepNav] = useState([])\n\n return (\n <Context.Provider\n value={{\n setStepNav,\n stepNav,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nconst useStepNav = (): ContextType => useContext(Context)\n\nconst StepNav: React.FC<{\n Link?: React.ComponentType\n className?: string\n}> = ({ Link, className }) => {\n const { i18n } = useTranslation()\n\n const { stepNav } = useStepNav()\n\n const config = useConfig()\n\n const {\n routes: { admin },\n } = config\n\n const { componentMap } = useComponentMap()\n\n const { t } = useTranslation()\n\n const Icon = componentMap?.Icon || <PayloadIcon />\n\n const LinkElement = Link || 'a'\n\n return (\n <Fragment>\n {stepNav.length > 0 ? (\n <nav className={[baseClass, className].filter(Boolean).join(' ')}>\n <LinkElement className={`${baseClass}__home`} href={admin} tabIndex={0}>\n <span title={t('general:dashboard')}>{Icon}</span>\n </LinkElement>\n <span>/</span>\n {stepNav.map((item, i) => {\n const StepLabel = getTranslation(item.label, i18n)\n const isLast = stepNav.length === i + 1\n\n const Step = isLast ? (\n <span className={`${baseClass}__last`} key={i}>\n {StepLabel}\n </span>\n ) : (\n <Fragment key={i}>\n {item.url ? (\n <LinkElement href={item.url}>\n <span key={i}>{StepLabel}</span>\n </LinkElement>\n ) : (\n <span key={i}>{StepLabel}</span>\n )}\n <span>/</span>\n </Fragment>\n )\n\n return Step\n })}\n </nav>\n ) : (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__home`}>\n <span title={t('general:dashboard')}>{Icon}</span>\n </div>\n </div>\n )}\n </Fragment>\n )\n}\n\nexport { StepNav, StepNavProvider, useStepNav }\n"],"names":["getTranslation","useComponentMap","React","Fragment","createContext","useContext","useState","PayloadIcon","useConfig","useTranslation","SetStepNav","baseClass","Context","StepNavProvider","children","stepNav","setStepNav","Provider","value","useStepNav","StepNav","Link","className","i18n","config","routes","admin","componentMap","t","Icon","LinkElement","length","nav","filter","Boolean","join","href","tabIndex","span","title","map","item","i","StepLabel","label","isLast","Step","key","url","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,eAAe,QAAQ,wCAAuC;AACvE,OAAOC,SAASC,QAAQ,EAAEC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAO;AAE5E,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,SAASC,UAAU,QAAQ,kBAAiB;AAY5C,MAAMC,YAAY;AAElB,MAAMC,wBAAUR,cAAc,CAAC;AAE/B,MAAMS,kBAA4D,CAAC,EAAEC,QAAQ,EAAE;IAC7E,MAAM,CAACC,SAASC,WAAW,GAAGV,SAAS,EAAE;IAEzC,qBACE,oBAACM,QAAQK,QAAQ;QACfC,OAAO;YACLF;YACAD;QACF;OAECD;AAGP;AAEA,MAAMK,aAAa,IAAmBd,WAAWO;AAEjD,MAAMQ,UAGD,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAE;IACvB,MAAM,EAAEC,IAAI,EAAE,GAAGd;IAEjB,MAAM,EAAEM,OAAO,EAAE,GAAGI;IAEpB,MAAMK,SAAShB;IAEf,MAAM,EACJiB,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGF;IAEJ,MAAM,EAAEG,YAAY,EAAE,GAAG1B;IAEzB,MAAM,EAAE2B,CAAC,EAAE,GAAGnB;IAEd,MAAMoB,OAAOF,cAAcE,sBAAQ,oBAACtB;IAEpC,MAAMuB,cAAcT,QAAQ;IAE5B,qBACE,oBAAClB,gBACEY,QAAQgB,MAAM,GAAG,kBAChB,oBAACC;QAAIV,WAAW;YAACX;YAAWW;SAAU,CAACW,MAAM,CAACC,SAASC,IAAI,CAAC;qBAC1D,oBAACL;QAAYR,WAAW,CAAC,EAAEX,UAAU,MAAM,CAAC;QAAEyB,MAAMV;QAAOW,UAAU;qBACnE,oBAACC;QAAKC,OAAOX,EAAE;OAAuBC,sBAExC,oBAACS,cAAK,MACLvB,QAAQyB,GAAG,CAAC,CAACC,MAAMC;QAClB,MAAMC,YAAY3C,eAAeyC,KAAKG,KAAK,EAAErB;QAC7C,MAAMsB,SAAS9B,QAAQgB,MAAM,KAAKW,IAAI;QAEtC,MAAMI,OAAOD,uBACX,oBAACP;YAAKhB,WAAW,CAAC,EAAEX,UAAU,MAAM,CAAC;YAAEoC,KAAKL;WACzCC,2BAGH,oBAACxC;YAAS4C,KAAKL;WACZD,KAAKO,GAAG,iBACP,oBAAClB;YAAYM,MAAMK,KAAKO,GAAG;yBACzB,oBAACV;YAAKS,KAAKL;WAAIC,4BAGjB,oBAACL;YAAKS,KAAKL;WAAIC,0BAEjB,oBAACL,cAAK;QAIV,OAAOQ;IACT,oBAGF,oBAACG;QAAI3B,WAAW;YAACX;YAAWW;SAAU,CAACW,MAAM,CAACC,SAASC,IAAI,CAAC;qBAC1D,oBAACc;QAAI3B,WAAW,CAAC,EAAEX,UAAU,MAAM,CAAC;qBAClC,oBAAC2B;QAAKC,OAAOX,EAAE;OAAuBC;AAMlD;AAEA,SAAST,OAAO,EAAEP,eAAe,EAAEM,UAAU,GAAE"}
|