@wildo-ai/presets-components 1.1.0 → 1.1.2

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 (100) hide show
  1. package/dist/esm/components/actions/action-button.d.ts +1 -4
  2. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  3. package/dist/esm/components/actions/action-button.js +21 -5
  4. package/dist/esm/components/actions/action-button.js.map +1 -1
  5. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
  6. package/dist/esm/components/ai-elements/artifacts/artifact-browser.js +7 -3
  7. package/dist/esm/components/ai-elements/artifacts/artifact-browser.js.map +1 -1
  8. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  9. package/dist/esm/components/ai-elements/execution/task.js +10 -2
  10. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  11. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  12. package/dist/esm/components/app/app-layout-main-container.labels.js +10 -2
  13. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  14. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  15. package/dist/esm/components/app/public-layout-main-container.js +52 -5
  16. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  17. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  18. package/dist/esm/components/data-display/description-list.js +10 -7
  19. package/dist/esm/components/data-display/description-list.js.map +1 -1
  20. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  21. package/dist/esm/components/data-display/formatters/display-field-string.js +3 -0
  22. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  23. package/dist/esm/components/form/chromes/form-primitive.labels.js +2 -2
  24. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  25. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  26. package/dist/esm/components/navigation/app-level/menu-user-org.js +8 -2
  27. package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
  28. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  29. package/dist/esm/components/navigation/app-level/sidebar.js +32 -15
  30. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  31. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  32. package/dist/esm/components/overlays/containers/sheet.js +2 -2
  33. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  34. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  35. package/dist/esm/components/sections/accordion.js +43 -13
  36. package/dist/esm/components/sections/accordion.js.map +1 -1
  37. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  38. package/dist/esm/components/sections/collapsible.js +17 -3
  39. package/dist/esm/components/sections/collapsible.js.map +1 -1
  40. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  41. package/dist/esm/components/sections/content-section.js +11 -7
  42. package/dist/esm/components/sections/content-section.js.map +1 -1
  43. package/dist/esm/components/sections/disclosure-nesting.d.ts +20 -0
  44. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -0
  45. package/dist/esm/components/sections/disclosure-nesting.js +20 -0
  46. package/dist/esm/components/sections/disclosure-nesting.js.map +1 -0
  47. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  48. package/dist/esm/components/sections/tabs.js +141 -10
  49. package/dist/esm/components/sections/tabs.js.map +1 -1
  50. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  51. package/dist/esm/config/preset-kits.js +0 -4
  52. package/dist/esm/config/preset-kits.js.map +1 -1
  53. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  54. package/dist/esm/config/preset-shell.js +0 -4
  55. package/dist/esm/config/preset-shell.js.map +1 -1
  56. package/dist/esm/config/presets.d.ts.map +1 -1
  57. package/dist/esm/config/presets.js +0 -1
  58. package/dist/esm/config/presets.js.map +1 -1
  59. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  60. package/dist/esm/config/resources/application.resource-presets.js +6 -6
  61. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  62. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  63. package/dist/esm/config/resources/billing.resource-presets.js +8 -8
  64. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  65. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  66. package/dist/esm/config/resources/guidance.resource-presets.js +7 -7
  67. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  68. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  69. package/dist/esm/config/resources/identity.resource-presets.js +7 -7
  70. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  71. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  72. package/dist/esm/config/resources/organizations.resource-presets.js +8 -8
  73. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  74. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  75. package/dist/esm/config/resources/security.resource-presets.js +9 -9
  76. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  77. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  78. package/dist/esm/themes/cozy.theme.js +8 -3
  79. package/dist/esm/themes/cozy.theme.js.map +1 -1
  80. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  81. package/dist/esm/themes/dense.theme.js +8 -5
  82. package/dist/esm/themes/dense.theme.js.map +1 -1
  83. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  84. package/dist/esm/themes/editorial.theme.js +8 -3
  85. package/dist/esm/themes/editorial.theme.js.map +1 -1
  86. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  87. package/dist/esm/themes/glass.theme.js +10 -4
  88. package/dist/esm/themes/glass.theme.js.map +1 -1
  89. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  90. package/dist/esm/themes/neo-brutalist.theme.js +8 -3
  91. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  92. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  93. package/dist/esm/themes/terminal.theme.js +8 -3
  94. package/dist/esm/themes/terminal.theme.js.map +1 -1
  95. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  96. package/dist/esm/themes/trading.theme.js +8 -3
  97. package/dist/esm/themes/trading.theme.js.map +1 -1
  98. package/dist/tsconfig.build.tsbuildinfo +1 -1
  99. package/package.json +7 -7
  100. package/dist/esm/.builder.pid +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/guidance.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n Section,\n SummaryLayout,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n BadgeSemanticVariant,\n EnumDisplayMode,\n NumberDisplayMode,\n SectionMode,\n} from '@wildo-ai/zod-decorators';\nimport { BookOpen, Compass, Trophy } from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n userGuidanceStateResourceConfiguration_InitializationFactory as userGuidanceStateFactory,\n organizationGuidanceStateResourceConfiguration_InitializationFactory as orgGuidanceStateFactory,\n userProgressionStateResourceConfiguration_InitializationFactory as userProgressionStateFactory,\n organizationProgressionStateResourceConfiguration_InitializationFactory as orgProgressionStateFactory,\n userLifecycleStateResourceConfiguration_InitializationFactory as userLifecycleStateFactory,\n organizationLifecycleStateResourceConfiguration_InitializationFactory as orgLifecycleStateFactory,\n GuidanceStateSchema,\n ProgressionStateSchema,\n LifecycleStateSchema,\n LifecycleStage,\n} from '@wildo-ai/saas-models';\nimport { notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Guidance & Lifecycle — Resource frontend presets\n *\n * **Main:** USER_PROGRESSION_STATE (read-only achievements / points), ORGANIZATION_PROGRESSION_STATE,\n * ORGANIZATION_LIFECYCLE_STATE — these are consumed by UI surfaces visible to end users or org admins.\n *\n * **Platform:** USER_GUIDANCE_STATE, ORGANIZATION_GUIDANCE_STATE, USER_LIFECYCLE_STATE — system-managed\n * state that drives the guidance engine. End users never view or manage these directly; they are\n * consumed by the companion, internal dashboards, and the guidance rendering pipeline.\n *\n * **Admin:** ORG variants of guidance, progression, and lifecycle — derived from their respective\n * main or platform bases, minus SEARCH.\n *\n * Field UI uses inline enum `values` and `showDescription: true` aligned with billing.\n * Layout templates are implemented inline in each resource config, following the billing preset pattern.\n */\n\nconst guidanceEmptyState = { primaryAction: false as const };\n\nfunction guidanceLabel(kind: string) {\n return ({ currentObject }: { currentObject: { flows?: Record<string, unknown> } }) => {\n const n = currentObject.flows ? Object.keys(currentObject.flows).length : 0;\n return n > 0 ? `${kind} · ${n} flow${n === 1 ? '' : 's'}` : kind;\n };\n}\n\nfunction lifecycleStageFields(schemaShape: (typeof LifecycleStateSchema)['shape']) {\n return {\n currentStage: schemaShape.currentStage.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [LifecycleStage.SIGNED_UP]: { color: BadgeSemanticVariant.SECONDARY },\n [LifecycleStage.ACTIVATED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.ENGAGED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.DORMANT]: { color: BadgeSemanticVariant.WARNING },\n [LifecycleStage.REACTIVATED]: { color: BadgeSemanticVariant.INFO },\n [LifecycleStage.CHURNED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [LifecycleStage.OFFBOARDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n };\n}\n\nexport function buildGuidanceMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_PROGRESSION_STATE]: resourceUIBehavior(userProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehavior(orgProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehavior(orgLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidancePlatformPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_GUIDANCE_STATE]: resourceUIBehavior(userGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('User guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"text-sm\">\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehavior(orgGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('Organization guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"text-sm\">\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.USER_LIFECYCLE_STATE]: resourceUIBehavior(userLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidanceAdminPresets(\n main: Partial<ResourceUIBehavior>,\n platform: Partial<ResourceUIBehavior>,\n): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehaviorFrom(\n orgGuidanceStateFactory, platform[R.ORGANIZATION_GUIDANCE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehaviorFrom(\n orgProgressionStateFactory, main[R.ORGANIZATION_PROGRESSION_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehaviorFrom(\n orgLifecycleStateFactory, main[R.ORGANIZATION_LIFECYCLE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n };\n}\n\nexport const guidanceMainPresets = buildGuidanceMainPresets();\nexport const guidancePlatformPresets = buildGuidancePlatformPresets();\nexport const guidanceAdminPresets = buildGuidanceAdminPresets(\n guidanceMainPresets,\n guidancePlatformPresets,\n);\n\nexport const userGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_GUIDANCE_STATE]!;\nexport const organizationGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const organizationGuidanceStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const userProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.USER_PROGRESSION_STATE]!;\nexport const organizationProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const organizationProgressionStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const userLifecycleStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\n"]}
1
+ {"version":3,"file":"guidance.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/guidance.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n SummaryFlow,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n Section,\n SummaryLayout,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n BadgeSemanticVariant,\n EnumDisplayMode,\n NumberDisplayMode,\n SectionMode,\n} from '@wildo-ai/zod-decorators';\nimport { BookOpen, Compass, Trophy } from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n userGuidanceStateResourceConfiguration_InitializationFactory as userGuidanceStateFactory,\n organizationGuidanceStateResourceConfiguration_InitializationFactory as orgGuidanceStateFactory,\n userProgressionStateResourceConfiguration_InitializationFactory as userProgressionStateFactory,\n organizationProgressionStateResourceConfiguration_InitializationFactory as orgProgressionStateFactory,\n userLifecycleStateResourceConfiguration_InitializationFactory as userLifecycleStateFactory,\n organizationLifecycleStateResourceConfiguration_InitializationFactory as orgLifecycleStateFactory,\n GuidanceStateSchema,\n ProgressionStateSchema,\n LifecycleStateSchema,\n LifecycleStage,\n} from '@wildo-ai/saas-models';\nimport { notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Guidance & Lifecycle — Resource frontend presets\n *\n * **Main:** USER_PROGRESSION_STATE (read-only achievements / points), ORGANIZATION_PROGRESSION_STATE,\n * ORGANIZATION_LIFECYCLE_STATE — these are consumed by UI surfaces visible to end users or org admins.\n *\n * **Platform:** USER_GUIDANCE_STATE, ORGANIZATION_GUIDANCE_STATE, USER_LIFECYCLE_STATE — system-managed\n * state that drives the guidance engine. End users never view or manage these directly; they are\n * consumed by the companion, internal dashboards, and the guidance rendering pipeline.\n *\n * **Admin:** ORG variants of guidance, progression, and lifecycle — derived from their respective\n * main or platform bases, minus SEARCH.\n *\n * Field UI uses inline enum `values` and `showDescription: true` aligned with billing.\n * Layout templates are implemented inline in each resource config, following the billing preset pattern.\n */\n\nconst guidanceEmptyState = { primaryAction: false as const };\n\nfunction guidanceLabel(kind: string) {\n return ({ currentObject }: { currentObject: { flows?: Record<string, unknown> } }) => {\n const n = currentObject.flows ? Object.keys(currentObject.flows).length : 0;\n return n > 0 ? `${kind} · ${n} flow${n === 1 ? '' : 's'}` : kind;\n };\n}\n\nfunction lifecycleStageFields(schemaShape: (typeof LifecycleStateSchema)['shape']) {\n return {\n currentStage: schemaShape.currentStage.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [LifecycleStage.SIGNED_UP]: { color: BadgeSemanticVariant.SECONDARY },\n [LifecycleStage.ACTIVATED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.ENGAGED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.DORMANT]: { color: BadgeSemanticVariant.WARNING },\n [LifecycleStage.REACTIVATED]: { color: BadgeSemanticVariant.INFO },\n [LifecycleStage.CHURNED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [LifecycleStage.OFFBOARDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n };\n}\n\nexport function buildGuidanceMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_PROGRESSION_STATE]: resourceUIBehavior(userProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehavior(orgProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehavior(orgLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidancePlatformPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_GUIDANCE_STATE]: resourceUIBehavior(userGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('User guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehavior(orgGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('Organization guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.USER_LIFECYCLE_STATE]: resourceUIBehavior(userLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidanceAdminPresets(\n main: Partial<ResourceUIBehavior>,\n platform: Partial<ResourceUIBehavior>,\n): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehaviorFrom(\n orgGuidanceStateFactory, platform[R.ORGANIZATION_GUIDANCE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehaviorFrom(\n orgProgressionStateFactory, main[R.ORGANIZATION_PROGRESSION_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehaviorFrom(\n orgLifecycleStateFactory, main[R.ORGANIZATION_LIFECYCLE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n };\n}\n\nexport const guidanceMainPresets = buildGuidanceMainPresets();\nexport const guidancePlatformPresets = buildGuidancePlatformPresets();\nexport const guidanceAdminPresets = buildGuidanceAdminPresets(\n guidanceMainPresets,\n guidancePlatformPresets,\n);\n\nexport const userGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_GUIDANCE_STATE]!;\nexport const organizationGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const organizationGuidanceStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const userProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.USER_PROGRESSION_STATE]!;\nexport const organizationProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const organizationProgressionStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const userLifecycleStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAuCtE;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,2BAA2B,gGAmErC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,gGAyCtC,CAAC;AAEJ,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuVtE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuCxG;AAED,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAAiD,CAAC;AAGnF,eAAO,MAAM,0BAA0B,gGAAoC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,gGAA6C,CAAC;AAC7F,eAAO,MAAM,qCAAqC,gGAAgD,CAAC;AACnG,eAAO,MAAM,oCAAoC,gGAA0C,CAAC;AAC5F,eAAO,MAAM,qCAAqC,gGAA2C,CAAC;AAC9F,eAAO,MAAM,8BAA8B,gGAAyC,CAAC;AACrF,eAAO,MAAM,iCAAiC,gGAA4C,CAAC;AAC3F,eAAO,MAAM,kCAAkC,gGAAwC,CAAC;AACxF,eAAO,MAAM,mCAAmC,gGAAyC,CAAC"}
1
+ {"version":3,"file":"identity.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAuCtE;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,2BAA2B,gGAiErC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,gGAyCtC,CAAC;AAEJ,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAmVtE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuCxG;AAED,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAAiD,CAAC;AAGnF,eAAO,MAAM,0BAA0B,gGAAoC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,gGAA6C,CAAC;AAC7F,eAAO,MAAM,qCAAqC,gGAAgD,CAAC;AACnG,eAAO,MAAM,oCAAoC,gGAA0C,CAAC;AAC5F,eAAO,MAAM,qCAAqC,gGAA2C,CAAC;AAC9F,eAAO,MAAM,8BAA8B,gGAAyC,CAAC;AACrF,eAAO,MAAM,iCAAiC,gGAA4C,CAAC;AAC3F,eAAO,MAAM,kCAAkC,gGAAwC,CAAC;AACxF,eAAO,MAAM,mCAAmC,gGAAyC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility } from "@wildo-ai/saas-frontend-lib";
3
- import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout } from "@wildo-ai/saas-frontend-lib";
3
+ import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, SummaryFlow, SummaryMeta, SummaryTitle } from "@wildo-ai/saas-frontend-lib";
4
4
  import { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode, StringDisplayMode, StringEditMode, FileDisplayPresentation, FileMediaShape, FileMediaSize, } from "@wildo-ai/zod-decorators";
5
5
  import { CoreResourceType as R, CoreResourceOperation as Op, UserStatus, UserSelf_Operations, UserSelfPreferences_Operations, Users_Operations, userSelfResourceConfiguration_InitializationFactory as userSelfFactory, userSelfProfilesResourceConfiguration_InitializationFactory as userSelfProfilesFactory, userSelfPreferencesResourceConfiguration_InitializationFactory as userSelfPreferencesFactory, usersResourceConfiguration_InitializationFactory as usersFactory, anonymousUsersResourceConfiguration_InitializationFactory as anonymousUsersFactory, userProfilesResourceConfiguration_InitializationFactory as userProfilesFactory, userPreferencesResourceConfiguration_InitializationFactory as userPreferencesFactory, userFeaturesResourceConfiguration_InitializationFactory as userFeaturesFactory, UserSchema, UserProfileSchema, UserPreferencesSchema, AnonymousUserSchema, ScopeFeaturesWithOverridesSchema, } from "@wildo-ai/saas-models";
6
6
  import { Ban, KeyRound, Power, PowerOff, RotateCcw, ShieldMinus, ShieldPlus, UserCheck } from "lucide-react";
@@ -23,7 +23,7 @@ export const usersMainResourceUIBehavior = resourceUIBehavior(usersFactory, User
23
23
  layout: {
24
24
  refs: { sections: ["overview", "access", "lifecycle"] },
25
25
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "email" }), _jsx(DisplayField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(DisplayField, { name: "appRoles" }), _jsx(DisplayField, { name: "userTypes" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "createdAt" }), _jsx(DisplayField, { name: "updatedAt" })] }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.INLINE }, targets: [] })] })),
26
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "email", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
26
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "email" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
27
27
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "email" }), _jsx(FormField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(FormField, { name: "appRoles" }), _jsx(FormField, { name: "userTypes" })] })] })),
28
28
  },
