@forgeroute/ui 0.4.51 → 0.4.52
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/forgeroute-ui-charts.mjs +6 -5
- package/fesm2022/forgeroute-ui-charts.mjs.map +1 -1
- package/fesm2022/forgeroute-ui-messaging.mjs +4 -2
- package/fesm2022/forgeroute-ui-messaging.mjs.map +1 -1
- package/fesm2022/forgeroute-ui.mjs +451 -59
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui-messaging.d.ts +4 -4
- package/types/forgeroute-ui-stripe.d.ts +1 -1
- package/types/forgeroute-ui.d.ts +115 -10
|
@@ -3403,7 +3403,7 @@ var CheckboxComponent = class CheckboxComponent {
|
|
|
3403
3403
|
}
|
|
3404
3404
|
`,
|
|
3405
3405
|
isInline: true,
|
|
3406
|
-
styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#dc2626;margin-left:2px}.cb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;width:20px;height:20px;border:2px solid #7c8ba1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"],
|
|
3406
|
+
styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#dc2626;margin-left:2px}.cb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;box-sizing:border-box;width:20px;height:20px;border:2px solid #7c8ba1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"],
|
|
3407
3407
|
dependencies: [{
|
|
3408
3408
|
kind: "directive",
|
|
3409
3409
|
type: NgTemplateOutlet,
|
|
@@ -3543,7 +3543,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3543
3543
|
</div>
|
|
3544
3544
|
}
|
|
3545
3545
|
`,
|
|
3546
|
-
styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#dc2626;margin-left:2px}.cb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;width:20px;height:20px;border:2px solid #7c8ba1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"]
|
|
3546
|
+
styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#dc2626;margin-left:2px}.cb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;box-sizing:border-box;width:20px;height:20px;border:2px solid #7c8ba1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"]
|
|
3547
3547
|
}]
|
|
3548
3548
|
}],
|
|
3549
3549
|
ctorParameters: () => [],
|
|
@@ -8462,7 +8462,7 @@ var DetailCardComponent = class DetailCardComponent {
|
|
|
8462
8462
|
</div>
|
|
8463
8463
|
`,
|
|
8464
8464
|
isInline: true,
|
|
8465
|
-
styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc.dc-fill .dc-body{display:flex;flex-direction:column}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-has-bg .dc-header.open{border-bottom-color:#94a3b859}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.8125rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.dc-edit-action:hover{background:#f1f5f9;color:#1e293b}.dc-edit-action:focus-visible{outline:2px solid var(--ui-focus, #3b82f6);outline-offset:2px}@media(pointer:coarse),(max-width:480px){.dc-edit-action{min-height:44px}}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{padding:16px 18px;min-height:0;overflow-x:hidden;overflow-y:auto;max-height:var(--dc-body-max-height, none)}.dc-footer{padding:10px 18px;border-top:1px solid #f1f5f9}.dc-footer:empty,.dc-footer.dc-footer--hidden{display:none}.dc-has-bg .dc-footer{border-top-color:#94a3b859}@media(max-width:480px){.dc-footer{padding:10px 14px}.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"],
|
|
8465
|
+
styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc.dc-fill .dc-body{display:flex;flex-direction:column}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-has-bg .dc-header.open{border-bottom-color:#94a3b859}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.8125rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.dc-edit-action:hover{background:#f1f5f9;color:#1e293b}.dc-edit-action:focus-visible{outline:2px solid var(--ui-focus, #3b82f6);outline-offset:2px}@media(pointer:coarse),(max-width:480px){.dc-edit-action{min-height:44px}}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{box-sizing:border-box;padding:16px 18px;min-height:0;overflow-x:hidden;overflow-y:auto;max-height:var(--dc-body-max-height, none)}.dc-footer{padding:10px 18px;border-top:1px solid #f1f5f9}.dc-footer:empty,.dc-footer.dc-footer--hidden{display:none}.dc-has-bg .dc-footer{border-top-color:#94a3b859}@media(max-width:480px){.dc-footer{padding:10px 14px}.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"],
|
|
8466
8466
|
dependencies: [{
|
|
8467
8467
|
kind: "component",
|
|
8468
8468
|
type: ButtonComponent,
|
|
@@ -8562,7 +8562,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
8562
8562
|
<div class="dc-footer" [class.dc-footer--hidden]="!isOpen()" [style.background]="footerBackground() || null"><ng-content select="[card-footer]" /></div>
|
|
8563
8563
|
</div>
|
|
8564
8564
|
`,
|
|
8565
|
-
styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc.dc-fill .dc-body{display:flex;flex-direction:column}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-has-bg .dc-header.open{border-bottom-color:#94a3b859}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.8125rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.dc-edit-action:hover{background:#f1f5f9;color:#1e293b}.dc-edit-action:focus-visible{outline:2px solid var(--ui-focus, #3b82f6);outline-offset:2px}@media(pointer:coarse),(max-width:480px){.dc-edit-action{min-height:44px}}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{padding:16px 18px;min-height:0;overflow-x:hidden;overflow-y:auto;max-height:var(--dc-body-max-height, none)}.dc-footer{padding:10px 18px;border-top:1px solid #f1f5f9}.dc-footer:empty,.dc-footer.dc-footer--hidden{display:none}.dc-has-bg .dc-footer{border-top-color:#94a3b859}@media(max-width:480px){.dc-footer{padding:10px 14px}.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"]
|
|
8565
|
+
styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc.dc-fill .dc-body{display:flex;flex-direction:column}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-has-bg .dc-header.open{border-bottom-color:#94a3b859}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.8125rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.dc-edit-action:hover{background:#f1f5f9;color:#1e293b}.dc-edit-action:focus-visible{outline:2px solid var(--ui-focus, #3b82f6);outline-offset:2px}@media(pointer:coarse),(max-width:480px){.dc-edit-action{min-height:44px}}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{box-sizing:border-box;padding:16px 18px;min-height:0;overflow-x:hidden;overflow-y:auto;max-height:var(--dc-body-max-height, none)}.dc-footer{padding:10px 18px;border-top:1px solid #f1f5f9}.dc-footer:empty,.dc-footer.dc-footer--hidden{display:none}.dc-has-bg .dc-footer{border-top-color:#94a3b859}@media(max-width:480px){.dc-footer{padding:10px 14px}.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"]
|
|
8566
8566
|
}]
|
|
8567
8567
|
}],
|
|
8568
8568
|
propDecorators: {
|
|
@@ -11752,7 +11752,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
11752
11752
|
const active = this._activeTab();
|
|
11753
11753
|
const keys = Object.keys(counts).length > 0 && active && !present.includes(active) ? [...present, active] : present;
|
|
11754
11754
|
if (!keys.length) return [];
|
|
11755
|
-
const toLabel = (s) => this._columnBadgeLabel(s) ?? s.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/-/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
|
|
11755
|
+
const toLabel = (s) => this._columnBadgeLabel(s) ?? (/[a-z]/.test(s) ? s : s.toLowerCase()).replace(/([a-z])([A-Z])/g, "$1 $2").replace(/-/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
|
|
11756
11756
|
const singleValue = keys.length === 1;
|
|
11757
11757
|
return [{
|
|
11758
11758
|
value: "",
|
|
@@ -15722,7 +15722,7 @@ var AudioPlayerComponent = class AudioPlayerComponent {
|
|
|
15722
15722
|
@if (failed()) {
|
|
15723
15723
|
<p class="ap-error" role="alert">Audio could not be played.</p>
|
|
15724
15724
|
} @else {
|
|
15725
|
-
<audio class="ap-audio" controls [attr.preload]="preload()" [src]="src() || null" [attr.aria-label]="ariaLabel() || null"
|
|
15725
|
+
<audio class="ap-audio" controls [attr.preload]="preload()" [attr.src]="src() || null" [attr.aria-label]="ariaLabel() || null"
|
|
15726
15726
|
(error)="onError()">
|
|
15727
15727
|
Your browser does not support the audio element.
|
|
15728
15728
|
</audio>
|
|
@@ -15749,7 +15749,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
15749
15749
|
@if (failed()) {
|
|
15750
15750
|
<p class="ap-error" role="alert">Audio could not be played.</p>
|
|
15751
15751
|
} @else {
|
|
15752
|
-
<audio class="ap-audio" controls [attr.preload]="preload()" [src]="src() || null" [attr.aria-label]="ariaLabel() || null"
|
|
15752
|
+
<audio class="ap-audio" controls [attr.preload]="preload()" [attr.src]="src() || null" [attr.aria-label]="ariaLabel() || null"
|
|
15753
15753
|
(error)="onError()">
|
|
15754
15754
|
Your browser does not support the audio element.
|
|
15755
15755
|
</audio>
|
|
@@ -18468,8 +18468,9 @@ var AlertComponent = class AlertComponent {
|
|
|
18468
18468
|
</div>
|
|
18469
18469
|
`,
|
|
18470
18470
|
isInline: true,
|
|
18471
|
-
styles: ["
|
|
18472
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
18471
|
+
styles: ["ui-alert{display:block}ui-alert .alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}ui-alert .alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}ui-alert .alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}ui-alert .alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}ui-alert .alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}ui-alert .alert--neutral{background:#f1f5f9;border-color:#64748b;color:#334155}ui-alert .alert--fill{height:100%;box-sizing:border-box}ui-alert .alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}ui-alert .alert-content{flex:1;display:flex;flex-direction:column;gap:2px}ui-alert .alert-title{font-weight:700}ui-alert .alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}ui-alert .alert-body--inline{display:block}ui-alert .alert-body--inline>*{vertical-align:middle}ui-alert .alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}ui-alert .alert-dismiss:hover{opacity:1}ui-alert .alert-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(pointer:coarse),(max-width:480px){ui-alert .alert-dismiss{position:relative}ui-alert .alert-dismiss:after{content:\"\";position:absolute;inset:-13px}}\n"],
|
|
18472
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
18473
|
+
encapsulation: i0.ViewEncapsulation.None
|
|
18473
18474
|
});
|
|
18474
18475
|
}
|
|
18475
18476
|
};
|
|
@@ -18484,6 +18485,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
18484
18485
|
selector: "ui-alert",
|
|
18485
18486
|
standalone: true,
|
|
18486
18487
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18488
|
+
encapsulation: ViewEncapsulation.None,
|
|
18487
18489
|
template: `
|
|
18488
18490
|
<div class="alert" [class]="'alert alert--' + variant()" [class.alert--compact]="compact()" [class.alert--fill]="fill()" [attr.role]="quiet() ? null : (variant() === 'danger' ? 'alert' : 'status')">
|
|
18489
18491
|
<div class="alert-content">
|
|
@@ -18499,7 +18501,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
18499
18501
|
}
|
|
18500
18502
|
</div>
|
|
18501
18503
|
`,
|
|
18502
|
-
styles: ["
|
|
18504
|
+
styles: ["ui-alert{display:block}ui-alert .alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}ui-alert .alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}ui-alert .alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}ui-alert .alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}ui-alert .alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}ui-alert .alert--neutral{background:#f1f5f9;border-color:#64748b;color:#334155}ui-alert .alert--fill{height:100%;box-sizing:border-box}ui-alert .alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}ui-alert .alert-content{flex:1;display:flex;flex-direction:column;gap:2px}ui-alert .alert-title{font-weight:700}ui-alert .alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}ui-alert .alert-body--inline{display:block}ui-alert .alert-body--inline>*{vertical-align:middle}ui-alert .alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}ui-alert .alert-dismiss:hover{opacity:1}ui-alert .alert-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(pointer:coarse),(max-width:480px){ui-alert .alert-dismiss{position:relative}ui-alert .alert-dismiss:after{content:\"\";position:absolute;inset:-13px}}\n"]
|
|
18503
18505
|
}]
|
|
18504
18506
|
}],
|
|
18505
18507
|
propDecorators: {
|
|
@@ -18660,7 +18662,7 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
|
|
|
18660
18662
|
this._el = inject(ElementRef);
|
|
18661
18663
|
this._searchSub = null;
|
|
18662
18664
|
this.zipCtl.valueChanges.pipe(takeUntilDestroyed()).subscribe((v) => {
|
|
18663
|
-
this._zipEdited.set(true);
|
|
18665
|
+
if (v !== this._zip()) this._zipEdited.set(true);
|
|
18664
18666
|
this._typed(this.zipCtl, this._zip, v, 5);
|
|
18665
18667
|
});
|
|
18666
18668
|
this.areaCtl.valueChanges.pipe(takeUntilDestroyed()).subscribe((v) => this._typed(this.areaCtl, this._area, v, 3));
|
|
@@ -18692,6 +18694,9 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
|
|
|
18692
18694
|
event.preventDefault();
|
|
18693
18695
|
this.submit();
|
|
18694
18696
|
}
|
|
18697
|
+
onFieldBlur(from) {
|
|
18698
|
+
if (this.mode() === from) this.touched.set(true);
|
|
18699
|
+
}
|
|
18695
18700
|
onBeforeInput(event) {
|
|
18696
18701
|
const e = event;
|
|
18697
18702
|
if (e.inputType?.startsWith("insertText") && e.data && /\D/.test(e.data)) e.preventDefault();
|
|
@@ -18928,13 +18933,13 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
|
|
|
18928
18933
|
label="ZIP code" [required]="true" [maxlength]="5" type="text" inputmode="numeric" autocomplete="postal-code"
|
|
18929
18934
|
placeholder="78701" [formControl]="zipCtl" [error]="fieldError()" [showErrors]="touched()"
|
|
18930
18935
|
hint="We'll look for numbers near this ZIP code. Edit it if you want a different area."
|
|
18931
|
-
(blurred)="
|
|
18936
|
+
(blurred)="onFieldBlur('zip')" data-testid="pn-zip" />
|
|
18932
18937
|
} @else {
|
|
18933
18938
|
<ui-text-input
|
|
18934
18939
|
label="Area code" [required]="true" [maxlength]="3" type="text" inputmode="numeric" autocomplete="off"
|
|
18935
18940
|
placeholder="512" [formControl]="areaCtl" [error]="fieldError()" [showErrors]="touched()"
|
|
18936
18941
|
hint="We'll look for numbers in this area code."
|
|
18937
|
-
(blurred)="
|
|
18942
|
+
(blurred)="onFieldBlur('area-code')" data-testid="pn-area" />
|
|
18938
18943
|
}
|
|
18939
18944
|
</div>
|
|
18940
18945
|
</div>
|
|
@@ -19226,13 +19231,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
19226
19231
|
label="ZIP code" [required]="true" [maxlength]="5" type="text" inputmode="numeric" autocomplete="postal-code"
|
|
19227
19232
|
placeholder="78701" [formControl]="zipCtl" [error]="fieldError()" [showErrors]="touched()"
|
|
19228
19233
|
hint="We'll look for numbers near this ZIP code. Edit it if you want a different area."
|
|
19229
|
-
(blurred)="
|
|
19234
|
+
(blurred)="onFieldBlur('zip')" data-testid="pn-zip" />
|
|
19230
19235
|
} @else {
|
|
19231
19236
|
<ui-text-input
|
|
19232
19237
|
label="Area code" [required]="true" [maxlength]="3" type="text" inputmode="numeric" autocomplete="off"
|
|
19233
19238
|
placeholder="512" [formControl]="areaCtl" [error]="fieldError()" [showErrors]="touched()"
|
|
19234
19239
|
hint="We'll look for numbers in this area code."
|
|
19235
|
-
(blurred)="
|
|
19240
|
+
(blurred)="onFieldBlur('area-code')" data-testid="pn-area" />
|
|
19236
19241
|
}
|
|
19237
19242
|
</div>
|
|
19238
19243
|
</div>
|
|
@@ -19556,6 +19561,8 @@ var PillTabsComponent = class PillTabsComponent {
|
|
|
19556
19561
|
this.ariaLabel = input(null, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
19557
19562
|
this.name = input("pill-tabs-" + Math.random().toString(36).slice(2), ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
|
|
19558
19563
|
this.noWrap = input(false, ...ngDevMode ? [{ debugName: "noWrap" }] : /* istanbul ignore next */ []);
|
|
19564
|
+
this.orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
|
|
19565
|
+
this.vertical = () => this.orientation() === "vertical";
|
|
19559
19566
|
this.tabChange = output();
|
|
19560
19567
|
this.canScrollStart = signal(false, ...ngDevMode ? [{ debugName: "canScrollStart" }] : /* istanbul ignore next */ []);
|
|
19561
19568
|
this.canScrollEnd = signal(false, ...ngDevMode ? [{ debugName: "canScrollEnd" }] : /* istanbul ignore next */ []);
|
|
@@ -19592,14 +19599,15 @@ var PillTabsComponent = class PillTabsComponent {
|
|
|
19592
19599
|
}
|
|
19593
19600
|
onKeydown(e) {
|
|
19594
19601
|
const enabled = this.tabs().filter((t) => !t.disabled);
|
|
19602
|
+
const [nextKey, prevKey] = this.vertical() ? ["ArrowDown", "ArrowUp"] : ["ArrowRight", "ArrowLeft"];
|
|
19595
19603
|
if (!enabled.length || ![
|
|
19596
|
-
|
|
19597
|
-
|
|
19604
|
+
nextKey,
|
|
19605
|
+
prevKey,
|
|
19598
19606
|
"Home",
|
|
19599
19607
|
"End"
|
|
19600
19608
|
].includes(e.key)) return;
|
|
19601
19609
|
const current = Math.max(0, enabled.findIndex((t) => t.key === this.activeKey()));
|
|
19602
|
-
const next = e.key === "Home" ? 0 : e.key === "End" ? enabled.length - 1 : (current + (e.key ===
|
|
19610
|
+
const next = e.key === "Home" ? 0 : e.key === "End" ? enabled.length - 1 : (current + (e.key === nextKey ? 1 : -1) + enabled.length) % enabled.length;
|
|
19603
19611
|
e.preventDefault();
|
|
19604
19612
|
const key = enabled[next].key;
|
|
19605
19613
|
this.select(key);
|
|
@@ -19657,13 +19665,20 @@ var PillTabsComponent = class PillTabsComponent {
|
|
|
19657
19665
|
isSignal: true,
|
|
19658
19666
|
isRequired: false,
|
|
19659
19667
|
transformFunction: null
|
|
19668
|
+
},
|
|
19669
|
+
orientation: {
|
|
19670
|
+
classPropertyName: "orientation",
|
|
19671
|
+
publicName: "orientation",
|
|
19672
|
+
isSignal: true,
|
|
19673
|
+
isRequired: false,
|
|
19674
|
+
transformFunction: null
|
|
19660
19675
|
}
|
|
19661
19676
|
},
|
|
19662
19677
|
outputs: { tabChange: "tabChange" },
|
|
19663
19678
|
ngImport: i0,
|
|
19664
19679
|
template: `
|
|
19665
|
-
<div class="pill-wrap">
|
|
19666
|
-
<div class="pill-tabs" [class.pill-tabs--nowrap]="noWrap()" role="tablist" [attr.aria-label]="ariaLabel()" (keydown)="onKeydown($event)" (scroll)="updateOverflow()">
|
|
19680
|
+
<div class="pill-wrap" [class.pill-wrap--vertical]="vertical()">
|
|
19681
|
+
<div class="pill-tabs" [class.pill-tabs--nowrap]="noWrap()" [class.pill-tabs--vertical]="vertical()" role="tablist" [attr.aria-label]="ariaLabel()" [attr.aria-orientation]="vertical() ? 'vertical' : null" (keydown)="onKeydown($event)" (scroll)="updateOverflow()">
|
|
19667
19682
|
@for (tab of tabs(); track tab.key) {
|
|
19668
19683
|
<button type="button" class="pill-tab" role="tab"
|
|
19669
19684
|
[id]="name() + '-' + tab.key"
|
|
@@ -19692,7 +19707,7 @@ var PillTabsComponent = class PillTabsComponent {
|
|
|
19692
19707
|
</div>
|
|
19693
19708
|
`,
|
|
19694
19709
|
isInline: true,
|
|
19695
|
-
styles: [".pill-wrap{position:relative}.pill-fade{position:absolute;top:0;bottom:0;width:28px;pointer-events:none;opacity:0;transition:opacity .15s}.pill-fade.visible{opacity:1}.pill-fade--start{left:0;background:linear-gradient(to right,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-fade--end{right:0;background:linear-gradient(to left,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-tabs{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:768px){.pill-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}}.pill-tabs--nowrap .pill-tab{flex:0 0 auto;white-space:nowrap}.pill-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;font-family:inherit}.pill-tab:hover:not(.disabled):not(.active){background:#f8fafc;border-color:#94a3b8}.pill-tab:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.pill-tab .pill-count{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:999px;line-height:1.4}.pill-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.pill-tab.active .pill-count{background:#fff3;color:#fff}.pill-tab.active:hover{background:#1e293b;color:#fff}.pill-tab.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pill-tab .pill-info-icon{flex-shrink:0;opacity:.7}.pill-tab:hover .pill-info-icon,.pill-tab:focus-visible .pill-info-icon{opacity:1}.pill-tab .pill-info-tip{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:max-content;max-width:280px;padding:8px 12px;border-radius:8px;background:#1e293b;color:#fff;font-size:.75rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 4px 12px #0f172a40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility .12s}.pill-tab:hover .pill-info-tip,.pill-tab:focus-visible .pill-info-tip{opacity:1;visibility:visible}.pill-tab:last-child .pill-info-tip{left:auto;right:0}@media(pointer:coarse),(max-width:480px){.pill-tab{min-height:44px}}\n"],
|
|
19710
|
+
styles: [".pill-wrap{position:relative}.pill-fade{position:absolute;top:0;bottom:0;width:28px;pointer-events:none;opacity:0;transition:opacity .15s}.pill-fade.visible{opacity:1}.pill-fade--start{left:0;background:linear-gradient(to right,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-fade--end{right:0;background:linear-gradient(to left,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-tabs{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:768px){.pill-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}}.pill-tabs--nowrap .pill-tab{flex:0 0 auto;white-space:nowrap}.pill-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;font-family:inherit}.pill-tab:hover:not(.disabled):not(.active){background:#f8fafc;border-color:#94a3b8}.pill-tab:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.pill-tab .pill-count{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:999px;line-height:1.4}.pill-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.pill-tab.active .pill-count{background:#fff3;color:#fff}.pill-tab.active:hover{background:#1e293b;color:#fff}.pill-tab.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pill-tab .pill-info-icon{flex-shrink:0;opacity:.7}.pill-tab:hover .pill-info-icon,.pill-tab:focus-visible .pill-info-icon{opacity:1}.pill-tab .pill-info-tip{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:max-content;max-width:280px;padding:8px 12px;border-radius:8px;background:#1e293b;color:#fff;font-size:.75rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 4px 12px #0f172a40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility .12s}.pill-tab:hover .pill-info-tip,.pill-tab:focus-visible .pill-info-tip{opacity:1;visibility:visible}.pill-tab:last-child .pill-info-tip{left:auto;right:0}.pill-wrap--vertical .pill-fade{display:none}.pill-tabs.pill-tabs--vertical{flex-direction:column;flex-wrap:nowrap;overflow:visible;gap:4px;padding-bottom:0}.pill-tabs--vertical .pill-tab{width:100%;justify-content:flex-start;border-radius:10px;text-align:left}.pill-tabs--vertical .pill-tab .pill-count{margin-left:auto}.pill-tabs--vertical .pill-tab .pill-info-tip{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.pill-tabs--vertical .pill-tab:last-child .pill-info-tip{left:calc(100% + 8px);right:auto}@media(pointer:coarse),(max-width:480px){.pill-tab{min-height:44px}}\n"],
|
|
19696
19711
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
19697
19712
|
});
|
|
19698
19713
|
}
|
|
@@ -19709,8 +19724,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
19709
19724
|
standalone: true,
|
|
19710
19725
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
19711
19726
|
template: `
|
|
19712
|
-
<div class="pill-wrap">
|
|
19713
|
-
<div class="pill-tabs" [class.pill-tabs--nowrap]="noWrap()" role="tablist" [attr.aria-label]="ariaLabel()" (keydown)="onKeydown($event)" (scroll)="updateOverflow()">
|
|
19727
|
+
<div class="pill-wrap" [class.pill-wrap--vertical]="vertical()">
|
|
19728
|
+
<div class="pill-tabs" [class.pill-tabs--nowrap]="noWrap()" [class.pill-tabs--vertical]="vertical()" role="tablist" [attr.aria-label]="ariaLabel()" [attr.aria-orientation]="vertical() ? 'vertical' : null" (keydown)="onKeydown($event)" (scroll)="updateOverflow()">
|
|
19714
19729
|
@for (tab of tabs(); track tab.key) {
|
|
19715
19730
|
<button type="button" class="pill-tab" role="tab"
|
|
19716
19731
|
[id]="name() + '-' + tab.key"
|
|
@@ -19738,7 +19753,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
19738
19753
|
<span class="pill-fade pill-fade--end" [class.visible]="canScrollEnd()" aria-hidden="true" data-testid="pill-fade-end"></span>
|
|
19739
19754
|
</div>
|
|
19740
19755
|
`,
|
|
19741
|
-
styles: [".pill-wrap{position:relative}.pill-fade{position:absolute;top:0;bottom:0;width:28px;pointer-events:none;opacity:0;transition:opacity .15s}.pill-fade.visible{opacity:1}.pill-fade--start{left:0;background:linear-gradient(to right,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-fade--end{right:0;background:linear-gradient(to left,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-tabs{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:768px){.pill-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}}.pill-tabs--nowrap .pill-tab{flex:0 0 auto;white-space:nowrap}.pill-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;font-family:inherit}.pill-tab:hover:not(.disabled):not(.active){background:#f8fafc;border-color:#94a3b8}.pill-tab:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.pill-tab .pill-count{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:999px;line-height:1.4}.pill-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.pill-tab.active .pill-count{background:#fff3;color:#fff}.pill-tab.active:hover{background:#1e293b;color:#fff}.pill-tab.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pill-tab .pill-info-icon{flex-shrink:0;opacity:.7}.pill-tab:hover .pill-info-icon,.pill-tab:focus-visible .pill-info-icon{opacity:1}.pill-tab .pill-info-tip{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:max-content;max-width:280px;padding:8px 12px;border-radius:8px;background:#1e293b;color:#fff;font-size:.75rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 4px 12px #0f172a40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility .12s}.pill-tab:hover .pill-info-tip,.pill-tab:focus-visible .pill-info-tip{opacity:1;visibility:visible}.pill-tab:last-child .pill-info-tip{left:auto;right:0}@media(pointer:coarse),(max-width:480px){.pill-tab{min-height:44px}}\n"]
|
|
19756
|
+
styles: [".pill-wrap{position:relative}.pill-fade{position:absolute;top:0;bottom:0;width:28px;pointer-events:none;opacity:0;transition:opacity .15s}.pill-fade.visible{opacity:1}.pill-fade--start{left:0;background:linear-gradient(to right,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-fade--end{right:0;background:linear-gradient(to left,var(--ui-pill-tabs-fade, #fff),transparent)}.pill-tabs{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:768px){.pill-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}}.pill-tabs--nowrap .pill-tab{flex:0 0 auto;white-space:nowrap}.pill-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;font-family:inherit}.pill-tab:hover:not(.disabled):not(.active){background:#f8fafc;border-color:#94a3b8}.pill-tab:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.pill-tab .pill-count{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:999px;line-height:1.4}.pill-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.pill-tab.active .pill-count{background:#fff3;color:#fff}.pill-tab.active:hover{background:#1e293b;color:#fff}.pill-tab.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pill-tab .pill-info-icon{flex-shrink:0;opacity:.7}.pill-tab:hover .pill-info-icon,.pill-tab:focus-visible .pill-info-icon{opacity:1}.pill-tab .pill-info-tip{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:max-content;max-width:280px;padding:8px 12px;border-radius:8px;background:#1e293b;color:#fff;font-size:.75rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 4px 12px #0f172a40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility .12s}.pill-tab:hover .pill-info-tip,.pill-tab:focus-visible .pill-info-tip{opacity:1;visibility:visible}.pill-tab:last-child .pill-info-tip{left:auto;right:0}.pill-wrap--vertical .pill-fade{display:none}.pill-tabs.pill-tabs--vertical{flex-direction:column;flex-wrap:nowrap;overflow:visible;gap:4px;padding-bottom:0}.pill-tabs--vertical .pill-tab{width:100%;justify-content:flex-start;border-radius:10px;text-align:left}.pill-tabs--vertical .pill-tab .pill-count{margin-left:auto}.pill-tabs--vertical .pill-tab .pill-info-tip{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.pill-tabs--vertical .pill-tab:last-child .pill-info-tip{left:calc(100% + 8px);right:auto}@media(pointer:coarse),(max-width:480px){.pill-tab{min-height:44px}}\n"]
|
|
19742
19757
|
}]
|
|
19743
19758
|
}],
|
|
19744
19759
|
ctorParameters: () => [],
|
|
@@ -19783,6 +19798,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
19783
19798
|
required: false
|
|
19784
19799
|
}]
|
|
19785
19800
|
}],
|
|
19801
|
+
orientation: [{
|
|
19802
|
+
type: i0.Input,
|
|
19803
|
+
args: [{
|
|
19804
|
+
isSignal: true,
|
|
19805
|
+
alias: "orientation",
|
|
19806
|
+
required: false
|
|
19807
|
+
}]
|
|
19808
|
+
}],
|
|
19786
19809
|
tabChange: [{
|
|
19787
19810
|
type: i0.Output,
|
|
19788
19811
|
args: ["tabChange"]
|
|
@@ -24890,6 +24913,13 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
24890
24913
|
onDocumentClick(event) {
|
|
24891
24914
|
if (this._open() && !this.el.nativeElement.contains(event.target)) this.close();
|
|
24892
24915
|
}
|
|
24916
|
+
onEscape(event) {
|
|
24917
|
+
if (!this._open()) return;
|
|
24918
|
+
event.preventDefault();
|
|
24919
|
+
event.stopPropagation();
|
|
24920
|
+
this.close();
|
|
24921
|
+
this.el.nativeElement.querySelector(".ms-trigger")?.focus();
|
|
24922
|
+
}
|
|
24893
24923
|
toggleOpen() {
|
|
24894
24924
|
if (this.disabled()) return;
|
|
24895
24925
|
if (this._open()) this.close();
|
|
@@ -25033,32 +25063,40 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
25033
25063
|
class="ms-trigger"
|
|
25034
25064
|
[class.ms-open]="_open()"
|
|
25035
25065
|
[disabled]="disabled()"
|
|
25066
|
+
aria-haspopup="listbox"
|
|
25036
25067
|
[attr.aria-expanded]="_open()"
|
|
25068
|
+
[attr.aria-controls]="_open() ? _id + '-list' : null"
|
|
25037
25069
|
[attr.aria-labelledby]="label() ? _id + '-label' : null"
|
|
25038
|
-
|
|
25070
|
+
[attr.aria-describedby]="error() ? _id + '-error' : (hint() ? _id + '-hint' : null)"
|
|
25071
|
+
[attr.aria-invalid]="error() ? 'true' : null"
|
|
25072
|
+
[attr.aria-required]="required() ? 'true' : null"
|
|
25073
|
+
(click)="toggleOpen()"
|
|
25074
|
+
(keydown.escape)="onEscape($event)">
|
|
25039
25075
|
<span class="ms-placeholder">{{ _selectedSet().size ? _selectedSet().size + ' selected' : placeholder() }}</span>
|
|
25040
25076
|
<svg class="ms-chevron" [class.ms-chevron-open]="_open()" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
|
|
25041
25077
|
</button>
|
|
25042
25078
|
|
|
25043
25079
|
@if (_open()) {
|
|
25044
|
-
<div class="ms-dropdown"
|
|
25080
|
+
<div class="ms-dropdown" [id]="_id + '-list'" (keydown.escape)="onEscape($event)">
|
|
25045
25081
|
@if (searchable()) {
|
|
25046
25082
|
<div class="ms-search-wrap">
|
|
25047
25083
|
<input
|
|
25048
25084
|
class="ms-search"
|
|
25049
25085
|
type="text"
|
|
25050
25086
|
[placeholder]="searchPlaceholder()"
|
|
25087
|
+
[attr.aria-label]="searchPlaceholder()"
|
|
25051
25088
|
[value]="_query()"
|
|
25052
25089
|
(input)="_query.set($any($event.target).value)" />
|
|
25053
25090
|
</div>
|
|
25054
25091
|
}
|
|
25055
|
-
<div class="ms-options">
|
|
25092
|
+
<div class="ms-options" role="listbox" aria-multiselectable="true" [attr.aria-labelledby]="label() ? _id + '-label' : null">
|
|
25056
25093
|
@for (opt of _filteredOptions(); track opt.value) {
|
|
25057
|
-
<div class="ms-option" [class.ms-option-selected]="_selectedSet().has(opt.value)">
|
|
25094
|
+
<div class="ms-option" role="option" [attr.aria-selected]="_selectedSet().has(opt.value)" [class.ms-option-selected]="_selectedSet().has(opt.value)">
|
|
25058
25095
|
<ui-checkbox
|
|
25059
25096
|
[label]="opt.label"
|
|
25060
25097
|
[checked]="_selectedSet().has(opt.value)"
|
|
25061
25098
|
(checkedChange)="toggleValue(opt.value)" />
|
|
25099
|
+
@if (opt.description) { <p class="ms-option-desc">{{ opt.description }}</p> }
|
|
25062
25100
|
</div>
|
|
25063
25101
|
} @empty {
|
|
25064
25102
|
<div class="ms-empty">No options found</div>
|
|
@@ -25069,14 +25107,14 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
25069
25107
|
</div>
|
|
25070
25108
|
|
|
25071
25109
|
@if (error()) {
|
|
25072
|
-
<p class="ms-desc ms-desc-error" role="alert">{{ error() }}</p>
|
|
25110
|
+
<p class="ms-desc ms-desc-error" [id]="_id + '-error'" role="alert">{{ error() }}</p>
|
|
25073
25111
|
} @else if (hint()) {
|
|
25074
|
-
<p class="ms-desc">{{ hint() }}</p>
|
|
25112
|
+
<p class="ms-desc" [id]="_id + '-hint'">{{ hint() }}</p>
|
|
25075
25113
|
}
|
|
25076
25114
|
</div>
|
|
25077
25115
|
`,
|
|
25078
25116
|
isInline: true,
|
|
25079
|
-
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"],
|
|
25117
|
+
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-option-desc{margin:2px 0 0 26px;font-size:.75rem;line-height:1.4;color:#64748b}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"],
|
|
25080
25118
|
dependencies: [{
|
|
25081
25119
|
kind: "component",
|
|
25082
25120
|
type: ChipComponent,
|
|
@@ -25163,32 +25201,40 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25163
25201
|
class="ms-trigger"
|
|
25164
25202
|
[class.ms-open]="_open()"
|
|
25165
25203
|
[disabled]="disabled()"
|
|
25204
|
+
aria-haspopup="listbox"
|
|
25166
25205
|
[attr.aria-expanded]="_open()"
|
|
25206
|
+
[attr.aria-controls]="_open() ? _id + '-list' : null"
|
|
25167
25207
|
[attr.aria-labelledby]="label() ? _id + '-label' : null"
|
|
25168
|
-
|
|
25208
|
+
[attr.aria-describedby]="error() ? _id + '-error' : (hint() ? _id + '-hint' : null)"
|
|
25209
|
+
[attr.aria-invalid]="error() ? 'true' : null"
|
|
25210
|
+
[attr.aria-required]="required() ? 'true' : null"
|
|
25211
|
+
(click)="toggleOpen()"
|
|
25212
|
+
(keydown.escape)="onEscape($event)">
|
|
25169
25213
|
<span class="ms-placeholder">{{ _selectedSet().size ? _selectedSet().size + ' selected' : placeholder() }}</span>
|
|
25170
25214
|
<svg class="ms-chevron" [class.ms-chevron-open]="_open()" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
|
|
25171
25215
|
</button>
|
|
25172
25216
|
|
|
25173
25217
|
@if (_open()) {
|
|
25174
|
-
<div class="ms-dropdown"
|
|
25218
|
+
<div class="ms-dropdown" [id]="_id + '-list'" (keydown.escape)="onEscape($event)">
|
|
25175
25219
|
@if (searchable()) {
|
|
25176
25220
|
<div class="ms-search-wrap">
|
|
25177
25221
|
<input
|
|
25178
25222
|
class="ms-search"
|
|
25179
25223
|
type="text"
|
|
25180
25224
|
[placeholder]="searchPlaceholder()"
|
|
25225
|
+
[attr.aria-label]="searchPlaceholder()"
|
|
25181
25226
|
[value]="_query()"
|
|
25182
25227
|
(input)="_query.set($any($event.target).value)" />
|
|
25183
25228
|
</div>
|
|
25184
25229
|
}
|
|
25185
|
-
<div class="ms-options">
|
|
25230
|
+
<div class="ms-options" role="listbox" aria-multiselectable="true" [attr.aria-labelledby]="label() ? _id + '-label' : null">
|
|
25186
25231
|
@for (opt of _filteredOptions(); track opt.value) {
|
|
25187
|
-
<div class="ms-option" [class.ms-option-selected]="_selectedSet().has(opt.value)">
|
|
25232
|
+
<div class="ms-option" role="option" [attr.aria-selected]="_selectedSet().has(opt.value)" [class.ms-option-selected]="_selectedSet().has(opt.value)">
|
|
25188
25233
|
<ui-checkbox
|
|
25189
25234
|
[label]="opt.label"
|
|
25190
25235
|
[checked]="_selectedSet().has(opt.value)"
|
|
25191
25236
|
(checkedChange)="toggleValue(opt.value)" />
|
|
25237
|
+
@if (opt.description) { <p class="ms-option-desc">{{ opt.description }}</p> }
|
|
25192
25238
|
</div>
|
|
25193
25239
|
} @empty {
|
|
25194
25240
|
<div class="ms-empty">No options found</div>
|
|
@@ -25199,13 +25245,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
25199
25245
|
</div>
|
|
25200
25246
|
|
|
25201
25247
|
@if (error()) {
|
|
25202
|
-
<p class="ms-desc ms-desc-error" role="alert">{{ error() }}</p>
|
|
25248
|
+
<p class="ms-desc ms-desc-error" [id]="_id + '-error'" role="alert">{{ error() }}</p>
|
|
25203
25249
|
} @else if (hint()) {
|
|
25204
|
-
<p class="ms-desc">{{ hint() }}</p>
|
|
25250
|
+
<p class="ms-desc" [id]="_id + '-hint'">{{ hint() }}</p>
|
|
25205
25251
|
}
|
|
25206
25252
|
</div>
|
|
25207
25253
|
`,
|
|
25208
|
-
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"]
|
|
25254
|
+
styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ms-search::placeholder{color:#64748b;opacity:1}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-option-desc{margin:2px 0 0 26px;font-size:.75rem;line-height:1.4;color:#64748b}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"]
|
|
25209
25255
|
}]
|
|
25210
25256
|
}],
|
|
25211
25257
|
propDecorators: {
|
|
@@ -26037,6 +26083,329 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26037
26083
|
}]
|
|
26038
26084
|
}
|
|
26039
26085
|
});
|
|
26086
|
+
var TextTemplatePickerComponent = class TextTemplatePickerComponent {
|
|
26087
|
+
constructor() {
|
|
26088
|
+
this.variables = input([], ...ngDevMode ? [{ debugName: "variables" }] : /* istanbul ignore next */ []);
|
|
26089
|
+
this.label = input("Insert variable", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
26090
|
+
this.searchPlaceholder = input("Search variables...", ...ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []);
|
|
26091
|
+
this.disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
26092
|
+
this.picked = output();
|
|
26093
|
+
this._id = `ttp-${Math.random().toString(36).slice(2, 8)}`;
|
|
26094
|
+
this._open = signal(false, ...ngDevMode ? [{ debugName: "_open" }] : /* istanbul ignore next */ []);
|
|
26095
|
+
this._query = signal("", ...ngDevMode ? [{ debugName: "_query" }] : /* istanbul ignore next */ []);
|
|
26096
|
+
this._active = signal(0, ...ngDevMode ? [{ debugName: "_active" }] : /* istanbul ignore next */ []);
|
|
26097
|
+
this._top = signal(null, ...ngDevMode ? [{ debugName: "_top" }] : /* istanbul ignore next */ []);
|
|
26098
|
+
this._bottom = signal(null, ...ngDevMode ? [{ debugName: "_bottom" }] : /* istanbul ignore next */ []);
|
|
26099
|
+
this._left = signal(0, ...ngDevMode ? [{ debugName: "_left" }] : /* istanbul ignore next */ []);
|
|
26100
|
+
this._width = signal(320, ...ngDevMode ? [{ debugName: "_width" }] : /* istanbul ignore next */ []);
|
|
26101
|
+
this._maxHeight = signal(360, ...ngDevMode ? [{ debugName: "_maxHeight" }] : /* istanbul ignore next */ []);
|
|
26102
|
+
this.host = inject(ElementRef);
|
|
26103
|
+
this.injector = inject(Injector);
|
|
26104
|
+
this._matches = computed(() => {
|
|
26105
|
+
const q = TextTemplatePickerComponent.fold(this._query().trim());
|
|
26106
|
+
return q ? this.variables().filter((v) => TextTemplatePickerComponent.fold(v.label).includes(q)) : this.variables();
|
|
26107
|
+
}, ...ngDevMode ? [{ debugName: "_matches" }] : /* istanbul ignore next */ []);
|
|
26108
|
+
this._rows = computed(() => {
|
|
26109
|
+
const rows = [];
|
|
26110
|
+
let last;
|
|
26111
|
+
this._matches().forEach((v, index) => {
|
|
26112
|
+
if (v.group && v.group !== last) rows.push({
|
|
26113
|
+
kind: "group",
|
|
26114
|
+
key: "g:" + v.group,
|
|
26115
|
+
text: v.group
|
|
26116
|
+
});
|
|
26117
|
+
last = v.group;
|
|
26118
|
+
rows.push({
|
|
26119
|
+
kind: "option",
|
|
26120
|
+
key: "o:" + v.value,
|
|
26121
|
+
text: v.label,
|
|
26122
|
+
variable: v,
|
|
26123
|
+
index
|
|
26124
|
+
});
|
|
26125
|
+
});
|
|
26126
|
+
return rows;
|
|
26127
|
+
}, ...ngDevMode ? [{ debugName: "_rows" }] : /* istanbul ignore next */ []);
|
|
26128
|
+
this._activeId = computed(() => this._matches().length ? `${this._id}-o${this._active()}` : null, ...ngDevMode ? [{ debugName: "_activeId" }] : /* istanbul ignore next */ []);
|
|
26129
|
+
this._status = computed(() => {
|
|
26130
|
+
const n = this._matches().length;
|
|
26131
|
+
return n === 0 ? "No variables found" : n === 1 ? "1 variable" : `${n} variables`;
|
|
26132
|
+
}, ...ngDevMode ? [{ debugName: "_status" }] : /* istanbul ignore next */ []);
|
|
26133
|
+
this.onAnyScroll = (event) => {
|
|
26134
|
+
if (!(event.target instanceof Node && this.host.nativeElement.contains(event.target))) this.close(false);
|
|
26135
|
+
};
|
|
26136
|
+
inject(DestroyRef).onDestroy(() => window.removeEventListener("scroll", this.onAnyScroll, true));
|
|
26137
|
+
}
|
|
26138
|
+
static fold(s) {
|
|
26139
|
+
return s.normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase();
|
|
26140
|
+
}
|
|
26141
|
+
toggle() {
|
|
26142
|
+
if (this.disabled()) return;
|
|
26143
|
+
if (this._open()) this.close(false);
|
|
26144
|
+
else this.openList();
|
|
26145
|
+
}
|
|
26146
|
+
openFromKey(event) {
|
|
26147
|
+
event.preventDefault();
|
|
26148
|
+
if (!this._open() && !this.disabled()) this.openList();
|
|
26149
|
+
}
|
|
26150
|
+
openList() {
|
|
26151
|
+
this._query.set("");
|
|
26152
|
+
this._active.set(0);
|
|
26153
|
+
this.place();
|
|
26154
|
+
this._open.set(true);
|
|
26155
|
+
window.addEventListener("scroll", this.onAnyScroll, true);
|
|
26156
|
+
afterNextRender(() => this.host.nativeElement.querySelector(".ttp-search")?.focus(), { injector: this.injector });
|
|
26157
|
+
}
|
|
26158
|
+
place() {
|
|
26159
|
+
const r = this.host.nativeElement.querySelector(".ttp-trigger").getBoundingClientRect();
|
|
26160
|
+
const vw = window.innerWidth, vh = window.innerHeight, gap = 6, margin = 8;
|
|
26161
|
+
const below = vh - r.bottom - gap - margin, above = r.top - gap - margin;
|
|
26162
|
+
const up = below < 260 && above > below;
|
|
26163
|
+
const room = Math.max(160, up ? above : below);
|
|
26164
|
+
const width = Math.min(Math.max(r.width, 320), vw - 16);
|
|
26165
|
+
this._width.set(width);
|
|
26166
|
+
this._left.set(Math.min(Math.max(margin, r.left), vw - width - margin));
|
|
26167
|
+
this._maxHeight.set(Math.min(360, room));
|
|
26168
|
+
this._top.set(up ? null : r.bottom + gap);
|
|
26169
|
+
this._bottom.set(up ? vh - r.top + gap : null);
|
|
26170
|
+
}
|
|
26171
|
+
onQuery(value) {
|
|
26172
|
+
this._query.set(value);
|
|
26173
|
+
this._active.set(0);
|
|
26174
|
+
this.scrollActive();
|
|
26175
|
+
}
|
|
26176
|
+
onSearchKey(event) {
|
|
26177
|
+
const n = this._matches().length;
|
|
26178
|
+
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
26179
|
+
event.preventDefault();
|
|
26180
|
+
if (n) this._active.set((this._active() + (event.key === "ArrowDown" ? 1 : -1) + n) % n);
|
|
26181
|
+
this.scrollActive();
|
|
26182
|
+
} else if (event.key === "Home" || event.key === "End") {
|
|
26183
|
+
if (n) {
|
|
26184
|
+
event.preventDefault();
|
|
26185
|
+
this._active.set(event.key === "Home" ? 0 : n - 1);
|
|
26186
|
+
this.scrollActive();
|
|
26187
|
+
}
|
|
26188
|
+
} else if (event.key === "Enter") {
|
|
26189
|
+
event.preventDefault();
|
|
26190
|
+
const v = this._matches()[this._active()];
|
|
26191
|
+
if (v) this.pick(v);
|
|
26192
|
+
} else if (event.key === "Tab") this.close(false);
|
|
26193
|
+
}
|
|
26194
|
+
pick(variable) {
|
|
26195
|
+
this.picked.emit(variable.value);
|
|
26196
|
+
this.close(true);
|
|
26197
|
+
}
|
|
26198
|
+
onEscape(event) {
|
|
26199
|
+
event.preventDefault();
|
|
26200
|
+
event.stopPropagation();
|
|
26201
|
+
this.close(true);
|
|
26202
|
+
}
|
|
26203
|
+
close(refocus) {
|
|
26204
|
+
this._open.set(false);
|
|
26205
|
+
this._query.set("");
|
|
26206
|
+
window.removeEventListener("scroll", this.onAnyScroll, true);
|
|
26207
|
+
if (refocus) this.host.nativeElement.querySelector(".ttp-trigger")?.focus();
|
|
26208
|
+
}
|
|
26209
|
+
scrollActive() {
|
|
26210
|
+
afterNextRender(() => this.host.nativeElement.querySelector(".ttp-active")?.scrollIntoView({ block: "nearest" }), { injector: this.injector });
|
|
26211
|
+
}
|
|
26212
|
+
onDocumentClick(event) {
|
|
26213
|
+
if (this._open() && !this.host.nativeElement.contains(event.target)) this.close(false);
|
|
26214
|
+
}
|
|
26215
|
+
onResize() {
|
|
26216
|
+
if (this._open()) this.close(false);
|
|
26217
|
+
}
|
|
26218
|
+
static {
|
|
26219
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
26220
|
+
minVersion: "12.0.0",
|
|
26221
|
+
version: "22.2.2",
|
|
26222
|
+
ngImport: i0,
|
|
26223
|
+
type: TextTemplatePickerComponent,
|
|
26224
|
+
deps: [],
|
|
26225
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
26226
|
+
});
|
|
26227
|
+
}
|
|
26228
|
+
static {
|
|
26229
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
26230
|
+
minVersion: "17.0.0",
|
|
26231
|
+
version: "22.2.2",
|
|
26232
|
+
type: TextTemplatePickerComponent,
|
|
26233
|
+
isStandalone: true,
|
|
26234
|
+
selector: "ui-text-template-picker",
|
|
26235
|
+
inputs: {
|
|
26236
|
+
variables: {
|
|
26237
|
+
classPropertyName: "variables",
|
|
26238
|
+
publicName: "variables",
|
|
26239
|
+
isSignal: true,
|
|
26240
|
+
isRequired: false,
|
|
26241
|
+
transformFunction: null
|
|
26242
|
+
},
|
|
26243
|
+
label: {
|
|
26244
|
+
classPropertyName: "label",
|
|
26245
|
+
publicName: "label",
|
|
26246
|
+
isSignal: true,
|
|
26247
|
+
isRequired: false,
|
|
26248
|
+
transformFunction: null
|
|
26249
|
+
},
|
|
26250
|
+
searchPlaceholder: {
|
|
26251
|
+
classPropertyName: "searchPlaceholder",
|
|
26252
|
+
publicName: "searchPlaceholder",
|
|
26253
|
+
isSignal: true,
|
|
26254
|
+
isRequired: false,
|
|
26255
|
+
transformFunction: null
|
|
26256
|
+
},
|
|
26257
|
+
disabled: {
|
|
26258
|
+
classPropertyName: "disabled",
|
|
26259
|
+
publicName: "disabled",
|
|
26260
|
+
isSignal: true,
|
|
26261
|
+
isRequired: false,
|
|
26262
|
+
transformFunction: null
|
|
26263
|
+
}
|
|
26264
|
+
},
|
|
26265
|
+
outputs: { picked: "picked" },
|
|
26266
|
+
host: { listeners: {
|
|
26267
|
+
"document:click": "onDocumentClick($event)",
|
|
26268
|
+
"window:resize": "onResize()"
|
|
26269
|
+
} },
|
|
26270
|
+
ngImport: i0,
|
|
26271
|
+
template: `
|
|
26272
|
+
<button type="button" class="ttp-trigger" [class.ttp-open]="_open()" [disabled]="disabled()"
|
|
26273
|
+
aria-haspopup="listbox" [attr.aria-expanded]="_open()" [attr.aria-controls]="_open() ? _id + '-list' : null"
|
|
26274
|
+
(click)="toggle()" (keydown.arrowDown)="openFromKey($event)">
|
|
26275
|
+
<span>{{ label() }}</span>
|
|
26276
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
|
|
26277
|
+
</button>
|
|
26278
|
+
|
|
26279
|
+
@if (_open()) {
|
|
26280
|
+
<div class="ttp-panel" [style.top.px]="_top()" [style.bottom.px]="_bottom()" [style.left.px]="_left()" [style.width.px]="_width()"
|
|
26281
|
+
[style.max-height.px]="_maxHeight()" (keydown.escape)="onEscape($event)">
|
|
26282
|
+
<div class="ttp-search-wrap">
|
|
26283
|
+
<input #search class="ttp-search" type="text" role="combobox" autocomplete="off" aria-autocomplete="list" aria-expanded="true"
|
|
26284
|
+
[attr.aria-controls]="_id + '-list'" [attr.aria-activedescendant]="_activeId()" [attr.aria-label]="searchPlaceholder()"
|
|
26285
|
+
[placeholder]="searchPlaceholder()" [value]="_query()"
|
|
26286
|
+
(input)="onQuery($any($event.target).value)" (keydown)="onSearchKey($event)" />
|
|
26287
|
+
</div>
|
|
26288
|
+
<div class="ttp-list" role="listbox" [id]="_id + '-list'" [attr.aria-label]="label()">
|
|
26289
|
+
@for (row of _rows(); track row.key) {
|
|
26290
|
+
@if (row.kind === 'group') {
|
|
26291
|
+
<div class="ttp-group" role="presentation">{{ row.text }}</div>
|
|
26292
|
+
} @else {
|
|
26293
|
+
<div class="ttp-option" role="option" [id]="_id + '-o' + row.index" [class.ttp-active]="_active() === row.index"
|
|
26294
|
+
[attr.aria-selected]="_active() === row.index" (mousedown)="$event.preventDefault()" (click)="pick(row.variable!)" (mouseenter)="_active.set(row.index!)">
|
|
26295
|
+
{{ row.text }}
|
|
26296
|
+
</div>
|
|
26297
|
+
}
|
|
26298
|
+
} @empty {
|
|
26299
|
+
<div class="ttp-empty">No variables match "{{ _query().trim() }}"</div>
|
|
26300
|
+
}
|
|
26301
|
+
</div>
|
|
26302
|
+
<div class="ttp-status" role="status" aria-live="polite">{{ _status() }}</div>
|
|
26303
|
+
</div>
|
|
26304
|
+
}
|
|
26305
|
+
`,
|
|
26306
|
+
isInline: true,
|
|
26307
|
+
styles: [":host{display:inline-block}.ttp-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;min-height:36px;box-sizing:border-box;font:inherit;font-size:.875rem;font-weight:500;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.ttp-trigger:hover{background:#f8fafc}.ttp-trigger:focus-visible,.ttp-trigger.ttp-open{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ttp-trigger:disabled{opacity:.5;cursor:not-allowed}.ttp-trigger svg{flex-shrink:0;color:#64748b}.ttp-panel{position:fixed;z-index:10000;display:flex;flex-direction:column;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;max-width:calc(100vw - 16px)}.ttp-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.ttp-search{width:100%;box-sizing:border-box;padding:8px 10px;font:inherit;font-size:.875rem;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ttp-search::placeholder{color:#64748b;opacity:1}.ttp-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ttp-list{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1 1 auto}.ttp-group{position:sticky;top:0;padding:6px 14px;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #f1f5f9}.ttp-option{padding:10px 14px;font-size:.875rem;color:#1e293b;cursor:pointer;border-bottom:1px solid #f1f5f9}.ttp-option.ttp-active{background:#eff6ff;color:#2563eb}.ttp-empty{padding:16px;text-align:center;font-size:.8125rem;color:#64748b}.ttp-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(pointer:coarse),(max-width:768px){.ttp-trigger{min-height:44px}.ttp-option{padding:13px 14px}.ttp-search{font-size:1rem;min-height:44px}}\n"],
|
|
26308
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
26309
|
+
});
|
|
26310
|
+
}
|
|
26311
|
+
};
|
|
26312
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
26313
|
+
minVersion: "12.0.0",
|
|
26314
|
+
version: "22.2.2",
|
|
26315
|
+
ngImport: i0,
|
|
26316
|
+
type: TextTemplatePickerComponent,
|
|
26317
|
+
decorators: [{
|
|
26318
|
+
type: Component,
|
|
26319
|
+
args: [{
|
|
26320
|
+
selector: "ui-text-template-picker",
|
|
26321
|
+
standalone: true,
|
|
26322
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26323
|
+
template: `
|
|
26324
|
+
<button type="button" class="ttp-trigger" [class.ttp-open]="_open()" [disabled]="disabled()"
|
|
26325
|
+
aria-haspopup="listbox" [attr.aria-expanded]="_open()" [attr.aria-controls]="_open() ? _id + '-list' : null"
|
|
26326
|
+
(click)="toggle()" (keydown.arrowDown)="openFromKey($event)">
|
|
26327
|
+
<span>{{ label() }}</span>
|
|
26328
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
|
|
26329
|
+
</button>
|
|
26330
|
+
|
|
26331
|
+
@if (_open()) {
|
|
26332
|
+
<div class="ttp-panel" [style.top.px]="_top()" [style.bottom.px]="_bottom()" [style.left.px]="_left()" [style.width.px]="_width()"
|
|
26333
|
+
[style.max-height.px]="_maxHeight()" (keydown.escape)="onEscape($event)">
|
|
26334
|
+
<div class="ttp-search-wrap">
|
|
26335
|
+
<input #search class="ttp-search" type="text" role="combobox" autocomplete="off" aria-autocomplete="list" aria-expanded="true"
|
|
26336
|
+
[attr.aria-controls]="_id + '-list'" [attr.aria-activedescendant]="_activeId()" [attr.aria-label]="searchPlaceholder()"
|
|
26337
|
+
[placeholder]="searchPlaceholder()" [value]="_query()"
|
|
26338
|
+
(input)="onQuery($any($event.target).value)" (keydown)="onSearchKey($event)" />
|
|
26339
|
+
</div>
|
|
26340
|
+
<div class="ttp-list" role="listbox" [id]="_id + '-list'" [attr.aria-label]="label()">
|
|
26341
|
+
@for (row of _rows(); track row.key) {
|
|
26342
|
+
@if (row.kind === 'group') {
|
|
26343
|
+
<div class="ttp-group" role="presentation">{{ row.text }}</div>
|
|
26344
|
+
} @else {
|
|
26345
|
+
<div class="ttp-option" role="option" [id]="_id + '-o' + row.index" [class.ttp-active]="_active() === row.index"
|
|
26346
|
+
[attr.aria-selected]="_active() === row.index" (mousedown)="$event.preventDefault()" (click)="pick(row.variable!)" (mouseenter)="_active.set(row.index!)">
|
|
26347
|
+
{{ row.text }}
|
|
26348
|
+
</div>
|
|
26349
|
+
}
|
|
26350
|
+
} @empty {
|
|
26351
|
+
<div class="ttp-empty">No variables match "{{ _query().trim() }}"</div>
|
|
26352
|
+
}
|
|
26353
|
+
</div>
|
|
26354
|
+
<div class="ttp-status" role="status" aria-live="polite">{{ _status() }}</div>
|
|
26355
|
+
</div>
|
|
26356
|
+
}
|
|
26357
|
+
`,
|
|
26358
|
+
styles: [":host{display:inline-block}.ttp-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;min-height:36px;box-sizing:border-box;font:inherit;font-size:.875rem;font-weight:500;color:#1e293b;background:#fff;border:1px solid #7c8ba1;border-radius:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.ttp-trigger:hover{background:#f8fafc}.ttp-trigger:focus-visible,.ttp-trigger.ttp-open{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ttp-trigger:disabled{opacity:.5;cursor:not-allowed}.ttp-trigger svg{flex-shrink:0;color:#64748b}.ttp-panel{position:fixed;z-index:10000;display:flex;flex-direction:column;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;max-width:calc(100vw - 16px)}.ttp-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.ttp-search{width:100%;box-sizing:border-box;padding:8px 10px;font:inherit;font-size:.875rem;color:#1e293b;border:1px solid #7c8ba1;border-radius:6px;outline:none}.ttp-search::placeholder{color:#64748b;opacity:1}.ttp-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ttp-list{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1 1 auto}.ttp-group{position:sticky;top:0;padding:6px 14px;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #f1f5f9}.ttp-option{padding:10px 14px;font-size:.875rem;color:#1e293b;cursor:pointer;border-bottom:1px solid #f1f5f9}.ttp-option.ttp-active{background:#eff6ff;color:#2563eb}.ttp-empty{padding:16px;text-align:center;font-size:.8125rem;color:#64748b}.ttp-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(pointer:coarse),(max-width:768px){.ttp-trigger{min-height:44px}.ttp-option{padding:13px 14px}.ttp-search{font-size:1rem;min-height:44px}}\n"]
|
|
26359
|
+
}]
|
|
26360
|
+
}],
|
|
26361
|
+
ctorParameters: () => [],
|
|
26362
|
+
propDecorators: {
|
|
26363
|
+
variables: [{
|
|
26364
|
+
type: i0.Input,
|
|
26365
|
+
args: [{
|
|
26366
|
+
isSignal: true,
|
|
26367
|
+
alias: "variables",
|
|
26368
|
+
required: false
|
|
26369
|
+
}]
|
|
26370
|
+
}],
|
|
26371
|
+
label: [{
|
|
26372
|
+
type: i0.Input,
|
|
26373
|
+
args: [{
|
|
26374
|
+
isSignal: true,
|
|
26375
|
+
alias: "label",
|
|
26376
|
+
required: false
|
|
26377
|
+
}]
|
|
26378
|
+
}],
|
|
26379
|
+
searchPlaceholder: [{
|
|
26380
|
+
type: i0.Input,
|
|
26381
|
+
args: [{
|
|
26382
|
+
isSignal: true,
|
|
26383
|
+
alias: "searchPlaceholder",
|
|
26384
|
+
required: false
|
|
26385
|
+
}]
|
|
26386
|
+
}],
|
|
26387
|
+
disabled: [{
|
|
26388
|
+
type: i0.Input,
|
|
26389
|
+
args: [{
|
|
26390
|
+
isSignal: true,
|
|
26391
|
+
alias: "disabled",
|
|
26392
|
+
required: false
|
|
26393
|
+
}]
|
|
26394
|
+
}],
|
|
26395
|
+
picked: [{
|
|
26396
|
+
type: i0.Output,
|
|
26397
|
+
args: ["picked"]
|
|
26398
|
+
}],
|
|
26399
|
+
onDocumentClick: [{
|
|
26400
|
+
type: HostListener,
|
|
26401
|
+
args: ["document:click", ["$event"]]
|
|
26402
|
+
}],
|
|
26403
|
+
onResize: [{
|
|
26404
|
+
type: HostListener,
|
|
26405
|
+
args: ["window:resize"]
|
|
26406
|
+
}]
|
|
26407
|
+
}
|
|
26408
|
+
});
|
|
26040
26409
|
const FOCUSABLE = "input:not([type=\"hidden\"]), select, textarea, button, [tabindex]:not([tabindex=\"-1\"]), [contenteditable=\"true\"]";
|
|
26041
26410
|
var FormComponent = class FormComponent {
|
|
26042
26411
|
constructor() {
|
|
@@ -26058,7 +26427,8 @@ var FormComponent = class FormComponent {
|
|
|
26058
26427
|
let target;
|
|
26059
26428
|
if (marked.matches(FOCUSABLE)) target = FormComponent._usable(marked) ? marked : void 0;
|
|
26060
26429
|
else target = Array.from(marked.querySelectorAll(FOCUSABLE)).find((c) => FormComponent._usable(c));
|
|
26061
|
-
|
|
26430
|
+
const sameGroup = (t) => target instanceof HTMLInputElement && target.type === "radio" && t instanceof HTMLInputElement && t.type === "radio" && t.name === target.name && t.form === target.form;
|
|
26431
|
+
if (target && !found.some((t) => t === target || sameGroup(t))) found.push(target);
|
|
26062
26432
|
}
|
|
26063
26433
|
return found;
|
|
26064
26434
|
}
|
|
@@ -26398,6 +26768,7 @@ var ListItemComponent = class ListItemComponent {
|
|
|
26398
26768
|
this.iconColor = input("slate", ...ngDevMode ? [{ debugName: "iconColor" }] : /* istanbul ignore next */ []);
|
|
26399
26769
|
this.iconD = () => this.icon() ? iconPath(this.icon()) ?? null : null;
|
|
26400
26770
|
this.select = output();
|
|
26771
|
+
this.pressable = () => this.interactive() && this.leading() === "none";
|
|
26401
26772
|
this.visibleDetails = () => this.details().map((d) => typeof d === "string" ? {
|
|
26402
26773
|
text: d,
|
|
26403
26774
|
d: null,
|
|
@@ -26411,6 +26782,16 @@ var ListItemComponent = class ListItemComponent {
|
|
|
26411
26782
|
get _borderedClass() {
|
|
26412
26783
|
return this.bordered();
|
|
26413
26784
|
}
|
|
26785
|
+
onRowClick(e) {
|
|
26786
|
+
if (!this.pressable()) return;
|
|
26787
|
+
if (e.target.closest("[list-item-action], [li-action]")) return;
|
|
26788
|
+
this.select.emit();
|
|
26789
|
+
}
|
|
26790
|
+
onRowKey(e) {
|
|
26791
|
+
if (!this.pressable() || e.target !== e.currentTarget) return;
|
|
26792
|
+
e.preventDefault();
|
|
26793
|
+
this.select.emit();
|
|
26794
|
+
}
|
|
26414
26795
|
static {
|
|
26415
26796
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
26416
26797
|
minVersion: "12.0.0",
|
|
@@ -26567,7 +26948,9 @@ var ListItemComponent = class ListItemComponent {
|
|
|
26567
26948
|
}
|
|
26568
26949
|
</ng-template>
|
|
26569
26950
|
|
|
26570
|
-
<div class="li-row" [class.li-row--highlighted]="highlighted()" [class.li-row--
|
|
26951
|
+
<div class="li-row" [class.li-row--highlighted]="highlighted()" [class.li-row--pressable]="pressable()"
|
|
26952
|
+
[attr.role]="pressable() ? 'button' : null" [attr.tabindex]="pressable() ? 0 : null"
|
|
26953
|
+
(click)="onRowClick($event)" (keydown.enter)="onRowKey($event)" (keydown.space)="onRowKey($event)" [class.li-row--static]="!interactive()" [class.li-row--wrap]="wrapText() || !interactive()">
|
|
26571
26954
|
|
|
26572
26955
|
@if (!interactive()) {
|
|
26573
26956
|
<ng-container [ngTemplateOutlet]="tile" />
|
|
@@ -26605,7 +26988,7 @@ var ListItemComponent = class ListItemComponent {
|
|
|
26605
26988
|
</div>
|
|
26606
26989
|
`,
|
|
26607
26990
|
isInline: true,
|
|
26608
|
-
styles: ["ui-list-item{display:block}ui-list-item.li-bordered{border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff);box-shadow:0 1px 2px #0f172a0a;margin-bottom:8px;transition:border-color .15s ease,box-shadow .15s ease}ui-list-item.li-bordered:last-child{margin-bottom:0}ui-list-item.li-bordered:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a12}@media(prefers-reduced-motion:reduce){ui-list-item.li-bordered{transition:none}}.li-row{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}ui-list-item.li-bordered .li-row{border-bottom:none;padding:14px 16px}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-body.li-body--static{cursor:default}.li-row [list-item-action],.li-row [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px}.li-icon--slate{background:#f1f5f9;color:#475569}.li-icon--amber{background:#fef3c7;color:#b45309}.li-icon--orange{background:#ffedd5;color:#c2410c}.li-icon--red{background:#fee2e2;color:#b91c1c}.li-icon--blue{background:#dbeafe;color:#1d4ed8}.li-icon--green{background:#dcfce7;color:#15803d}.li-icon--purple{background:#f3e8ff;color:#7e22ce}.li-icon--teal{background:#ccfbf1;color:#0f766e}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:6px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.005em;color:var(--text-primary, #0f172a)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-direction:column;gap:3px;font-size:.8125rem;line-height:1.4;color:var(--text-secondary, #64748b)}.li-detail{display:flex;align-items:center;gap:6px;min-width:0}.li-detail-icon{flex:0 0 auto;color:#94a3b8}.li-detail--warning,.li-detail--warning .li-detail-icon{color:#b45309}.li-detail--danger,.li-detail--danger .li-detail-icon{color:#b91c1c}.li-row--wrap .li-detail-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"],
|
|
26991
|
+
styles: ["ui-list-item{display:block}ui-list-item.li-bordered{border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff);box-shadow:0 1px 2px #0f172a0a;margin-bottom:8px;transition:border-color .15s ease,box-shadow .15s ease}ui-list-item.li-bordered:last-child{margin-bottom:0}ui-list-item.li-bordered:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a12}@media(prefers-reduced-motion:reduce){ui-list-item.li-bordered{transition:none}}.li-row{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}ui-list-item.li-bordered .li-row{border-bottom:none;padding:14px 16px}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-row.li-row--pressable{cursor:pointer}.li-row.li-row--pressable:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:-2px}.li-body.li-body--static{cursor:default}.li-row [list-item-action],.li-row [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px}.li-icon--slate{background:#f1f5f9;color:#475569}.li-icon--amber{background:#fef3c7;color:#b45309}.li-icon--orange{background:#ffedd5;color:#c2410c}.li-icon--red{background:#fee2e2;color:#b91c1c}.li-icon--blue{background:#dbeafe;color:#1d4ed8}.li-icon--green{background:#dcfce7;color:#15803d}.li-icon--purple{background:#f3e8ff;color:#7e22ce}.li-icon--teal{background:#ccfbf1;color:#0f766e}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:6px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.005em;color:var(--text-primary, #0f172a)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-direction:column;gap:3px;font-size:.8125rem;line-height:1.4;color:var(--text-secondary, #64748b)}.li-detail{display:flex;align-items:center;gap:6px;min-width:0}.li-detail-icon{flex:0 0 auto;color:#94a3b8}.li-detail--warning,.li-detail--warning .li-detail-icon{color:#b45309}.li-detail--danger,.li-detail--danger .li-detail-icon{color:#b91c1c}.li-row--wrap .li-detail-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"],
|
|
26609
26992
|
dependencies: [{
|
|
26610
26993
|
kind: "component",
|
|
26611
26994
|
type: BadgeComponent,
|
|
@@ -26668,7 +27051,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26668
27051
|
}
|
|
26669
27052
|
</ng-template>
|
|
26670
27053
|
|
|
26671
|
-
<div class="li-row" [class.li-row--highlighted]="highlighted()" [class.li-row--
|
|
27054
|
+
<div class="li-row" [class.li-row--highlighted]="highlighted()" [class.li-row--pressable]="pressable()"
|
|
27055
|
+
[attr.role]="pressable() ? 'button' : null" [attr.tabindex]="pressable() ? 0 : null"
|
|
27056
|
+
(click)="onRowClick($event)" (keydown.enter)="onRowKey($event)" (keydown.space)="onRowKey($event)" [class.li-row--static]="!interactive()" [class.li-row--wrap]="wrapText() || !interactive()">
|
|
26672
27057
|
|
|
26673
27058
|
@if (!interactive()) {
|
|
26674
27059
|
<ng-container [ngTemplateOutlet]="tile" />
|
|
@@ -26705,7 +27090,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26705
27090
|
|
|
26706
27091
|
</div>
|
|
26707
27092
|
`,
|
|
26708
|
-
styles: ["ui-list-item{display:block}ui-list-item.li-bordered{border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff);box-shadow:0 1px 2px #0f172a0a;margin-bottom:8px;transition:border-color .15s ease,box-shadow .15s ease}ui-list-item.li-bordered:last-child{margin-bottom:0}ui-list-item.li-bordered:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a12}@media(prefers-reduced-motion:reduce){ui-list-item.li-bordered{transition:none}}.li-row{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}ui-list-item.li-bordered .li-row{border-bottom:none;padding:14px 16px}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-body.li-body--static{cursor:default}.li-row [list-item-action],.li-row [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px}.li-icon--slate{background:#f1f5f9;color:#475569}.li-icon--amber{background:#fef3c7;color:#b45309}.li-icon--orange{background:#ffedd5;color:#c2410c}.li-icon--red{background:#fee2e2;color:#b91c1c}.li-icon--blue{background:#dbeafe;color:#1d4ed8}.li-icon--green{background:#dcfce7;color:#15803d}.li-icon--purple{background:#f3e8ff;color:#7e22ce}.li-icon--teal{background:#ccfbf1;color:#0f766e}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:6px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.005em;color:var(--text-primary, #0f172a)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-direction:column;gap:3px;font-size:.8125rem;line-height:1.4;color:var(--text-secondary, #64748b)}.li-detail{display:flex;align-items:center;gap:6px;min-width:0}.li-detail-icon{flex:0 0 auto;color:#94a3b8}.li-detail--warning,.li-detail--warning .li-detail-icon{color:#b45309}.li-detail--danger,.li-detail--danger .li-detail-icon{color:#b91c1c}.li-row--wrap .li-detail-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"]
|
|
27093
|
+
styles: ["ui-list-item{display:block}ui-list-item.li-bordered{border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff);box-shadow:0 1px 2px #0f172a0a;margin-bottom:8px;transition:border-color .15s ease,box-shadow .15s ease}ui-list-item.li-bordered:last-child{margin-bottom:0}ui-list-item.li-bordered:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a12}@media(prefers-reduced-motion:reduce){ui-list-item.li-bordered{transition:none}}.li-row{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}ui-list-item.li-bordered .li-row{border-bottom:none;padding:14px 16px}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-row.li-row--pressable{cursor:pointer}.li-row.li-row--pressable:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:-2px}.li-body.li-body--static{cursor:default}.li-row [list-item-action],.li-row [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px}.li-icon--slate{background:#f1f5f9;color:#475569}.li-icon--amber{background:#fef3c7;color:#b45309}.li-icon--orange{background:#ffedd5;color:#c2410c}.li-icon--red{background:#fee2e2;color:#b91c1c}.li-icon--blue{background:#dbeafe;color:#1d4ed8}.li-icon--green{background:#dcfce7;color:#15803d}.li-icon--purple{background:#f3e8ff;color:#7e22ce}.li-icon--teal{background:#ccfbf1;color:#0f766e}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:6px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.005em;color:var(--text-primary, #0f172a)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-direction:column;gap:3px;font-size:.8125rem;line-height:1.4;color:var(--text-secondary, #64748b)}.li-detail{display:flex;align-items:center;gap:6px;min-width:0}.li-detail-icon{flex:0 0 auto;color:#94a3b8}.li-detail--warning,.li-detail--warning .li-detail-icon{color:#b45309}.li-detail--danger,.li-detail--danger .li-detail-icon{color:#b91c1c}.li-row--wrap .li-detail-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"]
|
|
26709
27094
|
}]
|
|
26710
27095
|
}],
|
|
26711
27096
|
propDecorators: {
|
|
@@ -33231,7 +33616,10 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
33231
33616
|
source: this.selectedPreset,
|
|
33232
33617
|
computation: (_, previous) => previous === void 0
|
|
33233
33618
|
});
|
|
33234
|
-
this.popoverVisible = computed(() =>
|
|
33619
|
+
this.popoverVisible = computed(() => {
|
|
33620
|
+
const dismissed = this.popoverDismissed();
|
|
33621
|
+
return this.showPresets() && this.selectedPreset() === "custom" && !dismissed;
|
|
33622
|
+
}, ...ngDevMode ? [{ debugName: "popoverVisible" }] : /* istanbul ignore next */ []);
|
|
33235
33623
|
this.popTop = signal(0, ...ngDevMode ? [{ debugName: "popTop" }] : /* istanbul ignore next */ []);
|
|
33236
33624
|
this.popRight = signal(16, ...ngDevMode ? [{ debugName: "popRight" }] : /* istanbul ignore next */ []);
|
|
33237
33625
|
this.host = inject(ElementRef);
|
|
@@ -33424,7 +33812,8 @@ var DateRangePickerComponent = class DateRangePickerComponent {
|
|
|
33424
33812
|
"activeKey",
|
|
33425
33813
|
"ariaLabel",
|
|
33426
33814
|
"name",
|
|
33427
|
-
"noWrap"
|
|
33815
|
+
"noWrap",
|
|
33816
|
+
"orientation"
|
|
33428
33817
|
],
|
|
33429
33818
|
outputs: ["tabChange"]
|
|
33430
33819
|
},
|
|
@@ -40421,7 +40810,8 @@ var CalendarComponent = class CalendarComponent {
|
|
|
40421
40810
|
"activeKey",
|
|
40422
40811
|
"ariaLabel",
|
|
40423
40812
|
"name",
|
|
40424
|
-
"noWrap"
|
|
40813
|
+
"noWrap",
|
|
40814
|
+
"orientation"
|
|
40425
40815
|
],
|
|
40426
40816
|
outputs: ["tabChange"]
|
|
40427
40817
|
},
|
|
@@ -44457,7 +44847,8 @@ var SetupWizardComponent = class SetupWizardComponent {
|
|
|
44457
44847
|
"activeKey",
|
|
44458
44848
|
"ariaLabel",
|
|
44459
44849
|
"name",
|
|
44460
|
-
"noWrap"
|
|
44850
|
+
"noWrap",
|
|
44851
|
+
"orientation"
|
|
44461
44852
|
],
|
|
44462
44853
|
outputs: ["tabChange"]
|
|
44463
44854
|
},
|
|
@@ -46081,12 +46472,12 @@ var EmailTemplateEditorComponent = class EmailTemplateEditorComponent {
|
|
|
46081
46472
|
|
|
46082
46473
|
<div class="form-field">
|
|
46083
46474
|
<ui-text-input label="Name" [required]="true" [(ngModel)]="name" [readonly]="!canWrite()" [maxlength]="maxTextLength()"
|
|
46084
|
-
[placeholder]="namePlaceholder()" [error]="nameErrorShown()" (blurred)="nameTouched.set(true)" />
|
|
46475
|
+
[placeholder]="namePlaceholder()" [error]="nameErrorShown()" [showErrors]="nameTouched() || submitAttempted()" (blurred)="nameTouched.set(true)" />
|
|
46085
46476
|
</div>
|
|
46086
46477
|
|
|
46087
46478
|
<div class="form-field">
|
|
46088
46479
|
<ui-text-input label="Subject" [required]="true" [(ngModel)]="subject" [readonly]="!canWrite()" [maxlength]="maxTextLength()"
|
|
46089
|
-
[placeholder]="subjectPlaceholder()" [error]="subjectErrorShown()" (blurred)="subjectTouched.set(true)">
|
|
46480
|
+
[placeholder]="subjectPlaceholder()" [error]="subjectErrorShown()" [showErrors]="subjectTouched() || submitAttempted()" (blurred)="subjectTouched.set(true)">
|
|
46090
46481
|
</ui-text-input>
|
|
46091
46482
|
</div>
|
|
46092
46483
|
|
|
@@ -46333,12 +46724,12 @@ var EmailTemplateEditorComponent = class EmailTemplateEditorComponent {
|
|
|
46333
46724
|
}
|
|
46334
46725
|
</section>
|
|
46335
46726
|
|
|
46336
|
-
<!-- RIGHT PANEL: Blocks, Variables, Video -->
|
|
46337
|
-
<aside class="panel-right" aria-label="Blocks, variables and video">
|
|
46727
|
+
<!-- RIGHT PANEL: Blocks, Variables, Video (the word video appears only while the Video tab is on) -->
|
|
46728
|
+
<aside class="panel-right" [attr.aria-label]="videosEnabled() ? 'Blocks, variables and video' : 'Blocks and variables'">
|
|
46338
46729
|
@if (!canWrite()) {
|
|
46339
46730
|
<div class="right-panel-body" data-testid="tpl-readonly-tools-note">
|
|
46340
46731
|
<h4 class="right-section-title">Read only</h4>
|
|
46341
|
-
<p class="right-section-hint">Blocks, variables and videos can only be added to a template you can edit
|
|
46732
|
+
<p class="right-section-hint">{{ videosEnabled() ? 'Blocks, variables and videos can only be added to a template you can edit.' : 'Blocks and variables can only be added to a template you can edit.' }}</p>
|
|
46342
46733
|
</div>
|
|
46343
46734
|
} @else {
|
|
46344
46735
|
<div class="right-tabs" role="tablist" aria-label="Right panel sections">
|
|
@@ -46653,7 +47044,8 @@ var EmailTemplateEditorComponent = class EmailTemplateEditorComponent {
|
|
|
46653
47044
|
"activeKey",
|
|
46654
47045
|
"ariaLabel",
|
|
46655
47046
|
"name",
|
|
46656
|
-
"noWrap"
|
|
47047
|
+
"noWrap",
|
|
47048
|
+
"orientation"
|
|
46657
47049
|
],
|
|
46658
47050
|
outputs: ["tabChange"]
|
|
46659
47051
|
},
|
|
@@ -46865,12 +47257,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
46865
47257
|
|
|
46866
47258
|
<div class="form-field">
|
|
46867
47259
|
<ui-text-input label="Name" [required]="true" [(ngModel)]="name" [readonly]="!canWrite()" [maxlength]="maxTextLength()"
|
|
46868
|
-
[placeholder]="namePlaceholder()" [error]="nameErrorShown()" (blurred)="nameTouched.set(true)" />
|
|
47260
|
+
[placeholder]="namePlaceholder()" [error]="nameErrorShown()" [showErrors]="nameTouched() || submitAttempted()" (blurred)="nameTouched.set(true)" />
|
|
46869
47261
|
</div>
|
|
46870
47262
|
|
|
46871
47263
|
<div class="form-field">
|
|
46872
47264
|
<ui-text-input label="Subject" [required]="true" [(ngModel)]="subject" [readonly]="!canWrite()" [maxlength]="maxTextLength()"
|
|
46873
|
-
[placeholder]="subjectPlaceholder()" [error]="subjectErrorShown()" (blurred)="subjectTouched.set(true)">
|
|
47265
|
+
[placeholder]="subjectPlaceholder()" [error]="subjectErrorShown()" [showErrors]="subjectTouched() || submitAttempted()" (blurred)="subjectTouched.set(true)">
|
|
46874
47266
|
</ui-text-input>
|
|
46875
47267
|
</div>
|
|
46876
47268
|
|
|
@@ -47117,12 +47509,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
47117
47509
|
}
|
|
47118
47510
|
</section>
|
|
47119
47511
|
|
|
47120
|
-
<!-- RIGHT PANEL: Blocks, Variables, Video -->
|
|
47121
|
-
<aside class="panel-right" aria-label="Blocks, variables and video">
|
|
47512
|
+
<!-- RIGHT PANEL: Blocks, Variables, Video (the word video appears only while the Video tab is on) -->
|
|
47513
|
+
<aside class="panel-right" [attr.aria-label]="videosEnabled() ? 'Blocks, variables and video' : 'Blocks and variables'">
|
|
47122
47514
|
@if (!canWrite()) {
|
|
47123
47515
|
<div class="right-panel-body" data-testid="tpl-readonly-tools-note">
|
|
47124
47516
|
<h4 class="right-section-title">Read only</h4>
|
|
47125
|
-
<p class="right-section-hint">Blocks, variables and videos can only be added to a template you can edit
|
|
47517
|
+
<p class="right-section-hint">{{ videosEnabled() ? 'Blocks, variables and videos can only be added to a template you can edit.' : 'Blocks and variables can only be added to a template you can edit.' }}</p>
|
|
47126
47518
|
</div>
|
|
47127
47519
|
} @else {
|
|
47128
47520
|
<div class="right-tabs" role="tablist" aria-label="Right panel sections">
|
|
@@ -47535,6 +47927,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
47535
47927
|
}]
|
|
47536
47928
|
}
|
|
47537
47929
|
});
|
|
47538
|
-
export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BoardCardDirective, BoardComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CalendarComponent, CardListItemComponent, CheckboxComponent, CheckboxTrailingDirective, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_EMAIL_TEMPLATE_BLOCK_GROUPS, DEFAULT_EMAIL_TEMPLATE_VARIABLE_GROUPS, DEFAULT_PASSWORD_RULES, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DropdownComponent, EMAIL_BLOCK_DRAG_TYPE, EMAIL_TEMPLATE_MAX_BODY, EMAIL_TEMPLATE_MAX_TEXT, EMAIL_TEMPLATE_START_TEXT, EmailTemplateEditorComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FadeComponent, FileInputComponent, FixedFooterComponent, FormColSpanDirective, FormComponent, FormRowComponent, FormSectionComponent, HintComponent, IDX_BEHAVIOR_SIGNALS, INTEGRATION_CATALOG, INTEGRATION_FIELD_DEFS, INTEGRATION_GROUP_ORDER, INTEGRATION_OPTION_DEFS, IconComponent, ImageComponent, ImageGalleryComponent, ImageGalleryDialogComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, ImportSourceGridComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, LiveRegionComponent, MAX_EMAIL_ADDRESS_LENGTH, ModalComponent, MoreMenuComponent, MultiSelectComponent, NOTES_MAX_LENGTH, NotesComponent, OptionCardComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PageComponent, PaginationComponent, PanelInfoListComponent, PasswordRequirementsComponent, PdfHotspotComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, RadioOptionContentDirective, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SETUP_DONE_KEY, SETUP_INTEGRATIONS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SetupWizardComponent, SetupWizardStepDirective, SetupWizardStepHeaderDirective, ShowComponent, SidePanelComponent, SidebarLayoutComponent, SignaturePadComponent, SkeletonComponent, StackComponent, StarComponent, StepperComponent, TableToolbarComponent, TextComponent, TextInputComponent, TextareaInputComponent, TimeInputComponent, TimelineComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, acceptLabel, appShellGroupsStorageKey, autoVariant, blockHasContent, buildDefaultSchedule, buildPreviewDocument, buildVideoBlockHtml, builtInActionIcon, businessTimeOptions, createFieldReveal, decodeFilterValues, digitsOnly, downloadBlob, encodeFilterValue, encodeFilterValues, errorContextInterceptor, escapeHtml, fileMatchesAccept, formatAddress, formatCategoryLabel, formatCurrency, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, formatVideoDuration, getEligibleIds, getEligibleOptions, getErrorMessage, humanReadableMessage, iconPath, insideEditorBlock, integrationPlainText, integrationsForApp, integrationsOnlyFor, isBlockDrag, isValidEmailAddress, isWebUrl, isoKey, issueToErrors, maxLengthIssue, normalizeHexColor, parseBizHours, parseIso, parseTime, passwordMeetsRules, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, serializeBizHours, serializedTextLength, setupIntegrations, splitIntro };
|
|
47930
|
+
export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BoardCardDirective, BoardComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CalendarComponent, CardListItemComponent, CheckboxComponent, CheckboxTrailingDirective, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_EMAIL_TEMPLATE_BLOCK_GROUPS, DEFAULT_EMAIL_TEMPLATE_VARIABLE_GROUPS, DEFAULT_PASSWORD_RULES, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DropdownComponent, EMAIL_BLOCK_DRAG_TYPE, EMAIL_TEMPLATE_MAX_BODY, EMAIL_TEMPLATE_MAX_TEXT, EMAIL_TEMPLATE_START_TEXT, EmailTemplateEditorComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FadeComponent, FileInputComponent, FixedFooterComponent, FormColSpanDirective, FormComponent, FormRowComponent, FormSectionComponent, HintComponent, IDX_BEHAVIOR_SIGNALS, INTEGRATION_CATALOG, INTEGRATION_FIELD_DEFS, INTEGRATION_GROUP_ORDER, INTEGRATION_OPTION_DEFS, IconComponent, ImageComponent, ImageGalleryComponent, ImageGalleryDialogComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, ImportSourceGridComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, LiveRegionComponent, MAX_EMAIL_ADDRESS_LENGTH, ModalComponent, MoreMenuComponent, MultiSelectComponent, NOTES_MAX_LENGTH, NotesComponent, OptionCardComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PageComponent, PaginationComponent, PanelInfoListComponent, PasswordRequirementsComponent, PdfHotspotComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, RadioOptionContentDirective, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SETUP_DONE_KEY, SETUP_INTEGRATIONS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SetupWizardComponent, SetupWizardStepDirective, SetupWizardStepHeaderDirective, ShowComponent, SidePanelComponent, SidebarLayoutComponent, SignaturePadComponent, SkeletonComponent, StackComponent, StarComponent, StepperComponent, TableToolbarComponent, TextComponent, TextInputComponent, TextTemplatePickerComponent, TextareaInputComponent, TimeInputComponent, TimelineComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, acceptLabel, appShellGroupsStorageKey, autoVariant, blockHasContent, buildDefaultSchedule, buildPreviewDocument, buildVideoBlockHtml, builtInActionIcon, businessTimeOptions, createFieldReveal, decodeFilterValues, digitsOnly, downloadBlob, encodeFilterValue, encodeFilterValues, errorContextInterceptor, escapeHtml, fileMatchesAccept, formatAddress, formatCategoryLabel, formatCurrency, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, formatVideoDuration, getEligibleIds, getEligibleOptions, getErrorMessage, humanReadableMessage, iconPath, insideEditorBlock, integrationPlainText, integrationsForApp, integrationsOnlyFor, isBlockDrag, isValidEmailAddress, isWebUrl, isoKey, issueToErrors, maxLengthIssue, normalizeHexColor, parseBizHours, parseIso, parseTime, passwordMeetsRules, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, serializeBizHours, serializedTextLength, setupIntegrations, splitIntro };
|
|
47539
47931
|
|
|
47540
47932
|
//# sourceMappingURL=forgeroute-ui.mjs.map
|