@payloadcms/ui 3.0.0-canary.a5aaf21 → 3.0.0-canary.a7293f6

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 (116) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +1 -3
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/Button/index.d.ts.map +1 -1
  5. package/dist/elements/Button/index.js +1 -0
  6. package/dist/elements/Button/index.js.map +1 -1
  7. package/dist/elements/DocumentControls/index.js +5 -5
  8. package/dist/elements/DocumentControls/index.js.map +1 -1
  9. package/dist/elements/Dropzone/index.d.ts +2 -1
  10. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  11. package/dist/elements/Dropzone/index.js +3 -2
  12. package/dist/elements/Dropzone/index.js.map +1 -1
  13. package/dist/elements/FieldSelect/index.js +2 -2
  14. package/dist/elements/FieldSelect/index.js.map +1 -1
  15. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  16. package/dist/elements/ListDrawer/DrawerContent.js +156 -154
  17. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  18. package/dist/elements/ListDrawer/types.d.ts +2 -1
  19. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  20. package/dist/elements/ListDrawer/types.js.map +1 -1
  21. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  22. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  23. package/dist/elements/Popup/PopupTrigger/index.js +3 -2
  24. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  25. package/dist/elements/Popup/PopupTrigger/index.scss +12 -0
  26. package/dist/elements/Popup/index.d.ts +1 -0
  27. package/dist/elements/Popup/index.d.ts.map +1 -1
  28. package/dist/elements/Popup/index.js +6 -3
  29. package/dist/elements/Popup/index.js.map +1 -1
  30. package/dist/elements/Popup/index.scss +18 -1
  31. package/dist/elements/ReactSelect/types.d.ts +2 -1
  32. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  33. package/dist/elements/ReactSelect/types.js.map +1 -1
  34. package/dist/elements/Status/index.js +1 -1
  35. package/dist/elements/Status/index.js.map +1 -1
  36. package/dist/elements/Table/TableCellProvider/index.js +9 -9
  37. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  38. package/dist/exports/client/{CodeEditor-CXCLJBIQ.js → CodeEditor-4A6256PR.js} +2 -2
  39. package/dist/exports/client/{CodeEditor-CXCLJBIQ.js.map → CodeEditor-4A6256PR.js.map} +1 -1
  40. package/dist/exports/client/{DatePicker-NBYDOP2X.js → DatePicker-HNJMUG32.js} +2 -2
  41. package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
  42. package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
  43. package/dist/exports/client/{chunk-6MRITTMD.js → chunk-IHJK2MAT.js} +1 -1
  44. package/dist/exports/client/{chunk-6MRITTMD.js.map → chunk-IHJK2MAT.js.map} +1 -1
  45. package/dist/exports/client/index.js +19 -19
  46. package/dist/exports/client/index.js.map +4 -4
  47. package/dist/exports/shared/index.d.ts +3 -0
  48. package/dist/exports/shared/index.d.ts.map +1 -1
  49. package/dist/exports/shared/index.js +2 -2
  50. package/dist/exports/shared/index.js.map +4 -4
  51. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  52. package/dist/fields/Number/index.js +1 -1
  53. package/dist/fields/Number/index.js.map +1 -1
  54. package/dist/fields/Relationship/findOptionsByValue.d.ts +2 -1
  55. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  56. package/dist/fields/Relationship/findOptionsByValue.js +9 -2
  57. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  58. package/dist/fields/Relationship/index.d.ts.map +1 -1
  59. package/dist/fields/Relationship/index.js +2 -0
  60. package/dist/fields/Relationship/index.js.map +1 -1
  61. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +23 -20
  62. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  63. package/dist/fields/Relationship/select-components/SingleValue/index.js +24 -21
  64. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  65. package/dist/fields/Relationship/types.d.ts +1 -0
  66. package/dist/fields/Relationship/types.d.ts.map +1 -1
  67. package/dist/fields/Relationship/types.js.map +1 -1
  68. package/dist/fields/Row/index.scss +1 -1
  69. package/dist/fields/Textarea/index.d.ts.map +1 -1
  70. package/dist/fields/Textarea/index.js +2 -1
  71. package/dist/fields/Textarea/index.js.map +1 -1
  72. package/dist/fields/Upload/HasOne/index.js +1 -1
  73. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  74. package/dist/fields/Upload/Input.d.ts +0 -1
  75. package/dist/fields/Upload/Input.d.ts.map +1 -1
  76. package/dist/fields/Upload/Input.js +62 -54
  77. package/dist/fields/Upload/Input.js.map +1 -1
  78. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  79. package/dist/forms/NullifyField/index.js +1 -0
  80. package/dist/forms/NullifyField/index.js.map +1 -1
  81. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  82. package/dist/providers/Config/createClientConfig/collections.js +10 -0
  83. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  84. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  85. package/dist/providers/DocumentInfo/index.js +7 -10
  86. package/dist/providers/DocumentInfo/index.js.map +1 -1
  87. package/dist/providers/DocumentInfo/types.d.ts +1 -1
  88. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  89. package/dist/providers/DocumentInfo/types.js.map +1 -1
  90. package/dist/providers/Root/index.js +0 -1
  91. package/dist/providers/Root/index.js.map +1 -1
  92. package/dist/providers/ScrollInfo/index.d.ts +1 -3
  93. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  94. package/dist/providers/ScrollInfo/index.js +1 -12
  95. package/dist/providers/ScrollInfo/index.js.map +1 -1
  96. package/dist/providers/Theme/index.d.ts +0 -1
  97. package/dist/providers/Theme/index.d.ts.map +1 -1
  98. package/dist/providers/Theme/index.js +29 -21
  99. package/dist/providers/Theme/index.js.map +1 -1
  100. package/dist/styles.css +1 -1
  101. package/dist/utilities/handleBackToDashboard.d.ts +8 -0
  102. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
  103. package/dist/utilities/handleBackToDashboard.js +12 -0
  104. package/dist/utilities/handleBackToDashboard.js.map +1 -0
  105. package/dist/utilities/handleGoBack.d.ts +9 -0
  106. package/dist/utilities/handleGoBack.d.ts.map +1 -0
  107. package/dist/utilities/handleGoBack.js +13 -0
  108. package/dist/utilities/handleGoBack.js.map +1 -0
  109. package/dist/utilities/handleTakeOver.d.ts +7 -0
  110. package/dist/utilities/handleTakeOver.d.ts.map +1 -0
  111. package/dist/utilities/handleTakeOver.js +27 -0
  112. package/dist/utilities/handleTakeOver.js.map +1 -0
  113. package/package.json +9 -9
  114. package/dist/exports/client/chunk-W2YIQDPJ.js +0 -14
  115. package/dist/exports/client/chunk-W2YIQDPJ.js.map +0 -8
  116. /package/dist/exports/client/{DatePicker-NBYDOP2X.js.map → DatePicker-HNJMUG32.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useRef","useState","SelectMany","FieldLabel","usePayloadAPI","useThrottledEffect","XIcon","useAuth","useConfig","RenderComponent","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","selectedCollection","i18n","t","permissions","getPreference","setPreference","closeModal","isModalOpen","limit","setLimit","previousLimit","sort","setSort","page","setPage","setWhere","search","setSearch","showLoadingOverlay","setShowLoadingOverlay","hasInitialised","params","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","selectedConfig","t7","slug_1","preferencesKey","t8","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t9","documentDrawerSlug","t10","t11","Array","isArray","t12","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp","t13","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params_0","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","current","drafts","draft","t18","t19","newPreferences","t20","t21","getInitialPref","existingPreferences","t22","t23","t24","t25","t26","t27","t28","t29","doc","docID","id","onCreateNew","_jsx","t30","plural","t31","className","children","t32","t33","description","Description","t34","t35","rowColl","rowData","_jsxs","_Fragment","beforeActions","onClick","collectionConfig","disableBulkDelete","disableBulkEdit","Header","type","field","onChange","options","coll","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","preferenceKey","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nexport const hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { getPreference, setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n // Track the page limit so we can reset the page number when it changes\n const previousLimit = useRef<number>(limit || null)\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n const [showLoadingOverlay, setShowLoadingOverlay] = useState<boolean>(true)\n const hasInitialised = useRef(false)\n\n const params = {\n limit,\n page,\n search,\n sort,\n where,\n }\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferencesKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) {\n params.page = page\n }\n if (sort) {\n params.sort = sort\n }\n if (cacheBust) {\n params.cacheBust = cacheBust\n }\n if (limit) {\n params.limit = limit\n\n if (limit !== previousLimit.current) {\n previousLimit.current = limit\n\n // Reset page if limit changes\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setPage(1)\n }\n }\n if (copyOfWhere) {\n params.where = copyOfWhere\n }\n if (versions?.drafts) {\n params.draft = 'true'\n }\n\n setParams(params)\n }, [\n page,\n sort,\n where,\n search,\n limit,\n cacheBust,\n filterOptions,\n selectedCollectionConfig,\n t,\n setParams,\n ])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n if (limit || sort) {\n void setPreference(preferencesKey, newPreferences, true)\n }\n }, [sort, limit, setPreference, preferencesKey])\n\n // Get existing preferences if they exist\n useEffect(() => {\n if (preferencesKey && !limit) {\n const getInitialPref = async () => {\n const existingPreferences = await getPreference<{ limit?: number }>(preferencesKey)\n\n if (existingPreferences?.limit) {\n setLimit(existingPreferences?.limit)\n }\n }\n void getInitialPref()\n }\n }, [getPreference, limit, preferencesKey])\n\n useThrottledEffect(\n () => {\n if (isLoadingList) {\n setShowLoadingOverlay(true)\n }\n },\n 1750,\n [isLoadingList, setShowLoadingOverlay],\n )\n\n useEffect(() => {\n if (isOpen) {\n hasInitialised.current = true\n } else {\n hasInitialised.current = false\n }\n }, [isOpen])\n\n useEffect(() => {\n if (!isLoadingList && showLoadingOverlay) {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setShowLoadingOverlay(false)\n }\n }, [isLoadingList, showLoadingOverlay])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n return (\n <>\n {showLoadingOverlay && <LoadingOverlay />}\n <ListInfoProvider\n beforeActions={\n enableRowSelections\n ? [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : undefined\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n disableBulkDelete\n disableBulkEdit\n hasCreatePermission={hasCreatePermission}\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n // @ts-expect-error todo: fix types\n params={params}\n preferenceKey={preferencesKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n enableRowSelections={enableRowSelections}\n preferenceKey={preferencesKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useRef","useState","SelectMany","FieldLabel","usePayloadAPI","useThrottledEffect","XIcon","useAuth","useConfig","RenderComponent","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","allowCreate","t1","collectionSlugs","customHeader","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","selectedCollection","undefined","i18n","t","permissions","getPreference","setPreference","closeModal","isModalOpen","limit","setLimit","previousLimit","sort","setSort","page","setPage","setWhere","search","setSearch","showLoadingOverlay","setShowLoadingOverlay","hasInitialised","params","config","t2","collections","routes","t3","serverURL","api","t4","t5","t6","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","selectedOption","setSelectedOption","t7","selectedConfig","t8","slug_1","preferencesKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp","t14","initialParams","depth","t15","t16","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t17","slug_3","t18","versions","listSearchableFields","useAsTitle","params_0","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","current","drafts","draft","t19","t20","newPreferences","t21","t22","getInitialPref","existingPreferences","t23","t24","t25","t26","t27","t28","t29","t30","doc","docID","id","onCreateNew","_jsx","t31","plural","t32","className","children","t33","t34","description","Description","t35","t36","rowColl","rowData","_jsxs","_Fragment","beforeActions","onClick","collectionConfig","disableBulkDelete","disableBulkEdit","Header","type","field","onChange","options","coll","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","preferenceKey","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nexport const hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n customHeader,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { getPreference, setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n // Track the page limit so we can reset the page number when it changes\n const previousLimit = useRef<number>(limit || null)\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n const [showLoadingOverlay, setShowLoadingOverlay] = useState<boolean>(true)\n const hasInitialised = useRef(false)\n\n const params = {\n limit,\n page,\n search,\n sort,\n where,\n }\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferencesKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission && allowCreate\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) {\n params.page = page\n }\n if (sort) {\n params.sort = sort\n }\n if (cacheBust) {\n params.cacheBust = cacheBust\n }\n if (limit) {\n params.limit = limit\n\n if (limit !== previousLimit.current) {\n previousLimit.current = limit\n\n // Reset page if limit changes\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setPage(1)\n }\n }\n if (copyOfWhere) {\n params.where = copyOfWhere\n }\n if (versions?.drafts) {\n params.draft = 'true'\n }\n\n setParams(params)\n }, [\n page,\n sort,\n where,\n search,\n limit,\n cacheBust,\n filterOptions,\n selectedCollectionConfig,\n t,\n setParams,\n ])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n if (limit || sort) {\n void setPreference(preferencesKey, newPreferences, true)\n }\n }, [sort, limit, setPreference, preferencesKey])\n\n // Get existing preferences if they exist\n useEffect(() => {\n if (preferencesKey && !limit) {\n const getInitialPref = async () => {\n const existingPreferences = await getPreference<{ limit?: number }>(preferencesKey)\n\n if (existingPreferences?.limit) {\n setLimit(existingPreferences?.limit)\n }\n }\n void getInitialPref()\n }\n }, [getPreference, limit, preferencesKey])\n\n useThrottledEffect(\n () => {\n if (isLoadingList) {\n setShowLoadingOverlay(true)\n }\n },\n 1750,\n [isLoadingList, setShowLoadingOverlay],\n )\n\n useEffect(() => {\n if (isOpen) {\n hasInitialised.current = true\n } else {\n hasInitialised.current = false\n }\n }, [isOpen])\n\n useEffect(() => {\n if (!isLoadingList && showLoadingOverlay) {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setShowLoadingOverlay(false)\n }\n }, [isLoadingList, showLoadingOverlay])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n return (\n <>\n {showLoadingOverlay && <LoadingOverlay />}\n <ListInfoProvider\n beforeActions={\n enableRowSelections\n ? [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : undefined\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n disableBulkDelete\n disableBulkEdit\n hasCreatePermission={hasCreatePermission}\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n // @ts-expect-error todo: fix types\n params={params}\n preferenceKey={preferencesKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n enableRowSelections={enableRowSelections}\n preferenceKey={preferencesKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import type React from 'react';
3
3
  import type { HTMLAttributes } from 'react';
4
4
  import type { useSelection } from '../../providers/Selection/index.js';
5
5
  export type ListDrawerProps = {
6
+ readonly allowCreate?: boolean;
6
7
  readonly collectionSlugs: string[];
7
8
  readonly customHeader?: React.ReactNode;
8
9
  readonly drawerSlug?: string;
@@ -27,7 +28,7 @@ export type UseListDrawer = (args: {
27
28
  selectedCollection?: string;
28
29
  uploads?: boolean;
29
30
  }) => [
30
- React.FC<Pick<ListDrawerProps, 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>,
31
+ React.FC<Pick<ListDrawerProps, 'allowCreate' | 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>,
31
32
  React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>,
32
33
  {
33
34
  closeDrawer: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC;IACpF,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CACN,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,qBAAqB,GAAG,cAAc,GAAG,UAAU,CAAC,CAC3F;IACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\n\nexport type ListDrawerProps = {\n readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA2BA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<\n Pick<ListDrawerProps, 'allowCreate' | 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>\n >, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA4BA","ignoreList":[]}
@@ -8,6 +8,7 @@ export type PopupTriggerProps = {
8
8
  disabled?: boolean;
9
9
  noBackground?: boolean;
10
10
  setActive: (active: boolean) => void;
11
+ size?: 'large' | 'medium' | 'small';
11
12
  };
12
13
  export declare const PopupTrigger: React.FC<PopupTriggerProps>;
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiDpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkDpD,CAAA"}
@@ -12,9 +12,10 @@ export const PopupTrigger = props => {
12
12
  className,
13
13
  disabled,
14
14
  noBackground,
15
- setActive
15
+ setActive,
16
+ size
16
17
  } = props;
17
- const classes = [baseClass, className, `${baseClass}--${buttonType}`, !noBackground && `${baseClass}--background`].filter(Boolean).join(' ');
18
+ const classes = [baseClass, className, `${baseClass}--${buttonType}`, !noBackground && `${baseClass}--background`, size && `${baseClass}--size-${size}`].filter(Boolean).join(' ');
18
19
  const handleClick = () => {
19
20
  setActive(!active);
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","disabled","noBackground","setActive","classes","filter","Boolean","join","handleClick","_jsx","onClick","onKeyDown","e","key","role","tabIndex","type"],"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n disabled?: boolean\n noBackground?: boolean\n setActive: (active: boolean) => void\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, disabled, noBackground, setActive } = props\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--${buttonType}`,\n !noBackground && `${baseClass}--background`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const handleClick = () => {\n setActive(!active)\n }\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n onClick={handleClick}\n tabIndex={0}\n type=\"button\"\n >\n {button}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAYlB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,YAAY;IAAEC;EAAS,CAAE,GAAGP,KAAA;EAErF,MAAMQ,OAAA,GAAU,CACdV,SAAA,EACAM,SAAA,EACA,GAAGN,SAAA,KAAcK,UAAA,EAAY,EAC7B,CAACG,YAAA,IAAgB,GAAGR,SAAA,cAAuB,CAC5C,CACEW,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,MAAMC,WAAA,GAAcA,CAAA;IAClBL,SAAA,CAAU,CAACN,MAAA;EACb;EAEA,IAAIE,UAAA,KAAe,QAAQ;IACzB,OAAO;EACT;EAEA,IAAIA,UAAA,KAAe,UAAU;IAC3B,oBACEU,IAAA,CAAC;MACCT,SAAA,EAAWI,OAAA;MACXM,OAAA,EAASF,WAAA;MACTG,SAAA,EAAYC,CAAA;QACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;UACrBL,WAAA;QACF;MACF;MACAM,IAAA,EAAK;MACLC,QAAA,EAAU;gBAETjB;;EAGP;EAEA,oBACEW,IAAA,CAAC;IACCT,SAAA,EAAWI,OAAA;IACXH,QAAA,EAAUA,QAAA;IACVS,OAAA,EAASF,WAAA;IACTO,QAAA,EAAU;IACVC,IAAA,EAAK;cAEJlB;;AAGP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","disabled","noBackground","setActive","size","classes","filter","Boolean","join","handleClick","_jsx","onClick","onKeyDown","e","key","role","tabIndex","type"],"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n disabled?: boolean\n noBackground?: boolean\n setActive: (active: boolean) => void\n size?: 'large' | 'medium' | 'small'\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, disabled, noBackground, setActive, size } = props\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--${buttonType}`,\n !noBackground && `${baseClass}--background`,\n size && `${baseClass}--size-${size}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const handleClick = () => {\n setActive(!active)\n }\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n onClick={handleClick}\n tabIndex={0}\n type=\"button\"\n >\n {button}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,SAAS;IAAEC;EAAI,CAAE,GAAGR,KAAA;EAE3F,MAAMS,OAAA,GAAU,CACdX,SAAA,EACAM,SAAA,EACA,GAAGN,SAAA,KAAcK,UAAA,EAAY,EAC7B,CAACG,YAAA,IAAgB,GAAGR,SAAA,cAAuB,EAC3CU,IAAA,IAAQ,GAAGV,SAAA,UAAmBU,IAAA,EAAM,CACrC,CACEE,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,MAAMC,WAAA,GAAcA,CAAA;IAClBN,SAAA,CAAU,CAACN,MAAA;EACb;EAEA,IAAIE,UAAA,KAAe,QAAQ;IACzB,OAAO;EACT;EAEA,IAAIA,UAAA,KAAe,UAAU;IAC3B,oBACEW,IAAA,CAAC;MACCV,SAAA,EAAWK,OAAA;MACXM,OAAA,EAASF,WAAA;MACTG,SAAA,EAAYC,CAAA;QACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;UACrBL,WAAA;QACF;MACF;MACAM,IAAA,EAAK;MACLC,QAAA,EAAU;gBAETlB;;EAGP;EAEA,oBACEY,IAAA,CAAC;IACCV,SAAA,EAAWK,OAAA;IACXJ,QAAA,EAAUA,QAAA;IACVU,OAAA,EAASF,WAAA;IACTO,QAAA,EAAU;IACVC,IAAA,EAAK;cAEJnB;;AAGP","ignoreList":[]}
@@ -14,4 +14,16 @@
14
14
  &--background {
15
15
  background: transparent;
16
16
  }
17
+
18
+ &--size-small {
19
+ padding: base(0.4);
20
+ }
21
+
22
+ &--size-medium {
23
+ padding: base(0.6);
24
+ }
25
+
26
+ &--size-large {
27
+ padding: base(0.8);
28
+ }
17
29
  }
@@ -7,6 +7,7 @@ export type PopupProps = {
7
7
  boundingRef?: React.RefObject<HTMLElement>;
8
8
  button?: React.ReactNode;
9
9
  buttonClassName?: string;
10
+ buttonSize?: 'large' | 'medium' | 'small';
10
11
  buttonType?: 'custom' | 'default' | 'none';
11
12
  caret?: boolean;
12
13
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAoLtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAwLtC,CAAA"}
@@ -13,6 +13,7 @@ export const Popup = props => {
13
13
  boundingRef,
14
14
  button,
15
15
  buttonClassName,
16
+ buttonSize,
16
17
  buttonType = 'default',
17
18
  caret = true,
18
19
  children,
@@ -114,7 +115,7 @@ export const Popup = props => {
114
115
  useEffect(() => {
115
116
  setActive(forceOpen);
116
117
  }, [forceOpen]);
117
- const classes = [baseClass, className, `${baseClass}--size-${size}`, `${baseClass}--v-align-${verticalAlign}`, `${baseClass}--h-align-${horizontalAlign}`, active && `${baseClass}--active`, showScrollbar && `${baseClass}--show-scrollbar`].filter(Boolean).join(' ');
118
+ const classes = [baseClass, className, `${baseClass}--size-${size}`, buttonSize && `${baseClass}--button-size-${buttonSize}`, `${baseClass}--v-align-${verticalAlign}`, `${baseClass}--h-align-${horizontalAlign}`, active && `${baseClass}--active`, showScrollbar && `${baseClass}--show-scrollbar`].filter(Boolean).join(' ');
118
119
  return /*#__PURE__*/_jsxs("div", {
119
120
  className: classes,
120
121
  children: [/*#__PURE__*/_jsx("div", {
@@ -130,7 +131,8 @@ export const Popup = props => {
130
131
  className: buttonClassName,
131
132
  disabled,
132
133
  noBackground,
133
- setActive
134
+ setActive,
135
+ size: buttonSize
134
136
  })
135
137
  }) : /*#__PURE__*/_jsx(PopupTrigger, {
136
138
  active,
@@ -139,7 +141,8 @@ export const Popup = props => {
139
141
  className: buttonClassName,
140
142
  disabled,
141
143
  noBackground,
142
- setActive
144
+ setActive,
145
+ size: buttonSize
143
146
  })
144
147
  }), /*#__PURE__*/_jsxs("div", {
145
148
  className: `${baseClass}__content`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM;AAE3B,SAASC,aAAa,QAAQ;AAC9B,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAEhE,SAASC,YAAY,QAAQ;AAC7B,OAAO;AACP,SAASC,YAAY,QAAQ;AAE7B,MAAMC,SAAA,GAAY;AAyBlB,OAAO,MAAMC,KAAA,GAA+BC,KAAA;EAC1C,MAAM;IACJC,WAAW;IACXC,MAAM;IACNC,eAAe;IACfC,UAAU;IACVC,UAAA,GAAa,SAAS;IACtBC,KAAA,GAAQ,IAAI;IACZC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,eAAA,EAAiBC,wBAAA,GAA2B,MAAM;IAClDC,UAAA,GAAa,KAAK;IAClBC,YAAY;IACZC,YAAY;IACZC,MAAM;IACNC,WAAA,GAAc,KAAK;IACnBC,aAAA,GAAgB,KAAK;IACrBC,IAAA,GAAO,QAAQ;IACfC,aAAA,EAAeC,sBAAA,GAAyB;EAAK,CAC9C,GAAGrB,KAAA;EACJ,MAAM;IAAEsB,MAAA,EAAQC,YAAY;IAAEC,KAAA,EAAOC;EAAW,CAAE,GAAGnC,aAAA;EACrD,MAAM,CAACoC,eAAA,EAAiBC,iBAAA,CAAkB,GAAG/B,YAAA,CAAa;IACxDgC,IAAA,EAAM3B,WAAA,EAAa4B,OAAA,IAAW;IAC9BC,UAAA,EAAY;IACZC,SAAA,EAAW;EACb;EAEA,MAAMC,UAAA,GAAatC,MAAA,CAAO;EAC1B,MAAM,CAACuC,MAAA,EAAQC,SAAA,CAAU,GAAGvC,QAAA,CAASkB,UAAA;EACrC,MAAM,CAACO,aAAA,EAAee,gBAAA,CAAiB,GAAGxC,QAAA,CAAS0B,sBAAA;EACnD,MAAM,CAACV,eAAA,EAAiByB,kBAAA,CAAmB,GAAGzC,QAAA,CAASiB,wBAAA;EAEvD,MAAMyB,WAAA,GAAc7C,WAAA,CAClB,CAAC;IAAE8C,UAAA,GAAa,KAAK;IAAEC,QAAA,GAAW;EAAK,CAAE;IACvC,IAAIP,UAAA,CAAWH,OAAO,EAAE;MACtB,MAAMW,MAAA,GAASR,UAAA,CAAWH,OAAO,CAACY,qBAAqB;MAEvD,MAAM;QACJC,MAAA,EAAQC,gBAAgB;QACxBC,IAAA,EAAMC,cAAc;QACpBC,KAAA,EAAOC,eAAe;QACtBC,GAAA,EAAKC;MAAa,CACnB,GAAGT,MAAA;MAEJ,IAAIU,cAAA,GAAiB;MACrB,IAAIC,gBAAA,GAAmBC,QAAA,CAASC,eAAe,CAACC,WAAW;MAC3D,IAAIC,iBAAA,GAAoBH,QAAA,CAASC,eAAe,CAACG,YAAY;MAC7D,IAAIC,eAAA,GAAkB;MAEtB,IAAIxD,WAAA,EAAa4B,OAAA,EAAS;QACtB;UACAa,MAAA,EAAQa,iBAAiB;UACzBX,IAAA,EAAMa,eAAe;UACrBX,KAAA,EAAOK,gBAAgB;UACvBH,GAAA,EAAKE;QAAc,CACpB,GAAGjD,WAAA,CAAY4B,OAAO,CAACY,qBAAqB,EAAC;MAChD;MAEA,IAAIH,UAAA,EAAY;QACd,IAAIS,eAAA,GAAkBI,gBAAA,IAAoBN,cAAA,GAAiBY,eAAA,EAAiB;UAC1ErB,kBAAA,CAAmB;QACrB,OAAO,IAAIS,cAAA,GAAiBY,eAAA,IAAmBV,eAAA,GAAkBI,gBAAA,EAAkB;UACjFf,kBAAA,CAAmB;QACrB;MACF;MAEA,IAAIG,QAAA,EAAU;QACZ,IAAIU,aAAA,GAAgBC,cAAA,IAAkBP,gBAAA,GAAmBY,iBAAA,EAAmB;UAC1EpB,gBAAA,CAAiB;QACnB,OAAO,IAAIQ,gBAAA,GAAmBY,iBAAA,IAAqBN,aAAA,GAAgBC,cAAA,EAAgB;UACjFf,gBAAA,CAAiB;QACnB;MACF;IACF;EACF,GACA,CAAClC,WAAA,CAAY;EAGf,MAAMyD,kBAAA,GAAqBlE,WAAA,CACxBmE,CAAA;IACC,IAAI3B,UAAA,CAAWH,OAAO,CAAC+B,QAAQ,CAACD,CAAA,CAAEE,MAAM,GAAG;MACzC;IACF;IAEA3B,SAAA,CAAU;EACZ,GACA,CAACF,UAAA,CAAW;EAGdvC,SAAA,CAAU;IACR4C,WAAA,CAAY;MAAEC,UAAA,EAAY;IAAK;EACjC,GAAG,CAACX,iBAAA,EAAmBU,WAAA,EAAaZ,WAAA,CAAY;EAEhDhC,SAAA,CAAU;IACR4C,WAAA,CAAY;MAAEE,QAAA,EAAU;IAAK;EAC/B,GAAG,CAACZ,iBAAA,EAAmBU,WAAA,EAAad,YAAA,CAAa;EAEjD9B,SAAA,CAAU;IACR,IAAI,OAAOsB,YAAA,KAAiB,YAAY;MACtCA,YAAA,CAAakB,MAAA;IACf;IAEA,IAAIA,MAAA,EAAQ;MACVmB,QAAA,CAASU,gBAAgB,CAAC,aAAaJ,kBAAA;IACzC,OAAO;MACLN,QAAA,CAASW,mBAAmB,CAAC,aAAaL,kBAAA;IAC5C;IAEA,OAAO;MACLN,QAAA,CAASW,mBAAmB,CAAC,aAAaL,kBAAA;IAC5C;EACF,GAAG,CAACzB,MAAA,EAAQyB,kBAAA,EAAoB3C,YAAA,CAAa;EAE7CtB,SAAA,CAAU;IACRyC,SAAA,CAAUxB,SAAA;EACZ,GAAG,CAACA,SAAA,CAAU;EAEd,MAAMsD,OAAA,GAAU,CACdlE,SAAA,EACAU,SAAA,EACA,GAAGV,SAAA,UAAmBqB,IAAA,EAAM,EAC5Bf,UAAA,IAAc,GAAGN,SAAA,iBAA0BM,UAAA,EAAY,EACvD,GAAGN,SAAA,aAAsBsB,aAAA,EAAe,EACxC,GAAGtB,SAAA,aAAsBa,eAAA,EAAiB,EAC1CsB,MAAA,IAAU,GAAGnC,SAAA,UAAmB,EAChCoB,aAAA,IAAiB,GAAGpB,SAAA,kBAA2B,CAChD,CACEmE,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,oBACEC,KAAA,CAAC;IAAI5D,SAAA,EAAWwD,OAAA;4BACdK,IAAA,CAAC;MAAI7D,SAAA,EAAW,GAAGV,SAAA,gBAAyB;gBACzCmB,WAAA,gBACCoD,IAAA,CAAC;QACC7D,SAAA,EAAW,GAAGV,SAAA,kBAA2B;QACzCwE,YAAA,EAAcA,CAAA,KAAMpC,SAAA,CAAU;QAC9BqC,YAAA,EAAcA,CAAA,KAAMrC,SAAA,CAAU;kBAE9B,aAAAmC,IAAA,CAACxE,YAAA;UAEGoC,MAAA;UACA/B,MAAA;UACAG,UAAA;UACAG,SAAA,EAAWL,eAAA;UACXM,QAAA;UACAK,YAAA;UACAoB,SAAA;UACAf,IAAA,EAAMf;;wBAKZiE,IAAA,CAACxE,YAAA;QAEGoC,MAAA;QACA/B,MAAA;QACAG,UAAA;QACAG,SAAA,EAAWL,eAAA;QACXM,QAAA;QACAK,YAAA;QACAoB,SAAA;QACAf,IAAA,EAAMf;;qBAMdgE,KAAA,CAAC;MAAI5D,SAAA,EAAW,GAAGV,SAAA,WAAoB;MAAE0E,GAAA,EAAKxC,UAAA;8BAC5CqC,IAAA,CAAC;QAAI7D,SAAA,EAAW,GAAGV,SAAA,kBAA2B;QAAE0E,GAAA,EAAK9C,eAAA;kBACnD,aAAA2C,IAAA,CAAC;UAAI7D,SAAA,EAAW,GAAGV,SAAA,oBAA6B;oBAC9C,aAAAsE,KAAA,CAAC;YAAI5D,SAAA,EAAW,GAAGV,SAAA,kBAA2B;uBAC3CkB,MAAA,IAAUA,MAAA,CAAO;cAAEyD,KAAA,EAAOA,CAAA,KAAMvC,SAAA,CAAU;YAAO,IACjD3B,QAAA,IAAYA,QAAA;;;UAKlBD,KAAA,iBAAS+D,IAAA,CAAC;QAAI7D,SAAA,EAAW,GAAGV,SAAA;;;;AAIrC","ignoreList":[]}
@@ -7,6 +7,7 @@
7
7
  --popup-caret-size: 10px;
8
8
  --popup-x-padding: calc(var(--base) * 0.33);
9
9
  --popup-padding: calc(var(--base) * 0.5);
10
+ --button-size-offset: -8px;
10
11
  position: relative;
11
12
 
12
13
  &__trigger-wrap {
@@ -83,6 +84,22 @@
83
84
  }
84
85
  }
85
86
 
87
+ ////////////////////////////////
88
+ /// BUTTON SIZE
89
+ ////////////////////////////////
90
+
91
+ &--button-size-small {
92
+ --button-size-offset: -8px;
93
+ }
94
+
95
+ &--button-size-medium {
96
+ --button-size-offset: -4px;
97
+ }
98
+
99
+ &--button-size-large {
100
+ --button-size-offset: 0px;
101
+ }
102
+
86
103
  ////////////////////////////////
87
104
  // HORIZONTAL ALIGNMENT
88
105
  ////////////////////////////////
@@ -123,7 +140,7 @@
123
140
 
124
141
  &--h-align-right {
125
142
  .popup__content {
126
- right: 0;
143
+ right: var(--button-size-offset);
127
144
  }
128
145
 
129
146
  .popup__caret {
@@ -43,7 +43,8 @@ export type ReactSelectAdapterProps = {
43
43
  };
44
44
  customProps?: CustomSelectProps;
45
45
  disabled?: boolean;
46
- filterOption?: (({ data, label, value }: {
46
+ filterOption?: (({ allowEdit, data, label, value, }: {
47
+ allowEdit: boolean;
47
48
  data: Option;
48
49
  label: string;
49
50
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,IAAI,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAEjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAExF,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,oBAAoB,EAAE,CAAC,IAAI,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAA;QACtB,iBAAiB,EAAE,OAAO,CAAA;QAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KACpB,KAAK,IAAI,CAAA;IACV,WAAW,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;CACvC,CAAA;AAKD,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAiB,KAAK,CAAC,MAAM,EAAE,OAAO,SAAS,OAAO,EAAE,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC;QACrF,WAAW,CAAC,EAAE,iBAAiB,CAAA;KAChC;CACF;AAKD,OAAO,QAAQ,oCAAoC,CAAC;IAClD,UAAiB,uBAAuB,CACtC,MAAM,EACN,OAAO,SAAS,OAAO,EACvB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,CAC/B,SAAQ,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;QAC3C,WAAW,CAAC,EAAE,iBAAiB,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;KACvF;CACF;AAED,MAAM,MAAM,MAAM,CAAC,MAAM,GAAG,OAAO,IAAI;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;KAC7B,CAAA;IACD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EACT,CAAC,CACC,EACE,SAAS,EACT,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACrE,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,GACb,SAAS,CAAA;IACb,cAAc,CAAC,EAAE,4BAA4B,CAC3C,MAAM,EACN,OAAO,EACP,SAAS,CAAC,MAAM,CAAC,CAClB,CAAC,gBAAgB,CAAC,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,GAAG,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7C,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps, UseDocumentDrawer } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentDrawerOpen: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n { data, label, value }: { data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"mappings":"AAsDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps, UseDocumentDrawer } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentDrawerOpen: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"mappings":"AAsDA","ignoreList":[]}
@@ -58,7 +58,7 @@ export const Status = () => {
58
58
  if (!publishedDoc) {
59
59
  statusToRender = "draft";
60
60
  } else {
61
- if (publishedDoc && unpublishedVersions?.docs?.length <= 1) {
61
+ if (publishedDoc && unpublishedVersions?.docs?.length <= 0) {
62
62
  statusToRender = "published";
63
63
  }
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","baseClass","Status","$","id","collectionSlug","docPermissions","getVersions","globalSlug","publishedDoc","unpublishedVersions","toggleModal","config","t0","routes","t1","serverURL","api","processing","setProcessing","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","docs","length","t2","language","action","url","method","body","res","JSON","stringify","headers","status","data","json","result","doc","success","message","error","performAction","canUpdate","update","permission","t3","t4","t5","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","slug","undefined","size","type","t6","title"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n getVersions,\n globalSlug,\n publishedDoc,\n unpublishedVersions,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const [processing, setProcessing] = useState(false)\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersions?.docs?.length > 0 && publishedDoc) {\n statusToRender = 'changed'\n } else if (!publishedDoc) {\n statusToRender = 'draft'\n } else if (publishedDoc && unpublishedVersions?.docs?.length <= 1) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n setProcessing(true)\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (action === 'revert') {\n body = publishedDoc\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null`\n method = 'patch'\n }\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null`\n method = 'post'\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n getVersions()\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n\n setProcessing(false)\n if (action === 'revert') {\n toggleModal(revertModalSlug)\n }\n\n if (action === 'unpublish') {\n toggleModal(unPublishModalSlug)\n }\n },\n [\n api,\n collectionSlug,\n getVersions,\n globalSlug,\n i18n.language,\n id,\n locale,\n publishedDoc,\n resetForm,\n revertModalSlug,\n serverURL,\n t,\n toggleModal,\n unPublishModalSlug,\n ],\n )\n\n const canUpdate = docPermissions?.update?.permission\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={unPublishModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublish')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(unPublishModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n onClick={processing ? undefined : () => performAction('unpublish')}\n size=\"large\"\n >\n {t(processing ? 'version:unpublishing' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={revertModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmRevertToSaved')}</h1>\n <p>{t('version:aboutToRevertToPublished')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(revertModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"action-revert-to-published-confirm\"\n onClick={processing ? undefined : () => performAction('revert')}\n size=\"large\"\n >\n {t(processing ? 'version:reverting' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","baseClass","Status","$","id","collectionSlug","docPermissions","getVersions","globalSlug","publishedDoc","unpublishedVersions","toggleModal","config","t0","routes","t1","serverURL","api","processing","setProcessing","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","docs","length","t2","language","action","url","method","body","res","JSON","stringify","headers","status","data","json","result","doc","success","message","error","performAction","canUpdate","update","permission","t3","t4","t5","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","slug","undefined","size","type","t6","title"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n getVersions,\n globalSlug,\n publishedDoc,\n unpublishedVersions,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const [processing, setProcessing] = useState(false)\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersions?.docs?.length > 0 && publishedDoc) {\n statusToRender = 'changed'\n } else if (!publishedDoc) {\n statusToRender = 'draft'\n } else if (publishedDoc && unpublishedVersions?.docs?.length <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n setProcessing(true)\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (action === 'revert') {\n body = publishedDoc\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null`\n method = 'patch'\n }\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null`\n method = 'post'\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n getVersions()\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n\n setProcessing(false)\n if (action === 'revert') {\n toggleModal(revertModalSlug)\n }\n\n if (action === 'unpublish') {\n toggleModal(unPublishModalSlug)\n }\n },\n [\n api,\n collectionSlug,\n getVersions,\n globalSlug,\n i18n.language,\n id,\n locale,\n publishedDoc,\n resetForm,\n revertModalSlug,\n serverURL,\n t,\n toggleModal,\n unPublishModalSlug,\n ],\n )\n\n const canUpdate = docPermissions?.update?.permission\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={unPublishModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublish')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(unPublishModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n onClick={processing ? undefined : () => performAction('unpublish')}\n size=\"large\"\n >\n {t(processing ? 'version:unpublishing' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={revertModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmRevertToSaved')}</h1>\n <p>{t('version:aboutToRevertToPublished')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(revertModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"action-revert-to-published-confirm\"\n onClick={processing ? undefined : () => performAction('revert')}\n size=\"large\"\n >\n {t(processing ? 'version:reverting' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,24 +16,24 @@ export const TableCellProvider = props => {
16
16
  } = props;
17
17
  const contextToInherit = useTableCell();
18
18
  let t0;
19
- if ($[0] !== cellData || $[1] !== cellProps || $[2] !== columnIndex || $[3] !== customCellContext || $[4] !== rowData || $[5] !== contextToInherit || $[6] !== children) {
19
+ if ($[0] !== contextToInherit || $[1] !== cellData || $[2] !== cellProps || $[3] !== columnIndex || $[4] !== customCellContext || $[5] !== rowData || $[6] !== children) {
20
20
  t0 = _jsx(TableCellContext.Provider, {
21
21
  value: {
22
+ ...contextToInherit,
22
23
  cellData,
23
24
  cellProps,
24
25
  columnIndex,
25
26
  customCellContext,
26
- rowData,
27
- ...contextToInherit
27
+ rowData
28
28
  },
29
29
  children
30
30
  });
31
- $[0] = cellData;
32
- $[1] = cellProps;
33
- $[2] = columnIndex;
34
- $[3] = customCellContext;
35
- $[4] = rowData;
36
- $[5] = contextToInherit;
31
+ $[0] = contextToInherit;
32
+ $[1] = cellData;
33
+ $[2] = cellProps;
34
+ $[3] = columnIndex;
35
+ $[4] = customCellContext;
36
+ $[5] = rowData;
37
37
  $[6] = children;
38
38
  $[7] = t0;
39
39
  } else {