29
29
  fields: {
@@ -85,7 +85,7 @@ export function buildIdentityMainPresets() {
85
85
  layout: {
86
86
  refs: { sections: ["overview", "access", "lifecycle"] },
87
87
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "email" }), _jsx(DisplayField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(DisplayField, { name: "appRoles" }), _jsx(DisplayField, { name: "userTypes" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "createdAt" }), _jsx(DisplayField, { name: "updatedAt" })] }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.TABS }, targets: [R.ORGANIZATION_MEMBERS] })] })),
88
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "email", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
88
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "email" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
89
89
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "email" }), _jsx(FormField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(FormField, { name: "appRoles" }), _jsx(FormField, { name: "userTypes" })] })] })),
90
90
  },
91
91
  views: [
@@ -112,7 +112,7 @@ export function buildIdentityMainPresets() {
112
112
  // Settings-page chrome (Settings Hub → Profile): label-left / value-right rows.
113
113
  defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
114
114
  display: () => (_jsxs(DisplayLayout, { children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "firstName" }), _jsx(DisplayField, { name: "lastName" }), _jsx(DisplayField, { name: "title" }), _jsx(DisplayField, { name: "avatar" }), _jsx(DisplayField, { name: "phoneNumber" }), _jsx(DisplayField, { name: "bio" })] })),
