@revenexx/studio-shared 0.3.2 → 0.4.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 (166) hide show
  1. package/dist/module.d.mts +6 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +12 -1
  4. package/dist/runtime/components/Dashboard/DashboardConfirmDialog.d.vue.ts +16 -0
  5. package/dist/runtime/components/Dashboard/DashboardConfirmDialog.vue +39 -0
  6. package/dist/runtime/components/Dashboard/DashboardConfirmDialog.vue.d.ts +16 -0
  7. package/dist/runtime/components/Dashboard/DashboardControls.d.vue.ts +58 -0
  8. package/dist/runtime/components/Dashboard/DashboardControls.vue +209 -0
  9. package/dist/runtime/components/Dashboard/DashboardControls.vue.d.ts +58 -0
  10. package/dist/runtime/components/Dashboard/DashboardGrid.d.vue.ts +17 -0
  11. package/dist/runtime/components/Dashboard/DashboardGrid.vue +87 -0
  12. package/dist/runtime/components/Dashboard/DashboardGrid.vue.d.ts +17 -0
  13. package/dist/runtime/components/Dashboard/DashboardNameDialog.d.vue.ts +19 -0
  14. package/dist/runtime/components/Dashboard/DashboardNameDialog.vue +61 -0
  15. package/dist/runtime/components/Dashboard/DashboardNameDialog.vue.d.ts +19 -0
  16. package/dist/runtime/components/Dashboard/DashboardPickerDialog.d.vue.ts +15 -0
  17. package/dist/runtime/components/Dashboard/DashboardPickerDialog.vue +100 -0
  18. package/dist/runtime/components/Dashboard/DashboardPickerDialog.vue.d.ts +15 -0
  19. package/dist/runtime/components/Dashboard/DashboardShareDialog.d.vue.ts +28 -0
  20. package/dist/runtime/components/Dashboard/DashboardShareDialog.vue +155 -0
  21. package/dist/runtime/components/Dashboard/DashboardShareDialog.vue.d.ts +28 -0
  22. package/dist/runtime/components/Dashboard/DashboardTopBar.d.vue.ts +64 -0
  23. package/dist/runtime/components/Dashboard/DashboardTopBar.vue +79 -0
  24. package/dist/runtime/components/Dashboard/DashboardTopBar.vue.d.ts +64 -0
  25. package/dist/runtime/components/Dashboard/DashboardWidgetConfigDialog.d.vue.ts +44 -0
  26. package/dist/runtime/components/Dashboard/DashboardWidgetConfigDialog.vue +153 -0
  27. package/dist/runtime/components/Dashboard/DashboardWidgetConfigDialog.vue.d.ts +44 -0
  28. package/dist/runtime/components/Dashboard/DashboardWidgetFrame.d.vue.ts +28 -0
  29. package/dist/runtime/components/Dashboard/DashboardWidgetFrame.vue +80 -0
  30. package/dist/runtime/components/Dashboard/DashboardWidgetFrame.vue.d.ts +28 -0
  31. package/dist/runtime/components/Dashboard/DashboardWidgetHost.d.vue.ts +7 -0
  32. package/dist/runtime/components/Dashboard/DashboardWidgetHost.vue +30 -0
  33. package/dist/runtime/components/Dashboard/DashboardWidgetHost.vue.d.ts +7 -0
  34. package/dist/runtime/components/Dashboard/DashboardWidgetIcon.d.vue.ts +9 -0
  35. package/dist/runtime/components/Dashboard/DashboardWidgetIcon.vue +13 -0
  36. package/dist/runtime/components/Dashboard/DashboardWidgetIcon.vue.d.ts +9 -0
  37. package/dist/runtime/components/Dashboard/DashboardWidgetLibrary.d.vue.ts +24 -0
  38. package/dist/runtime/components/Dashboard/DashboardWidgetLibrary.vue +140 -0
  39. package/dist/runtime/components/Dashboard/DashboardWidgetLibrary.vue.d.ts +24 -0
  40. package/dist/runtime/components/Dashboard/DashboardWidgetPreview.d.vue.ts +23 -0
  41. package/dist/runtime/components/Dashboard/DashboardWidgetPreview.vue +124 -0
  42. package/dist/runtime/components/Dashboard/DashboardWidgetPreview.vue.d.ts +23 -0
  43. package/dist/runtime/components/DataTable/ColumnsMenu.d.vue.ts +2 -1
  44. package/dist/runtime/components/DataTable/ColumnsMenu.vue.d.ts +2 -1
  45. package/dist/runtime/components/DataTable/DataTable.d.vue.ts +105 -28
  46. package/dist/runtime/components/DataTable/DataTable.vue +403 -38
  47. package/dist/runtime/components/DataTable/DataTable.vue.d.ts +105 -28
  48. package/dist/runtime/components/DataTable/FacetChips.d.vue.ts +17 -0
  49. package/dist/runtime/components/DataTable/FacetChips.vue +72 -0
  50. package/dist/runtime/components/DataTable/FacetChips.vue.d.ts +17 -0
  51. package/dist/runtime/components/DataTable/FacetPanel.d.vue.ts +21 -0
  52. package/dist/runtime/components/DataTable/FacetPanel.vue +359 -0
  53. package/dist/runtime/components/DataTable/FacetPanel.vue.d.ts +21 -0
  54. package/dist/runtime/components/DataTable/FilterMenu.d.vue.ts +6 -5
  55. package/dist/runtime/components/DataTable/FilterMenu.vue.d.ts +6 -5
  56. package/dist/runtime/components/DataTable/SavedViewsMenu.d.vue.ts +6 -1
  57. package/dist/runtime/components/DataTable/SavedViewsMenu.vue +83 -63
  58. package/dist/runtime/components/DataTable/SavedViewsMenu.vue.d.ts +6 -1
  59. package/dist/runtime/components/DataTable/SortMenu.d.vue.ts +9 -3
  60. package/dist/runtime/components/DataTable/SortMenu.vue +40 -12
  61. package/dist/runtime/components/DataTable/SortMenu.vue.d.ts +9 -3
  62. package/dist/runtime/components/DataTable/ViewModeSwitch.d.vue.ts +4 -2
  63. package/dist/runtime/components/DataTable/ViewModeSwitch.vue.d.ts +4 -2
  64. package/dist/runtime/components/Form/FieldCell.d.vue.ts +32 -0
  65. package/dist/runtime/components/Form/FieldCell.vue +46 -0
  66. package/dist/runtime/components/Form/FieldCell.vue.d.ts +32 -0
  67. package/dist/runtime/components/Form/FieldGrid.d.vue.ts +13 -0
  68. package/dist/runtime/components/Form/FieldGrid.vue +11 -0
  69. package/dist/runtime/components/Form/FieldGrid.vue.d.ts +13 -0
  70. package/dist/runtime/components/Form/FormContextCard.d.vue.ts +33 -0
  71. package/dist/runtime/components/Form/FormContextCard.vue +56 -0
  72. package/dist/runtime/components/Form/FormContextCard.vue.d.ts +33 -0
  73. package/dist/runtime/components/Form/FormLayout.d.vue.ts +47 -0
  74. package/dist/runtime/components/Form/FormLayout.vue +169 -0
  75. package/dist/runtime/components/Form/FormLayout.vue.d.ts +47 -0
  76. package/dist/runtime/components/Form/FormSection.d.vue.ts +25 -0
  77. package/dist/runtime/components/Form/FormSection.vue +48 -0
  78. package/dist/runtime/components/Form/FormSection.vue.d.ts +25 -0
  79. package/dist/runtime/components/Form/SaveBar.d.vue.ts +44 -0
  80. package/dist/runtime/components/Form/SaveBar.vue +71 -0
  81. package/dist/runtime/components/Form/SaveBar.vue.d.ts +44 -0
  82. package/dist/runtime/components/Media/MediaFolderTree.d.vue.ts +2 -1
  83. package/dist/runtime/components/Media/MediaFolderTree.vue.d.ts +2 -1
  84. package/dist/runtime/components/Media/MediaPickerDialog.d.vue.ts +4 -3
  85. package/dist/runtime/components/Media/MediaPickerDialog.vue.d.ts +4 -3
  86. package/dist/runtime/components/Media/MediaUploader.d.vue.ts +4 -3
  87. package/dist/runtime/components/Media/MediaUploader.vue.d.ts +4 -3
  88. package/dist/runtime/components/Shared/AppIcon.d.vue.ts +21 -0
  89. package/dist/runtime/components/Shared/AppIcon.vue +47 -0
  90. package/dist/runtime/components/Shared/AppIcon.vue.d.ts +21 -0
  91. package/dist/runtime/components/Shared/BuildLogsFlyout.d.vue.ts +2 -1
  92. package/dist/runtime/components/Shared/BuildLogsFlyout.vue.d.ts +2 -1
  93. package/dist/runtime/components/Shared/DetailSheet.d.vue.ts +60 -0
  94. package/dist/runtime/components/Shared/DetailSheet.vue +207 -0
  95. package/dist/runtime/components/Shared/DetailSheet.vue.d.ts +60 -0
  96. package/dist/runtime/components/Shared/FloatingPanel.d.vue.ts +7 -6
  97. package/dist/runtime/components/Shared/FloatingPanel.vue.d.ts +7 -6
  98. package/dist/runtime/components/Shared/GitDeploymentSettings.d.vue.ts +2 -1
  99. package/dist/runtime/components/Shared/GitDeploymentSettings.vue.d.ts +2 -1
  100. package/dist/runtime/components/Shared/KpiTile.d.vue.ts +2 -1
  101. package/dist/runtime/components/Shared/KpiTile.vue.d.ts +2 -1
  102. package/dist/runtime/components/Shared/ListSurface.d.vue.ts +3 -2
  103. package/dist/runtime/components/Shared/ListSurface.vue.d.ts +3 -2
  104. package/dist/runtime/components/Shared/PageHeader.d.vue.ts +7 -6
  105. package/dist/runtime/components/Shared/PageHeader.vue.d.ts +7 -6
  106. package/dist/runtime/components/Shared/RecordLayout.d.vue.ts +8 -7
  107. package/dist/runtime/components/Shared/RecordLayout.vue.d.ts +8 -7
  108. package/dist/runtime/components/Shared/RecordRailCard.d.vue.ts +3 -2
  109. package/dist/runtime/components/Shared/RecordRailCard.vue.d.ts +3 -2
  110. package/dist/runtime/components/Shared/SidebarNav.d.vue.ts +3 -2
  111. package/dist/runtime/components/Shared/SidebarNav.vue.d.ts +3 -2
  112. package/dist/runtime/components/Shared/SidebarNavLink.d.vue.ts +2 -1
  113. package/dist/runtime/components/Shared/SidebarNavLink.vue.d.ts +2 -1
  114. package/dist/runtime/components/Shared/SortHeader.d.vue.ts +3 -2
  115. package/dist/runtime/components/Shared/SortHeader.vue +6 -2
  116. package/dist/runtime/components/Shared/SortHeader.vue.d.ts +3 -2
  117. package/dist/runtime/components/Shared/StateCard.d.vue.ts +6 -5
  118. package/dist/runtime/components/Shared/StateCard.vue.d.ts +6 -5
  119. package/dist/runtime/components/Shared/StudioCard.d.vue.ts +5 -4
  120. package/dist/runtime/components/Shared/StudioCard.vue.d.ts +5 -4
  121. package/dist/runtime/components/Shared/TabBar.d.vue.ts +9 -10
  122. package/dist/runtime/components/Shared/TabBar.vue +26 -7
  123. package/dist/runtime/components/Shared/TabBar.vue.d.ts +9 -10
  124. package/dist/runtime/components/Shared/ViewTab.d.vue.ts +2 -1
  125. package/dist/runtime/components/Shared/ViewTab.vue.d.ts +2 -1
  126. package/dist/runtime/components/Shared/Wizard.d.vue.ts +10 -7
  127. package/dist/runtime/components/Shared/Wizard.vue.d.ts +10 -7
  128. package/dist/runtime/composables/useDashboards.d.ts +27 -0
  129. package/dist/runtime/composables/useDashboards.js +143 -0
  130. package/dist/runtime/composables/useDetailSheet.d.ts +20 -0
  131. package/dist/runtime/composables/useDetailSheet.js +50 -0
  132. package/dist/runtime/composables/usePlatformTenant.d.ts +6 -0
  133. package/dist/runtime/composables/useSavedViews.d.ts +44 -0
  134. package/dist/runtime/composables/useSavedViews.js +44 -0
  135. package/dist/runtime/composables/useStickyListView.d.ts +60 -0
  136. package/dist/runtime/composables/useStickyListView.js +32 -0
  137. package/dist/runtime/lib/activeTenant.d.ts +58 -0
  138. package/dist/runtime/lib/activeTenant.js +45 -0
  139. package/dist/runtime/lib/appIcon.d.ts +48 -0
  140. package/dist/runtime/lib/appIcon.js +27 -0
  141. package/dist/runtime/lib/canonicalJson.d.ts +43 -0
  142. package/dist/runtime/lib/canonicalJson.js +38 -0
  143. package/dist/runtime/lib/dashboardIcons.d.ts +4 -0
  144. package/dist/runtime/lib/dashboardIcons.js +50 -0
  145. package/dist/runtime/lib/detailSheet.d.ts +43 -0
  146. package/dist/runtime/lib/detailSheet.js +34 -0
  147. package/dist/runtime/lib/facets.d.ts +200 -0
  148. package/dist/runtime/lib/facets.js +171 -0
  149. package/dist/runtime/lib/formLayout.d.ts +94 -0
  150. package/dist/runtime/lib/formLayout.js +70 -0
  151. package/dist/runtime/lib/formLayoutContext.d.ts +26 -0
  152. package/dist/runtime/lib/formLayoutContext.js +1 -0
  153. package/dist/runtime/lib/gridTracks.d.ts +55 -0
  154. package/dist/runtime/lib/gridTracks.js +29 -0
  155. package/dist/runtime/lib/rowMove.d.ts +38 -0
  156. package/dist/runtime/lib/rowMove.js +20 -0
  157. package/dist/runtime/lib/solarIconMap.d.ts +15 -0
  158. package/dist/runtime/lib/solarIconMap.js +280 -0
  159. package/dist/runtime/lib/solarIcons.d.ts +37 -0
  160. package/dist/runtime/lib/solarIcons.js +25 -0
  161. package/dist/runtime/lib/widgetRegistry.d.ts +124 -0
  162. package/dist/runtime/lib/widgetRegistry.js +66 -0
  163. package/dist/runtime/types/dashboard.d.ts +95 -0
  164. package/dist/runtime/types/dashboard.js +2 -0
  165. package/dist/types.d.mts +12 -0
  166. package/package.json +3 -2
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The picture on a widget's library card (PE-480).
3
+ *
4
+ * A schematic, not a screenshot and not the live widget. The Integration
5
+ * Studio's template gallery draws its preview from the workflow definition for
6
+ * the same reason: a maintained screenshot goes stale the first time the widget
7
+ * changes and nobody notices. Rendering the real widget instead would be
8
+ * accurate but would fire every widget's queries the moment the library opens.
9
+ *
10
+ * So each widget declares a `preview` shape, and this draws it — pure layout,
11
+ * no data, no requests. It says what the widget *looks* like, which is what a
12
+ * person picking from a list actually needs.
13
+ */
14
+ import type { WidgetPreviewShape } from '../../lib/widgetRegistry.js';
15
+ type __VLS_Props = {
16
+ shape: WidgetPreviewShape;
17
+ dimmed?: boolean;
18
+ };
19
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
20
+ dimmed: boolean;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
@@ -0,0 +1,124 @@
1
+ <script setup>
2
+ defineProps({
3
+ shape: { type: String, required: true },
4
+ dimmed: { type: Boolean, required: false, default: false }
5
+ });
6
+ const BARS = [38, 62, 45, 80, 55, 92, 48, 70, 60, 85, 52, 74];
7
+ const RANKS = [100, 72, 54, 38, 26];
8
+ const FUNNEL = [100, 68, 34];
9
+ </script>
10
+
11
+ <template>
12
+ <div
13
+ class="pointer-events-none flex h-24 w-full flex-col justify-center gap-1.5 overflow-hidden rounded-md border border-black/[0.06] bg-gradient-to-b from-white to-black/[0.02] px-3 py-2.5"
14
+ :class="dimmed ? 'opacity-40 grayscale' : ''"
15
+ aria-hidden="true"
16
+ >
17
+ <!-- One number on a card — what a manifest `EntityCount` draws (PE-618). -->
18
+ <div v-if="shape === 'count'" class="flex h-full flex-col justify-center px-1">
19
+ <div class="h-1 w-1/3 rounded-full bg-black/10" />
20
+ <div class="mt-2 h-5 w-1/2 rounded-sm bg-black/25" />
21
+ <div class="mt-2 h-1 w-2/5 rounded-full bg-black/10" />
22
+ </div>
23
+
24
+ <!-- Four tiles with a number and a spark under each. -->
25
+ <div v-else-if="shape === 'kpi-row'" class="grid grid-cols-4 gap-1.5">
26
+ <div v-for="n in 4" :key="n" class="rounded border border-black/[0.06] bg-white px-1.5 py-1">
27
+ <div class="h-1 w-3/4 rounded-full bg-black/10" />
28
+ <div class="mt-1 h-2 w-2/3 rounded-sm bg-black/25" />
29
+ <div class="mt-1 h-0.5 w-full rounded-full bg-violet-400/60" />
30
+ </div>
31
+ </div>
32
+
33
+ <!-- Daily bars. -->
34
+ <div v-else-if="shape === 'bar-chart'" class="flex h-full items-end gap-[3px]">
35
+ <div
36
+ v-for="(h, i) in BARS"
37
+ :key="i"
38
+ class="flex-1 rounded-t-[2px] bg-violet-500/70"
39
+ :style="{ height: `${h}%` }"
40
+ />
41
+ </div>
42
+
43
+ <!-- Label + value + proportional bar, repeated. -->
44
+ <div v-else-if="shape === 'ranked-list'" class="flex flex-col gap-1.5">
45
+ <div v-for="(w, i) in RANKS.slice(0, 4)" :key="i">
46
+ <div class="flex items-center justify-between gap-2">
47
+ <div class="h-1 rounded-full bg-black/15" :style="{ width: `${30 + i % 3 * 14}%` }" />
48
+ <div class="h-1 w-5 rounded-full bg-black/20" />
49
+ </div>
50
+ <div class="mt-0.5 h-1 rounded-full bg-black/[0.06]">
51
+ <div class="h-full rounded-full bg-violet-500/70" :style="{ width: `${w}%` }" />
52
+ </div>
53
+ </div>
54
+ </div>
55
+
56
+ <!-- Narrowing stages. -->
57
+ <div v-else-if="shape === 'funnel'" class="flex flex-col gap-2">
58
+ <div v-for="(w, i) in FUNNEL" :key="i" class="flex items-center gap-2">
59
+ <div class="h-1 w-8 rounded-full bg-black/15" />
60
+ <div class="h-2 flex-1 rounded-full bg-black/[0.06]">
61
+ <div class="h-full rounded-full" :class="i === 2 ? 'bg-emerald-500/70' : 'bg-violet-500/70'" :style="{ width: `${w}%` }" />
62
+ </div>
63
+ </div>
64
+ </div>
65
+
66
+ <!-- Two or four big figures side by side. -->
67
+ <div v-else-if="shape === 'stat-split'" class="grid grid-cols-2 gap-2">
68
+ <div v-for="n in 4" :key="n" class="flex flex-col gap-1">
69
+ <div class="h-1 w-2/3 rounded-full bg-black/10" />
70
+ <div class="h-2.5 w-1/2 rounded-sm bg-black/25" />
71
+ </div>
72
+ </div>
73
+
74
+ <!-- Rows with an icon chip, two lines and a time on the right. -->
75
+ <div v-else-if="shape === 'feed'" class="flex flex-col gap-1.5">
76
+ <div v-for="n in 4" :key="n" class="flex items-center gap-2">
77
+ <div class="size-3.5 shrink-0 rounded bg-violet-400/40" />
78
+ <div class="min-w-0 flex-1">
79
+ <div class="h-1 rounded-full bg-black/15" :style="{ width: `${52 + n % 3 * 14}%` }" />
80
+ <div class="mt-0.5 h-1 w-1/3 rounded-full bg-black/[0.08]" />
81
+ </div>
82
+ <div class="h-1 w-3 shrink-0 rounded-full bg-black/10" />
83
+ </div>
84
+ </div>
85
+
86
+ <!-- Tiles with a state dot. -->
87
+ <div v-else-if="shape === 'status-grid'" class="grid grid-cols-2 gap-1.5">
88
+ <div v-for="n in 4" :key="n" class="flex items-center gap-1.5 rounded border border-black/[0.06] bg-white px-1.5 py-1.5">
89
+ <span class="size-1.5 rounded-full" :class="n === 3 ? 'bg-amber-500' : 'bg-emerald-500'" />
90
+ <div class="h-1 flex-1 rounded-full bg-black/12" />
91
+ </div>
92
+ </div>
93
+
94
+ <!-- Paragraph. -->
95
+ <div v-else-if="shape === 'text'" class="flex flex-col gap-1.5">
96
+ <div v-for="(w, i) in [96, 88, 92, 54]" :key="i" class="h-1.5 rounded-full bg-black/[0.10]" :style="{ width: `${w}%` }" />
97
+ </div>
98
+
99
+ <!-- Link rows with a chevron. -->
100
+ <div v-else-if="shape === 'links'" class="flex flex-col gap-1.5">
101
+ <div v-for="n in 4" :key="n" class="flex items-center justify-between gap-2 rounded px-1 py-1" :class="n === 1 ? 'bg-black/[0.03]' : ''">
102
+ <div class="h-1 rounded-full bg-black/15" :style="{ width: `${34 + n % 3 * 16}%` }" />
103
+ <div class="size-1.5 rotate-45 border-r border-t border-black/20" />
104
+ </div>
105
+ </div>
106
+
107
+ <!-- A greeting line with a row of action chips. -->
108
+ <div v-else-if="shape === 'greeting'" class="flex flex-col gap-2">
109
+ <div class="h-1 w-1/4 rounded-full bg-black/10" />
110
+ <div class="h-3 w-2/3 rounded-sm bg-black/20" />
111
+ <div class="flex gap-1.5">
112
+ <div v-for="n in 5" :key="n" class="size-4 rounded bg-black/[0.06]" />
113
+ </div>
114
+ </div>
115
+
116
+ <!-- Fallback: small multiples. -->
117
+ <div v-else class="grid grid-cols-3 gap-1.5">
118
+ <div v-for="n in 3" :key="n" class="rounded border border-black/[0.06] bg-white p-1.5">
119
+ <div class="h-1 w-2/3 rounded-full bg-black/10" />
120
+ <div class="mt-1 h-1 w-full rounded-full bg-violet-400/50" />
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </template>
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The picture on a widget's library card (PE-480).
3
+ *
4
+ * A schematic, not a screenshot and not the live widget. The Integration
5
+ * Studio's template gallery draws its preview from the workflow definition for
6
+ * the same reason: a maintained screenshot goes stale the first time the widget
7
+ * changes and nobody notices. Rendering the real widget instead would be
8
+ * accurate but would fire every widget's queries the moment the library opens.
9
+ *
10
+ * So each widget declares a `preview` shape, and this draws it — pure layout,
11
+ * no data, no requests. It says what the widget *looks* like, which is what a
12
+ * person picking from a list actually needs.
13
+ */
14
+ import type { WidgetPreviewShape } from '../../lib/widgetRegistry.js';
15
+ type __VLS_Props = {
16
+ shape: WidgetPreviewShape;
17
+ dimmed?: boolean;
18
+ };
19
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
20
+ dimmed: boolean;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
@@ -4,11 +4,12 @@ type __VLS_Props = {
4
4
  /** Set of currently visible column keys. */
5
5
  visible: Set<string>;
6
6
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
8
  toggle: (key: string) => any;
9
9
  reorder: (from: number, to: number) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
11
  onToggle?: ((key: string) => any) | undefined;
12
12
  onReorder?: ((from: number, to: number) => any) | undefined;
13
13
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
14
15
  export default _default;
@@ -4,11 +4,12 @@ type __VLS_Props = {
4
4
  /** Set of currently visible column keys. */
5
5
  visible: Set<string>;
6
6
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
8
  toggle: (key: string) => any;
9
9
  reorder: (from: number, to: number) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
11
  onToggle?: ((key: string) => any) | undefined;
12
12
  onReorder?: ((from: number, to: number) => any) | undefined;
13
13
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
14
15
  export default _default;
@@ -1,16 +1,9 @@
1
- import type { DataTableColumn, DataTableFilter, DataTableRail, DataTableSavedViews, DataTableState, DataTableViewMode, RowKey, SortState } from './types.js';
2
- declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
- readonly "onUpdate:sort"?: ((value: SortState) => any) | undefined;
5
- readonly "onUpdate:page"?: ((value: number) => any) | undefined;
6
- readonly "onUpdate:viewMode"?: ((value: string) => any) | undefined;
7
- readonly "onUpdate:railOpen"?: ((value: boolean) => any) | undefined;
8
- readonly onRowClick?: ((row: T) => any) | undefined;
9
- readonly onStateChange?: ((state: DataTableState) => any) | undefined;
10
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:sort" | "onUpdate:page" | "onUpdate:viewMode" | "onUpdate:railOpen" | "onRowClick" | "onStateChange"> & ({
1
+ import { Eye } from '#solar-icons';
2
+ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<({
11
4
  data: T[];
12
- columns: DataTableColumn<T>[];
13
- rowKey: RowKey<T>;
5
+ columns: Eye<T>[];
6
+ rowKey: Eye<T>;
14
7
  /** `label` is the field's accessible name; it defaults to the placeholder
15
8
  * where the surface wrote one (see `searchLabel`). */
16
9
  search?: boolean | {
@@ -27,15 +20,34 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
27
20
  };
28
21
  /** Built-in status/dimension filter pills (static mode). One dimension, or
29
22
  * several (each renders as its own sub-menu). */
30
- filterTabs?: DataTableFilter<T> | DataTableFilter<T>[];
23
+ filterTabs?: Eye<T> | Eye<T>[];
24
+ /**
25
+ * The surface's declared dimensions, as one facet model (PE-6xx).
26
+ *
27
+ * The THIRD filter path, and the one the others are being folded into. It
28
+ * differs from `filterTabs` in who does the work: those are filtered in
29
+ * memory here, which a server-paged list cannot use — a facet count taken
30
+ * over one page of fifty rows out of twenty-three thousand is a number
31
+ * nobody can reconcile with the table under it. Here the surface owns the
32
+ * query and the counts, and this component only draws the control and hands
33
+ * back a committed selection (`v-model:facet-selection`).
34
+ *
35
+ * EVERY declared dimension lives in this one panel, committed together, and
36
+ * reads back in one chip strip under the toolbar. There is deliberately no
37
+ * second placement: a tree pinned in a left column beside a panel is two
38
+ * places to look and two commit rules for one question.
39
+ */
40
+ facets?: Eye[];
41
+ /** Say which facet each chip belongs to (see `FacetChips.showFacet`). */
42
+ chipFacetLabels?: boolean;
31
43
  /** Saved views control — the surface supplies snapshot/apply, the table
32
44
  * owns the control, the storage and the dialogs. */
33
- savedViews?: DataTableSavedViews | null;
45
+ savedViews?: Eye | null;
34
46
  /** View-mode switch (e.g. List | Gallery). Any mode other than `list`
35
47
  * renders the `#view` slot in place of the table body. */
36
- viewModes?: DataTableViewMode[] | null;
48
+ viewModes?: Eye[] | null;
37
49
  /** Collapse handle for the surface's left rail (see `ListSurface`). */
38
- rail?: boolean | DataTableRail;
50
+ rail?: boolean | Eye;
39
51
  /**
40
52
  * Scroll the ROWS inside the table instead of the page.
41
53
  *
@@ -52,8 +64,13 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
52
64
  * sitting above it. That is not a detail: a scrollbar takes width from the
53
65
  * scrolling box, so a header outside it stays wider than the rows and every
54
66
  * column drifts by however wide the scrollbar is.
67
+ *
68
+ * `'fit'` measures instead of guessing: the rows get whatever height is left
69
+ * in the surrounding scroll container, so the table ends where the page ends
70
+ * and nothing below it is pushed out of sight. A short list still ends after
71
+ * its last row — the measurement is a MAXIMUM, not a height.
55
72
  */
56
- scrollBody?: boolean | {
73
+ scrollBody?: boolean | "fit" | {
57
74
  maxHeight?: string;
58
75
  };
59
76
  pagination?: boolean | {
@@ -69,18 +86,66 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
69
86
  emptyText?: string;
70
87
  groupBy?: ((row: T) => string[]) | null;
71
88
  groupEmptyLabel?: string;
89
+ /** The row whose record is open beside the table (a DetailSheet), marked so
90
+ * reading down the list keeps the place visible (PE-690). */
91
+ activeRowKey?: string | number | null;
92
+ /**
93
+ * A row's own tint — a quantity tier set apart under the SKU it belongs to.
94
+ * Replaces the row's default ground rather than stacking on it: two
95
+ * translucent backgrounds on one element are whichever Tailwind emitted last.
96
+ */
97
+ rowClass?: ((row: T) => string | null | undefined) | null;
98
+ /**
99
+ * Rows the operator orders by dragging (PE-952). Draws a handle in a leading
100
+ * column; a drop — or the arrow keys on a focused handle — emits `rowMove`
101
+ * with the new order. The table writes nothing: what a position MEANS, and
102
+ * which rows have to be written for it, is the surface's to decide.
103
+ */
104
+ reorderable?: boolean;
105
+ /**
106
+ * Why the handles are off right now, or null when they are on. The surface
107
+ * knows the cases this component cannot see — a sort that is not the
108
+ * sequence, a write still in flight. The table adds its own: a search, a
109
+ * filter or a grouping, under any of which "the row above" is not the row
110
+ * above in the sequence.
111
+ */
112
+ reorderDisabled?: string | null;
72
113
  } & {
73
- sort?: SortState;
114
+ sort?: Eye;
74
115
  page?: number;
75
116
  viewMode?: string;
76
117
  railOpen?: boolean;
77
- }) & Partial<{}>> & import("vue").PublicProps;
78
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
118
+ /**
119
+ * The committed facet selection. Two-way so a chip removed under the toolbar,
120
+ * a facet picked in the surface's pinned rail and the panel's own Apply all
121
+ * write to one place — and so the surface can seed it from a saved view or a
122
+ * URL without this component holding a second copy to drift from.
123
+ */
124
+ facetSelection?: Eye;
125
+ }) & {
126
+ onRowClick?: ((row: T) => any) | undefined;
127
+ onStateChange?: ((state: DataTableState) => any) | undefined;
128
+ onOrderChange?: ((keys: (string | number)[]) => any) | undefined;
129
+ onRowMove?: ((move: {
130
+ key: string | number;
131
+ from: number;
132
+ to: number;
133
+ keys: (string | number)[];
134
+ }) => any) | undefined;
135
+ "onUpdate:sort"?: ((value: SortState) => any) | undefined;
136
+ "onUpdate:page"?: ((value: number) => any) | undefined;
137
+ "onUpdate:viewMode"?: ((value: string) => any) | undefined;
138
+ "onUpdate:railOpen"?: ((value: boolean) => any) | undefined;
139
+ "onUpdate:facetSelection"?: ((value: FacetSelection) => any) | undefined;
140
+ }> & (typeof globalThis extends {
141
+ __VLS_PROPS_FALLBACK: infer P;
142
+ } ? P : {});
143
+ expose: (exposed: {}) => void;
79
144
  attrs: any;
80
145
  slots: {
81
- [x: string]: ((props: {}) => any) | undefined;
146
+ [x: `header-${any}`]: ((props: {}) => any) | undefined;
82
147
  } & {
83
- [x: string]: ((props: {
148
+ [x: `cell-${any}`]: ((props: {
84
149
  row: any;
85
150
  }) => any) | undefined;
86
151
  } & {
@@ -96,16 +161,28 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
96
161
  } & {
97
162
  view?: (props: {
98
163
  rows: any;
99
- loading: any;
164
+ loading: boolean;
100
165
  }) => any;
101
166
  } & {
102
- empty?: (props: {}) => any;
167
+ empty?: (props: {
168
+ query: any;
169
+ filters: any;
170
+ clear: () => void;
171
+ }) => any;
103
172
  };
104
- emit: (((evt: "rowClick", row: T) => void) & ((evt: "stateChange", state: DataTableState) => void)) & (((evt: "update:sort", value: SortState) => void) & ((evt: "update:page", value: number) => void) & ((evt: "update:viewMode", value: string) => void) & ((evt: "update:railOpen", value: boolean) => void));
173
+ emit: (((evt: "rowClick", row: T) => void) & ((evt: "stateChange", state: DataTableState) => void) & ((evt: "orderChange", keys: (string | number)[]) => void) & ((evt: "rowMove", move: {
174
+ key: string | number;
175
+ from: number;
176
+ to: number;
177
+ keys: (string | number)[];
178
+ }) => void)) & (((event: "update:sort", value: SortState) => void) & ((event: "update:page", value: number) => void) & ((event: "update:viewMode", value: string) => void) & ((event: "update:railOpen", value: boolean) => void) & ((event: "update:facetSelection", value: FacetSelection) => void));
105
179
  }>) => import("vue").VNode & {
106
- __ctx?: Awaited<typeof __VLS_setup>;
180
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
107
181
  };
182
+ declare const _default: typeof __VLS_export;
108
183
  export default _default;
109
- type __VLS_PrettifyLocal<T> = {
184
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
110
185
  [K in keyof T]: T[K];
111
- } & {};
186
+ } : {
187
+ [K in keyof T as K]: T[K];
188
+ }) & {};