wuic-framework-lib 1.3.2 → 1.7.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.
- package/fesm2022/{wuic-framework-lib-chart-list.component-DAP-TPJR.mjs → wuic-framework-lib-chart-list.component-Bl424n7x.mjs} +49 -37
- package/fesm2022/{wuic-framework-lib-code-editor.component-CLMDvOWs.mjs → wuic-framework-lib-code-editor.component-N6HMl2mf.mjs} +441 -277
- package/fesm2022/{wuic-framework-lib-designer.component-DA7abiLW.mjs → wuic-framework-lib-designer.component-Bd2fwl6H.mjs} +1948 -641
- package/fesm2022/{wuic-framework-lib-first-run-wizard.component-BLrUrfZ9.mjs → wuic-framework-lib-first-run-wizard.component-NN6cWVHL.mjs} +18 -20
- package/fesm2022/{wuic-framework-lib-framework-docs.component-DphKhTef.mjs → wuic-framework-lib-framework-docs.component-B867JAYe.mjs} +4205 -380
- package/fesm2022/{wuic-framework-lib-pivot-builder.component-BqUUwrJM.mjs → wuic-framework-lib-pivot-builder.component-DWukH0L-.mjs} +578 -66
- package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-DZrhwMH5.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-DWO1Rcgv.mjs} +2 -2
- package/fesm2022/wuic-framework-lib-report-designer.component-QcrU81m6.mjs +380 -0
- package/fesm2022/wuic-framework-lib-report-scaffold-dialog.component-U-zdOoRV.mjs +431 -0
- package/fesm2022/{wuic-framework-lib-report-viewer.component-CIN2fY0P.mjs → wuic-framework-lib-report-viewer.component-B4LhA3SL.mjs} +8 -13
- package/fesm2022/wuic-framework-lib-scene3d-designer.component-DjOfzKLo.mjs +4813 -0
- package/fesm2022/wuic-framework-lib-scene3d-light-baker-gpu-C96T9uIW.mjs +303 -0
- package/fesm2022/wuic-framework-lib-scene3d-shader-effect-DjHyCAFK.mjs +2807 -0
- package/fesm2022/wuic-framework-lib-scene3d-viewer.component-Dboz1fjl.mjs +1130 -0
- package/fesm2022/{wuic-framework-lib-scheduler-list.component-CdcI1Uor.mjs → wuic-framework-lib-scheduler-list.component--wY21R3o.mjs} +169 -53
- package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-j1HTRI_P.mjs → wuic-framework-lib-spreadsheet-list-sf.component-Ek30J8v-.mjs} +147 -106
- package/fesm2022/{wuic-framework-lib-stimulsoft-license.service-BIyxB4pO.mjs → wuic-framework-lib-stimulsoft-license.service-CsNNSFYs.mjs} +3 -3
- package/fesm2022/wuic-framework-lib-timeline-list.component-aqCH4P0G.mjs +805 -0
- package/fesm2022/wuic-framework-lib-workflow-designer.component-DMM8BeXm.mjs +9504 -0
- package/fesm2022/{wuic-framework-lib-wuic-framework-lib-BRujEwpR.mjs → wuic-framework-lib-wuic-framework-lib-dfLTqam5.mjs} +14713 -8403
- package/fesm2022/wuic-framework-lib.mjs +1 -1
- package/package.json +5 -2
- package/styles/_wuic-tokens.scss +82 -0
- package/styles/styles.scss +160 -0
- package/types/wuic-framework-lib.d.ts +5971 -3666
- package/fesm2022/wuic-framework-lib-report-designer.component-D_qbefud.mjs +0 -194
- package/fesm2022/wuic-framework-lib-workflow-designer.component-SE_7ZogW.mjs +0 -5114
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { w as AUTH_REDIRECT_REASON_KEY, x as AppHeaderComponent, y as AppHeaderConfigService, z as AppSettingsEditorComponent, B as AuthSessionService, E as BooleanEditorComponent, H as BoundedRepeaterComponent, J as ButtonEditorComponent, K as CUSTOM_THEMES_STORAGE_KEY, N as CallbackPipe, O as CallbackPipe2, Q as CarouselListComponent, R as CodeAreaEditorComponent, S as ColorEditorComponent, V as CrashReporterService, X as CustomAttributesService, Y as CustomException, Z as DEFAULT_FONT_STACK, _ as DEFAULT_THEME_STORAGE_KEY, $ as DEFAULT_THEME_VALUE, a0 as DataActionButtonComponent, a1 as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, a2 as DateEditorComponent, a3 as DesignerRouteComponent, a4 as DictionaryEditorComponent, a as DynamicCompilerService, a5 as DynamicRowTemplateComponent, k as FieldEditorComponent, F as FilterBarComponent, q as FilterInfo, a6 as FormatGridViewValuePipe, a7 as GetSrcUploadPreviewPipe, G as GlobalHandler, a8 as HtmlEditorComponent, a9 as ImageWrapperComponent, I as ImportExportButtonComponent, aa as IsSelectedRowPipe, ab as KanbanListComponent, ac as KanbanOptions, ad as KanbanStatusColumnItem, ae as LazyChartListComponent, af as LazyCodeEditorComponent, ag as LazyDataActionButtonComponent, ah as LazyDataSourceComponent, ai as LazyFieldEditorComponent, aj as LazyFirstRunWizardComponent, ak as LazyImageWrapperComponent, al as LazyKanbanListComponent, am as LazyMetaMenuComponent, an as LazyPivotBuilderComponent, ao as LazyReportDesignerComponent, ap as LazyReportViewerComponent, aq as LazySchedulerListComponent, ar as LazySpreadsheetListSfComponent, as as LazyTimelineListComponent, r as LicenseFeatureService, at as ListGridComponent, au as LookupEditorComponent, av as MapListComponent, o as MetaInfo, aw as MetaMenuComponent, i as MetadataEditorService, M as MetadataProviderService, g as MetadatiColonna, ax as MetadatiTabella, ay as NotificationBellComponent, az as NotificationRealtimeService, aA as NumberEditorComponent, aB as PALETTE_STOPS, aC as PREVIEW_RESTORE_KEY, aD as PRIMARY_PALETTES, P as PagerComponent, f as ParametricDialogComponent, aE as PerformanceInspectorComponent, aF as PointFilterComponent, aG as PropertyArrayEditorComponent, aH as PropertyObjectEditorComponent, aI as RAG_DESTRUCTIVE_KINDS, aJ as RouteMetricsDashboardComponent, aK as Scene3dDesignerRouteComponent, aL as Scene3dViewerRouteComponent, aM as THEME_MODE_STORAGE_KEY, aN as THEME_OPTIONS, aO as THEME_STORAGE_KEY, aP as TextAreaEditorComponent, aQ as TextEditorComponent, aR as ThemeBuilderComponent, aS as ThemeCatalogService, aT as ThemePreviewPanelComponent, aU as ThemeRuntimeService, aV as ThemeSelectorComponent, u as TimelineOptions, T as TranslationManagerService, aW as TreeListComponent, aX as TreeViewSelectorComponent, aY as UploadDialogComponent, aZ as UploadEditorComponent, U as UserInfoService, a_ as UserLanguageService, a$ as UserMenuComponent, b0 as ValidationRule, b1 as ValueChangedPayload, b2 as VisibleFieldListPipe, b3 as WUIC_FONT_CATALOG, p as WUIC_SUPPRESS_GLOBAL_ERROR, b4 as WidgetDefinition, b5 as WorkflowDesignerRouteComponent, b6 as WorkflowRunnerComponent, j as WorkflowRuntimeMetadataService, W as WtoolboxService, b7 as WuicAziendaSwitcherComponent, b8 as WuicErrorDialogComponent, b9 as WuicErrorInterceptor, ba as WuicFeatureDirective, bb as WuicFrozenColumnDirective, bc as WuicRagChatbotComponent, bd as WuicRagChatbotFabComponent, be as WuicRagService, bf as WuicRowTogglerDirective, bg as _PRIMENG_TABLE_DIRECTIVES_NAMES, bh as authExpiredInterceptor, bi as bestContrastColor, bj as boundedRepeaterPendingChangesGuard, bk as buildCustomPreset, bl as buildThemeValue, d as clampAlpha, bm as computeDataQualitySummary, bn as contrastRatio, bo as createDraftTheme, bp as featureRouteCanActivateGuard, bq as featureRouteCanMatchGuard, br as generatePrimaryPalette, bs as generateSurfacePalette, bt as getQualityInspectorOptions, v as getThemeOptions, bu as getThemePrimaryHex, bv as hexToOklch, bw as hexToRgb, bx as hsbaToRgbaString, by as inferTemplateFieldFromBaseClass, bz as isCustomThemeValue, bA as isDestructiveRagAction, bB as isRoutePersistenceEnabled, bC as loadBooleanEditorComponent, bD as loadButtonEditorComponent, bE as loadCodeAreaEditorComponent, bF as loadColorEditorComponent, bG as loadDateEditorComponent, bH as loadDictionaryEditorComponent, bI as loadHtmlEditorComponent, bJ as loadLookupEditorComponent, bK as loadNumberEditorComponent, bL as loadPropertyArrayEditorComponent, bM as loadPropertyObjectEditorComponent, bN as loadTextAreaEditorComponent, bO as loadTextEditorComponent, bP as loadTreeViewSelectorComponent, bQ as loadUploadEditorComponent, bR as menuRouteAccessCanActivateGuard, bS as menuRouteAccessCanMatchGuard, bT as nearestPrimaryName, bU as normalizeHex, bV as oklchToHex, bW as oklchToRgb, bX as resolveBackgroundCss, bY as resolveFontStack, bZ as resolveGridStrengths, b_ as resolveThemePreset, b$ as resolveThemePresetForOption, c0 as rgbToHex, c1 as rgbToOklch, c2 as rgbaToHsbaModel, c3 as routeMetricsClient, c4 as routes, c5 as scene3dDesignerPendingChangesGuard, c6 as themeBuilderPendingChangesGuard, t as toHsbaModel, e as toPersistedColor, c7 as wcagLevel, c8 as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-dfLTqam5.mjs';
|
|
2
2
|
//# sourceMappingURL=wuic-framework-lib.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wuic-framework-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Wuic Angular Framework Library",
|
|
5
5
|
"author": "Wuic",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,9 +38,12 @@
|
|
|
38
38
|
"rete-area-plugin": "^2.0.0",
|
|
39
39
|
"rete-connection-plugin": "^2.0.0",
|
|
40
40
|
"rete-render-utils": "^2.0.0",
|
|
41
|
+
"three": "^0.185.1",
|
|
41
42
|
"primeflex": "^3.3.1",
|
|
42
43
|
"primeicons": "^7.0.0",
|
|
43
|
-
"primeng": ">=21.0.0"
|
|
44
|
+
"primeng": ">=21.0.0",
|
|
45
|
+
"@primeuix/styled": ">=0.7.0",
|
|
46
|
+
"@primeuix/themes": ">=2.0.0"
|
|
44
47
|
},
|
|
45
48
|
"dependencies": {
|
|
46
49
|
"stimulsoft-designer-angular": "^2026.1.7",
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Token di design condivisi del framework (--wuic-*).
|
|
2
|
+
// Sono DERIVATI dai token semantici PrimeUIX (--p-*): commutano da soli al
|
|
3
|
+
// cambio tema/preset, in dark mode (darkModeSelector `.theme-dark` ricalcola i
|
|
4
|
+
// --p-*) e in alto contrasto (l'host rimappa i --p-* sui --hc-*). Per questo
|
|
5
|
+
// i componenti che usano --wuic-* NON devono aggiungere blocchi
|
|
6
|
+
// `:host-context(.theme-dark)` propri: la commutazione avviene qui, una volta.
|
|
7
|
+
// I fallback hex servono solo quando i --p-* non sono ancora installati
|
|
8
|
+
// (bootstrap primissimo paint) e replicano il light di default.
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
// Superfici
|
|
12
|
+
--wuic-surface: var(--p-content-background, #ffffff);
|
|
13
|
+
--wuic-surface-soft: var(--p-content-hover-background, #f8fafc);
|
|
14
|
+
|
|
15
|
+
// Bordi
|
|
16
|
+
--wuic-border: var(--p-content-border-color, #d9e2ec);
|
|
17
|
+
--wuic-border-soft: color-mix(in srgb, var(--wuic-border) 55%, var(--wuic-surface));
|
|
18
|
+
|
|
19
|
+
// Testo
|
|
20
|
+
--wuic-text: var(--p-text-color, #1f2937);
|
|
21
|
+
--wuic-text-muted: var(--p-text-muted-color, #64748b);
|
|
22
|
+
|
|
23
|
+
// Accent (colore primario del tema attivo)
|
|
24
|
+
--wuic-accent: var(--p-primary-color, #3b82f6);
|
|
25
|
+
--wuic-accent-contrast: var(--p-primary-contrast-color, #ffffff);
|
|
26
|
+
--wuic-accent-soft: color-mix(in srgb, var(--wuic-accent) 12%, var(--wuic-surface));
|
|
27
|
+
|
|
28
|
+
// Raggi
|
|
29
|
+
--wuic-radius-sm: var(--p-border-radius-sm, 4px);
|
|
30
|
+
--wuic-radius-md: var(--p-border-radius-md, 6px);
|
|
31
|
+
--wuic-radius-lg: var(--p-border-radius-lg, 10px);
|
|
32
|
+
|
|
33
|
+
// Ombre: non derivabili dai --p-* (PrimeUIX non espone shadow semantiche),
|
|
34
|
+
// quindi hanno l'unico override esplicito in `.theme-dark` qui sotto.
|
|
35
|
+
--wuic-shadow-1: 0 1px 3px rgba(15, 23, 42, 0.08);
|
|
36
|
+
--wuic-shadow-2: 0 10px 24px rgba(15, 23, 42, 0.08);
|
|
37
|
+
|
|
38
|
+
// Spaziature (pilotate anche dal tema "dense")
|
|
39
|
+
--wuic-space-1: 4px;
|
|
40
|
+
--wuic-space-2: 8px;
|
|
41
|
+
--wuic-space-3: 16px;
|
|
42
|
+
|
|
43
|
+
// Tipografia e sfondo pagina.
|
|
44
|
+
// NON derivano dai --p-*: PrimeUIX non ha token per font-family, per il
|
|
45
|
+
// font-size globale (esistono solo `formField.sm/lg.fontSize`) ne' per lo
|
|
46
|
+
// sfondo della pagina. Sono scritti dal Theme Builder via
|
|
47
|
+
// documentElement.style.setProperty e applicati in styles.scss.
|
|
48
|
+
//
|
|
49
|
+
// Il default dello stack NON e' neutro di proposito: senza font-family il
|
|
50
|
+
// browser cade sul serif di sistema (verificato: body in "Times New Roman"),
|
|
51
|
+
// che non e' mai stata una scelta di design del framework.
|
|
52
|
+
--wuic-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
53
|
+
--wuic-font-scale: 16px;
|
|
54
|
+
--wuic-app-bg: var(--wuic-surface);
|
|
55
|
+
--wuic-app-bg-image: none;
|
|
56
|
+
--wuic-app-bg-overlay: transparent;
|
|
57
|
+
/* Resa dell'immagine di sfondo: `auto` + `repeat` per le texture,
|
|
58
|
+
`cover` per le foto a piena pagina. */
|
|
59
|
+
--wuic-app-bg-size: cover;
|
|
60
|
+
--wuic-app-bg-repeat: no-repeat;
|
|
61
|
+
--wuic-app-bg-position: center;
|
|
62
|
+
/* Durata della deriva del gradiente animato: lunga di proposito, deve
|
|
63
|
+
essere percepibile solo di sfuggita. */
|
|
64
|
+
--wuic-app-bg-anim-duration: 32s;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Unico blocco dark globale: solo i token non derivabili dai --p-*.
|
|
68
|
+
:is(html, body).theme-dark {
|
|
69
|
+
--wuic-shadow-1: 0 1px 3px rgba(0, 0, 0, 0.35);
|
|
70
|
+
--wuic-shadow-2: 0 14px 30px rgba(0, 0, 0, 0.35);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Densita' compatta: classe applicata su html/body dal theme selector (stesso
|
|
74
|
+
// meccanismo di `.theme-dark`) perche' definePreset() scrive solo --p-*.
|
|
75
|
+
// Solo spacing: i radius NON vanno ridefiniti qui — derivano gia' dai
|
|
76
|
+
// --p-border-radius-* che il preset Dense riduce, e un override creerebbe
|
|
77
|
+
// due fonti di verita' in conflitto.
|
|
78
|
+
:is(html, body).theme-dense {
|
|
79
|
+
--wuic-space-1: 2px;
|
|
80
|
+
--wuic-space-2: 5px;
|
|
81
|
+
--wuic-space-3: 10px;
|
|
82
|
+
}
|
package/styles/styles.scss
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'wuic-tokens';
|
|
2
|
+
|
|
1
3
|
$main_background: #fff;
|
|
2
4
|
|
|
3
5
|
:root {
|
|
@@ -5,10 +7,30 @@ $main_background: #fff;
|
|
|
5
7
|
--p-menubar-padding: 4px !important;
|
|
6
8
|
}
|
|
7
9
|
|
|
10
|
+
/* Scala tipografica globale: PrimeNG dimensiona tutto in `rem`, quindi il
|
|
11
|
+
font-size di <html> e' l'unica leva che scala coerentemente testo, padding e
|
|
12
|
+
altezze dei componenti. Pilotato dal Theme Builder entro 12-18px. */
|
|
13
|
+
html {
|
|
14
|
+
font-size: var(--wuic-font-scale, 16px);
|
|
15
|
+
}
|
|
16
|
+
|
|
8
17
|
html,
|
|
9
18
|
body {
|
|
10
19
|
margin: 0;
|
|
11
20
|
height: 100%;
|
|
21
|
+
/* Sfondo pagina dai token: senza, html/body restano trasparenti e nei
|
|
22
|
+
webview/browser con canvas scuro la cornice attorno alla shell appare
|
|
23
|
+
nera. Con i token segue anche dark e high-contrast.
|
|
24
|
+
`--wuic-app-bg` permette al Theme Builder di sovrascrivere il colore
|
|
25
|
+
(o mettere un gradiente) senza toccare la superficie dei componenti. */
|
|
26
|
+
background-color: var(--wuic-app-bg, var(--wuic-surface, #ffffff));
|
|
27
|
+
background-image: var(--wuic-app-bg-image, none);
|
|
28
|
+
background-size: var(--wuic-app-bg-size, cover);
|
|
29
|
+
background-repeat: var(--wuic-app-bg-repeat, no-repeat);
|
|
30
|
+
background-position: var(--wuic-app-bg-position, center);
|
|
31
|
+
background-attachment: fixed;
|
|
32
|
+
color: var(--wuic-text, #1f2937);
|
|
33
|
+
font-family: var(--wuic-font-family);
|
|
12
34
|
}
|
|
13
35
|
|
|
14
36
|
body {
|
|
@@ -17,6 +39,88 @@ body {
|
|
|
17
39
|
box-sizing: border-box;
|
|
18
40
|
}
|
|
19
41
|
|
|
42
|
+
/* Deriva lenta del gradiente di sfondo (opt-in dal tema, classe messa da
|
|
43
|
+
`ThemeRuntimeService`).
|
|
44
|
+
*
|
|
45
|
+
* Si anima l'INCLINAZIONE del gradiente. Un `linear-gradient` non e'
|
|
46
|
+
* interpolabile di per se': la registrazione con `@property` dichiara
|
|
47
|
+
* `--wuic-app-bg-angle` come `<angle>`, ed e' quella dichiarazione a rendere
|
|
48
|
+
* la proprieta' animabile. Nei browser che non supportano `@property` la
|
|
49
|
+
* custom property resta al valore iniziale e il gradiente e' semplicemente
|
|
50
|
+
* fermo — degradazione voluta.
|
|
51
|
+
*
|
|
52
|
+
* L'oscillazione e' di +/- 28 gradi attorno all'inclinazione scelta
|
|
53
|
+
* dall'admin (`--wuic-app-bg-angle-base`): abbastanza per vedere i colori
|
|
54
|
+
* riorganizzarsi, non tanto da ribaltare il gradiente e stravolgere il tema. */
|
|
55
|
+
@property --wuic-app-bg-spin {
|
|
56
|
+
syntax: '<angle>';
|
|
57
|
+
inherits: true;
|
|
58
|
+
initial-value: 0deg;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* L'animazione va su `html`, NON su `body`: il gradiente vive dentro
|
|
62
|
+
`--wuic-app-bg-image`, che `ThemeRuntimeService` dichiara su `html`, e il
|
|
63
|
+
`var(--wuic-app-bg-spin)` annidato si risolve sull'elemento che DICHIARA la
|
|
64
|
+
variabile. Animando su `body` lo spin cambiava (verificato) ma il gradiente
|
|
65
|
+
continuava a leggere il valore iniziale di `html`, restando fermo. */
|
|
66
|
+
html.wuic-bg-animated {
|
|
67
|
+
animation: wuic-app-bg-drift var(--wuic-app-bg-anim-duration, 32s) ease-in-out infinite alternate;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* I due estremi sono LETTERALI, non `calc(var(...) ± delta)`: un keyframe il
|
|
71
|
+
cui valore contiene `var()` non viene interpolato (verificato: l'angolo
|
|
72
|
+
restava fermo al valore di partenza). L'inclinazione scelta dall'admin
|
|
73
|
+
entra quindi nel gradiente, non qui: il gradiente animato e' costruito come
|
|
74
|
+
`linear-gradient(calc(<base> + var(--wuic-app-bg-spin)), ...)` e questi
|
|
75
|
+
keyframe fanno oscillare il solo scostamento.
|
|
76
|
+
Ampiezza +/- 60 gradi: il movimento si vede, ma il gradiente non raggiunge
|
|
77
|
+
mai l'orientamento opposto (servirebbero 180 gradi di scostamento), quindi
|
|
78
|
+
i colori non si scambiano mai i lati e l'inclinazione impostata resta
|
|
79
|
+
riconoscibile per tutto il ciclo. */
|
|
80
|
+
@keyframes wuic-app-bg-drift {
|
|
81
|
+
from { --wuic-app-bg-spin: -60deg; }
|
|
82
|
+
to { --wuic-app-bg-spin: 60deg; }
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Chi ha chiesto meno movimento non lo subisce: l'animazione e' continua e
|
|
86
|
+
copre l'intera finestra, cioe' il caso peggiore per chi soffre di motion
|
|
87
|
+
sickness. Il gradiente resta, fermo. */
|
|
88
|
+
@media (prefers-reduced-motion: reduce) {
|
|
89
|
+
html.wuic-bg-animated {
|
|
90
|
+
animation: none;
|
|
91
|
+
--wuic-app-bg-spin: 0deg;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* Velo opzionale sopra l'immagine di sfondo: senza, un'immagine con molto
|
|
96
|
+
contrasto rende illeggibile il testo della shell. `pointer-events: none` e
|
|
97
|
+
z-index negativo perche' non deve mai intercettare i click. */
|
|
98
|
+
body::before {
|
|
99
|
+
content: '';
|
|
100
|
+
position: fixed;
|
|
101
|
+
inset: 0;
|
|
102
|
+
background: var(--wuic-app-bg-overlay, transparent);
|
|
103
|
+
pointer-events: none;
|
|
104
|
+
z-index: -1;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* I controlli form nativi NON ereditano il font dal documento (default dello
|
|
108
|
+
user-agent: usano il font di sistema), per questo i bottoni restavano in
|
|
109
|
+
Arial mentre il resto della pagina cambiava. Regola classica di normalize.
|
|
110
|
+
Mirata ai soli elementi form: NON tocca gli <i>/<span> delle icon-font, che
|
|
111
|
+
restano su primeicons/Material Icons e continuano a mostrare i glifi.
|
|
112
|
+
(Una guardia con `font-family: revert` sulle icone sarebbe controproducente:
|
|
113
|
+
`revert` scarta anche la regola author di primeicons e le icone tornerebbero
|
|
114
|
+
a ereditare il font della pagina, cioe' esattamente il bug che dovrebbe
|
|
115
|
+
prevenire — verificato.) */
|
|
116
|
+
button,
|
|
117
|
+
input,
|
|
118
|
+
textarea,
|
|
119
|
+
select,
|
|
120
|
+
optgroup {
|
|
121
|
+
font-family: inherit;
|
|
122
|
+
}
|
|
123
|
+
|
|
20
124
|
$widget_edit_popup_height: 90%;
|
|
21
125
|
$widget_edit_popup_width: 75%;
|
|
22
126
|
|
|
@@ -70,6 +174,62 @@ a.p-menuitem-link {
|
|
|
70
174
|
word-break: break-word;
|
|
71
175
|
}
|
|
72
176
|
|
|
177
|
+
/* ── Posizioni header (tab "Header & Menu" di app-settings-editor) ──────────
|
|
178
|
+
Classi `wuic-header-pos-*` applicate su html/body da <wuic-app-header>
|
|
179
|
+
(stesso meccanismo di `theme-dark`). Targettano le convenzioni della shell
|
|
180
|
+
host (`.app-shell`, `.app-shell-header`, `.app-shell-content`): le install
|
|
181
|
+
che usano <wuic-app-header> ereditano i layout senza toccare la shell. */
|
|
182
|
+
:is(html, body).wuic-header-pos-bottom .app-shell {
|
|
183
|
+
flex-direction: column-reverse;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
:is(html, body).wuic-header-pos-left .app-shell {
|
|
187
|
+
flex-direction: row;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
:is(html, body).wuic-header-pos-right .app-shell {
|
|
191
|
+
flex-direction: row-reverse;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
:is(html, body).wuic-header-pos-left .app-shell-header,
|
|
195
|
+
:is(html, body).wuic-header-pos-right .app-shell-header {
|
|
196
|
+
flex: 0 0 280px;
|
|
197
|
+
width: 280px;
|
|
198
|
+
min-width: 280px;
|
|
199
|
+
height: 100%;
|
|
200
|
+
overflow-y: auto;
|
|
201
|
+
overflow-x: visible;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/* La shell orizzontale usa `height: 0` sul content (trucco flex): in verticale
|
|
205
|
+
il content e' un fratello di riga e deve riempire l'altezza reale. */
|
|
206
|
+
:is(html, body).wuic-header-pos-left .app-shell-content,
|
|
207
|
+
:is(html, body).wuic-header-pos-right .app-shell-content {
|
|
208
|
+
height: 100%;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/* ── Submenu a colonna singola ("Multi-column submenus" OFF) ────────────────
|
|
212
|
+
Classe `wuic-submenu-singlecol` applicata da <wuic-app-header>. I submenu
|
|
213
|
+
grandi non stanno nel viewport: il primo livello diventa scrollabile e i
|
|
214
|
+
NESTED passano a inline/accordion — un flyout absolute dentro uno scroll
|
|
215
|
+
container verrebbe clippato (feedback 2026-08-07: "overflow auto rompe la
|
|
216
|
+
gestione del menu"). Scoped su .wuic-app-header-menu per non toccare gli
|
|
217
|
+
altri p-menubar della pagina (es. caption bar della list-grid). */
|
|
218
|
+
:is(html, body).wuic-submenu-singlecol .wuic-app-header-menu .p-menubar-root-list > .p-menubar-item > .p-menubar-submenu {
|
|
219
|
+
max-height: calc(100vh - 140px);
|
|
220
|
+
overflow-y: auto;
|
|
221
|
+
overflow-x: hidden;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
:is(html, body).wuic-submenu-singlecol .wuic-app-header-menu .p-menubar-submenu .p-menubar-submenu {
|
|
225
|
+
position: static !important;
|
|
226
|
+
width: 100% !important;
|
|
227
|
+
min-width: 0;
|
|
228
|
+
box-shadow: none;
|
|
229
|
+
border: 0;
|
|
230
|
+
padding-left: 16px;
|
|
231
|
+
}
|
|
232
|
+
|
|
73
233
|
.edit-form-button-bar {
|
|
74
234
|
list-style-type: none;
|
|
75
235
|
padding: 0;
|