115
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "displayName", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "firstName" }), _jsx(DisplayField, { name: "lastName" })] })] })),
115
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "displayName" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "firstName" }), _jsx(DisplayField, { name: "lastName" })] })] })),
116
116
  edit: () => (_jsxs(FormLayout, { children: [_jsx(FormField, { name: "displayName" }), _jsx(FormField, { name: "firstName" }), _jsx(FormField, { name: "lastName" }), _jsx(FormField, { name: "title" }), _jsx(FormField, { name: "avatar" }), _jsx(FormField, { name: "phoneNumber" }), _jsx(FormField, { name: "bio" })] })),
117
117
  },
118
118
  fields: {
@@ -158,7 +158,7 @@ export function buildIdentityMainPresets() {
158
158
  // Settings-page chrome (Settings Hub → Preferences): label-left / value-right rows.
159
159
  defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
160
160
  display: () => (_jsxs(DisplayLayout, { children: [_jsx(Section, { name: "notifications", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "notifications", children: [_jsx(DisplayField, { name: "email" }), _jsx(DisplayField, { name: "push" }), _jsx(DisplayField, { name: "sms" }), _jsx(DisplayField, { name: "inApp" })] }) }), _jsx(Section, { name: "privacy", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "privacy", children: [_jsx(DisplayField, { name: "dataProcessingConsent" }), _jsx(DisplayField, { name: "privacyLevel" })] }) }), _jsx(Section, { name: "regional", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "regional", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "dateFormat" }), _jsx(DisplayField, { name: "timeFormat" }), _jsx(DisplayField, { name: "locale" })] }) }), _jsx(Section, { name: "language", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(DisplayField, { name: "primaryLanguage" }), _jsx(DisplayField, { name: "fallbackLanguages" }), _jsx(DisplayField, { name: "autoDetect" }), _jsx(DisplayField, { name: "useOrganizationDefault" })] }) })] })),
161
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: [_jsx(ObjectScope, { name: "ui", children: _jsx(DisplayField, { name: "theme" }) }), _jsxs(ObjectScope, { name: "regional", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" })] }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
161
+ summary: () => (_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, children: [_jsx(ObjectScope, { name: "ui", children: _jsx(DisplayField, { name: "theme" }) }), _jsxs(ObjectScope, { name: "regional", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" })] }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
162
162
  edit: () => (_jsxs(FormLayout, { children: [_jsx(Section, { name: "notifications", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "notifications", children: [_jsx(FormField, { name: "email" }), _jsx(FormField, { name: "push" }), _jsx(FormField, { name: "sms" }), _jsx(FormField, { name: "inApp" })] }) }), _jsx(Section, { name: "privacy", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "privacy", children: [_jsx(FormField, { name: "dataProcessingConsent" }), _jsx(FormField, { name: "privacyLevel" })] }) }), _jsx(Section, { name: "regional", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "regional", children: [_jsx(FormField, { name: "timezone" }), _jsx(FormField, { name: "dateFormat" }), _jsx(FormField, { name: "timeFormat" }), _jsx(FormField, { name: "locale" })] }) }), _jsx(Section, { name: "language", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(FormField, { name: "primaryLanguage" }), _jsx(FormField, { name: "fallbackLanguages" }), _jsx(FormField, { name: "autoDetect" }), _jsx(FormField, { name: "useOrganizationDefault" })] }) })] })),
163
163
  },
164
164
  views: [
@@ -173,7 +173,7 @@ export function buildIdentityMainPresets() {
173
173
  layout: {
174
174
  refs: { sections: ["overview", "privacy", "context"] },
175
175
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "transpositionStatus" }), _jsx(DisplayField, { name: "convertedToUserId" }), _jsx(DisplayField, { name: "createdAt" })] }), _jsx(Section, { name: "privacy", children: _jsx(DisplayField, { name: "privacy" }) }), _jsxs(Section, { name: "context", children: [_jsx(DisplayField, { name: "userAgent" }), _jsx(DisplayField, { name: "ipHash" })] })] })),
176
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: [_jsx(DisplayField, { name: "transpositionStatus" }), _jsx(DisplayField, { name: "createdAt" })] })),
176
+ summary: () => (_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, children: [_jsx(DisplayField, { name: "transpositionStatus" }), _jsx(DisplayField, { name: "createdAt" })] })),
177
177
  },
178
178
  views: [[Op.READ, notAddressable()]],
179
179
  })),
@@ -181,7 +181,7 @@ export function buildIdentityMainPresets() {
181
181
  layout: {
182
182
  refs: { sections: ["overview", "overrides"] },
183
183
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(DisplayField, { name: "addedFeatures" }), _jsx(DisplayField, { name: "removedFeatures" }), _jsx(DisplayField, { name: "limitOverrides" })] }) })] })),
184
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
184
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
185
185
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "features" }), _jsx(FormField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(FormField, { name: "addedFeatures" }), _jsx(FormField, { name: "removedFeatures" }), _jsx(FormField, { name: "limitOverrides" })] }) })] })),
186
186
  },
