@cratis/scene.blueprint.default 4.32.0 → 4.34.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 (249) hide show
  1. package/ComponentName.ts +12 -0
  2. package/defaultBlueprintComponents.ts +5 -1
  3. package/dist/cjs/ComponentName.js +4 -0
  4. package/dist/cjs/ComponentName.js.map +1 -1
  5. package/dist/cjs/defaultBlueprint.js +1 -1
  6. package/dist/cjs/defaultBlueprintComponentMetadata.js +2 -2
  7. package/dist/cjs/defaultBlueprintComponents.js +10 -2
  8. package/dist/cjs/defaultBlueprintComponents.js.map +1 -1
  9. package/dist/cjs/foundation/ChartWrapper.js +520 -0
  10. package/dist/cjs/foundation/ChartWrapper.js.map +1 -0
  11. package/dist/cjs/foundation/ColumnChooser.js +156 -0
  12. package/dist/cjs/foundation/ColumnChooser.js.map +1 -0
  13. package/dist/cjs/foundation/FilterBuilder.js +307 -0
  14. package/dist/cjs/foundation/FilterBuilder.js.map +1 -0
  15. package/dist/cjs/foundation/SavedViewsMenu.js +199 -0
  16. package/dist/cjs/foundation/SavedViewsMenu.js.map +1 -0
  17. package/dist/cjs/foundation/chartGeometry.js +101 -0
  18. package/dist/cjs/foundation/chartGeometry.js.map +1 -0
  19. package/dist/cjs/foundation/columnModel.js +43 -0
  20. package/dist/cjs/foundation/columnModel.js.map +1 -0
  21. package/dist/cjs/foundation/filterModel.js +123 -0
  22. package/dist/cjs/foundation/filterModel.js.map +1 -0
  23. package/dist/cjs/foundation/foundationComponentMetadata.js +28 -0
  24. package/dist/cjs/foundation/foundationComponentMetadata.js.map +1 -1
  25. package/dist/cjs/foundation/foundationDescriptors.js +153 -0
  26. package/dist/cjs/foundation/foundationDescriptors.js.map +1 -1
  27. package/dist/cjs/foundation/foundationSamples.js +130 -0
  28. package/dist/cjs/foundation/foundationSamples.js.map +1 -1
  29. package/dist/cjs/foundation/foundationStrings.js +25 -0
  30. package/dist/cjs/foundation/foundationStrings.js.map +1 -1
  31. package/dist/cjs/foundation/useElementWidth.js +31 -0
  32. package/dist/cjs/foundation/useElementWidth.js.map +1 -0
  33. package/dist/cjs/foundation/viewModel.js +24 -0
  34. package/dist/cjs/foundation/viewModel.js.map +1 -0
  35. package/dist/cjs/index.js +91 -4
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/preview-host/ApplicationDocument.js +17 -0
  38. package/dist/cjs/preview-host/ApplicationDocument.js.map +1 -0
  39. package/dist/cjs/preview-host/ApplicationHost.js +113 -0
  40. package/dist/cjs/preview-host/ApplicationHost.js.map +1 -0
  41. package/dist/cjs/preview-host/FlowArrangementView.js +75 -0
  42. package/dist/cjs/preview-host/FlowArrangementView.js.map +1 -0
  43. package/dist/cjs/preview-host/PreviewProblem.js +32 -0
  44. package/dist/cjs/preview-host/PreviewProblem.js.map +1 -0
  45. package/dist/cjs/preview-host/PreviewProblemsView.js +51 -0
  46. package/dist/cjs/preview-host/PreviewProblemsView.js.map +1 -0
  47. package/dist/cjs/preview-host/PreviewSliceFragment.js +55 -0
  48. package/dist/cjs/preview-host/PreviewSliceFragment.js.map +1 -0
  49. package/dist/cjs/preview-host/PreviewTarget.js +17 -0
  50. package/dist/cjs/preview-host/PreviewTarget.js.map +1 -0
  51. package/dist/cjs/preview-host/PreviewTemplate.js +49 -0
  52. package/dist/cjs/preview-host/PreviewTemplate.js.map +1 -0
  53. package/dist/cjs/preview-host/PreviewToast.js +45 -0
  54. package/dist/cjs/preview-host/PreviewToast.js.map +1 -0
  55. package/dist/cjs/preview-host/ScenePreviewHost.js +290 -0
  56. package/dist/cjs/preview-host/ScenePreviewHost.js.map +1 -0
  57. package/dist/cjs/preview-host/composeApplication.js +249 -0
  58. package/dist/cjs/preview-host/composeApplication.js.map +1 -0
  59. package/dist/cjs/preview-host/defaultApplicationChrome.js +43 -0
  60. package/dist/cjs/preview-host/defaultApplicationChrome.js.map +1 -0
  61. package/dist/cjs/preview-host/diagnosePreview.js +100 -0
  62. package/dist/cjs/preview-host/diagnosePreview.js.map +1 -0
  63. package/dist/cjs/preview-host/previewProfile.js +53 -0
  64. package/dist/cjs/preview-host/previewProfile.js.map +1 -0
  65. package/dist/cjs/preview-host/previewSampleData.js +116 -0
  66. package/dist/cjs/preview-host/previewSampleData.js.map +1 -0
  67. package/dist/cjs/preview-host/resolvePreviewPlan.js +126 -0
  68. package/dist/cjs/preview-host/resolvePreviewPlan.js.map +1 -0
  69. package/dist/cjs/preview-host/useSizeClass.js +23 -0
  70. package/dist/cjs/preview-host/useSizeClass.js.map +1 -0
  71. package/dist/esm/ComponentName.d.ts +5 -1
  72. package/dist/esm/ComponentName.d.ts.map +1 -1
  73. package/dist/esm/ComponentName.js +4 -0
  74. package/dist/esm/ComponentName.js.map +1 -1
  75. package/dist/esm/defaultBlueprint.js +1 -1
  76. package/dist/esm/defaultBlueprintComponentMetadata.js +2 -2
  77. package/dist/esm/defaultBlueprintComponents.d.ts.map +1 -1
  78. package/dist/esm/defaultBlueprintComponents.js +10 -2
  79. package/dist/esm/defaultBlueprintComponents.js.map +1 -1
  80. package/dist/esm/foundation/ChartWrapper.d.ts +5 -0
  81. package/dist/esm/foundation/ChartWrapper.d.ts.map +1 -0
  82. package/dist/esm/foundation/ChartWrapper.js +517 -0
  83. package/dist/esm/foundation/ChartWrapper.js.map +1 -0
  84. package/dist/esm/foundation/ColumnChooser.d.ts +3 -0
  85. package/dist/esm/foundation/ColumnChooser.d.ts.map +1 -0
  86. package/dist/esm/foundation/ColumnChooser.js +154 -0
  87. package/dist/esm/foundation/ColumnChooser.js.map +1 -0
  88. package/dist/esm/foundation/FilterBuilder.d.ts +3 -0
  89. package/dist/esm/foundation/FilterBuilder.d.ts.map +1 -0
  90. package/dist/esm/foundation/FilterBuilder.js +305 -0
  91. package/dist/esm/foundation/FilterBuilder.js.map +1 -0
  92. package/dist/esm/foundation/Foundation.stories.d.ts +16 -0
  93. package/dist/esm/foundation/Foundation.stories.d.ts.map +1 -1
  94. package/dist/esm/foundation/Foundation.stories.js +16 -0
  95. package/dist/esm/foundation/Foundation.stories.js.map +1 -1
  96. package/dist/esm/foundation/SavedViewsMenu.d.ts +4 -0
  97. package/dist/esm/foundation/SavedViewsMenu.d.ts.map +1 -0
  98. package/dist/esm/foundation/SavedViewsMenu.js +196 -0
  99. package/dist/esm/foundation/SavedViewsMenu.js.map +1 -0
  100. package/dist/esm/foundation/chartGeometry.d.ts +34 -0
  101. package/dist/esm/foundation/chartGeometry.d.ts.map +1 -0
  102. package/dist/esm/foundation/chartGeometry.js +93 -0
  103. package/dist/esm/foundation/chartGeometry.js.map +1 -0
  104. package/dist/esm/foundation/columnModel.d.ts +11 -0
  105. package/dist/esm/foundation/columnModel.d.ts.map +1 -0
  106. package/dist/esm/foundation/columnModel.js +38 -0
  107. package/dist/esm/foundation/columnModel.js.map +1 -0
  108. package/dist/esm/foundation/filterModel.d.ts +33 -0
  109. package/dist/esm/foundation/filterModel.d.ts.map +1 -0
  110. package/dist/esm/foundation/filterModel.js +112 -0
  111. package/dist/esm/foundation/filterModel.js.map +1 -0
  112. package/dist/esm/foundation/foundationComponentMetadata.d.ts.map +1 -1
  113. package/dist/esm/foundation/foundationComponentMetadata.js +28 -0
  114. package/dist/esm/foundation/foundationComponentMetadata.js.map +1 -1
  115. package/dist/esm/foundation/foundationDescriptors.d.ts.map +1 -1
  116. package/dist/esm/foundation/foundationDescriptors.js +154 -1
  117. package/dist/esm/foundation/foundationDescriptors.js.map +1 -1
  118. package/dist/esm/foundation/foundationSamples.d.ts.map +1 -1
  119. package/dist/esm/foundation/foundationSamples.js +130 -0
  120. package/dist/esm/foundation/foundationSamples.js.map +1 -1
  121. package/dist/esm/foundation/foundationStrings.d.ts +25 -0
  122. package/dist/esm/foundation/foundationStrings.d.ts.map +1 -1
  123. package/dist/esm/foundation/foundationStrings.js +25 -0
  124. package/dist/esm/foundation/foundationStrings.js.map +1 -1
  125. package/dist/esm/foundation/index.d.ts +9 -0
  126. package/dist/esm/foundation/index.d.ts.map +1 -1
  127. package/dist/esm/foundation/index.js +9 -0
  128. package/dist/esm/foundation/index.js.map +1 -1
  129. package/dist/esm/foundation/useElementWidth.d.ts +3 -0
  130. package/dist/esm/foundation/useElementWidth.d.ts.map +1 -0
  131. package/dist/esm/foundation/useElementWidth.js +29 -0
  132. package/dist/esm/foundation/useElementWidth.js.map +1 -0
  133. package/dist/esm/foundation/viewModel.d.ts +7 -0
  134. package/dist/esm/foundation/viewModel.d.ts.map +1 -0
  135. package/dist/esm/foundation/viewModel.js +22 -0
  136. package/dist/esm/foundation/viewModel.js.map +1 -0
  137. package/dist/esm/index.d.ts +1 -0
  138. package/dist/esm/index.d.ts.map +1 -1
  139. package/dist/esm/index.js +26 -0
  140. package/dist/esm/index.js.map +1 -1
  141. package/dist/esm/preview-host/ApplicationDocument.d.ts +7 -0
  142. package/dist/esm/preview-host/ApplicationDocument.d.ts.map +1 -0
  143. package/dist/esm/preview-host/ApplicationDocument.js +15 -0
  144. package/dist/esm/preview-host/ApplicationDocument.js.map +1 -0
  145. package/dist/esm/preview-host/ApplicationHost.d.ts +21 -0
  146. package/dist/esm/preview-host/ApplicationHost.d.ts.map +1 -0
  147. package/dist/esm/preview-host/ApplicationHost.js +111 -0
  148. package/dist/esm/preview-host/ApplicationHost.js.map +1 -0
  149. package/dist/esm/preview-host/FlowArrangementView.d.ts +7 -0
  150. package/dist/esm/preview-host/FlowArrangementView.d.ts.map +1 -0
  151. package/dist/esm/preview-host/FlowArrangementView.js +73 -0
  152. package/dist/esm/preview-host/FlowArrangementView.js.map +1 -0
  153. package/dist/esm/preview-host/PreviewProblem.d.ts +26 -0
  154. package/dist/esm/preview-host/PreviewProblem.d.ts.map +1 -0
  155. package/dist/esm/preview-host/PreviewProblem.js +28 -0
  156. package/dist/esm/preview-host/PreviewProblem.js.map +1 -0
  157. package/dist/esm/preview-host/PreviewProblemsView.d.ts +7 -0
  158. package/dist/esm/preview-host/PreviewProblemsView.d.ts.map +1 -0
  159. package/dist/esm/preview-host/PreviewProblemsView.js +49 -0
  160. package/dist/esm/preview-host/PreviewProblemsView.js.map +1 -0
  161. package/dist/esm/preview-host/PreviewSliceFragment.d.ts +3 -0
  162. package/dist/esm/preview-host/PreviewSliceFragment.d.ts.map +1 -0
  163. package/dist/esm/preview-host/PreviewSliceFragment.js +53 -0
  164. package/dist/esm/preview-host/PreviewSliceFragment.js.map +1 -0
  165. package/dist/esm/preview-host/PreviewTarget.d.ts +10 -0
  166. package/dist/esm/preview-host/PreviewTarget.d.ts.map +1 -0
  167. package/dist/esm/preview-host/PreviewTarget.js +15 -0
  168. package/dist/esm/preview-host/PreviewTarget.js.map +1 -0
  169. package/dist/esm/preview-host/PreviewTemplate.d.ts +5 -0
  170. package/dist/esm/preview-host/PreviewTemplate.d.ts.map +1 -0
  171. package/dist/esm/preview-host/PreviewTemplate.js +45 -0
  172. package/dist/esm/preview-host/PreviewTemplate.js.map +1 -0
  173. package/dist/esm/preview-host/PreviewToast.d.ts +10 -0
  174. package/dist/esm/preview-host/PreviewToast.d.ts.map +1 -0
  175. package/dist/esm/preview-host/PreviewToast.js +43 -0
  176. package/dist/esm/preview-host/PreviewToast.js.map +1 -0
  177. package/dist/esm/preview-host/ScenePreviewHost.d.ts +32 -0
  178. package/dist/esm/preview-host/ScenePreviewHost.d.ts.map +1 -0
  179. package/dist/esm/preview-host/ScenePreviewHost.js +288 -0
  180. package/dist/esm/preview-host/ScenePreviewHost.js.map +1 -0
  181. package/dist/esm/preview-host/composeApplication.d.ts +34 -0
  182. package/dist/esm/preview-host/composeApplication.d.ts.map +1 -0
  183. package/dist/esm/preview-host/composeApplication.js +239 -0
  184. package/dist/esm/preview-host/composeApplication.js.map +1 -0
  185. package/dist/esm/preview-host/defaultApplicationChrome.d.ts +4 -0
  186. package/dist/esm/preview-host/defaultApplicationChrome.d.ts.map +1 -0
  187. package/dist/esm/preview-host/defaultApplicationChrome.js +41 -0
  188. package/dist/esm/preview-host/defaultApplicationChrome.js.map +1 -0
  189. package/dist/esm/preview-host/diagnosePreview.d.ts +22 -0
  190. package/dist/esm/preview-host/diagnosePreview.d.ts.map +1 -0
  191. package/dist/esm/preview-host/diagnosePreview.js +98 -0
  192. package/dist/esm/preview-host/diagnosePreview.js.map +1 -0
  193. package/dist/esm/preview-host/index.d.ts +18 -0
  194. package/dist/esm/preview-host/index.d.ts.map +1 -0
  195. package/dist/esm/preview-host/index.js +18 -0
  196. package/dist/esm/preview-host/index.js.map +1 -0
  197. package/dist/esm/preview-host/previewProfile.d.ts +6 -0
  198. package/dist/esm/preview-host/previewProfile.d.ts.map +1 -0
  199. package/dist/esm/preview-host/previewProfile.js +49 -0
  200. package/dist/esm/preview-host/previewProfile.js.map +1 -0
  201. package/dist/esm/preview-host/previewSampleData.d.ts +22 -0
  202. package/dist/esm/preview-host/previewSampleData.d.ts.map +1 -0
  203. package/dist/esm/preview-host/previewSampleData.js +113 -0
  204. package/dist/esm/preview-host/previewSampleData.js.map +1 -0
  205. package/dist/esm/preview-host/resolvePreviewPlan.d.ts +18 -0
  206. package/dist/esm/preview-host/resolvePreviewPlan.d.ts.map +1 -0
  207. package/dist/esm/preview-host/resolvePreviewPlan.js +124 -0
  208. package/dist/esm/preview-host/resolvePreviewPlan.js.map +1 -0
  209. package/dist/esm/preview-host/useSizeClass.d.ts +3 -0
  210. package/dist/esm/preview-host/useSizeClass.d.ts.map +1 -0
  211. package/dist/esm/preview-host/useSizeClass.js +21 -0
  212. package/dist/esm/preview-host/useSizeClass.js.map +1 -0
  213. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  214. package/foundation/ChartWrapper.tsx +252 -0
  215. package/foundation/ColumnChooser.tsx +73 -0
  216. package/foundation/FilterBuilder.tsx +144 -0
  217. package/foundation/Foundation.stories.tsx +16 -0
  218. package/foundation/SavedViewsMenu.tsx +94 -0
  219. package/foundation/chartGeometry.ts +108 -0
  220. package/foundation/columnModel.ts +39 -0
  221. package/foundation/filterModel.ts +111 -0
  222. package/foundation/foundationComponentMetadata.ts +4 -0
  223. package/foundation/foundationDescriptors.ts +86 -1
  224. package/foundation/foundationSamples.ts +19 -0
  225. package/foundation/foundationStrings.ts +25 -0
  226. package/foundation/index.ts +9 -0
  227. package/foundation/useElementWidth.ts +31 -0
  228. package/foundation/viewModel.ts +21 -0
  229. package/index.ts +1 -0
  230. package/package.json +8 -8
  231. package/preview-host/ApplicationDocument.ts +31 -0
  232. package/preview-host/ApplicationHost.tsx +114 -0
  233. package/preview-host/FlowArrangementView.tsx +59 -0
  234. package/preview-host/PreviewProblem.ts +68 -0
  235. package/preview-host/PreviewProblemsView.tsx +31 -0
  236. package/preview-host/PreviewSliceFragment.ts +43 -0
  237. package/preview-host/PreviewTarget.ts +19 -0
  238. package/preview-host/PreviewTemplate.tsx +45 -0
  239. package/preview-host/PreviewToast.tsx +32 -0
  240. package/preview-host/ScenePreviewHost.tsx +250 -0
  241. package/preview-host/composeApplication.ts +273 -0
  242. package/preview-host/defaultApplicationChrome.ts +33 -0
  243. package/preview-host/diagnosePreview.ts +132 -0
  244. package/preview-host/index.ts +20 -0
  245. package/preview-host/previewProfile.ts +47 -0
  246. package/preview-host/previewSampleData.ts +144 -0
  247. package/preview-host/resolvePreviewPlan.ts +100 -0
  248. package/preview-host/useSizeClass.ts +23 -0
  249. package/shell/layout.css +307 -0
