@payloadcms/ui 3.2.2 → 3.2.3-canary.3e78927
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.js +40 -40
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js +3 -3
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
- package/dist/elements/AnimateHeight/index.d.ts.map +1 -1
- package/dist/elements/AnimateHeight/index.js +4 -1
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +2 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +67 -79
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +10 -10
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +13 -13
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +14 -14
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -3
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +29 -26
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -0
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +8 -8
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +28 -32
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +13 -13
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +10 -10
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +4 -4
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +10 -14
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +9 -9
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +4 -4
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +47 -47
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +21 -21
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +10 -10
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +9 -9
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +11 -11
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +8 -8
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +38 -38
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +3 -3
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +32 -33
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +17 -16
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +15 -15
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +15 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +4 -4
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +4 -4
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +3 -3
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +11 -11
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +19 -18
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +3 -3
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/Loading/index.js +15 -15
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +18 -16
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +5 -5
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +20 -19
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +3 -3
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +7 -7
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +13 -13
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/NavGroup/index.js +12 -12
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +7 -7
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js +8 -8
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/index.js +1 -0
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +3 -3
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +28 -28
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +10 -10
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.d.ts +2 -2
- package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +10 -10
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +5 -5
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +4 -4
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +278 -142
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +3 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +6 -6
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +3 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +6 -6
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +7 -7
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +16 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.d.ts.map +1 -1
- package/dist/elements/SortComplex/index.js +38 -51
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.js +38 -35
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +12 -12
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +3 -3
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +3 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +9 -9
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +31 -31
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +15 -15
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +12 -9
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +6 -6
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +27 -27
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +10 -10
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +29 -24
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +11 -11
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +5 -5
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -3
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +13 -10
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +5 -5
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +45 -45
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +11 -11
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/{DatePicker-QST7QHAX.js → CodeEditor-RZ32B2QF.js} +2 -2
- package/dist/exports/client/DatePicker-QW5V4BQV.js +14 -0
- package/dist/exports/client/DatePicker-QW5V4BQV.js.map +8 -0
- package/dist/exports/client/chunk-CKHKQPOO.js +26 -0
- package/dist/exports/client/{CodeEditor-5MCGR4GL.js.map → chunk-CKHKQPOO.js.map} +4 -4
- package/dist/exports/client/chunk-KZPVHMBR.js +29 -0
- package/dist/exports/client/chunk-KZPVHMBR.js.map +8 -0
- package/dist/exports/client/index.d.ts +8 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +16 -16
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.js +38 -38
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +27 -25
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +51 -49
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -3
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -13
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +25 -25
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +8 -8
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +26 -24
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +4 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +6 -6
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +18 -18
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +6 -4
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -7
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/Number/index.js +5 -5
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/input.js +24 -24
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +9 -9
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +4 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +4 -2
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +18 -18
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +18 -18
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +28 -28
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +10 -10
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +15 -0
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +71 -71
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.js +24 -24
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Textarea/Input.js +19 -19
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +11 -11
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +109 -104
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +20 -20
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +3 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +9 -9
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +16 -16
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +10 -10
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +44 -44
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useDebounce.js +3 -3
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +6 -6
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +3 -3
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useHotkey.js +18 -14
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +13 -13
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +3 -3
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/providers/Actions/index.js +4 -4
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +3 -3
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +9 -10
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +3 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +3 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +9 -10
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +2 -2
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +65 -59
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Params/index.d.ts +16 -0
- package/dist/providers/Params/index.d.ts.map +1 -1
- package/dist/providers/Params/index.js +19 -4
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +6 -6
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/SearchParams/index.d.ts +22 -4
- package/dist/providers/SearchParams/index.d.ts.map +1 -1
- package/dist/providers/SearchParams/index.js +28 -14
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +7 -8
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -7
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Translation/index.js +12 -12
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +3 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +2 -0
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +2 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/groupNavItems.js +3 -3
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/parseSearchParams.d.ts +4 -0
- package/dist/utilities/parseSearchParams.d.ts.map +1 -0
- package/dist/utilities/parseSearchParams.js +9 -0
- package/dist/utilities/parseSearchParams.js.map +1 -0
- package/dist/views/Edit/Auth/index.js +47 -47
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +16 -14
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +5 -5
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/List/index.js +20 -24
- package/dist/views/List/index.js.map +1 -1
- package/package.json +16 -17
- package/dist/exports/client/CodeEditor-5MCGR4GL.js +0 -26
- package/dist/exports/client/chunk-4SO5UCQD.js +0 -14
- package/dist/exports/client/chunk-4SO5UCQD.js.map +0 -8
- package/dist/exports/client/chunk-5LUHGAPX.js +0 -30
- package/dist/exports/client/chunk-5LUHGAPX.js.map +0 -8
- /package/dist/exports/client/{DatePicker-QST7QHAX.js.map → CodeEditor-RZ32B2QF.js.map} +0 -0
|
@@ -33,17 +33,17 @@ const DraggablePill = props => {
|
|
|
33
33
|
} = useDraggableSortable(t0);
|
|
34
34
|
const t1 = isDragging && `${baseClass}--is-dragging`;
|
|
35
35
|
let t2;
|
|
36
|
-
if ($[2] !==
|
|
36
|
+
if ($[2] !== className || $[3] !== t1) {
|
|
37
37
|
t2 = [t1, className].filter(Boolean);
|
|
38
|
-
$[2] =
|
|
39
|
-
$[3] =
|
|
38
|
+
$[2] = className;
|
|
39
|
+
$[3] = t1;
|
|
40
40
|
$[4] = t2;
|
|
41
41
|
} else {
|
|
42
42
|
t2 = $[4];
|
|
43
43
|
}
|
|
44
44
|
const t3 = t2.join(" ");
|
|
45
45
|
let t4;
|
|
46
|
-
if ($[5] !==
|
|
46
|
+
if ($[5] !== attributes || $[6] !== listeners || $[7] !== props || $[8] !== setNodeRef || $[9] !== t3 || $[10] !== transform) {
|
|
47
47
|
t4 = _jsx(StaticPill, {
|
|
48
48
|
...props,
|
|
49
49
|
className: t3,
|
|
@@ -56,12 +56,12 @@ const DraggablePill = props => {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
-
$[5] =
|
|
59
|
+
$[5] = attributes;
|
|
60
60
|
$[6] = listeners;
|
|
61
|
-
$[7] =
|
|
61
|
+
$[7] = props;
|
|
62
62
|
$[8] = setNodeRef;
|
|
63
|
-
$[9] =
|
|
64
|
-
$[10] =
|
|
63
|
+
$[9] = t3;
|
|
64
|
+
$[10] = transform;
|
|
65
65
|
$[11] = t4;
|
|
66
66
|
} else {
|
|
67
67
|
t4 = $[11];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","_jsxs","href","type","undefined","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType, HTMLAttributes } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) {\n Element = 'button'\n }\n if (to) {\n Element = Link\n }\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,eAAA,MAAqB;AAC5B,MAAMC,IAAA,GAAOD,eAAA,CAAgBE,OAAO;AACpC,OAAOC,KAAA,MAAW,QAAO,CAAC;AA8B1B,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,aAAA,GAAqCC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACzC;IAAAU,EAAA;IAAAC;EAAA,IAA0BH,KAAA;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAC,EAAA;IAEgEE,EAAA;MAAAF;IAAA;IAE1FD,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAFA;IAAAI,UAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC,UAAA;IAAAC;EAAA,IAAqEZ,oBAAA,CAAqBO,EAE1F;EAKgB,MAAAM,EAAA,GAAAJ,UAAA,IAAc,GAAAR,SAAA,eAA2B;EAAA,IAAAa,EAAA;EAAA,IAAAV,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","_jsxs","href","type","undefined","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType, HTMLAttributes } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) {\n Element = 'button'\n }\n if (to) {\n Element = Link\n }\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
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":"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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":"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","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ export const PreviewButton = () => {
|
|
|
23
23
|
t0 = $[1];
|
|
24
24
|
}
|
|
25
25
|
let t1;
|
|
26
|
-
if ($[2] !==
|
|
26
|
+
if ($[2] !== label || $[3] !== t0) {
|
|
27
27
|
t1 = _jsx(Button, {
|
|
28
28
|
buttonStyle: "secondary",
|
|
29
29
|
className: baseClass,
|
|
@@ -33,8 +33,8 @@ export const PreviewButton = () => {
|
|
|
33
33
|
size: "medium",
|
|
34
34
|
children: label
|
|
35
35
|
});
|
|
36
|
-
$[2] =
|
|
37
|
-
$[3] =
|
|
36
|
+
$[2] = label;
|
|
37
|
+
$[3] = t0;
|
|
38
38
|
$[4] = t1;
|
|
39
39
|
} else {
|
|
40
40
|
t1 = $[4];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Button","usePreviewURL","baseClass","PreviewButton","$","generatePreviewURL","label","t0","openPreviewWindow","t1","_jsx","buttonStyle","className","icon","iconPosition","onClick","size","children"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nexport const PreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAE9B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA0BA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACrC;IAAAO,kBAAA;IAAAC;EAAA,IAAsCL,aAAA;EAAA,IAAAM,EAAA;EAAA,IAAAH,CAAA,QAAAC,kBAAA;IASzBE,EAAA,GAAAA,CAAA,KACPF,kBAAA;MAAAG,iBAAA;IAAA,CAEA;IAAAJ,CAAA,MAAAC,kBAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Button","usePreviewURL","baseClass","PreviewButton","$","generatePreviewURL","label","t0","openPreviewWindow","t1","_jsx","buttonStyle","className","icon","iconPosition","onClick","size","children"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nexport const PreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAE9B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA0BA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACrC;IAAAO,kBAAA;IAAAC;EAAA,IAAsCL,aAAA;EAAA,IAAAM,EAAA;EAAA,IAAAH,CAAA,QAAAC,kBAAA;IASzBE,EAAA,GAAAA,CAAA,KACPF,kBAAA;MAAAG,iBAAA;IAAA,CAEA;IAAAJ,CAAA,MAAAC,kBAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAG,EAAA;IATJE,EAAA,GAAAC,IAAA,CAAAV,MAAA;MAAAW,WAAA,EACc;MAAAC,SAAA,EAAAV,SAAA;MAAAW,IAAA,EAEN;MAAAC,YAAA,EACO;MAAAC,OAAA,EAEJR,EAGP;MAAAS,IAAA,EAEG;MAAAC,QAAA,EAEJX;IAAA,C;;;;;;;SAbHG,E;CAgBJ","ignoreList":[]}
|
|
@@ -71,7 +71,7 @@ export const PublishButton = t0 => {
|
|
|
71
71
|
const operation = useOperation();
|
|
72
72
|
const forceDisable = operation === "update" && !modified;
|
|
73
73
|
let t3;
|
|
74
|
-
if ($[3] !==
|
|
74
|
+
if ($[3] !== api || $[4] !== collectionSlug || $[5] !== forceDisable || $[6] !== globalSlug || $[7] !== id || $[8] !== locale || $[9] !== serverURL || $[10] !== submit) {
|
|
75
75
|
t3 = async () => {
|
|
76
76
|
if (forceDisable) {
|
|
77
77
|
return;
|
|
@@ -97,13 +97,13 @@ export const PublishButton = t0 => {
|
|
|
97
97
|
skipValidation: true
|
|
98
98
|
});
|
|
99
99
|
};
|
|
100
|
-
$[3] =
|
|
101
|
-
$[4] =
|
|
102
|
-
$[5] =
|
|
103
|
-
$[6] =
|
|
104
|
-
$[7] =
|
|
105
|
-
$[8] =
|
|
106
|
-
$[9] =
|
|
100
|
+
$[3] = api;
|
|
101
|
+
$[4] = collectionSlug;
|
|
102
|
+
$[5] = forceDisable;
|
|
103
|
+
$[6] = globalSlug;
|
|
104
|
+
$[7] = id;
|
|
105
|
+
$[8] = locale;
|
|
106
|
+
$[9] = serverURL;
|
|
107
107
|
$[10] = submit;
|
|
108
108
|
$[11] = t3;
|
|
109
109
|
} else {
|
|
@@ -130,7 +130,7 @@ export const PublishButton = t0 => {
|
|
|
130
130
|
t5 = $[14];
|
|
131
131
|
}
|
|
132
132
|
let t6;
|
|
133
|
-
if ($[15] !==
|
|
133
|
+
if ($[15] !== docConfig || $[16] !== saveDraft) {
|
|
134
134
|
t6 = e => {
|
|
135
135
|
e.preventDefault();
|
|
136
136
|
e.stopPropagation();
|
|
@@ -138,15 +138,15 @@ export const PublishButton = t0 => {
|
|
|
138
138
|
saveDraft();
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
|
-
$[15] =
|
|
142
|
-
$[16] =
|
|
141
|
+
$[15] = docConfig;
|
|
142
|
+
$[16] = saveDraft;
|
|
143
143
|
$[17] = t6;
|
|
144
144
|
} else {
|
|
145
145
|
t6 = $[17];
|
|
146
146
|
}
|
|
147
147
|
useHotkey(t5, t6);
|
|
148
148
|
let t7;
|
|
149
|
-
if ($[18] !==
|
|
149
|
+
if ($[18] !== setHasPublishedDoc || $[19] !== setUnpublishedVersionCount || $[20] !== submit) {
|
|
150
150
|
t7 = () => {
|
|
151
151
|
submit({
|
|
152
152
|
overrides: {
|
|
@@ -156,16 +156,16 @@ export const PublishButton = t0 => {
|
|
|
156
156
|
setUnpublishedVersionCount(0);
|
|
157
157
|
setHasPublishedDoc(true);
|
|
158
158
|
};
|
|
159
|
-
$[18] =
|
|
159
|
+
$[18] = setHasPublishedDoc;
|
|
160
160
|
$[19] = setUnpublishedVersionCount;
|
|
161
|
-
$[20] =
|
|
161
|
+
$[20] = submit;
|
|
162
162
|
$[21] = t7;
|
|
163
163
|
} else {
|
|
164
164
|
t7 = $[21];
|
|
165
165
|
}
|
|
166
166
|
const publish = t7;
|
|
167
167
|
let t8;
|
|
168
|
-
if ($[22] !==
|
|
168
|
+
if ($[22] !== api || $[23] !== collectionSlug || $[24] !== globalSlug || $[25] !== id || $[26] !== serverURL || $[27] !== setHasPublishedDoc || $[28] !== submit) {
|
|
169
169
|
t8 = locale_0 => {
|
|
170
170
|
const params = qs.stringify({
|
|
171
171
|
publishSpecificLocale: locale_0
|
|
@@ -179,13 +179,13 @@ export const PublishButton = t0 => {
|
|
|
179
179
|
});
|
|
180
180
|
setHasPublishedDoc(true);
|
|
181
181
|
};
|
|
182
|
-
$[22] =
|
|
183
|
-
$[23] =
|
|
182
|
+
$[22] = api;
|
|
183
|
+
$[23] = collectionSlug;
|
|
184
184
|
$[24] = globalSlug;
|
|
185
|
-
$[25] =
|
|
186
|
-
$[26] =
|
|
187
|
-
$[27] =
|
|
188
|
-
$[28] =
|
|
185
|
+
$[25] = id;
|
|
186
|
+
$[26] = serverURL;
|
|
187
|
+
$[27] = setHasPublishedDoc;
|
|
188
|
+
$[28] = submit;
|
|
189
189
|
$[29] = t8;
|
|
190
190
|
} else {
|
|
191
191
|
t8 = $[29];
|
|
@@ -196,7 +196,7 @@ export const PublishButton = t0 => {
|
|
|
196
196
|
}
|
|
197
197
|
const t9 = !canPublish;
|
|
198
198
|
let t10;
|
|
199
|
-
if ($[30] !==
|
|
199
|
+
if ($[30] !== code || $[31] !== i18n?.language || $[32] !== localization || $[33] !== publishSpecificLocale || $[34] !== t) {
|
|
200
200
|
t10 = localization ? t11 => {
|
|
201
201
|
const {
|
|
202
202
|
close
|
|
@@ -216,9 +216,9 @@ export const PublishButton = t0 => {
|
|
|
216
216
|
}
|
|
217
217
|
});
|
|
218
218
|
} : undefined;
|
|
219
|
-
$[30] =
|
|
220
|
-
$[31] = i18n;
|
|
221
|
-
$[32] =
|
|
219
|
+
$[30] = code;
|
|
220
|
+
$[31] = i18n?.language;
|
|
221
|
+
$[32] = localization;
|
|
222
222
|
$[33] = publishSpecificLocale;
|
|
223
223
|
$[34] = t;
|
|
224
224
|
$[35] = t10;
|
|
@@ -226,7 +226,7 @@ export const PublishButton = t0 => {
|
|
|
226
226
|
t10 = $[35];
|
|
227
227
|
}
|
|
228
228
|
let t11;
|
|
229
|
-
if ($[36] !==
|
|
229
|
+
if ($[36] !== label || $[37] !== publish || $[38] !== t10 || $[39] !== t9) {
|
|
230
230
|
t11 = _jsx(FormSubmit, {
|
|
231
231
|
buttonId: "action-save",
|
|
232
232
|
disabled: t9,
|
|
@@ -236,10 +236,10 @@ export const PublishButton = t0 => {
|
|
|
236
236
|
type: "button",
|
|
237
237
|
children: label
|
|
238
238
|
});
|
|
239
|
-
$[36] =
|
|
239
|
+
$[36] = label;
|
|
240
240
|
$[37] = publish;
|
|
241
241
|
$[38] = t10;
|
|
242
|
-
$[39] =
|
|
242
|
+
$[39] = t9;
|
|
243
243
|
$[40] = t11;
|
|
244
244
|
} else {
|
|
245
245
|
t11 = $[40];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setUnpublishedVersionCount","unpublishedVersionCount","config","submit","modified","editDepth","code","locale","localization","routes","t1","serverURL","api","i18n","t","t2","hasNewerVersions","canPublish","operation","forceDisable","t3","search","action","method","overrides","_status","skipValidation","saveDraft","t4","Symbol","for","t5","cmdCtrlKey","keyCodes","t6","versions","e","preventDefault","stopPropagation","drafts","autosave","t7","publish","t8","locale_0","params","stringify","publishSpecificLocale","action_0","t9","t10","t11","close","locales","map","locale_1","formattedLabel","language","isActive","_jsx","ButtonGroup","children","Button","onClick","undefined","buttonId","disabled","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: locale } = useLocale()\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersionCount > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !hasPublishedDoc)\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setHasPublishedDoc(true)\n }, [setHasPublishedDoc, submit, setUnpublishedVersionCount])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization\n ? ({ close }) =>\n localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive = typeof locale === 'string' ? locale === code : locale.code === code\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', { locale: formattedLabel || locale.code })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setUnpublishedVersionCount","unpublishedVersionCount","config","submit","modified","editDepth","code","locale","localization","routes","t1","serverURL","api","i18n","t","t2","hasNewerVersions","canPublish","operation","forceDisable","t3","search","action","method","overrides","_status","skipValidation","saveDraft","t4","Symbol","for","t5","cmdCtrlKey","keyCodes","t6","e","preventDefault","stopPropagation","versions","drafts","autosave","t7","publish","t8","locale_0","params","stringify","publishSpecificLocale","action_0","t9","t10","language","t11","close","locales","map","locale_1","formattedLabel","isActive","_jsx","ButtonGroup","children","Button","onClick","undefined","buttonId","disabled","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: locale } = useLocale()\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersionCount > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !hasPublishedDoc)\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setHasPublishedDoc(true)\n }, [setHasPublishedDoc, submit, setUnpublishedVersionCount])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization\n ? ({ close }) =>\n localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive = typeof locale === 'string' ? locale === code : locale.code === code\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', { locale: formattedLabel || locale.code })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsJlD,CAAA"}
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { Modal, useModal } from '@faceless-ui/modal';
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import { useRouter } from 'next/navigation.js';
|
|
6
|
+
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
7
|
+
import * as qs from 'qs-esm';
|
|
7
8
|
import React, { useCallback, useState } from 'react';
|
|
8
9
|
import { toast } from 'sonner';
|
|
9
10
|
import { useAuth } from '../../providers/Auth/index.js';
|
|
10
11
|
import { useConfig } from '../../providers/Config/index.js';
|
|
11
12
|
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
12
|
-
import { useSearchParams } from '../../providers/SearchParams/index.js';
|
|
13
13
|
import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
|
|
14
14
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
15
15
|
import { requests } from '../../utilities/api.js';
|
|
16
|
+
import { parseSearchParams } from '../../utilities/parseSearchParams.js';
|
|
16
17
|
import { Button } from '../Button/index.js';
|
|
17
18
|
import { Pill } from '../Pill/index.js';
|
|
18
19
|
import './index.scss';
|
|
@@ -55,9 +56,7 @@ export const PublishMany = props => {
|
|
|
55
56
|
} = useSelection();
|
|
56
57
|
const [submitted, setSubmitted] = useState(false);
|
|
57
58
|
const router = useRouter();
|
|
58
|
-
const
|
|
59
|
-
stringifyParams
|
|
60
|
-
} = useSearchParams();
|
|
59
|
+
const searchParams = useSearchParams();
|
|
61
60
|
const collectionPermissions = permissions?.collections?.[slug];
|
|
62
61
|
const hasPermission = collectionPermissions?.update;
|
|
63
62
|
const modalSlug = `publish-${slug}`;
|
|
@@ -94,10 +93,11 @@ export const PublishMany = props => {
|
|
|
94
93
|
description: json.errors.map(error => error.message).join('\n')
|
|
95
94
|
});
|
|
96
95
|
}
|
|
97
|
-
router.replace(
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
router.replace(qs.stringify({
|
|
97
|
+
...parseSearchParams(searchParams),
|
|
98
|
+
page: selectAll ? '1' : undefined
|
|
99
|
+
}, {
|
|
100
|
+
addQueryPrefix: true
|
|
101
101
|
}));
|
|
102
102
|
clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
|
|
103
103
|
;
|
|
@@ -113,7 +113,7 @@ export const PublishMany = props => {
|
|
|
113
113
|
return addDefaultError();
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
|
-
}, [
|
|
116
|
+
}, [serverURL, api, slug, getQueryParams, i18n, toggleModal, modalSlug, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
|
|
117
117
|
if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {
|
|
118
118
|
return null;
|
|
119
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","PublishMany","props","clearRouteCache","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","stringifyParams","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","params","page","undefined","forEach","e","drafts","None","_jsxs","Fragment","_jsx","className","onClick","buttonStyle","id","size","type"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const { stringifyParams } = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n,\n modalSlug,\n plural,\n selectAll,\n serverURL,\n singular,\n slug,\n t,\n toggleModal,\n router,\n stringifyParams,\n clearRouteCache,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-publish\"\n onClick={submitted ? undefined : handlePublish}\n size=\"large\"\n >\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","Button","Pill","baseClass","PublishMany","props","clearRouteCache","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","searchParams","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","e","drafts","None","_jsxs","Fragment","_jsx","className","onClick","buttonStyle","id","size","type"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const searchParams = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n toggleModal,\n modalSlug,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-publish\"\n onClick={submitted ? undefined : handlePublish}\n size=\"large\"\n >\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InputProps } from 'react-select';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { Option } from '../types.js';
|
|
4
|
-
export declare const Input: React.FC<
|
|
4
|
+
export declare const Input: React.FC<InputProps<Option, any>>;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/Input/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/Input/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAanD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","components","SelectComponents","Input","props","_jsx","Fragment","undefined"],"sources":["../../../../src/elements/ReactSelect/Input/index.tsx"],"sourcesContent":["'use client'\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","components","SelectComponents","Input","props","_jsx","Fragment","undefined"],"sources":["../../../../src/elements/ReactSelect/Input/index.tsx"],"sourcesContent":["'use client'\nimport type { InputProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nexport const Input: React.FC<InputProps<Option, any>> = (props) => {\n return (\n <React.Fragment>\n <SelectComponents.Input\n {...props}\n /**\n * Adding `aria-activedescendant` fixes hydration error\n * source: https://github.com/JedWatson/react-select/issues/5459#issuecomment-1878037196\n */\n aria-activedescendant={undefined}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAClB,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAI/C,OAAO,MAAMC,KAAA,GAA4CC,KAAA;EACvD,oBACEC,IAAA,CAACL,KAAA,CAAMM,QAAQ;cACb,aAAAD,IAAA,CAACH,gBAAA,CAAiBC,KAAK;MACpB,GAAGC,KAAK;MACT;;;;MAIA,yBAAuBG;;;AAI/B","ignoreList":[]}
|
|
@@ -86,7 +86,7 @@ export const MultiValue = props => {
|
|
|
86
86
|
}
|
|
87
87
|
const classes = t9.join(" ");
|
|
88
88
|
let t10;
|
|
89
|
-
if ($[14] !==
|
|
89
|
+
if ($[14] !== attributes || $[15] !== classes || $[16] !== disableMouseDown || $[17] !== innerProps || $[18] !== isSortable || $[19] !== listeners || $[20] !== props || $[21] !== setNodeRef || $[22] !== transform) {
|
|
90
90
|
let t11;
|
|
91
91
|
if ($[24] !== disableMouseDown) {
|
|
92
92
|
t11 = e => {
|
|
@@ -118,15 +118,15 @@ export const MultiValue = props => {
|
|
|
118
118
|
}
|
|
119
119
|
})
|
|
120
120
|
});
|
|
121
|
-
$[14] =
|
|
122
|
-
$[15] =
|
|
123
|
-
$[16] =
|
|
124
|
-
$[17] =
|
|
125
|
-
$[18] =
|
|
126
|
-
$[19] =
|
|
127
|
-
$[20] =
|
|
128
|
-
$[21] =
|
|
129
|
-
$[22] =
|
|
121
|
+
$[14] = attributes;
|
|
122
|
+
$[15] = classes;
|
|
123
|
+
$[16] = disableMouseDown;
|
|
124
|
+
$[17] = innerProps;
|
|
125
|
+
$[18] = isSortable;
|
|
126
|
+
$[19] = listeners;
|
|
127
|
+
$[20] = props;
|
|
128
|
+
$[21] = setNodeRef;
|
|
129
|
+
$[22] = transform;
|
|
130
130
|
$[23] = t10;
|
|
131
131
|
} else {
|
|
132
132
|
t10 = $[23];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","components","SelectComponents","useDraggableSortable","baseClass","generateMultiValueDraggableID","optionData","valueFunction","value","MultiValue","props","$","className","data","innerProps","isDisabled","selectProps","t0","t1","undefined","customProps","t2","getOptionValue","isSortable","t3","disableMouseDown","t4","t5","t6","id","disabled","attributes","isDragging","listeners","setNodeRef","transform","t7","t8","t9","filter","Boolean","classes","join","t10","t11","e","stopPropagation","_jsx","Fragment","children","onMouseDown","ref","style"],"sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value'\n\nexport function generateMultiValueDraggableID(optionData, valueFunction) {\n return typeof valueFunction === 'function' ? valueFunction(optionData) : optionData.value\n}\nexport const MultiValue: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n className,\n data,\n innerProps,\n isDisabled,\n // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableMouseDown } = {}, getOptionValue, isSortable } = {},\n } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id: generateMultiValueDraggableID(data, getOptionValue),\n disabled: !isSortable,\n })\n\n const classes = [\n baseClass,\n className,\n !isDisabled && isSortable && 'draggable',\n isDragging && `${baseClass}--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <React.Fragment>\n <SelectComponents.MultiValue\n {...props}\n className={classes}\n innerProps={{\n ...(isSortable\n ? {\n ...attributes,\n ...listeners,\n }\n : {}),\n ...innerProps,\n onMouseDown: (e) => {\n if (!disableMouseDown) {\n // we need to prevent the dropdown from opening when clicking on the drag handle, but not when a modal is open (i.e. the 'Relationship' field component)\n e.stopPropagation()\n }\n },\n ref: setNodeRef,\n style: isSortable\n ? {\n transform,\n ...attributes?.style,\n }\n : {},\n }}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAClB,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAI/C,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,8BAA8BC,UAAU,EAAEC,aAAa;EACrE,OAAO,OAAOA,aAAA,KAAkB,aAAaA,aAAA,CAAcD,UAAA,IAAcA,UAAA,CAAWE,KAAK;AAC3F;AACA,OAAO,MAAMC,UAAA,GAAgDC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAC3D;IAAAa,SAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,UAAA;IAAAC,WAAA,EAAAC;EAAA,IAOIP,KAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAP,CAAA,QAAAM,EAAA;IADWC,EAAA,GAAAD,EAA2E,KAAAE,SAAA,QAA3EF,EAA2E;IAAAN,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA3E;IAAAS,WAAA,EAAAC,EAAA;IAAAC,cAAA;IAAAC;EAAA,IAAAL,EAA2E;EAAA,IAAAM,EAAA;EAAA,IAAAb,CAAA,QAAAU,EAAA;IAA5DG,EAAA,GAAAH,EAAyB,KAAAF,SAAA,QAAzBE,EAAyB;IAAAV,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAzB;IAAAc;EAAA,IAAAD,EAAyB;EAAA,IAAAE,EAAA;EAAA,IAAAf,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAW,cAAA;IAIjDI,EAAA,GAAArB,6BAAA,CAA8BQ,IAAA,EAAMS,cAAA;IAAAX,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAW,cAAA;IAAAX,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAC9B,MAAAgB,EAAA,IAACJ,UAAA;EAAA,IAAAK,EAAA;EAAA,IAAAjB,CAAA,QAAAe,EAAA,IAAAf,CAAA,QAAAgB,EAAA;IAF6EC,EAAA;MAAAC,EAAA,EACpFH,EAAoC;MAAAI,QAAA,EAC9BH;IAAC;IACbhB,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;IAAAhB,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAHA;IAAAoB,UAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC,UAAA;IAAAC;EAAA,IAAqEhC,oBAAA,CAAqByB,EAG1F;EAKE,MAAAQ,EAAA,IAACrB,UAAA,IAAcQ,UAAA,IAAc;EAC7B,MAAAc,EAAA,GAAAL,UAAA,IAAc,GAAA5B,SAAA,eAA2B;EAAA,IAAAkC,EAAA;EAAA,IAAA3B,CAAA,SAAAC,SAAA,IAAAD,CAAA,SAAAyB,EAAA,IAAAzB,CAAA,SAAA0B,EAAA;IAJ3BC,EAAA,IAAAlC,SAAA,EAEdQ,SAAA,EACAwB,EAA6B,EAC7BC,EAAyC,EAAAE,MAAA,CAAAC,OAEjC;IAAA7B,CAAA,OAAAC,SAAA;IAAAD,CAAA,OAAAyB,EAAA;IAAAzB,CAAA,OAAA0B,EAAA;IAAA1B,CAAA,OAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EANV,MAAA8B,OAAA,GAAgBH,EAMN,CAAAI,IAAA,CACF;EAAA,IAAAC,GAAA;EAAA,IAAAhC,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","components","SelectComponents","useDraggableSortable","baseClass","generateMultiValueDraggableID","optionData","valueFunction","value","MultiValue","props","$","className","data","innerProps","isDisabled","selectProps","t0","t1","undefined","customProps","t2","getOptionValue","isSortable","t3","disableMouseDown","t4","t5","t6","id","disabled","attributes","isDragging","listeners","setNodeRef","transform","t7","t8","t9","filter","Boolean","classes","join","t10","t11","e","stopPropagation","_jsx","Fragment","children","onMouseDown","ref","style"],"sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value'\n\nexport function generateMultiValueDraggableID(optionData, valueFunction) {\n return typeof valueFunction === 'function' ? valueFunction(optionData) : optionData.value\n}\nexport const MultiValue: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n className,\n data,\n innerProps,\n isDisabled,\n // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableMouseDown } = {}, getOptionValue, isSortable } = {},\n } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id: generateMultiValueDraggableID(data, getOptionValue),\n disabled: !isSortable,\n })\n\n const classes = [\n baseClass,\n className,\n !isDisabled && isSortable && 'draggable',\n isDragging && `${baseClass}--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <React.Fragment>\n <SelectComponents.MultiValue\n {...props}\n className={classes}\n innerProps={{\n ...(isSortable\n ? {\n ...attributes,\n ...listeners,\n }\n : {}),\n ...innerProps,\n onMouseDown: (e) => {\n if (!disableMouseDown) {\n // we need to prevent the dropdown from opening when clicking on the drag handle, but not when a modal is open (i.e. the 'Relationship' field component)\n e.stopPropagation()\n }\n },\n ref: setNodeRef,\n style: isSortable\n ? {\n transform,\n ...attributes?.style,\n }\n : {},\n }}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|