187
187
  views: [
@@ -1 +1 @@
1
- {"version":3,"file":"identity.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { ResourceUIBehavior } from \"@wildo-ai/saas-frontend-lib\";\nimport { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility } from \"@wildo-ai/saas-frontend-lib\";\nimport { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout } from \"@wildo-ai/saas-frontend-lib\";\nimport {\n BadgeSemanticVariant,\n DisplayChromeMode,\n EditChromeMode,\n EnumDisplayMode,\n SectionMode,\n StringDisplayMode,\n StringEditMode,\n FileDisplayPresentation,\n FileMediaShape,\n FileMediaSize,\n} from \"@wildo-ai/zod-decorators\";\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n UserStatus,\n UserSelf_Operations,\n UserSelfPreferences_Operations,\n Users_Operations,\n userSelfResourceConfiguration_InitializationFactory as userSelfFactory,\n userSelfProfilesResourceConfiguration_InitializationFactory as userSelfProfilesFactory,\n userSelfPreferencesResourceConfiguration_InitializationFactory as userSelfPreferencesFactory,\n usersResourceConfiguration_InitializationFactory as usersFactory,\n anonymousUsersResourceConfiguration_InitializationFactory as anonymousUsersFactory,\n userProfilesResourceConfiguration_InitializationFactory as userProfilesFactory,\n userPreferencesResourceConfiguration_InitializationFactory as userPreferencesFactory,\n userFeaturesResourceConfiguration_InitializationFactory as userFeaturesFactory,\n UserSchema,\n UserProfileSchema,\n UserPreferencesSchema,\n AnonymousUserSchema,\n ScopeFeaturesWithOverridesSchema,\n} from \"@wildo-ai/saas-models\";\nimport { Ban, KeyRound, Power, PowerOff, RotateCcw, ShieldMinus, ShieldPlus, UserCheck } from \"lucide-react\";\nimport { addressable, notAddressable, apiOnly } from \"./resource.config.utils\";\n\n/**\n * Identity & Users — Resource frontend presets\n *\n * **Main:** USER_SELF, USER_SELF_PROFILES, USER_SELF_PREFERENCES, USERS (read-only for\n * mentions/assignments), ANONYMOUS_USERS, USER_FEATURES. End users use the `_SELF` variants\n * for their own profiles/preferences — USER_PROFILES and USER_PREFERENCES are **admin-only**.\n *\n * **Admin:** USERS (LIST addressable — user management page), USER_PROFILES, USER_PREFERENCES,\n * ANONYMOUS_USERS, USER_FEATURES.\n *\n * Field-level `{primitive}UI` follows the billing convention: inline `values` for enums, and\n * `showDescription: true`. Layout templates are implemented inline in each resource config.\n */\n\nexport const usersMainResourceUIBehavior = resourceUIBehavior(usersFactory, UserSchema, ({ schemaShape }) => ({\n icon: StandardIconReference.USERS,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n Composes NO children. A user's owned children here are membership rows,\n invoice/usage records and the guidance / progression / lifecycle state\n machinery — none of which belongs on the user's own record. The ADMIN\n variant extends this display and names the two it does show.\n */}\n <RelatedResourceSections config={{ mode: SectionMode.INLINE }} targets={[]} />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"email\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [UserStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [UserStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [UserStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [UserStatus.PENDING_VERIFICATION]: { color: BadgeSemanticVariant.WARNING },\n [UserStatus.PENDING_INVITATION]: { color: BadgeSemanticVariant.INFO },\n [UserStatus.DELETED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n views: [[Op.READ, notAddressable()]],\n}));\n\nexport const usersAdminResourceUIBehavior = resourceUIBehaviorFrom(usersFactory, usersMainResourceUIBehavior, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // Extends the shared base display: both variants use one layout object but\n // compose different children — the base none, this one the profile and\n // preference records an operator manages. Both are 1:1, so they render through\n // READ rather than a collection LIST.\n layout: {\n ...base.layout,\n display: () => {\n const BaseDisplay = base.layout!.display!;\n return (\n <>\n <BaseDisplay />\n <RelatedResourceSections\n config={{ mode: SectionMode.INLINE }}\n targets={[\n { resourceType: R.USER_PROFILES, operationLike: Op.READ },\n { resourceType: R.USER_PREFERENCES, operationLike: Op.READ },\n ]}\n />\n </>\n );\n },\n },\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.LIST, \"admin\"), addressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // CREATE has a form view but its action is suppressed here: users self-signup\n // or are invited — admin direct-create is a high-risk path, not a list action.\n [Op.CREATE, notAddressable({ actionVisibility: ActionVisibility.HIDDEN })],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n [Users_Operations.ASSIGN_ROLES, notAddressable({ iconOverride: ShieldPlus })],\n [Users_Operations.REVOKE_ROLES, notAddressable({ iconOverride: ShieldMinus })],\n [Users_Operations.SUSPEND_USER, notAddressable({ iconOverride: Ban })],\n [Users_Operations.UNSUSPEND_USER, notAddressable({ iconOverride: UserCheck })],\n [Users_Operations.FORCE_PASSWORD_RESET, notAddressable({ iconOverride: KeyRound })],\n ],\n}));\n\nexport function buildIdentityMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_SELF]: resourceUIBehavior(userSelfFactory, UserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n A user's own record shows the organizations they belong to. Their\n self profile and preference rows are NOT composed here: both have\n dedicated settings surfaces, and repeating them would show the same\n record twice under one page.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_MEMBERS]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"email\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n // Profile / preferences edits ride the dedicated `USER_SELF_PROFILES` /\n // `USER_SELF_PREFERENCES` child resources declared below — the `UPDATE_PROFILE` /\n // `UPDATE_PREFERENCES` verbs were removed on 2026-08-01 (they declared another\n // resource's schema, so they answered 200 having persisted nothing).\n // No self-delete action: `DELETE_ACCOUNT` was removed on 2026-08-01 — data-subject erasure\n // is a system-level API with no route. See the `UserSelf_Operations` enum comment.\n [UserSelf_Operations.DEACTIVATE_ACCOUNT, notAddressable({ iconOverride: PowerOff })],\n [UserSelf_Operations.REACTIVATE_ACCOUNT, notAddressable({ iconOverride: Power })],\n ],\n })),\n\n [R.USER_SELF_PROFILES]: resourceUIBehavior(userSelfProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: {\n // Flat, sectionless profile: a single settings-row list (no cards, no\n // section headers). The old identity/contact/profile grouping added\n // visual chrome without semantic value on a short self-profile form.\n refs: { sections: [] },\n // Settings-page chrome (Settings Hub → Profile): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n <DisplayField name=\"title\" />\n <DisplayField name=\"avatar\" />\n <DisplayField name=\"phoneNumber\" />\n <DisplayField name=\"bio\" />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"displayName\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <FormField name=\"displayName\" />\n <FormField name=\"firstName\" />\n <FormField name=\"lastName\" />\n <FormField name=\"title\" />\n <FormField name=\"avatar\" />\n <FormField name=\"phoneNumber\" />\n <FormField name=\"bio\" />\n </FormLayout>\n ),\n },\n fields: {\n // Title is optional metadata — hide the row on the READ view until set\n // (the edit form still renders it so it can be filled).\n title: schemaShape.title.stringUI({ display: { hideWhenEmpty: true } }),\n // Avatar renders INLINE as a small CIRCLE on display (opt-in), no caption — the\n // natural profile-picture look. Bytes are fetched over the authenticated\n // resource-integrated serve route (authz inherits the profile READ); without the\n // opt-in a file field shows the neutral file card.\n avatar: schemaShape.avatar.fileUI({\n display: {\n presentation: FileDisplayPresentation.THUMBNAIL,\n preview: { shape: FileMediaShape.CIRCLE, size: FileMediaSize.MD, showCaption: false },\n },\n }),\n // Bio is long-form prose: rich markdown on display, a markdown SOURCE\n // editor (syntax-tinted, CodeMirror-backed, lazy-loaded) on edit.\n // The edit control opts OUT of the layout's SETTINGS_ROW default\n // (label-left / narrow end column): long-form writing needs the full row\n // width, so the field authors STACKED — label above, editor spanning.\n bio: schemaShape.bio.stringUI({\n display: { displayMode: StringDisplayMode.MARKDOWN, hideWhenEmpty: true },\n edit: { editMode: StringEditMode.MARKDOWN, chromeMode: EditChromeMode.STACKED },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n // Self-profile is auto-created on signup — headless (callable via API, no view).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.USER_SELF_PREFERENCES]: resourceUIBehavior(userSelfPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: {\n // Settings-page sections — each preference GROUP is its own CARD so the\n // Settings Hub → Preferences page reads as distinct titled blocks\n // (Notifications / Privacy / Regional / Language) rather than one flat\n // list. `appearance` (UI theme) is intentionally NOT a section here — see\n // the omission note in the display/edit templates.\n refs: { sections: [\"notifications\", \"privacy\", \"regional\", \"language\"] },\n // Settings-page chrome (Settings Hub → Preferences): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <DisplayField name=\"email\" />\n <DisplayField name=\"push\" />\n <DisplayField name=\"sms\" />\n <DisplayField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/*\n Privacy contains only the two user-facing preference decisions below. Governed\n notice, contract and consent interactions are exact-release records in a separate\n runtime boundary and must never be rendered or edited as preference members.\n */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <DisplayField name=\"dataProcessingConsent\" />\n <DisplayField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/*\n UI theme is intentionally OMITTED from this preferences page. The\n dedicated \"Appearance\" Settings-Hub panel (AppPage_AppearanceSettings)\n owns theme selection — surfacing `ui.theme` here too duplicated the\n same control on two surfaces. The `ui` field remains in the schema and\n the summary projection as the persisted value; only the editable\n duplicate on this page is removed. (If theme should instead be owned\n here and the Appearance panel retired, flip this and remove that panel.)\n */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"dateFormat\" />\n <DisplayField name=\"timeFormat\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n <DisplayField name=\"fallbackLanguages\" />\n <DisplayField name=\"autoDetect\" />\n <DisplayField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <ObjectScope name=\"ui\">\n <DisplayField name=\"theme\" />\n </ObjectScope>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <FormField name=\"email\" />\n <FormField name=\"push\" />\n <FormField name=\"sms\" />\n <FormField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/* Privacy: edit only the consent SETTINGS — see the display layout note above. */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <FormField name=\"dataProcessingConsent\" />\n <FormField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/* UI theme intentionally OMITTED — owned by the Appearance Settings-Hub\n panel; see the display-template omission note above. */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <FormField name=\"timezone\" />\n <FormField name=\"dateFormat\" />\n <FormField name=\"timeFormat\" />\n <FormField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <FormField name=\"primaryLanguage\" />\n <FormField name=\"fallbackLanguages\" />\n <FormField name=\"autoDetect\" />\n <FormField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [UserSelfPreferences_Operations.RESET_TO_DEFAULTS, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n\n [R.USERS]: usersMainResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehavior(anonymousUsersFactory, AnonymousUserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n layout: {\n refs: { sections: [\"overview\", \"privacy\", \"context\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"convertedToUserId\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n <Section name=\"privacy\">\n <DisplayField name=\"privacy\" />\n </Section>\n <Section name=\"context\">\n <DisplayField name=\"userAgent\" />\n <DisplayField name=\"ipHash\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"createdAt\" />\n </SummaryLayout>\n ),\n },\n views: [[Op.READ, notAddressable()]],\n })),\n\n [R.USER_FEATURES]: resourceUIBehavior(userFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: { sections: [\"overview\", \"overrides\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <DisplayField name=\"addedFeatures\" />\n <DisplayField name=\"removedFeatures\" />\n <DisplayField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"features\" />\n <FormField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <FormField name=\"addedFeatures\" />\n <FormField name=\"removedFeatures\" />\n <FormField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildIdentityAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.USERS]: usersAdminResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehaviorFrom(anonymousUsersFactory, main[R.ANONYMOUS_USERS]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.LIST, notAddressable()]],\n })),\n\n [R.USER_PROFILES]: resourceUIBehavior(userProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: main[R.USER_SELF_PROFILES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // Profiles are created programmatically alongside the user — headless (API-only).\n [opsVariantResolver(Op.CREATE, \"admin\"), apiOnly()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.DELETE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_PREFERENCES]: resourceUIBehavior(userPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: main[R.USER_SELF_PREFERENCES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_FEATURES]: resourceUIBehaviorFrom(userFeaturesFactory, main[R.USER_FEATURES]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.UPDATE, notAddressable()]],\n })),\n };\n}\n\nexport const identityMainPresets = buildIdentityMainPresets();\nexport const identityAdminPresets = buildIdentityAdminPresets(identityMainPresets);\n\n// Named re-exports for `*.resource.specification.ts` (mergeResourceFrontendConfigurations + `codeHandling.frontendConfigurationSources`).\nexport const userSelfResourceUIBehavior = identityMainPresets[R.USER_SELF]!;\nexport const userSelfProfilesResourceUIBehavior = identityMainPresets[R.USER_SELF_PROFILES]!;\nexport const userSelfPreferencesResourceUIBehavior = identityMainPresets[R.USER_SELF_PREFERENCES]!;\nexport const anonymousUsersMainResourceUIBehavior = identityMainPresets[R.ANONYMOUS_USERS]!;\nexport const anonymousUsersAdminResourceUIBehavior = identityAdminPresets[R.ANONYMOUS_USERS]!;\nexport const userProfilesResourceUIBehavior = identityAdminPresets[R.USER_PROFILES]!;\nexport const userPreferencesResourceUIBehavior = identityAdminPresets[R.USER_PREFERENCES]!;\nexport const userFeaturesMainResourceUIBehavior = identityMainPresets[R.USER_FEATURES]!;\nexport const userFeaturesAdminResourceUIBehavior = identityAdminPresets[R.USER_FEATURES]!;\n"]}
1
+ {"version":3,"file":"identity.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { ResourceUIBehavior } from \"@wildo-ai/saas-frontend-lib\";\nimport { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility } from \"@wildo-ai/saas-frontend-lib\";\nimport { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, SummaryFlow, SummaryMeta, SummaryTitle } from \"@wildo-ai/saas-frontend-lib\";\nimport {\n BadgeSemanticVariant,\n DisplayChromeMode,\n EditChromeMode,\n EnumDisplayMode,\n SectionMode,\n StringDisplayMode,\n StringEditMode,\n FileDisplayPresentation,\n FileMediaShape,\n FileMediaSize,\n} from \"@wildo-ai/zod-decorators\";\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n UserStatus,\n UserSelf_Operations,\n UserSelfPreferences_Operations,\n Users_Operations,\n userSelfResourceConfiguration_InitializationFactory as userSelfFactory,\n userSelfProfilesResourceConfiguration_InitializationFactory as userSelfProfilesFactory,\n userSelfPreferencesResourceConfiguration_InitializationFactory as userSelfPreferencesFactory,\n usersResourceConfiguration_InitializationFactory as usersFactory,\n anonymousUsersResourceConfiguration_InitializationFactory as anonymousUsersFactory,\n userProfilesResourceConfiguration_InitializationFactory as userProfilesFactory,\n userPreferencesResourceConfiguration_InitializationFactory as userPreferencesFactory,\n userFeaturesResourceConfiguration_InitializationFactory as userFeaturesFactory,\n UserSchema,\n UserProfileSchema,\n UserPreferencesSchema,\n AnonymousUserSchema,\n ScopeFeaturesWithOverridesSchema,\n} from \"@wildo-ai/saas-models\";\nimport { Ban, KeyRound, Power, PowerOff, RotateCcw, ShieldMinus, ShieldPlus, UserCheck } from \"lucide-react\";\nimport { addressable, notAddressable, apiOnly } from \"./resource.config.utils\";\n\n/**\n * Identity & Users — Resource frontend presets\n *\n * **Main:** USER_SELF, USER_SELF_PROFILES, USER_SELF_PREFERENCES, USERS (read-only for\n * mentions/assignments), ANONYMOUS_USERS, USER_FEATURES. End users use the `_SELF` variants\n * for their own profiles/preferences — USER_PROFILES and USER_PREFERENCES are **admin-only**.\n *\n * **Admin:** USERS (LIST addressable — user management page), USER_PROFILES, USER_PREFERENCES,\n * ANONYMOUS_USERS, USER_FEATURES.\n *\n * Field-level `{primitive}UI` follows the billing convention: inline `values` for enums, and\n * `showDescription: true`. Layout templates are implemented inline in each resource config.\n */\n\nexport const usersMainResourceUIBehavior = resourceUIBehavior(usersFactory, UserSchema, ({ schemaShape }) => ({\n icon: StandardIconReference.USERS,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n Composes NO children. A user's owned children here are membership rows,\n invoice/usage records and the guidance / progression / lifecycle state\n machinery — none of which belongs on the user's own record. The ADMIN\n variant extends this display and names the two it does show.\n */}\n <RelatedResourceSections config={{ mode: SectionMode.INLINE }} targets={[]} />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"email\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [UserStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [UserStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [UserStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [UserStatus.PENDING_VERIFICATION]: { color: BadgeSemanticVariant.WARNING },\n [UserStatus.PENDING_INVITATION]: { color: BadgeSemanticVariant.INFO },\n [UserStatus.DELETED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n views: [[Op.READ, notAddressable()]],\n}));\n\nexport const usersAdminResourceUIBehavior = resourceUIBehaviorFrom(usersFactory, usersMainResourceUIBehavior, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // Extends the shared base display: both variants use one layout object but\n // compose different children — the base none, this one the profile and\n // preference records an operator manages. Both are 1:1, so they render through\n // READ rather than a collection LIST.\n layout: {\n ...base.layout,\n display: () => {\n const BaseDisplay = base.layout!.display!;\n return (\n <>\n <BaseDisplay />\n <RelatedResourceSections\n config={{ mode: SectionMode.INLINE }}\n targets={[\n { resourceType: R.USER_PROFILES, operationLike: Op.READ },\n { resourceType: R.USER_PREFERENCES, operationLike: Op.READ },\n ]}\n />\n </>\n );\n },\n },\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.LIST, \"admin\"), addressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // CREATE has a form view but its action is suppressed here: users self-signup\n // or are invited — admin direct-create is a high-risk path, not a list action.\n [Op.CREATE, notAddressable({ actionVisibility: ActionVisibility.HIDDEN })],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n [Users_Operations.ASSIGN_ROLES, notAddressable({ iconOverride: ShieldPlus })],\n [Users_Operations.REVOKE_ROLES, notAddressable({ iconOverride: ShieldMinus })],\n [Users_Operations.SUSPEND_USER, notAddressable({ iconOverride: Ban })],\n [Users_Operations.UNSUSPEND_USER, notAddressable({ iconOverride: UserCheck })],\n [Users_Operations.FORCE_PASSWORD_RESET, notAddressable({ iconOverride: KeyRound })],\n ],\n}));\n\nexport function buildIdentityMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_SELF]: resourceUIBehavior(userSelfFactory, UserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n A user's own record shows the organizations they belong to. Their\n self profile and preference rows are NOT composed here: both have\n dedicated settings surfaces, and repeating them would show the same\n record twice under one page.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_MEMBERS]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"email\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n // Profile / preferences edits ride the dedicated `USER_SELF_PROFILES` /\n // `USER_SELF_PREFERENCES` child resources declared below — the `UPDATE_PROFILE` /\n // `UPDATE_PREFERENCES` verbs were removed on 2026-08-01 (they declared another\n // resource's schema, so they answered 200 having persisted nothing).\n // No self-delete action: `DELETE_ACCOUNT` was removed on 2026-08-01 — data-subject erasure\n // is a system-level API with no route. See the `UserSelf_Operations` enum comment.\n [UserSelf_Operations.DEACTIVATE_ACCOUNT, notAddressable({ iconOverride: PowerOff })],\n [UserSelf_Operations.REACTIVATE_ACCOUNT, notAddressable({ iconOverride: Power })],\n ],\n })),\n\n [R.USER_SELF_PROFILES]: resourceUIBehavior(userSelfProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: {\n // Flat, sectionless profile: a single settings-row list (no cards, no\n // section headers). The old identity/contact/profile grouping added\n // visual chrome without semantic value on a short self-profile form.\n refs: { sections: [] },\n // Settings-page chrome (Settings Hub → Profile): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n <DisplayField name=\"title\" />\n <DisplayField name=\"avatar\" />\n <DisplayField name=\"phoneNumber\" />\n <DisplayField name=\"bio\" />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"displayName\" />\n <SummaryMeta>\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <FormField name=\"displayName\" />\n <FormField name=\"firstName\" />\n <FormField name=\"lastName\" />\n <FormField name=\"title\" />\n <FormField name=\"avatar\" />\n <FormField name=\"phoneNumber\" />\n <FormField name=\"bio\" />\n </FormLayout>\n ),\n },\n fields: {\n // Title is optional metadata — hide the row on the READ view until set\n // (the edit form still renders it so it can be filled).\n title: schemaShape.title.stringUI({ display: { hideWhenEmpty: true } }),\n // Avatar renders INLINE as a small CIRCLE on display (opt-in), no caption — the\n // natural profile-picture look. Bytes are fetched over the authenticated\n // resource-integrated serve route (authz inherits the profile READ); without the\n // opt-in a file field shows the neutral file card.\n avatar: schemaShape.avatar.fileUI({\n display: {\n presentation: FileDisplayPresentation.THUMBNAIL,\n preview: { shape: FileMediaShape.CIRCLE, size: FileMediaSize.MD, showCaption: false },\n },\n }),\n // Bio is long-form prose: rich markdown on display, a markdown SOURCE\n // editor (syntax-tinted, CodeMirror-backed, lazy-loaded) on edit.\n // The edit control opts OUT of the layout's SETTINGS_ROW default\n // (label-left / narrow end column): long-form writing needs the full row\n // width, so the field authors STACKED — label above, editor spanning.\n bio: schemaShape.bio.stringUI({\n display: { displayMode: StringDisplayMode.MARKDOWN, hideWhenEmpty: true },\n edit: { editMode: StringEditMode.MARKDOWN, chromeMode: EditChromeMode.STACKED },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n // Self-profile is auto-created on signup — headless (callable via API, no view).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.USER_SELF_PREFERENCES]: resourceUIBehavior(userSelfPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: {\n // Settings-page sections — each preference GROUP is its own CARD so the\n // Settings Hub → Preferences page reads as distinct titled blocks\n // (Notifications / Privacy / Regional / Language) rather than one flat\n // list. `appearance` (UI theme) is intentionally NOT a section here — see\n // the omission note in the display/edit templates.\n refs: { sections: [\"notifications\", \"privacy\", \"regional\", \"language\"] },\n // Settings-page chrome (Settings Hub → Preferences): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <DisplayField name=\"email\" />\n <DisplayField name=\"push\" />\n <DisplayField name=\"sms\" />\n <DisplayField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/*\n Privacy contains only the two user-facing preference decisions below. Governed\n notice, contract and consent interactions are exact-release records in a separate\n runtime boundary and must never be rendered or edited as preference members.\n */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <DisplayField name=\"dataProcessingConsent\" />\n <DisplayField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/*\n UI theme is intentionally OMITTED from this preferences page. The\n dedicated \"Appearance\" Settings-Hub panel (AppPage_AppearanceSettings)\n owns theme selection — surfacing `ui.theme` here too duplicated the\n same control on two surfaces. The `ui` field remains in the schema and\n the summary projection as the persisted value; only the editable\n duplicate on this page is removed. (If theme should instead be owned\n here and the Appearance panel retired, flip this and remove that panel.)\n */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"dateFormat\" />\n <DisplayField name=\"timeFormat\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n <DisplayField name=\"fallbackLanguages\" />\n <DisplayField name=\"autoDetect\" />\n <DisplayField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <ObjectScope name=\"ui\">\n <DisplayField name=\"theme\" />\n </ObjectScope>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <FormField name=\"email\" />\n <FormField name=\"push\" />\n <FormField name=\"sms\" />\n <FormField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/* Privacy: edit only the consent SETTINGS — see the display layout note above. */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <FormField name=\"dataProcessingConsent\" />\n <FormField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/* UI theme intentionally OMITTED — owned by the Appearance Settings-Hub\n panel; see the display-template omission note above. */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <FormField name=\"timezone\" />\n <FormField name=\"dateFormat\" />\n <FormField name=\"timeFormat\" />\n <FormField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <FormField name=\"primaryLanguage\" />\n <FormField name=\"fallbackLanguages\" />\n <FormField name=\"autoDetect\" />\n <FormField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [UserSelfPreferences_Operations.RESET_TO_DEFAULTS, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n\n [R.USERS]: usersMainResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehavior(anonymousUsersFactory, AnonymousUserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n layout: {\n refs: { sections: [\"overview\", \"privacy\", \"context\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"convertedToUserId\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n <Section name=\"privacy\">\n <DisplayField name=\"privacy\" />\n </Section>\n <Section name=\"context\">\n <DisplayField name=\"userAgent\" />\n <DisplayField name=\"ipHash\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"createdAt\" />\n </SummaryLayout>\n ),\n },\n views: [[Op.READ, notAddressable()]],\n })),\n\n [R.USER_FEATURES]: resourceUIBehavior(userFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: { sections: [\"overview\", \"overrides\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <DisplayField name=\"addedFeatures\" />\n <DisplayField name=\"removedFeatures\" />\n <DisplayField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"features\" />\n <FormField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <FormField name=\"addedFeatures\" />\n <FormField name=\"removedFeatures\" />\n <FormField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildIdentityAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.USERS]: usersAdminResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehaviorFrom(anonymousUsersFactory, main[R.ANONYMOUS_USERS]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.LIST, notAddressable()]],\n })),\n\n [R.USER_PROFILES]: resourceUIBehavior(userProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: main[R.USER_SELF_PROFILES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // Profiles are created programmatically alongside the user — headless (API-only).\n [opsVariantResolver(Op.CREATE, \"admin\"), apiOnly()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.DELETE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_PREFERENCES]: resourceUIBehavior(userPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: main[R.USER_SELF_PREFERENCES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_FEATURES]: resourceUIBehaviorFrom(userFeaturesFactory, main[R.USER_FEATURES]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.UPDATE, notAddressable()]],\n })),\n };\n}\n\nexport const identityMainPresets = buildIdentityMainPresets();\nexport const identityAdminPresets = buildIdentityAdminPresets(identityMainPresets);\n\n// Named re-exports for `*.resource.specification.ts` (mergeResourceFrontendConfigurations + `codeHandling.frontendConfigurationSources`).\nexport const userSelfResourceUIBehavior = identityMainPresets[R.USER_SELF]!;\nexport const userSelfProfilesResourceUIBehavior = identityMainPresets[R.USER_SELF_PROFILES]!;\nexport const userSelfPreferencesResourceUIBehavior = identityMainPresets[R.USER_SELF_PREFERENCES]!;\nexport const anonymousUsersMainResourceUIBehavior = identityMainPresets[R.ANONYMOUS_USERS]!;\nexport const anonymousUsersAdminResourceUIBehavior = identityAdminPresets[R.ANONYMOUS_USERS]!;\nexport const userProfilesResourceUIBehavior = identityAdminPresets[R.USER_PROFILES]!;\nexport const userPreferencesResourceUIBehavior = identityAdminPresets[R.USER_PREFERENCES]!;\nexport const userFeaturesMainResourceUIBehavior = identityMainPresets[R.USER_FEATURES]!;\nexport const userFeaturesAdminResourceUIBehavior = identityAdminPresets[R.USER_FEATURES]!;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/organizations.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAmC,MAAM,6BAA6B,CAAC;AAiGvG,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAghB3E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2B7G;AAED,eAAO,MAAM,wBAAwB,6BAAkC,CAAC;AACxE,eAAO,MAAM,yBAAyB,6BAA2D,CAAC;AAElG,eAAO,MAAM,sCAAsC,gGAA6C,CAAC;AACjG,eAAO,MAAM,uCAAuC,gGAA8C,CAAC;AACnG,eAAO,MAAM,uCAAuC,gGAAkD,CAAC;AACvG,eAAO,MAAM,yCAAyC,gGAAoD,CAAC;AAC3G,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,+CAA+C,gGAA0D,CAAC;AACvH,eAAO,MAAM,6CAA6C,gGAAwD,CAAC;AACnH,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,2CAA2C,gGAAsD,CAAC"}
1
+ {"version":3,"file":"organizations.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/organizations.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAmC,MAAM,6BAA6B,CAAC;AAoGvG,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA0gB3E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2B7G;AAED,eAAO,MAAM,wBAAwB,6BAAkC,CAAC;AACxE,eAAO,MAAM,yBAAyB,6BAA2D,CAAC;AAElG,eAAO,MAAM,sCAAsC,gGAA6C,CAAC;AACjG,eAAO,MAAM,uCAAuC,gGAA8C,CAAC;AACnG,eAAO,MAAM,uCAAuC,gGAAkD,CAAC;AACvG,eAAO,MAAM,yCAAyC,gGAAoD,CAAC;AAC3G,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,+CAA+C,gGAA0D,CAAC;AACvH,eAAO,MAAM,6CAA6C,gGAAwD,CAAC;AACnH,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,2CAA2C,gGAAsD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility, } from '@wildo-ai/saas-frontend-lib';
3
- import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, } from '@wildo-ai/saas-frontend-lib';
3
+ import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, SummaryFlow, SummaryMeta, SummaryTitle, } from '@wildo-ai/saas-frontend-lib';
4
4
  import { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';
5
5
  import { Archive, ArchiveRestore, Ban, CirclePause, GitBranch, Move, Paintbrush, Power, RotateCcw, Send, ToggleLeft, ToggleRight, Trash2, UserPlus, } from 'lucide-react';
6
6
  import { CoreResourceType as R, CoreResourceOperation as Op, OrganizationStatus, OrganizationMemberStatus, OrganizationUnit_Operations, OrganizationMembers_Operations, OrganizationProfile_Operations, Organization_Lifecycle_Operations, OrganizationFeatures_Operations, organizationResourceConfiguration_InitializationFactory as orgFactory, organizationUnitResourceConfiguration_InitializationFactory as orgUnitFactory, organizationMembersResourceConfiguration_InitializationFactory as orgMembersFactory, organizationProfileResourceConfiguration_InitializationFactory as orgProfileFactory, organizationNotificationsResourceConfiguration_InitializationFactory as orgNotificationsFactory, organizationPreferencesResourceConfiguration_InitializationFactory as orgPreferencesFactory, organizationFeaturesResourceConfiguration_InitializationFactory as orgFeaturesFactory, OrganizationSchema, OrganizationUnitSchema, OrganizationMemberSchema, OrganizationProfileSchema, OrganizationNotificationsSchema, OrganizationPreferencesSchema, ScopeFeaturesWithOverridesSchema, } from '@wildo-ai/saas-models';
@@ -49,7 +49,7 @@ export function buildOrganizationsMainPresets() {
49
49
  // label-left / value-right rows; the list/summary stays compact.
50
50
  defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
51
51
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "name" }), _jsx(DisplayField, { name: "slug" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "type" })] }), _jsx(Section, { name: "lifecycle", children: _jsx(DisplayField, { name: "createdAt" }) }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.TABS }, targets: [R.ORGANIZATION_UNITS, R.ORGANIZATION_MEMBERS, R.ORGANIZATION_FEATURES] })] })),
52
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "name", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "slug" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
52
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "slug" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
53
53
  edit: () => (_jsx(FormLayout, { children: _jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "name" }), _jsx(FormField, { name: "slug" }), _jsx(FormField, { name: "status" }), _jsx(FormField, { name: "type" })] }) })),
