@vectoriox/iox-ui 5.50.0 → 5.51.0

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.
@@ -9876,6 +9876,8 @@ var StepState;
9876
9876
  var CreatedKind;
9877
9877
  (function (CreatedKind) {
9878
9878
  CreatedKind["ContentType"] = "content-type";
9879
+ /** Fields the build added to a content type it found (types are shared by every organization of a studio). */
9880
+ CreatedKind["ContentTypeFields"] = "content-type-fields";
9879
9881
  CreatedKind["SampleImage"] = "sample-image";
9880
9882
  CreatedKind["Item"] = "item";
9881
9883
  CreatedKind["DataSource"] = "data-source";
@@ -9889,11 +9891,15 @@ var KeptReason;
9889
9891
  KeptReason["Edited"] = "edited";
9890
9892
  KeptReason["Published"] = "published";
9891
9893
  KeptReason["InUse"] = "in-use";
9894
+ /** Added to a content type every organization shares: removing a field is the studio owner's change. */
9895
+ KeptReason["Shared"] = "shared";
9892
9896
  })(KeptReason || (KeptReason = {}));
9893
9897
  var BuildNoticeCode;
9894
9898
  (function (BuildNoticeCode) {
9895
9899
  /** Storage is not configured: sample items get the empty image box, and the run says so. */
9896
9900
  BuildNoticeCode["NoStorage"] = "no-storage";
9901
+ /** A content type the build reuses is not public in this studio: the site will not show its items. */
9902
+ BuildNoticeCode["ContentTypeNotPublic"] = "content-type-not-public";
9897
9903
  })(BuildNoticeCode || (BuildNoticeCode = {}));
9898
9904
  var PreflightRefusalCode;
