@cratis/scene.blueprint.components 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/cjs/BorrowedComponentName.js.map +1 -1
  2. package/dist/cjs/ComponentName.js.map +1 -1
  3. package/dist/cjs/CompositeName.js.map +1 -1
  4. package/dist/cjs/componentsBlueprint.js.map +1 -1
  5. package/dist/cjs/componentsBlueprintComponents.js.map +1 -1
  6. package/dist/cjs/gallery/DialogTemplatePreview.js.map +1 -1
  7. package/dist/cjs/gallery/GalleryScreenPreview.js.map +1 -1
  8. package/dist/cjs/gallery/applicationChrome.js.map +1 -1
  9. package/dist/cjs/gallery/navigation.js.map +1 -1
  10. package/dist/cjs/gallery/previewProfile.js.map +1 -1
  11. package/dist/cjs/gallery/screens.js.map +1 -1
  12. package/dist/cjs/header/ArcPageHeader.js.map +1 -1
  13. package/dist/cjs/header/deriveArcHeading.js.map +1 -1
  14. package/dist/cjs/header/humanizeBindingName.js.map +1 -1
  15. package/dist/cjs/packageName.js.map +1 -1
  16. package/dist/cjs/templates/SampleBindingName.js.map +1 -1
  17. package/dist/cjs/templates/commandTemplates.js.map +1 -1
  18. package/dist/cjs/templates/dataElements.js.map +1 -1
  19. package/dist/cjs/templates/dialogElements.js.map +1 -1
  20. package/dist/cjs/templates/dialogTemplates.js.map +1 -1
  21. package/dist/cjs/templates/editorElements.js.map +1 -1
  22. package/dist/cjs/templates/editorTemplates.js.map +1 -1
  23. package/dist/cjs/templates/elements.js.map +1 -1
  24. package/dist/cjs/templates/formElements.js.map +1 -1
  25. package/dist/cjs/templates/listTemplates.js.map +1 -1
  26. package/dist/cjs/templates/nesting.js.map +1 -1
  27. package/dist/cjs/templates/sampleData.js.map +1 -1
  28. package/dist/cjs/templates/screenTemplates.js.map +1 -1
  29. package/dist/cjs/templates/workspaceTemplates.js.map +1 -1
  30. package/dist/esm/BorrowedComponentName.js.map +1 -1
  31. package/dist/esm/ComponentName.js.map +1 -1
  32. package/dist/esm/CompositeName.js.map +1 -1
  33. package/dist/esm/componentsBlueprint.js.map +1 -1
  34. package/dist/esm/componentsBlueprintComponents.js.map +1 -1
  35. package/dist/esm/gallery/DialogTemplatePreview.js.map +1 -1
  36. package/dist/esm/gallery/GalleryScreenPreview.js.map +1 -1
  37. package/dist/esm/gallery/applicationChrome.js.map +1 -1
  38. package/dist/esm/gallery/navigation.js.map +1 -1
  39. package/dist/esm/gallery/previewProfile.js.map +1 -1
  40. package/dist/esm/gallery/screens.js.map +1 -1
  41. package/dist/esm/header/ArcPageHeader.js.map +1 -1
  42. package/dist/esm/header/deriveArcHeading.js.map +1 -1
  43. package/dist/esm/header/humanizeBindingName.js.map +1 -1
  44. package/dist/esm/packageName.js.map +1 -1
  45. package/dist/esm/templates/SampleBindingName.js.map +1 -1
  46. package/dist/esm/templates/commandTemplates.js.map +1 -1
  47. package/dist/esm/templates/dataElements.js.map +1 -1
  48. package/dist/esm/templates/dialogElements.js.map +1 -1
  49. package/dist/esm/templates/dialogTemplates.js.map +1 -1
  50. package/dist/esm/templates/editorElements.js.map +1 -1
  51. package/dist/esm/templates/editorTemplates.js.map +1 -1
  52. package/dist/esm/templates/elements.js.map +1 -1
  53. package/dist/esm/templates/formElements.js.map +1 -1
  54. package/dist/esm/templates/listTemplates.js.map +1 -1
  55. package/dist/esm/templates/nesting.js.map +1 -1
  56. package/dist/esm/templates/sampleData.js.map +1 -1
  57. package/dist/esm/templates/screenTemplates.js.map +1 -1
  58. package/dist/esm/templates/workspaceTemplates.js.map +1 -1
  59. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"nesting.js","sources":["../../../templates/nesting.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate } from '@cratis/scene.model';\nimport { SlotName, TemplateSlotName } from '@cratis/scene.blueprint.default';\nimport { invoiceColumns, invoiceTableOptions, observableDataTable } from './dataElements';\nimport { filterPanel } from './editorElements';\nimport { arcPageHeader, page, toolbar, toolbarButton, toolbarSeparator } from './elements';\nimport { SampleBindingName } from './SampleBindingName';\n\n/**\n * A worked three-level chain, from the application layout down to one behavior.\n *\n * The nesting rule is one rule applied at every depth: a template names, in `fitsSlot`, a slot declared by\n * whatever contains it. A module's template fits the application layout's `content`; a feature's fits a\n * slot the module's declares; a slice's fits one the feature's declares. Nothing here is a special case\n * for a particular level, which is exactly why the hierarchy can be arbitrarily deep with no second\n * mechanism.\n *\n * The slot names are chosen so that each fitted name is declared by exactly one container in the chain -\n * `body` only by the module, `primary` only by the feature. That is not decoration: `resolveScreenTemplates`\n * places a template only when the containers in scope agree on exactly one home for it, and reports it as\n * unplaced rather than guessing when two of them declare the same name. A chain that reused `body` at\n * three levels would read fine and resolve to nothing.\n *\n * The whole chain is Arc-bound, which is the point of it living in *this* blueprint rather than being a\n * second copy of the default one's. It ends where a Cratis slice really ends: a button that summons the\n * command dialog.\n */\n\n/**\n * Module level: fits the application shell's `content` slot.\n *\n * A module always has a name and a description, so it brings its own header, and it offers a body for the\n * feature inside it plus a side panel for the filters that apply across the whole module.\n */\nexport const dataModulePageTemplate: ScreenTemplate = {\n name: 'DataModulePage',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Body }, { name: TemplateSlotName.SidePanel }],\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('module-header', {\n title: 'Billing',\n subtitle: 'Everything the billing module owns',\n section: 'Operations',\n }),\n ],\n [TemplateSlotName.SidePanel]: [page('module-filters', 'Filters', [filterPanel('module-filter-panel', 'Filter the module')])],\n },\n displayName: 'Data module page',\n description: 'Module level: fits the application layout content slot and offers a body for one feature.',\n};\n\n/**\n * Feature level: fits the module page's `body` slot.\n *\n * A feature is where actions belong - a module is a grouping and a slice is one behavior, and the feature\n * in between is what a user thinks of as \"the screen with the buttons on it\". It offers a primary region\n * for the slice and a secondary one for the live view of what that slice is doing.\n */\nexport const dataFeatureSectionTemplate: ScreenTemplate = {\n name: 'DataFeatureSection',\n fitsSlot: TemplateSlotName.Body,\n slots: [{ name: TemplateSlotName.Toolbar }, { name: TemplateSlotName.Primary }, { name: TemplateSlotName.Secondary }],\n content: {\n [TemplateSlotName.Toolbar]: [\n toolbar('feature-toolbar', [\n toolbarButton('feature-new', 'Register an invoice', 'pi pi-plus', 'New'),\n toolbarButton('feature-adjust', 'Record an adjustment', 'pi pi-pencil', 'Adjust'),\n toolbarSeparator('feature-separator'),\n toolbarButton('feature-export', 'Export the feature data', 'pi pi-download'),\n ]),\n ],\n [TemplateSlotName.Secondary]: [\n page('feature-live', 'In flight', [\n observableDataTable('feature-live-table', SampleBindingName.InvoicesInFlight, invoiceTableOptions, invoiceColumns),\n ]),\n ],\n },\n displayName: 'Data feature section',\n description: 'Feature level: fits a module page body slot, brings the action toolbar and a live view.',\n};\n\n/**\n * Slice level: fits the feature section's `primary` slot.\n *\n * The end of the chain, and deliberately the thinnest thing in it. A slice is one behavior, and in a\n * Cratis application that behavior is one command - so its surface is a header saying what the command is\n * and whether it is wired, and the action that summons it. The capture itself happens in the `CommandDialog`\n * dialog template, which is why this template has no form on it and does not need one.\n */\nexport const commandSliceSectionTemplate: ScreenTemplate = {\n name: 'CommandSliceSection',\n fitsSlot: TemplateSlotName.Primary,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Actions }],\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('slice-header', {\n title: 'Record an adjustment',\n subtitle: 'One behavior, one command, one button',\n section: 'Adjustments',\n command: SampleBindingName.RecordAdjustment,\n }),\n ],\n [TemplateSlotName.Actions]: [\n toolbar('slice-actions', [\n toolbarButton('slice-record', 'Record an adjustment', 'pi pi-check', 'Record'),\n toolbarButton('slice-cancel', 'Leave the invoice as it is', 'pi pi-times', 'Cancel'),\n ]),\n ],\n },\n displayName: 'Command slice section',\n description: 'Slice level: fits a feature section primary slot and hosts one command behavior.',\n};\n\n/** The chain, outermost first - what a spec walks to prove `fitsSlot` resolves at every level. */\nexport const nestingChainTemplates: ScreenTemplate[] = [dataModulePageTemplate, dataFeatureSectionTemplate, commandSliceSectionTemplate];\n"],"names":["dataModulePageTemplate","name","fitsSlot","SlotName","Content","slots","TemplateSlotName","Header","Body","SidePanel","content","arcPageHeader","title","subtitle","section","page","filterPanel","displayName","description","dataFeatureSectionTemplate","Toolbar","Primary","Secondary","toolbar","toolbarButton","toolbarSeparator","observableDataTable","SampleBindingName","InvoicesInFlight","invoiceTableOptions","invoiceColumns","commandSliceSectionTemplate","Actions","command","RecordAdjustment","nestingChainTemplates"],"mappings":"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"}