54
54
  },
55
55
  fields: {
@@ -87,7 +87,7 @@ export function buildOrganizationsMainPresets() {
87
87
  layout: {
88
88
  refs: { sections: ['identity', 'hierarchy'] },
89
89
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "identity", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "name" }), _jsx(DisplayField, { name: "code" }), _jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "status" })] }), _jsxs(Section, { name: "hierarchy", children: [_jsx(DisplayField, { name: "parentUnitId" }), _jsx(DisplayField, { name: "path" }), _jsx(DisplayField, { name: "inheritanceType" })] }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.TABS }, targets: [R.ORGANIZATION_UNITS] })] })),
90
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "name", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "status" })] })] })),
90
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "status" })] })] })),
91
91
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "identity", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "name" }), _jsx(FormField, { name: "code" }), _jsx(FormField, { name: "type" }), _jsx(FormField, { name: "status" })] }), _jsxs(Section, { name: "hierarchy", children: [_jsx(FormField, { name: "parentUnitId" }), _jsx(FormField, { name: "inheritanceType" })] })] })),
92
92
  },
93
93
  views: [
@@ -109,7 +109,7 @@ export function buildOrganizationsMainPresets() {
109
109
  // Settings-page chrome (Settings Hub → Members): label-left / value-right rows.
110
110
  defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
111
111
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "userTitle" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "roles" })] }), _jsx(Section, { name: "membership", children: _jsx(DisplayField, { name: "createdAt" }) })] })),
112
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "userTitle", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "roles" }), _jsx(DisplayField, { name: "status" })] })] })),
112
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "userTitle" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "roles" }), _jsx(DisplayField, { name: "status" })] })] })),
113
113
  edit: () => (_jsx(FormLayout, { children: _jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "userEmail" }), _jsx(FormField, { name: "userTitle" }), _jsx(FormField, { name: "status" }), _jsx(FormField, { name: "roles" })] }) })),
