@phis/ui 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/components/cms/phi-cms-layout-renderer.js +4 -3
  2. package/components/cms/phi-cms-page-render-scope.d.ts +4 -5
  3. package/components/cms/phi-cms-page-render-scope.js +43 -22
  4. package/components/cms/phi-cms-render-diagnostic-client.js +7 -3
  5. package/components/cms/phi-cms-render-error-boundary.js +2 -1
  6. package/components/controls/phi-bullet-list-control.js +31 -2
  7. package/components/controls/phi-ribbon-control.d.ts +29 -0
  8. package/components/controls/phi-ribbon-control.js +53 -0
  9. package/components/controls/phi-table-control.d.ts +3 -0
  10. package/components/controls/phi-table-control.js +13 -1
  11. package/components/controls/phi-tree-control.js +3 -3
  12. package/components/forms/shared-form-provider-registry.js +1 -4
  13. package/components/media/asset-collection-runtime.js +6 -16
  14. package/components/media/media-font-metrics.d.ts +3 -0
  15. package/components/media/media-font-metrics.js +43 -0
  16. package/components/media/phi-area-upload-widget.js +53 -97
  17. package/components/media/phi-image-preview-data.d.ts +13 -0
  18. package/components/media/phi-image-preview-data.js +184 -9
  19. package/components/media/phi-media-picker-binding.js +16 -13
  20. package/components/media/phi-media-upload.d.ts +15 -8
  21. package/components/media/phi-media-upload.js +18 -9
  22. package/components/media/phi-site-font-assets.js +7 -8
  23. package/components/overlays/phi-overlay-container-client.js +16 -1
  24. package/components/regions/presets/phi-settings-page-shell-tree.js +48 -1
  25. package/components/runtime/runtime-controller-materialization.js +12 -1
  26. package/components/state/scoped-state-store.js +20 -3
  27. package/components/tables/client/phi-table-binding.d.ts +2 -1
  28. package/components/tables/client/phi-table-binding.js +45 -21
  29. package/components/trees/client/phi-tree-binding.js +19 -11
  30. package/components/widgets/client/bullet-list-entries-editor.d.ts +26 -0
  31. package/components/widgets/client/bullet-list-entries-editor.js +103 -0
  32. package/components/widgets/config/choice-shared.js +12 -13
  33. package/components/widgets/config/command-buttons.d.ts +5 -1
  34. package/components/widgets/config/command-buttons.js +38 -81
  35. package/components/widgets/config/control-signal-config.d.ts +3 -1
  36. package/components/widgets/config/control-signal-config.js +19 -17
  37. package/components/widgets/config/image-source-parser.d.ts +1 -0
  38. package/components/widgets/config/image-source-parser.js +7 -8
  39. package/components/widgets/config/mask.d.ts +6 -1
  40. package/components/widgets/config/mask.js +24 -1
  41. package/components/widgets/config/parser-primitives.js +72 -0
  42. package/components/widgets/config/stack-tabs.d.ts +1 -1
  43. package/components/widgets/config/stack-tabs.js +2 -3
  44. package/components/widgets/config/strict-config-reader.d.ts +40 -0
  45. package/components/widgets/config/strict-config-reader.js +174 -0
  46. package/components/widgets/label-sets/effects.js +2 -0
  47. package/components/widgets/label-types/effects.d.ts +1 -0
  48. package/components/widgets/label-types/effects.js +1 -0
  49. package/components/widgets/navigation-descriptor-resolver.server.js +20 -8
  50. package/components/widgets/shared/bullet-list-vocabulary.d.ts +17 -1
  51. package/components/widgets/shared/bullet-list-vocabulary.js +19 -2
  52. package/components/widgets/shared/card-body-client.d.ts +16 -4
  53. package/components/widgets/shared/card-body-client.js +81 -24
  54. package/components/widgets/shared/card-vocabulary.d.ts +21 -4
  55. package/components/widgets/shared/card-vocabulary.js +28 -2
  56. package/components/widgets/signals/control-signal-capabilities.d.ts +0 -18
  57. package/components/widgets/signals/control-signal-capabilities.js +10 -22
  58. package/components/workspace/catalog-store.d.ts +4 -3
  59. package/components/workspace/catalog-store.js +6 -5
  60. package/gateway/dashboard-cards-route.js +1 -0
  61. package/gateway/internal-references.d.ts +6 -1
  62. package/gateway/internal-references.js +48 -23
  63. package/gateway/site-cms-write-validation.d.ts +9 -0
  64. package/gateway/site-cms-write-validation.js +78 -0
  65. package/gateway/site-proxy.js +19 -3
  66. package/helpers/renderable-block-serialization.js +1 -1
  67. package/next/config.d.mts +3 -0
  68. package/next/config.mjs +28 -1
  69. package/package.json +2 -2
  70. package/plugins/runtime/phi-slot-child-viewport-effects-observer.js +5 -1
  71. package/plugins/runtime-modules/accounting/presets.d.ts +9 -0
  72. package/plugins/runtime-modules/accounting/presets.js +37 -0
  73. package/plugins/runtime-modules/accounting/server.d.ts +1 -4
  74. package/plugins/runtime-modules/accounting/server.js +4 -7
  75. package/plugins/runtime-modules/app/presets.d.ts +18 -0
  76. package/plugins/runtime-modules/app/presets.js +67 -0
  77. package/plugins/runtime-modules/app/server.d.ts +1 -4
  78. package/plugins/runtime-modules/app/server.js +4 -7
  79. package/plugins/runtime-modules/asset/controller/runtime.js +2 -2
  80. package/plugins/runtime-modules/asset/services/collection.js +9 -1
  81. package/plugins/runtime-modules/asset/services/options.js +2 -2
  82. package/plugins/runtime-modules/builder/area-settings-answer.js +2 -1
  83. package/plugins/runtime-modules/builder/authoring-canvas.js +6 -6
  84. package/plugins/runtime-modules/builder/cards.js +3 -5
  85. package/plugins/runtime-modules/builder/clients/builder-region-overrides.js +3 -3
  86. package/plugins/runtime-modules/builder/clients/canvas-widget.js +15 -54
  87. package/plugins/runtime-modules/builder/clients/inspector-config-field.d.ts +4 -1
  88. package/plugins/runtime-modules/builder/clients/inspector-config-field.js +5 -34
  89. package/plugins/runtime-modules/builder/clients/inspector-link-target-field.js +1 -1
  90. package/plugins/runtime-modules/builder/clients/inspector-section-widget.js +8 -8
  91. package/plugins/runtime-modules/builder/clients/inspector-title.js +6 -6
  92. package/plugins/runtime-modules/builder/clients/layout-inspector.d.ts +1 -1
  93. package/plugins/runtime-modules/builder/clients/layout-inspector.js +11 -25
  94. package/plugins/runtime-modules/builder/clients/mode-switch.js +1 -1
  95. package/plugins/runtime-modules/builder/clients/pages-header.js +11 -11
  96. package/plugins/runtime-modules/builder/clients/pages-workspace.js +1 -1
  97. package/plugins/runtime-modules/builder/clients/region-visibility-fields.js +1 -1
  98. package/plugins/runtime-modules/builder/clients/runtime-module-authoring-boundary.js +1 -1
  99. package/plugins/runtime-modules/builder/clients/shells-workspace.js +15 -31
  100. package/plugins/runtime-modules/builder/clients/structure-canvas.js +1 -1
  101. package/plugins/runtime-modules/builder/clients/use-region-draft-hydration.d.ts +26 -0
  102. package/plugins/runtime-modules/builder/clients/use-region-draft-hydration.js +36 -0
  103. package/plugins/runtime-modules/builder/clients/widget-effects-editor.js +1 -1
  104. package/plugins/runtime-modules/builder/clients/widget-inspector.js +1 -0
  105. package/plugins/runtime-modules/builder/clients/workspace-scope-boundary.js +2 -2
  106. package/plugins/runtime-modules/builder/cms-instance-allocator.js +8 -28
  107. package/plugins/runtime-modules/builder/controller/client.d.ts +0 -15
  108. package/plugins/runtime-modules/builder/controller/definition.d.ts +0 -15
  109. package/plugins/runtime-modules/builder/controller/definition.js +0 -8
  110. package/plugins/runtime-modules/builder/controller/draft-command-controller.d.ts +1 -2
  111. package/plugins/runtime-modules/builder/controller/draft-command-controller.js +11 -30
  112. package/plugins/runtime-modules/builder/controller/draft-status-controller.js +15 -2
  113. package/plugins/runtime-modules/builder/controller/inspector-controller.d.ts +1 -2
  114. package/plugins/runtime-modules/builder/controller/inspector-controller.js +4 -7
  115. package/plugins/runtime-modules/builder/controller/page-controller.d.ts +1 -2
  116. package/plugins/runtime-modules/builder/controller/page-controller.js +16 -68
  117. package/plugins/runtime-modules/builder/controller/server-definition.d.ts +0 -15
  118. package/plugins/runtime-modules/builder/controller/signal-wiring-controller.d.ts +2 -5
  119. package/plugins/runtime-modules/builder/controller/signal-wiring-controller.js +6 -50
  120. package/plugins/runtime-modules/builder/controller/workspace-controller.d.ts +2 -3
  121. package/plugins/runtime-modules/builder/controller/workspace-controller.js +89 -153
  122. package/plugins/runtime-modules/builder/data-providers.d.ts +1 -0
  123. package/plugins/runtime-modules/builder/data-providers.js +1 -0
  124. package/plugins/runtime-modules/builder/definition.d.ts +1 -0
  125. package/plugins/runtime-modules/builder/developer-workspace-store.d.ts +64 -30
  126. package/plugins/runtime-modules/builder/developer-workspace-store.js +255 -61
  127. package/plugins/runtime-modules/builder/edit-scaffold-drawer.js +1 -1
  128. package/plugins/runtime-modules/builder/history.d.ts +3 -1
  129. package/plugins/runtime-modules/builder/options-providers.js +3 -2
  130. package/plugins/runtime-modules/builder/page-catalog-client.js +19 -7
  131. package/plugins/runtime-modules/builder/page-meta-form.js +1 -0
  132. package/plugins/runtime-modules/builder/page-references-provider.js +1 -1
  133. package/plugins/runtime-modules/builder/persistence.js +33 -69
  134. package/plugins/runtime-modules/builder/public-route-collisions.d.ts +2 -2
  135. package/plugins/runtime-modules/builder/public-route-collisions.js +6 -19
  136. package/plugins/runtime-modules/builder/render-root-node-preview.server.js +20 -3
  137. package/plugins/runtime-modules/builder/render-root-node-scaffold.js +3 -3
  138. package/plugins/runtime-modules/builder/runtime-module-selection.d.ts +2 -12
  139. package/plugins/runtime-modules/builder/runtime-module-selection.js +16 -42
  140. package/plugins/runtime-modules/builder/services/navigation-table.js +9 -15
  141. package/plugins/runtime-modules/builder/services/page-source-tree.js +8 -8
  142. package/plugins/runtime-modules/builder/services/runtime-modules-table.js +10 -10
  143. package/plugins/runtime-modules/builder/services/signal-routes-table.js +3 -3
  144. package/plugins/runtime-modules/builder/signal-route-selection.d.ts +1 -2
  145. package/plugins/runtime-modules/builder/signal-route-selection.js +2 -2
  146. package/plugins/runtime-modules/builder/signal-wiring-options.js +3 -2
  147. package/plugins/runtime-modules/builder/structure-dnd.js +8 -61
  148. package/plugins/runtime-modules/builder/trees/phi-default-builder-area-preset-tree.js +13 -10
  149. package/plugins/runtime-modules/builder/widgets/structure-region/built-in.js +12 -18
  150. package/plugins/runtime-modules/builder/workspace-catalog-actions.d.ts +55 -0
  151. package/plugins/runtime-modules/builder/workspace-catalog-actions.js +142 -0
  152. package/plugins/runtime-modules/client-manifests/common.js +1 -1
  153. package/plugins/runtime-modules/{runtime-calendar-adapters.js → core/calendar-adapters.js} +2 -2
  154. package/plugins/runtime-modules/{client-calendar-adapters/core.js → core/client-calendar-adapters.js} +1 -1
  155. package/plugins/runtime-modules/core/content-entries/table.js +1 -1
  156. package/plugins/runtime-modules/core/data-providers.d.ts +3 -0
  157. package/plugins/runtime-modules/core/data-providers.js +2 -1
  158. package/plugins/runtime-modules/core/definition.d.ts +3 -0
  159. package/plugins/runtime-modules/core/definition.js +1 -1
  160. package/plugins/runtime-modules/core/messaging/data-providers.d.ts +1 -0
  161. package/plugins/runtime-modules/core/messaging/data-providers.js +1 -0
  162. package/plugins/runtime-modules/core/messaging/thread-inbox-table.js +1 -1
  163. package/plugins/runtime-modules/core/server.js +1 -1
  164. package/plugins/runtime-modules/core/themes.d.ts +44 -0
  165. package/plugins/runtime-modules/core/themes.js +12 -0
  166. package/plugins/runtime-modules/core/widgets/card/collection-view-binding.js +25 -9
  167. package/plugins/runtime-modules/core/widgets/card/config.d.ts +296 -254
  168. package/plugins/runtime-modules/core/widgets/card/config.js +52 -3
  169. package/plugins/runtime-modules/core/widgets/card/editor.js +30 -3
  170. package/plugins/runtime-modules/core/widgets/card/server.d.ts +3 -0
  171. package/plugins/runtime-modules/core/widgets/card/server.js +31 -3
  172. package/plugins/runtime-modules/core/widgets/collection-view/asset-binding.js +7 -6
  173. package/plugins/runtime-modules/core/widgets/collection-view/config.js +9 -2
  174. package/plugins/runtime-modules/core/widgets/description/config.d.ts +1 -25
  175. package/plugins/runtime-modules/core/widgets/description/editor.js +4 -61
  176. package/plugins/runtime-modules/core/widgets/entry-list/config.d.ts +1 -25
  177. package/plugins/runtime-modules/core/widgets/gallery/config.d.ts +1 -25
  178. package/plugins/runtime-modules/core/widgets/image/config.js +2 -2
  179. package/plugins/runtime-modules/core/widgets/markdown/editor.js +2 -3
  180. package/plugins/runtime-modules/core/widgets/result/config.d.ts +4 -25
  181. package/plugins/runtime-modules/core/widgets/result/config.js +2 -0
  182. package/plugins/runtime-modules/core/widgets/result/server.js +25 -19
  183. package/plugins/runtime-modules/core/widgets/simple-text/config.d.ts +1 -25
  184. package/plugins/runtime-modules/core/widgets/slot-upload/client.js +11 -2
  185. package/plugins/runtime-modules/core/widgets/table/client.js +8 -4
  186. package/plugins/runtime-modules/core/widgets/table/config.d.ts +3 -83
  187. package/plugins/runtime-modules/core/widgets/table/config.js +302 -452
  188. package/plugins/runtime-modules/core/widgets/tree/config.js +5 -2
  189. package/plugins/runtime-modules/dashboard/card-rows.d.ts +5 -0
  190. package/plugins/runtime-modules/dashboard/card-rows.js +59 -0
  191. package/plugins/runtime-modules/dashboard/clients/dashboard-card-view.js +4 -6
  192. package/plugins/runtime-modules/dashboard/services/collection.js +17 -7
  193. package/plugins/runtime-modules/groups/data-providers.d.ts +2 -0
  194. package/plugins/runtime-modules/groups/data-providers.js +3 -3
  195. package/plugins/runtime-modules/groups/definition.d.ts +2 -0
  196. package/plugins/runtime-modules/localization/data-providers.d.ts +3 -0
  197. package/plugins/runtime-modules/localization/data-providers.js +2 -0
  198. package/plugins/runtime-modules/localization/definition.d.ts +3 -0
  199. package/plugins/runtime-modules/localization/services/table.js +3 -7
  200. package/plugins/runtime-modules/observability/data-providers.d.ts +1 -0
  201. package/plugins/runtime-modules/observability/data-providers.js +1 -0
  202. package/plugins/runtime-modules/observability/definition.d.ts +1 -0
  203. package/plugins/runtime-modules/observability/module.d.ts +1 -0
  204. package/plugins/runtime-modules/observability/services/table.js +1 -1
  205. package/plugins/runtime-modules/phi-default-site-area-preset-tree.js +2 -105
  206. package/plugins/runtime-modules/public/presets.d.ts +115 -0
  207. package/plugins/runtime-modules/{area-base-presets.js → public/presets.js} +19 -119
  208. package/plugins/runtime-modules/public/server.d.ts +1 -4
  209. package/plugins/runtime-modules/public/server.js +4 -7
  210. package/plugins/runtime-modules/public/trees/phi-default-pub-error-page-tree.js +7 -8
  211. package/plugins/runtime-modules/public-base-page-references.d.ts +1 -1
  212. package/plugins/runtime-modules/public-base-page-references.js +1 -1
  213. package/plugins/runtime-modules/revisions/controller/client.js +11 -11
  214. package/plugins/runtime-modules/revisions/services/table.js +3 -3
  215. package/plugins/runtime-modules/theme/trees/phi-default-builder-theme-page-tree.js +22 -0
  216. package/plugins/runtime-modules/theme/widgets/brand-controls/client.d.ts +2 -1
  217. package/plugins/runtime-modules/theme/widgets/brand-controls/client.js +93 -58
  218. package/plugins/runtime-modules/theme/widgets/brand-controls/config.d.ts +2 -1
  219. package/plugins/runtime-modules/theme/widgets/brand-controls/config.js +23 -22
  220. package/plugins/runtime-modules/theme/widgets/brand-controls/plugin.js +1 -1
  221. package/plugins/runtime-modules/theme-descriptors.js +1 -1
  222. package/plugins/runtime-modules/user-management/data-providers.d.ts +2 -0
  223. package/plugins/runtime-modules/user-management/data-providers.js +1 -0
  224. package/plugins/runtime-modules/user-management/definition.d.ts +2 -0
  225. package/styles/control-shape.css +11 -11
  226. package/styles/controls.css +3 -3
  227. package/styles/layout.css +16 -7
  228. package/types/cms-config.js +142 -185
  229. package/types/cms-plugins.d.ts +4 -11
  230. package/types/core-widget-placements.d.ts +14 -3
  231. package/types/dashboard-cards.d.ts +9 -0
  232. package/types/media.d.ts +0 -3
  233. package/types/renderable-block.d.ts +6 -1
  234. package/types/table-widget.d.ts +9 -0
  235. package/types/table-widget.js +20 -0
  236. package/types.d.ts +1 -1
  237. package/widget-config.d.ts +2 -0
  238. package/widget-config.js +6 -0
  239. package/plugins/runtime-modules/area-base-presets.d.ts +0 -139
  240. /package/plugins/runtime-modules/{runtime-calendar-adapters.d.ts → core/calendar-adapters.d.ts} +0 -0
  241. /package/plugins/runtime-modules/{client-calendar-adapters/core.d.ts → core/client-calendar-adapters.d.ts} +0 -0