9899
9905
  (function (PreflightRefusalCode) {
@@ -9901,12 +9907,13 @@ var PreflightRefusalCode;
9901
9907
  PreflightRefusalCode["InvalidPlan"] = "invalid-plan";
9902
9908
  /** A route the plan wants is already a page of this organization. */
9903
9909
  PreflightRefusalCode["RouteTaken"] = "route-taken";
9904
- /** A content type of that name exists in this instance (content types are instance-wide). */
9905
- PreflightRefusalCode["ContentTypeTaken"] = "content-type-taken";
9910
+ /** The studio's content type of that name stores a field the plan needs differently (type or control) —
9911
+ * types are shared by every organization, so the build reuses one it finds and adds what it lacks. */
9912
+ PreflightRefusalCode["ContentTypeConflict"] = "content-type-conflict";
9906
9913
  /** The name may not be a content type (a platform collection, or not a valid name). */
9907
9914
  PreflightRefusalCode["ContentTypeName"] = "content-type-name";
9908
- /** Content types act on the whole instance: only the instance owner may create them (SEC1). */
9909
- PreflightRefusalCode["ContentTypesNeedInstanceOwner"] = "content-types-need-instance-owner";
9915
+ /** The plan creates a content type or adds fields to one, and the caller may not (an org owner/admin — schema_all). */
9916
+ PreflightRefusalCode["ContentTypesNeedPermission"] = "content-types-need-permission";
9910
9917
  /** The org library holds the alias with a different definition. */
9911
9918
  PreflightRefusalCode["DataSourceConflict"] = "data-source-conflict";
9912
9919
  /** The studio has pages AND a header/footer: replace or keep them is the caller's choice (D7). */
@@ -9921,6 +9928,7 @@ var PreflightRefusalCode;
9921
9928
  */
9922
9929
  const buildKeys = {
9923
9930
  contentType: (name) => `schema:${name}`,
9931
+ contentTypeFields: (name) => `schema-fields:${name}`,
9924
9932
  item: (contentType, n) => `item:${contentType}:${n}`,
9925
9933
  sampleImage: (n) => `sample-image:${n}`,
9926
9934
  dataSource: (alias) => `data-source:${alias}`,
@@ -9944,9 +9952,25 @@ function failedBuildStep(run) {
9944
9952
  function isActiveBuild(run) {
9945
9953
  return !!run && ACTIVE_BUILD_STATUSES.includes(run.status);
9946
9954
  }
9947
- function buildStepFacts(plan) {
9955
+ /** What a build does with each content type its plan names (the preflight's `summary.contentTypes[].action`): content
9956
+ * types are shared by every organization of a studio, so one the studio already has is reused, or extended with the
9957
+ * fields it lacks — never created twice. */
9958
+ var ContentTypeAction;
9959
+ (function (ContentTypeAction) {
9960
+ ContentTypeAction["Create"] = "create";
9961
+ ContentTypeAction["Reuse"] = "reuse";
9962
+ ContentTypeAction["Extend"] = "extend";
9963
+ })(ContentTypeAction || (ContentTypeAction = {}));
9964
+ function buildStepFacts(plan, actions = {}) {
9965
+ const contentTypeActions = {};
9966
+ for (const t of plan.contentTypes) {
9967
+ const action = actions[t.name];
9968
+ if (action)
9969
+ (contentTypeActions[action] ??= []).push(t.label);
9970
+ }
9948
9971
  return {
9949
9972
  contentTypes: plan.contentTypes.map(t => t.label),
9973
+ contentTypeActions,
9950
9974
  items: plan.contentTypes.reduce((n, t) => n + (t.seed?.count ?? 0), 0),
9951
9975
  pages: plan.pages.length,
9952
9976
  routes: plan.pages.map(p => p.route),
@@ -9971,5 +9995,5 @@ function buildStepFacts(plan) {
9971
9995
  * Generated bundle index. Do not edit.
9972
9996
  */
9973
9997
 
9974
- export { ACTIVE_BUILD_STATUSES, BAR_ITEMS_MAX, BAR_ITEMS_MIN, BASELINE_ROLES, BUILD_STEPS, BaselineRole, BindScope, BuildNoticeCode, BuildStep, CardBindTarget, ComposeError, ComposeIssueCode, CreatedKind, DANGLING_LINK_CODES, DEFAULT_PHONE_MENU_BREAKPOINT, ENTRANCE_EASING, ENTRANCE_ORIGIN_LOOK, ENTRANCE_TRIGGER, EntrancePart, FACT_KEYS, GlobalSlot, KeptReason, NAV_PART_LABELS, NAV_SHAPE_COPY, NEUTRAL_STYLE_PROPS, NODE_BASELINES, NavPagesSource, NavRole, NavShape, NavShapeError, PRICING_PATTERN, PUBLISH_BLOCKING_PLACEHOLDERS, PageDataKind, PathIssueCollector, PatternDirective, PatternGlobalPosition, PatternOpens, PatternPlaceholder, PatternRecipe, PhoneMenuBreakpoint, PlaceholderKind, PlanDataSourceMode, PlanDataSourceType, PreflightRefusalCode, RelativeOp, SAMPLE_IMAGE_REF, SITE_FACT_LABELS, SITE_HEADER_PATTERN, SITE_PATTERNS, SITE_PLAN_VERSION, SITE_TEMPLATES, SPEC_SITE_FACTS, SPEC_SITE_LIBRARY, SPEC_SITE_PATTERNS, SPEC_SITE_PLAN_SHAPE, SPEC_SITE_TEMPLATES, STUDIO_TEMPLATE, SiteBuildKind, SiteBuildStatus, SitePlanError, SitePlanIssueCode, SitePlanSourceKind, SiteTemplateError, SiteTemplateId, StepState, addBarItem, altSourceScopes, assertStyleSlots, assertValidSitePlan, barIconForRoute, blocksPublish, buildKeys, buildStepFacts, builtHomePageId, composeNavHeader, composeSection, composeSite, createSerializedNode, describePlanData, entranceAction, entranceInteraction, failedBuildStep, findNavRoot, isActiveBuild, isNonEmptyString, isPlainObject, moveBarItem, navPages, navShapeBreakpoint, navShapeOf, nextSourceOf, nodeBindPaths, parseSampleImageRef, pathAt, patternById, patternNeedsBinding, patternNodes, patternOptionalParts, patternScopes, patternSlots, patternTakesBinding, phoneMenuPages, planFromTemplate, planNavShape, releasedLayoutDefaults, removeBarItem, requiredShapeKeys, routeParams, sampleImageRef, sectionEntrances, setStyleProps, shapeKeys, siteNavPages, staggerDelay, validateSitePlan, walkSerialized };
9998
+ export { ACTIVE_BUILD_STATUSES, BAR_ITEMS_MAX, BAR_ITEMS_MIN, BASELINE_ROLES, BUILD_STEPS, BaselineRole, BindScope, BuildNoticeCode, BuildStep, CardBindTarget, ComposeError, ComposeIssueCode, ContentTypeAction, CreatedKind, DANGLING_LINK_CODES, DEFAULT_PHONE_MENU_BREAKPOINT, ENTRANCE_EASING, ENTRANCE_ORIGIN_LOOK, ENTRANCE_TRIGGER, EntrancePart, FACT_KEYS, GlobalSlot, KeptReason, NAV_PART_LABELS, NAV_SHAPE_COPY, NEUTRAL_STYLE_PROPS, NODE_BASELINES, NavPagesSource, NavRole, NavShape, NavShapeError, PRICING_PATTERN, PUBLISH_BLOCKING_PLACEHOLDERS, PageDataKind, PathIssueCollector, PatternDirective, PatternGlobalPosition, PatternOpens, PatternPlaceholder, PatternRecipe, PhoneMenuBreakpoint, PlaceholderKind, PlanDataSourceMode, PlanDataSourceType, PreflightRefusalCode, RelativeOp, SAMPLE_IMAGE_REF, SITE_FACT_LABELS, SITE_HEADER_PATTERN, SITE_PATTERNS, SITE_PLAN_VERSION, SITE_TEMPLATES, SPEC_SITE_FACTS, SPEC_SITE_LIBRARY, SPEC_SITE_PATTERNS, SPEC_SITE_PLAN_SHAPE, SPEC_SITE_TEMPLATES, STUDIO_TEMPLATE, SiteBuildKind, SiteBuildStatus, SitePlanError, SitePlanIssueCode, SitePlanSourceKind, SiteTemplateError, SiteTemplateId, StepState, addBarItem, altSourceScopes, assertStyleSlots, assertValidSitePlan, barIconForRoute, blocksPublish, buildKeys, buildStepFacts, builtHomePageId, composeNavHeader, composeSection, composeSite, createSerializedNode, describePlanData, entranceAction, entranceInteraction, failedBuildStep, findNavRoot, isActiveBuild, isNonEmptyString, isPlainObject, moveBarItem, navPages, navShapeBreakpoint, navShapeOf, nextSourceOf, nodeBindPaths, parseSampleImageRef, pathAt, patternById, patternNeedsBinding, patternNodes, patternOptionalParts, patternScopes, patternSlots, patternTakesBinding, phoneMenuPages, planFromTemplate, planNavShape, releasedLayoutDefaults, removeBarItem, requiredShapeKeys, routeParams, sampleImageRef, sectionEntrances, setStyleProps, shapeKeys, siteNavPages, staggerDelay, validateSitePlan, walkSerialized };
9975
9999
  //# sourceMappingURL=vectoriox-iox-ui-generation-core.mjs.map