1
+ {"version":3,"file":"nesting.js","sources":["../../../templates/nesting.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate } from '@cratis/scene.model';\nimport { SlotName, TemplateSlotName } from '@cratis/scene.blueprint.default';\nimport { invoiceColumns, invoiceTableOptions, observableDataTable } from './dataElements';\nimport { filterPanel } from './editorElements';\nimport { arcPageHeader, page, toolbar, toolbarButton, toolbarSeparator } from './elements';\nimport { SampleBindingName } from './SampleBindingName';\n\n/**\n * A worked three-level chain, from the application layout down to one behavior.\n *\n * The nesting rule is one rule applied at every depth: a template names, in `fitsSlot`, a slot declared by\n * whatever contains it. A module's template fits the application layout's `content`; a feature's fits a\n * slot the module's declares; a slice's fits one the feature's declares. Nothing here is a special case\n * for a particular level, which is exactly why the hierarchy can be arbitrarily deep with no second\n * mechanism.\n *\n * The slot names are chosen so that each fitted name is declared by exactly one container in the chain -\n * `body` only by the module, `primary` only by the feature. That is not decoration: `resolveScreenTemplates`\n * places a template only when the containers in scope agree on exactly one home for it, and reports it as\n * unplaced rather than guessing when two of them declare the same name. A chain that reused `body` at\n * three levels would read fine and resolve to nothing.\n *\n * The whole chain is Arc-bound, which is the point of it living in *this* blueprint rather than being a\n * second copy of the default one's. It ends where a Cratis slice really ends: a button that summons the\n * command dialog.\n */\n\n/**\n * Module level: fits the application shell's `content` slot.\n *\n * A module always has a name and a description, so it brings its own header, and it offers a body for the\n * feature inside it plus a side panel for the filters that apply across the whole module.\n */\nexport const dataModulePageTemplate: ScreenTemplate = {\n name: 'DataModulePage',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Body }, { name: TemplateSlotName.SidePanel }],\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('module-header', {\n title: 'Billing',\n subtitle: 'Everything the billing module owns',\n section: 'Operations',\n }),\n ],\n [TemplateSlotName.SidePanel]: [page('module-filters', 'Filters', [filterPanel('module-filter-panel', 'Filter the module')])],\n },\n displayName: 'Data module page',\n description: 'Module level: fits the application layout content slot and offers a body for one feature.',\n};\n\n/**\n * Feature level: fits the module page's `body` slot.\n *\n * A feature is where actions belong - a module is a grouping and a slice is one behavior, and the feature\n * in between is what a user thinks of as \"the screen with the buttons on it\". It offers a primary region\n * for the slice and a secondary one for the live view of what that slice is doing.\n */\nexport const dataFeatureSectionTemplate: ScreenTemplate = {\n name: 'DataFeatureSection',\n fitsSlot: TemplateSlotName.Body,\n slots: [{ name: TemplateSlotName.Toolbar }, { name: TemplateSlotName.Primary }, { name: TemplateSlotName.Secondary }],\n content: {\n [TemplateSlotName.Toolbar]: [\n toolbar('feature-toolbar', [\n toolbarButton('feature-new', 'Register an invoice', 'pi pi-plus', 'New'),\n toolbarButton('feature-adjust', 'Record an adjustment', 'pi pi-pencil', 'Adjust'),\n toolbarSeparator('feature-separator'),\n toolbarButton('feature-export', 'Export the feature data', 'pi pi-download'),\n ]),\n ],\n [TemplateSlotName.Secondary]: [\n page('feature-live', 'In flight', [\n observableDataTable('feature-live-table', SampleBindingName.InvoicesInFlight, invoiceTableOptions, invoiceColumns),\n ]),\n ],\n },\n displayName: 'Data feature section',\n description: 'Feature level: fits a module page body slot, brings the action toolbar and a live view.',\n};\n\n/**\n * Slice level: fits the feature section's `primary` slot.\n *\n * The end of the chain, and deliberately the thinnest thing in it. A slice is one behavior, and in a\n * Cratis application that behavior is one command - so its surface is a header saying what the command is\n * and whether it is wired, and the action that summons it. The capture itself happens in the `CommandDialog`\n * dialog template, which is why this template has no form on it and does not need one.\n */\nexport const commandSliceSectionTemplate: ScreenTemplate = {\n name: 'CommandSliceSection',\n fitsSlot: TemplateSlotName.Primary,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Actions }],\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('slice-header', {\n title: 'Record an adjustment',\n subtitle: 'One behavior, one command, one button',\n section: 'Adjustments',\n command: SampleBindingName.RecordAdjustment,\n }),\n ],\n [TemplateSlotName.Actions]: [\n toolbar('slice-actions', [\n toolbarButton('slice-record', 'Record an adjustment', 'pi pi-check', 'Record'),\n toolbarButton('slice-cancel', 'Leave the invoice as it is', 'pi pi-times', 'Cancel'),\n ]),\n ],\n },\n displayName: 'Command slice section',\n description: 'Slice level: fits a feature section primary slot and hosts one command behavior.',\n};\n\n/** The chain, outermost first - what a spec walks to prove `fitsSlot` resolves at every level. */\nexport const nestingChainTemplates: ScreenTemplate[] = [dataModulePageTemplate, dataFeatureSectionTemplate, commandSliceSectionTemplate];\n"],"names":["dataModulePageTemplate","name","fitsSlot","SlotName","Content","slots","TemplateSlotName","Header","Body","SidePanel","content","arcPageHeader","title","subtitle","section","page","filterPanel","displayName","description","dataFeatureSectionTemplate","Toolbar","Primary","Secondary","toolbar","toolbarButton","toolbarSeparator","observableDataTable","SampleBindingName","InvoicesInFlight","invoiceTableOptions","invoiceColumns","commandSliceSectionTemplate","Actions","command","RecordAdjustment","nestingChainTemplates"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sampleData.js","sources":["../../../templates/sampleData.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * The seeded content the Arc-free composites in this package's templates render.\n *\n * There is a real split running through this blueprint, and it is worth naming rather than hiding. Most of\n * `@cratis/components` is Arc-bound: a data page, a table, a command form and a command dialog all need a\n * registered proxy and a live backend before they show anything, so at design time they are placeholders,\n * and that is correct.\n *\n * The editors are not. A schema editor, a document editor, a navigational bar and a time machine all take\n * their content from the property bag, so a template that seeds them renders as a working page with no\n * backend at all. That is why the editor templates carry this data: it makes two of this package's pages\n * genuinely usable in a preview, rather than eight pages of dashed boxes.\n *\n * The shape is an invoice throughout, matching the query and command names the other templates bind to, so\n * the whole package reads as one small application rather than eight unrelated demonstrations.\n */\n\n/** A JSON schema in the shape Chronicle emits for an event type - what `schemaEditor` edits. */\nexport const invoiceSchema: Record<string, unknown> = {\n title: 'InvoiceRegistered',\n type: 'object',\n properties: {\n number: { type: 'string', description: 'The invoice number as printed on the document.' },\n customer: { type: 'string', description: 'The customer the invoice is addressed to.' },\n issued: { type: 'string', format: 'date-time', description: 'When the invoice was issued.' },\n amount: { type: 'number', description: 'The gross amount, in the invoice currency.' },\n currency: { type: 'string', description: 'The ISO currency code.' },\n },\n};\n\n/** One invoice as a plain document - what `objectContentEditor` renders against {@link invoiceSchema}. */\nexport const invoiceDocument: Record<string, unknown> = {\n number: 'INV-2043',\n customer: 'Northwind Traders',\n issued: '2026-01-05T09:30:00Z',\n amount: 4200,\n currency: 'USD',\n};\n\n/** Where in the document the navigational bar currently is. */\nexport const invoiceNavigationPath: string[] = ['lines', 'shipping'];\n\n/**\n * Successive versions of the invoice, for the time machine.\n *\n * Every entry has an id, a label and a parseable timestamp, because the adapter drops any that does not -\n * a version invented at the epoch would not be a slightly wrong entry, it would silently reorder every\n * real one around it.\n */\nexport const invoiceVersions: Record<string, unknown>[] = [\n { id: 'v3', label: 'Adjustment recorded', timestamp: '2026-01-12T14:05:00Z', content: 'Amount reduced by 120.00 - damaged goods' },\n { id: 'v2', label: 'Approved', timestamp: '2026-01-07T08:15:00Z', content: 'Approved by Amelia Nyquist' },\n { id: 'v1', label: 'Registered', timestamp: '2026-01-05T09:30:00Z', content: 'Registered from the supplier portal' },\n];\n\n/** The filters the list templates offer, in the shape `filterPanel` reads. */\nexport const invoiceFilters: Record<string, unknown>[] = [\n {\n key: 'status',\n label: 'Status',\n type: 'string',\n multi: true,\n options: [\n { key: 'draft', label: 'Draft', count: 12 },\n { key: 'approved', label: 'Approved', count: 44 },\n { key: 'paid', label: 'Paid', count: 108 },\n ],\n },\n { key: 'amount', label: 'Amount', type: 'number', buckets: 4 },\n { key: 'issued', label: 'Issued', type: 'date' },\n];\n\n/** The status choices a command form's dropdown offers. */\nexport const statusOptions: { label: string; value: string }[] = [\n { label: 'Draft', value: 'draft' },\n { label: 'Approved', value: 'approved' },\n { label: 'Paid', value: 'paid' },\n];\n"],"names":["invoiceSchema","title","type","properties","number","description","customer","issued","format","amount","currency","invoiceDocument","invoiceNavigationPath","invoiceVersions","id","label","timestamp","content","invoiceFilters","key","multi","options","count","buckets","statusOptions","value"],"mappings":"AAAA;AACA;AAEA;;;;;;;;;;;;;;;AAeC,qGAGM,MAAMA,aAAAA,GAAyC;IAClDC,KAAAA,EAAO,mBAAA;IACPC,IAAAA,EAAM,QAAA;IACNC,UAAAA,EAAY;QACRC,MAAAA,EAAQ;YAAEF,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAAiD,SAAA;QACxFC,QAAAA,EAAU;YAAEJ,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAA4C,SAAA;QACrFE,MAAAA,EAAQ;YAAEL,IAAAA,EAAM,QAAA;YAAUM,MAAAA,EAAQ,WAAA;YAAaH,WAAAA,EAAa;AAA+B,SAAA;QAC3FI,MAAAA,EAAQ;YAAEP,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAA6C,SAAA;QACpFK,QAAAA,EAAU;YAAER,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAAyB;AACtE;AACJ;AAEA,2GACO,MAAMM,eAAAA,GAA2C;IACpDP,MAAAA,EAAQ,UAAA;IACRE,QAAAA,EAAU,mBAAA;IACVC,MAAAA,EAAQ,sBAAA;IACRE,MAAAA,EAAQ,IAAA;IACRC,QAAAA,EAAU;AACd;AAEA,gEACO,MAAME,qBAAAA,GAAkC;AAAC,IAAA,OAAA;AAAS,IAAA;;AAEzD;;;;;;UAOaC,eAAAA,GAA6C;AACtD,IAAA;QAAEC,EAAAA,EAAI,IAAA;QAAMC,KAAAA,EAAO,qBAAA;QAAuBC,SAAAA,EAAW,sBAAA;QAAwBC,OAAAA,EAAS;AAA2C,KAAA;AACjI,IAAA;QAAEH,EAAAA,EAAI,IAAA;QAAMC,KAAAA,EAAO,UAAA;QAAYC,SAAAA,EAAW,sBAAA;QAAwBC,OAAAA,EAAS;AAA6B,KAAA;AACxG,IAAA;QAAEH,EAAAA,EAAI,IAAA;QAAMC,KAAAA,EAAO,YAAA;QAAcC,SAAAA,EAAW,sBAAA;QAAwBC,OAAAA,EAAS;AAAsC;;AAGvH,+EACO,MAAMC,cAAAA,GAA4C;AACrD,IAAA;QACIC,GAAAA,EAAK,QAAA;QACLJ,KAAAA,EAAO,QAAA;QACPb,IAAAA,EAAM,QAAA;QACNkB,KAAAA,EAAO,IAAA;QACPC,OAAAA,EAAS;AACL,YAAA;gBAAEF,GAAAA,EAAK,OAAA;gBAASJ,KAAAA,EAAO,OAAA;gBAASO,KAAAA,EAAO;AAAG,aAAA;AAC1C,YAAA;gBAAEH,GAAAA,EAAK,UAAA;gBAAYJ,KAAAA,EAAO,UAAA;gBAAYO,KAAAA,EAAO;AAAG,aAAA;AAChD,YAAA;gBAAEH,GAAAA,EAAK,MAAA;gBAAQJ,KAAAA,EAAO,MAAA;gBAAQO,KAAAA,EAAO;AAAI;AAC5C;AACL,KAAA;AACA,IAAA;QAAEH,GAAAA,EAAK,QAAA;QAAUJ,KAAAA,EAAO,QAAA;QAAUb,IAAAA,EAAM,QAAA;QAAUqB,OAAAA,EAAS;AAAE,KAAA;AAC7D,IAAA;QAAEJ,GAAAA,EAAK,QAAA;QAAUJ,KAAAA,EAAO,QAAA;QAAUb,IAAAA,EAAM;AAAO;;AAGnD,4DACO,MAAMsB,aAAAA,GAAoD;AAC7D,IAAA;QAAET,KAAAA,EAAO,OAAA;QAASU,KAAAA,EAAO;AAAQ,KAAA;AACjC,IAAA;QAAEV,KAAAA,EAAO,UAAA;QAAYU,KAAAA,EAAO;AAAW,KAAA;AACvC,IAAA;QAAEV,KAAAA,EAAO,MAAA;QAAQU,KAAAA,EAAO;AAAO;;;;;"}
1
+ {"version":3,"file":"sampleData.js","sources":["../../../templates/sampleData.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * The seeded content the Arc-free composites in this package's templates render.\n *\n * There is a real split running through this blueprint, and it is worth naming rather than hiding. Most of\n * `@cratis/components` is Arc-bound: a data page, a table, a command form and a command dialog all need a\n * registered proxy and a live backend before they show anything, so at design time they are placeholders,\n * and that is correct.\n *\n * The editors are not. A schema editor, a document editor, a navigational bar and a time machine all take\n * their content from the property bag, so a template that seeds them renders as a working page with no\n * backend at all. That is why the editor templates carry this data: it makes two of this package's pages\n * genuinely usable in a preview, rather than eight pages of dashed boxes.\n *\n * The shape is an invoice throughout, matching the query and command names the other templates bind to, so\n * the whole package reads as one small application rather than eight unrelated demonstrations.\n */\n\n/** A JSON schema in the shape Chronicle emits for an event type - what `schemaEditor` edits. */\nexport const invoiceSchema: Record<string, unknown> = {\n title: 'InvoiceRegistered',\n type: 'object',\n properties: {\n number: { type: 'string', description: 'The invoice number as printed on the document.' },\n customer: { type: 'string', description: 'The customer the invoice is addressed to.' },\n issued: { type: 'string', format: 'date-time', description: 'When the invoice was issued.' },\n amount: { type: 'number', description: 'The gross amount, in the invoice currency.' },\n currency: { type: 'string', description: 'The ISO currency code.' },\n },\n};\n\n/** One invoice as a plain document - what `objectContentEditor` renders against {@link invoiceSchema}. */\nexport const invoiceDocument: Record<string, unknown> = {\n number: 'INV-2043',\n customer: 'Northwind Traders',\n issued: '2026-01-05T09:30:00Z',\n amount: 4200,\n currency: 'USD',\n};\n\n/** Where in the document the navigational bar currently is. */\nexport const invoiceNavigationPath: string[] = ['lines', 'shipping'];\n\n/**\n * Successive versions of the invoice, for the time machine.\n *\n * Every entry has an id, a label and a parseable timestamp, because the adapter drops any that does not -\n * a version invented at the epoch would not be a slightly wrong entry, it would silently reorder every\n * real one around it.\n */\nexport const invoiceVersions: Record<string, unknown>[] = [\n { id: 'v3', label: 'Adjustment recorded', timestamp: '2026-01-12T14:05:00Z', content: 'Amount reduced by 120.00 - damaged goods' },\n { id: 'v2', label: 'Approved', timestamp: '2026-01-07T08:15:00Z', content: 'Approved by Amelia Nyquist' },\n { id: 'v1', label: 'Registered', timestamp: '2026-01-05T09:30:00Z', content: 'Registered from the supplier portal' },\n];\n\n/** The filters the list templates offer, in the shape `filterPanel` reads. */\nexport const invoiceFilters: Record<string, unknown>[] = [\n {\n key: 'status',\n label: 'Status',\n type: 'string',\n multi: true,\n options: [\n { key: 'draft', label: 'Draft', count: 12 },\n { key: 'approved', label: 'Approved', count: 44 },\n { key: 'paid', label: 'Paid', count: 108 },\n ],\n },\n { key: 'amount', label: 'Amount', type: 'number', buckets: 4 },\n { key: 'issued', label: 'Issued', type: 'date' },\n];\n\n/** The status choices a command form's dropdown offers. */\nexport const statusOptions: { label: string; value: string }[] = [\n { label: 'Draft', value: 'draft' },\n { label: 'Approved', value: 'approved' },\n { label: 'Paid', value: 'paid' },\n];\n"],"names":["invoiceSchema","title","type","properties","number","description","customer","issued","format","amount","currency","invoiceDocument","invoiceNavigationPath","invoiceVersions","id","label","timestamp","content","invoiceFilters","key","multi","options","count","buckets","statusOptions","value"],"mappings":"AAAA;AACA;AAEA;;;;;;;;;;;;;;;AAeC,qGAGM,MAAMA,aAAAA,GAAyC;IAClDC,KAAAA,EAAO,mBAAA;IACPC,IAAAA,EAAM,QAAA;IACNC,UAAAA,EAAY;QACRC,MAAAA,EAAQ;YAAEF,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAAiD,SAAA;QACxFC,QAAAA,EAAU;YAAEJ,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAA4C,SAAA;QACrFE,MAAAA,EAAQ;YAAEL,IAAAA,EAAM,QAAA;YAAUM,MAAAA,EAAQ,WAAA;YAAaH,WAAAA,EAAa;AAA+B,SAAA;QAC3FI,MAAAA,EAAQ;YAAEP,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAA6C,SAAA;QACpFK,QAAAA,EAAU;YAAER,IAAAA,EAAM,QAAA;YAAUG,WAAAA,EAAa;AAAyB;AACtE;AACJ;AAEA,2GACO,MAAMM,eAAAA,GAA2C;IACpDP,MAAAA,EAAQ,UAAA;IACRE,QAAAA,EAAU,mBAAA;IACVC,MAAAA,EAAQ,sBAAA;IACRE,MAAAA,EAAQ,IAAA;IACRC,QAAAA,EAAU;AACd;AAEA,gEACO,MAAME,qBAAAA,GAAkC;AAAC,IAAA,OAAA;AAAS,IAAA;;AAEzD;;;;;;UAOaC,eAAAA,GAA6C;AACtD,IAAA;QAAEC,EAAAA,EAAI,IAAA;QAAMC,KAAAA,EAAO,qBAAA;QAAuBC,SAAAA,EAAW,sBAAA;QAAwBC,OAAAA,EAAS;AAA2C,KAAA;AACjI,IAAA;QAAEH,EAAAA,EAAI,IAAA;QAAMC,KAAAA,EAAO,UAAA;QAAYC,SAAAA,EAAW,sBAAA;QAAwBC,OAAAA,EAAS;AAA6B,KAAA;AACxG,IAAA;QAAEH,EAAAA,EAAI,IAAA;QAAMC,KAAAA,EAAO,YAAA;QAAcC,SAAAA,EAAW,sBAAA;QAAwBC,OAAAA,EAAS;AAAsC;;AAGvH,+EACO,MAAMC,cAAAA,GAA4C;AACrD,IAAA;QACIC,GAAAA,EAAK,QAAA;QACLJ,KAAAA,EAAO,QAAA;QACPb,IAAAA,EAAM,QAAA;QACNkB,KAAAA,EAAO,IAAA;QACPC,OAAAA,EAAS;AACL,YAAA;gBAAEF,GAAAA,EAAK,OAAA;gBAASJ,KAAAA,EAAO,OAAA;gBAASO,KAAAA,EAAO;AAAG,aAAA;AAC1C,YAAA;gBAAEH,GAAAA,EAAK,UAAA;gBAAYJ,KAAAA,EAAO,UAAA;gBAAYO,KAAAA,EAAO;AAAG,aAAA;AAChD,YAAA;gBAAEH,GAAAA,EAAK,MAAA;gBAAQJ,KAAAA,EAAO,MAAA;gBAAQO,KAAAA,EAAO;AAAI;AAC5C;AACL,KAAA;AACA,IAAA;QAAEH,GAAAA,EAAK,QAAA;QAAUJ,KAAAA,EAAO,QAAA;QAAUb,IAAAA,EAAM,QAAA;QAAUqB,OAAAA,EAAS;AAAE,KAAA;AAC7D,IAAA;QAAEJ,GAAAA,EAAK,QAAA;QAAUJ,KAAAA,EAAO,QAAA;QAAUb,IAAAA,EAAM;AAAO;;AAGnD,4DACO,MAAMsB,aAAAA,GAAoD;AAC7D,IAAA;QAAET,KAAAA,EAAO,OAAA;QAASU,KAAAA,EAAO;AAAQ,KAAA;AACjC,IAAA;QAAEV,KAAAA,EAAO,UAAA;QAAYU,KAAAA,EAAO;AAAW,KAAA;AACvC,IAAA;QAAEV,KAAAA,EAAO,MAAA;QAAQU,KAAAA,EAAO;AAAO;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenTemplates.js","sources":["../../../templates/screenTemplates.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate } from '@cratis/scene.model';\nimport { commandTemplates } from './commandTemplates';\nimport { editorTemplates } from './editorTemplates';\nimport { listTemplates } from './listTemplates';\nimport { nestingChainTemplates } from './nesting';\nimport { workspaceTemplates } from './workspaceTemplates';\n\n/**\n * The screen templates this blueprint provides.\n *\n * Eight whole pages that fill the application shell's `content` slot, plus the three-level chain that\n * demonstrates how `fitsSlot` composes at module, feature and slice level. The list is what the manifest's\n * `screenTemplates` names and what the bundle provides; `validatePackageBundle` proves the two agree.\n */\nexport const componentsScreenTemplates: ScreenTemplate[] = [\n ...listTemplates,\n ...workspaceTemplates,\n ...commandTemplates,\n ...editorTemplates,\n ...nestingChainTemplates,\n];\n\n/**\n * The eight templates that fill the application layout's own `content` slot directly.\n *\n * Kept apart from the nesting chain because `fitsSlot` is resolved against *the containers in scope*, and\n * these two groups are never in scope together. Each of these is a whole page an application places on its\n * own; the chain's three are one page assembled from three levels. Resolving them as one set would ask\n * `resolveScreenTemplates` which of eight `body`-declaring templates the feature section belongs to, and it\n * would rightly answer that it cannot tell.\n */\nexport const componentsPageTemplates: ScreenTemplate[] = [...listTemplates, ...workspaceTemplates, ...commandTemplates, ...editorTemplates];\n"],"names":["componentsScreenTemplates","listTemplates","workspaceTemplates","commandTemplates","editorTemplates","nestingChainTemplates","componentsPageTemplates"],"mappings":";;;;;;AAAA;AACA;AASA;;;;;;UAOaA,yBAAAA,GAA8C;AACpDC,IAAAA,GAAAA,aAAAA;AACAC,IAAAA,GAAAA,kBAAAA;AACAC,IAAAA,GAAAA,gBAAAA;AACAC,IAAAA,GAAAA,eAAAA;AACAC,IAAAA,GAAAA;;AAGP;;;;;;;;UASaC,uBAAAA,GAA4C;AAAIL,IAAAA,GAAAA,aAAAA;AAAkBC,IAAAA,GAAAA,kBAAAA;AAAuBC,IAAAA,GAAAA,gBAAAA;AAAqBC,IAAAA,GAAAA;;;;;"}
1
+ {"version":3,"file":"screenTemplates.js","sources":["../../../templates/screenTemplates.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate } from '@cratis/scene.model';\nimport { commandTemplates } from './commandTemplates';\nimport { editorTemplates } from './editorTemplates';\nimport { listTemplates } from './listTemplates';\nimport { nestingChainTemplates } from './nesting';\nimport { workspaceTemplates } from './workspaceTemplates';\n\n/**\n * The screen templates this blueprint provides.\n *\n * Eight whole pages that fill the application shell's `content` slot, plus the three-level chain that\n * demonstrates how `fitsSlot` composes at module, feature and slice level. The list is what the manifest's\n * `screenTemplates` names and what the bundle provides; `validatePackageBundle` proves the two agree.\n */\nexport const componentsScreenTemplates: ScreenTemplate[] = [\n ...listTemplates,\n ...workspaceTemplates,\n ...commandTemplates,\n ...editorTemplates,\n ...nestingChainTemplates,\n];\n\n/**\n * The eight templates that fill the application layout's own `content` slot directly.\n *\n * Kept apart from the nesting chain because `fitsSlot` is resolved against *the containers in scope*, and\n * these two groups are never in scope together. Each of these is a whole page an application places on its\n * own; the chain's three are one page assembled from three levels. Resolving them as one set would ask\n * `resolveScreenTemplates` which of eight `body`-declaring templates the feature section belongs to, and it\n * would rightly answer that it cannot tell.\n */\nexport const componentsPageTemplates: ScreenTemplate[] = [...listTemplates, ...workspaceTemplates, ...commandTemplates, ...editorTemplates];\n"],"names":["componentsScreenTemplates","listTemplates","workspaceTemplates","commandTemplates","editorTemplates","nestingChainTemplates","componentsPageTemplates"],"mappings":";;;;;;AAAA;AACA;AASA;;;;;;UAOaA,yBAAAA,GAA8C;AACpDC,IAAAA,GAAAA,aAAAA;AACAC,IAAAA,GAAAA,kBAAAA;AACAC,IAAAA,GAAAA,gBAAAA;AACAC,IAAAA,GAAAA,eAAAA;AACAC,IAAAA,GAAAA;;AAGP;;;;;;;;UASaC,uBAAAA,GAA4C;AAAIL,IAAAA,GAAAA,aAAAA;AAAkBC,IAAAA,GAAAA,kBAAAA;AAAuBC,IAAAA,GAAAA,gBAAAA;AAAqBC,IAAAA,GAAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceTemplates.js","sources":["../../../templates/workspaceTemplates.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate, WidthSizeClass } from '@cratis/scene.model';\nimport { SlotName, TemplateSlotName, column, grid, slotLeaf } from '@cratis/scene.blueprint.default';\nimport { ColumnDefinition } from './ColumnDefinition';\nimport { adjustmentColumns, dataTable, invoiceColumns, invoiceTableOptions, observableDataTable } from './dataElements';\nimport { objectContentEditor, timeMachine } from './editorElements';\nimport { arcPageHeader, page } from './elements';\nimport { SampleBindingName } from './SampleBindingName';\nimport { TableOptions } from './TableOptions';\n\n/**\n * The two whole-workspace shapes: a master-detail arrangement, and a dashboard of data widgets.\n *\n * Both are arrangements of *several* bindings rather than one, which is what separates them from the list\n * templates. That is also what makes them the templates most worth shipping: an application can wire one\n * query without help, and gets a page that looks like every other page in the product only if something\n * has already decided how four of them sit together.\n */\n\n/** The columns of the revenue widget's query. */\nconst revenueColumns: ColumnDefinition[] = [\n { field: 'month', header: 'Month' },\n { field: 'invoiced', header: 'Invoiced' },\n { field: 'collected', header: 'Collected' },\n];\n\n/** The columns of the open-tickets widget's query. */\nconst ticketColumns: ColumnDefinition[] = [\n { field: 'reference', header: 'Reference' },\n { field: 'subject', header: 'Subject' },\n { field: 'age', header: 'Age' },\n];\n\n/** Table options for a widget-sized table, where there is no search box to filter across. */\nconst widgetTableOptions: TableOptions = { emptyMessage: 'Nothing to show yet', dataKey: 'id' };\n\n/**\n * Master and detail: the list in the larger column, the selected record in the narrower one.\n *\n * The difference from `DataListWithDetailPage` is real and worth having both. That template is a whole\n * `dataPage` - its own title bar, menubar and filtering - with a detail region added beside it. This one is\n * a plain `dataTable` next to a detail region, which is the right shape when the page's chrome comes from\n * the *feature* around it rather than from the list itself. Reaching for the wrong one shows up as a page\n * with two toolbars.\n *\n * The grid collapses to a single column at a compact width, because a master and a detail side by side on a\n * phone is the arrangement that made \"master-detail does not work on mobile\" a truism.\n */\nexport const masterDetailPageTemplate: ScreenTemplate = {\n name: 'MasterDetailPage',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Primary }, { name: TemplateSlotName.Secondary }],\n arrangement: {\n root: column([slotLeaf(TemplateSlotName.Header), grid([slotLeaf(TemplateSlotName.Primary, { span: 2 }), slotLeaf(TemplateSlotName.Secondary)], 3, 16)]),\n overrides: [\n {\n width: WidthSizeClass.Compact,\n root: column([slotLeaf(TemplateSlotName.Header), slotLeaf(TemplateSlotName.Primary), slotLeaf(TemplateSlotName.Secondary)], 16),\n },\n ],\n },\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('master-detail-header', {\n title: 'Invoices',\n subtitle: 'Pick an invoice on the left to inspect it on the right',\n section: 'Billing',\n query: SampleBindingName.AllInvoices,\n }),\n ],\n [TemplateSlotName.Primary]: [\n page('master-detail-master', 'Invoices', [dataTable('master-detail-table', SampleBindingName.AllInvoices, invoiceTableOptions, invoiceColumns)]),\n ],\n [TemplateSlotName.Secondary]: [\n page('master-detail-detail', 'Selected invoice', [\n objectContentEditor('master-detail-document', false),\n timeMachine('master-detail-history'),\n ]),\n ],\n },\n displayName: 'Master-detail page',\n description: 'A queried list in the larger column with the selected record and its history in the narrower one.',\n};\n\n/**\n * A dashboard of data widgets - four queries arranged so the page reads in the order people already read it.\n *\n * The composition is the one every template line settles on: a row of figures across the top, then a wide\n * column and a narrow one. Copying it is the point rather than a shortcut - it is the arrangement the eye\n * already knows how to scan, and a dashboard that invents its own costs the reader a moment on every visit.\n *\n * What this blueprint adds is that every widget is a *query*, not a picture. Each one names a proxy a host\n * registers, so the dashboard is live the moment the application wires it, with nothing to replace.\n */\nexport const dashboardPageTemplate: ScreenTemplate = {\n name: 'DashboardPage',\n fitsSlot: SlotName.Content,\n slots: [\n { name: TemplateSlotName.Header },\n { name: TemplateSlotName.Stats },\n { name: TemplateSlotName.Primary },\n { name: TemplateSlotName.Secondary },\n ],\n arrangement: {\n root: column([\n slotLeaf(TemplateSlotName.Header),\n slotLeaf(TemplateSlotName.Stats),\n grid([slotLeaf(TemplateSlotName.Primary, { span: 2 }), slotLeaf(TemplateSlotName.Secondary)], 3, 16),\n ]),\n overrides: [\n {\n width: WidthSizeClass.Compact,\n root: column(\n [\n slotLeaf(TemplateSlotName.Header),\n slotLeaf(TemplateSlotName.Stats),\n slotLeaf(TemplateSlotName.Primary),\n slotLeaf(TemplateSlotName.Secondary),\n ],\n 16,\n ),\n },\n ],\n },\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('dashboard-header', {\n title: 'Billing',\n subtitle: 'Four queries, arranged the way people already read a dashboard',\n section: 'Operations',\n query: SampleBindingName.RevenueByMonth,\n }),\n ],\n [TemplateSlotName.Stats]: [\n page('dashboard-stat-revenue', 'Revenue by month', [\n dataTable('dashboard-stat-revenue-table', SampleBindingName.RevenueByMonth, widgetTableOptions, revenueColumns),\n ]),\n page('dashboard-stat-flight', 'In flight', [\n observableDataTable('dashboard-stat-flight-table', SampleBindingName.InvoicesInFlight, widgetTableOptions, invoiceColumns),\n ]),\n page('dashboard-stat-tickets', 'Open tickets', [\n dataTable('dashboard-stat-tickets-table', SampleBindingName.OpenTickets, widgetTableOptions, ticketColumns),\n ]),\n ],\n [TemplateSlotName.Primary]: [\n page('dashboard-invoices', 'Recent invoices', [\n dataTable('dashboard-invoices-table', SampleBindingName.AllInvoices, invoiceTableOptions, invoiceColumns),\n ]),\n ],\n [TemplateSlotName.Secondary]: [\n page('dashboard-adjustments', 'Adjustments', [\n dataTable('dashboard-adjustments-table', SampleBindingName.AllAdjustments, widgetTableOptions, adjustmentColumns),\n ]),\n ],\n },\n displayName: 'Dashboard page',\n description: 'A row of query-backed widgets over a wide and a narrow column, each bound to its own query.',\n};\n\n/** The two workspace-shaped templates. */\nexport const workspaceTemplates: ScreenTemplate[] = [masterDetailPageTemplate, dashboardPageTemplate];\n"],"names":["revenueColumns","field","header","ticketColumns","widgetTableOptions","emptyMessage","dataKey","masterDetailPageTemplate","name","fitsSlot","SlotName","Content","slots","TemplateSlotName","Header","Primary","Secondary","arrangement","root","column","slotLeaf","grid","span","overrides","width","WidthSizeClass","Compact","content","arcPageHeader","title","subtitle","section","query","SampleBindingName","AllInvoices","page","dataTable","invoiceTableOptions","invoiceColumns","objectContentEditor","timeMachine","displayName","description","dashboardPageTemplate","Stats","RevenueByMonth","observableDataTable","InvoicesInFlight","OpenTickets","AllAdjustments","adjustmentColumns","workspaceTemplates"],"mappings":"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"}
1
+ {"version":3,"file":"workspaceTemplates.js","sources":["../../../templates/workspaceTemplates.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate, WidthSizeClass } from '@cratis/scene.model';\nimport { SlotName, TemplateSlotName, column, grid, slotLeaf } from '@cratis/scene.blueprint.default';\nimport { ColumnDefinition } from './ColumnDefinition';\nimport { adjustmentColumns, dataTable, invoiceColumns, invoiceTableOptions, observableDataTable } from './dataElements';\nimport { objectContentEditor, timeMachine } from './editorElements';\nimport { arcPageHeader, page } from './elements';\nimport { SampleBindingName } from './SampleBindingName';\nimport { TableOptions } from './TableOptions';\n\n/**\n * The two whole-workspace shapes: a master-detail arrangement, and a dashboard of data widgets.\n *\n * Both are arrangements of *several* bindings rather than one, which is what separates them from the list\n * templates. That is also what makes them the templates most worth shipping: an application can wire one\n * query without help, and gets a page that looks like every other page in the product only if something\n * has already decided how four of them sit together.\n */\n\n/** The columns of the revenue widget's query. */\nconst revenueColumns: ColumnDefinition[] = [\n { field: 'month', header: 'Month' },\n { field: 'invoiced', header: 'Invoiced' },\n { field: 'collected', header: 'Collected' },\n];\n\n/** The columns of the open-tickets widget's query. */\nconst ticketColumns: ColumnDefinition[] = [\n { field: 'reference', header: 'Reference' },\n { field: 'subject', header: 'Subject' },\n { field: 'age', header: 'Age' },\n];\n\n/** Table options for a widget-sized table, where there is no search box to filter across. */\nconst widgetTableOptions: TableOptions = { emptyMessage: 'Nothing to show yet', dataKey: 'id' };\n\n/**\n * Master and detail: the list in the larger column, the selected record in the narrower one.\n *\n * The difference from `DataListWithDetailPage` is real and worth having both. That template is a whole\n * `dataPage` - its own title bar, menubar and filtering - with a detail region added beside it. This one is\n * a plain `dataTable` next to a detail region, which is the right shape when the page's chrome comes from\n * the *feature* around it rather than from the list itself. Reaching for the wrong one shows up as a page\n * with two toolbars.\n *\n * The grid collapses to a single column at a compact width, because a master and a detail side by side on a\n * phone is the arrangement that made \"master-detail does not work on mobile\" a truism.\n */\nexport const masterDetailPageTemplate: ScreenTemplate = {\n name: 'MasterDetailPage',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Primary }, { name: TemplateSlotName.Secondary }],\n arrangement: {\n root: column([slotLeaf(TemplateSlotName.Header), grid([slotLeaf(TemplateSlotName.Primary, { span: 2 }), slotLeaf(TemplateSlotName.Secondary)], 3, 16)]),\n overrides: [\n {\n width: WidthSizeClass.Compact,\n root: column([slotLeaf(TemplateSlotName.Header), slotLeaf(TemplateSlotName.Primary), slotLeaf(TemplateSlotName.Secondary)], 16),\n },\n ],\n },\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('master-detail-header', {\n title: 'Invoices',\n subtitle: 'Pick an invoice on the left to inspect it on the right',\n section: 'Billing',\n query: SampleBindingName.AllInvoices,\n }),\n ],\n [TemplateSlotName.Primary]: [\n page('master-detail-master', 'Invoices', [dataTable('master-detail-table', SampleBindingName.AllInvoices, invoiceTableOptions, invoiceColumns)]),\n ],\n [TemplateSlotName.Secondary]: [\n page('master-detail-detail', 'Selected invoice', [\n objectContentEditor('master-detail-document', false),\n timeMachine('master-detail-history'),\n ]),\n ],\n },\n displayName: 'Master-detail page',\n description: 'A queried list in the larger column with the selected record and its history in the narrower one.',\n};\n\n/**\n * A dashboard of data widgets - four queries arranged so the page reads in the order people already read it.\n *\n * The composition is the one every template line settles on: a row of figures across the top, then a wide\n * column and a narrow one. Copying it is the point rather than a shortcut - it is the arrangement the eye\n * already knows how to scan, and a dashboard that invents its own costs the reader a moment on every visit.\n *\n * What this blueprint adds is that every widget is a *query*, not a picture. Each one names a proxy a host\n * registers, so the dashboard is live the moment the application wires it, with nothing to replace.\n */\nexport const dashboardPageTemplate: ScreenTemplate = {\n name: 'DashboardPage',\n fitsSlot: SlotName.Content,\n slots: [\n { name: TemplateSlotName.Header },\n { name: TemplateSlotName.Stats },\n { name: TemplateSlotName.Primary },\n { name: TemplateSlotName.Secondary },\n ],\n arrangement: {\n root: column([\n slotLeaf(TemplateSlotName.Header),\n slotLeaf(TemplateSlotName.Stats),\n grid([slotLeaf(TemplateSlotName.Primary, { span: 2 }), slotLeaf(TemplateSlotName.Secondary)], 3, 16),\n ]),\n overrides: [\n {\n width: WidthSizeClass.Compact,\n root: column(\n [\n slotLeaf(TemplateSlotName.Header),\n slotLeaf(TemplateSlotName.Stats),\n slotLeaf(TemplateSlotName.Primary),\n slotLeaf(TemplateSlotName.Secondary),\n ],\n 16,\n ),\n },\n ],\n },\n content: {\n [TemplateSlotName.Header]: [\n arcPageHeader('dashboard-header', {\n title: 'Billing',\n subtitle: 'Four queries, arranged the way people already read a dashboard',\n section: 'Operations',\n query: SampleBindingName.RevenueByMonth,\n }),\n ],\n [TemplateSlotName.Stats]: [\n page('dashboard-stat-revenue', 'Revenue by month', [\n dataTable('dashboard-stat-revenue-table', SampleBindingName.RevenueByMonth, widgetTableOptions, revenueColumns),\n ]),\n page('dashboard-stat-flight', 'In flight', [\n observableDataTable('dashboard-stat-flight-table', SampleBindingName.InvoicesInFlight, widgetTableOptions, invoiceColumns),\n ]),\n page('dashboard-stat-tickets', 'Open tickets', [\n dataTable('dashboard-stat-tickets-table', SampleBindingName.OpenTickets, widgetTableOptions, ticketColumns),\n ]),\n ],\n [TemplateSlotName.Primary]: [\n page('dashboard-invoices', 'Recent invoices', [\n dataTable('dashboard-invoices-table', SampleBindingName.AllInvoices, invoiceTableOptions, invoiceColumns),\n ]),\n ],\n [TemplateSlotName.Secondary]: [\n page('dashboard-adjustments', 'Adjustments', [\n dataTable('dashboard-adjustments-table', SampleBindingName.AllAdjustments, widgetTableOptions, adjustmentColumns),\n ]),\n ],\n },\n displayName: 'Dashboard page',\n description: 'A row of query-backed widgets over a wide and a narrow column, each bound to its own query.',\n};\n\n/** The two workspace-shaped templates. */\nexport const workspaceTemplates: ScreenTemplate[] = [masterDetailPageTemplate, dashboardPageTemplate];\n"],"names":["revenueColumns","field","header","ticketColumns","widgetTableOptions","emptyMessage","dataKey","masterDetailPageTemplate","name","fitsSlot","SlotName","Content","slots","TemplateSlotName","Header","Primary","Secondary","arrangement","root","column","slotLeaf","grid","span","overrides","width","WidthSizeClass","Compact","content","arcPageHeader","title","subtitle","section","query","SampleBindingName","AllInvoices","page","dataTable","invoiceTableOptions","invoiceColumns","objectContentEditor","timeMachine","displayName","description","dashboardPageTemplate","Stats","RevenueByMonth","observableDataTable","InvoicesInFlight","OpenTickets","AllAdjustments","adjustmentColumns","workspaceTemplates"],"mappings":"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"}