package/shell/layout.css CHANGED
@@ -1059,6 +1059,28 @@
1059
1059
  align-items: center;
1060
1060
  gap: 0.5rem;
1061
1061
  }
1062
+ /* The template wrapper and the preview host's own chrome. The shell, the navigation regions and the slice dialog are styled by
1063
+ `@cratis/scene.blueprint.default/styles.css`; import both. */
1064
+ .flow-container { display: flex; min-width: 0; min-height: 0; }
1065
+ .flow-container--row { flex-direction: row; }
1066
+ .flow-container--column { flex-direction: column; }
1067
+ .flow-container--grid { display: grid; }
1068
+ .flow-child { display: flex; min-width: 0; min-height: 0; }
1069
+ .flow-child > .flow-container,
1070
+ .flow-child > .scene-template-slot { flex: 1 1 auto; }
1071
+ .scene-template { display: flex; flex-direction: column; gap: var(--layout-gap, 1rem); min-width: 0; }
1072
+ .scene-template-slot { display: grid; gap: var(--layout-gap, 1rem); min-width: 0; width: 100%; align-content: start; }
1073
+
1074
+ .scene-preview-problems { margin: 1rem; padding: 1rem 1.25rem; border: 1px solid #e11d48; border-radius: 0.75rem; background: #fff1f2; color: #881337; }
1075
+ .scene-preview-problems h2 { margin: 0 0 0.5rem; font-size: 1.1rem; }
1076
+ .scene-preview-problems ul { margin: 0; padding-left: 1.25rem; }
1077
+ .scene-preview-problems li[data-severity='warning'] { color: #7a4b00; }
1078
+ .scene-preview-problems code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8rem; }
1079
+
1080
+ .scene-preview-toast { position: fixed; right: 1rem; bottom: 1rem; z-index: 1300; max-width: 26rem; padding: 0.75rem 1rem; border-radius: 0.75rem; background: #161b22; color: #fff; box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 0.35); }
1081
+ .scene-preview-toast summary { cursor: pointer; margin-top: 0.25rem; color: #c9d1d9; }
1082
+ .scene-preview-toast pre { margin: 0.5rem 0 0; max-height: 14rem; overflow: auto; font-size: 0.75rem; }
1083
+
1062
1084
 
1063
1085
  /*
1064
1086
  * FOUNDATION COMPONENTS
@@ -1300,3 +1322,288 @@
1300
1322
  border-radius: var(--foundation-radius);
1301
1323
  background: var(--foundation-surface);
1302
1324
  }
1325
+
1326
+ /* Chart wrapper. */
1327
+ .foundation-chart {
1328
+ padding: var(--foundation-space-4);
1329
+ border: 1px solid var(--foundation-border);
1330
+ border-radius: var(--foundation-radius);
1331
+ background: var(--foundation-surface);
1332
+ }
1333
+
1334
+ .foundation-chart-figure {
1335
+ display: flex;
1336
+ flex-direction: column;
1337
+ gap: var(--foundation-space-3);
1338
+ margin: 0;
1339
+ }
1340
+
1341
+ .foundation-chart-title {
1342
+ font-weight: 600;
1343
+ }
1344
+
1345
+ .foundation-chart-canvas {
1346
+ inline-size: 100%;
1347
+ min-inline-size: 0;
1348
+ }
1349
+
1350
+ .foundation-chart-plot {
1351
+ display: block;
1352
+ max-inline-size: 100%;
1353
+ margin-inline: auto;
1354
+ }
1355
+
1356
+ .foundation-chart-grid {
1357
+ stroke: var(--foundation-border);
1358
+ stroke-width: 1;
1359
+ }
1360
+
1361
+ .foundation-chart-tick {
1362
+ fill: var(--foundation-muted);
1363
+ font-size: 0.75rem;
1364
+ }
1365
+
1366
+ .foundation-chart-stage {
1367
+ fill: var(--foundation-text);
1368
+ font-size: 0.8125rem;
1369
+ font-weight: 600;
1370
+ paint-order: stroke;
1371
+ stroke: var(--foundation-surface);
1372
+ stroke-width: 3px;
1373
+ }
1374
+
1375
+ .foundation-chart-legend {
1376
+ display: flex;
1377
+ flex-wrap: wrap;
1378
+ gap: var(--foundation-space-2) var(--foundation-space-4);
1379
+ margin: 0;
1380
+ padding: 0;
1381
+ list-style: none;
1382
+ }
1383
+
1384
+ .foundation-chart-legend li {
1385
+ display: inline-flex;
1386
+ align-items: center;
1387
+ gap: var(--foundation-space-2);
1388
+ font-size: 0.875rem;
1389
+ }
1390
+
1391
+ .foundation-chart-data summary {
1392
+ cursor: pointer;
1393
+ color: var(--foundation-primary);
1394
+ font-size: 0.875rem;
1395
+ font-weight: 600;
1396
+ }
1397
+
1398
+ .foundation-chart-data table {
1399
+ inline-size: 100%;
1400
+ margin-block-start: var(--foundation-space-2);
1401
+ border-collapse: collapse;
1402
+ font-size: 0.875rem;
1403
+ font-variant-numeric: tabular-nums;
1404
+ }
1405
+
1406
+ .foundation-chart-data th,
1407
+ .foundation-chart-data td {
1408
+ padding: var(--foundation-space-1) var(--foundation-space-2);
1409
+ border-block-end: 1px solid var(--foundation-border);
1410
+ text-align: start;
1411
+ }
1412
+
1413
+ /* Shared form controls, links, popovers and lists. */
1414
+ .foundation select,
1415
+ .foundation input[type='text'],
1416
+ .foundation input[type='number'],
1417
+ .foundation input[type='date'] {
1418
+ min-block-size: 2.25rem;
1419
+ padding-inline: var(--foundation-space-2);
1420
+ border: 1px solid var(--foundation-border);
1421
+ border-radius: var(--foundation-radius);
1422
+ background: var(--foundation-surface);
1423
+ color: var(--foundation-text);
1424
+ font: inherit;
1425
+ }
1426
+
1427
+ .foundation-link {
1428
+ padding: var(--foundation-space-1) var(--foundation-space-2);
1429
+ border: 0;
1430
+ background: transparent;
1431
+ color: var(--foundation-primary);
1432
+ font: inherit;
1433
+ font-weight: 600;
1434
+ text-decoration: underline;
1435
+ cursor: pointer;
1436
+ }
1437
+
1438
+ .foundation-icon-button {
1439
+ display: inline-flex;
1440
+ align-items: center;
1441
+ justify-content: center;
1442
+ min-inline-size: 2.25rem;
1443
+ min-block-size: 2.25rem;
1444
+ padding: 0;
1445
+ border: 1px solid transparent;
1446
+ border-radius: var(--foundation-radius);
1447
+ background: transparent;
1448
+ color: var(--foundation-text);
1449
+ font: inherit;
1450
+ cursor: pointer;
1451
+ }
1452
+
1453
+ .foundation-icon-button:hover:not(:disabled) {
1454
+ background: var(--foundation-hover);
1455
+ }
1456
+
1457
+ .foundation-icon-button:disabled {
1458
+ opacity: 0.4;
1459
+ cursor: not-allowed;
1460
+ }
1461
+
1462
+ .foundation-count {
1463
+ color: var(--foundation-muted);
1464
+ font-size: 0.875rem;
1465
+ font-weight: 400;
1466
+ }
1467
+
1468
+ .foundation-popover-host {
1469
+ position: relative;
1470
+ display: inline-block;
1471
+ }
1472
+
1473
+ .foundation-popover {
1474
+ position: absolute;
1475
+ inset-block-start: 100%;
1476
+ inset-inline-start: 0;
1477
+ z-index: 10;
1478
+ display: flex;
1479
+ flex-direction: column;
1480
+ gap: var(--foundation-space-1);
1481
+ min-inline-size: 16rem;
1482
+ margin-block-start: var(--foundation-space-1);
1483
+ padding: var(--foundation-space-2);
1484
+ border: 1px solid var(--foundation-border);
1485
+ border-radius: var(--foundation-radius);
1486
+ background: var(--scene-surface-overlay, var(--foundation-surface));
1487
+ }
1488
+
1489
+ .foundation-popover[hidden] {
1490
+ display: none;
1491
+ }
1492
+
1493
+ .foundation-list {
1494
+ display: flex;
1495
+ flex-direction: column;
1496
+ margin: 0;
1497
+ padding: 0;
1498
+ list-style: none;
1499
+ }
1500
+
1501
+ .foundation-list-row {
1502
+ display: flex;
1503
+ align-items: center;
1504
+ gap: var(--foundation-space-1);
1505
+ }
1506
+
1507
+ .foundation-check {
1508
+ display: inline-flex;
1509
+ flex: 1;
1510
+ align-items: center;
1511
+ gap: var(--foundation-space-2);
1512
+ min-block-size: var(--foundation-row-height);
1513
+ }
1514
+
1515
+ .foundation-menu-item {
1516
+ display: flex;
1517
+ align-items: center;
1518
+ gap: var(--foundation-space-2);
1519
+ min-block-size: var(--foundation-row-height);
1520
+ padding-inline: var(--foundation-space-2);
1521
+ border: 0;
1522
+ border-radius: var(--foundation-radius);
1523
+ background: transparent;
1524
+ color: var(--foundation-text);
1525
+ font: inherit;
1526
+ text-align: start;
1527
+ cursor: pointer;
1528
+ }
1529
+
1530
+ .foundation-menu-item:hover,
1531
+ .foundation-menu-item:focus-visible {
1532
+ background: var(--foundation-hover);
1533
+ }
1534
+
1535
+ .foundation-menu-item[aria-disabled='true'] {
1536
+ opacity: 0.6;
1537
+ cursor: not-allowed;
1538
+ }
1539
+
1540
+ .foundation-menu-check {
1541
+ display: inline-flex;
1542
+ inline-size: 1em;
1543
+ }
1544
+
1545
+ .foundation-separator {
1546
+ inline-size: 100%;
1547
+ margin-block: var(--foundation-space-1);
1548
+ border: 0;
1549
+ border-block-start: 1px solid var(--foundation-border);
1550
+ }
1551
+
1552
+ /* Filter builder. */
1553
+ .foundation-filter-builder {
1554
+ padding: var(--foundation-space-3);
1555
+ border: 1px solid var(--foundation-border);
1556
+ border-radius: var(--foundation-radius);
1557
+ background: var(--foundation-surface);
1558
+ }
1559
+
1560
+ .foundation-filter-group {
1561
+ display: flex;
1562
+ flex-direction: column;
1563
+ gap: var(--foundation-space-2);
1564
+ }
1565
+
1566
+ .foundation-filter-group .foundation-filter-group {
1567
+ padding: var(--foundation-space-3);
1568
+ border: 1px dashed var(--foundation-border);
1569
+ border-radius: var(--foundation-radius);
1570
+ }
1571
+
1572
+ .foundation-filter-match,
1573
+ .foundation-filter-actions,
1574
+ .foundation-filter-footer {
1575
+ display: flex;
1576
+ flex-wrap: wrap;
1577
+ align-items: center;
1578
+ gap: var(--foundation-space-2);
1579
+ }
1580
+
1581
+ .foundation-filter-footer {
1582
+ justify-content: space-between;
1583
+ margin-block-start: var(--foundation-space-2);
1584
+ color: var(--foundation-muted);
1585
+ font-size: 0.875rem;
1586
+ }
1587
+
1588
+ .foundation-filter-row {
1589
+ display: grid;
1590
+ grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
1591
+ gap: var(--foundation-space-2);
1592
+ align-items: center;
1593
+ }
1594
+
1595
+ @media (max-width: 40rem) {
1596
+ .foundation-filter-row {
1597
+ grid-template-columns: minmax(0, 1fr) auto;
1598
+ }
1599
+
1600
+ .foundation-filter-row > select,
1601
+ .foundation-filter-row > input {
1602
+ grid-column: 1;
1603
+ }
1604
+
1605
+ .foundation-filter-row > button {
1606
+ grid-column: 2;
1607
+ grid-row: 1;
1608
+ }
1609
+ }