{
  "status": "phase-1-closed",
  "sourceOfTruth": "packages/ui/src/* + generated packages/ui/dist/ui.js",
  "migrationRule": "Migrare una famiglia per volta, rigenerare il package UI con npm run build:ui e verificare demo/tutorial rilevanti.",
  "buildOrder": [
    "00-bootstrap.js",
    "01-foundation-helpers.js",
    "10-primitives-layout.js",
    "20-display-content.js",
    "21-list-content.js",
    "22-banner-content.js",
    "23-tooltip.js",
    "31-form-advanced.js",
    "40-navigation.js",
    "50-feedback.js",
    "60-shell-app.js",
    "51-feedback-service.js",
    "61-form-service.js",
    "70-dialog.js",
    "41-tab-panel.js",
    "80-data.js",
    "71-menu-overlays.js"
  ],
  "plannedFamilies": [
    {
      "file": "00-bootstrap.js",
      "status": "migrated",
      "scope": [
        "IIFE initCMSwiftUI",
        "rod path proxy",
        "base helper UI",
        "token sets iniziali"
      ]
    },
    {
      "file": "01-foundation-helpers.js",
      "status": "migrated",
      "scope": [
        "normalize args UI",
        "helper shared UI",
        "slot/meta shared helpers base",
        "utility functions usate dai componenti"
      ]
    },
    {
      "file": "05-meta-shared.js",
      "status": "deferred",
      "scope": [
        "UI.meta shared helpers",
        "meta normalization",
        "doc/dev helpers"
      ]
    },
    {
      "file": "10-primitives-layout.js",
      "status": "migrated",
      "scope": [
        "Row",
        "Col",
        "Spacer",
        "Container",
        "Card",
        "Footer",
        "Toolbar",
        "Grid",
        "GridCol"
      ]
    },
    {
      "file": "20-display-content.js",
      "status": "migrated",
      "scope": ["Icon", "Badge", "Avatar", "Chip"]
    },
    {
      "file": "21-list-content.js",
      "status": "migrated",
      "scope": ["List", "Item", "Separator"]
    },
    {
      "file": "22-banner-content.js",
      "status": "migrated",
      "scope": ["Banner"]
    },
    {
      "file": "23-tooltip.js",
      "status": "migrated",
      "scope": ["Tooltip"]
    },
    {
      "file": "30-form-core.js",
      "status": "merged-into-10-primitives-layout.js",
      "scope": ["FormField", "InputRaw", "Input", "Textarea", "Select"]
    },
    {
      "file": "31-form-advanced.js",
      "status": "migrated",
      "scope": [
        "Checkbox",
        "Radio",
        "Toggle",
        "Slider",
        "Rating",
        "Date",
        "Time",
        "Form"
      ]
    },
    {
      "file": "40-navigation.js",
      "status": "partial",
      "scope": ["Tabs", "RouteTab", "Breadcrumbs", "Pagination"]
    },
    {
      "file": "41-tab-panel.js",
      "status": "migrated",
      "scope": ["TabPanel"]
    },
    {
      "file": "50-feedback.js",
      "status": "partial",
      "scope": ["Spinner", "Progress", "LoadingBar", "Notify"]
    },
    {
      "file": "51-feedback-service.js",
      "status": "migrated",
      "scope": [
        "notify service wiring",
        "toast root",
        "toast timers",
        "toast update/remove/clear/promise bridge"
      ]
    },
    {
      "file": "60-shell-app.js",
      "status": "migrated",
      "scope": ["Header", "Drawer", "Page", "AppShell", "Parallax"]
    },
    {
      "file": "61-form-service.js",
      "status": "migrated",
      "scope": [
        "CMSwift.form helpers",
        "CMSwift.useForm",
        "Form",
        "cardHeader",
        "cardBody",
        "cardFooter",
        "dialog service bootstrap"
      ]
    },
    {
      "file": "70-dialog.js",
      "status": "migrated",
      "scope": ["Dialog"]
    },
    {
      "file": "80-data.js",
      "status": "migrated",
      "scope": ["Table"]
    },
    {
      "file": "71-menu-overlays.js",
      "status": "migrated",
      "scope": ["Menu", "Popover", "ContextMenu", "bundle footer"]
    },
    {
      "file": "90-services-meta.js",
      "status": "merged-into-51-feedback-service.js-and-61-form-service.js",
      "scope": [
        "notify service wiring",
        "dialog helpers",
        "UI.meta registrations"
      ]
    }
  ]
}
