ngx-t-forms 2.0.29 → 2.0.31
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/ngx-t-forms-auto-complete-input-element.component-DCKuXHAW.mjs +104 -0
- package/fesm2022/ngx-t-forms-auto-complete-input-element.component-DCKuXHAW.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-basic-input-input-element.component-Ce4ipSUc.mjs +85 -0
- package/fesm2022/ngx-t-forms-basic-input-input-element.component-Ce4ipSUc.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-C5TPddVe.mjs +643 -0
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-C5TPddVe.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-CICQaqz6.mjs +97 -0
- package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-CICQaqz6.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-CzisLSIP.mjs +195 -0
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-CzisLSIP.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-data-source-picker.component-Dzz_o6fJ.mjs +261 -0
- package/fesm2022/ngx-t-forms-data-source-picker.component-Dzz_o6fJ.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-date-picker-input-element.component-CYUbVyzP.mjs +85 -0
- package/fesm2022/ngx-t-forms-date-picker-input-element.component-CYUbVyzP.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-date-range-picker-input-element.component-CmoquQGV.mjs +156 -0
- package/fesm2022/ngx-t-forms-date-range-picker-input-element.component-CmoquQGV.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-CLUOXreG.mjs +368 -0
- package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-CLUOXreG.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-document-picker.component-qObjcqhE.mjs +704 -0
- package/fesm2022/ngx-t-forms-document-picker.component-qObjcqhE.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-editor-input-element.component-BLXlfb6F.mjs +294 -0
- package/fesm2022/ngx-t-forms-editor-input-element.component-BLXlfb6F.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-editor-js-input.component-BQL0AH7H.mjs +240 -0
- package/fesm2022/ngx-t-forms-editor-js-input.component-BQL0AH7H.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-file-upload-input-element.component-C7mMeEjF.mjs +205 -0
- package/fesm2022/ngx-t-forms-file-upload-input-element.component-C7mMeEjF.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-input-selector.component-C9u8zq9B.mjs +86 -0
- package/fesm2022/ngx-t-forms-form-input-selector.component-C9u8zq9B.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-json-view.component-856Hx1Bg.mjs +22 -0
- package/fesm2022/ngx-t-forms-form-json-view.component-856Hx1Bg.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-payload-projection.component-CDkTuX9S.mjs +179 -0
- package/fesm2022/ngx-t-forms-form-payload-projection.component-CDkTuX9S.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Bs50-nEB.mjs +319 -0
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Bs50-nEB.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-qrhM0jGL.mjs +379 -0
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-qrhM0jGL.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-geo-location.component-Bosp1UzR.mjs +124 -0
- package/fesm2022/ngx-t-forms-geo-location.component-Bosp1UzR.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-getInputIcon-B4ADgevZ.mjs +31 -0
- package/fesm2022/ngx-t-forms-getInputIcon-B4ADgevZ.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-image-capture-input-element.component-C1g7Z0cK.mjs +180 -0
- package/fesm2022/ngx-t-forms-image-capture-input-element.component-C1g7Z0cK.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-index-dDSobs6A.mjs +2 -0
- package/fesm2022/ngx-t-forms-index-dDSobs6A.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-input-custom.component-BkbHFAyR.mjs +105 -0
- package/fesm2022/ngx-t-forms-input-custom.component-BkbHFAyR.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-input-editor.component-BPUOM9kQ.mjs +181 -0
- package/fesm2022/ngx-t-forms-input-editor.component-BPUOM9kQ.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-map-mat-options-keys-CbdW82su.mjs → ngx-t-forms-map-mat-options-keys-B6hJ7Io5.mjs} +12 -14
- package/fesm2022/ngx-t-forms-map-mat-options-keys-B6hJ7Io5.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-c7uZT1sr.mjs +66 -0
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-c7uZT1sr.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-CTSBrM-j.mjs +211 -0
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-CTSBrM-j.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-CcYiwx-8.mjs +165 -0
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-CcYiwx-8.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DrnH8qdG.mjs +38 -0
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DrnH8qdG.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-C_abEBQ5.mjs +38 -0
- package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-C_abEBQ5.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mscoa-error-display.component-99DpVSy7.mjs +126 -0
- package/fesm2022/ngx-t-forms-mscoa-error-display.component-99DpVSy7.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-C0qsMfsq.mjs +336 -0
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-C0qsMfsq.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-B1Z-IXSL.mjs +74 -0
- package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-B1Z-IXSL.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-multiple-input-input-element.component-C7y1OGPx.mjs +905 -0
- package/fesm2022/ngx-t-forms-multiple-input-input-element.component-C7y1OGPx.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-ngx-t-forms-u_kigDid.mjs +19461 -0
- package/fesm2022/ngx-t-forms-ngx-t-forms-u_kigDid.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-paginated-selection-table-AQZSMmhr.mjs +555 -0
- package/fesm2022/ngx-t-forms-paginated-selection-table-AQZSMmhr.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-pipeline-generator.component-DmNSc5aw.mjs +748 -0
- package/fesm2022/ngx-t-forms-pipeline-generator.component-DmNSc5aw.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-record-list-manager.component-CUMMvMch.mjs +358 -0
- package/fesm2022/ngx-t-forms-record-list-manager.component-CUMMvMch.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-required-inputs.component-Ch2yNcIS.mjs +272 -0
- package/fesm2022/ngx-t-forms-required-inputs.component-Ch2yNcIS.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-C_aFtdvW.mjs +398 -0
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-C_aFtdvW.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-search-field.component-B2ZO7lqO.mjs +38 -0
- package/fesm2022/ngx-t-forms-search-field.component-B2ZO7lqO.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-section-report.component-BxOhR6C0.mjs +98 -0
- package/fesm2022/ngx-t-forms-section-report.component-BxOhR6C0.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-select-input-element.component-DbgZdNoe.mjs +150 -0
- package/fesm2022/ngx-t-forms-select-input-element.component-DbgZdNoe.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-selection-options-editor.component-Dhln81DL.mjs +169 -0
- package/fesm2022/ngx-t-forms-selection-options-editor.component-Dhln81DL.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-t-workflow-picker.component-leBokXvM.mjs +204 -0
- package/fesm2022/ngx-t-forms-t-workflow-picker.component-leBokXvM.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-textarea-input-element.component-BEbXJjFA.mjs +95 -0
- package/fesm2022/ngx-t-forms-textarea-input-element.component-BEbXJjFA.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-toggle-input-element.component-DDErRUJd.mjs +82 -0
- package/fesm2022/ngx-t-forms-toggle-input-element.component-DDErRUJd.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-validators-config.component-oGjQVGE2.mjs +733 -0
- package/fesm2022/ngx-t-forms-validators-config.component-oGjQVGE2.mjs.map +1 -0
- package/fesm2022/ngx-t-forms-workflow-adjudication.component-CtU8dECN.mjs +1303 -0
- package/fesm2022/ngx-t-forms-workflow-adjudication.component-CtU8dECN.mjs.map +1 -0
- package/fesm2022/ngx-t-forms.mjs +2 -1
- package/fesm2022/ngx-t-forms.mjs.map +1 -1
- package/package.json +20 -18
- package/styles/_editor-mixins.scss +62 -0
- package/styles/_json-editor-syntax.scss +26 -0
- package/styles/_signature-pad.scss +26 -0
- package/styles/_tokens.scss +148 -0
- package/types/ngx-t-forms.d.ts +1767 -621
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-D-SBMdYg.mjs +0 -313
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-D-SBMdYg.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-1cpszpPN.mjs +0 -191
- package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-1cpszpPN.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DFdAVWTg.mjs +0 -207
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DFdAVWTg.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-data-source-picker.component-DxORinAD.mjs +0 -204
- package/fesm2022/ngx-t-forms-data-source-picker.component-DxORinAD.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-DcWS1txl.mjs +0 -289
- package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-DcWS1txl.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-input-selector.component-B2QEnvkq.mjs +0 -134
- package/fesm2022/ngx-t-forms-form-input-selector.component-B2QEnvkq.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-json-view.component-DePf44w6.mjs +0 -22
- package/fesm2022/ngx-t-forms-form-json-view.component-DePf44w6.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-BTkcSjg7.mjs +0 -270
- package/fesm2022/ngx-t-forms-form-section-stepper.component-BTkcSjg7.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-Wamzf_sq.mjs +0 -345
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-Wamzf_sq.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-input-editor.component-D4xHO76K.mjs +0 -147
- package/fesm2022/ngx-t-forms-input-editor.component-D4xHO76K.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-map-mat-options-keys-CbdW82su.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs +0 -105
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs +0 -109
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs +0 -155
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs +0 -28
- package/fesm2022/ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs +0 -43
- package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs +0 -116
- package/fesm2022/ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-B6IF8kGg.mjs +0 -296
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-B6IF8kGg.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-BPkjsRmH.mjs +0 -83
- package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-BPkjsRmH.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-D9qmig6g.mjs +0 -16844
- package/fesm2022/ngx-t-forms-ngx-t-forms-D9qmig6g.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-pipeline-generator.component-DBJEyCbd.mjs +0 -613
- package/fesm2022/ngx-t-forms-pipeline-generator.component-DBJEyCbd.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-record-list-manager.component-Dgs9lNSr.mjs +0 -269
- package/fesm2022/ngx-t-forms-record-list-manager.component-Dgs9lNSr.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-required-inputs.component-CSIJvSHq.mjs +0 -190
- package/fesm2022/ngx-t-forms-required-inputs.component-CSIJvSHq.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-CY-JSkGs.mjs +0 -291
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-CY-JSkGs.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-section-report.component-12-KdKT6.mjs +0 -156
- package/fesm2022/ngx-t-forms-section-report.component-12-KdKT6.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-selection-options-editor.component-Be3QAG_L.mjs +0 -186
- package/fesm2022/ngx-t-forms-selection-options-editor.component-Be3QAG_L.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-t-workflow-picker.component-a4f1r8gH.mjs +0 -187
- package/fesm2022/ngx-t-forms-t-workflow-picker.component-a4f1r8gH.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-validators-config.component-B3j9Dmgu.mjs +0 -215
- package/fesm2022/ngx-t-forms-validators-config.component-B3j9Dmgu.mjs.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// ngx-t-forms — JSON Editor Syntax Highlighting (consumer-opt-in)
|
|
2
|
+
//
|
|
3
|
+
// The <app-json-editor> component renders its syntax highlights via
|
|
4
|
+
// [innerHTML], which Angular's emulated view encapsulation cannot scope.
|
|
5
|
+
// To keep the component itself on `ViewEncapsulation.Emulated` (per
|
|
6
|
+
// CLAUDE.md §3 and DECISIONS.md D-012), the five `.json-*` classes that
|
|
7
|
+
// colour keys, strings, numbers, booleans, and null tokens live here as
|
|
8
|
+
// a global partial.
|
|
9
|
+
//
|
|
10
|
+
// Usage — from the consumer's GLOBAL SCSS entry (e.g. `styles.scss`):
|
|
11
|
+
//
|
|
12
|
+
// @use 'ngx-t-forms/styles/json-editor-syntax';
|
|
13
|
+
//
|
|
14
|
+
// If you do not render <app-json-editor> visually, you can skip this
|
|
15
|
+
// import — the editor will still function, but the highlighted text will
|
|
16
|
+
// render with the default text colour (no syntax colouring).
|
|
17
|
+
//
|
|
18
|
+
// Colour palette: VS Code Dark inspired, now driven by the `--lib-forms-code-*`
|
|
19
|
+
// tokens defined in `styles/tokens` (Phase 6). The hex fallbacks keep this
|
|
20
|
+
// partial self-contained if the consumer loads it without the token sheet.
|
|
21
|
+
|
|
22
|
+
.json-key { color: var(--lib-forms-code-key, #9cdcfe); } // Light Blue (VS Code key)
|
|
23
|
+
.json-string { color: var(--lib-forms-code-string, #ce9178); } // Orange/Red
|
|
24
|
+
.json-number { color: var(--lib-forms-code-number, #b5cea8); } // Light Green
|
|
25
|
+
.json-boolean { color: var(--lib-forms-code-boolean, #569cd6); } // Dark Blue
|
|
26
|
+
.json-null { color: var(--lib-forms-code-null, #569cd6); } // Dark Blue
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// ngx-t-forms — Signature Pad Canvas Sizing (consumer-opt-in)
|
|
2
|
+
//
|
|
3
|
+
// <lib-signature-pad-input> creates its drawing <canvas> imperatively
|
|
4
|
+
// (document.createElement('canvas') + host.appendChild(canvas)) inside the
|
|
5
|
+
// `.signature-container` host div. Because that element is injected at
|
|
6
|
+
// runtime rather than rendered from the template, Angular's emulated view
|
|
7
|
+
// encapsulation never stamps it with the component's `_ngcontent` attribute,
|
|
8
|
+
// so a component-scoped `.signature-container canvas` rule would no longer
|
|
9
|
+
// match the canvas after moving off ViewEncapsulation.None.
|
|
10
|
+
//
|
|
11
|
+
// To keep the component itself on `ViewEncapsulation.Emulated` (per
|
|
12
|
+
// CLAUDE.md §3 and DECISIONS.md D-012, following the json-editor precedent),
|
|
13
|
+
// the single canvas-sizing rule lives here as a global partial.
|
|
14
|
+
//
|
|
15
|
+
// Usage — from the consumer's GLOBAL SCSS entry (e.g. `styles.scss`):
|
|
16
|
+
//
|
|
17
|
+
// @use 'ngx-t-forms/styles/signature-pad';
|
|
18
|
+
//
|
|
19
|
+
// Without this import the signature pad still functions, but the imperatively
|
|
20
|
+
// created canvas falls back to its intrinsic size (the component sets an
|
|
21
|
+
// explicit pixel height in TS; width fills the host via this rule).
|
|
22
|
+
|
|
23
|
+
.signature-container canvas {
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 200px;
|
|
26
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
// ngx-t-forms — Design Tokens (Phase 6 · Visual debt)
|
|
2
|
+
// =====================================================
|
|
3
|
+
//
|
|
4
|
+
// THE single source of truth for every customizable visual value in the
|
|
5
|
+
// library. Component SCSS references these via `var(--lib-forms-*)` /
|
|
6
|
+
// `var(--sem-*)` and NEVER hardcodes a hex literal (CLAUDE.md §3 Visual;
|
|
7
|
+
// MIGRATION_PLAN.md §12). Token files are the one place a hex is allowed —
|
|
8
|
+
// here it is only ever a *fallback* behind a Material system variable.
|
|
9
|
+
//
|
|
10
|
+
// Source of truth for light/dark: Angular Material M3 system variables
|
|
11
|
+
// (`--mat-sys-*`). When the consumer sets up `mat.theme()`, these tokens
|
|
12
|
+
// inherit the active theme automatically. The hex fallbacks below match
|
|
13
|
+
// Material's M3 baseline (purple) so rendering is unchanged when no theme
|
|
14
|
+
// is loaded — preserving pre-migration parity (MIGRATION_PLAN.md §12.3).
|
|
15
|
+
//
|
|
16
|
+
// Re-theming (exit criterion, MIGRATION_PLAN.md §12.4): a consumer overrides
|
|
17
|
+
// any `--lib-forms-*` / `--sem-*` on `:root` (or a `.dark` / `[data-theme]`
|
|
18
|
+
// scope) in their GLOBAL styles and the whole library re-themes.
|
|
19
|
+
//
|
|
20
|
+
// USAGE — from the consumer's GLOBAL SCSS entry (e.g. `styles.scss`):
|
|
21
|
+
//
|
|
22
|
+
// @use 'ngx-t-forms/styles/tokens';
|
|
23
|
+
//
|
|
24
|
+
// This is a required integration step (additive, same convention as the
|
|
25
|
+
// Material theme and `ngx-t-forms/styles/json-editor-syntax`, DECISIONS.md
|
|
26
|
+
// D-012 / D-017).
|
|
27
|
+
|
|
28
|
+
:root {
|
|
29
|
+
// ---- Surface & text scale (Material M3 neutrals) -----------------------
|
|
30
|
+
--lib-forms-surface: var(--mat-sys-surface, #fef7ff);
|
|
31
|
+
--lib-forms-surface-container-lowest: var(--mat-sys-surface-container-lowest, #ffffff);
|
|
32
|
+
--lib-forms-surface-container-low: var(--mat-sys-surface-container-low, #f7f2fa);
|
|
33
|
+
--lib-forms-surface-container: var(--mat-sys-surface-container, #f3edf7);
|
|
34
|
+
--lib-forms-surface-container-high: var(--mat-sys-surface-container-high, #ece6f0);
|
|
35
|
+
--lib-forms-surface-container-highest: var(--mat-sys-surface-container-highest, #e6e0e9);
|
|
36
|
+
--lib-forms-surface-dim: var(--mat-sys-surface-dim, #ded8e1);
|
|
37
|
+
|
|
38
|
+
--lib-forms-on-surface: var(--mat-sys-on-surface, #1c1b1f);
|
|
39
|
+
--lib-forms-on-surface-variant: var(--mat-sys-on-surface-variant, #49454f);
|
|
40
|
+
|
|
41
|
+
--lib-forms-outline: var(--mat-sys-outline, #79747e);
|
|
42
|
+
--lib-forms-outline-variant: var(--mat-sys-outline-variant, #cac4d0);
|
|
43
|
+
|
|
44
|
+
// ---- Single accent (Material M3 primary) -------------------------------
|
|
45
|
+
--lib-forms-primary: var(--mat-sys-primary, #6750a4);
|
|
46
|
+
--lib-forms-on-primary: var(--mat-sys-on-primary, #ffffff);
|
|
47
|
+
--lib-forms-primary-container: var(--mat-sys-primary-container, #eaddff);
|
|
48
|
+
--lib-forms-on-primary-container: var(--mat-sys-on-primary-container, #21005d);
|
|
49
|
+
|
|
50
|
+
// ---- Error (structural; mirrors --sem-error) ---------------------------
|
|
51
|
+
--lib-forms-error: var(--mat-sys-error, #b3261e);
|
|
52
|
+
--lib-forms-on-error: var(--mat-sys-on-error, #ffffff);
|
|
53
|
+
--lib-forms-error-container: var(--mat-sys-error-container, #f9dedc);
|
|
54
|
+
--lib-forms-on-error-container: var(--mat-sys-on-error-container, #410e0b);
|
|
55
|
+
|
|
56
|
+
// ---- Shadow colour (so component shadows stay tokenised) ---------------
|
|
57
|
+
--lib-forms-shadow-color: var(--mat-sys-shadow, #000000);
|
|
58
|
+
|
|
59
|
+
// ---- Radius (preserves pre-migration values; not a Phase 6 gap) --------
|
|
60
|
+
--lib-forms-radius-sm: 8px;
|
|
61
|
+
--lib-forms-radius-md: 10px;
|
|
62
|
+
--lib-forms-radius-lg: 12px;
|
|
63
|
+
--lib-forms-radius-pill: 999px;
|
|
64
|
+
|
|
65
|
+
// ---- Elevation (GDP §17 — wide, soft, monochromatic) -------------------
|
|
66
|
+
--lib-forms-shadow-edge: 0 1px 2px color-mix(in srgb, var(--lib-forms-shadow-color) 4%, transparent);
|
|
67
|
+
--lib-forms-shadow-resting: 0 4px 24px color-mix(in srgb, var(--lib-forms-shadow-color) 6%, transparent);
|
|
68
|
+
--lib-forms-shadow-hover: 0 8px 40px color-mix(in srgb, var(--lib-forms-shadow-color) 10%, transparent);
|
|
69
|
+
--lib-forms-shadow-floating: 0 16px 56px color-mix(in srgb, var(--lib-forms-shadow-color) 14%, transparent);
|
|
70
|
+
|
|
71
|
+
// ---- Motion (GDP §16 / L-05) -------------------------------------------
|
|
72
|
+
// The luxury easing: fast start, slow decelerate — never mechanical.
|
|
73
|
+
--lib-forms-easing: cubic-bezier(0.16, 1, 0.3, 1);
|
|
74
|
+
--lib-forms-duration-hover: 300ms; // hover / border / outline changes
|
|
75
|
+
--lib-forms-duration: 400ms; // entrance / exit / toggle / expand
|
|
76
|
+
|
|
77
|
+
// ---- Semantic palette (GDP §2c) — chips / badges / alerts / inline -----
|
|
78
|
+
// Status hues. Never used as structural/decorative colour (SC-01..SC-07).
|
|
79
|
+
--sem-error: var(--mat-sys-error, #b3261e);
|
|
80
|
+
--sem-success: #1a6b3a;
|
|
81
|
+
--sem-warning: #7c5800;
|
|
82
|
+
--sem-info: #2c4393;
|
|
83
|
+
--sem-premium: #8b3a00;
|
|
84
|
+
|
|
85
|
+
--sem-error-surface: color-mix(in srgb, var(--sem-error) 10%, var(--lib-forms-surface));
|
|
86
|
+
--sem-success-surface: color-mix(in srgb, var(--sem-success) 10%, var(--lib-forms-surface));
|
|
87
|
+
--sem-warning-surface: color-mix(in srgb, #c87800 10%, var(--lib-forms-surface));
|
|
88
|
+
--sem-info-surface: color-mix(in srgb, var(--sem-info) 10%, var(--lib-forms-surface));
|
|
89
|
+
--sem-premium-surface: color-mix(in srgb, #c45000 10%, var(--lib-forms-surface));
|
|
90
|
+
|
|
91
|
+
// ---- Workflow-state hues (GDP §2c hue map) -----------------------------
|
|
92
|
+
// Amber=user action needed · Red=viewer accountable/blocking ·
|
|
93
|
+
// Rust=someone else blocking · Blue=automated · Emerald=terminal success ·
|
|
94
|
+
// Slate=archived · Charcoal=concurrency lock.
|
|
95
|
+
--sem-amber: #b06f00;
|
|
96
|
+
--sem-red: var(--mat-sys-error, #b3261e);
|
|
97
|
+
--sem-rust: #8a3b1e;
|
|
98
|
+
--sem-blue: #2c4393;
|
|
99
|
+
--sem-emerald: #1a6b3a;
|
|
100
|
+
--sem-slate: #4a5568;
|
|
101
|
+
--sem-charcoal: #3a3a3a;
|
|
102
|
+
|
|
103
|
+
--sem-amber-surface: color-mix(in srgb, var(--sem-amber) 12%, var(--lib-forms-surface));
|
|
104
|
+
--sem-red-surface: color-mix(in srgb, var(--sem-red) 12%, var(--lib-forms-surface));
|
|
105
|
+
--sem-rust-surface: color-mix(in srgb, var(--sem-rust) 12%, var(--lib-forms-surface));
|
|
106
|
+
--sem-blue-surface: color-mix(in srgb, var(--sem-blue) 12%, var(--lib-forms-surface));
|
|
107
|
+
--sem-emerald-surface: color-mix(in srgb, var(--sem-emerald) 12%, var(--lib-forms-surface));
|
|
108
|
+
--sem-slate-surface: color-mix(in srgb, var(--sem-slate) 12%, var(--lib-forms-surface));
|
|
109
|
+
--sem-charcoal-surface: color-mix(in srgb, var(--sem-charcoal) 12%, var(--lib-forms-surface));
|
|
110
|
+
|
|
111
|
+
// ---- Code / syntax-highlight palette (json-editor; opt-in) -------------
|
|
112
|
+
// VS Code Dark inspired. Consumed by `styles/json-editor-syntax`.
|
|
113
|
+
--lib-forms-code-bg: #1e1e1e;
|
|
114
|
+
--lib-forms-code-surface: #252526;
|
|
115
|
+
--lib-forms-code-border: #3e3e42;
|
|
116
|
+
--lib-forms-code-fg: #d4d4d4;
|
|
117
|
+
--lib-forms-code-key: #9cdcfe; // light blue
|
|
118
|
+
--lib-forms-code-string: #ce9178; // orange/red
|
|
119
|
+
--lib-forms-code-number: #b5cea8; // light green
|
|
120
|
+
--lib-forms-code-boolean: #569cd6; // dark blue
|
|
121
|
+
--lib-forms-code-null: #569cd6; // dark blue
|
|
122
|
+
--lib-forms-code-error: #f48771; // soft red
|
|
123
|
+
|
|
124
|
+
// ---- HTTP method hues (REST / Postman editors) -------------------------
|
|
125
|
+
// Reuse the semantic palette so they adapt in dark mode (SC-* compliant —
|
|
126
|
+
// only ever used as a small method badge, never structural colour).
|
|
127
|
+
--lib-forms-method-get: var(--sem-emerald, #1a6b3a);
|
|
128
|
+
--lib-forms-method-post: var(--sem-blue, #2c4393);
|
|
129
|
+
--lib-forms-method-put: var(--sem-amber, #b06f00);
|
|
130
|
+
--lib-forms-method-patch: var(--sem-rust, #8a3b1e);
|
|
131
|
+
--lib-forms-method-delete: var(--sem-error, #b3261e);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Dark-mode text overrides (GDP §2c — surfaces adapt via color-mix; only
|
|
135
|
+
// the semantic text hues need lightening). Library reacts to a consumer-set
|
|
136
|
+
// `.dark` / `[data-theme="dark"]` scope — it never declares the switch itself.
|
|
137
|
+
:root.dark,
|
|
138
|
+
.dark,
|
|
139
|
+
[data-theme='dark'] {
|
|
140
|
+
--sem-success: #4caf82;
|
|
141
|
+
--sem-warning: #e6a817;
|
|
142
|
+
--sem-premium: #d4743a;
|
|
143
|
+
|
|
144
|
+
--sem-amber: #e6a817;
|
|
145
|
+
--sem-rust: #c5734f;
|
|
146
|
+
--sem-emerald: #4caf82;
|
|
147
|
+
--sem-slate: #94a3b8;
|
|
148
|
+
}
|