114
114
  },
115
115
  fields: {
@@ -165,7 +165,7 @@ export function buildOrganizationsMainPresets() {
165
165
  layout: {
166
166
  refs: { sections: ['company', 'classification', 'location', 'branding', 'social'] },
167
167
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "company", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "domain" }), _jsx(DisplayField, { name: "website" }), _jsx(DisplayField, { name: "phone" }), _jsx(DisplayField, { name: "description" })] }), _jsxs(Section, { name: "classification", children: [_jsx(DisplayField, { name: "industry" }), _jsx(DisplayField, { name: "size" }), _jsx(DisplayField, { name: "founded" }), _jsx(DisplayField, { name: "timezone" })] }), _jsx(Section, { name: "location", children: _jsx(DisplayField, { name: "address" }) }), _jsx(Section, { name: "branding", children: _jsxs(ObjectScope, { name: "branding", children: [_jsx(DisplayField, { name: "logo" }), _jsx(DisplayField, { name: "favicon" }), _jsx(DisplayField, { name: "primaryColor" }), _jsx(DisplayField, { name: "secondaryColor" }), _jsx(DisplayField, { name: "customDomain" })] }) }), _jsx(Section, { name: "social", children: _jsxs(ObjectScope, { name: "socialLinks", children: [_jsx(DisplayField, { name: "linkedin" }), _jsx(DisplayField, { name: "twitter" }), _jsx(DisplayField, { name: "facebook" }), _jsx(DisplayField, { name: "github" })] }) })] })),
168
- summary: () => (_jsx(SummaryLayout, { className: "text-sm", children: _jsx(DisplayField, { name: "displayName" }) })),
168
+ summary: () => (_jsx(SummaryLayout, { children: _jsx(DisplayField, { name: "displayName" }) })),
169
169
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "company", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "displayName" }), _jsx(FormField, { name: "domain" }), _jsx(FormField, { name: "website" }), _jsx(FormField, { name: "phone" }), _jsx(FormField, { name: "description" })] }), _jsxs(Section, { name: "classification", children: [_jsx(FormField, { name: "industry" }), _jsx(FormField, { name: "size" }), _jsx(FormField, { name: "founded" }), _jsx(FormField, { name: "timezone" })] }), _jsx(Section, { name: "location", children: _jsx(FormField, { name: "address" }) }), _jsx(Section, { name: "branding", children: _jsxs(ObjectScope, { name: "branding", children: [_jsx(FormField, { name: "logo" }), _jsx(FormField, { name: "favicon" }), _jsx(FormField, { name: "primaryColor" }), _jsx(FormField, { name: "secondaryColor" }), _jsx(FormField, { name: "customDomain" })] }) }), _jsx(Section, { name: "social", children: _jsxs(ObjectScope, { name: "socialLinks", children: [_jsx(FormField, { name: "linkedin" }), _jsx(FormField, { name: "twitter" }), _jsx(FormField, { name: "facebook" }), _jsx(FormField, { name: "github" })] }) })] })),
170
170
  },
