@rebasepro/admin 0.9.1-canary.ff338b5 → 0.10.1-canary.0a881d4
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/{CollectionEditorDialog-DbPpDDwb.js → CollectionEditorDialog-DMztwJ5S.js} +132 -40
- package/dist/CollectionEditorDialog-DMztwJ5S.js.map +1 -0
- package/dist/{PropertyEditView-DfJbZ67t.js → PropertyEditView-CjFCnftn.js} +19 -19
- package/dist/PropertyEditView-CjFCnftn.js.map +1 -0
- package/dist/{RouterCollectionsStudioView-C6XQ7Il5.js → RouterCollectionsStudioView-nDFQdKHA.js} +4 -4
- package/dist/RouterCollectionsStudioView-nDFQdKHA.js.map +1 -0
- package/dist/collection_editor/api/generateCollectionApi.d.ts +4 -4
- package/dist/collection_editor/pgColumnToProperty.d.ts +4 -3
- package/dist/collection_editor/serializable_types.d.ts +31 -30
- package/dist/collection_editor/serializable_utils.d.ts +6 -5
- package/dist/collection_editor/types/collection_editor_controller.d.ts +6 -5
- package/dist/collection_editor/types/collection_inference.d.ts +3 -2
- package/dist/collection_editor/types/config_controller.d.ts +8 -7
- package/dist/collection_editor/ui/AddKanbanColumnAction.d.ts +2 -2
- package/dist/collection_editor/ui/CollectionViewHeaderAction.d.ts +3 -2
- package/dist/collection_editor/ui/EditorCollectionAction.d.ts +1 -1
- package/dist/collection_editor/ui/EditorCollectionActionStart.d.ts +1 -1
- package/dist/collection_editor/ui/EditorEntityAction.d.ts +1 -1
- package/dist/collection_editor/ui/HomePageEditorCollectionAction.d.ts +1 -1
- package/dist/collection_editor/ui/KanbanSetupAction.d.ts +2 -2
- package/dist/collection_editor/ui/NewCollectionCard.d.ts +1 -1
- package/dist/collection_editor/ui/PropertyAddColumnComponent.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.d.ts +3 -3
- package/dist/collection_editor/ui/collection_editor/CollectionDetailsForm.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionEditorDialog.d.ts +5 -4
- package/dist/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionJsonImportDialog.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +3 -2
- package/dist/collection_editor/ui/collection_editor/CollectionStudioView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/CollectionsStudioView.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/EntityActionsEditTab.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/GeneralSettingsForm.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/GetCodeDialog.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/PropertyEditView.d.ts +3 -2
- package/dist/collection_editor/ui/collection_editor/PropertyTree.d.ts +2 -1
- package/dist/collection_editor/ui/collection_editor/SubcollectionsEditTab.d.ts +4 -3
- package/dist/collection_editor/ui/collection_editor/ViewModeSwitch.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/properties/BlockPropertyField.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/properties/MapPropertyField.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/properties/RepeatPropertyField.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/templates/blog_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/pages_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/products_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/templates/users_template.d.ts +2 -2
- package/dist/collection_editor/ui/collection_editor/utils/supported_fields.d.ts +1 -1
- package/dist/collection_editor/ui/collection_editor/utils/update_property_for_widget.d.ts +2 -1
- package/dist/collection_editor/useLocalCollectionsConfigController.d.ts +2 -2
- package/dist/collection_editor/validateCollectionJson.d.ts +2 -2
- package/dist/collection_editor_ui.js +4 -4
- package/dist/components/AdminModeSyncer.d.ts +1 -1
- package/dist/components/ClearFilterSortButton.d.ts +1 -1
- package/dist/components/CollectionPanel.d.ts +2 -2
- package/dist/components/CollectionTableBinding/CollectionRowActions.d.ts +4 -4
- package/dist/components/CollectionTableBinding/CollectionTableBinding.d.ts +1 -1
- package/dist/components/CollectionTableBinding/CollectionTableBindingProps.d.ts +3 -2
- package/dist/components/CollectionTableBinding/fields/TableMultipleRelationField.d.ts +3 -3
- package/dist/components/CollectionTableBinding/fields/TableReferenceField.d.ts +3 -3
- package/dist/components/CollectionTableBinding/fields/TableRelationField.d.ts +3 -3
- package/dist/components/CollectionTableBinding/internal/common.d.ts +2 -2
- package/dist/components/CollectionTableBinding/internal/popup_field/PopupFormField.d.ts +2 -2
- package/dist/components/CollectionViewBinding/BoardCardBinding.d.ts +3 -3
- package/dist/components/CollectionViewBinding/CollectionBoardViewBinding.d.ts +3 -3
- package/dist/components/CollectionViewBinding/CollectionCardViewBinding.d.ts +3 -3
- package/dist/components/CollectionViewBinding/CollectionListViewBinding.d.ts +3 -3
- package/dist/components/CollectionViewBinding/CollectionViewActions.d.ts +2 -3
- package/dist/components/CollectionViewBinding/CollectionViewBinding.d.ts +2 -2
- package/dist/components/CollectionViewBinding/CollectionViewStartActions.d.ts +2 -3
- package/dist/components/CollectionViewBinding/EntityCardBinding.d.ts +3 -3
- package/dist/components/CollectionViewBinding/FilterPresetsButton.d.ts +2 -1
- package/dist/components/CollectionViewBinding/SplitListView.d.ts +3 -3
- package/dist/components/CollectionViewBinding/ViewModeToggle.d.ts +1 -1
- package/dist/components/CollectionViewBinding/hooks/useCollectionInlineEditor.d.ts +3 -2
- package/dist/components/CollectionViewBinding/hooks/useKanbanDragAndDrop.d.ts +3 -2
- package/dist/components/CollectionViewBinding/useBoardDataController.d.ts +2 -2
- package/dist/components/CollectionViewBinding/usePreviewSlots.d.ts +9 -6
- package/dist/components/CollectionViewBinding/useSelectionController.d.ts +2 -1
- package/dist/components/DeleteEntityDialog.d.ts +2 -2
- package/dist/components/DetailViewBinding.d.ts +3 -3
- package/dist/components/DrawerNavigationGroup.d.ts +1 -1
- package/dist/components/EditViewBinding.d.ts +3 -3
- package/dist/components/EntityPreviewBinding.d.ts +3 -3
- package/dist/components/EntityViewBinding.d.ts +2 -2
- package/dist/components/HomePage/ContentHomePage.d.ts +1 -1
- package/dist/components/HomePage/HomePageDnD.d.ts +1 -1
- package/dist/components/HomePage/NavigationCardBinding.d.ts +1 -1
- package/dist/components/PropertyConfigBadge.d.ts +1 -1
- package/dist/components/RebaseAdmin.d.ts +1 -1
- package/dist/components/RebaseLayout.d.ts +1 -1
- package/dist/components/ReferenceTable/SelectionTableBinding.d.ts +2 -2
- package/dist/components/SelectableTable/SelectableTable.d.ts +3 -2
- package/dist/components/SelectableTable/SelectionStore.d.ts +1 -1
- package/dist/components/SelectableTable/filters/FilterFieldBinding.d.ts +2 -2
- package/dist/components/SidePanelBinding.d.ts +1 -1
- package/dist/components/admin/CreationResultDialog.d.ts +1 -1
- package/dist/components/common/default_entity_actions.d.ts +2 -1
- package/dist/components/field_configs.d.ts +20 -2
- package/dist/components/history/EntityHistoryEntry.d.ts +2 -2
- package/dist/components/history/EntityHistoryView.d.ts +1 -1
- package/dist/components/history/LastEditedByFormAction.d.ts +1 -1
- package/dist/components/history/LastEditedByIndicator.d.ts +2 -2
- package/dist/contexts/BreacrumbsContext.d.ts +1 -1
- package/dist/contexts/SideDialogsControllerContext.d.ts +1 -1
- package/dist/contexts/SidePanelControllerContext.d.ts +1 -1
- package/dist/data_export/export/ExportCollectionAction.d.ts +4 -3
- package/dist/data_import/components/ImportSaveInProgress.d.ts +2 -2
- package/dist/data_import/import/ImportCollectionAction.d.ts +2 -1
- package/dist/data_import/utils/data.d.ts +2 -1
- package/dist/editor.js.map +1 -1
- package/dist/export-CavEbZVF.js +518 -0
- package/dist/export-CavEbZVF.js.map +1 -0
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/form_utils.d.ts +4 -3
- package/dist/{history-GSa4BgDt.js → history-B1lIsrkX.js} +3 -3
- package/dist/history-B1lIsrkX.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/navigation/contexts/CollectionRegistryContext.d.ts +2 -2
- package/dist/hooks/navigation/contexts/NavigationStateContext.d.ts +1 -1
- package/dist/hooks/navigation/contexts/UrlContext.d.ts +1 -1
- package/dist/hooks/navigation/useBuildCollectionRegistryController.d.ts +2 -1
- package/dist/hooks/navigation/useBuildNavigationStateController.d.ts +7 -5
- package/dist/hooks/navigation/useBuildUrlController.d.ts +1 -1
- package/dist/hooks/navigation/useNavigationResolution.d.ts +6 -5
- package/dist/hooks/navigation/useResolvedCollections.d.ts +8 -7
- package/dist/hooks/navigation/useResolvedViews.d.ts +4 -2
- package/dist/hooks/navigation/useTopLevelNavigation.d.ts +2 -2
- package/dist/hooks/navigation/utils.d.ts +5 -5
- package/dist/hooks/useBreadcrumbsController.d.ts +1 -1
- package/dist/hooks/useBuildSidePanel.d.ts +4 -4
- package/dist/hooks/useCMSContext.d.ts +4 -2
- package/dist/hooks/useResolvedNavigationFrom.d.ts +5 -4
- package/dist/hooks/useResolvedUsers.d.ts +8 -0
- package/dist/hooks/useSelectionDialog.d.ts +1 -1
- package/dist/hooks/useSideDialogsController.d.ts +1 -1
- package/dist/hooks/useSidePanel.d.ts +1 -1
- package/dist/import-36UcGe71.js +328 -0
- package/dist/import-36UcGe71.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3300 -2
- package/dist/index.js.map +1 -0
- package/dist/preview/components/UrlComponentPreview.d.ts +3 -2
- package/dist/preview/components/UserPreview.d.ts +3 -2
- package/dist/preview/property_previews/StringPropertyPreview.d.ts +1 -1
- package/dist/preview/util.d.ts +2 -1
- package/dist/routes/CustomViewRoute.d.ts +1 -1
- package/dist/types/components/EntityFormActionsProps.d.ts +2 -2
- package/dist/types/components/EntityFormProps.d.ts +3 -3
- package/dist/types/fields.d.ts +2 -2
- package/dist/util/dataControllerAdapter.d.ts +1 -1
- package/dist/util/entity_actions.d.ts +1 -1
- package/dist/util/navigation_utils.d.ts +3 -3
- package/dist/util/previews.d.ts +22 -4
- package/dist/util/property_utils.d.ts +3 -2
- package/dist/util/resolutions.d.ts +1 -1
- package/dist/util/view_mode.d.ts +54 -0
- package/dist/{src-B8WuGSPZ.js → util-CPgUM4M8.js} +17385 -21194
- package/dist/util-CPgUM4M8.js.map +1 -0
- package/package.json +11 -9
- package/src/collection_editor/ConfigControllerProvider.tsx +11 -12
- package/src/collection_editor/api/generateCollectionApi.ts +4 -4
- package/src/collection_editor/pgColumnToProperty.ts +4 -3
- package/src/collection_editor/serializable_types.ts +36 -34
- package/src/collection_editor/serializable_utils.ts +17 -32
- package/src/collection_editor/types/collection_editor_controller.tsx +6 -5
- package/src/collection_editor/types/collection_inference.ts +3 -2
- package/src/collection_editor/types/config_controller.tsx +8 -7
- package/src/collection_editor/ui/AddKanbanColumnAction.tsx +3 -2
- package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +3 -2
- package/src/collection_editor/ui/EditorCollectionAction.tsx +3 -2
- package/src/collection_editor/ui/EditorCollectionActionStart.tsx +3 -2
- package/src/collection_editor/ui/EditorEntityAction.tsx +3 -2
- package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +1 -1
- package/src/collection_editor/ui/KanbanSetupAction.tsx +3 -2
- package/src/collection_editor/ui/MissingReferenceWidget.tsx +1 -1
- package/src/collection_editor/ui/NewCollectionCard.tsx +1 -1
- package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +6 -5
- package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +5 -7
- package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +28 -38
- package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +4 -3
- package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +4 -3
- package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +108 -12
- package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +2 -2
- package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +4 -3
- package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +4 -4
- package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +5 -4
- package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +4 -3
- package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +2 -1
- package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +6 -5
- package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/import/CollectionEditorImportMapping.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +2 -1
- package/src/collection_editor/ui/collection_editor/properties/CommonPropertyFields.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/EnumPropertyField.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +3 -2
- package/src/collection_editor/ui/collection_editor/properties/RepeatPropertyField.tsx +2 -1
- package/src/collection_editor/ui/collection_editor/templates/blog_template.ts +3 -3
- package/src/collection_editor/ui/collection_editor/templates/pages_template.ts +3 -3
- package/src/collection_editor/ui/collection_editor/templates/products_template.ts +4 -4
- package/src/collection_editor/ui/collection_editor/templates/users_template.ts +2 -2
- package/src/collection_editor/ui/collection_editor/utils/supported_fields.tsx +1 -1
- package/src/collection_editor/ui/collection_editor/utils/update_property_for_widget.ts +10 -8
- package/src/collection_editor/useJsonCollectionsConfigController.tsx +10 -9
- package/src/collection_editor/useLocalCollectionsConfigController.tsx +5 -5
- package/src/collection_editor/validateCollectionJson.ts +4 -5
- package/src/components/AdminModeSyncer.tsx +1 -1
- package/src/components/ClearFilterSortButton.tsx +1 -1
- package/src/components/CollectionPanel.tsx +5 -4
- package/src/components/CollectionTableBinding/CollectionRowActions.tsx +7 -7
- package/src/components/CollectionTableBinding/CollectionTableBinding.tsx +5 -4
- package/src/components/CollectionTableBinding/CollectionTableBindingProps.tsx +3 -2
- package/src/components/CollectionTableBinding/PropertyTableCell.tsx +5 -5
- package/src/components/CollectionTableBinding/fields/TableMultipleRelationField.tsx +4 -3
- package/src/components/CollectionTableBinding/fields/TableReferenceField.tsx +6 -5
- package/src/components/CollectionTableBinding/fields/TableRelationField.tsx +4 -3
- package/src/components/CollectionTableBinding/internal/common.tsx +8 -7
- package/src/components/CollectionTableBinding/internal/popup_field/PopupFormField.tsx +5 -4
- package/src/components/CollectionTableBinding/table_bindings.tsx +7 -7
- package/src/components/CollectionViewBinding/BoardCardBinding.tsx +6 -5
- package/src/components/CollectionViewBinding/CollectionBoardViewBinding.tsx +6 -7
- package/src/components/CollectionViewBinding/CollectionCardViewBinding.tsx +4 -3
- package/src/components/CollectionViewBinding/CollectionListViewBinding.tsx +10 -13
- package/src/components/CollectionViewBinding/CollectionViewActions.tsx +4 -4
- package/src/components/CollectionViewBinding/CollectionViewBinding.tsx +93 -142
- package/src/components/CollectionViewBinding/CollectionViewStartActions.tsx +7 -11
- package/src/components/CollectionViewBinding/EntityCardBinding.tsx +6 -5
- package/src/components/CollectionViewBinding/FilterPresetsButton.tsx +2 -1
- package/src/components/CollectionViewBinding/FiltersDialog.tsx +2 -2
- package/src/components/CollectionViewBinding/SplitListView.tsx +120 -68
- package/src/components/CollectionViewBinding/ViewModeToggle.tsx +1 -1
- package/src/components/CollectionViewBinding/hooks/useCollectionInlineEditor.ts +3 -2
- package/src/components/CollectionViewBinding/hooks/useKanbanDragAndDrop.ts +3 -2
- package/src/components/CollectionViewBinding/useBoardDataController.tsx +3 -2
- package/src/components/CollectionViewBinding/usePreviewSlots.ts +57 -25
- package/src/components/CollectionViewBinding/useSelectionController.tsx +2 -1
- package/src/components/DefaultDrawer.tsx +2 -2
- package/src/components/DeleteEntityDialog.tsx +3 -2
- package/src/components/DetailViewBinding.tsx +27 -20
- package/src/components/DrawerNavigationGroup.tsx +1 -1
- package/src/components/EditFormActions.tsx +7 -7
- package/src/components/EditViewBinding.tsx +14 -17
- package/src/components/EntityPreviewBinding.tsx +9 -7
- package/src/components/EntityViewBinding.tsx +3 -3
- package/src/components/HomePage/ContentHomePage.tsx +4 -3
- package/src/components/HomePage/FavouritesView.tsx +2 -2
- package/src/components/HomePage/HomePageDnD.tsx +1 -1
- package/src/components/HomePage/NavigationCardBinding.tsx +2 -2
- package/src/components/PropertyConfigBadge.tsx +2 -1
- package/src/components/RebaseAdmin.tsx +1 -1
- package/src/components/RebaseAuthGate.tsx +1 -1
- package/src/components/RebaseLayout.tsx +1 -1
- package/src/components/RebaseNavigation.tsx +4 -3
- package/src/components/RebaseRouteDefs.tsx +1 -1
- package/src/components/ReferenceTable/SelectionTableBinding.tsx +8 -6
- package/src/components/ReferenceWidget.tsx +4 -3
- package/src/components/SelectableTable/SelectableTable.tsx +3 -3
- package/src/components/SelectableTable/SelectionStore.ts +1 -1
- package/src/components/SelectableTable/filters/FilterFieldBinding.tsx +9 -6
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +4 -3
- package/src/components/SideDialogs.tsx +2 -2
- package/src/components/SidePanelBinding.tsx +51 -13
- package/src/components/SidePanelProvider.tsx +15 -12
- package/src/components/admin/CreationResultDialog.tsx +1 -1
- package/src/components/common/default_entity_actions.tsx +3 -2
- package/src/components/field_configs.tsx +49 -31
- package/src/components/history/EntityHistoryEntry.tsx +3 -2
- package/src/components/history/EntityHistoryView.tsx +2 -2
- package/src/components/history/LastEditedByFormAction.tsx +1 -1
- package/src/components/history/LastEditedByIndicator.tsx +3 -2
- package/src/contexts/BreacrumbsContext.tsx +1 -1
- package/src/contexts/SideDialogsControllerContext.tsx +1 -1
- package/src/contexts/SidePanelControllerContext.tsx +1 -1
- package/src/data_export/export/ExportCollectionAction.tsx +5 -4
- package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +2 -4
- package/src/data_import/components/ImportSaveInProgress.tsx +4 -3
- package/src/data_import/import/ImportCollectionAction.tsx +9 -8
- package/src/data_import/utils/data.ts +3 -2
- package/src/editor/selectors/color-selector.tsx +1 -1
- package/src/editor/selectors/node-selector.tsx +1 -1
- package/src/editor/selectors/text-buttons.tsx +1 -1
- package/src/form/EntityForm.tsx +23 -11
- package/src/form/EntityFormActions.tsx +3 -3
- package/src/form/EntityFormBinding.tsx +9 -5
- package/src/form/PropertyFieldBinding.tsx +15 -12
- package/src/form/components/FieldHelperText.tsx +1 -1
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +7 -5
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +10 -8
- package/src/form/field_bindings/BlockFieldBinding.tsx +6 -5
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +3 -2
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +3 -2
- package/src/form/field_bindings/MapFieldBinding.tsx +9 -8
- package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +3 -2
- package/src/form/field_bindings/MultiSelectFieldBinding.tsx +2 -1
- package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +4 -3
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +2 -1
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +7 -5
- package/src/form/field_bindings/RelationFieldBinding.tsx +4 -3
- package/src/form/field_bindings/RepeatFieldBinding.tsx +7 -6
- package/src/form/field_bindings/SelectFieldBinding.tsx +3 -2
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +4 -3
- package/src/form/field_bindings/SwitchFieldBinding.tsx +3 -2
- package/src/form/field_bindings/TextFieldBinding.tsx +10 -9
- package/src/form/field_bindings/UserSelectFieldBinding.tsx +3 -2
- package/src/form/field_bindings/VectorFieldBinding.tsx +2 -1
- package/src/form/form_utils.ts +5 -3
- package/src/form/useClearRestoreValue.tsx +1 -1
- package/src/form/validation.ts +1 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/navigation/contexts/CollectionRegistryContext.tsx +3 -2
- package/src/hooks/navigation/contexts/NavigationStateContext.tsx +1 -1
- package/src/hooks/navigation/contexts/UrlContext.tsx +1 -1
- package/src/hooks/navigation/useBuildCollectionRegistryController.tsx +19 -15
- package/src/hooks/navigation/useBuildNavigationStateController.tsx +8 -6
- package/src/hooks/navigation/useBuildUrlController.tsx +2 -2
- package/src/hooks/navigation/useNavigationResolution.ts +15 -21
- package/src/hooks/navigation/useResolvedCollections.ts +10 -9
- package/src/hooks/navigation/useResolvedViews.tsx +4 -2
- package/src/hooks/navigation/useTopLevelNavigation.ts +3 -2
- package/src/hooks/navigation/utils.ts +6 -5
- package/src/hooks/useBreadcrumbsController.tsx +1 -1
- package/src/hooks/useBuildSidePanel.tsx +16 -11
- package/src/hooks/useCMSContext.tsx +8 -4
- package/src/hooks/useResolvedNavigationFrom.tsx +7 -5
- package/src/hooks/useResolvedUsers.ts +143 -0
- package/src/hooks/useSelectionDialog.tsx +6 -5
- package/src/hooks/useSideDialogsController.tsx +1 -1
- package/src/hooks/useSidePanel.tsx +1 -1
- package/src/index.ts +2 -1
- package/src/preview/PropertyPreview.tsx +11 -11
- package/src/preview/components/ImagePreview.tsx +1 -1
- package/src/preview/components/ReferencePreview.tsx +7 -6
- package/src/preview/components/RelationPreview.tsx +8 -7
- package/src/preview/components/UrlComponentPreview.tsx +3 -10
- package/src/preview/components/UserPreview.tsx +13 -4
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +1 -1
- package/src/preview/property_previews/ArrayOfRelationsPreview.tsx +1 -1
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +1 -1
- package/src/preview/property_previews/NumberPropertyPreview.tsx +1 -1
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +2 -2
- package/src/preview/property_previews/StringPropertyPreview.tsx +19 -13
- package/src/preview/util.ts +10 -1
- package/src/routes/CustomViewRoute.tsx +3 -2
- package/src/routes/RebaseRoute.tsx +27 -30
- package/src/types/components/EntityFormActionsProps.tsx +3 -2
- package/src/types/components/EntityFormProps.tsx +4 -3
- package/src/types/fields.tsx +3 -2
- package/src/util/dataControllerAdapter.ts +2 -1
- package/src/util/entity_actions.ts +1 -1
- package/src/util/navigation_utils.ts +6 -18
- package/src/util/previews.ts +43 -53
- package/src/util/propertyConfigMapper.ts +7 -7
- package/src/util/property_utils.tsx +5 -4
- package/src/util/resolutions.ts +1 -1
- package/src/util/view_mode.ts +103 -0
- package/dist/CollectionEditorDialog-DbPpDDwb.js.map +0 -1
- package/dist/PropertyEditView-DfJbZ67t.js.map +0 -1
- package/dist/RouterCollectionsStudioView-C6XQ7Il5.js.map +0 -1
- package/dist/history-GSa4BgDt.js.map +0 -1
- package/dist/src-B8WuGSPZ.js.map +0 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as updatePropertyFromWidget, c as useAIModifiedPaths, i as supportedFields, l as useSafeSnackbarController, n as PropertyForm, o as PropertyTree, r as PropertyFormDialog, s as AIModifiedPathsProvider } from "./PropertyEditView-
|
|
2
|
+
import { Dt as ImportSaveInProgress, Et as useImportConfig, Fn as useCollectionRegistryController, Mt as PropertyConfigBadge, Nt as SearchIconsView, O as getFieldConfig, Ot as ImportFileUpload, Pt as FieldCaption, Qt as CollectionTableBinding, St as convertDataToEntity, Tt as getInferenceType, Xt as useSelectionController, _t as useCollectionEditorController, an as useNavigationStateController, bt as ImportNewPropertyFieldPreview, g as useCollectionsConfigController, i as namespaceToPropertiesOrderPath, k as getFieldId, l as validateCollectionJson, n as getFullIdPath, o as CollectionGenerationApiError, p as toSerializableCollectionConfig, r as idToPropertiesPath, rn as useUrlController, t as getFullId, xt as DataNewPropertiesMapping } from "./util-CPgUM4M8.js";
|
|
3
|
+
import { a as updatePropertyFromWidget, c as useAIModifiedPaths, i as supportedFields, l as useSafeSnackbarController, n as PropertyForm, o as PropertyTree, r as PropertyFormDialog, s as AIModifiedPathsProvider } from "./PropertyEditView-CjFCnftn.js";
|
|
4
4
|
import * as React$1 from "react";
|
|
5
5
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
6
6
|
import { Alert, AppWindow, ArrowLeftIcon, BooleanSwitchWithLabel, Button, Card, CheckIcon, Chip, CircularProgress, CircularProgressCenter, CodeIcon, ColumnsIcon, Container, CopyIcon, DebouncedTextField, Dialog, DialogActions, DialogContent, DialogTitle, ErrorBoundary, FileIcon, FileSearchIcon, FileTextIcon, IconButton, KanbanIcon, KeyIcon, LayoutGridIcon, ListIcon, LoadingButton, Menu, MultiSelect, MultiSelectItem, PanelLeftIcon, Paper, PlusIcon, Select, SelectItem, ShoppingCartIcon, SquareIcon, Tab, TableIcon, Tabs, TextField, ToggleButtonGroup, Tooltip, Trash2Icon, Typography, UserIcon, XIcon, cls, coolIconKeys, defaultBorderMixin, iconSize } from "@rebasepro/ui";
|
|
7
|
-
import { getEffectiveSecurityRules, getSubcollections, getTableName, isPropertyBuilder
|
|
8
|
-
import { AIIcon, ConfirmationDialog, ErrorView, IconForView, UnsavedChangesDialog, useAuthController, useCustomizationController, useLargeLayout, useRebaseContext, useUnsavedChangesDialog } from "@rebasepro/app";
|
|
7
|
+
import { getEffectiveSecurityRules, getSubcollections, getTableName, isPropertyBuilder } from "@rebasepro/common";
|
|
8
|
+
import { AIIcon, ConfirmationDialog, ErrorView, IconForView, UnsavedChangesDialog, removeInitialAndTrailingSlashes, useAuthController, useCustomizationController, useLargeLayout, useRebaseContext, useUnsavedChangesDialog } from "@rebasepro/app";
|
|
9
9
|
import { Field, Formex, clone, getIn, useCreateFormex, useFormex } from "@rebasepro/forms";
|
|
10
|
-
import {
|
|
10
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { camelCase, getPolicyNamesForRule, getPolicyNamesForRules, isEmptyObject, mergeDeep, prettifyIdentifier, randomString, removeUndefined, singular, slugify, toSnakeCase, unslugify } from "@rebasepro/utils";
|
|
12
12
|
import { getDataSourceCapabilities } from "@rebasepro/types";
|
|
13
|
-
import {
|
|
14
|
-
import { Highlight, themes } from "prism-react-renderer";
|
|
13
|
+
import { z } from "zod";
|
|
15
14
|
import { buildEntityPropertiesFromData, buildPropertyFromData } from "@rebasepro/inference";
|
|
15
|
+
import { Highlight, themes } from "prism-react-renderer";
|
|
16
16
|
import JSON5 from "json5";
|
|
17
17
|
//#region src/collection_editor/ui/collection_editor/CollectionYupValidation.tsx
|
|
18
18
|
var CollectionEditorSchema = z.object({
|
|
@@ -580,7 +580,7 @@ function DisplaySettingsForm({ expandKanban, standalone }) {
|
|
|
580
580
|
property: {
|
|
581
581
|
type: "string",
|
|
582
582
|
name: dialogPropertyName,
|
|
583
|
-
|
|
583
|
+
admin: {
|
|
584
584
|
disabled: true,
|
|
585
585
|
hideFromCollection: true
|
|
586
586
|
}
|
|
@@ -682,7 +682,7 @@ function DisplaySettingsForm({ expandKanban, standalone }) {
|
|
|
682
682
|
//#region src/collection_editor/ui/collection_editor/GetCodeDialog.tsx
|
|
683
683
|
function GetCodeDialog({ collection, onOpenChange, open }) {
|
|
684
684
|
const snackbarController = useSafeSnackbarController();
|
|
685
|
-
const code = collection ? "import {
|
|
685
|
+
const code = collection ? "import { AdminCollection } from \"@rebasepro/app\";\n\nconst " + (collection?.name ? camelCase(collection.name) : "my") + "Collection:AdminCollection = " + JSON5.stringify(collectionToCode({ ...collection }), null, " ") : "No collection selected";
|
|
686
686
|
return /* @__PURE__ */ jsxs(Dialog, {
|
|
687
687
|
open,
|
|
688
688
|
onOpenChange,
|
|
@@ -1332,7 +1332,7 @@ var productsCollectionTemplate = {
|
|
|
1332
1332
|
available: {
|
|
1333
1333
|
type: "boolean",
|
|
1334
1334
|
name: "Available",
|
|
1335
|
-
|
|
1335
|
+
admin: { columnWidth: 100 },
|
|
1336
1336
|
description: "Is this product available in the website"
|
|
1337
1337
|
},
|
|
1338
1338
|
price: {
|
|
@@ -1346,7 +1346,7 @@ var productsCollectionTemplate = {
|
|
|
1346
1346
|
images: {
|
|
1347
1347
|
type: "array",
|
|
1348
1348
|
name: "Images",
|
|
1349
|
-
|
|
1349
|
+
admin: { hideFromCollection: true },
|
|
1350
1350
|
of: {
|
|
1351
1351
|
type: "string",
|
|
1352
1352
|
storage: {
|
|
@@ -1473,7 +1473,7 @@ var blogCollectionTemplate = {
|
|
|
1473
1473
|
publish_date: {
|
|
1474
1474
|
name: "Publish date",
|
|
1475
1475
|
type: "date",
|
|
1476
|
-
|
|
1476
|
+
admin: { clearable: true }
|
|
1477
1477
|
},
|
|
1478
1478
|
reviewed: {
|
|
1479
1479
|
name: "Reviewed",
|
|
@@ -1706,7 +1706,7 @@ var pagesCollectionTemplate = {
|
|
|
1706
1706
|
is_published: {
|
|
1707
1707
|
type: "boolean",
|
|
1708
1708
|
name: "Is Published",
|
|
1709
|
-
|
|
1709
|
+
admin: { columnWidth: 100 },
|
|
1710
1710
|
description: "Should this page be live on the site?"
|
|
1711
1711
|
}
|
|
1712
1712
|
}
|
|
@@ -2381,6 +2381,38 @@ function CollectionRLSTab() {
|
|
|
2381
2381
|
values.table,
|
|
2382
2382
|
values.alias
|
|
2383
2383
|
]);
|
|
2384
|
+
/**
|
|
2385
|
+
* Application roles available to `SecurityRule.roles`.
|
|
2386
|
+
*
|
|
2387
|
+
* Deliberately NOT `fetchAvailableRoles` — that returns native pg_roles
|
|
2388
|
+
* (postgres, rebase_user, …), which can never satisfy an application-role
|
|
2389
|
+
* condition.
|
|
2390
|
+
*/
|
|
2391
|
+
const [availableRoles, setAvailableRoles] = useState([]);
|
|
2392
|
+
const [rolesUnavailable, setRolesUnavailable] = useState(false);
|
|
2393
|
+
useEffect(() => {
|
|
2394
|
+
let mounted = true;
|
|
2395
|
+
const fetchRoles = async () => {
|
|
2396
|
+
if (!databaseAdmin?.fetchApplicationRoles) {
|
|
2397
|
+
if (mounted) setRolesUnavailable(true);
|
|
2398
|
+
return;
|
|
2399
|
+
}
|
|
2400
|
+
try {
|
|
2401
|
+
const fetched = await databaseAdmin.fetchApplicationRoles();
|
|
2402
|
+
if (mounted) {
|
|
2403
|
+
setAvailableRoles(fetched);
|
|
2404
|
+
setRolesUnavailable(false);
|
|
2405
|
+
}
|
|
2406
|
+
} catch (e) {
|
|
2407
|
+
console.error("Failed to fetch application roles", e);
|
|
2408
|
+
if (mounted) setRolesUnavailable(true);
|
|
2409
|
+
}
|
|
2410
|
+
};
|
|
2411
|
+
fetchRoles();
|
|
2412
|
+
return () => {
|
|
2413
|
+
mounted = false;
|
|
2414
|
+
};
|
|
2415
|
+
}, [databaseAdmin]);
|
|
2384
2416
|
const tableName = values.id || values.table || values.alias;
|
|
2385
2417
|
/**
|
|
2386
2418
|
* Every policy name `rebase db push` would write for this collection.
|
|
@@ -2483,7 +2515,7 @@ function CollectionRLSTab() {
|
|
|
2483
2515
|
tablename: values.id || values.table || values.alias || "your_table",
|
|
2484
2516
|
permissive: (rule.mode || "permissive").toUpperCase(),
|
|
2485
2517
|
cmd: (rule.operation || "ALL").toUpperCase(),
|
|
2486
|
-
roles: rule.roles || [
|
|
2518
|
+
roles: rule.roles || [],
|
|
2487
2519
|
qual: rule.using || null,
|
|
2488
2520
|
with_check: rule.withCheck || null
|
|
2489
2521
|
}),
|
|
@@ -2588,6 +2620,8 @@ function CollectionRLSTab() {
|
|
|
2588
2620
|
children: editingPolicy && /* @__PURE__ */ jsx(InlinePolicyEditor, {
|
|
2589
2621
|
policy: editingPolicy === "new" ? void 0 : editingPolicy,
|
|
2590
2622
|
table: values.id || values.table || values.alias || "your_table",
|
|
2623
|
+
availableRoles,
|
|
2624
|
+
rolesUnavailable,
|
|
2591
2625
|
onSave: handleSave,
|
|
2592
2626
|
onCancel: () => setEditingPolicy(null)
|
|
2593
2627
|
})
|
|
@@ -2602,20 +2636,31 @@ var COMMAND_OPTIONS = [
|
|
|
2602
2636
|
"UPDATE",
|
|
2603
2637
|
"DELETE"
|
|
2604
2638
|
];
|
|
2605
|
-
|
|
2606
|
-
"public",
|
|
2607
|
-
"authenticated",
|
|
2608
|
-
"anon",
|
|
2609
|
-
"admin"
|
|
2610
|
-
];
|
|
2611
|
-
function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
|
|
2639
|
+
function InlinePolicyEditor({ policy, table, availableRoles, rolesUnavailable, onSave, onCancel }) {
|
|
2612
2640
|
const [name, setName] = useState(policy?.policyname || "");
|
|
2613
2641
|
const [behavior, setBehavior] = useState(policy?.permissive || "PERMISSIVE");
|
|
2614
2642
|
const [command, setCommand] = useState(policy?.cmd || "ALL");
|
|
2615
|
-
const [roles, setRoles] = useState(policy?.roles ? Array.isArray(policy.roles) ? policy.roles : [policy.roles] : [
|
|
2643
|
+
const [roles, setRoles] = useState(policy?.roles ? Array.isArray(policy.roles) ? policy.roles : [policy.roles] : []);
|
|
2644
|
+
const [customRole, setCustomRole] = useState("");
|
|
2616
2645
|
const [usingExpr, setUsingExpr] = useState(policy?.qual || "");
|
|
2617
2646
|
const [checkExpr, setCheckExpr] = useState(policy?.with_check || "");
|
|
2618
2647
|
const showCheck = command === "ALL" || command === "INSERT" || command === "UPDATE";
|
|
2648
|
+
/**
|
|
2649
|
+
* Roles offered in the dropdown: those in use in the project, plus any the
|
|
2650
|
+
* rule already carries. The union matters — application roles are derived
|
|
2651
|
+
* from what users hold, so a role that is referenced here but assigned to
|
|
2652
|
+
* nobody would otherwise vanish from its own policy on the next save.
|
|
2653
|
+
*/
|
|
2654
|
+
const roleOptions = useMemo(() => Array.from(new Set([...availableRoles, ...roles])).sort(), [availableRoles, roles]);
|
|
2655
|
+
const addCustomRole = () => {
|
|
2656
|
+
const trimmed = customRole.trim();
|
|
2657
|
+
if (!trimmed || roles.includes(trimmed)) {
|
|
2658
|
+
setCustomRole("");
|
|
2659
|
+
return;
|
|
2660
|
+
}
|
|
2661
|
+
setRoles([...roles, trimmed]);
|
|
2662
|
+
setCustomRole("");
|
|
2663
|
+
};
|
|
2619
2664
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2620
2665
|
/* @__PURE__ */ jsxs(DialogTitle, {
|
|
2621
2666
|
variant: "h6",
|
|
@@ -2685,20 +2730,67 @@ function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
|
|
|
2685
2730
|
}),
|
|
2686
2731
|
/* @__PURE__ */ jsxs("div", {
|
|
2687
2732
|
className: "flex flex-col gap-1.5",
|
|
2688
|
-
children: [
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2733
|
+
children: [
|
|
2734
|
+
/* @__PURE__ */ jsx(Typography, {
|
|
2735
|
+
variant: "caption",
|
|
2736
|
+
className: "uppercase tracking-wider text-text-secondary",
|
|
2737
|
+
children: "Application Roles"
|
|
2738
|
+
}),
|
|
2739
|
+
/* @__PURE__ */ jsxs(Typography, {
|
|
2740
|
+
variant: "caption",
|
|
2741
|
+
className: "text-text-secondary opacity-80 -mt-1",
|
|
2742
|
+
children: [
|
|
2743
|
+
"Roles held by users of this project, matched via ",
|
|
2744
|
+
/* @__PURE__ */ jsx("span", {
|
|
2745
|
+
className: "font-mono",
|
|
2746
|
+
children: "auth.roles()"
|
|
2747
|
+
}),
|
|
2748
|
+
". These are not PostgreSQL roles — leave empty to apply the policy to everyone."
|
|
2749
|
+
]
|
|
2750
|
+
}),
|
|
2751
|
+
roleOptions.length > 0 && /* @__PURE__ */ jsx(MultiSelect, {
|
|
2752
|
+
size: "small",
|
|
2753
|
+
value: roles,
|
|
2754
|
+
onValueChange: setRoles,
|
|
2755
|
+
placeholder: "Select roles",
|
|
2756
|
+
children: roleOptions.map((r) => /* @__PURE__ */ jsx(MultiSelectItem, {
|
|
2757
|
+
value: r,
|
|
2758
|
+
children: r
|
|
2759
|
+
}, r))
|
|
2760
|
+
}),
|
|
2761
|
+
rolesUnavailable && roleOptions.length === 0 && /* @__PURE__ */ jsx(Typography, {
|
|
2762
|
+
variant: "caption",
|
|
2763
|
+
className: "text-text-secondary opacity-80",
|
|
2764
|
+
children: "Could not load the project's roles — enter them manually below."
|
|
2765
|
+
}),
|
|
2766
|
+
!rolesUnavailable && roleOptions.length === 0 && /* @__PURE__ */ jsx(Typography, {
|
|
2767
|
+
variant: "caption",
|
|
2768
|
+
className: "text-text-secondary opacity-80",
|
|
2769
|
+
children: "No roles are assigned to any user yet — enter one manually below."
|
|
2770
|
+
}),
|
|
2771
|
+
/* @__PURE__ */ jsxs("div", {
|
|
2772
|
+
className: "flex gap-2 items-center",
|
|
2773
|
+
children: [/* @__PURE__ */ jsx(TextField, {
|
|
2774
|
+
size: "small",
|
|
2775
|
+
value: customRole,
|
|
2776
|
+
onChange: (e) => setCustomRole(e.target.value),
|
|
2777
|
+
onKeyDown: (e) => {
|
|
2778
|
+
if (e.key === "Enter") {
|
|
2779
|
+
e.preventDefault();
|
|
2780
|
+
addCustomRole();
|
|
2781
|
+
}
|
|
2782
|
+
},
|
|
2783
|
+
placeholder: "Add a role not listed, e.g. editor"
|
|
2784
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
2785
|
+
size: "small",
|
|
2786
|
+
variant: "outlined",
|
|
2787
|
+
color: "neutral",
|
|
2788
|
+
disabled: !customRole.trim(),
|
|
2789
|
+
onClick: addCustomRole,
|
|
2790
|
+
children: "Add"
|
|
2791
|
+
})]
|
|
2792
|
+
})
|
|
2793
|
+
]
|
|
2702
2794
|
}),
|
|
2703
2795
|
command !== "INSERT" && /* @__PURE__ */ jsxs("div", {
|
|
2704
2796
|
className: "flex flex-col gap-1.5",
|
|
@@ -2709,7 +2801,7 @@ function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
|
|
|
2709
2801
|
}), /* @__PURE__ */ jsx(TextField, {
|
|
2710
2802
|
value: usingExpr,
|
|
2711
2803
|
onChange: (e) => setUsingExpr(e.target.value),
|
|
2712
|
-
placeholder: "e.g. auth.uid() =
|
|
2804
|
+
placeholder: "e.g. auth.uid() = uid"
|
|
2713
2805
|
})]
|
|
2714
2806
|
}),
|
|
2715
2807
|
showCheck && /* @__PURE__ */ jsxs("div", {
|
|
@@ -2721,7 +2813,7 @@ function InlinePolicyEditor({ policy, table, onSave, onCancel }) {
|
|
|
2721
2813
|
}), /* @__PURE__ */ jsx(TextField, {
|
|
2722
2814
|
value: checkExpr,
|
|
2723
2815
|
onChange: (e) => setCheckExpr(e.target.value),
|
|
2724
|
-
placeholder: "e.g. auth.uid() =
|
|
2816
|
+
placeholder: "e.g. auth.uid() = uid"
|
|
2725
2817
|
})]
|
|
2726
2818
|
})
|
|
2727
2819
|
]
|
|
@@ -2902,7 +2994,7 @@ function pgTypeToRebaseProperty(column) {
|
|
|
2902
2994
|
}
|
|
2903
2995
|
}
|
|
2904
2996
|
/**
|
|
2905
|
-
* Builds a partial
|
|
2997
|
+
* Builds a partial AdminCollection from PostgreSQL table metadata.
|
|
2906
2998
|
* This is used when creating a new collection from an existing database table.
|
|
2907
2999
|
*/
|
|
2908
3000
|
function buildCollectionFromTableMetadata(tableName, metadata) {
|
|
@@ -3649,4 +3741,4 @@ var validateId = (value, isNewCollection, existingPaths, existingIds) => {
|
|
|
3649
3741
|
//#endregion
|
|
3650
3742
|
export { CollectionEditorDialog as n, CollectionEditorDialog_exports as r, CollectionEditor as t };
|
|
3651
3743
|
|
|
3652
|
-
//# sourceMappingURL=CollectionEditorDialog-
|
|
3744
|
+
//# sourceMappingURL=CollectionEditorDialog-DMztwJ5S.js.map
|