@phis/ui 0.4.2 → 0.4.4
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/components/cms/phi-cms-layout-renderer.js +4 -3
- package/components/cms/phi-cms-page-render-scope.d.ts +4 -5
- package/components/cms/phi-cms-page-render-scope.js +43 -22
- package/components/cms/phi-cms-render-diagnostic-client.js +7 -3
- package/components/cms/phi-cms-render-error-boundary.js +2 -1
- package/components/controls/phi-anchor-nav-control.js +4 -1
- package/components/controls/phi-background-control.js +21 -6
- package/components/controls/phi-bullet-list-control.d.ts +7 -2
- package/components/controls/phi-bullet-list-control.js +35 -5
- package/components/controls/phi-color-control.js +4 -2
- package/components/controls/phi-drawer-control-adapter.js +3 -2
- package/components/controls/phi-inline-text-editor.js +7 -1
- package/components/controls/phi-length-control.js +1 -1
- package/components/controls/phi-ribbon-control.d.ts +38 -0
- package/components/controls/phi-ribbon-control.js +57 -0
- package/components/controls/phi-ribbon-wrap-control.d.ts +26 -0
- package/components/controls/phi-ribbon-wrap-control.js +25 -0
- package/components/controls/phi-select-control.js +5 -2
- package/components/controls/phi-series-chart-control.d.ts +48 -0
- package/components/controls/phi-series-chart-control.js +82 -0
- package/components/controls/phi-table-control.d.ts +3 -0
- package/components/controls/phi-table-control.js +13 -1
- package/components/controls/phi-text-control.js +57 -3
- package/components/controls/phi-tree-control.js +4 -4
- package/components/controls/phi-truncated-hover-text.d.ts +15 -0
- package/components/controls/phi-truncated-hover-text.js +25 -0
- package/components/forms/link-target-form-control.d.ts +1 -1
- package/components/forms/link-target-form-control.js +2 -45
- package/components/forms/phi-form-widget-frame.js +4 -2
- package/components/forms/shared-form-provider-registry.js +1 -4
- package/components/layouts/clients/phi-three-column-layout-client.js +10 -1
- package/components/media/asset-collection-runtime.js +6 -16
- package/components/media/media-font-metrics.d.ts +3 -0
- package/components/media/media-font-metrics.js +43 -0
- package/components/media/phi-area-upload-widget.js +53 -97
- package/components/media/phi-image-preview-data.d.ts +13 -0
- package/components/media/phi-image-preview-data.js +184 -9
- package/components/media/phi-media-picker-binding.js +16 -13
- package/components/media/phi-media-upload.d.ts +15 -8
- package/components/media/phi-media-upload.js +18 -9
- package/components/media/phi-site-font-assets.js +7 -8
- package/components/navigation/phi-link.js +6 -1
- package/components/overlays/phi-overlay-container-client.js +16 -1
- package/components/regions/clients/cms-region-container-client.js +6 -1
- package/components/regions/phi-cms-region-container.js +3 -0
- package/components/regions/phi-cms-region-shell.d.ts +12 -1
- package/components/regions/phi-cms-region-shell.js +81 -19
- package/components/regions/presets/phi-settings-page-shell-tree.js +48 -1
- package/components/root/phi-config-provider.d.ts +13 -0
- package/components/root/phi-config-provider.js +12 -1
- package/components/root/phi-root-background.d.ts +7 -0
- package/components/root/phi-root-background.js +20 -1
- package/components/root/phi-root-theme-resolver.js +3 -0
- package/components/root/phi-shell-chrome-overlay.d.ts +12 -1
- package/components/root/phi-shell-chrome-overlay.js +19 -3
- package/components/runtime/runtime-controller-materialization.js +12 -1
- package/components/shell/phi-antd-icon.d.ts +1 -0
- package/components/shell/phi-antd-icon.js +3 -0
- package/components/shell/use-phi-shell-sticky-top.js +61 -16
- package/components/state/scoped-state-store.js +20 -3
- package/components/surface/phi-surface-tone.d.ts +13 -0
- package/components/surface/phi-surface-tone.js +21 -0
- package/components/tables/client/phi-table-binding.d.ts +2 -1
- package/components/tables/client/phi-table-binding.js +45 -21
- package/components/trees/client/phi-tree-binding.js +19 -11
- package/components/widgets/client/bullet-list-entries-editor.d.ts +26 -0
- package/components/widgets/client/bullet-list-entries-editor.js +109 -0
- package/components/widgets/client/html-editor.js +1 -1
- package/components/widgets/client/shared/use-page-reference-options.d.ts +17 -0
- package/components/widgets/client/shared/use-page-reference-options.js +57 -0
- package/components/widgets/config/background.d.ts +32 -1
- package/components/widgets/config/background.js +41 -2
- package/components/widgets/config/choice-shared.js +12 -13
- package/components/widgets/config/command-buttons.d.ts +5 -1
- package/components/widgets/config/command-buttons.js +38 -81
- package/components/widgets/config/control-signal-config.d.ts +3 -1
- package/components/widgets/config/control-signal-config.js +19 -17
- package/components/widgets/config/image-source-parser.d.ts +1 -0
- package/components/widgets/config/image-source-parser.js +7 -8
- package/components/widgets/config/mask.d.ts +6 -1
- package/components/widgets/config/mask.js +24 -1
- package/components/widgets/config/parser-primitives.js +72 -0
- package/components/widgets/config/stack-tabs.d.ts +1 -1
- package/components/widgets/config/stack-tabs.js +2 -3
- package/components/widgets/config/strict-config-reader.d.ts +40 -0
- package/components/widgets/config/strict-config-reader.js +174 -0
- package/components/widgets/label-sets/background.js +2 -0
- package/components/widgets/label-sets/effects.js +2 -0
- package/components/widgets/label-types/background.d.ts +1 -0
- package/components/widgets/label-types/background.js +1 -0
- package/components/widgets/label-types/effects.d.ts +1 -0
- package/components/widgets/label-types/effects.js +1 -0
- package/components/widgets/navigation-descriptor-resolver.server.js +20 -8
- package/components/widgets/shared/bullet-list-vocabulary.d.ts +27 -1
- package/components/widgets/shared/bullet-list-vocabulary.js +24 -4
- package/components/widgets/shared/card-body-client.d.ts +18 -4
- package/components/widgets/shared/card-body-client.js +126 -26
- package/components/widgets/shared/card-vocabulary.d.ts +31 -4
- package/components/widgets/shared/card-vocabulary.js +35 -2
- package/components/widgets/shared/markdown-body-client.js +39 -10
- package/components/widgets/signals/control-signal-capabilities.d.ts +0 -18
- package/components/widgets/signals/control-signal-capabilities.js +10 -22
- package/components/workspace/catalog-store.d.ts +4 -3
- package/components/workspace/catalog-store.js +6 -5
- package/gateway/dashboard-cards-route.js +1 -0
- package/gateway/internal-references.d.ts +6 -1
- package/gateway/internal-references.js +48 -23
- package/gateway/site-cms-write-validation.d.ts +9 -0
- package/gateway/site-cms-write-validation.js +78 -0
- package/gateway/site-proxy.js +19 -3
- package/helpers/cms-container-chrome.js +6 -1
- package/helpers/locale.d.ts +8 -0
- package/helpers/locale.js +18 -0
- package/helpers/renderable-block-serialization.js +1 -1
- package/helpers/shell-region-style.js +2 -1
- package/helpers/surface-style.d.ts +12 -1
- package/helpers/surface-style.js +28 -2
- package/module-dashboard-cards.d.ts +1 -1
- package/module-dashboard-cards.js +1 -1
- package/next/config.d.mts +3 -0
- package/next/config.mjs +28 -1
- package/package.json +2 -2
- package/plugins/runtime/phi-slot-child-viewport-effects-observer.js +5 -1
- package/plugins/runtime-modules/accounting/presets.d.ts +9 -0
- package/plugins/runtime-modules/accounting/presets.js +37 -0
- package/plugins/runtime-modules/accounting/server.d.ts +1 -4
- package/plugins/runtime-modules/accounting/server.js +4 -7
- package/plugins/runtime-modules/app/presets.d.ts +18 -0
- package/plugins/runtime-modules/app/presets.js +67 -0
- package/plugins/runtime-modules/app/server.d.ts +1 -4
- package/plugins/runtime-modules/app/server.js +4 -7
- package/plugins/runtime-modules/area-definitions.d.ts +0 -42
- package/plugins/runtime-modules/area-definitions.js +3 -8
- package/plugins/runtime-modules/asset/controller/runtime.js +2 -2
- package/plugins/runtime-modules/asset/services/collection.js +9 -1
- package/plugins/runtime-modules/asset/services/options.js +2 -2
- package/plugins/runtime-modules/builder/area-settings-answer.js +2 -1
- package/plugins/runtime-modules/builder/authoring-canvas.js +6 -6
- package/plugins/runtime-modules/builder/cards.js +3 -5
- package/plugins/runtime-modules/builder/clients/builder-region-overrides.js +3 -3
- package/plugins/runtime-modules/builder/clients/canvas-widget.js +15 -54
- package/plugins/runtime-modules/builder/clients/inspector-config-field.d.ts +4 -1
- package/plugins/runtime-modules/builder/clients/inspector-config-field.js +25 -35
- package/plugins/runtime-modules/builder/clients/inspector-link-target-field.js +1 -1
- package/plugins/runtime-modules/builder/clients/inspector-section-widget.js +8 -8
- package/plugins/runtime-modules/builder/clients/inspector-title.js +6 -6
- package/plugins/runtime-modules/builder/clients/layout-inspector.d.ts +1 -1
- package/plugins/runtime-modules/builder/clients/layout-inspector.js +11 -25
- package/plugins/runtime-modules/builder/clients/layout-scaffold-overlays.js +10 -5
- package/plugins/runtime-modules/builder/clients/mode-switch.js +1 -1
- package/plugins/runtime-modules/builder/clients/pages-header.js +11 -11
- package/plugins/runtime-modules/builder/clients/pages-workspace.js +1 -1
- package/plugins/runtime-modules/builder/clients/region-visibility-fields.js +1 -1
- package/plugins/runtime-modules/builder/clients/runtime-module-authoring-boundary.js +1 -1
- package/plugins/runtime-modules/builder/clients/shells-workspace.js +15 -31
- package/plugins/runtime-modules/builder/clients/structure-canvas.js +1 -1
- package/plugins/runtime-modules/builder/clients/use-region-draft-hydration.d.ts +26 -0
- package/plugins/runtime-modules/builder/clients/use-region-draft-hydration.js +36 -0
- package/plugins/runtime-modules/builder/clients/widget-effects-editor.js +1 -1
- package/plugins/runtime-modules/builder/clients/widget-inspector.js +1 -0
- package/plugins/runtime-modules/builder/clients/workspace-scope-boundary.js +2 -2
- package/plugins/runtime-modules/builder/cms-instance-allocator.js +8 -28
- package/plugins/runtime-modules/builder/controller/client.d.ts +0 -15
- package/plugins/runtime-modules/builder/controller/definition.d.ts +0 -15
- package/plugins/runtime-modules/builder/controller/definition.js +0 -8
- package/plugins/runtime-modules/builder/controller/draft-command-controller.d.ts +1 -2
- package/plugins/runtime-modules/builder/controller/draft-command-controller.js +11 -30
- package/plugins/runtime-modules/builder/controller/draft-status-controller.js +15 -2
- package/plugins/runtime-modules/builder/controller/inspector-controller.d.ts +1 -2
- package/plugins/runtime-modules/builder/controller/inspector-controller.js +4 -7
- package/plugins/runtime-modules/builder/controller/page-controller.d.ts +1 -2
- package/plugins/runtime-modules/builder/controller/page-controller.js +16 -68
- package/plugins/runtime-modules/builder/controller/server-definition.d.ts +0 -15
- package/plugins/runtime-modules/builder/controller/signal-wiring-controller.d.ts +2 -5
- package/plugins/runtime-modules/builder/controller/signal-wiring-controller.js +6 -50
- package/plugins/runtime-modules/builder/controller/workspace-controller.d.ts +2 -3
- package/plugins/runtime-modules/builder/controller/workspace-controller.js +89 -153
- package/plugins/runtime-modules/builder/data-providers.d.ts +1 -0
- package/plugins/runtime-modules/builder/data-providers.js +1 -0
- package/plugins/runtime-modules/builder/definition.d.ts +1 -0
- package/plugins/runtime-modules/builder/developer-workspace-store.d.ts +64 -30
- package/plugins/runtime-modules/builder/developer-workspace-store.js +255 -61
- package/plugins/runtime-modules/builder/edit-scaffold-drawer.js +4 -3
- package/plugins/runtime-modules/builder/history.d.ts +3 -1
- package/plugins/runtime-modules/builder/options-providers.js +3 -2
- package/plugins/runtime-modules/builder/page-catalog-client.js +19 -7
- package/plugins/runtime-modules/builder/page-meta-form.js +1 -0
- package/plugins/runtime-modules/builder/page-references-provider.js +1 -1
- package/plugins/runtime-modules/builder/persistence.js +33 -69
- package/plugins/runtime-modules/builder/public-route-collisions.d.ts +2 -2
- package/plugins/runtime-modules/builder/public-route-collisions.js +6 -19
- package/plugins/runtime-modules/builder/render-root-node-preview.server.js +20 -3
- package/plugins/runtime-modules/builder/render-root-node-scaffold.js +28 -18
- package/plugins/runtime-modules/builder/runtime-module-selection.d.ts +2 -12
- package/plugins/runtime-modules/builder/runtime-module-selection.js +16 -42
- package/plugins/runtime-modules/builder/services/navigation-table.js +9 -15
- package/plugins/runtime-modules/builder/services/page-source-tree.js +8 -8
- package/plugins/runtime-modules/builder/services/runtime-modules-table.js +10 -10
- package/plugins/runtime-modules/builder/services/signal-routes-table.js +3 -3
- package/plugins/runtime-modules/builder/signal-route-selection.d.ts +1 -2
- package/plugins/runtime-modules/builder/signal-route-selection.js +2 -2
- package/plugins/runtime-modules/builder/signal-wiring-options.js +3 -2
- package/plugins/runtime-modules/builder/structure-dnd.js +8 -61
- package/plugins/runtime-modules/builder/trees/phi-default-builder-area-preset-tree.js +17 -10
- package/plugins/runtime-modules/builder/widgets/structure-region/built-in.js +27 -22
- package/plugins/runtime-modules/builder/workspace-catalog-actions.d.ts +55 -0
- package/plugins/runtime-modules/builder/workspace-catalog-actions.js +142 -0
- package/plugins/runtime-modules/client-authoring-module.d.ts +8 -1
- package/plugins/runtime-modules/client-authoring-module.js +13 -3
- package/plugins/runtime-modules/client-manifests/common.js +1 -1
- package/plugins/runtime-modules/{runtime-calendar-adapters.js → core/calendar-adapters.js} +2 -2
- package/plugins/runtime-modules/{client-calendar-adapters/core.js → core/client-calendar-adapters.js} +1 -1
- package/plugins/runtime-modules/core/content-entries/table.js +1 -1
- package/plugins/runtime-modules/core/data-providers.d.ts +3 -0
- package/plugins/runtime-modules/core/data-providers.js +2 -1
- package/plugins/runtime-modules/core/definition.d.ts +3 -0
- package/plugins/runtime-modules/core/definition.js +1 -1
- package/plugins/runtime-modules/core/messaging/data-providers.d.ts +1 -0
- package/plugins/runtime-modules/core/messaging/data-providers.js +1 -0
- package/plugins/runtime-modules/core/messaging/thread-inbox-table.js +1 -1
- package/plugins/runtime-modules/core/server.js +1 -1
- package/plugins/runtime-modules/core/themes.d.ts +44 -0
- package/plugins/runtime-modules/core/themes.js +12 -0
- package/plugins/runtime-modules/core/widgets/brand/client.d.ts +12 -3
- package/plugins/runtime-modules/core/widgets/brand/client.js +3 -11
- package/plugins/runtime-modules/core/widgets/brand/home.d.ts +15 -0
- package/plugins/runtime-modules/core/widgets/brand/home.js +18 -0
- package/plugins/runtime-modules/core/widgets/brand/plugin.js +3 -2
- package/plugins/runtime-modules/core/widgets/brand/server.d.ts +2 -2
- package/plugins/runtime-modules/core/widgets/brand/server.js +2 -2
- package/plugins/runtime-modules/core/widgets/card/collection-view-binding.js +25 -9
- package/plugins/runtime-modules/core/widgets/card/config.d.ts +301 -254
- package/plugins/runtime-modules/core/widgets/card/config.js +68 -3
- package/plugins/runtime-modules/core/widgets/card/editor.js +41 -4
- package/plugins/runtime-modules/core/widgets/card/server.d.ts +3 -0
- package/plugins/runtime-modules/core/widgets/card/server.js +32 -3
- package/plugins/runtime-modules/core/widgets/collection-view/asset-binding.js +7 -6
- package/plugins/runtime-modules/core/widgets/collection-view/config.js +9 -2
- package/plugins/runtime-modules/core/widgets/description/client.js +3 -3
- package/plugins/runtime-modules/core/widgets/description/config.d.ts +2 -25
- package/plugins/runtime-modules/core/widgets/description/editor.js +7 -63
- package/plugins/runtime-modules/core/widgets/description/server.js +3 -2
- package/plugins/runtime-modules/core/widgets/entry-list/config.d.ts +2 -25
- package/plugins/runtime-modules/core/widgets/gallery/config.d.ts +2 -25
- package/plugins/runtime-modules/core/widgets/header-navigation/client.js +2 -2
- package/plugins/runtime-modules/core/widgets/html/client.js +1 -1
- package/plugins/runtime-modules/core/widgets/image/config.js +2 -2
- package/plugins/runtime-modules/core/widgets/markdown/config.d.ts +320 -2
- package/plugins/runtime-modules/core/widgets/markdown/config.js +18 -4
- package/plugins/runtime-modules/core/widgets/markdown/editor.js +11 -4
- package/plugins/runtime-modules/core/widgets/markdown-toc/client.js +6 -1
- package/plugins/runtime-modules/core/widgets/markdown-toc/config.d.ts +14 -0
- package/plugins/runtime-modules/core/widgets/markdown-toc/config.js +14 -2
- package/plugins/runtime-modules/core/widgets/quick-links/authoring.js +7 -2
- package/plugins/runtime-modules/core/widgets/quick-links/client.js +2 -2
- package/plugins/runtime-modules/core/widgets/quick-links/items.d.ts +0 -2
- package/plugins/runtime-modules/core/widgets/quick-links/items.js +0 -15
- package/plugins/runtime-modules/core/widgets/result/config.d.ts +5 -25
- package/plugins/runtime-modules/core/widgets/result/config.js +2 -0
- package/plugins/runtime-modules/core/widgets/result/server.js +25 -19
- package/plugins/runtime-modules/core/widgets/sidebar-navigation/authoring.js +1 -1
- package/plugins/runtime-modules/core/widgets/sidebar-navigation/client.js +1 -1
- package/plugins/runtime-modules/core/widgets/simple-text/client.js +8 -3
- package/plugins/runtime-modules/core/widgets/simple-text/config.d.ts +2 -25
- package/plugins/runtime-modules/core/widgets/simple-text/editor.js +2 -2
- package/plugins/runtime-modules/core/widgets/slot-upload/client.js +11 -2
- package/plugins/runtime-modules/core/widgets/table/client.js +8 -4
- package/plugins/runtime-modules/core/widgets/table/config.d.ts +6 -83
- package/plugins/runtime-modules/core/widgets/table/config.js +302 -452
- package/plugins/runtime-modules/core/widgets/tree/config.js +5 -2
- package/plugins/runtime-modules/dashboard/card-rows.d.ts +7 -0
- package/plugins/runtime-modules/dashboard/card-rows.js +87 -0
- package/plugins/runtime-modules/dashboard/clients/dashboard-card-view.js +32 -12
- package/plugins/runtime-modules/dashboard/services/collection.js +17 -7
- package/plugins/runtime-modules/dashboard/trees/phi-default-builder-dashboard-page-tree.js +5 -40
- package/plugins/runtime-modules/groups/data-providers.d.ts +2 -0
- package/plugins/runtime-modules/groups/data-providers.js +3 -3
- package/plugins/runtime-modules/groups/definition.d.ts +2 -0
- package/plugins/runtime-modules/localization/data-providers.d.ts +3 -0
- package/plugins/runtime-modules/localization/data-providers.js +2 -0
- package/plugins/runtime-modules/localization/definition.d.ts +3 -0
- package/plugins/runtime-modules/localization/services/table.js +3 -7
- package/plugins/runtime-modules/observability/data-providers.d.ts +1 -0
- package/plugins/runtime-modules/observability/data-providers.js +1 -0
- package/plugins/runtime-modules/observability/definition.d.ts +1 -0
- package/plugins/runtime-modules/observability/module.d.ts +1 -0
- package/plugins/runtime-modules/observability/services/table.js +1 -1
- package/plugins/runtime-modules/phi-default-site-area-preset-tree.js +2 -105
- package/plugins/runtime-modules/public/presets.d.ts +115 -0
- package/plugins/runtime-modules/{area-base-presets.js → public/presets.js} +19 -119
- package/plugins/runtime-modules/public/server.d.ts +1 -4
- package/plugins/runtime-modules/public/server.js +4 -7
- package/plugins/runtime-modules/public/trees/phi-default-pub-error-page-tree.js +7 -8
- package/plugins/runtime-modules/public-base-page-references.d.ts +1 -1
- package/plugins/runtime-modules/public-base-page-references.js +1 -1
- package/plugins/runtime-modules/revisions/controller/client.js +11 -11
- package/plugins/runtime-modules/revisions/services/table.js +3 -3
- package/plugins/runtime-modules/theme/trees/phi-default-builder-theme-page-tree.js +22 -0
- package/plugins/runtime-modules/theme/widgets/brand-controls/client.d.ts +2 -1
- package/plugins/runtime-modules/theme/widgets/brand-controls/client.js +111 -72
- package/plugins/runtime-modules/theme/widgets/brand-controls/config.d.ts +2 -1
- package/plugins/runtime-modules/theme/widgets/brand-controls/config.js +28 -31
- package/plugins/runtime-modules/theme/widgets/brand-controls/plugin.js +1 -1
- package/plugins/runtime-modules/theme-descriptors.js +1 -1
- package/plugins/runtime-modules/user-management/data-providers.d.ts +2 -0
- package/plugins/runtime-modules/user-management/data-providers.js +1 -0
- package/plugins/runtime-modules/user-management/definition.d.ts +2 -0
- package/server-helpers/cms-link-targets.js +6 -0
- package/styles/control-shape.css +11 -11
- package/styles/controls.css +67 -5
- package/styles/layout.css +61 -9
- package/styles/shell.css +73 -0
- package/theme/phi-antd-token-resolver.js +20 -1
- package/theme/phi-theme-tokens.d.ts +1 -1
- package/theme/phi-theme-tokens.js +1 -0
- package/theme/phi-theme.d.ts +5 -0
- package/theme/phi-theme.js +21 -0
- package/theme/phi-tokens.d.ts +16 -15
- package/theme/phi-tokens.js +16 -15
- package/types/cms-config.js +142 -185
- package/types/cms-plugins.d.ts +6 -11
- package/types/core-widget-placements.d.ts +14 -3
- package/types/dashboard-cards.d.ts +48 -4
- package/types/dashboard-cards.js +6 -0
- package/types/media.d.ts +0 -3
- package/types/renderable-block.d.ts +6 -1
- package/types/site-theme.d.ts +10 -2
- package/types/table-widget.d.ts +9 -0
- package/types/table-widget.js +20 -0
- package/types.d.ts +1 -1
- package/widget-config.d.ts +2 -0
- package/widget-config.js +6 -0
- package/plugins/runtime-modules/area-base-presets.d.ts +0 -139
- /package/plugins/runtime-modules/{runtime-calendar-adapters.d.ts → core/calendar-adapters.d.ts} +0 -0
- /package/plugins/runtime-modules/{client-calendar-adapters/core.d.ts → core/client-calendar-adapters.d.ts} +0 -0
|
@@ -76,8 +76,8 @@ export function PhiQuickLinksWidgetClient({ labels, config, }) {
|
|
|
76
76
|
width: "100%",
|
|
77
77
|
minWidth: 0,
|
|
78
78
|
color: "inherit",
|
|
79
|
-
fontSize: token.
|
|
80
|
-
lineHeight: token.
|
|
79
|
+
fontSize: token.fontSize,
|
|
80
|
+
lineHeight: token.lineHeight,
|
|
81
81
|
}, children: labels.title })) : null, _jsx("div", { style: {
|
|
82
82
|
display: "grid",
|
|
83
83
|
gridTemplateColumns: `repeat(${groupedItems.length}, minmax(0, 1fr))`,
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { type PhiBuilderNavigationItem } from "../../../../../helpers/cms-navigation-catalog";
|
|
2
1
|
import type { PhiNavItem } from "../../../../../components/shell/shell-types";
|
|
3
2
|
import type { PhiQuickLinksWidgetItem } from "./client";
|
|
4
3
|
export declare function mapPhiNavItemsToQuickLinksItems(items: PhiNavItem[], locale: string, area: string, interactive?: boolean): PhiQuickLinksWidgetItem[];
|
|
5
|
-
export declare function mapPhiBuilderNavigationItemsToQuickLinksItems(items: PhiBuilderNavigationItem[], locale: string, area: string): PhiQuickLinksWidgetItem[];
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { resolvePhiNavHref } from "../../../../../helpers/locale";
|
|
2
|
-
import {} from "../../../../../helpers/cms-navigation-catalog";
|
|
3
2
|
export function mapPhiNavItemsToQuickLinksItems(items, locale, area, interactive = true) {
|
|
4
3
|
return items
|
|
5
4
|
.filter((item) => !item.separator && Boolean(item.href))
|
|
@@ -11,17 +10,3 @@ export function mapPhiNavItemsToQuickLinksItems(items, locale, area, interactive
|
|
|
11
10
|
newTab: interactive ? item.newTab : false,
|
|
12
11
|
}));
|
|
13
12
|
}
|
|
14
|
-
function flattenPhiBuilderNavigationItems(items) {
|
|
15
|
-
return items.flatMap((item) => [item, ...(Array.isArray(item.children) ? flattenPhiBuilderNavigationItems(item.children) : [])]);
|
|
16
|
-
}
|
|
17
|
-
export function mapPhiBuilderNavigationItemsToQuickLinksItems(items, locale, area) {
|
|
18
|
-
return flattenPhiBuilderNavigationItems(items)
|
|
19
|
-
.filter((item) => item.href !== null)
|
|
20
|
-
.map((item) => ({
|
|
21
|
-
label: item.label,
|
|
22
|
-
href: resolvePhiNavHref(locale, area, item.href),
|
|
23
|
-
icon: item.icon ?? undefined,
|
|
24
|
-
external: false,
|
|
25
|
-
newTab: false,
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PhiTextSource } from "../../../../../helpers/text-source";
|
|
1
2
|
import { type PhiCmsWidgetConfigBase } from "../../../../../components/widgets/config/parser-primitives";
|
|
2
3
|
import type { PhiResultWidgetVisualStatus } from "../../../../../types/result-widget";
|
|
3
4
|
export type PhiCmsResultWidgetConfig = PhiCmsWidgetConfigBase & {
|
|
@@ -7,6 +8,8 @@ export type PhiCmsResultWidgetConfig = PhiCmsWidgetConfigBase & {
|
|
|
7
8
|
subTitle?: string;
|
|
8
9
|
homeLink?: boolean;
|
|
9
10
|
homeLinkLabel?: string;
|
|
11
|
+
/** Whose words `title`, `subTitle` and `homeLinkLabel` are (`helpers/text-source.ts`). */
|
|
12
|
+
textSource?: PhiTextSource;
|
|
10
13
|
};
|
|
11
14
|
/**
|
|
12
15
|
* The way out of a result that ended a journey.
|
|
@@ -42,6 +45,7 @@ export declare const PHI_RESULT_WIDGET_DEFINITION: {
|
|
|
42
45
|
} & {
|
|
43
46
|
type: "string" | "url" | "icon";
|
|
44
47
|
emptyValue?: "";
|
|
48
|
+
placeholder?: string;
|
|
45
49
|
}) | ({
|
|
46
50
|
key: string;
|
|
47
51
|
label: string;
|
|
@@ -315,30 +319,6 @@ export declare const PHI_RESULT_WIDGET_DEFINITION: {
|
|
|
315
319
|
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
316
320
|
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
317
321
|
heading?: string;
|
|
318
|
-
} & {
|
|
319
|
-
type: "background";
|
|
320
|
-
section?: string;
|
|
321
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
322
|
-
}) | ({
|
|
323
|
-
key: string;
|
|
324
|
-
label: string;
|
|
325
|
-
description?: string;
|
|
326
|
-
required?: boolean;
|
|
327
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
328
|
-
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
329
|
-
heading?: string;
|
|
330
|
-
} & {
|
|
331
|
-
type: "border";
|
|
332
|
-
section?: string;
|
|
333
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
334
|
-
}) | ({
|
|
335
|
-
key: string;
|
|
336
|
-
label: string;
|
|
337
|
-
description?: string;
|
|
338
|
-
required?: boolean;
|
|
339
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
340
|
-
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
341
|
-
heading?: string;
|
|
342
322
|
} & {
|
|
343
323
|
type: "surface";
|
|
344
324
|
tone?: false;
|
|
@@ -351,7 +331,7 @@ export declare const PHI_RESULT_WIDGET_DEFINITION: {
|
|
|
351
331
|
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
352
332
|
heading?: string;
|
|
353
333
|
} & {
|
|
354
|
-
type: "
|
|
334
|
+
type: "grid-placement" | "column-count";
|
|
355
335
|
section?: string;
|
|
356
336
|
}) | {
|
|
357
337
|
key: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { resolvePhiCmsWidgetPluginKey } from "../../../../../constants/cms-widget-types";
|
|
2
2
|
import { PHI_RENDERABLE_BLOCK_GEOMETRY_FIELDS } from "../../../../../helpers/renderable-block-plugin-fields";
|
|
3
|
+
import { readPhiTextSource } from "../../../../../helpers/text-source";
|
|
3
4
|
import { readBoolean, readRenderableBlockConfig, readString, } from "../../../../../components/widgets/config/parser-primitives";
|
|
4
5
|
/**
|
|
5
6
|
* The way out of a result that ended a journey.
|
|
@@ -36,6 +37,7 @@ function parsePhiCmsResultWidgetConfig(config) {
|
|
|
36
37
|
subTitle: readString(config.subTitle),
|
|
37
38
|
homeLink: readBoolean(config.homeLink) ?? true,
|
|
38
39
|
homeLinkLabel: readString(config.homeLinkLabel),
|
|
40
|
+
textSource: readPhiTextSource(config.textSource),
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
export const PHI_RESULT_WIDGET_DEFINITION = {
|
|
@@ -1,37 +1,43 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { trWidgetText } from "../../../../../server-helpers/translate";
|
|
3
|
+
import { PHI_TEXT_SOURCE_PRESET } from "../../../../../helpers/text-source";
|
|
3
4
|
import { PHI_RESULT_HOME_LINK_SOURCE_LABEL } from "./config";
|
|
4
5
|
import { localizeAreaPath } from "../../../../../helpers/locale";
|
|
5
6
|
import { PhiResultWidgetBody } from "../../../../../components/widgets/shared/result-body";
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The Result's words, each from the store of whoever wrote it (`helpers/text-source.ts`).
|
|
9
|
+
*
|
|
10
|
+
* A Preset's title and subtitle -- the error pages' "Not found" -- are the platform's and come from the
|
|
11
|
+
* global store; an author's are the Site's. The home link's default label is the Widget's own sentence,
|
|
12
|
+
* so it is the platform's whoever placed the Widget.
|
|
13
|
+
*/
|
|
7
14
|
async function resolveResultText({ config, runtime, translate }) {
|
|
8
15
|
const code = config?.code?.trim();
|
|
9
16
|
const title = config?.title?.trim();
|
|
10
17
|
const subTitle = config?.subTitle?.trim();
|
|
11
|
-
const
|
|
18
|
+
const authoredHomeLinkLabel = config?.homeLinkLabel?.trim();
|
|
19
|
+
const homeLinkLabel = authoredHomeLinkLabel || PHI_RESULT_HOME_LINK_SOURCE_LABEL;
|
|
12
20
|
const shouldTranslate = translate &&
|
|
13
21
|
config?.renderMode !== "preview" &&
|
|
14
|
-
config?.renderMode !== "editor"
|
|
15
|
-
Boolean(readPhiServerApiCredentials().apiBaseUrl.trim()) &&
|
|
16
|
-
Boolean(readPhiServerApiCredentials().internalToken.trim()) &&
|
|
17
|
-
Boolean(runtime.site.key.trim()) &&
|
|
18
|
-
Boolean(runtime.locale.current.trim());
|
|
22
|
+
config?.renderMode !== "editor";
|
|
19
23
|
if (!shouldTranslate) {
|
|
20
24
|
return { code, title, subTitle, homeLinkLabel };
|
|
21
25
|
}
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
const locale = runtime.locale.current;
|
|
27
|
+
const textSource = config?.textSource;
|
|
28
|
+
const translateText = async (value) => value ? (await trWidgetText(locale, value, textSource)).trim() || value : value;
|
|
29
|
+
const [translatedTitle, translatedSubTitle, translatedHomeLinkLabel] = await Promise.all([
|
|
30
|
+
translateText(title),
|
|
31
|
+
translateText(subTitle),
|
|
32
|
+
authoredHomeLinkLabel
|
|
33
|
+
? translateText(authoredHomeLinkLabel)
|
|
34
|
+
: trWidgetText(locale, PHI_RESULT_HOME_LINK_SOURCE_LABEL, PHI_TEXT_SOURCE_PRESET),
|
|
35
|
+
]);
|
|
30
36
|
return {
|
|
31
37
|
code,
|
|
32
|
-
title:
|
|
33
|
-
subTitle:
|
|
34
|
-
homeLinkLabel:
|
|
38
|
+
title: translatedTitle,
|
|
39
|
+
subTitle: translatedSubTitle,
|
|
40
|
+
homeLinkLabel: translatedHomeLinkLabel?.trim() || homeLinkLabel,
|
|
35
41
|
};
|
|
36
42
|
}
|
|
37
43
|
export async function PhiResultWidget({ config, runtime, translate }) {
|
|
@@ -21,7 +21,7 @@ function PhiSidebarNavigationWidgetEditor({ runtime, config, canvas, }) {
|
|
|
21
21
|
export const PHI_SIDEBAR_NAVIGATION_WIDGET_BUILDER_PLUGIN = {
|
|
22
22
|
...PHI_SIDEBAR_NAVIGATION_WIDGET_DEFINITION,
|
|
23
23
|
renderEditor: ({ runtime, config, authoring }) => authoring ? (_jsx(PhiSidebarNavigationWidgetEditor, { runtime: runtime, config: config, canvas: authoring.canvas })) : null,
|
|
24
|
-
renderEditorTools: ({ config, authoring }) => authoring?.updateConfig ? (_jsx(PhiWidgetTypographyToolButton, { fontFamily: config.fontFamily, fontSize: config.fontSize, defaultFontSize: "
|
|
24
|
+
renderEditorTools: ({ config, authoring }) => authoring?.updateConfig ? (_jsx(PhiWidgetTypographyToolButton, { fontFamily: config.fontFamily, fontSize: config.fontSize, defaultFontSize: "base", ariaLabel: "Sidebar navigation typography", onChange: ({ fontFamily, fontSize }) => authoring.updateConfig?.({
|
|
25
25
|
...(fontFamily !== undefined ? { fontFamily: fontFamily ?? undefined } : {}),
|
|
26
26
|
...(fontSize !== undefined ? { fontSize: fontSize ?? undefined } : {}),
|
|
27
27
|
}) })) : null,
|
|
@@ -33,7 +33,7 @@ function usePhiSidebarMenuPresentation(config) {
|
|
|
33
33
|
const sider = usePhiSiderContext();
|
|
34
34
|
return {
|
|
35
35
|
fontFamily: resolvePhiWidgetFontFamily(config?.fontFamily, fonts, token),
|
|
36
|
-
fontSize: resolvePhiWidgetFontSize(config?.fontSize, token, "
|
|
36
|
+
fontSize: resolvePhiWidgetFontSize(config?.fontSize, token, "base"),
|
|
37
37
|
collapsed: sider?.collapsed ?? false,
|
|
38
38
|
collapsedWidth: sider?.collapsedWidth ?? 40,
|
|
39
39
|
};
|
|
@@ -50,7 +50,7 @@ export function PhiSimpleTextWidgetClient({ blockId, labels, config, }) {
|
|
|
50
50
|
const resolvedFontFamily = styleValue.code
|
|
51
51
|
? token.fontFamilyCode
|
|
52
52
|
: resolvePhiWidgetFontFamily(fontFamilyValue, fonts, token);
|
|
53
|
-
const resolvedFontSize = resolvePhiWidgetFontSize(fontSizeValue, token, "
|
|
53
|
+
const resolvedFontSize = resolvePhiWidgetFontSize(fontSizeValue, token, "base");
|
|
54
54
|
const receiver = createPhiRenderableBlockReceiver("widget", blockId);
|
|
55
55
|
usePhiRenderableBlockSignalListener(receiver, (signal) => {
|
|
56
56
|
if (signal.channel === "text") {
|
|
@@ -105,16 +105,21 @@ export function PhiSimpleTextWidgetClient({ blockId, labels, config, }) {
|
|
|
105
105
|
code: typeof stylePayload.code === "boolean" ? stylePayload.code : current.code,
|
|
106
106
|
}));
|
|
107
107
|
});
|
|
108
|
+
/*
|
|
109
|
+
* A linked text's colour is the link's (`PhiLink`), which answers the pointer; the words inside inherit
|
|
110
|
+
* it. Stated on them as well, the colour stood over the link's and the hover never showed.
|
|
111
|
+
*/
|
|
112
|
+
const contentColor = hasHref ? undefined : textColor;
|
|
108
113
|
const contentNode = (_jsxs(PhiFlexControl, { align: "center", gap: 8, style: {
|
|
109
114
|
width: "fit-content",
|
|
110
115
|
maxWidth: "100%",
|
|
111
116
|
minWidth: 0,
|
|
112
117
|
fontSize: resolvedFontSize ?? "inherit",
|
|
113
118
|
lineHeight: resolvedFontSize ? PHI_LINE_HEIGHT_LG : "inherit",
|
|
114
|
-
color:
|
|
119
|
+
color: contentColor ?? undefined,
|
|
115
120
|
fontFamily: resolvedFontFamily,
|
|
116
121
|
}, children: [iconValue ? _jsx(PhiIcon, { name: iconValue, size: "1.25em" }) : null, _jsx(PhiTypographyControl, { type: config?.tone, strong: styleValue.strong, italic: styleValue.italic, underline: styleValue.underline, delete: styleValue.delete, disabled: styleValue.disabled, code: styleValue.code, style: {
|
|
117
|
-
color:
|
|
122
|
+
color: contentColor ?? "inherit",
|
|
118
123
|
fontSize: resolvedFontSize ?? "inherit",
|
|
119
124
|
lineHeight: resolvedFontSize ? PHI_LINE_HEIGHT_LG : "inherit",
|
|
120
125
|
...(resolvedFontFamily ? { fontFamily: resolvedFontFamily } : {}),
|
|
@@ -50,6 +50,7 @@ export declare const PHI_SIMPLE_TEXT_WIDGET_DEFINITION: {
|
|
|
50
50
|
} & {
|
|
51
51
|
type: "string" | "url" | "icon";
|
|
52
52
|
emptyValue?: "";
|
|
53
|
+
placeholder?: string;
|
|
53
54
|
}) | ({
|
|
54
55
|
key: string;
|
|
55
56
|
label: string;
|
|
@@ -323,30 +324,6 @@ export declare const PHI_SIMPLE_TEXT_WIDGET_DEFINITION: {
|
|
|
323
324
|
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
324
325
|
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
325
326
|
heading?: string;
|
|
326
|
-
} & {
|
|
327
|
-
type: "background";
|
|
328
|
-
section?: string;
|
|
329
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
330
|
-
}) | ({
|
|
331
|
-
key: string;
|
|
332
|
-
label: string;
|
|
333
|
-
description?: string;
|
|
334
|
-
required?: boolean;
|
|
335
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
336
|
-
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
337
|
-
heading?: string;
|
|
338
|
-
} & {
|
|
339
|
-
type: "border";
|
|
340
|
-
section?: string;
|
|
341
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
342
|
-
}) | ({
|
|
343
|
-
key: string;
|
|
344
|
-
label: string;
|
|
345
|
-
description?: string;
|
|
346
|
-
required?: boolean;
|
|
347
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
348
|
-
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
349
|
-
heading?: string;
|
|
350
327
|
} & {
|
|
351
328
|
type: "surface";
|
|
352
329
|
tone?: false;
|
|
@@ -359,7 +336,7 @@ export declare const PHI_SIMPLE_TEXT_WIDGET_DEFINITION: {
|
|
|
359
336
|
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
360
337
|
heading?: string;
|
|
361
338
|
} & {
|
|
362
|
-
type: "
|
|
339
|
+
type: "grid-placement" | "column-count";
|
|
363
340
|
section?: string;
|
|
364
341
|
}) | {
|
|
365
342
|
key: string;
|
|
@@ -43,7 +43,7 @@ export function PhiSimpleTextWidgetColorButton({ config, onChange, }) {
|
|
|
43
43
|
}
|
|
44
44
|
export function PhiSimpleTextWidgetTypographyButton({ config, onChange, }) {
|
|
45
45
|
const labels = usePhiAuthoringToolsLabels();
|
|
46
|
-
return (_jsx(PhiWidgetTypographyToolButton, { fontFamily: config?.fontFamily, fontSize: config?.fontSize, defaultFontSize: "
|
|
46
|
+
return (_jsx(PhiWidgetTypographyToolButton, { fontFamily: config?.fontFamily, fontSize: config?.fontSize, defaultFontSize: "base", ariaLabel: labels.text.typography, onChange: ({ fontFamily, fontSize }) => onChange({
|
|
47
47
|
...(fontFamily !== undefined ? { fontFamily: fontFamily ?? undefined } : {}),
|
|
48
48
|
...(fontSize !== undefined ? { fontSize: fontSize ?? undefined } : {}),
|
|
49
49
|
}) }));
|
|
@@ -71,7 +71,7 @@ export function PhiSimpleTextWidgetEditor({ text, config, onChangeText, }) {
|
|
|
71
71
|
const resolvedFontFamily = hasPhiSimpleTextMark(config, "code")
|
|
72
72
|
? token.fontFamilyCode
|
|
73
73
|
: resolvePhiWidgetFontFamily(config?.fontFamily, fonts, token);
|
|
74
|
-
const resolvedFontSize = resolvePhiWidgetFontSize(config?.fontSize, token, "
|
|
74
|
+
const resolvedFontSize = resolvePhiWidgetFontSize(config?.fontSize, token, "base");
|
|
75
75
|
return (_jsxs(PhiFlexControl, { align: "center", gap: 8, style: {
|
|
76
76
|
width: "fit-content",
|
|
77
77
|
maxWidth: "100%",
|
|
@@ -8,7 +8,7 @@ import { usePhiMediaUpload } from "../../../../../components/media/phi-media-upl
|
|
|
8
8
|
import { runPhiAddonAssetUpload, } from "../../../../../components/media/media-upload-flow";
|
|
9
9
|
import { PHI_MEDIA_UPLOAD_DEFAULT_LABELS } from "../../../../../components/media/phi-media-upload";
|
|
10
10
|
import { usePhiSignalListener } from "../../../../../components/runtime/runtime-signal-bus";
|
|
11
|
-
import { usePhiSignalIdentity } from "../../../../../components/runtime/runtime-signal-identity";
|
|
11
|
+
import { emitPhiSignalCapability, usePhiSignalEmitter, usePhiSignalIdentity, } from "../../../../../components/runtime/runtime-signal-identity";
|
|
12
12
|
import { readPhiTableBindingParamsSignalValue } from "../../../../../types/table-signal-values";
|
|
13
13
|
import { findPhiSignalListenRoute } from "../../../../../helpers/signal-listen-routes";
|
|
14
14
|
import { PhiFlexControl } from "../../../../../components/controls/phi-flex-control";
|
|
@@ -21,6 +21,13 @@ export function PhiSlotUploadWidgetClient({ config }) {
|
|
|
21
21
|
const ownerParam = config?.ownerParam?.trim() || "id";
|
|
22
22
|
const signalIdentity = usePhiSignalIdentity();
|
|
23
23
|
const listenRoutes = useMemo(() => config?.signalRoutes?.listens ?? [], [config?.signalRoutes?.listens]);
|
|
24
|
+
const emitRoutes = useMemo(() => config?.signalRoutes?.emits ?? [], [config?.signalRoutes?.emits]);
|
|
25
|
+
const emitSignal = usePhiSignalEmitter();
|
|
26
|
+
/*
|
|
27
|
+
* The row's files changed -- a file arrived or went -- so whatever shows the row can read it again.
|
|
28
|
+
* Sent only once the change is through, never for an upload that was refused or a removal that failed.
|
|
29
|
+
*/
|
|
30
|
+
const announceChanged = useCallback(() => emitPhiSignalCapability(emitSignal, emitRoutes, "changed", null), [emitRoutes, emitSignal]);
|
|
24
31
|
const [ownerId, setOwnerId] = useState(null);
|
|
25
32
|
const [slot, setSlot] = useState(null);
|
|
26
33
|
/*
|
|
@@ -176,6 +183,7 @@ export function PhiSlotUploadWidgetClient({ config }) {
|
|
|
176
183
|
runSession,
|
|
177
184
|
onUploaded: async () => {
|
|
178
185
|
setFailure(null);
|
|
186
|
+
announceChanged();
|
|
179
187
|
await reload();
|
|
180
188
|
},
|
|
181
189
|
onRejected: (message) => setFailure(message),
|
|
@@ -196,8 +204,9 @@ export function PhiSlotUploadWidgetClient({ config }) {
|
|
|
196
204
|
setFailure("That file stayed.");
|
|
197
205
|
return;
|
|
198
206
|
}
|
|
207
|
+
announceChanged();
|
|
199
208
|
await reload();
|
|
200
|
-
}, [base, ownerId, read, reload]);
|
|
209
|
+
}, [announceChanged, base, ownerId, read, reload]);
|
|
201
210
|
if (!base || !slotName) {
|
|
202
211
|
return _jsx(PhiTypographyControl, { type: "secondary", children: "This field names no Add-on, table or slot." });
|
|
203
212
|
}
|
|
@@ -306,7 +306,7 @@ export function PhiTableWidgetClient({ config: inputConfig, externalSearch, exte
|
|
|
306
306
|
},
|
|
307
307
|
validateResource,
|
|
308
308
|
});
|
|
309
|
-
const { resource, bindingError, contractError, rows, total, summary, loading, error, query, resolvedQuery, setQuery, selectedRowIdentities, setSelectedRowIdentities, expandedRowIdentities, setExpandedRowIdentities, reload, executeAction, commitField, commitRow, isFieldMutationPending, moveRow, drop, } = binding;
|
|
309
|
+
const { resource, bindingError, contractError, rows, total, hasMore, summary, loading, error, query, resolvedQuery, setQuery, selectedRowIdentities, setSelectedRowIdentities, expandedRowIdentities, setExpandedRowIdentities, reload, executeAction, commitField, commitRow, isFieldMutationPending, moveRow, drop, } = binding;
|
|
310
310
|
const toolbarActions = useMemo(() => resolveTableActions(features.actions?.toolbar, resource?.actions), [features.actions?.toolbar, resource?.actions]);
|
|
311
311
|
const rowActions = useMemo(() => resolveTableActions(features.actions?.row, resource?.actions), [features.actions?.row, resource?.actions]);
|
|
312
312
|
const bulkActions = useMemo(() => resolveTableActions(features.actions?.bulk, resource?.actions), [features.actions?.bulk, resource?.actions]);
|
|
@@ -564,7 +564,7 @@ export function PhiTableWidgetClient({ config: inputConfig, externalSearch, exte
|
|
|
564
564
|
}, [emitCapability, resolvedQuery]);
|
|
565
565
|
useEffect(() => {
|
|
566
566
|
const state = {
|
|
567
|
-
total,
|
|
567
|
+
total: total ?? undefined,
|
|
568
568
|
page: resolvedQuery.page,
|
|
569
569
|
pageSize: resolvedQuery.pageSize,
|
|
570
570
|
loading: effectiveLoading,
|
|
@@ -667,14 +667,17 @@ export function PhiTableWidgetClient({ config: inputConfig, externalSearch, exte
|
|
|
667
667
|
const resolveSummaryValue = useCallback((item) => {
|
|
668
668
|
if (item.value.source === "provider")
|
|
669
669
|
return summary[item.value.fieldKey];
|
|
670
|
+
// Without a count the Provider gives, there is none to show: the rows of this page are not it.
|
|
670
671
|
if (item.value.fieldKey === "totalRows")
|
|
671
|
-
return total;
|
|
672
|
+
return total ?? undefined;
|
|
672
673
|
if (item.value.fieldKey === "pageRows")
|
|
673
674
|
return rows.length;
|
|
674
675
|
if (item.value.fieldKey === "selectedRows")
|
|
675
676
|
return selectedRowIdentities.length;
|
|
676
677
|
if (item.value.fieldKey === "page")
|
|
677
678
|
return resolvedQuery.page ?? 1;
|
|
679
|
+
if (total == null)
|
|
680
|
+
return undefined;
|
|
678
681
|
const pageSize = resolvedQuery.pageSize ?? rows.length;
|
|
679
682
|
return pageSize > 0 ? Math.ceil(total / pageSize) : 0;
|
|
680
683
|
}, [resolvedQuery.page, resolvedQuery.pageSize, rows.length, selectedRowIdentities.length, summary, total]);
|
|
@@ -824,7 +827,8 @@ export function PhiTableWidgetClient({ config: inputConfig, externalSearch, exte
|
|
|
824
827
|
} : undefined, pagination: features.pagination?.enabled === false ? false : {
|
|
825
828
|
page: resolvedQuery.page ?? 1,
|
|
826
829
|
pageSize: resolvedQuery.pageSize ?? 20,
|
|
827
|
-
total,
|
|
830
|
+
total: total ?? undefined,
|
|
831
|
+
hasMore,
|
|
828
832
|
pageSizeOptions: features.pagination?.pageSizes,
|
|
829
833
|
showSizeChanger: (features.pagination?.pageSizes?.length ?? 0) > 0,
|
|
830
834
|
onChange: (page, pageSize) => setQuery((current) => ({ ...current, page, pageSize, cursor: null })),
|
|
@@ -73,6 +73,7 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
73
73
|
} & {
|
|
74
74
|
type: "string" | "url" | "icon";
|
|
75
75
|
emptyValue?: "";
|
|
76
|
+
placeholder?: string;
|
|
76
77
|
}) | ({
|
|
77
78
|
key: string;
|
|
78
79
|
label: string;
|
|
@@ -346,30 +347,6 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
346
347
|
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
347
348
|
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
348
349
|
heading?: string;
|
|
349
|
-
} & {
|
|
350
|
-
type: "background";
|
|
351
|
-
section?: string;
|
|
352
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
353
|
-
}) | ({
|
|
354
|
-
key: string;
|
|
355
|
-
label: string;
|
|
356
|
-
description?: string;
|
|
357
|
-
required?: boolean;
|
|
358
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
359
|
-
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
360
|
-
heading?: string;
|
|
361
|
-
} & {
|
|
362
|
-
type: "border";
|
|
363
|
-
section?: string;
|
|
364
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
365
|
-
}) | ({
|
|
366
|
-
key: string;
|
|
367
|
-
label: string;
|
|
368
|
-
description?: string;
|
|
369
|
-
required?: boolean;
|
|
370
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
371
|
-
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
372
|
-
heading?: string;
|
|
373
350
|
} & {
|
|
374
351
|
type: "surface";
|
|
375
352
|
tone?: false;
|
|
@@ -382,7 +359,7 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
382
359
|
visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
|
|
383
360
|
heading?: string;
|
|
384
361
|
} & {
|
|
385
|
-
type: "
|
|
362
|
+
type: "grid-placement" | "column-count";
|
|
386
363
|
section?: string;
|
|
387
364
|
}) | {
|
|
388
365
|
visibleWhen: {
|
|
@@ -397,6 +374,7 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
397
374
|
heading?: string;
|
|
398
375
|
type: "string" | "url" | "icon";
|
|
399
376
|
emptyValue?: "";
|
|
377
|
+
placeholder?: string;
|
|
400
378
|
} | {
|
|
401
379
|
visibleWhen: {
|
|
402
380
|
field: string;
|
|
@@ -700,34 +678,6 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
700
678
|
reorderable?: boolean;
|
|
701
679
|
presentation?: import("../../../../../types").PhiCmsConfigFieldCollectionPresentation;
|
|
702
680
|
editLabel?: string;
|
|
703
|
-
} | {
|
|
704
|
-
visibleWhen: {
|
|
705
|
-
field: string;
|
|
706
|
-
notEquals: string;
|
|
707
|
-
};
|
|
708
|
-
key: string;
|
|
709
|
-
label: string;
|
|
710
|
-
description?: string;
|
|
711
|
-
required?: boolean;
|
|
712
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
713
|
-
heading?: string;
|
|
714
|
-
type: "background";
|
|
715
|
-
section?: string;
|
|
716
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
717
|
-
} | {
|
|
718
|
-
visibleWhen: {
|
|
719
|
-
field: string;
|
|
720
|
-
notEquals: string;
|
|
721
|
-
};
|
|
722
|
-
key: string;
|
|
723
|
-
label: string;
|
|
724
|
-
description?: string;
|
|
725
|
-
required?: boolean;
|
|
726
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
727
|
-
heading?: string;
|
|
728
|
-
type: "border";
|
|
729
|
-
section?: string;
|
|
730
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
731
681
|
} | {
|
|
732
682
|
visibleWhen: {
|
|
733
683
|
field: string;
|
|
@@ -752,7 +702,7 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
752
702
|
required?: boolean;
|
|
753
703
|
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
754
704
|
heading?: string;
|
|
755
|
-
type: "
|
|
705
|
+
type: "grid-placement" | "column-count";
|
|
756
706
|
section?: string;
|
|
757
707
|
} | {
|
|
758
708
|
key: string;
|
|
@@ -790,6 +740,7 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
790
740
|
heading?: string;
|
|
791
741
|
type: "string" | "url" | "icon";
|
|
792
742
|
emptyValue?: "";
|
|
743
|
+
placeholder?: string;
|
|
793
744
|
} | {
|
|
794
745
|
visibleWhen: {
|
|
795
746
|
field: string;
|
|
@@ -1093,34 +1044,6 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
1093
1044
|
reorderable?: boolean;
|
|
1094
1045
|
presentation?: import("../../../../../types").PhiCmsConfigFieldCollectionPresentation;
|
|
1095
1046
|
editLabel?: string;
|
|
1096
|
-
} | {
|
|
1097
|
-
visibleWhen: {
|
|
1098
|
-
field: string;
|
|
1099
|
-
equals: boolean;
|
|
1100
|
-
};
|
|
1101
|
-
key: string;
|
|
1102
|
-
label: string;
|
|
1103
|
-
description?: string;
|
|
1104
|
-
required?: boolean;
|
|
1105
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
1106
|
-
heading?: string;
|
|
1107
|
-
type: "background";
|
|
1108
|
-
section?: string;
|
|
1109
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
1110
|
-
} | {
|
|
1111
|
-
visibleWhen: {
|
|
1112
|
-
field: string;
|
|
1113
|
-
equals: boolean;
|
|
1114
|
-
};
|
|
1115
|
-
key: string;
|
|
1116
|
-
label: string;
|
|
1117
|
-
description?: string;
|
|
1118
|
-
required?: boolean;
|
|
1119
|
-
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
1120
|
-
heading?: string;
|
|
1121
|
-
type: "border";
|
|
1122
|
-
section?: string;
|
|
1123
|
-
storage?: import("../../../../../types").PhiCmsConfigFieldValueStorage;
|
|
1124
1047
|
} | {
|
|
1125
1048
|
visibleWhen: {
|
|
1126
1049
|
field: string;
|
|
@@ -1145,7 +1068,7 @@ export declare const PHI_TABLE_WIDGET_DEFINITION: {
|
|
|
1145
1068
|
required?: boolean;
|
|
1146
1069
|
editorPlacement?: "inspector" | "geometry" | "toolbar";
|
|
1147
1070
|
heading?: string;
|
|
1148
|
-
type: "
|
|
1071
|
+
type: "grid-placement" | "column-count";
|
|
1149
1072
|
section?: string;
|
|
1150
1073
|
} | {
|
|
1151
1074
|
key: string;
|