@umbraco-cms/backoffice 16.3.3 → 16.4.0-rc
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/README.md +8 -0
- package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.js +3 -2
- package/dist-cms/apps/preview/apps/preview-exit.element.js +1 -1
- package/dist-cms/apps/preview/apps/preview-open-website.element.js +1 -1
- package/dist-cms/apps/preview/preview.context.d.ts +1 -1
- package/dist-cms/apps/preview/preview.context.js +24 -4
- package/dist-cms/apps/preview/preview.element.js +1 -1
- package/dist-cms/assets/lang/da.js +17 -13
- package/dist-cms/assets/lang/de.js +3 -0
- package/dist-cms/assets/lang/en.js +17 -2
- package/dist-cms/assets/lang/es.js +3 -0
- package/dist-cms/assets/lang/fr.js +1 -0
- package/dist-cms/assets/lang/nb.js +1 -1
- package/dist-cms/assets/lang/nl.js +1 -0
- package/dist-cms/assets/lang/pt.js +7 -0
- package/dist-cms/custom-elements.json +250 -18
- package/dist-cms/external/dompurify/package.json +1 -1
- package/dist-cms/external/lit/package.json +1 -1
- package/dist-cms/external/marked/package.json +1 -1
- package/dist-cms/external/monaco-editor/package.json +1 -1
- package/dist-cms/external/monaco-editor/vite.config.js +1 -1
- package/dist-cms/external/openid/src/redirect_based_handler.d.ts +6 -0
- package/dist-cms/external/openid/src/redirect_based_handler.js +35 -7
- package/dist-cms/external/uui/package.json +2 -2
- package/dist-cms/libs/localization-api/localization.controller.d.ts +9 -0
- package/dist-cms/libs/localization-api/localization.controller.js +9 -0
- package/dist-cms/libs/observable-api/states/array-state.d.ts +20 -0
- package/dist-cms/libs/observable-api/states/array-state.js +33 -0
- package/dist-cms/libs/observable-api/utils/index.d.ts +1 -0
- package/dist-cms/libs/observable-api/utils/index.js +1 -0
- package/dist-cms/libs/observable-api/utils/replace-in-unique-array.function.d.ts +12 -0
- package/dist-cms/libs/observable-api/utils/replace-in-unique-array.function.js +19 -0
- package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.js +1 -4
- package/dist-cms/packages/block/block/workspace/block-workspace.context.js +37 -12
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.js +16 -21
- package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.js +7 -3
- package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/workspace/views/settings.element.js +2 -2
- package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +4 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.d.ts +1 -0
- package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +4 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +3 -3
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +3 -1
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +11 -2
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.js +6 -0
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.js +21 -13
- package/dist-cms/packages/block/block-grid/workspace/views/block-grid-type-workspace-view-areas.element.js +1 -1
- package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.d.ts +2 -2
- package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +8 -7
- package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.d.ts +1 -0
- package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.js +4 -5
- package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.d.ts +1 -0
- package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +4 -1
- package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +5 -4
- package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.d.ts +1 -1
- package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +6 -5
- package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.d.ts +1 -0
- package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.js +4 -1
- package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +3 -4
- package/dist-cms/packages/clipboard/clipboard-entry/picker/clipboard-entry-picker.element.js +1 -1
- package/dist-cms/packages/content/content/manager/content-data-manager.js +1 -0
- package/dist-cms/packages/content/content/manager/element-data-manager.js +6 -5
- package/dist-cms/packages/content/content/types.d.ts +8 -2
- package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +4 -0
- package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +34 -10
- package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.d.ts +2 -1
- package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.js +10 -2
- package/dist-cms/packages/content/content-type/structure/content-type-container-structure-helper.class.js +1 -1
- package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +9 -5
- package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +25 -5
- package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +1 -0
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-group.element.js +3 -4
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-property.element.js +17 -5
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +39 -20
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +1 -1
- package/dist-cms/packages/content/property-type/workspace/views/settings/property-workspace-view-settings.element.js +1 -1
- package/dist-cms/packages/core/auth/auth-flow.js +3 -0
- package/dist-cms/packages/core/backend-api/client/client.gen.js +39 -11
- package/dist-cms/packages/core/backend-api/client/index.d.ts +1 -0
- package/dist-cms/packages/core/backend-api/client/index.js +1 -0
- package/dist-cms/packages/core/backend-api/client/types.gen.d.ts +1 -1
- package/dist-cms/packages/core/backend-api/client/utils.gen.d.ts +6 -11
- package/dist-cms/packages/core/backend-api/client/utils.gen.js +27 -23
- package/dist-cms/packages/core/backend-api/client.gen.d.ts +3 -3
- package/dist-cms/packages/core/backend-api/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist-cms/packages/core/backend-api/core/queryKeySerializer.gen.js +99 -0
- package/dist-cms/packages/core/backend-api/core/serverSentEvents.gen.d.ts +13 -1
- package/dist-cms/packages/core/backend-api/core/serverSentEvents.gen.js +16 -2
- package/dist-cms/packages/core/backend-api/core/utils.gen.d.ts +6 -1
- package/dist-cms/packages/core/backend-api/core/utils.gen.js +18 -0
- package/dist-cms/packages/core/backend-api/sdk.gen.d.ts +12 -6
- package/dist-cms/packages/core/backend-api/sdk.gen.js +500 -416
- package/dist-cms/packages/core/backend-api/types.gen.d.ts +294 -6
- package/dist-cms/packages/core/backend-api/types.gen.js +1 -0
- package/dist-cms/packages/core/collection/action/create/manifests.js +1 -1
- package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.d.ts +4 -0
- package/dist-cms/packages/core/components/backoffice-notification-container/backoffice-notification-container.element.js +39 -2
- package/dist-cms/packages/core/components/body-layout/body-layout.element.js +1 -1
- package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.d.ts +1 -1
- package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +18 -12
- package/dist-cms/packages/core/components/index.d.ts +1 -0
- package/dist-cms/packages/core/components/index.js +1 -0
- package/dist-cms/packages/core/components/input-number-range/input-number-range.element.js +1 -1
- package/dist-cms/packages/core/components/input-slider/input-slider.element.d.ts +8 -3
- package/dist-cms/packages/core/components/input-slider/input-slider.element.js +95 -9
- package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.js +28 -5
- package/dist-cms/packages/core/components/split-panel/split-panel.element.d.ts +3 -2
- package/dist-cms/packages/core/components/split-panel/split-panel.element.js +7 -2
- package/dist-cms/packages/core/components/view-loader/view-loader.element.d.ts +5 -0
- package/dist-cms/packages/core/components/view-loader/view-loader.element.js +36 -0
- package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
- package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -1
- package/dist-cms/packages/core/entity-action/common/create/create.action.kind.js +1 -1
- package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +1 -1
- package/dist-cms/packages/core/entity-flag/index.d.ts +1 -0
- package/dist-cms/packages/core/entity-flag/index.js +1 -0
- package/dist-cms/packages/core/entity-flag/types.d.ts +10 -0
- package/dist-cms/packages/core/entity-flag/types.js +1 -0
- package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.d.ts +21 -0
- package/dist-cms/packages/core/entity-sign/components/entity-sign-bundle.element.js +257 -0
- package/dist-cms/packages/core/entity-sign/components/index.d.ts +1 -0
- package/dist-cms/packages/core/entity-sign/components/index.js +1 -0
- package/dist-cms/packages/core/entity-sign/extensions/entity-sign-api.interface.d.ts +18 -0
- package/dist-cms/packages/core/entity-sign/extensions/entity-sign-api.interface.js +1 -0
- package/dist-cms/packages/core/entity-sign/extensions/entity-sign-element.interface.d.ts +5 -0
- package/dist-cms/packages/core/entity-sign/extensions/entity-sign-element.interface.js +1 -0
- package/dist-cms/packages/core/entity-sign/extensions/entity-sign.extension.d.ts +20 -0
- package/dist-cms/packages/core/entity-sign/extensions/entity-sign.extension.js +1 -0
- package/dist-cms/packages/core/entity-sign/extensions/types.d.ts +3 -0
- package/dist-cms/packages/core/entity-sign/extensions/types.js +1 -0
- package/dist-cms/packages/core/entity-sign/index.d.ts +2 -0
- package/dist-cms/packages/core/entity-sign/index.js +1 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.d.ts +10 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.api.js +11 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.element.d.ts +10 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/entity-sign-icon.element.js +41 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/index.d.ts +1 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/index.js +1 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.d.ts +2 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/manifests.js +14 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/types.d.ts +15 -0
- package/dist-cms/packages/core/entity-sign/kinds/icon/types.js +1 -0
- package/dist-cms/packages/core/entity-sign/kinds/manifests.d.ts +2 -0
- package/dist-cms/packages/core/entity-sign/kinds/manifests.js +2 -0
- package/dist-cms/packages/core/entity-sign/kinds/types.d.ts +1 -0
- package/dist-cms/packages/core/entity-sign/kinds/types.js +1 -0
- package/dist-cms/packages/core/entity-sign/manifests.d.ts +2 -0
- package/dist-cms/packages/core/entity-sign/manifests.js +2 -0
- package/dist-cms/packages/core/entity-sign/types.d.ts +1 -0
- package/dist-cms/packages/core/entity-sign/types.js +1 -0
- package/dist-cms/packages/core/entry-point.d.ts +1 -0
- package/dist-cms/packages/core/entry-point.js +1 -0
- package/dist-cms/packages/core/icon-registry/icon-dictionary.json +8 -0
- package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.d.ts +1 -3
- package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.js +44 -26
- package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.token.d.ts +5 -2
- package/dist-cms/packages/core/icon-registry/icons/icon-bar-chart.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bar-chart.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bars.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bars.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-blockquote.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-blockquote.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bug.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bug.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bulleted-list.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-bulleted-list.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-equalizer.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-equalizer.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-heading-5.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-heading-5.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-heading-6.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-heading-6.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-heading.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-heading.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-home.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-home.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-indent.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-indent.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-list.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-list.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-ordered-list.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-ordered-list.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-outdent.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-outdent.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-playlist.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-playlist.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-stretch-horizontal.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-stretch-horizontal.js +1 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-center.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-center.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-justify.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-justify.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-left.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-left.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-right.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-text-align-right.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-trending-up-down.d.ts +2 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-trending-up-down.js +1 -0
- package/dist-cms/packages/core/icon-registry/icons/icon-twitter-x.d.ts +1 -1
- package/dist-cms/packages/core/icon-registry/icons/icon-twitter-x.js +1 -1
- package/dist-cms/packages/core/icon-registry/icons.d.ts +10 -0
- package/dist-cms/packages/core/icon-registry/icons.js +6 -0
- package/dist-cms/packages/core/manifests.js +2 -0
- package/dist-cms/packages/core/menu/components/menu-item-layout/menu-item-layout.element.js +20 -19
- package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +3 -2
- package/dist-cms/packages/core/openapi-ts.config.d.ts +31 -1
- package/dist-cms/packages/core/package.json +4 -4
- package/dist-cms/packages/core/picker-input/picker-input.context.js +0 -1
- package/dist-cms/packages/core/property/components/property/property.element.d.ts +1 -1
- package/dist-cms/packages/core/property/components/property/property.element.js +6 -1
- package/dist-cms/packages/core/property/components/property-layout/property-layout.element.js +2 -1
- package/dist-cms/packages/core/property/manifests.d.ts +1 -1
- package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.d.ts +3 -1
- package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +25 -16
- package/dist-cms/packages/core/property/property-value-preset/property-value-preset-variant-builder.controller.js +12 -10
- package/dist-cms/packages/core/property/property-value-preset/types.d.ts +1 -0
- package/dist-cms/packages/core/property-editor/constants.d.ts +2 -0
- package/dist-cms/packages/core/property-editor/constants.js +2 -0
- package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.js +1 -1
- package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/restore-from-recycle-bin.action.js +8 -5
- package/dist-cms/packages/core/repository/repository-items.manager.d.ts +4 -0
- package/dist-cms/packages/core/repository/repository-items.manager.js +35 -11
- package/dist-cms/packages/core/resources/extractUmbColorVariable.function.js +1 -0
- package/dist-cms/packages/core/router/modal-registration/modal-route-registration.controller.js +8 -4
- package/dist-cms/packages/core/section/extensions/section.extension.d.ts +1 -0
- package/dist-cms/packages/core/sorter/sorter.controller.d.ts +0 -1
- package/dist-cms/packages/core/sorter/sorter.controller.js +0 -1
- package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
- package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
- package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +10 -0
- package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +75 -15
- package/dist-cms/packages/core/tree/types.d.ts +2 -1
- package/dist-cms/packages/core/validation/controllers/validation.controller.js +4 -2
- package/dist-cms/packages/core/variant/types.d.ts +2 -0
- package/dist-cms/packages/core/vite.config.js +2 -0
- package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +5 -1
- package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +5 -2
- package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +22 -4
- package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.d.ts +2 -1
- package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.element.js +5 -0
- package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +6 -0
- package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +12 -2
- package/dist-cms/packages/core/workspace/kinds/default/default-workspace.context.d.ts +1 -1
- package/dist-cms/packages/core/workspace/workspace.element.d.ts +2 -2
- package/dist-cms/packages/core/workspace/workspace.element.js +2 -2
- package/dist-cms/packages/data-type/index.d.ts +1 -0
- package/dist-cms/packages/data-type/index.js +1 -0
- package/dist-cms/packages/data-type/workspace/data-type-workspace.context.js +4 -1
- package/dist-cms/packages/data-type/workspace/index.d.ts +1 -0
- package/dist-cms/packages/data-type/workspace/index.js +1 -0
- package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-property-editor-picker.element.d.ts +22 -0
- package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-property-editor-picker.element.js +128 -0
- package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-view.element.js +23 -72
- package/dist-cms/packages/data-type/workspace/views/index.d.ts +1 -0
- package/dist-cms/packages/data-type/workspace/views/index.js +1 -0
- package/dist-cms/packages/dictionary/entity-action/manifests.js +1 -1
- package/dist-cms/packages/dictionary/workspace/views/workspace-view-dictionary-editor.element.js +5 -8
- package/dist-cms/packages/documents/document-blueprints/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.server.data-source.js +3 -0
- package/dist-cms/packages/documents/document-blueprints/types.d.ts +2 -2
- package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/collection/repository/document-collection.server.data-source.js +2 -0
- package/dist-cms/packages/documents/documents/collection/types.d.ts +3 -2
- package/dist-cms/packages/documents/documents/constants.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-actions/create/create.action.d.ts +1 -1
- package/dist-cms/packages/documents/documents/entity-actions/create/create.action.js +1 -1
- package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/entity-sign/constants.d.ts +2 -0
- package/dist-cms/packages/documents/documents/entity-sign/constants.js +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/constants.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/constants.js +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-pending-changes/manifests.js +12 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-schedule/constants.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-schedule/constants.js +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/has-schedule/manifests.js +18 -0
- package/dist-cms/packages/documents/documents/entity-sign/is-protected/constants.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/is-protected/constants.js +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/is-protected/manifest.js +15 -0
- package/dist-cms/packages/documents/documents/entity-sign/manifests.d.ts +1 -0
- package/dist-cms/packages/documents/documents/entity-sign/manifests.js +8 -0
- package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +9 -6
- package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +43 -21
- package/dist-cms/packages/documents/documents/item/repository/document-item.server.cache-invalidation.manager.js +1 -0
- package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.js +2 -0
- package/dist-cms/packages/documents/documents/item/repository/types.d.ts +3 -1
- package/dist-cms/packages/documents/documents/manifests.js +2 -0
- package/dist-cms/packages/documents/documents/publishing/publish/entity-bulk-action/publish.bulk-action.js +1 -0
- package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.js +2 -0
- package/dist-cms/packages/documents/documents/publishing/unpublish/entity-bulk-action/unpublish.bulk-action.js +1 -0
- package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.server.data-source.js +3 -0
- package/dist-cms/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.js +1 -0
- package/dist-cms/packages/documents/documents/repository/detail/document-detail.server.data-source.js +3 -0
- package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +2 -0
- package/dist-cms/packages/documents/documents/tree/document-tree.server.data-source.js +2 -0
- package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +1 -0
- package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.js +1 -0
- package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +7 -3
- package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.js +20 -90
- package/dist-cms/packages/documents/documents/tree/types.d.ts +3 -1
- package/dist-cms/packages/documents/documents/user-permissions/document/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/utils.js +1 -0
- package/dist-cms/packages/documents/documents/workspace/constants.js +1 -0
- package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.d.ts +2 -1
- package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +10 -3
- package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.d.ts +1 -3
- package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.js +2 -2
- package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +1 -0
- package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +13 -6
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +9 -1
- package/dist-cms/packages/extension-types/index.d.ts +2 -0
- package/dist-cms/packages/language/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.d.ts +1 -0
- package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.js +8 -1
- package/dist-cms/packages/management-api/detail/cache-invalidation.manager.d.ts +1 -0
- package/dist-cms/packages/management-api/detail/cache-invalidation.manager.js +3 -1
- package/dist-cms/packages/management-api/detail/detail-data.request-manager.js +1 -1
- package/dist-cms/packages/management-api/item/cache-invalidation.manager.d.ts +1 -0
- package/dist-cms/packages/management-api/item/cache-invalidation.manager.js +3 -1
- package/dist-cms/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.js +1 -0
- package/dist-cms/packages/media/media/collection/media-collection.context.js +1 -0
- package/dist-cms/packages/media/media/collection/repository/media-collection.server.data-source.js +1 -0
- package/dist-cms/packages/media/media/collection/types.d.ts +2 -1
- package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-svg.element.js +1 -0
- package/dist-cms/packages/media/media/dropzone/media-dropzone.manager.js +1 -1
- package/dist-cms/packages/media/media/entity-actions/create/create.action.d.ts +1 -1
- package/dist-cms/packages/media/media/entity-actions/create/create.action.js +1 -1
- package/dist-cms/packages/media/media/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/media/media/modals/media-picker/components/media-picker-folder-path.element.js +1 -0
- package/dist-cms/packages/media/media/paths.js +1 -1
- package/dist-cms/packages/media/media/property-editors/upload-field/Umbraco.UploadField.js +1 -1
- package/dist-cms/packages/media/media/repository/detail/media-detail.server.data-source.js +5 -0
- package/dist-cms/packages/media/media/repository/item/media-item.server.cache-invalidation.manager.js +1 -0
- package/dist-cms/packages/media/media/tree/media-tree.server.data-source.js +3 -0
- package/dist-cms/packages/media/media/workspace/constants.js +1 -0
- package/dist-cms/packages/members/member/collection/repository/member-collection.server.data-source.js +1 -0
- package/dist-cms/packages/members/member/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/members/member/repository/detail/member-detail.server.data-source.js +5 -0
- package/dist-cms/packages/members/member/workspace/member/constants.js +1 -0
- package/dist-cms/packages/members/member-group/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/property-editors/collection/manifests.js +1 -0
- package/dist-cms/packages/property-editors/icon-picker/manifests.js +10 -0
- package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.d.ts +7 -3
- package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.js +45 -14
- package/dist-cms/packages/property-editors/missing/manifests.js +15 -2
- package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-base.element.d.ts +18 -0
- package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-base.element.js +130 -0
- package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-ui.element.d.ts +13 -0
- package/dist-cms/packages/property-editors/missing/property-editor-ui-missing-ui.element.js +24 -0
- package/dist-cms/packages/property-editors/missing/property-editor-ui-missing.element.d.ts +2 -13
- package/dist-cms/packages/property-editors/missing/property-editor-ui-missing.element.js +6 -112
- package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.d.ts +2 -2
- package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.js +29 -11
- package/dist-cms/packages/property-editors/slider/slider-property-value-preset.d.ts +1 -4
- package/dist-cms/packages/property-editors/slider/types.d.ts +3 -2
- package/dist-cms/packages/templating/partial-views/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/templating/scripts/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/templating/templates/entity-actions/manifests.js +1 -1
- package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -2
- package/dist-cms/packages/templating/templates/workspace/template-workspace.context.d.ts +1 -1
- package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +14 -6
- package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar.element.js +3 -3
- package/dist-cms/packages/tiptap/extensions/horizontal-rule/manifests.js +1 -0
- package/dist-cms/packages/tiptap/extensions/style-select/manifests.js +1 -0
- package/dist-cms/packages/tiptap/property-editors/extensions-configuration/property-editor-ui-tiptap-extensions-configuration.element.js +2 -2
- package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/property-editor-ui-tiptap-statusbar-configuration.element.js +37 -25
- package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/tiptap-statusbar-configuration.context.d.ts +2 -2
- package/dist-cms/packages/tiptap/property-editors/statusbar-configuration/tiptap-statusbar-configuration.context.js +2 -1
- package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/property-editor-ui-tiptap-toolbar-configuration.element.js +1 -3
- package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-configuration.context.d.ts +2 -2
- package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-configuration.context.js +1 -1
- package/dist-cms/packages/tiptap/property-editors/toolbar-configuration/tiptap-toolbar-group-configuration.element.js +22 -19
- package/dist-cms/packages/tiptap/property-editors/types.d.ts +4 -4
- package/dist-cms/packages/ufm/contexts/ufm.context.d.ts +1 -1
- package/dist-cms/packages/ufm/filters/manifests.js +24 -0
- package/dist-cms/packages/ufm/filters/strip-html.filter.d.ts +1 -0
- package/dist-cms/packages/ufm/filters/strip-html.filter.js +1 -0
- package/dist-cms/packages/ufm/filters/truncate.filter.d.ts +1 -0
- package/dist-cms/packages/ufm/filters/truncate.filter.js +8 -1
- package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +1 -2
- package/dist-cms/packages/user/user-permission/constants.d.ts +1 -0
- package/dist-cms/packages/user/user-permission/constants.js +1 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/constants.d.ts +1 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/constants.js +1 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/fallback-user-permission.condition.d.ts +9 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/fallback-user-permission.condition.js +34 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.d.ts +1 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/manifests.js +9 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/types.d.ts +20 -0
- package/dist-cms/packages/user/user-permission/fallback-permission-condition/types.js +1 -0
- package/dist-cms/packages/user/user-permission/index.d.ts +1 -0
- package/dist-cms/packages/user/user-permission/index.js +1 -0
- package/dist-cms/packages/user/user-permission/manifests.js +2 -1
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +3 -0
- package/dist-cms/umbraco-package.json +1 -1
- package/dist-cms/vscode-html-custom-data.json +133 -30
- package/examples/user-permission/constants.ts +4 -0
- package/examples/user-permission/entity-action/action-1.ts +9 -0
- package/examples/user-permission/entity-action/action-2.ts +9 -0
- package/examples/user-permission/entity-action/manifests.ts +47 -0
- package/examples/user-permission/entity-user-permission/manifests.ts +30 -0
- package/examples/user-permission/index.ts +9 -0
- package/examples/user-permission/localization/en.ts +6 -0
- package/examples/user-permission/localization/manifests.ts +12 -0
- package/examples/validation-context/validation-context-dashboard.ts +9 -8
- package/package.json +13 -11
|
@@ -6,22 +6,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { UMB_CONTENT_TYPE_WORKSPACE_CONTEXT } from '../../content-type-workspace.context-token.js';
|
|
8
8
|
import { UmbContentTypeContainerStructureHelper } from '../../../structure/index.js';
|
|
9
|
-
import { UMB_CONTENT_TYPE_DESIGN_EDITOR_CONTEXT } from './content-type-design-editor.context-token.js';
|
|
10
9
|
import { css, customElement, html, nothing, property, repeat, state } from '../../../../../../external/lit/index.js';
|
|
11
10
|
import { UmbLitElement } from '../../../../../core/lit-element/index.js';
|
|
11
|
+
import { UMB_CONTENT_TYPE_DESIGN_EDITOR_CONTEXT } from './content-type-design-editor.context-token.js';
|
|
12
12
|
import { UmbModalRouteRegistrationController } from '../../../../../core/router/index.js';
|
|
13
13
|
import { UmbSorterController } from '../../../../../core/sorter/index.js';
|
|
14
14
|
import { UMB_WORKSPACE_MODAL } from '../../../../../core/workspace/index.js';
|
|
15
15
|
import './content-type-design-editor-properties.element.js';
|
|
16
16
|
import './content-type-design-editor-group.element.js';
|
|
17
17
|
const SORTER_CONFIG = {
|
|
18
|
-
getUniqueOfElement: (element) => element.group?.
|
|
19
|
-
getUniqueOfModel: (modelEntry) => modelEntry.
|
|
18
|
+
getUniqueOfElement: (element) => element.group?.ownerId ?? element.group?.ids[0],
|
|
19
|
+
getUniqueOfModel: (modelEntry) => modelEntry.ownerId ?? modelEntry.ids[0],
|
|
20
20
|
// TODO: Make specific to the current owner document. [NL]
|
|
21
21
|
identifier: 'content-type-container-sorter',
|
|
22
22
|
itemSelector: 'umb-content-type-design-editor-group',
|
|
23
23
|
handleSelector: '.drag-handle',
|
|
24
|
-
disabledItemSelector: '[
|
|
24
|
+
disabledItemSelector: ':not([has-owner-container])', // Inherited attribute is set by the umb-content-type-design-editor-group.
|
|
25
25
|
containerSelector: '.container-list',
|
|
26
26
|
};
|
|
27
27
|
let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabElement extends UmbLitElement {
|
|
@@ -40,6 +40,7 @@ let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabEl
|
|
|
40
40
|
this.requestUpdate('containerId', oldValue);
|
|
41
41
|
}
|
|
42
42
|
#groupStructureHelper;
|
|
43
|
+
#contentTypeWorkspaceContext;
|
|
43
44
|
constructor() {
|
|
44
45
|
super();
|
|
45
46
|
this.#sorter = new UmbSorterController(this, {
|
|
@@ -47,18 +48,30 @@ let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabEl
|
|
|
47
48
|
onChange: ({ model }) => {
|
|
48
49
|
this._groups = model;
|
|
49
50
|
},
|
|
51
|
+
onContainerChange: ({ item }) => {
|
|
52
|
+
if (this.#containerId === undefined) {
|
|
53
|
+
throw new Error('ContainerId is not set');
|
|
54
|
+
}
|
|
55
|
+
if (item.ownerId === undefined) {
|
|
56
|
+
// This may be possible later, but for now this is not possible. [NL]
|
|
57
|
+
throw new Error('OwnerId is not set for the given container, we cannot move containers that are not owned by the current Document.');
|
|
58
|
+
}
|
|
59
|
+
this.#groupStructureHelper.partialUpdateContainer(item.ownerId, {
|
|
60
|
+
parent: this.#containerId ? { id: this.#containerId } : null,
|
|
61
|
+
});
|
|
62
|
+
},
|
|
50
63
|
onEnd: ({ item }) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
if (item.ownerId === undefined) {
|
|
65
|
+
// This may be possible later, but for now this is not possible. [NL]
|
|
66
|
+
throw new Error('OwnerId is not set for the given container, we cannot move containers that are not owned by the current Document.');
|
|
67
|
+
}
|
|
55
68
|
/**
|
|
56
69
|
* Explanation: If the item is the first in list, we compare it to the item behind it to set a sortOrder.
|
|
57
70
|
* If it's not the first in list, we will compare to the item in before it, and check the following item to see if it caused overlapping sortOrder, then update
|
|
58
71
|
* the overlap if true, which may cause another overlap, so we loop through them till no more overlaps...
|
|
59
72
|
*/
|
|
60
73
|
const model = this._groups;
|
|
61
|
-
const newIndex = model.findIndex((entry) => entry.
|
|
74
|
+
const newIndex = model.findIndex((entry) => entry.ownerId === item.ownerId);
|
|
62
75
|
// Doesn't exist in model
|
|
63
76
|
if (newIndex === -1)
|
|
64
77
|
return;
|
|
@@ -88,26 +101,27 @@ let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabEl
|
|
|
88
101
|
this.#groupStructureHelper.partialUpdateContainer(entry.ownerId, {
|
|
89
102
|
sortOrder: ++prevSortOrder,
|
|
90
103
|
});
|
|
91
|
-
i++;
|
|
92
104
|
}
|
|
105
|
+
i++;
|
|
93
106
|
}
|
|
94
107
|
},
|
|
95
108
|
onRequestDrop: async ({ unique }) => {
|
|
96
|
-
const context =
|
|
109
|
+
const context = this.#contentTypeWorkspaceContext;
|
|
97
110
|
if (!context) {
|
|
98
111
|
throw new Error('Could not get Workspace Context');
|
|
99
112
|
}
|
|
100
|
-
|
|
113
|
+
const result = context.structure.getMergedContainerById(unique);
|
|
114
|
+
return result;
|
|
101
115
|
},
|
|
102
116
|
requestExternalRemove: async ({ item }) => {
|
|
103
|
-
const context =
|
|
117
|
+
const context = this.#contentTypeWorkspaceContext;
|
|
104
118
|
if (!context) {
|
|
105
119
|
throw new Error('Could not get Workspace Context');
|
|
106
120
|
}
|
|
107
121
|
return await context.structure.removeContainer(null, item.ownerId, { preventRemovingProperties: true }).then(() => true, () => false);
|
|
108
122
|
},
|
|
109
123
|
requestExternalInsert: async ({ item }) => {
|
|
110
|
-
const context =
|
|
124
|
+
const context = this.#contentTypeWorkspaceContext;
|
|
111
125
|
if (!context) {
|
|
112
126
|
throw new Error('Could not get Workspace Context');
|
|
113
127
|
}
|
|
@@ -136,6 +150,7 @@ let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabEl
|
|
|
136
150
|
this.#groupStructureHelper.addContainer(this.#containerId, sortOrder);
|
|
137
151
|
};
|
|
138
152
|
this.consumeContext(UMB_CONTENT_TYPE_WORKSPACE_CONTEXT, (context) => {
|
|
153
|
+
this.#contentTypeWorkspaceContext = context;
|
|
139
154
|
this.#groupStructureHelper.setStructureManager(context?.structure);
|
|
140
155
|
const entityType = context?.getEntityType();
|
|
141
156
|
this.#workspaceModal?.destroy();
|
|
@@ -151,12 +166,6 @@ let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabEl
|
|
|
151
166
|
this.consumeContext(UMB_CONTENT_TYPE_DESIGN_EDITOR_CONTEXT, (context) => {
|
|
152
167
|
this.observe(context?.isSorting, (isSorting) => {
|
|
153
168
|
this._sortModeActive = isSorting;
|
|
154
|
-
if (isSorting) {
|
|
155
|
-
this.#sorter.enable();
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
this.#sorter.disable();
|
|
159
|
-
}
|
|
160
169
|
}, '_observeIsSorting');
|
|
161
170
|
});
|
|
162
171
|
this.observe(this.#groupStructureHelper.childContainers, (groups) => {
|
|
@@ -230,10 +239,20 @@ let UmbContentTypeDesignEditorTabElement = class UmbContentTypeDesignEditorTabEl
|
|
|
230
239
|
align-content: start;
|
|
231
240
|
}
|
|
232
241
|
|
|
242
|
+
/* Ensure the container-list has some height when its empty so groups can be dropped into it.*/
|
|
243
|
+
.container-list {
|
|
244
|
+
margin-top: calc(var(--uui-size-layout-1) * -1);
|
|
245
|
+
padding-top: var(--uui-size-layout-1);
|
|
246
|
+
}
|
|
247
|
+
|
|
233
248
|
.container-list #convert-to-tab {
|
|
234
249
|
margin-bottom: var(--uui-size-layout-1);
|
|
235
250
|
display: flex;
|
|
236
251
|
}
|
|
252
|
+
|
|
253
|
+
.container-list[sort-mode-active] {
|
|
254
|
+
min-height: 100px;
|
|
255
|
+
}
|
|
237
256
|
`,
|
|
238
257
|
]; }
|
|
239
258
|
};
|
|
@@ -636,7 +636,7 @@ let UmbContentTypeDesignEditorElement = class UmbContentTypeDesignEditorElement
|
|
|
636
636
|
transition: opacity 100ms;
|
|
637
637
|
}
|
|
638
638
|
|
|
639
|
-
uui-tab:not(:hover, :focus) .trash {
|
|
639
|
+
uui-tab:not(:hover, :focus, :focus-within) .trash {
|
|
640
640
|
opacity: 0;
|
|
641
641
|
transition: opacity 100ms;
|
|
642
642
|
}
|
|
@@ -67,7 +67,7 @@ let UmbPropertyTypeWorkspaceViewSettingsElement = class UmbPropertyTypeWorkspace
|
|
|
67
67
|
}
|
|
68
68
|
#onAliasChange() {
|
|
69
69
|
// TODO: Why can I not get the correct value via event? Is it an issue in uui library too?
|
|
70
|
-
const alias =
|
|
70
|
+
const alias = this._aliasInput.value.toString();
|
|
71
71
|
this.updateValue({ alias });
|
|
72
72
|
}
|
|
73
73
|
#onDescriptionChange(event) {
|
|
@@ -198,6 +198,9 @@ export class UmbAuthFlow {
|
|
|
198
198
|
await this.#storageBackend.removeItem(UMB_STORAGE_TOKEN_RESPONSE_NAME);
|
|
199
199
|
// clear the internal state
|
|
200
200
|
this.#tokenResponse.setValue(undefined);
|
|
201
|
+
// Also cleanup any OAuth/PKCE artifacts that may still be in localStorage
|
|
202
|
+
// This is a defense-in-depth measure during logout
|
|
203
|
+
await this.#authorizationHandler.cleanupStaleAuthorizationData();
|
|
201
204
|
}
|
|
202
205
|
/**
|
|
203
206
|
* This method will sign the user out of the application.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
2
|
import { createSseClient } from '../core/serverSentEvents.gen.js';
|
|
3
|
+
import { getValidRequestBody } from '../core/utils.gen.js';
|
|
3
4
|
import { buildUrl, createConfig, createInterceptors, getParseAs, mergeConfigs, mergeHeaders, setAuthParams, } from './utils.gen.js';
|
|
4
5
|
export const createClient = (config = {}) => {
|
|
5
6
|
let _config = mergeConfigs(createConfig(), config);
|
|
@@ -26,11 +27,11 @@ export const createClient = (config = {}) => {
|
|
|
26
27
|
if (opts.requestValidator) {
|
|
27
28
|
await opts.requestValidator(opts);
|
|
28
29
|
}
|
|
29
|
-
if (opts.body && opts.bodySerializer) {
|
|
30
|
+
if (opts.body !== undefined && opts.bodySerializer) {
|
|
30
31
|
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
31
32
|
}
|
|
32
33
|
// remove Content-Type header if body is empty to avoid sending invalid requests
|
|
33
|
-
if (opts.
|
|
34
|
+
if (opts.body === undefined || opts.serializedBody === '') {
|
|
34
35
|
opts.headers.delete('Content-Type');
|
|
35
36
|
}
|
|
36
37
|
const url = buildUrl(opts);
|
|
@@ -42,10 +43,10 @@ export const createClient = (config = {}) => {
|
|
|
42
43
|
const requestInit = {
|
|
43
44
|
redirect: 'follow',
|
|
44
45
|
...opts,
|
|
45
|
-
body: opts
|
|
46
|
+
body: getValidRequestBody(opts),
|
|
46
47
|
};
|
|
47
48
|
let request = new Request(url, requestInit);
|
|
48
|
-
for (const fn of interceptors.request.
|
|
49
|
+
for (const fn of interceptors.request.fns) {
|
|
49
50
|
if (fn) {
|
|
50
51
|
request = await fn(request, opts);
|
|
51
52
|
}
|
|
@@ -54,7 +55,7 @@ export const createClient = (config = {}) => {
|
|
|
54
55
|
// TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
|
|
55
56
|
const _fetch = opts.fetch;
|
|
56
57
|
let response = await _fetch(request);
|
|
57
|
-
for (const fn of interceptors.response.
|
|
58
|
+
for (const fn of interceptors.response.fns) {
|
|
58
59
|
if (fn) {
|
|
59
60
|
response = await fn(response, request, opts);
|
|
60
61
|
}
|
|
@@ -64,18 +65,36 @@ export const createClient = (config = {}) => {
|
|
|
64
65
|
response,
|
|
65
66
|
};
|
|
66
67
|
if (response.ok) {
|
|
68
|
+
const parseAs = (opts.parseAs === 'auto'
|
|
69
|
+
? getParseAs(response.headers.get('Content-Type'))
|
|
70
|
+
: opts.parseAs) ?? 'json';
|
|
67
71
|
if (response.status === 204 ||
|
|
68
72
|
response.headers.get('Content-Length') === '0') {
|
|
73
|
+
let emptyData;
|
|
74
|
+
switch (parseAs) {
|
|
75
|
+
case 'arrayBuffer':
|
|
76
|
+
case 'blob':
|
|
77
|
+
case 'text':
|
|
78
|
+
emptyData = await response[parseAs]();
|
|
79
|
+
break;
|
|
80
|
+
case 'formData':
|
|
81
|
+
emptyData = new FormData();
|
|
82
|
+
break;
|
|
83
|
+
case 'stream':
|
|
84
|
+
emptyData = response.body;
|
|
85
|
+
break;
|
|
86
|
+
case 'json':
|
|
87
|
+
default:
|
|
88
|
+
emptyData = {};
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
69
91
|
return opts.responseStyle === 'data'
|
|
70
|
-
?
|
|
92
|
+
? emptyData
|
|
71
93
|
: {
|
|
72
|
-
data:
|
|
94
|
+
data: emptyData,
|
|
73
95
|
...result,
|
|
74
96
|
};
|
|
75
97
|
}
|
|
76
|
-
const parseAs = (opts.parseAs === 'auto'
|
|
77
|
-
? getParseAs(response.headers.get('Content-Type'))
|
|
78
|
-
: opts.parseAs) ?? 'json';
|
|
79
98
|
let data;
|
|
80
99
|
switch (parseAs) {
|
|
81
100
|
case 'arrayBuffer':
|
|
@@ -118,7 +137,7 @@ export const createClient = (config = {}) => {
|
|
|
118
137
|
}
|
|
119
138
|
const error = jsonError ?? textError;
|
|
120
139
|
let finalError = error;
|
|
121
|
-
for (const fn of interceptors.error.
|
|
140
|
+
for (const fn of interceptors.error.fns) {
|
|
122
141
|
if (fn) {
|
|
123
142
|
finalError = (await fn(error, response, request, opts));
|
|
124
143
|
}
|
|
@@ -143,6 +162,15 @@ export const createClient = (config = {}) => {
|
|
|
143
162
|
body: opts.body,
|
|
144
163
|
headers: opts.headers,
|
|
145
164
|
method,
|
|
165
|
+
onRequest: async (url, init) => {
|
|
166
|
+
let request = new Request(url, init);
|
|
167
|
+
for (const fn of interceptors.request.fns) {
|
|
168
|
+
if (fn) {
|
|
169
|
+
request = await fn(request, opts);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return request;
|
|
173
|
+
},
|
|
146
174
|
url,
|
|
147
175
|
});
|
|
148
176
|
};
|
|
@@ -2,6 +2,7 @@ export type { Auth } from '../core/auth.gen.js';
|
|
|
2
2
|
export type { QuerySerializerOptions } from '../core/bodySerializer.gen.js';
|
|
3
3
|
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen.js';
|
|
4
4
|
export { buildClientParams } from '../core/params.gen.js';
|
|
5
|
+
export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen.js';
|
|
5
6
|
export { createClient } from './client.gen.js';
|
|
6
7
|
export type { Client, ClientOptions, Config, CreateClientConfig, Options, OptionsLegacyParser, RequestOptions, RequestResult, ResolvedRequestOptions, ResponseStyle, TDataShape, } from './types.gen.js';
|
|
7
8
|
export { createConfig, mergeHeaders } from './utils.gen.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
2
|
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen.js';
|
|
3
3
|
export { buildClientParams } from '../core/params.gen.js';
|
|
4
|
+
export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen.js';
|
|
4
5
|
export { createClient } from './client.gen.js';
|
|
5
6
|
export { createConfig, mergeHeaders } from './utils.gen.js';
|
|
@@ -14,7 +14,7 @@ export interface Config<T extends ClientOptions = ClientOptions> extends Omit<Re
|
|
|
14
14
|
*
|
|
15
15
|
* @default globalThis.fetch
|
|
16
16
|
*/
|
|
17
|
-
fetch?:
|
|
17
|
+
fetch?: typeof fetch;
|
|
18
18
|
/**
|
|
19
19
|
* Please don't use the Fetch client for Next.js applications. The `next`
|
|
20
20
|
* options won't have any effect.
|
|
@@ -15,24 +15,19 @@ type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, reques
|
|
|
15
15
|
type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
|
|
16
16
|
type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
|
|
17
17
|
declare class Interceptors<Interceptor> {
|
|
18
|
-
|
|
19
|
-
constructor();
|
|
18
|
+
fns: Array<Interceptor | null>;
|
|
20
19
|
clear(): void;
|
|
21
|
-
getInterceptorIndex(id: number | Interceptor): number;
|
|
22
|
-
exists(id: number | Interceptor): boolean;
|
|
23
20
|
eject(id: number | Interceptor): void;
|
|
24
|
-
|
|
21
|
+
exists(id: number | Interceptor): boolean;
|
|
22
|
+
getInterceptorIndex(id: number | Interceptor): number;
|
|
23
|
+
update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
|
|
25
24
|
use(fn: Interceptor): number;
|
|
26
25
|
}
|
|
27
26
|
export interface Middleware<Req, Res, Err, Options> {
|
|
28
|
-
error: Pick<Interceptors<ErrInterceptor<Err, Res, Req, Options>>, 'eject' | 'use'>;
|
|
29
|
-
request: Pick<Interceptors<ReqInterceptor<Req, Options>>, 'eject' | 'use'>;
|
|
30
|
-
response: Pick<Interceptors<ResInterceptor<Res, Req, Options>>, 'eject' | 'use'>;
|
|
31
|
-
}
|
|
32
|
-
export declare const createInterceptors: <Req, Res, Err, Options>() => {
|
|
33
27
|
error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;
|
|
34
28
|
request: Interceptors<ReqInterceptor<Req, Options>>;
|
|
35
29
|
response: Interceptors<ResInterceptor<Res, Req, Options>>;
|
|
36
|
-
}
|
|
30
|
+
}
|
|
31
|
+
export declare const createInterceptors: <Req, Res, Err, Options>() => Middleware<Req, Res, Err, Options>;
|
|
37
32
|
export declare const createConfig: <T extends ClientOptions = ClientOptions>(override?: Config<Omit<ClientOptions, keyof T> & T>) => Config<Omit<ClientOptions, keyof T> & T>;
|
|
38
33
|
export {};
|
|
@@ -134,13 +134,22 @@ export const mergeConfigs = (a, b) => {
|
|
|
134
134
|
config.headers = mergeHeaders(a.headers, b.headers);
|
|
135
135
|
return config;
|
|
136
136
|
};
|
|
137
|
+
const headersEntries = (headers) => {
|
|
138
|
+
const entries = [];
|
|
139
|
+
headers.forEach((value, key) => {
|
|
140
|
+
entries.push([key, value]);
|
|
141
|
+
});
|
|
142
|
+
return entries;
|
|
143
|
+
};
|
|
137
144
|
export const mergeHeaders = (...headers) => {
|
|
138
145
|
const mergedHeaders = new Headers();
|
|
139
146
|
for (const header of headers) {
|
|
140
|
-
if (!header
|
|
147
|
+
if (!header) {
|
|
141
148
|
continue;
|
|
142
149
|
}
|
|
143
|
-
const iterator = header instanceof Headers
|
|
150
|
+
const iterator = header instanceof Headers
|
|
151
|
+
? headersEntries(header)
|
|
152
|
+
: Object.entries(header);
|
|
144
153
|
for (const [key, value] of iterator) {
|
|
145
154
|
if (value === null) {
|
|
146
155
|
mergedHeaders.delete(key);
|
|
@@ -161,45 +170,40 @@ export const mergeHeaders = (...headers) => {
|
|
|
161
170
|
};
|
|
162
171
|
class Interceptors {
|
|
163
172
|
constructor() {
|
|
164
|
-
this.
|
|
173
|
+
this.fns = [];
|
|
165
174
|
}
|
|
166
175
|
clear() {
|
|
167
|
-
this.
|
|
176
|
+
this.fns = [];
|
|
168
177
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
else {
|
|
174
|
-
return this._fns.indexOf(id);
|
|
178
|
+
eject(id) {
|
|
179
|
+
const index = this.getInterceptorIndex(id);
|
|
180
|
+
if (this.fns[index]) {
|
|
181
|
+
this.fns[index] = null;
|
|
175
182
|
}
|
|
176
183
|
}
|
|
177
184
|
exists(id) {
|
|
178
185
|
const index = this.getInterceptorIndex(id);
|
|
179
|
-
return
|
|
186
|
+
return Boolean(this.fns[index]);
|
|
180
187
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
this._fns[index] = null;
|
|
188
|
+
getInterceptorIndex(id) {
|
|
189
|
+
if (typeof id === 'number') {
|
|
190
|
+
return this.fns[id] ? id : -1;
|
|
185
191
|
}
|
|
192
|
+
return this.fns.indexOf(id);
|
|
186
193
|
}
|
|
187
194
|
update(id, fn) {
|
|
188
195
|
const index = this.getInterceptorIndex(id);
|
|
189
|
-
if (this.
|
|
190
|
-
this.
|
|
196
|
+
if (this.fns[index]) {
|
|
197
|
+
this.fns[index] = fn;
|
|
191
198
|
return id;
|
|
192
199
|
}
|
|
193
|
-
|
|
194
|
-
return false;
|
|
195
|
-
}
|
|
200
|
+
return false;
|
|
196
201
|
}
|
|
197
202
|
use(fn) {
|
|
198
|
-
this.
|
|
199
|
-
return this.
|
|
203
|
+
this.fns.push(fn);
|
|
204
|
+
return this.fns.length - 1;
|
|
200
205
|
}
|
|
201
206
|
}
|
|
202
|
-
// do not add `Middleware` as return type so we can use _fns internally
|
|
203
207
|
export const createInterceptors = () => ({
|
|
204
208
|
error: new Interceptors(),
|
|
205
209
|
request: new Interceptors(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import
|
|
1
|
+
import { type ClientOptions, type Config } from './client/index.js';
|
|
2
|
+
import type { ClientOptions as ClientOptions2 } from './types.gen.js';
|
|
3
3
|
/**
|
|
4
4
|
* The `createClientConfig()` function will be called on client initialization
|
|
5
5
|
* and the returned object will become the client's initial configuration.
|
|
@@ -8,5 +8,5 @@ import { type Config, type ClientOptions as DefaultClientOptions } from './clien
|
|
|
8
8
|
* `setConfig()`. This is useful for example if you're using Next.js
|
|
9
9
|
* to ensure your client always has the correct values.
|
|
10
10
|
*/
|
|
11
|
-
export type CreateClientConfig<T extends
|
|
11
|
+
export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
|
|
12
12
|
export declare const client: import("./client/index.js").Client;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-friendly union that mirrors what Pinia Colada can hash.
|
|
3
|
+
*/
|
|
4
|
+
export type JsonValue = null | string | number | boolean | JsonValue[] | {
|
|
5
|
+
[key: string]: JsonValue;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Replacer that converts non-JSON values (bigint, Date, etc.) to safe substitutes.
|
|
9
|
+
*/
|
|
10
|
+
export declare const queryKeyJsonReplacer: (_key: string, value: unknown) => {} | null | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Safely stringifies a value and parses it back into a JsonValue.
|
|
13
|
+
*/
|
|
14
|
+
export declare const stringifyToJsonValue: (input: unknown) => JsonValue | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Normalizes any accepted value into a JSON-friendly shape for query keys.
|
|
17
|
+
*/
|
|
18
|
+
export declare const serializeQueryKeyValue: (value: unknown) => JsonValue | undefined;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
+
/**
|
|
3
|
+
* Replacer that converts non-JSON values (bigint, Date, etc.) to safe substitutes.
|
|
4
|
+
*/
|
|
5
|
+
export const queryKeyJsonReplacer = (_key, value) => {
|
|
6
|
+
if (value === undefined ||
|
|
7
|
+
typeof value === 'function' ||
|
|
8
|
+
typeof value === 'symbol') {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
if (typeof value === 'bigint') {
|
|
12
|
+
return value.toString();
|
|
13
|
+
}
|
|
14
|
+
if (value instanceof Date) {
|
|
15
|
+
return value.toISOString();
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Safely stringifies a value and parses it back into a JsonValue.
|
|
21
|
+
*/
|
|
22
|
+
export const stringifyToJsonValue = (input) => {
|
|
23
|
+
try {
|
|
24
|
+
const json = JSON.stringify(input, queryKeyJsonReplacer);
|
|
25
|
+
if (json === undefined) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
return JSON.parse(json);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Detects plain objects (including objects with a null prototype).
|
|
36
|
+
*/
|
|
37
|
+
const isPlainObject = (value) => {
|
|
38
|
+
if (value === null || typeof value !== 'object') {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
const prototype = Object.getPrototypeOf(value);
|
|
42
|
+
return prototype === Object.prototype || prototype === null;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Turns URLSearchParams into a sorted JSON object for deterministic keys.
|
|
46
|
+
*/
|
|
47
|
+
const serializeSearchParams = (params) => {
|
|
48
|
+
const entries = Array.from(params.entries()).sort(([a], [b]) => a.localeCompare(b));
|
|
49
|
+
const result = {};
|
|
50
|
+
for (const [key, value] of entries) {
|
|
51
|
+
const existing = result[key];
|
|
52
|
+
if (existing === undefined) {
|
|
53
|
+
result[key] = value;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (Array.isArray(existing)) {
|
|
57
|
+
existing.push(value);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
result[key] = [existing, value];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Normalizes any accepted value into a JSON-friendly shape for query keys.
|
|
67
|
+
*/
|
|
68
|
+
export const serializeQueryKeyValue = (value) => {
|
|
69
|
+
if (value === null) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
if (typeof value === 'string' ||
|
|
73
|
+
typeof value === 'number' ||
|
|
74
|
+
typeof value === 'boolean') {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
if (value === undefined ||
|
|
78
|
+
typeof value === 'function' ||
|
|
79
|
+
typeof value === 'symbol') {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
if (typeof value === 'bigint') {
|
|
83
|
+
return value.toString();
|
|
84
|
+
}
|
|
85
|
+
if (value instanceof Date) {
|
|
86
|
+
return value.toISOString();
|
|
87
|
+
}
|
|
88
|
+
if (Array.isArray(value)) {
|
|
89
|
+
return stringifyToJsonValue(value);
|
|
90
|
+
}
|
|
91
|
+
if (typeof URLSearchParams !== 'undefined' &&
|
|
92
|
+
value instanceof URLSearchParams) {
|
|
93
|
+
return serializeSearchParams(value);
|
|
94
|
+
}
|
|
95
|
+
if (isPlainObject(value)) {
|
|
96
|
+
return stringifyToJsonValue(value);
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
};
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { Config } from './types.gen.js';
|
|
2
2
|
export type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method'> & Pick<Config, 'method' | 'responseTransformer' | 'responseValidator'> & {
|
|
3
|
+
/**
|
|
4
|
+
* Fetch API implementation. You can use this option to provide a custom
|
|
5
|
+
* fetch instance.
|
|
6
|
+
*
|
|
7
|
+
* @default globalThis.fetch
|
|
8
|
+
*/
|
|
9
|
+
fetch?: typeof fetch;
|
|
10
|
+
/**
|
|
11
|
+
* Implementing clients can call request interceptors inside this hook.
|
|
12
|
+
*/
|
|
13
|
+
onRequest?: (url: string, init: RequestInit) => Promise<Request>;
|
|
3
14
|
/**
|
|
4
15
|
* Callback invoked when a network or parsing error occurs during streaming.
|
|
5
16
|
*
|
|
@@ -17,6 +28,7 @@ export type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method
|
|
|
17
28
|
* @returns Nothing (void).
|
|
18
29
|
*/
|
|
19
30
|
onSseEvent?: (event: StreamEvent<TData>) => void;
|
|
31
|
+
serializedBody?: RequestInit['body'];
|
|
20
32
|
/**
|
|
21
33
|
* Default retry delay in milliseconds.
|
|
22
34
|
*
|
|
@@ -56,4 +68,4 @@ export interface StreamEvent<TData = unknown> {
|
|
|
56
68
|
export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
|
|
57
69
|
stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
|
|
58
70
|
};
|
|
59
|
-
export declare const createSseClient: <TData = unknown>({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }: ServerSentEventsOptions) => ServerSentEventsResult<TData>;
|
|
71
|
+
export declare const createSseClient: <TData = unknown>({ onRequest, onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }: ServerSentEventsOptions) => ServerSentEventsResult<TData>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
export const createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
|
|
2
|
+
export const createSseClient = ({ onRequest, onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
|
|
3
3
|
let lastEventId;
|
|
4
4
|
const sleep = sseSleepFn ??
|
|
5
5
|
((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
@@ -18,7 +18,21 @@ export const createSseClient = ({ onSseError, onSseEvent, responseTransformer, r
|
|
|
18
18
|
headers.set('Last-Event-ID', lastEventId);
|
|
19
19
|
}
|
|
20
20
|
try {
|
|
21
|
-
const
|
|
21
|
+
const requestInit = {
|
|
22
|
+
redirect: 'follow',
|
|
23
|
+
...options,
|
|
24
|
+
body: options.serializedBody,
|
|
25
|
+
headers,
|
|
26
|
+
signal,
|
|
27
|
+
};
|
|
28
|
+
let request = new Request(url, requestInit);
|
|
29
|
+
if (onRequest) {
|
|
30
|
+
request = await onRequest(url, requestInit);
|
|
31
|
+
}
|
|
32
|
+
// fetch must be assigned here, otherwise it would throw the error:
|
|
33
|
+
// TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
|
|
34
|
+
const _fetch = options.fetch ?? globalThis.fetch;
|
|
35
|
+
const response = await _fetch(request);
|
|
22
36
|
if (!response.ok)
|
|
23
37
|
throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
|
|
24
38
|
if (!response.body)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QuerySerializer } from './bodySerializer.gen.js';
|
|
1
|
+
import type { BodySerializer, QuerySerializer } from './bodySerializer.gen.js';
|
|
2
2
|
export interface PathSerializer {
|
|
3
3
|
path: Record<string, unknown>;
|
|
4
4
|
url: string;
|
|
@@ -12,3 +12,8 @@ export declare const getUrl: ({ baseUrl, path, query, querySerializer, url: _url
|
|
|
12
12
|
querySerializer: QuerySerializer;
|
|
13
13
|
url: string;
|
|
14
14
|
}) => string;
|
|
15
|
+
export declare function getValidRequestBody(options: {
|
|
16
|
+
body?: unknown;
|
|
17
|
+
bodySerializer?: BodySerializer | null;
|
|
18
|
+
serializedBody?: unknown;
|
|
19
|
+
}): unknown;
|