171
171
  views: [
@@ -179,7 +179,7 @@ export function buildOrganizationsMainPresets() {
179
179
  layout: {
180
180
  refs: { sections: ['addresses', 'categories'] },
181
181
  display: () => (_jsxs(DisplayLayout, { children: [_jsx(Section, { name: "addresses", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(DisplayField, { name: "defaultEmailAddress" }), _jsx(DisplayField, { name: "billingAddress" }), _jsx(DisplayField, { name: "securityAddress" }), _jsx(DisplayField, { name: "administrativeAddress" }), _jsx(DisplayField, { name: "usersManagementAddress" })] }) }), _jsx(Section, { name: "categories", children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(DisplayField, { name: "billing" }), _jsx(DisplayField, { name: "administrative" }), _jsx(DisplayField, { name: "security" }), _jsx(DisplayField, { name: "usersManagement" })] }) })] })),
182
- summary: () => (_jsx(SummaryLayout, { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: _jsx(ObjectScope, { name: "emailNotifications", children: _jsx(DisplayField, { name: "defaultEmailAddress" }) }) })),
182
+ summary: () => (_jsx(SummaryLayout, { flow: SummaryFlow.ROW, children: _jsx(ObjectScope, { name: "emailNotifications", children: _jsx(DisplayField, { name: "defaultEmailAddress" }) }) })),
183
183
  edit: () => (_jsxs(FormLayout, { children: [_jsx(Section, { name: "addresses", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(FormField, { name: "defaultEmailAddress" }), _jsx(FormField, { name: "billingAddress" }), _jsx(FormField, { name: "securityAddress" }), _jsx(FormField, { name: "administrativeAddress" }), _jsx(FormField, { name: "usersManagementAddress" })] }) }), _jsx(Section, { name: "categories", children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(FormField, { name: "billing" }), _jsx(FormField, { name: "administrative" }), _jsx(FormField, { name: "security" }), _jsx(FormField, { name: "usersManagement" })] }) })] })),