@@ -1,6 +1,8 @@
1
+ import type { PhiCmsConfigField } from "../../../../../types/cms-plugins";
1
2
  import type { PhiImageAssetVariantKeyValue } from "../../../../../types/media";
2
3
  import { type PhiLinkTarget } from "../../../../../types/references";
3
- import { type PhiCardHeadingLevel, type PhiCardHoverEffect, type PhiCardIconPlacement, type PhiCardTextAlign, type PhiCardVariant, type PhiCardWidgetBody } from "../../../../../components/widgets/shared/card-vocabulary";
4
+ import { type PhiBulletListEntry, type PhiBulletListStyle } from "../../../../../components/widgets/shared/bullet-list-vocabulary";
5
+ import { type PhiCardBillingPeriod, type PhiCardHeadingLevel, type PhiCardHoverEffect, type PhiCardIconPlacement, type PhiCardTextAlign, type PhiCardVariant, type PhiCardWidgetBody } from "../../../../../components/widgets/shared/card-vocabulary";
4
6
  import { type PhiSignalRouteSet } from "../../../../../types/signals";
5
7
  import { type PhiCmsWidgetConfigBase } from "../../../../../components/widgets/config/parser-primitives";
6
8
  type PhiCardImageSource = {
@@ -21,6 +23,21 @@ export type PhiCmsCardWidgetConfig = PhiCmsWidgetConfigBase & PhiCardImageSource
21
23
  body?: PhiCardWidgetBody;
22
24
  /** The figure a `stat` body draws. Never translated, whatever the node's `NoTranslate` flag says. */
23
25
  value?: string;
26
+ /** The words on the band at the card's end edge; any body may carry one. */
27
+ badge?: string;
28
+ /** The band's colour; absent, the Theme's primary. */
29
+ badgeColor?: string;
30
+ /** A `plan` body's prices, never translated, and what each is paid per (`/ month`), which is. */
31
+ price?: string;
32
+ pricePeriod?: string;
33
+ priceYearly?: string;
34
+ pricePeriodYearly?: string;
35
+ /** Which of the two prices a `plan` shows until the page sends another. Absent is `monthly`. */
36
+ billingPeriod?: PhiCardBillingPeriod;
37
+ /** What a `plan` includes and what it does not, each entry with its state. */
38
+ features?: PhiBulletListEntry[];
39
+ /** How the features list is set (`bullet-list-vocabulary.ts`). */
40
+ featureList?: PhiBulletListStyle;
24
41
  /** The tag of the heading; how large it is drawn is the variant's business. */
25
42
  headingLevel?: PhiCardHeadingLevel;
26
43
  textAlign?: PhiCardTextAlign;
@@ -64,7 +81,7 @@ export declare const PHI_CARD_WIDGET_DEFINITION: {
64
81
  icon: string;
65
82
  iconFamily: string;
66
83
  translatesOwnText: true;
67
- slotSizePolicy: "fill-inline";
84
+ slotSizePolicy: "fill";
68
85
  surface: "own";
69
86
  runtimeSignals: {
70
87
  emits: {
@@ -114,292 +131,317 @@ export declare const PHI_CARD_WIDGET_DEFINITION: {
114
131
  headingLevel: "h3";
115
132
  textAlign: "start";
116
133
  };
117
- fields: ({
134
+ fields: (({
118
135
  key: string;
119
- type: "choice";
120
- heading: string;
121
136
  label: string;
122
- options: {
123
- value: string;
124
- label: string;
125
- }[];
126
- visibleWhen?: undefined;
127
- presentation?: undefined;
128
- min?: undefined;
129
- max?: undefined;
130
- step?: undefined;
131
- suffix?: undefined;
132
- mode?: undefined;
133
- defaultToken?: undefined;
134
- clearsWhenEmpty?: undefined;
135
- emptyValue?: undefined;
136
- } | {
137
+ description?: string;
138
+ required?: boolean;
139
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
140
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
141
+ heading?: string;
142
+ } & {
143
+ type: "string" | "url" | "icon";
144
+ emptyValue?: "";
145
+ }) | ({
137
146
  key: string;
138
- type: "choice";
139
147
  label: string;
140
- visibleWhen: {
141
- field: string;
142
- notEquals: string;
143
- equals?: undefined;
144
- };
145
- presentation: "segmented";
146
- options: {
147
- value: string;
148
- label: string;
149
- }[];
150
- heading?: undefined;
151
- min?: undefined;
152
- max?: undefined;
153
- step?: undefined;
154
- suffix?: undefined;
155
- mode?: undefined;
156
- defaultToken?: undefined;
157
- clearsWhenEmpty?: undefined;
158
- emptyValue?: undefined;
159
- } | {
148
+ description?: string;
149
+ required?: boolean;
150
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
151
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
152
+ heading?: string;
153
+ } & {
154
+ type: "link-target";
155
+ clearsWhenEmpty?: readonly string[];
156
+ }) | ({
160
157
  key: string;
161
- type: "image";
162
- heading: string;
163
158
  label: string;
164
- options?: undefined;
165
- visibleWhen?: undefined;
166
- presentation?: undefined;
167
- min?: undefined;
168
- max?: undefined;
169
- step?: undefined;
170
- suffix?: undefined;
171
- mode?: undefined;
172
- defaultToken?: undefined;
173
- clearsWhenEmpty?: undefined;
174
- emptyValue?: undefined;
175
- } | {
159
+ description?: string;
160
+ required?: boolean;
161
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
162
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
163
+ heading?: string;
164
+ } & {
165
+ type: "readonly";
166
+ }) | ({
176
167
  key: string;
177
- type: "number";
178
168
  label: string;
179
- presentation: "slider";
180
- min: number;
181
- max: number;
182
- step: number;
183
- suffix: string;
184
- heading?: undefined;
185
- options?: undefined;
186
- visibleWhen?: undefined;
187
- mode?: undefined;
188
- defaultToken?: undefined;
189
- clearsWhenEmpty?: undefined;
190
- emptyValue?: undefined;
191
- } | {
169
+ description?: string;
170
+ required?: boolean;
171
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
172
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
173
+ heading?: string;
174
+ } & {
175
+ type: "data-provider";
176
+ providerKind?: import("../../../../../types").PhiRuntimeDataProviderKind;
177
+ providerKey?: import("@phis/contracts/controls").PhiRuntimeDataProviderKey;
178
+ }) | ({
192
179
  key: string;
193
- type: "icon";
194
- heading: string;
195
180
  label: string;
196
- options?: undefined;
197
- visibleWhen?: undefined;
198
- presentation?: undefined;
199
- min?: undefined;
200
- max?: undefined;
201
- step?: undefined;
202
- suffix?: undefined;
203
- mode?: undefined;
204
- defaultToken?: undefined;
205
- clearsWhenEmpty?: undefined;
206
- emptyValue?: undefined;
207
- } | {
181
+ description?: string;
182
+ required?: boolean;
183
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
184
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
185
+ heading?: string;
186
+ } & {
187
+ type: "calendar-adapter";
188
+ }) | ({
208
189
  key: string;
209
- type: "choice";
210
190
  label: string;
211
- options: {
212
- value: string;
213
- label: string;
214
- }[];
215
- visibleWhen: ({
216
- field: string;
217
- notEquals: null;
218
- } | {
219
- field: string;
220
- notEquals: string;
221
- })[];
222
- heading?: undefined;
223
- presentation?: undefined;
224
- min?: undefined;
225
- max?: undefined;
226
- step?: undefined;
227
- suffix?: undefined;
228
- mode?: undefined;
229
- defaultToken?: undefined;
230
- clearsWhenEmpty?: undefined;
231
- emptyValue?: undefined;
232
- } | {
191
+ description?: string;
192
+ required?: boolean;
193
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
194
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
195
+ heading?: string;
196
+ } & {
197
+ type: "video-provider";
198
+ }) | ({
233
199
  key: string;
234
- type: "color";
235
200
  label: string;
236
- mode: "single";
237
- defaultToken: "colorTextSecondary";
238
- visibleWhen: {
239
- field: string;
240
- notEquals: null;
241
- equals?: undefined;
242
- };
243
- heading?: undefined;
244
- options?: undefined;
245
- presentation?: undefined;
246
- min?: undefined;
247
- max?: undefined;
248
- step?: undefined;
249
- suffix?: undefined;
250
- clearsWhenEmpty?: undefined;
251
- emptyValue?: undefined;
252
- } | {
201
+ description?: string;
202
+ required?: boolean;
203
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
204
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
205
+ heading?: string;
206
+ } & {
207
+ type: "dimension";
208
+ widthKey?: string;
209
+ heightKey?: string;
210
+ widthPlaceholder?: string;
211
+ heightPlaceholder?: string;
212
+ patchOnChange?: Record<string, unknown>;
213
+ }) | ({
214
+ key: string;
215
+ label: string;
216
+ description?: string;
217
+ required?: boolean;
218
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
219
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
220
+ heading?: string;
221
+ } & {
222
+ type: "length";
223
+ min?: number;
224
+ max?: number;
225
+ step?: number;
226
+ precision?: number;
227
+ }) | ({
253
228
  key: string;
229
+ label: string;
230
+ description?: string;
231
+ required?: boolean;
232
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
233
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
234
+ heading?: string;
235
+ } & {
236
+ type: "radius";
237
+ topLeftKey: string;
238
+ topRightKey: string;
239
+ bottomLeftKey: string;
240
+ bottomRightKey: string;
241
+ }) | ({
242
+ key: string;
243
+ label: string;
244
+ description?: string;
245
+ required?: boolean;
246
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
247
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
248
+ heading?: string;
249
+ } & {
250
+ type: "padding";
251
+ paddingKey?: string;
252
+ gapKey?: string;
253
+ paddingTopKey?: string;
254
+ paddingRightKey?: string;
255
+ paddingBottomKey?: string;
256
+ paddingLeftKey?: string;
257
+ section?: string;
258
+ }) | ({
259
+ key: string;
260
+ label: string;
261
+ description?: string;
262
+ required?: boolean;
263
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
264
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
265
+ heading?: string;
266
+ } & {
254
267
  type: "color";
268
+ mode?: import("../../../../../types").PhiCmsConfigFieldColorMode;
269
+ defaultToken?: import("../../../../../theme/phi-theme-tokens").PhiThemeTokenKey;
270
+ section?: string;
271
+ }) | ({
272
+ key: string;
255
273
  label: string;
256
- mode: "single";
257
- defaultToken: "colorFillQuaternary";
258
- visibleWhen: {
259
- field: string;
260
- notEquals: null;
261
- equals?: undefined;
262
- };
263
- heading?: undefined;
264
- options?: undefined;
265
- presentation?: undefined;
266
- min?: undefined;
267
- max?: undefined;
268
- step?: undefined;
269
- suffix?: undefined;
270
- clearsWhenEmpty?: undefined;
271
- emptyValue?: undefined;
272
- } | {
274
+ description?: string;
275
+ required?: boolean;
276
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
277
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
278
+ heading?: string;
279
+ } & {
280
+ type: "boolean";
281
+ }) | ({
273
282
  key: string;
274
- type: "link-target";
275
- heading: string;
276
283
  label: string;
277
- clearsWhenEmpty: string[];
278
- options?: undefined;
279
- visibleWhen?: undefined;
280
- presentation?: undefined;
281
- min?: undefined;
282
- max?: undefined;
283
- step?: undefined;
284
- suffix?: undefined;
285
- mode?: undefined;
286
- defaultToken?: undefined;
287
- emptyValue?: undefined;
288
- } | {
284
+ description?: string;
285
+ required?: boolean;
286
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
287
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
288
+ heading?: string;
289
+ } & {
290
+ type: "image";
291
+ }) | ({
289
292
  key: string;
290
- type: "choice";
291
293
  label: string;
292
- presentation: "segmented";
293
- visibleWhen: {
294
- field: string;
295
- notEquals: null;
296
- equals?: undefined;
297
- };
298
- options: {
299
- value: string;
294
+ description?: string;
295
+ required?: boolean;
296
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
297
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
298
+ heading?: string;
299
+ } & {
300
+ type: "slot-texts";
301
+ }) | ({
302
+ key: string;
303
+ label: string;
304
+ description?: string;
305
+ required?: boolean;
306
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
307
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
308
+ heading?: string;
309
+ } & {
310
+ type: "number-list";
311
+ min?: number;
312
+ }) | ({
313
+ key: string;
314
+ label: string;
315
+ description?: string;
316
+ required?: boolean;
317
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
318
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
319
+ heading?: string;
320
+ } & {
321
+ type: "flags";
322
+ options: readonly {
323
+ value: number;
300
324
  label: string;
301
325
  }[];
302
- heading?: undefined;
303
- min?: undefined;
304
- max?: undefined;
305
- step?: undefined;
306
- suffix?: undefined;
307
- mode?: undefined;
308
- defaultToken?: undefined;
309
- clearsWhenEmpty?: undefined;
310
- emptyValue?: undefined;
311
- } | {
326
+ }) | ({
312
327
  key: string;
313
- type: "boolean";
314
- heading: string;
315
328
  label: string;
316
- options?: undefined;
317
- visibleWhen?: undefined;
318
- presentation?: undefined;
319
- min?: undefined;
320
- max?: undefined;
321
- step?: undefined;
322
- suffix?: undefined;
323
- mode?: undefined;
324
- defaultToken?: undefined;
325
- clearsWhenEmpty?: undefined;
326
- emptyValue?: undefined;
327
- } | {
329
+ description?: string;
330
+ required?: boolean;
331
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
332
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
333
+ heading?: string;
334
+ } & {
335
+ type: "number";
336
+ min?: number;
337
+ max?: number;
338
+ step?: number;
339
+ precision?: number;
340
+ prefix?: string;
341
+ presentation?: "slider";
342
+ suffix?: string;
343
+ }) | ({
328
344
  key: string;
329
- type: "string";
330
345
  label: string;
331
- emptyValue: "";
332
- visibleWhen: {
333
- field: string;
334
- equals: true;
335
- notEquals?: undefined;
336
- };
337
- heading?: undefined;
338
- options?: undefined;
339
- presentation?: undefined;
340
- min?: undefined;
341
- max?: undefined;
342
- step?: undefined;
343
- suffix?: undefined;
344
- mode?: undefined;
345
- defaultToken?: undefined;
346
- clearsWhenEmpty?: undefined;
347
- } | {
346
+ description?: string;
347
+ required?: boolean;
348
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
349
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
350
+ heading?: string;
351
+ } & {
352
+ type: "choice";
353
+ valueType: "number";
354
+ options: import("@phis/contracts/controls").PhiControlOption<number>[];
355
+ emptyOption?: import("@phis/contracts/controls").PhiControlOption;
356
+ emptyValue?: null | undefined;
357
+ placeholder?: string;
358
+ mode?: never;
359
+ presentation?: never;
360
+ optionsProvider?: never;
361
+ allowCustom?: never;
362
+ createBehavior?: never;
363
+ filter?: never;
364
+ patchOnChange?: never;
365
+ optionPresets?: never;
366
+ }) | ({
348
367
  key: string;
349
- type: "icon";
350
368
  label: string;
351
- visibleWhen: {
352
- field: string;
353
- equals: true;
354
- notEquals?: undefined;
355
- };
356
- heading?: undefined;
357
- options?: undefined;
358
- presentation?: undefined;
359
- min?: undefined;
360
- max?: undefined;
361
- step?: undefined;
362
- suffix?: undefined;
363
- mode?: undefined;
364
- defaultToken?: undefined;
365
- clearsWhenEmpty?: undefined;
366
- emptyValue?: undefined;
367
- } | {
369
+ description?: string;
370
+ required?: boolean;
371
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
372
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
373
+ heading?: string;
374
+ } & {
375
+ type: "choice";
376
+ mode?: import("../../../../../types").PhiCmsConfigFieldChoiceMode;
377
+ valueType?: Exclude<import("../../../../../types").PhiCmsConfigFieldChoiceValueType, "number">;
378
+ presentation?: import("../../../../../types").PhiCmsConfigFieldChoicePresentation;
379
+ options?: import("@phis/contracts/controls").PhiControlOption[];
380
+ optionsProvider?: import("@phis/contracts/controls").PhiControlOptionsProviderConfig;
381
+ allowCustom?: boolean;
382
+ createBehavior?: import("../../../../../types").PhiCmsConfigFieldChoiceCreateBehavior;
383
+ placeholder?: string;
384
+ filter?: import("../../../../../types").PhiCmsConfigFieldChoiceFilter;
385
+ emptyOption?: import("@phis/contracts/controls").PhiControlOption;
386
+ emptyValue?: null | undefined;
387
+ patchOnChange?: Record<string, unknown>;
388
+ optionPresets?: import("../../../../../types/cms-plugins").PhiCmsConfigFieldOptionPresets;
389
+ }) | ({
368
390
  key: string;
369
- type: "link-target";
370
391
  label: string;
392
+ description?: string;
393
+ required?: boolean;
394
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
395
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
396
+ heading?: string;
397
+ } & {
398
+ type: "collection";
399
+ itemKeyField: string;
400
+ itemLabelField?: string;
401
+ itemFields: PhiCmsConfigField[];
402
+ defaultItem?: Record<string, unknown>;
403
+ addLabel?: string;
404
+ emptyLabel?: string;
405
+ minItems?: number;
406
+ maxItems?: number;
407
+ reorderable?: boolean;
408
+ presentation?: import("../../../../../types").PhiCmsConfigFieldCollectionPresentation;
409
+ editLabel?: string;
410
+ }) | ({
411
+ key: string;
412
+ label: string;
413
+ description?: string;
414
+ required?: boolean;
415
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
416
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
417
+ heading?: string;
418
+ } & {
419
+ type: "surface";
420
+ tone?: false;
421
+ }) | ({
422
+ key: string;
423
+ label: string;
424
+ description?: string;
425
+ required?: boolean;
426
+ editorPlacement?: "inspector" | "geometry" | "toolbar";
427
+ visibleWhen?: import("../../../../../types").PhiCmsConfigFieldVisibilityRule | readonly import("../../../../../types").PhiCmsConfigFieldVisibilityRule[];
428
+ heading?: string;
429
+ } & {
430
+ type: "grid-placement" | "column-count";
431
+ section?: string;
432
+ }) | {
433
+ key: string;
434
+ type: "choice";
435
+ label: string;
436
+ presentation: "segmented";
437
+ options: {
438
+ value: "h2" | "h3" | "h4";
439
+ label: string;
440
+ }[];
371
441
  visibleWhen: {
372
442
  field: string;
373
- equals: true;
374
- notEquals?: undefined;
443
+ notEquals: null;
375
444
  };
376
- heading?: undefined;
377
- options?: undefined;
378
- presentation?: undefined;
379
- min?: undefined;
380
- max?: undefined;
381
- step?: undefined;
382
- suffix?: undefined;
383
- mode?: undefined;
384
- defaultToken?: undefined;
385
- clearsWhenEmpty?: undefined;
386
- emptyValue?: undefined;
387
- } | {
388
- key: string;
389
- type: "boolean";
390
- label: string;
391
- heading?: undefined;
392
- options?: undefined;
393
- visibleWhen?: undefined;
394
- presentation?: undefined;
395
- min?: undefined;
396
- max?: undefined;
397
- step?: undefined;
398
- suffix?: undefined;
399
- mode?: undefined;
400
- defaultToken?: undefined;
401
- clearsWhenEmpty?: undefined;
402
- emptyValue?: undefined;
403
445
  })[];
404
446
  parseConfig: typeof parsePhiCmsCardWidgetConfig;
405
447
  };