184
184
  },
185
185
  views: [
@@ -192,7 +192,7 @@ export function buildOrganizationsMainPresets() {
192
192
  layout: {
193
193
  refs: { sections: ['regional', 'language', 'overrides'] },
194
194
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "regional", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" }), _jsx(DisplayField, { name: "dateFormat" }), _jsx(DisplayField, { name: "timeFormat" })] }), _jsx(Section, { name: "language", children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(DisplayField, { name: "primaryLanguage" }), _jsx(DisplayField, { name: "supportedLanguages" }), _jsx(DisplayField, { name: "allowUserOverride" }), _jsx(DisplayField, { name: "enforceForAllMembers" })] }) }), _jsx(Section, { name: "overrides", children: _jsx(DisplayField, { name: "allowMemberEmailOverride" }) })] })),
195
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
195
+ summary: () => (_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
196
196
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "regional", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "timezone" }), _jsx(FormField, { name: "locale" }), _jsx(FormField, { name: "dateFormat" }), _jsx(FormField, { name: "timeFormat" })] }), _jsx(Section, { name: "language", children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(FormField, { name: "primaryLanguage" }), _jsx(FormField, { name: "supportedLanguages" }), _jsx(FormField, { name: "allowUserOverride" }), _jsx(FormField, { name: "enforceForAllMembers" })] }) }), _jsx(Section, { name: "overrides", children: _jsx(FormField, { name: "allowMemberEmailOverride" }) })] })),
197
197
  },
198
198
  views: [
@@ -204,7 +204,7 @@ export function buildOrganizationsMainPresets() {
204
204
  layout: {
205
205
  refs: { sections: ['overview', 'overrides'] },
206
206
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(DisplayField, { name: "addedFeatures" }), _jsx(DisplayField, { name: "removedFeatures" }), _jsx(DisplayField, { name: "limitOverrides" })] }) })] })),
207
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
207
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
208
208
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "features" }), _jsx(FormField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(FormField, { name: "addedFeatures" }), _jsx(FormField, { name: "removedFeatures" }), _jsx(FormField, { name: "limitOverrides" })] }) })] })),
209
209
  },
210
210
  views: [