@matter-server/dashboard 1.2.6 → 1.2.8-alpha.0-20260718-c874702
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/dist/esm/components/webrtc-stream-view.d.ts +1 -0
- package/dist/esm/components/webrtc-stream-view.d.ts.map +1 -1
- package/dist/esm/components/webrtc-stream-view.js +11 -1
- package/dist/esm/components/webrtc-stream-view.js.map +1 -1
- package/dist/esm/pages/camera-overlay.d.ts +1 -0
- package/dist/esm/pages/camera-overlay.d.ts.map +1 -1
- package/dist/esm/pages/camera-overlay.js +13 -2
- package/dist/esm/pages/camera-overlay.js.map +1 -1
- package/dist/esm/pages/components/node-details.d.ts.map +1 -1
- package/dist/esm/pages/components/node-details.js +9 -10
- package/dist/esm/pages/components/node-details.js.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.js +1 -1
- package/dist/esm/pages/network/update-connections-dialog.js.map +1 -1
- package/dist/esm/util/device-icons.d.ts +2 -0
- package/dist/esm/util/device-icons.d.ts.map +1 -1
- package/dist/esm/util/device-icons.js +6 -0
- package/dist/esm/util/device-icons.js.map +1 -1
- package/dist/esm/util/webrtc-provider-payload.d.ts +0 -2
- package/dist/esm/util/webrtc-provider-payload.d.ts.map +1 -1
- package/dist/esm/util/webrtc-provider-payload.js +0 -2
- package/dist/esm/util/webrtc-provider-payload.js.map +1 -1
- package/dist/web/js/{attribute-write-dialog-C0DXvpbC.js → attribute-write-dialog-CB7oucjt.js} +1 -1
- package/dist/web/js/{command-invoke-dialog-QhvBXxay.js → command-invoke-dialog-C9rdQjTo.js} +1 -1
- package/dist/web/js/{commission-node-dialog-W3MNlP4N.js → commission-node-dialog-BwkiZy8i.js} +5 -5
- package/dist/web/js/{commission-node-existing-BdKkE8WK.js → commission-node-existing-BWTlMlwi.js} +1 -1
- package/dist/web/js/{commission-node-thread-BnkcVojr.js → commission-node-thread-WDo3_tCy.js} +1 -1
- package/dist/web/js/{commission-node-wifi-D6RNAp74.js → commission-node-wifi-Drj7Z0rY.js} +1 -1
- package/dist/web/js/{dialog-box-D42ceMiu.js → dialog-box-Dq6fTPQH.js} +1 -1
- package/dist/web/js/{fabric-label-dialog-BRkoFmjm.js → fabric-label-dialog-FE4tGieS.js} +1 -1
- package/dist/web/js/main.js +4 -3
- package/dist/web/js/{matter-dashboard-app-CzzJcQ1V.js → matter-dashboard-app-Ditf9BYC.js} +968 -984
- package/dist/web/js/{node-acl-add-dialog-CLP4fsZc.js → node-acl-add-dialog-BA3u0qYj.js} +1 -1
- package/dist/web/js/{node-binding-dialog-DQr0Trsu.js → node-binding-dialog-BV_fMc0a.js} +1 -1
- package/dist/web/js/{node-label-dialog-1r_X-9Hf.js → node-label-dialog-DG5CqG1e.js} +1 -1
- package/dist/web/js/{settings-dialog-D99_dqAw.js → settings-dialog-VafGbl7R.js} +1 -1
- package/package.json +4 -4
- package/src/components/webrtc-stream-view.ts +10 -1
- package/src/pages/camera-overlay.ts +14 -2
- package/src/pages/components/node-details.ts +9 -10
- package/src/pages/network/update-connections-dialog.ts +4 -3
- package/src/util/device-icons.ts +7 -0
- package/src/util/webrtc-provider-payload.ts +2 -4
|
@@ -1937,12 +1937,13 @@ const HANDLED_BY_FOCUS_RING = Symbol('handledByFocusRing');
|
|
|
1937
1937
|
|
|
1938
1938
|
/**
|
|
1939
1939
|
* @license
|
|
1940
|
-
* Copyright
|
|
1940
|
+
* Copyright 2026 Google LLC
|
|
1941
1941
|
* SPDX-License-Identifier: Apache-2.0
|
|
1942
1942
|
*/
|
|
1943
1943
|
// Generated stylesheet for ./focus/internal/focus-ring-styles.css.
|
|
1944
1944
|
const styles$r = i$7`:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}
|
|
1945
1945
|
`;
|
|
1946
|
+
styles$r.styleSheet;
|
|
1946
1947
|
|
|
1947
1948
|
/**
|
|
1948
1949
|
* @license
|
|
@@ -2496,12 +2497,13 @@ __decorate([e$6('.surface')], Ripple.prototype, "mdRoot", void 0);
|
|
|
2496
2497
|
|
|
2497
2498
|
/**
|
|
2498
2499
|
* @license
|
|
2499
|
-
* Copyright
|
|
2500
|
+
* Copyright 2026 Google LLC
|
|
2500
2501
|
* SPDX-License-Identifier: Apache-2.0
|
|
2501
2502
|
*/
|
|
2502
2503
|
// Generated stylesheet for ./ripple/internal/ripple-styles.css.
|
|
2503
2504
|
const styles$q = i$7`:host{display:flex;margin:auto;pointer-events:none}:host([disabled]){display:none}@media(forced-colors: active){:host{display:none}}:host,.surface{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.surface{-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{content:"";opacity:0;position:absolute}.surface::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));inset:0;transition:opacity 15ms linear,background-color 15ms linear}.surface::after{background:radial-gradient(closest-side, var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20)) max(100% - 70px, 65%), transparent 100%);transform-origin:center center;transition:opacity 375ms linear}.hovered::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}.pressed::after{opacity:var(--md-ripple-pressed-opacity, 0.12);transition-duration:105ms}
|
|
2504
2505
|
`;
|
|
2506
|
+
styles$q.styleSheet;
|
|
2505
2507
|
|
|
2506
2508
|
/**
|
|
2507
2509
|
* @license
|
|
@@ -2730,124 +2732,6 @@ function ariaAttributeToDataProperty(ariaAttribute) {
|
|
|
2730
2732
|
return ariaAttribute.replace(/-\w/, dashLetter => dashLetter[1].toUpperCase());
|
|
2731
2733
|
}
|
|
2732
2734
|
|
|
2733
|
-
/**
|
|
2734
|
-
* @license
|
|
2735
|
-
* Copyright 2023 Google LLC
|
|
2736
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
2737
|
-
*/
|
|
2738
|
-
/**
|
|
2739
|
-
* A unique symbol used for protected access to an instance's
|
|
2740
|
-
* `ElementInternals`.
|
|
2741
|
-
*
|
|
2742
|
-
* @example
|
|
2743
|
-
* ```ts
|
|
2744
|
-
* class MyElement extends mixinElementInternals(LitElement) {
|
|
2745
|
-
* constructor() {
|
|
2746
|
-
* super();
|
|
2747
|
-
* this[internals].role = 'button';
|
|
2748
|
-
* }
|
|
2749
|
-
* }
|
|
2750
|
-
* ```
|
|
2751
|
-
*/
|
|
2752
|
-
const internals = Symbol('internals');
|
|
2753
|
-
// Private symbols
|
|
2754
|
-
const privateInternals = Symbol('privateInternals');
|
|
2755
|
-
/**
|
|
2756
|
-
* Mixes in an attached `ElementInternals` instance.
|
|
2757
|
-
*
|
|
2758
|
-
* This mixin is only needed when other shared code needs access to a
|
|
2759
|
-
* component's `ElementInternals`, such as form-associated mixins.
|
|
2760
|
-
*
|
|
2761
|
-
* @param base The class to mix functionality into.
|
|
2762
|
-
* @return The provided class with `WithElementInternals` mixed in.
|
|
2763
|
-
*/
|
|
2764
|
-
function mixinElementInternals(base) {
|
|
2765
|
-
class WithElementInternalsElement extends base {
|
|
2766
|
-
get [internals]() {
|
|
2767
|
-
// Create internals in getter so that it can be used in methods called on
|
|
2768
|
-
// construction in `ReactiveElement`, such as `requestUpdate()`.
|
|
2769
|
-
if (!this[privateInternals]) {
|
|
2770
|
-
// Cast needed for closure
|
|
2771
|
-
this[privateInternals] = this.attachInternals();
|
|
2772
|
-
}
|
|
2773
|
-
return this[privateInternals];
|
|
2774
|
-
}
|
|
2775
|
-
}
|
|
2776
|
-
return WithElementInternalsElement;
|
|
2777
|
-
}
|
|
2778
|
-
|
|
2779
|
-
/**
|
|
2780
|
-
* @license
|
|
2781
|
-
* Copyright 2023 Google LLC
|
|
2782
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
2783
|
-
*/
|
|
2784
|
-
/**
|
|
2785
|
-
* Sets up an element's constructor to enable form submission. The element
|
|
2786
|
-
* instance should be form associated and have a `type` property.
|
|
2787
|
-
*
|
|
2788
|
-
* A click listener is added to each element instance. If the click is not
|
|
2789
|
-
* default prevented, it will submit the element's form, if any.
|
|
2790
|
-
*
|
|
2791
|
-
* @example
|
|
2792
|
-
* ```ts
|
|
2793
|
-
* class MyElement extends mixinElementInternals(LitElement) {
|
|
2794
|
-
* static {
|
|
2795
|
-
* setupFormSubmitter(MyElement);
|
|
2796
|
-
* }
|
|
2797
|
-
*
|
|
2798
|
-
* static formAssociated = true;
|
|
2799
|
-
*
|
|
2800
|
-
* type: FormSubmitterType = 'submit';
|
|
2801
|
-
* }
|
|
2802
|
-
* ```
|
|
2803
|
-
*
|
|
2804
|
-
* @param ctor The form submitter element's constructor.
|
|
2805
|
-
*/
|
|
2806
|
-
function setupFormSubmitter(ctor) {
|
|
2807
|
-
ctor.addInitializer(instance => {
|
|
2808
|
-
const submitter = instance;
|
|
2809
|
-
submitter.addEventListener('click', async event => {
|
|
2810
|
-
const {
|
|
2811
|
-
type,
|
|
2812
|
-
[internals]: elementInternals
|
|
2813
|
-
} = submitter;
|
|
2814
|
-
const {
|
|
2815
|
-
form
|
|
2816
|
-
} = elementInternals;
|
|
2817
|
-
if (!form || type === 'button') {
|
|
2818
|
-
return;
|
|
2819
|
-
}
|
|
2820
|
-
// Wait a full task for event bubbling to complete.
|
|
2821
|
-
await new Promise(resolve => {
|
|
2822
|
-
setTimeout(resolve);
|
|
2823
|
-
});
|
|
2824
|
-
if (event.defaultPrevented) {
|
|
2825
|
-
return;
|
|
2826
|
-
}
|
|
2827
|
-
if (type === 'reset') {
|
|
2828
|
-
form.reset();
|
|
2829
|
-
return;
|
|
2830
|
-
}
|
|
2831
|
-
// form.requestSubmit(submitter) does not work with form associated custom
|
|
2832
|
-
// elements. This patches the dispatched submit event to add the correct
|
|
2833
|
-
// `submitter`.
|
|
2834
|
-
// See https://github.com/WICG/webcomponents/issues/814
|
|
2835
|
-
form.addEventListener('submit', submitEvent => {
|
|
2836
|
-
Object.defineProperty(submitEvent, 'submitter', {
|
|
2837
|
-
configurable: true,
|
|
2838
|
-
enumerable: true,
|
|
2839
|
-
get: () => submitter
|
|
2840
|
-
});
|
|
2841
|
-
}, {
|
|
2842
|
-
capture: true,
|
|
2843
|
-
once: true
|
|
2844
|
-
});
|
|
2845
|
-
elementInternals.setFormValue(submitter.value);
|
|
2846
|
-
form.requestSubmit();
|
|
2847
|
-
});
|
|
2848
|
-
});
|
|
2849
|
-
}
|
|
2850
|
-
|
|
2851
2735
|
/**
|
|
2852
2736
|
* @license
|
|
2853
2737
|
* Copyright 2021 Google LLC
|
|
@@ -2946,35 +2830,469 @@ async function squelchEventsForMicrotask() {
|
|
|
2946
2830
|
isSquelchingEvents = false;
|
|
2947
2831
|
}
|
|
2948
2832
|
|
|
2833
|
+
/**
|
|
2834
|
+
* @license
|
|
2835
|
+
* Copyright 2023 Google LLC
|
|
2836
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
2837
|
+
*/
|
|
2838
|
+
/**
|
|
2839
|
+
* A unique symbol used for protected access to an instance's
|
|
2840
|
+
* `ElementInternals`.
|
|
2841
|
+
*
|
|
2842
|
+
* @example
|
|
2843
|
+
* ```ts
|
|
2844
|
+
* class MyElement extends mixinElementInternals(LitElement) {
|
|
2845
|
+
* constructor() {
|
|
2846
|
+
* super();
|
|
2847
|
+
* this[internals].role = 'button';
|
|
2848
|
+
* }
|
|
2849
|
+
* }
|
|
2850
|
+
* ```
|
|
2851
|
+
*/
|
|
2852
|
+
const internals = Symbol('internals');
|
|
2853
|
+
// Private symbols
|
|
2854
|
+
const privateInternals = Symbol('privateInternals');
|
|
2855
|
+
/**
|
|
2856
|
+
* Mixes in an attached `ElementInternals` instance.
|
|
2857
|
+
*
|
|
2858
|
+
* This mixin is only needed when other shared code needs access to a
|
|
2859
|
+
* component's `ElementInternals`, such as form-associated mixins.
|
|
2860
|
+
*
|
|
2861
|
+
* @param base The class to mix functionality into.
|
|
2862
|
+
* @return The provided class with `WithElementInternals` mixed in.
|
|
2863
|
+
*/
|
|
2864
|
+
function mixinElementInternals(base) {
|
|
2865
|
+
class WithElementInternalsElement extends base {
|
|
2866
|
+
get [internals]() {
|
|
2867
|
+
// Create internals in getter so that it can be used in methods called on
|
|
2868
|
+
// construction in `ReactiveElement`, such as `requestUpdate()`.
|
|
2869
|
+
if (!this[privateInternals]) {
|
|
2870
|
+
// Cast needed for closure
|
|
2871
|
+
this[privateInternals] = this.attachInternals();
|
|
2872
|
+
}
|
|
2873
|
+
return this[privateInternals];
|
|
2874
|
+
}
|
|
2875
|
+
}
|
|
2876
|
+
return WithElementInternalsElement;
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2879
|
+
/**
|
|
2880
|
+
* @license
|
|
2881
|
+
* Copyright 2023 Google LLC
|
|
2882
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
2883
|
+
*/
|
|
2884
|
+
/**
|
|
2885
|
+
* A symbol property to retrieve the form value for an element.
|
|
2886
|
+
*/
|
|
2887
|
+
const getFormValue = Symbol('getFormValue');
|
|
2888
|
+
/**
|
|
2889
|
+
* A symbol property to retrieve the form state for an element.
|
|
2890
|
+
*/
|
|
2891
|
+
const getFormState = Symbol('getFormState');
|
|
2892
|
+
/**
|
|
2893
|
+
* Mixes in form-associated behavior for a class. This allows an element to add
|
|
2894
|
+
* values to `<form>` elements.
|
|
2895
|
+
*
|
|
2896
|
+
* Implementing classes should provide a `[formValue]` to return the current
|
|
2897
|
+
* value of the element, as well as reset and restore callbacks.
|
|
2898
|
+
*
|
|
2899
|
+
* @example
|
|
2900
|
+
* ```ts
|
|
2901
|
+
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
2902
|
+
*
|
|
2903
|
+
* class MyControl extends base {
|
|
2904
|
+
* \@property()
|
|
2905
|
+
* value = '';
|
|
2906
|
+
*
|
|
2907
|
+
* override [getFormValue]() {
|
|
2908
|
+
* return this.value;
|
|
2909
|
+
* }
|
|
2910
|
+
*
|
|
2911
|
+
* override formResetCallback() {
|
|
2912
|
+
* const defaultValue = this.getAttribute('value');
|
|
2913
|
+
* this.value = defaultValue;
|
|
2914
|
+
* }
|
|
2915
|
+
*
|
|
2916
|
+
* override formStateRestoreCallback(state: string) {
|
|
2917
|
+
* this.value = state;
|
|
2918
|
+
* }
|
|
2919
|
+
* }
|
|
2920
|
+
* ```
|
|
2921
|
+
*
|
|
2922
|
+
* Elements may optionally provide a `[formState]` if their values do not
|
|
2923
|
+
* represent the state of the component.
|
|
2924
|
+
*
|
|
2925
|
+
* @example
|
|
2926
|
+
* ```ts
|
|
2927
|
+
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
2928
|
+
*
|
|
2929
|
+
* class MyCheckbox extends base {
|
|
2930
|
+
* \@property()
|
|
2931
|
+
* value = 'on';
|
|
2932
|
+
*
|
|
2933
|
+
* \@property({type: Boolean})
|
|
2934
|
+
* checked = false;
|
|
2935
|
+
*
|
|
2936
|
+
* override [getFormValue]() {
|
|
2937
|
+
* return this.checked ? this.value : null;
|
|
2938
|
+
* }
|
|
2939
|
+
*
|
|
2940
|
+
* override [getFormState]() {
|
|
2941
|
+
* return String(this.checked);
|
|
2942
|
+
* }
|
|
2943
|
+
*
|
|
2944
|
+
* override formResetCallback() {
|
|
2945
|
+
* const defaultValue = this.hasAttribute('checked');
|
|
2946
|
+
* this.checked = defaultValue;
|
|
2947
|
+
* }
|
|
2948
|
+
*
|
|
2949
|
+
* override formStateRestoreCallback(state: string) {
|
|
2950
|
+
* this.checked = Boolean(state);
|
|
2951
|
+
* }
|
|
2952
|
+
* }
|
|
2953
|
+
* ```
|
|
2954
|
+
*
|
|
2955
|
+
* @param base The class to mix functionality into. The base class must use
|
|
2956
|
+
* `mixinElementInternals()`.
|
|
2957
|
+
* @return The provided class with `FormAssociated` mixed in.
|
|
2958
|
+
*/
|
|
2959
|
+
function mixinFormAssociated(base) {
|
|
2960
|
+
class FormAssociatedElement extends base {
|
|
2961
|
+
get form() {
|
|
2962
|
+
return this[internals].form;
|
|
2963
|
+
}
|
|
2964
|
+
get labels() {
|
|
2965
|
+
return this[internals].labels;
|
|
2966
|
+
}
|
|
2967
|
+
// Use @property for the `name` and `disabled` properties to add them to the
|
|
2968
|
+
// `observedAttributes` array and trigger `attributeChangedCallback()`.
|
|
2969
|
+
//
|
|
2970
|
+
// We don't use Lit's default getter/setter (`noAccessor: true`) because
|
|
2971
|
+
// the attributes need to be updated synchronously to work with synchronous
|
|
2972
|
+
// form APIs, and Lit updates attributes async by default.
|
|
2973
|
+
get name() {
|
|
2974
|
+
return this.getAttribute('name') ?? '';
|
|
2975
|
+
}
|
|
2976
|
+
set name(name) {
|
|
2977
|
+
// Note: setting name to null or empty does not remove the attribute.
|
|
2978
|
+
this.setAttribute('name', name);
|
|
2979
|
+
// We don't need to call `requestUpdate()` since it's called synchronously
|
|
2980
|
+
// in `attributeChangedCallback()`.
|
|
2981
|
+
}
|
|
2982
|
+
get disabled() {
|
|
2983
|
+
return this.hasAttribute('disabled');
|
|
2984
|
+
}
|
|
2985
|
+
set disabled(disabled) {
|
|
2986
|
+
// Coerce `disabled` in `Boolean()` to ensure that setting to `null` or
|
|
2987
|
+
// `undefined` sets the attribute to `false`.
|
|
2988
|
+
this.toggleAttribute('disabled', Boolean(disabled));
|
|
2989
|
+
// We don't need to call `requestUpdate()` since it's called synchronously
|
|
2990
|
+
// in `attributeChangedCallback()`.
|
|
2991
|
+
}
|
|
2992
|
+
attributeChangedCallback(name, old, value) {
|
|
2993
|
+
// Manually `requestUpdate()` for `name` and `disabled` when their
|
|
2994
|
+
// attribute or property changes.
|
|
2995
|
+
// The properties update their attributes, so this callback is invoked
|
|
2996
|
+
// immediately when the properties are set. We call `requestUpdate()` here
|
|
2997
|
+
// instead of letting Lit set the properties from the attribute change.
|
|
2998
|
+
// That would cause the properties to re-set the attribute and invoke this
|
|
2999
|
+
// callback again in a loop. This leads to stale state when Lit tries to
|
|
3000
|
+
// determine if a property changed or not.
|
|
3001
|
+
if (name === 'name' || name === 'disabled') {
|
|
3002
|
+
// Disabled's value is only false if the attribute is missing and null.
|
|
3003
|
+
const oldValue = name === 'disabled' ? old !== null : old;
|
|
3004
|
+
// Trigger a lit update when the attribute changes.
|
|
3005
|
+
this.requestUpdate(name, oldValue);
|
|
3006
|
+
return;
|
|
3007
|
+
}
|
|
3008
|
+
super.attributeChangedCallback(name, old, value);
|
|
3009
|
+
}
|
|
3010
|
+
requestUpdate(name, oldValue, options) {
|
|
3011
|
+
super.requestUpdate(name, oldValue, options);
|
|
3012
|
+
// If any properties change, update the form value, which may have changed
|
|
3013
|
+
// as well.
|
|
3014
|
+
// Update the form value synchronously in `requestUpdate()` rather than
|
|
3015
|
+
// `update()` or `updated()`, which are async. This is necessary to ensure
|
|
3016
|
+
// that form data is updated in time for synchronous event listeners.
|
|
3017
|
+
this[internals].setFormValue(this[getFormValue](), this[getFormState]());
|
|
3018
|
+
}
|
|
3019
|
+
[getFormValue]() {
|
|
3020
|
+
return this.getAttribute('value');
|
|
3021
|
+
}
|
|
3022
|
+
[getFormState]() {
|
|
3023
|
+
return this[getFormValue]();
|
|
3024
|
+
}
|
|
3025
|
+
formDisabledCallback(disabled) {
|
|
3026
|
+
this.disabled = disabled;
|
|
3027
|
+
}
|
|
3028
|
+
}
|
|
3029
|
+
/** @nocollapse */
|
|
3030
|
+
FormAssociatedElement.formAssociated = true;
|
|
3031
|
+
__decorate([n$5({
|
|
3032
|
+
noAccessor: true
|
|
3033
|
+
})], FormAssociatedElement.prototype, "name", null);
|
|
3034
|
+
__decorate([n$5({
|
|
3035
|
+
type: Boolean,
|
|
3036
|
+
noAccessor: true
|
|
3037
|
+
})], FormAssociatedElement.prototype, "disabled", null);
|
|
3038
|
+
return FormAssociatedElement;
|
|
3039
|
+
}
|
|
3040
|
+
|
|
3041
|
+
/**
|
|
3042
|
+
* @license
|
|
3043
|
+
* Copyright 2023 Google LLC
|
|
3044
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
3045
|
+
*/
|
|
3046
|
+
/**
|
|
3047
|
+
* A symbol used to access dispatch hooks on an event.
|
|
3048
|
+
*/
|
|
3049
|
+
const dispatchHooks = Symbol('dispatchHooks');
|
|
3050
|
+
/**
|
|
3051
|
+
* Add a hook for an event that is called after the event is dispatched and
|
|
3052
|
+
* propagates to other event listeners.
|
|
3053
|
+
*
|
|
3054
|
+
* This is useful for behaviors that need to check if an event is canceled.
|
|
3055
|
+
*
|
|
3056
|
+
* The callback is invoked synchronously, which allows for better integration
|
|
3057
|
+
* with synchronous platform APIs (like `<form>` or `<label>` clicking).
|
|
3058
|
+
*
|
|
3059
|
+
* Note: `setupDispatchHooks()` must be called on the element before adding any
|
|
3060
|
+
* other event listeners. Call it in the constructor of an element or
|
|
3061
|
+
* controller.
|
|
3062
|
+
*
|
|
3063
|
+
* @example
|
|
3064
|
+
* ```ts
|
|
3065
|
+
* class MyControl extends LitElement {
|
|
3066
|
+
* constructor() {
|
|
3067
|
+
* super();
|
|
3068
|
+
* setupDispatchHooks(this, 'click');
|
|
3069
|
+
* this.addEventListener('click', event => {
|
|
3070
|
+
* afterDispatch(event, () => {
|
|
3071
|
+
* if (event.defaultPrevented) {
|
|
3072
|
+
* return
|
|
3073
|
+
* }
|
|
3074
|
+
*
|
|
3075
|
+
* // ... perform logic
|
|
3076
|
+
* });
|
|
3077
|
+
* });
|
|
3078
|
+
* }
|
|
3079
|
+
* }
|
|
3080
|
+
* ```
|
|
3081
|
+
*
|
|
3082
|
+
* @example
|
|
3083
|
+
* ```ts
|
|
3084
|
+
* class MyController implements ReactiveController {
|
|
3085
|
+
* constructor(host: ReactiveElement) {
|
|
3086
|
+
* // setupDispatchHooks() may be called multiple times for the same
|
|
3087
|
+
* // element and events, making it safe for multiple controllers to use it.
|
|
3088
|
+
* setupDispatchHooks(host, 'click');
|
|
3089
|
+
* host.addEventListener('click', event => {
|
|
3090
|
+
* afterDispatch(event, () => {
|
|
3091
|
+
* if (event.defaultPrevented) {
|
|
3092
|
+
* return;
|
|
3093
|
+
* }
|
|
3094
|
+
*
|
|
3095
|
+
* // ... perform logic
|
|
3096
|
+
* });
|
|
3097
|
+
* });
|
|
3098
|
+
* }
|
|
3099
|
+
* }
|
|
3100
|
+
* ```
|
|
3101
|
+
*
|
|
3102
|
+
* @param event The event to add a hook to.
|
|
3103
|
+
* @param callback A hook that is called after the event finishes dispatching.
|
|
3104
|
+
*/
|
|
3105
|
+
function afterDispatch(event, callback) {
|
|
3106
|
+
const hooks = event[dispatchHooks];
|
|
3107
|
+
if (!hooks) {
|
|
3108
|
+
throw new Error(`'${event.type}' event needs setupDispatchHooks().`);
|
|
3109
|
+
}
|
|
3110
|
+
hooks.addEventListener('after', callback, {
|
|
3111
|
+
once: true
|
|
3112
|
+
});
|
|
3113
|
+
}
|
|
3114
|
+
/**
|
|
3115
|
+
* A lookup map of elements and event types that have a dispatch hook listener
|
|
3116
|
+
* set up. Used to ensure we don't set up multiple hook listeners on the same
|
|
3117
|
+
* element for the same event.
|
|
3118
|
+
*/
|
|
3119
|
+
const ELEMENT_DISPATCH_HOOK_TYPES = new WeakMap();
|
|
3120
|
+
/**
|
|
3121
|
+
* Sets up an element to add dispatch hooks to given event types. This must be
|
|
3122
|
+
* called before adding any event listeners that need to use dispatch hooks
|
|
3123
|
+
* like `afterDispatch()`.
|
|
3124
|
+
*
|
|
3125
|
+
* This function is safe to call multiple times with the same element or event
|
|
3126
|
+
* types. Call it in the constructor of elements, mixins, and controllers to
|
|
3127
|
+
* ensure it is set up before external listeners.
|
|
3128
|
+
*
|
|
3129
|
+
* @example
|
|
3130
|
+
* ```ts
|
|
3131
|
+
* class MyControl extends LitElement {
|
|
3132
|
+
* constructor() {
|
|
3133
|
+
* super();
|
|
3134
|
+
* setupDispatchHooks(this, 'click');
|
|
3135
|
+
* this.addEventListener('click', this.listenerUsingAfterDispatch);
|
|
3136
|
+
* }
|
|
3137
|
+
* }
|
|
3138
|
+
* ```
|
|
3139
|
+
*
|
|
3140
|
+
* @param element The element to set up event dispatch hooks for.
|
|
3141
|
+
* @param eventTypes The event types to add dispatch hooks to.
|
|
3142
|
+
*/
|
|
3143
|
+
function setupDispatchHooks(element, ...eventTypes) {
|
|
3144
|
+
let typesAlreadySetUp = ELEMENT_DISPATCH_HOOK_TYPES.get(element);
|
|
3145
|
+
if (!typesAlreadySetUp) {
|
|
3146
|
+
typesAlreadySetUp = new Set();
|
|
3147
|
+
ELEMENT_DISPATCH_HOOK_TYPES.set(element, typesAlreadySetUp);
|
|
3148
|
+
}
|
|
3149
|
+
for (const eventType of eventTypes) {
|
|
3150
|
+
// Don't register multiple dispatch hook listeners. A second registration
|
|
3151
|
+
// would lead to the second listener calling `afterDispatch()` hooks twice.
|
|
3152
|
+
if (typesAlreadySetUp.has(eventType)) {
|
|
3153
|
+
continue;
|
|
3154
|
+
}
|
|
3155
|
+
element.addEventListener(eventType, event => {
|
|
3156
|
+
// Add hooks onto the event.
|
|
3157
|
+
const hooks = new EventTarget();
|
|
3158
|
+
event[dispatchHooks] = hooks;
|
|
3159
|
+
const cleanupLastNodeListener = new AbortController();
|
|
3160
|
+
const callAfterDispatch = () => {
|
|
3161
|
+
cleanupLastNodeListener.abort();
|
|
3162
|
+
hooks.dispatchEvent(new Event('after'));
|
|
3163
|
+
};
|
|
3164
|
+
const patchStopPropagation = superMethod => {
|
|
3165
|
+
return function () {
|
|
3166
|
+
superMethod.call(this);
|
|
3167
|
+
// Synchronously call afterDispatch() hooks when interrupted.
|
|
3168
|
+
callAfterDispatch();
|
|
3169
|
+
};
|
|
3170
|
+
};
|
|
3171
|
+
event.stopPropagation = patchStopPropagation(event.stopPropagation);
|
|
3172
|
+
event.stopImmediatePropagation = patchStopPropagation(event.stopImmediatePropagation);
|
|
3173
|
+
// Add an event listener to detect the end of the event's propagation.
|
|
3174
|
+
const composedPath = event.composedPath();
|
|
3175
|
+
let lastNodeForEvent;
|
|
3176
|
+
if (event.composed && event.bubbles) {
|
|
3177
|
+
lastNodeForEvent = composedPath[composedPath.length - 1];
|
|
3178
|
+
} else if (!event.bubbles) {
|
|
3179
|
+
lastNodeForEvent = composedPath[0];
|
|
3180
|
+
} else {
|
|
3181
|
+
lastNodeForEvent = composedPath[0].getRootNode();
|
|
3182
|
+
}
|
|
3183
|
+
lastNodeForEvent.addEventListener(eventType, () => {
|
|
3184
|
+
// Synchronously call afterDispatch() hooks.
|
|
3185
|
+
callAfterDispatch();
|
|
3186
|
+
}, {
|
|
3187
|
+
once: true,
|
|
3188
|
+
signal: cleanupLastNodeListener.signal
|
|
3189
|
+
});
|
|
3190
|
+
}, {
|
|
3191
|
+
// Ensure this listener runs before other listeners.
|
|
3192
|
+
// `setupDispatchHooks()` should be called in constructors to also
|
|
3193
|
+
// ensure they run before any other externally-added capture listeners.
|
|
3194
|
+
capture: true
|
|
3195
|
+
});
|
|
3196
|
+
typesAlreadySetUp.add(eventType);
|
|
3197
|
+
}
|
|
3198
|
+
}
|
|
3199
|
+
|
|
3200
|
+
/**
|
|
3201
|
+
* @license
|
|
3202
|
+
* Copyright 2023 Google LLC
|
|
3203
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
3204
|
+
*/
|
|
3205
|
+
/**
|
|
3206
|
+
* Mixes in form submitter behavior for a class.
|
|
3207
|
+
*
|
|
3208
|
+
* A click listener is added to each element instance. If the click is not
|
|
3209
|
+
* default prevented, it will submit the element's form, if any.
|
|
3210
|
+
*
|
|
3211
|
+
* @example
|
|
3212
|
+
* ```ts
|
|
3213
|
+
* const base = mixinFormSubmitter(mixinElementInternals(LitElement));
|
|
3214
|
+
* class MyButton extends base {
|
|
3215
|
+
* static formAssociated = true;
|
|
3216
|
+
* }
|
|
3217
|
+
* ```
|
|
3218
|
+
*
|
|
3219
|
+
* @param base The class to mix functionality into.
|
|
3220
|
+
* @return The provided class with `FormSubmitter` mixed in.
|
|
3221
|
+
*/
|
|
3222
|
+
function mixinFormSubmitter(base) {
|
|
3223
|
+
class FormSubmitterElement extends base {
|
|
3224
|
+
// Name attribute must reflect synchronously for form integration.
|
|
3225
|
+
get name() {
|
|
3226
|
+
return this.getAttribute('name') ?? '';
|
|
3227
|
+
}
|
|
3228
|
+
set name(name) {
|
|
3229
|
+
this.setAttribute('name', name);
|
|
3230
|
+
}
|
|
3231
|
+
// Mixins must have a constructor with `...args: any[]`
|
|
3232
|
+
// tslint:disable-next-line:no-any
|
|
3233
|
+
constructor(...args) {
|
|
3234
|
+
super(...args);
|
|
3235
|
+
this.type = 'submit';
|
|
3236
|
+
this.value = '';
|
|
3237
|
+
setupDispatchHooks(this, 'click');
|
|
3238
|
+
this.addEventListener('click', async event => {
|
|
3239
|
+
const isReset = this.type === 'reset';
|
|
3240
|
+
const isSubmit = this.type === 'submit';
|
|
3241
|
+
const elementInternals = this[internals];
|
|
3242
|
+
const {
|
|
3243
|
+
form
|
|
3244
|
+
} = elementInternals;
|
|
3245
|
+
if (!form || !(isSubmit || isReset)) {
|
|
3246
|
+
return;
|
|
3247
|
+
}
|
|
3248
|
+
afterDispatch(event, () => {
|
|
3249
|
+
if (event.defaultPrevented) {
|
|
3250
|
+
return;
|
|
3251
|
+
}
|
|
3252
|
+
if (isReset) {
|
|
3253
|
+
form.reset();
|
|
3254
|
+
return;
|
|
3255
|
+
}
|
|
3256
|
+
// form.requestSubmit(submitter) does not work with form associated custom
|
|
3257
|
+
// elements. This patches the dispatched submit event to add the correct
|
|
3258
|
+
// `submitter`.
|
|
3259
|
+
// See https://github.com/WICG/webcomponents/issues/814
|
|
3260
|
+
form.addEventListener('submit', submitEvent => {
|
|
3261
|
+
Object.defineProperty(submitEvent, 'submitter', {
|
|
3262
|
+
configurable: true,
|
|
3263
|
+
enumerable: true,
|
|
3264
|
+
get: () => this
|
|
3265
|
+
});
|
|
3266
|
+
}, {
|
|
3267
|
+
capture: true,
|
|
3268
|
+
once: true
|
|
3269
|
+
});
|
|
3270
|
+
elementInternals.setFormValue(this.value);
|
|
3271
|
+
form.requestSubmit();
|
|
3272
|
+
});
|
|
3273
|
+
});
|
|
3274
|
+
}
|
|
3275
|
+
}
|
|
3276
|
+
__decorate([n$5()], FormSubmitterElement.prototype, "type", void 0);
|
|
3277
|
+
__decorate([n$5({
|
|
3278
|
+
reflect: true
|
|
3279
|
+
})], FormSubmitterElement.prototype, "value", void 0);
|
|
3280
|
+
return FormSubmitterElement;
|
|
3281
|
+
}
|
|
3282
|
+
|
|
2949
3283
|
/**
|
|
2950
3284
|
* @license
|
|
2951
3285
|
* Copyright 2019 Google LLC
|
|
2952
3286
|
* SPDX-License-Identifier: Apache-2.0
|
|
2953
3287
|
*/
|
|
2954
3288
|
// Separate variable needed for closure.
|
|
2955
|
-
const buttonBaseClass = mixinDelegatesAria(mixinElementInternals(i$4));
|
|
3289
|
+
const buttonBaseClass = mixinDelegatesAria(mixinFormSubmitter(mixinFormAssociated(mixinElementInternals(i$4))));
|
|
2956
3290
|
/**
|
|
2957
3291
|
* A button component.
|
|
2958
3292
|
*/
|
|
2959
3293
|
class Button extends buttonBaseClass {
|
|
2960
|
-
get name() {
|
|
2961
|
-
return this.getAttribute('name') ?? '';
|
|
2962
|
-
}
|
|
2963
|
-
set name(name) {
|
|
2964
|
-
this.setAttribute('name', name);
|
|
2965
|
-
}
|
|
2966
|
-
/**
|
|
2967
|
-
* The associated form element with which this element's value will submit.
|
|
2968
|
-
*/
|
|
2969
|
-
get form() {
|
|
2970
|
-
return this[internals].form;
|
|
2971
|
-
}
|
|
2972
3294
|
constructor() {
|
|
2973
3295
|
super();
|
|
2974
|
-
/**
|
|
2975
|
-
* Whether or not the button is disabled.
|
|
2976
|
-
*/
|
|
2977
|
-
this.disabled = false;
|
|
2978
3296
|
/**
|
|
2979
3297
|
* Whether or not the button is "soft-disabled" (disabled but still
|
|
2980
3298
|
* focusable).
|
|
@@ -3010,16 +3328,6 @@ class Button extends buttonBaseClass {
|
|
|
3010
3328
|
* Whether to display the icon or not.
|
|
3011
3329
|
*/
|
|
3012
3330
|
this.hasIcon = false;
|
|
3013
|
-
/**
|
|
3014
|
-
* The default behavior of the button. May be "button", "reset", or "submit"
|
|
3015
|
-
* (default).
|
|
3016
|
-
*/
|
|
3017
|
-
this.type = 'submit';
|
|
3018
|
-
/**
|
|
3019
|
-
* The value added to a form with the button's name when the button submits a
|
|
3020
|
-
* form.
|
|
3021
|
-
*/
|
|
3022
|
-
this.value = '';
|
|
3023
3331
|
{
|
|
3024
3332
|
this.addEventListener('click', this.handleClick.bind(this));
|
|
3025
3333
|
}
|
|
@@ -3116,20 +3424,11 @@ class Button extends buttonBaseClass {
|
|
|
3116
3424
|
this.hasIcon = this.assignedIcons.length > 0;
|
|
3117
3425
|
}
|
|
3118
3426
|
}
|
|
3119
|
-
(() => {
|
|
3120
|
-
setupFormSubmitter(Button);
|
|
3121
|
-
})();
|
|
3122
|
-
/** @nocollapse */
|
|
3123
|
-
Button.formAssociated = true;
|
|
3124
3427
|
/** @nocollapse */
|
|
3125
3428
|
Button.shadowRootOptions = {
|
|
3126
3429
|
mode: 'open',
|
|
3127
3430
|
delegatesFocus: true
|
|
3128
3431
|
};
|
|
3129
|
-
__decorate([n$5({
|
|
3130
|
-
type: Boolean,
|
|
3131
|
-
reflect: true
|
|
3132
|
-
})], Button.prototype, "disabled", void 0);
|
|
3133
3432
|
__decorate([n$5({
|
|
3134
3433
|
type: Boolean,
|
|
3135
3434
|
attribute: 'soft-disabled',
|
|
@@ -3148,10 +3447,6 @@ __decorate([n$5({
|
|
|
3148
3447
|
attribute: 'has-icon',
|
|
3149
3448
|
reflect: true
|
|
3150
3449
|
})], Button.prototype, "hasIcon", void 0);
|
|
3151
|
-
__decorate([n$5()], Button.prototype, "type", void 0);
|
|
3152
|
-
__decorate([n$5({
|
|
3153
|
-
reflect: true
|
|
3154
|
-
})], Button.prototype, "value", void 0);
|
|
3155
3450
|
__decorate([e$6('.button')], Button.prototype, "buttonElement", void 0);
|
|
3156
3451
|
__decorate([o$5({
|
|
3157
3452
|
slot: 'icon',
|
|
@@ -3174,21 +3469,23 @@ class OutlinedButton extends Button {
|
|
|
3174
3469
|
|
|
3175
3470
|
/**
|
|
3176
3471
|
* @license
|
|
3177
|
-
* Copyright
|
|
3472
|
+
* Copyright 2026 Google LLC
|
|
3178
3473
|
* SPDX-License-Identifier: Apache-2.0
|
|
3179
3474
|
*/
|
|
3180
3475
|
// Generated stylesheet for ./button/internal/outlined-styles.css.
|
|
3181
3476
|
const styles$p = i$7`:host{--_container-height: var(--md-outlined-button-container-height, 40px);--_disabled-label-text-color: var(--md-outlined-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-button-disabled-label-text-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-button-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-button-disabled-outline-opacity, 0.12);--_focus-label-text-color: var(--md-outlined-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-label-text-color: var(--md-outlined-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-outlined-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-outlined-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-outlined-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-outlined-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-outlined-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-outlined-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_outline-color: var(--md-outlined-button-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-button-outline-width, 1px);--_pressed-label-text-color: var(--md-outlined-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-outline-color: var(--md-outlined-button-pressed-outline-color, var(--md-sys-color-outline, #79747e));--_pressed-state-layer-color: var(--md-outlined-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-outlined-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-outlined-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-outlined-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-outlined-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-outlined-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-outlined-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-outlined-button-icon-size, 18px);--_pressed-icon-color: var(--md-outlined-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-outlined-button-container-shape-start-start, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-outlined-button-container-shape-start-end, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-outlined-button-container-shape-end-end, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-outlined-button-container-shape-end-start, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-outlined-button-leading-space, 24px);--_trailing-space: var(--md-outlined-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-outlined-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-outlined-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-outlined-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-outlined-button-with-trailing-icon-trailing-space, 16px);--_container-color: none;--_disabled-container-color: none;--_disabled-container-opacity: 0}.outline{inset:0;border-style:solid;position:absolute;box-sizing:border-box;border-color:var(--_outline-color);border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}:host(:active) .outline{border-color:var(--_pressed-outline-color)}:host(:is([disabled],[soft-disabled])) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}@media(forced-colors: active){:host(:is([disabled],[soft-disabled])) .background{border-color:GrayText}:host(:is([disabled],[soft-disabled])) .outline{opacity:1}}.outline,md-ripple{border-width:var(--_outline-width)}md-ripple{inline-size:calc(100% - 2*var(--_outline-width));block-size:calc(100% - 2*var(--_outline-width));border-style:solid;border-color:rgba(0,0,0,0)}
|
|
3182
3477
|
`;
|
|
3478
|
+
styles$p.styleSheet;
|
|
3183
3479
|
|
|
3184
3480
|
/**
|
|
3185
3481
|
* @license
|
|
3186
|
-
* Copyright
|
|
3482
|
+
* Copyright 2026 Google LLC
|
|
3187
3483
|
* SPDX-License-Identifier: Apache-2.0
|
|
3188
3484
|
*/
|
|
3189
3485
|
// Generated stylesheet for ./button/internal/shared-styles.css.
|
|
3190
|
-
const styles$o = i$7`:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:8px;min-height:var(--_container-height);outline:none;padding-block:calc((var(--_container-height) - max(var(--_label-text-line-height),var(--_icon-size)))/2);padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space);place-content:center;place-items:center;position:relative;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);text-overflow:ellipsis;text-wrap:nowrap;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host(:is([disabled],[soft-disabled])){cursor:default;pointer-events:none}.button{border-radius:inherit;cursor:inherit;display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;min-width:calc(64px - var(--_leading-space) - var(--_trailing-space));width:100%;z-index:0;height:100%;font:inherit;color:var(--_label-text-color);padding:0;gap:inherit;text-transform:inherit}.button::-moz-focus-inner{padding:0;border:0}:host(:hover) .button{color:var(--_hover-label-text-color)}:host(:focus-within) .button{color:var(--_focus-label-text-color)}:host(:active) .button{color:var(--_pressed-label-text-color)}.background{background:var(--_container-color);border-radius:inherit;inset:0;position:absolute}.label{overflow:hidden}:is(.button,.label,.label slot),.label ::slotted(*){text-overflow:inherit}:host(:is([disabled],[soft-disabled])) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}:host(:is([disabled],[soft-disabled])) .background{background:var(--_disabled-container-color);opacity:var(--_disabled-container-opacity)}@media(forced-colors: active){.background{border:1px solid CanvasText}:host(:is([disabled],[soft-disabled])){--_disabled-icon-color: GrayText;--_disabled-icon-opacity: 1;--_disabled-container-opacity: 1;--_disabled-label-text-color: GrayText;--_disabled-label-text-opacity: 1}}:host([has-icon]:not([trailing-icon])){padding-inline-start:var(--_with-leading-icon-leading-space);padding-inline-end:var(--_with-leading-icon-trailing-space)}:host([has-icon][trailing-icon]){padding-inline-start:var(--_with-trailing-icon-leading-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;flex-shrink:0;color:var(--_icon-color);font-size:var(--_icon-size);inline-size:var(--_icon-size);block-size:var(--_icon-size)}:host(:hover) ::slotted([slot=icon]){color:var(--_hover-icon-color)}:host(:focus-within) ::slotted([slot=icon]){color:var(--_focus-icon-color)}:host(:active) ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host(:is([disabled],[soft-disabled])) ::slotted([slot=icon]){color:var(--_disabled-icon-color);opacity:var(--_disabled-icon-opacity)}.touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}:host([touch-target=none]) .touch{display:none}
|
|
3486
|
+
const styles$o = i$7`:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:8px;min-height:var(--_container-height);outline:none;padding-block:calc((var(--_container-height) - max(var(--_label-text-line-height),var(--_icon-size)))/2);padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space);place-content:center;place-items:center;position:relative;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);text-overflow:ellipsis;text-wrap:nowrap;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host(:is([disabled],[soft-disabled])){cursor:default;pointer-events:none}.button{border-radius:inherit;cursor:inherit;display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;min-width:calc(64px - var(--_leading-space) - var(--_trailing-space));width:100%;z-index:0;height:100%;font:inherit;color:var(--_label-text-color);padding:0;gap:inherit;text-transform:inherit}.button::-moz-focus-inner{padding:0;border:0}:host(:hover) .button{color:var(--_hover-label-text-color)}:host(:focus-within) .button{color:var(--_focus-label-text-color)}:host(:active) .button{color:var(--_pressed-label-text-color)}.background{background:var(--_container-color);border-radius:inherit;inset:0;position:absolute}.label{overflow:hidden}:is(.button,.label,.label slot),.label ::slotted(*){text-overflow:inherit}:host(:is([disabled],[soft-disabled])) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}:host(:is([disabled],[soft-disabled])) .background{background:var(--_disabled-container-color);opacity:var(--_disabled-container-opacity)}@media(forced-colors: active){.background{border:1px solid CanvasText}:host(:is([disabled],[soft-disabled])){--_disabled-icon-color: GrayText;--_disabled-icon-opacity: 1;--_disabled-container-opacity: 1;--_disabled-label-text-color: GrayText;--_disabled-label-text-opacity: 1}}:host([has-icon]:not([trailing-icon])){padding-inline-start:var(--_with-leading-icon-leading-space);padding-inline-end:var(--_with-leading-icon-trailing-space)}:host([has-icon][trailing-icon]){padding-inline-start:var(--_with-trailing-icon-leading-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;flex-shrink:0;color:var(--_icon-color);font-size:var(--_icon-size);inline-size:var(--_icon-size);block-size:var(--_icon-size)}:host(:hover) ::slotted([slot=icon]){color:var(--_hover-icon-color)}:host(:focus-within) ::slotted([slot=icon]){color:var(--_focus-icon-color)}:host(:active) ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host(:is([disabled],[soft-disabled])) ::slotted([slot=icon]){color:var(--_disabled-icon-color);opacity:var(--_disabled-icon-opacity)}.touch{position:absolute;top:50%;height:max(48px,100%);left:0;right:0;transform:translateY(-50%)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}:host([touch-target=none]) .touch{display:none}
|
|
3191
3487
|
`;
|
|
3488
|
+
styles$o.styleSheet;
|
|
3192
3489
|
|
|
3193
3490
|
/**
|
|
3194
3491
|
* @license
|
|
@@ -3263,12 +3560,13 @@ __decorate([n$5({
|
|
|
3263
3560
|
|
|
3264
3561
|
/**
|
|
3265
3562
|
* @license
|
|
3266
|
-
* Copyright
|
|
3563
|
+
* Copyright 2026 Google LLC
|
|
3267
3564
|
* SPDX-License-Identifier: Apache-2.0
|
|
3268
3565
|
*/
|
|
3269
3566
|
// Generated stylesheet for ./divider/internal/divider-styles.css.
|
|
3270
3567
|
const styles$n = i$7`:host{box-sizing:border-box;color:var(--md-divider-color, var(--md-sys-color-outline-variant, #cac4d0));display:flex;height:var(--md-divider-thickness, 1px);width:100%}:host([inset]),:host([inset-start]){padding-inline-start:16px}:host([inset]),:host([inset-end]){padding-inline-end:16px}:host::before{background:currentColor;content:"";height:100%;width:100%}@media(forced-colors: active){:host::before{background:CanvasText}}
|
|
3271
3568
|
`;
|
|
3569
|
+
styles$n.styleSheet;
|
|
3272
3570
|
|
|
3273
3571
|
/**
|
|
3274
3572
|
* @license
|
|
@@ -3349,7 +3647,7 @@ function isRtl(el, shouldCheck = true) {
|
|
|
3349
3647
|
* SPDX-License-Identifier: Apache-2.0
|
|
3350
3648
|
*/
|
|
3351
3649
|
// Separate variable needed for closure.
|
|
3352
|
-
const iconButtonBaseClass = mixinDelegatesAria(mixinElementInternals(i$4));
|
|
3650
|
+
const iconButtonBaseClass = mixinDelegatesAria(mixinFormSubmitter(mixinFormAssociated(mixinElementInternals(i$4))));
|
|
3353
3651
|
/**
|
|
3354
3652
|
* A button for rendering icons.
|
|
3355
3653
|
*
|
|
@@ -3358,30 +3656,8 @@ const iconButtonBaseClass = mixinDelegatesAria(mixinElementInternals(i$4));
|
|
|
3358
3656
|
* @fires change {Event} Dispatched when a toggle button toggles --bubbles
|
|
3359
3657
|
*/
|
|
3360
3658
|
class IconButton extends iconButtonBaseClass {
|
|
3361
|
-
get name() {
|
|
3362
|
-
return this.getAttribute('name') ?? '';
|
|
3363
|
-
}
|
|
3364
|
-
set name(name) {
|
|
3365
|
-
this.setAttribute('name', name);
|
|
3366
|
-
}
|
|
3367
|
-
/**
|
|
3368
|
-
* The associated form element with which this element's value will submit.
|
|
3369
|
-
*/
|
|
3370
|
-
get form() {
|
|
3371
|
-
return this[internals].form;
|
|
3372
|
-
}
|
|
3373
|
-
/**
|
|
3374
|
-
* The labels this element is associated with.
|
|
3375
|
-
*/
|
|
3376
|
-
get labels() {
|
|
3377
|
-
return this[internals].labels;
|
|
3378
|
-
}
|
|
3379
3659
|
constructor() {
|
|
3380
3660
|
super();
|
|
3381
|
-
/**
|
|
3382
|
-
* Disables the icon button and makes it non-interactive.
|
|
3383
|
-
*/
|
|
3384
|
-
this.disabled = false;
|
|
3385
3661
|
/**
|
|
3386
3662
|
* "Soft-disables" the icon button (disabled but still focusable).
|
|
3387
3663
|
*
|
|
@@ -3423,20 +3699,37 @@ class IconButton extends iconButtonBaseClass {
|
|
|
3423
3699
|
* icon is provided.
|
|
3424
3700
|
*/
|
|
3425
3701
|
this.selected = false;
|
|
3426
|
-
/**
|
|
3427
|
-
* The default behavior of the button. May be "button", "reset", or "submit"
|
|
3428
|
-
* (default).
|
|
3429
|
-
*/
|
|
3430
|
-
this.type = 'submit';
|
|
3431
|
-
/**
|
|
3432
|
-
* The value added to a form with the button's name when the button submits a
|
|
3433
|
-
* form.
|
|
3434
|
-
*/
|
|
3435
|
-
this.value = '';
|
|
3436
3702
|
this.flipIcon = isRtl(this, this.flipIconInRtl);
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3703
|
+
setupDispatchHooks(this, 'click');
|
|
3704
|
+
this.addEventListener('click', event => {
|
|
3705
|
+
// If the button is soft-disabled or a disabled link, we need to
|
|
3706
|
+
// explicitly prevent the click from propagating to other event listeners
|
|
3707
|
+
// as well as prevent the default action. This is because the underlying
|
|
3708
|
+
// `<button>` or `<a>` element is not actually `:disabled`.
|
|
3709
|
+
if (this.softDisabled || this.disabled && this.href) {
|
|
3710
|
+
event.stopImmediatePropagation();
|
|
3711
|
+
event.preventDefault();
|
|
3712
|
+
return;
|
|
3713
|
+
}
|
|
3714
|
+
// Save current selected state to toggle, since an external event listener
|
|
3715
|
+
// may also change the selected state on click.
|
|
3716
|
+
const wasSelected = this.selected;
|
|
3717
|
+
afterDispatch(event, () => {
|
|
3718
|
+
if (!this.toggle || this.disabled || event.defaultPrevented) {
|
|
3719
|
+
return;
|
|
3720
|
+
}
|
|
3721
|
+
this.selected = !wasSelected;
|
|
3722
|
+
this.dispatchEvent(new InputEvent('input', {
|
|
3723
|
+
bubbles: true,
|
|
3724
|
+
composed: true
|
|
3725
|
+
}));
|
|
3726
|
+
// Bubbles but does not compose to mimic native browser <input> & <select>
|
|
3727
|
+
// Additionally, native change event is not an InputEvent.
|
|
3728
|
+
this.dispatchEvent(new Event('change', {
|
|
3729
|
+
bubbles: true
|
|
3730
|
+
}));
|
|
3731
|
+
});
|
|
3732
|
+
});
|
|
3440
3733
|
}
|
|
3441
3734
|
willUpdate() {
|
|
3442
3735
|
// Link buttons cannot be disabled or soft-disabled.
|
|
@@ -3467,8 +3760,7 @@ class IconButton extends iconButtonBaseClass {
|
|
|
3467
3760
|
aria-expanded="${!this.href && ariaExpanded || A}"
|
|
3468
3761
|
aria-pressed="${ariaPressedValue}"
|
|
3469
3762
|
aria-disabled=${!this.href && this.softDisabled || A}
|
|
3470
|
-
?disabled="${!this.href && this.disabled}"
|
|
3471
|
-
@click="${this.handleClickOnChild}">
|
|
3763
|
+
?disabled="${!this.href && this.disabled}">
|
|
3472
3764
|
${this.renderFocusRing()}
|
|
3473
3765
|
${this.renderRipple()}
|
|
3474
3766
|
${!this.selected ? this.renderIcon() : A}
|
|
@@ -3528,53 +3820,12 @@ class IconButton extends iconButtonBaseClass {
|
|
|
3528
3820
|
this.flipIcon = isRtl(this, this.flipIconInRtl);
|
|
3529
3821
|
super.connectedCallback();
|
|
3530
3822
|
}
|
|
3531
|
-
/** Handles a click on this element. */
|
|
3532
|
-
handleClick(event) {
|
|
3533
|
-
// If the icon button is soft-disabled, we need to explicitly prevent the
|
|
3534
|
-
// click from propagating to other event listeners as well as prevent the
|
|
3535
|
-
// default action.
|
|
3536
|
-
if (!this.href && this.softDisabled) {
|
|
3537
|
-
event.stopImmediatePropagation();
|
|
3538
|
-
event.preventDefault();
|
|
3539
|
-
return;
|
|
3540
|
-
}
|
|
3541
|
-
}
|
|
3542
|
-
/**
|
|
3543
|
-
* Handles a click on the child <div> or <button> element within this
|
|
3544
|
-
* element's shadow DOM.
|
|
3545
|
-
*/
|
|
3546
|
-
async handleClickOnChild(event) {
|
|
3547
|
-
// Allow the event to propagate
|
|
3548
|
-
await 0;
|
|
3549
|
-
if (!this.toggle || this.disabled || this.softDisabled || event.defaultPrevented) {
|
|
3550
|
-
return;
|
|
3551
|
-
}
|
|
3552
|
-
this.selected = !this.selected;
|
|
3553
|
-
this.dispatchEvent(new InputEvent('input', {
|
|
3554
|
-
bubbles: true,
|
|
3555
|
-
composed: true
|
|
3556
|
-
}));
|
|
3557
|
-
// Bubbles but does not compose to mimic native browser <input> & <select>
|
|
3558
|
-
// Additionally, native change event is not an InputEvent.
|
|
3559
|
-
this.dispatchEvent(new Event('change', {
|
|
3560
|
-
bubbles: true
|
|
3561
|
-
}));
|
|
3562
|
-
}
|
|
3563
3823
|
}
|
|
3564
|
-
(() => {
|
|
3565
|
-
setupFormSubmitter(IconButton);
|
|
3566
|
-
})();
|
|
3567
|
-
/** @nocollapse */
|
|
3568
|
-
IconButton.formAssociated = true;
|
|
3569
3824
|
/** @nocollapse */
|
|
3570
3825
|
IconButton.shadowRootOptions = {
|
|
3571
3826
|
mode: 'open',
|
|
3572
3827
|
delegatesFocus: true
|
|
3573
3828
|
};
|
|
3574
|
-
__decorate([n$5({
|
|
3575
|
-
type: Boolean,
|
|
3576
|
-
reflect: true
|
|
3577
|
-
})], IconButton.prototype, "disabled", void 0);
|
|
3578
3829
|
__decorate([n$5({
|
|
3579
3830
|
type: Boolean,
|
|
3580
3831
|
attribute: 'soft-disabled',
|
|
@@ -3597,29 +3848,27 @@ __decorate([n$5({
|
|
|
3597
3848
|
type: Boolean,
|
|
3598
3849
|
reflect: true
|
|
3599
3850
|
})], IconButton.prototype, "selected", void 0);
|
|
3600
|
-
__decorate([n$5()], IconButton.prototype, "type", void 0);
|
|
3601
|
-
__decorate([n$5({
|
|
3602
|
-
reflect: true
|
|
3603
|
-
})], IconButton.prototype, "value", void 0);
|
|
3604
3851
|
__decorate([r$3()], IconButton.prototype, "flipIcon", void 0);
|
|
3605
3852
|
|
|
3606
3853
|
/**
|
|
3607
3854
|
* @license
|
|
3608
|
-
* Copyright
|
|
3855
|
+
* Copyright 2026 Google LLC
|
|
3609
3856
|
* SPDX-License-Identifier: Apache-2.0
|
|
3610
3857
|
*/
|
|
3611
3858
|
// Generated stylesheet for ./iconbutton/internal/shared-styles.css.
|
|
3612
3859
|
const styles$m = i$7`:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);height:var(--_container-height);width:var(--_container-width);justify-content:center}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) max(0px,(48px - var(--_container-width))/2)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host(:is([disabled],[soft-disabled])){pointer-events:none}.icon-button{place-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;place-content:center;outline:none;padding:0;position:relative;text-decoration:none;user-select:none;z-index:0;flex:1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.icon ::slotted(*){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size);font-weight:inherit}md-ripple{z-index:-1;border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}.flip-icon .icon{transform:scaleX(-1)}.icon{display:inline-flex}.link{display:grid;height:100%;outline:none;place-items:center;position:absolute;width:100%}.touch{position:absolute;height:max(48px,100%);width:max(48px,100%)}:host([touch-target=none]) .touch{display:none}@media(forced-colors: active){:host(:is([disabled],[soft-disabled])){--_disabled-icon-color: GrayText;--_disabled-icon-opacity: 1}}
|
|
3613
3860
|
`;
|
|
3861
|
+
styles$m.styleSheet;
|
|
3614
3862
|
|
|
3615
3863
|
/**
|
|
3616
3864
|
* @license
|
|
3617
|
-
* Copyright
|
|
3865
|
+
* Copyright 2026 Google LLC
|
|
3618
3866
|
* SPDX-License-Identifier: Apache-2.0
|
|
3619
3867
|
*/
|
|
3620
3868
|
// Generated stylesheet for ./iconbutton/internal/standard-styles.css.
|
|
3621
3869
|
const styles$l = i$7`:host{--_disabled-icon-color: var(--md-icon-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-icon-button-disabled-icon-opacity, 0.38);--_icon-size: var(--md-icon-button-icon-size, 24px);--_selected-focus-icon-color: var(--md-icon-button-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-icon-color: var(--md-icon-button-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-color: var(--md-icon-button-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-state-layer-opacity: var(--md-icon-button-selected-hover-state-layer-opacity, 0.08);--_selected-icon-color: var(--md-icon-button-selected-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-icon-color: var(--md-icon-button-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-color: var(--md-icon-button-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-state-layer-opacity: var(--md-icon-button-selected-pressed-state-layer-opacity, 0.12);--_state-layer-height: var(--md-icon-button-state-layer-height, 40px);--_state-layer-shape: var(--md-icon-button-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));--_state-layer-width: var(--md-icon-button-state-layer-width, 40px);--_focus-icon-color: var(--md-icon-button-focus-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-icon-color: var(--md-icon-button-hover-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--_icon-color: var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-icon-color: var(--md-icon-button-pressed-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);--_container-shape-start-start: 0;--_container-shape-start-end: 0;--_container-shape-end-end: 0;--_container-shape-end-start: 0;--_container-height: 0;--_container-width: 0;height:var(--_state-layer-height);width:var(--_state-layer-width)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_state-layer-height))/2) max(0px,(48px - var(--_state-layer-width))/2)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_state-layer-shape);--md-focus-ring-shape-start-end: var(--_state-layer-shape);--md-focus-ring-shape-end-end: var(--_state-layer-shape);--md-focus-ring-shape-end-start: var(--_state-layer-shape)}.standard{background-color:rgba(0,0,0,0);color:var(--_icon-color);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.standard:hover{color:var(--_hover-icon-color)}.standard:focus{color:var(--_focus-icon-color)}.standard:active{color:var(--_pressed-icon-color)}.standard:is(:disabled,[aria-disabled=true]){color:var(--_disabled-icon-color)}md-ripple{border-radius:var(--_state-layer-shape)}.standard:is(:disabled,[aria-disabled=true]){opacity:var(--_disabled-icon-opacity)}.selected:not(:disabled,[aria-disabled=true]){color:var(--_selected-icon-color)}.selected:not(:disabled,[aria-disabled=true]):hover{color:var(--_selected-hover-icon-color)}.selected:not(:disabled,[aria-disabled=true]):focus{color:var(--_selected-focus-icon-color)}.selected:not(:disabled,[aria-disabled=true]):active{color:var(--_selected-pressed-icon-color)}.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}
|
|
3622
3870
|
`;
|
|
3871
|
+
styles$l.styleSheet;
|
|
3623
3872
|
|
|
3624
3873
|
/**
|
|
3625
3874
|
* @license
|
|
@@ -4116,12 +4365,13 @@ __decorate([o$5({
|
|
|
4116
4365
|
|
|
4117
4366
|
/**
|
|
4118
4367
|
* @license
|
|
4119
|
-
* Copyright
|
|
4368
|
+
* Copyright 2026 Google LLC
|
|
4120
4369
|
* SPDX-License-Identifier: Apache-2.0
|
|
4121
4370
|
*/
|
|
4122
4371
|
// Generated stylesheet for ./list/internal/list-styles.css.
|
|
4123
4372
|
const styles$k = i$7`:host{background:var(--md-list-container-color, var(--md-sys-color-surface, #fef7ff));color:unset;display:flex;flex-direction:column;outline:none;padding:8px 0;position:relative}
|
|
4124
4373
|
`;
|
|
4374
|
+
styles$k.styleSheet;
|
|
4125
4375
|
|
|
4126
4376
|
/**
|
|
4127
4377
|
* @license
|
|
@@ -4229,12 +4479,13 @@ function slotHasContent(slot) {
|
|
|
4229
4479
|
|
|
4230
4480
|
/**
|
|
4231
4481
|
* @license
|
|
4232
|
-
* Copyright
|
|
4482
|
+
* Copyright 2026 Google LLC
|
|
4233
4483
|
* SPDX-License-Identifier: Apache-2.0
|
|
4234
4484
|
*/
|
|
4235
4485
|
// Generated stylesheet for ./labs/item/internal/item-styles.css.
|
|
4236
4486
|
const styles$j = i$7`:host{color:var(--md-sys-color-on-surface, #1d1b20);font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);align-items:center;box-sizing:border-box;display:flex;gap:16px;min-height:56px;overflow:hidden;padding:12px 16px;position:relative;text-overflow:ellipsis}:host([multiline]){min-height:72px}[name=overline]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem)}[name=trailing-supporting-text]{color:var(--md-sys-color-on-surface-variant, #49454f);font-family:var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-small-size, 0.6875rem);font-weight:var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-small-line-height, 1rem)}[name=container]::slotted(*){inset:0;position:absolute}.default-slot{display:inline}.default-slot,.text ::slotted(*){overflow:hidden;text-overflow:ellipsis}.text{display:flex;flex:1;flex-direction:column;overflow:hidden}
|
|
4237
4487
|
`;
|
|
4488
|
+
styles$j.styleSheet;
|
|
4238
4489
|
|
|
4239
4490
|
/**
|
|
4240
4491
|
* @license
|
|
@@ -4313,7 +4564,10 @@ MdItem = __decorate([t$1('md-item')], MdItem);
|
|
|
4313
4564
|
const listItemBaseClass = mixinDelegatesAria(i$4);
|
|
4314
4565
|
/**
|
|
4315
4566
|
* @fires request-activation {Event} Requests the list to set `tabindex=0` on
|
|
4316
|
-
* the item and focus it.
|
|
4567
|
+
* the item and focus it. Used internally for list keyboard navigation; most
|
|
4568
|
+
* applications do not need to listen for this event. It is exposed for
|
|
4569
|
+
* authors building their own list-item replacements or wrapping items in a
|
|
4570
|
+
* custom controller. --bubbles --composed
|
|
4317
4571
|
*/
|
|
4318
4572
|
class ListItemEl extends listItemBaseClass {
|
|
4319
4573
|
constructor() {
|
|
@@ -4497,12 +4751,13 @@ __decorate([e$6('.list-item')], ListItemEl.prototype, "listItemRoot", void 0);
|
|
|
4497
4751
|
|
|
4498
4752
|
/**
|
|
4499
4753
|
* @license
|
|
4500
|
-
* Copyright
|
|
4754
|
+
* Copyright 2026 Google LLC
|
|
4501
4755
|
* SPDX-License-Identifier: Apache-2.0
|
|
4502
4756
|
*/
|
|
4503
4757
|
// Generated stylesheet for ./list/internal/listitem/list-item-styles.css.
|
|
4504
|
-
const styles$i = i$7`:host{display:flex;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-list-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12)}:host(:is([type=button]:not([disabled]),[type=link])){cursor:pointer}md-focus-ring{z-index:1;--md-focus-ring-shape: 8px}a,button,li{background:none;border:none;cursor:inherit;padding:0;margin:0;text-align:unset;text-decoration:none}.list-item{border-radius:inherit;display:flex;flex:1;max-width:inherit;min-width:inherit;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%}.list-item.interactive{cursor:pointer}.list-item.disabled{opacity:var(--md-list-item-disabled-opacity, 0.3);pointer-events:none}[slot=container]{pointer-events:none}md-ripple{border-radius:inherit}md-item{border-radius:inherit;flex:1;height:100%;color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));min-height:var(--md-list-item-one-line-container-height, 56px);padding-top:var(--md-list-item-top-space, 12px);padding-bottom:var(--md-list-item-bottom-space, 12px);padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px)}md-item[multiline]{min-height:var(--md-list-item-two-line-container-height, 72px)}[slot=supporting-text]{color:var(--md-list-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-list-item-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-list-item-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-list-item-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)))}[slot=trailing-supporting-text]{color:var(--md-list-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-list-item-trailing-supporting-text-font, var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-trailing-supporting-text-size, var(--md-sys-typescale-label-small-size, 0.6875rem));line-height:var(--md-list-item-trailing-supporting-text-line-height, var(--md-sys-typescale-label-small-line-height, 1rem));font-weight:var(--md-list-item-trailing-supporting-text-weight, var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500)))}:is([slot=start],[slot=end])::slotted(*){fill:currentColor}[slot=start]{color:var(--md-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}[slot=end]{color:var(--md-list-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}@media(forced-colors: active){.disabled slot{color:GrayText}.list-item.disabled{color:GrayText;opacity:1}}
|
|
4758
|
+
const styles$i = i$7`:host{display:flex;gap:16px;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-list-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12)}:host(:is([type=button]:not([disabled]),[type=link])){cursor:pointer}md-focus-ring{z-index:1;--md-focus-ring-shape: 8px}a,button,li{background:none;border:none;cursor:inherit;padding:0;margin:0;text-align:unset;text-decoration:none}.list-item{border-radius:inherit;display:flex;flex:1;gap:inherit;max-width:inherit;min-width:inherit;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%}.list-item.interactive{cursor:pointer}.list-item.disabled{opacity:var(--md-list-item-disabled-opacity, 0.3);pointer-events:none}[slot=container]{pointer-events:none}md-ripple{border-radius:inherit}md-item{border-radius:inherit;flex:1;height:100%;color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));min-height:var(--md-list-item-one-line-container-height, 56px);padding-top:var(--md-list-item-top-space, 12px);padding-bottom:var(--md-list-item-bottom-space, 12px);padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px);gap:inherit}md-item[multiline]{min-height:var(--md-list-item-two-line-container-height, 72px)}[slot=supporting-text]{color:var(--md-list-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-list-item-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-list-item-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-list-item-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)))}[slot=trailing-supporting-text]{color:var(--md-list-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-list-item-trailing-supporting-text-font, var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-trailing-supporting-text-size, var(--md-sys-typescale-label-small-size, 0.6875rem));line-height:var(--md-list-item-trailing-supporting-text-line-height, var(--md-sys-typescale-label-small-line-height, 1rem));font-weight:var(--md-list-item-trailing-supporting-text-weight, var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500)))}:is([slot=start],[slot=end])::slotted(*){fill:currentColor}[slot=start]{color:var(--md-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}[slot=end]{color:var(--md-list-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}@media(forced-colors: active){.disabled slot{color:GrayText}.list-item.disabled{color:GrayText;opacity:1}}
|
|
4505
4759
|
`;
|
|
4760
|
+
styles$i.styleSheet;
|
|
4506
4761
|
|
|
4507
4762
|
/**
|
|
4508
4763
|
* @license
|
|
@@ -4557,7 +4812,7 @@ MdListItem = __decorate([t$1('md-list-item')], MdListItem);
|
|
|
4557
4812
|
* SPDX-License-Identifier: Apache-2.0
|
|
4558
4813
|
*/
|
|
4559
4814
|
const showSettingsDialog = async section => {
|
|
4560
|
-
await import('./settings-dialog-
|
|
4815
|
+
await import('./settings-dialog-VafGbl7R.js');
|
|
4561
4816
|
const dialog = document.createElement("settings-dialog");
|
|
4562
4817
|
if (section) dialog.scrollToSection = section;
|
|
4563
4818
|
document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
|
|
@@ -4906,12 +5161,13 @@ DashboardHeader = __decorateClass$r([t$1("dashboard-header")], DashboardHeader);
|
|
|
4906
5161
|
|
|
4907
5162
|
/**
|
|
4908
5163
|
* @license
|
|
4909
|
-
* Copyright
|
|
5164
|
+
* Copyright 2026 Google LLC
|
|
4910
5165
|
* SPDX-License-Identifier: Apache-2.0
|
|
4911
5166
|
*/
|
|
4912
5167
|
// Generated stylesheet for ./iconbutton/internal/outlined-styles.css.
|
|
4913
5168
|
const styles$h = i$7`:host{--_container-height: var(--md-outlined-icon-button-container-height, 40px);--_container-width: var(--md-outlined-icon-button-container-width, 40px);--_disabled-icon-color: var(--md-outlined-icon-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-outlined-icon-button-disabled-icon-opacity, 0.38);--_disabled-selected-container-color: var(--md-outlined-icon-button-disabled-selected-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-selected-container-opacity: var(--md-outlined-icon-button-disabled-selected-container-opacity, 0.12);--_hover-state-layer-opacity: var(--md-outlined-icon-button-hover-state-layer-opacity, 0.08);--_icon-size: var(--md-outlined-icon-button-icon-size, 24px);--_pressed-state-layer-opacity: var(--md-outlined-icon-button-pressed-state-layer-opacity, 0.12);--_selected-container-color: var(--md-outlined-icon-button-selected-container-color, var(--md-sys-color-inverse-surface, #322f35));--_selected-focus-icon-color: var(--md-outlined-icon-button-selected-focus-icon-color, var(--md-sys-color-inverse-on-surface, #f5eff7));--_selected-hover-icon-color: var(--md-outlined-icon-button-selected-hover-icon-color, var(--md-sys-color-inverse-on-surface, #f5eff7));--_selected-hover-state-layer-color: var(--md-outlined-icon-button-selected-hover-state-layer-color, var(--md-sys-color-inverse-on-surface, #f5eff7));--_selected-icon-color: var(--md-outlined-icon-button-selected-icon-color, var(--md-sys-color-inverse-on-surface, #f5eff7));--_selected-pressed-icon-color: var(--md-outlined-icon-button-selected-pressed-icon-color, var(--md-sys-color-inverse-on-surface, #f5eff7));--_selected-pressed-state-layer-color: var(--md-outlined-icon-button-selected-pressed-state-layer-color, var(--md-sys-color-inverse-on-surface, #f5eff7));--_disabled-outline-color: var(--md-outlined-icon-button-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-icon-button-disabled-outline-opacity, 0.12);--_focus-icon-color: var(--md-outlined-icon-button-focus-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-icon-color: var(--md-outlined-icon-button-hover-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-outlined-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_icon-color: var(--md-outlined-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_outline-color: var(--md-outlined-icon-button-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-icon-button-outline-width, 1px);--_pressed-icon-color: var(--md-outlined-icon-button-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_pressed-state-layer-color: var(--md-outlined-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_container-shape-start-start: var(--md-outlined-icon-button-container-shape-start-start, var(--md-outlined-icon-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-outlined-icon-button-container-shape-start-end, var(--md-outlined-icon-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-outlined-icon-button-container-shape-end-end, var(--md-outlined-icon-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-outlined-icon-button-container-shape-end-start, var(--md-outlined-icon-button-container-shape, var(--md-sys-shape-corner-full, 9999px)))}.outlined{background-color:rgba(0,0,0,0);color:var(--_icon-color);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.outlined::before{border-color:var(--_outline-color);border-width:var(--_outline-width)}.outlined:hover{color:var(--_hover-icon-color)}.outlined:focus{color:var(--_focus-icon-color)}.outlined:active{color:var(--_pressed-icon-color)}.outlined:is(:disabled,[aria-disabled=true]){color:var(--_disabled-icon-color)}.outlined:is(:disabled,[aria-disabled=true])::before{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}.outlined:is(:disabled,[aria-disabled=true]) .icon{opacity:var(--_disabled-icon-opacity)}.outlined::before{block-size:100%;border-style:solid;border-radius:inherit;box-sizing:border-box;content:"";inline-size:100%;inset:0;pointer-events:none;position:absolute;z-index:-1}.outlined.selected::before{border-width:0}.selected:not(:disabled,[aria-disabled=true]){color:var(--_selected-icon-color)}.selected:not(:disabled,[aria-disabled=true]):hover{color:var(--_selected-hover-icon-color)}.selected:not(:disabled,[aria-disabled=true]):focus{color:var(--_selected-focus-icon-color)}.selected:not(:disabled,[aria-disabled=true]):active{color:var(--_selected-pressed-icon-color)}.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}.selected:not(:disabled,[aria-disabled=true])::before{background-color:var(--_selected-container-color)}.selected:is(:disabled,[aria-disabled=true])::before{background-color:var(--_disabled-selected-container-color);opacity:var(--_disabled-selected-container-opacity)}@media(forced-colors: active){:host(:is([disabled],[soft-disabled])){--_disabled-outline-opacity: 1}.selected::before{border-color:CanvasText;border-width:var(--_outline-width)}.selected:is(:disabled,[aria-disabled=true])::before{border-color:GrayText;opacity:1}}
|
|
4914
5169
|
`;
|
|
5170
|
+
styles$h.styleSheet;
|
|
4915
5171
|
|
|
4916
5172
|
/**
|
|
4917
5173
|
* @license
|
|
@@ -22772,7 +23028,7 @@ const clusters = {
|
|
|
22772
23028
|
* SPDX-License-Identifier: Apache-2.0
|
|
22773
23029
|
*/
|
|
22774
23030
|
const showDialogBox = async (type, dialogParams) => {
|
|
22775
|
-
await import('./dialog-box-
|
|
23031
|
+
await import('./dialog-box-Dq6fTPQH.js');
|
|
22776
23032
|
return new Promise(resolve => {
|
|
22777
23033
|
const dialog = document.createElement("dialog-box");
|
|
22778
23034
|
dialog.params = dialogParams;
|
|
@@ -22790,7 +23046,7 @@ const showPromptDialog = dialogParams => showDialogBox("prompt", dialogParams);
|
|
|
22790
23046
|
* SPDX-License-Identifier: Apache-2.0
|
|
22791
23047
|
*/
|
|
22792
23048
|
const showAttributeWriteDialog = async options => {
|
|
22793
|
-
await import('./attribute-write-dialog-
|
|
23049
|
+
await import('./attribute-write-dialog-CB7oucjt.js');
|
|
22794
23050
|
const dialog = document.createElement("attribute-write-dialog");
|
|
22795
23051
|
dialog.client = options.client;
|
|
22796
23052
|
dialog.nodeId = options.nodeId;
|
|
@@ -22808,7 +23064,7 @@ const showAttributeWriteDialog = async options => {
|
|
|
22808
23064
|
* SPDX-License-Identifier: Apache-2.0
|
|
22809
23065
|
*/
|
|
22810
23066
|
const showCommandInvokeDialog = async options => {
|
|
22811
|
-
await import('./command-invoke-dialog-
|
|
23067
|
+
await import('./command-invoke-dialog-C9rdQjTo.js');
|
|
22812
23068
|
const dialog = document.createElement("command-invoke-dialog");
|
|
22813
23069
|
dialog.client = options.client;
|
|
22814
23070
|
dialog.nodeId = options.nodeId;
|
|
@@ -22841,12 +23097,13 @@ class Elevation extends i$4 {
|
|
|
22841
23097
|
|
|
22842
23098
|
/**
|
|
22843
23099
|
* @license
|
|
22844
|
-
* Copyright
|
|
23100
|
+
* Copyright 2026 Google LLC
|
|
22845
23101
|
* SPDX-License-Identifier: Apache-2.0
|
|
22846
23102
|
*/
|
|
22847
23103
|
// Generated stylesheet for ./elevation/internal/elevation-styles.css.
|
|
22848
23104
|
const styles$g = i$7`:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:"";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}
|
|
22849
23105
|
`;
|
|
23106
|
+
styles$g.styleSheet;
|
|
22850
23107
|
|
|
22851
23108
|
/**
|
|
22852
23109
|
* @license
|
|
@@ -22881,21 +23138,23 @@ class FilledButton extends Button {
|
|
|
22881
23138
|
|
|
22882
23139
|
/**
|
|
22883
23140
|
* @license
|
|
22884
|
-
* Copyright
|
|
23141
|
+
* Copyright 2026 Google LLC
|
|
22885
23142
|
* SPDX-License-Identifier: Apache-2.0
|
|
22886
23143
|
*/
|
|
22887
23144
|
// Generated stylesheet for ./button/internal/filled-styles.css.
|
|
22888
23145
|
const styles$f = i$7`:host{--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-filled-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filled-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filled-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-filled-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-filled-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-filled-button-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_hover-icon-color: var(--md-filled-button-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_icon-color: var(--md-filled-button-icon-color, var(--md-sys-color-on-primary, #fff));--_icon-size: var(--md-filled-button-icon-size, 18px);--_pressed-icon-color: var(--md-filled-button-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-filled-button-leading-space, 24px);--_trailing-space: var(--md-filled-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-filled-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-filled-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-filled-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-filled-button-with-trailing-icon-trailing-space, 16px)}
|
|
22889
23146
|
`;
|
|
23147
|
+
styles$f.styleSheet;
|
|
22890
23148
|
|
|
22891
23149
|
/**
|
|
22892
23150
|
* @license
|
|
22893
|
-
* Copyright
|
|
23151
|
+
* Copyright 2026 Google LLC
|
|
22894
23152
|
* SPDX-License-Identifier: Apache-2.0
|
|
22895
23153
|
*/
|
|
22896
23154
|
// Generated stylesheet for ./button/internal/shared-elevation-styles.css.
|
|
22897
23155
|
const styles$e = i$7`md-elevation{transition-duration:280ms}:host(:is([disabled],[soft-disabled])) md-elevation{transition:none}md-elevation{--md-elevation-level: var(--_container-elevation);--md-elevation-shadow-color: var(--_container-shadow-color)}:host(:focus-within) md-elevation{--md-elevation-level: var(--_focus-container-elevation)}:host(:hover) md-elevation{--md-elevation-level: var(--_hover-container-elevation)}:host(:active) md-elevation{--md-elevation-level: var(--_pressed-container-elevation)}:host(:is([disabled],[soft-disabled])) md-elevation{--md-elevation-level: var(--_disabled-container-elevation)}
|
|
22898
23156
|
`;
|
|
23157
|
+
styles$e.styleSheet;
|
|
22899
23158
|
|
|
22900
23159
|
/**
|
|
22901
23160
|
* @license
|
|
@@ -22938,12 +23197,13 @@ class TextButton extends Button {}
|
|
|
22938
23197
|
|
|
22939
23198
|
/**
|
|
22940
23199
|
* @license
|
|
22941
|
-
* Copyright
|
|
23200
|
+
* Copyright 2026 Google LLC
|
|
22942
23201
|
* SPDX-License-Identifier: Apache-2.0
|
|
22943
23202
|
*/
|
|
22944
23203
|
// Generated stylesheet for ./button/internal/text-styles.css.
|
|
22945
23204
|
const styles$d = i$7`:host{--_container-height: var(--md-text-button-container-height, 40px);--_disabled-label-text-color: var(--md-text-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-text-button-disabled-label-text-opacity, 0.38);--_focus-label-text-color: var(--md-text-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-label-text-color: var(--md-text-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-text-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-text-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-text-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-text-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-text-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-text-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-text-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-label-text-color: var(--md-text-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-text-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-text-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-text-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-text-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-text-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-text-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-text-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-text-button-icon-size, 18px);--_pressed-icon-color: var(--md-text-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-text-button-container-shape-start-start, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-text-button-container-shape-start-end, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-text-button-container-shape-end-end, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-text-button-container-shape-end-start, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-text-button-leading-space, 12px);--_trailing-space: var(--md-text-button-trailing-space, 12px);--_with-leading-icon-leading-space: var(--md-text-button-with-leading-icon-leading-space, 12px);--_with-leading-icon-trailing-space: var(--md-text-button-with-leading-icon-trailing-space, 16px);--_with-trailing-icon-leading-space: var(--md-text-button-with-trailing-icon-leading-space, 16px);--_with-trailing-icon-trailing-space: var(--md-text-button-with-trailing-icon-trailing-space, 12px);--_container-color: none;--_disabled-container-color: none;--_disabled-container-opacity: 0}
|
|
22946
23205
|
`;
|
|
23206
|
+
styles$d.styleSheet;
|
|
22947
23207
|
|
|
22948
23208
|
/**
|
|
22949
23209
|
* @license
|
|
@@ -22980,7 +23240,7 @@ MdTextButton = __decorate([t$1('md-text-button')], MdTextButton);
|
|
|
22980
23240
|
* SPDX-License-Identifier: Apache-2.0
|
|
22981
23241
|
*/
|
|
22982
23242
|
const showNodeLabelDialog = async (client, node) => {
|
|
22983
|
-
await import('./node-label-dialog-
|
|
23243
|
+
await import('./node-label-dialog-DG5CqG1e.js');
|
|
22984
23244
|
const dialog = document.createElement("node-label-dialog");
|
|
22985
23245
|
dialog.client = client;
|
|
22986
23246
|
dialog.node = node;
|
|
@@ -23227,6 +23487,10 @@ class Field extends i$4 {
|
|
|
23227
23487
|
if (wasFloating === shouldBeFloating) {
|
|
23228
23488
|
return;
|
|
23229
23489
|
}
|
|
23490
|
+
const keyframes = this.getLabelKeyframes();
|
|
23491
|
+
if (!keyframes.length) {
|
|
23492
|
+
return;
|
|
23493
|
+
}
|
|
23230
23494
|
this.isAnimating = true;
|
|
23231
23495
|
this.labelAnimation?.cancel();
|
|
23232
23496
|
// Only one label is visible at a time for clearer text rendering.
|
|
@@ -23241,7 +23505,7 @@ class Field extends i$4 {
|
|
|
23241
23505
|
// Re-calculating the animation each time will prevent any visual glitches
|
|
23242
23506
|
// from appearing.
|
|
23243
23507
|
// TODO(b/241113345): use animation tokens
|
|
23244
|
-
this.labelAnimation = this.floatingLabelEl?.animate(
|
|
23508
|
+
this.labelAnimation = this.floatingLabelEl?.animate(keyframes, {
|
|
23245
23509
|
duration: 150,
|
|
23246
23510
|
easing: EASING.STANDARD
|
|
23247
23511
|
});
|
|
@@ -23270,6 +23534,10 @@ class Field extends i$4 {
|
|
|
23270
23534
|
} = restingLabelEl.getBoundingClientRect();
|
|
23271
23535
|
const floatingScrollWidth = floatingLabelEl.scrollWidth;
|
|
23272
23536
|
const restingScrollWidth = restingLabelEl.scrollWidth;
|
|
23537
|
+
// If either label has no dimensions (e.g., display: none), skip animation
|
|
23538
|
+
if (floatingScrollWidth === 0 || restingScrollWidth === 0) {
|
|
23539
|
+
return [];
|
|
23540
|
+
}
|
|
23273
23541
|
// Scale by width ratio instead of font size since letter-spacing will scale
|
|
23274
23542
|
// incorrectly. Using the width we can better approximate the adjusted
|
|
23275
23543
|
// scale and compensate for tracking and overflow.
|
|
@@ -23392,21 +23660,23 @@ class OutlinedField extends Field {
|
|
|
23392
23660
|
|
|
23393
23661
|
/**
|
|
23394
23662
|
* @license
|
|
23395
|
-
* Copyright
|
|
23663
|
+
* Copyright 2026 Google LLC
|
|
23396
23664
|
* SPDX-License-Identifier: Apache-2.0
|
|
23397
23665
|
*/
|
|
23398
23666
|
// Generated stylesheet for ./field/internal/outlined-styles.css.
|
|
23399
23667
|
const styles$c = i$7`@layer styles{:host{--_bottom-space: var(--md-outlined-field-bottom-space, 16px);--_content-color: var(--md-outlined-field-content-color, var(--md-sys-color-on-surface, #1d1b20));--_content-font: var(--md-outlined-field-content-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_content-line-height: var(--md-outlined-field-content-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_content-size: var(--md-outlined-field-content-size, var(--md-sys-typescale-body-large-size, 1rem));--_content-space: var(--md-outlined-field-content-space, 16px);--_content-weight: var(--md-outlined-field-content-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_disabled-content-color: var(--md-outlined-field-disabled-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-content-opacity: var(--md-outlined-field-disabled-content-opacity, 0.38);--_disabled-label-text-color: var(--md-outlined-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-field-disabled-label-text-opacity, 0.38);--_disabled-leading-content-color: var(--md-outlined-field-disabled-leading-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-content-opacity: var(--md-outlined-field-disabled-leading-content-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-field-disabled-outline-opacity, 0.12);--_disabled-outline-width: var(--md-outlined-field-disabled-outline-width, 1px);--_disabled-supporting-text-color: var(--md-outlined-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-outlined-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-content-color: var(--md-outlined-field-disabled-trailing-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-content-opacity: var(--md-outlined-field-disabled-trailing-content-opacity, 0.38);--_error-content-color: var(--md-outlined-field-error-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-content-color: var(--md-outlined-field-error-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-outlined-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-content-color: var(--md-outlined-field-error-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-outline-color: var(--md-outlined-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_error-focus-supporting-text-color: var(--md-outlined-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-content-color: var(--md-outlined-field-error-focus-trailing-content-color, var(--md-sys-color-error, #b3261e));--_error-hover-content-color: var(--md-outlined-field-error-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-outlined-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-content-color: var(--md-outlined-field-error-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-outline-color: var(--md-outlined-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-supporting-text-color: var(--md-outlined-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-content-color: var(--md-outlined-field-error-hover-trailing-content-color, var(--md-sys-color-on-error-container, #410e0b));--_error-label-text-color: var(--md-outlined-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-content-color: var(--md-outlined-field-error-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-outline-color: var(--md-outlined-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_error-supporting-text-color: var(--md-outlined-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-content-color: var(--md-outlined-field-error-trailing-content-color, var(--md-sys-color-error, #b3261e));--_focus-content-color: var(--md-outlined-field-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-outlined-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-content-color: var(--md-outlined-field-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color: var(--md-outlined-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_focus-outline-width: var(--md-outlined-field-focus-outline-width, 3px);--_focus-supporting-text-color: var(--md-outlined-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-content-color: var(--md-outlined-field-focus-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-content-color: var(--md-outlined-field-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-outlined-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-leading-content-color: var(--md-outlined-field-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-outline-color: var(--md-outlined-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-outline-width: var(--md-outlined-field-hover-outline-width, 1px);--_hover-supporting-text-color: var(--md-outlined-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-content-color: var(--md-outlined-field-hover-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-outlined-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-outlined-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-padding-bottom: var(--md-outlined-field-label-text-padding-bottom, 8px);--_label-text-populated-line-height: var(--md-outlined-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-outlined-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-outlined-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-outlined-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-content-color: var(--md-outlined-field-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-space: var(--md-outlined-field-leading-space, 16px);--_outline-color: var(--md-outlined-field-outline-color, var(--md-sys-color-outline, #79747e));--_outline-label-padding: var(--md-outlined-field-outline-label-padding, 4px);--_outline-width: var(--md-outlined-field-outline-width, 1px);--_supporting-text-color: var(--md-outlined-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-outlined-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-leading-space: var(--md-outlined-field-supporting-text-leading-space, 16px);--_supporting-text-line-height: var(--md-outlined-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-outlined-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-top-space: var(--md-outlined-field-supporting-text-top-space, 4px);--_supporting-text-trailing-space: var(--md-outlined-field-supporting-text-trailing-space, 16px);--_supporting-text-weight: var(--md-outlined-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_top-space: var(--md-outlined-field-top-space, 16px);--_trailing-content-color: var(--md-outlined-field-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-space: var(--md-outlined-field-trailing-space, 16px);--_with-leading-content-leading-space: var(--md-outlined-field-with-leading-content-leading-space, 12px);--_with-trailing-content-trailing-space: var(--md-outlined-field-with-trailing-content-trailing-space, 12px);--_container-shape-start-start: var(--md-outlined-field-container-shape-start-start, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-outlined-field-container-shape-start-end, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-outlined-field-container-shape-end-end, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-start: var(--md-outlined-field-container-shape-end-start, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)))}.outline{border-color:var(--_outline-color);border-radius:inherit;display:flex;pointer-events:none;height:100%;position:absolute;width:100%;z-index:1}.outline-start::before,.outline-start::after,.outline-panel-inactive::before,.outline-panel-inactive::after,.outline-panel-active::before,.outline-panel-active::after,.outline-end::before,.outline-end::after{border:inherit;content:"";inset:0;position:absolute}.outline-start,.outline-end{border:inherit;border-radius:inherit;box-sizing:border-box;position:relative}.outline-start::before,.outline-start::after,.outline-end::before,.outline-end::after{border-bottom-style:solid;border-top-style:solid}.outline-start::after,.outline-end::after{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .outline-start::after,.focused .outline-end::after{opacity:1}.outline-start::before,.outline-start::after{border-inline-start-style:solid;border-inline-end-style:none;border-start-start-radius:inherit;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:0;margin-inline-end:var(--_outline-label-padding)}.outline-end{flex-grow:1;margin-inline-start:calc(-1*var(--_outline-label-padding))}.outline-end::before,.outline-end::after{border-inline-start-style:none;border-inline-end-style:solid;border-start-start-radius:0;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:inherit}.outline-notch{align-items:flex-start;border:inherit;display:flex;margin-inline-start:calc(-1*var(--_outline-label-padding));margin-inline-end:var(--_outline-label-padding);max-width:calc(100% - var(--_leading-space) - var(--_trailing-space));padding:0 var(--_outline-label-padding);position:relative}.no-label .outline-notch{display:none}.outline-panel-inactive,.outline-panel-active{border:inherit;border-bottom-style:solid;inset:0;position:absolute}.outline-panel-inactive::before,.outline-panel-inactive::after,.outline-panel-active::before,.outline-panel-active::after{border-top-style:solid;border-bottom:none;bottom:auto;transform:scaleX(1);transition:transform 150ms cubic-bezier(0.2, 0, 0, 1)}.outline-panel-inactive::before,.outline-panel-active::before{right:50%;transform-origin:top left}.outline-panel-inactive::after,.outline-panel-active::after{left:50%;transform-origin:top right}.populated .outline-panel-inactive::before,.populated .outline-panel-inactive::after,.populated .outline-panel-active::before,.populated .outline-panel-active::after,.focused .outline-panel-inactive::before,.focused .outline-panel-inactive::after,.focused .outline-panel-active::before,.focused .outline-panel-active::after{transform:scaleX(0)}.outline-panel-active{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .outline-panel-active{opacity:1}.outline-label{display:flex;max-width:100%;transform:translateY(calc(-100% + var(--_label-text-padding-bottom)))}.outline-start,.field:not(.with-start) .content ::slotted(*){padding-inline-start:max(var(--_leading-space),max(var(--_container-shape-start-start),var(--_container-shape-end-start)) + var(--_outline-label-padding))}.field:not(.with-start) .label-wrapper{margin-inline-start:max(var(--_leading-space),max(var(--_container-shape-start-start),var(--_container-shape-end-start)) + var(--_outline-label-padding))}.field:not(.with-end) .content ::slotted(*){padding-inline-end:max(var(--_trailing-space),max(var(--_container-shape-start-end),var(--_container-shape-end-end)))}.field:not(.with-end) .label-wrapper{margin-inline-end:max(var(--_trailing-space),max(var(--_container-shape-start-end),var(--_container-shape-end-end)))}.outline-start::before,.outline-end::before,.outline-panel-inactive,.outline-panel-inactive::before,.outline-panel-inactive::after{border-width:var(--_outline-width)}:hover .outline{border-color:var(--_hover-outline-color);color:var(--_hover-outline-color)}:hover .outline-start::before,:hover .outline-end::before,:hover .outline-panel-inactive,:hover .outline-panel-inactive::before,:hover .outline-panel-inactive::after{border-width:var(--_hover-outline-width)}.focused .outline{border-color:var(--_focus-outline-color);color:var(--_focus-outline-color)}.outline-start::after,.outline-end::after,.outline-panel-active,.outline-panel-active::before,.outline-panel-active::after{border-width:var(--_focus-outline-width)}.disabled .outline{border-color:var(--_disabled-outline-color);color:var(--_disabled-outline-color)}.disabled .outline-start,.disabled .outline-end,.disabled .outline-panel-inactive{opacity:var(--_disabled-outline-opacity)}.disabled .outline-start::before,.disabled .outline-end::before,.disabled .outline-panel-inactive,.disabled .outline-panel-inactive::before,.disabled .outline-panel-inactive::after{border-width:var(--_disabled-outline-width)}.error .outline{border-color:var(--_error-outline-color);color:var(--_error-outline-color)}.error:hover .outline{border-color:var(--_error-hover-outline-color);color:var(--_error-hover-outline-color)}.error.focused .outline{border-color:var(--_error-focus-outline-color);color:var(--_error-focus-outline-color)}.resizable .container{bottom:var(--_focus-outline-width);inset-inline-end:var(--_focus-outline-width);clip-path:inset(var(--_focus-outline-width) 0 0 var(--_focus-outline-width))}.resizable .container>*{top:var(--_focus-outline-width);inset-inline-start:var(--_focus-outline-width)}.resizable .container:dir(rtl){clip-path:inset(var(--_focus-outline-width) var(--_focus-outline-width) 0 0)}}@layer hcm{@media(forced-colors: active){.disabled .outline{border-color:GrayText;color:GrayText}.disabled :is(.outline-start,.outline-end,.outline-panel-inactive){opacity:1}}}
|
|
23400
23668
|
`;
|
|
23669
|
+
styles$c.styleSheet;
|
|
23401
23670
|
|
|
23402
23671
|
/**
|
|
23403
23672
|
* @license
|
|
23404
|
-
* Copyright
|
|
23673
|
+
* Copyright 2026 Google LLC
|
|
23405
23674
|
* SPDX-License-Identifier: Apache-2.0
|
|
23406
23675
|
*/
|
|
23407
23676
|
// Generated stylesheet for ./field/internal/shared-styles.css.
|
|
23408
23677
|
const styles$b = i$7`:host{display:inline-flex;resize:both}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;position:relative}.field,.container-overflow{resize:inherit}.resizable:not(.disabled) .container{resize:inherit;overflow:hidden}.disabled{pointer-events:none}slot[name=container]{border-radius:inherit}slot[name=container]::slotted(*){border-radius:inherit;inset:0;pointer-events:none;position:absolute}@layer styles{.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start{margin-inline:var(--_with-leading-content-leading-space) var(--_content-space)}.with-end .end{margin-inline:var(--_content-space) var(--_with-trailing-content-trailing-space)}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}:is(.disabled,.disable-transitions) .content{transition:none}.content ::slotted(*){all:unset;color:currentColor;font-family:var(--_content-font);font-size:var(--_content-size);line-height:var(--_content-line-height);font-weight:var(--_content-weight);width:100%;overflow-wrap:revert;white-space:revert}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}}@layer hcm{@media(forced-colors: active){.disabled :is(.start,.content,.end){color:GrayText;opacity:1}}}@layer styles{.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}}@layer hcm{@media(forced-colors: active){.disabled .label:not(.hidden){color:GrayText;opacity:1}}}@layer styles{.supporting-text{color:var(--_supporting-text-color);display:flex;font-family:var(--_supporting-text-font);font-size:var(--_supporting-text-size);line-height:var(--_supporting-text-line-height);font-weight:var(--_supporting-text-weight);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}}@layer hcm{@media(forced-colors: active){.disabled .supporting-text{color:GrayText;opacity:1}}}
|
|
23409
23678
|
`;
|
|
23679
|
+
styles$b.styleSheet;
|
|
23410
23680
|
|
|
23411
23681
|
/**
|
|
23412
23682
|
* @license
|
|
@@ -25117,12 +25387,13 @@ __decorate([r$3()], Menu.prototype, "typeaheadActive", void 0);
|
|
|
25117
25387
|
|
|
25118
25388
|
/**
|
|
25119
25389
|
* @license
|
|
25120
|
-
* Copyright
|
|
25390
|
+
* Copyright 2026 Google LLC
|
|
25121
25391
|
* SPDX-License-Identifier: Apache-2.0
|
|
25122
25392
|
*/
|
|
25123
25393
|
// Generated stylesheet for ./menu/internal/menu-styles.css.
|
|
25124
25394
|
const styles$a = i$7`:host{--md-elevation-level: var(--md-menu-container-elevation, 2);--md-elevation-shadow-color: var(--md-menu-container-shadow-color, var(--md-sys-color-shadow, #000));min-width:112px;color:unset;display:contents}md-focus-ring{--md-focus-ring-shape: var(--md-menu-container-shape, var(--md-sys-shape-corner-extra-small, 4px))}.menu{border-radius:var(--md-menu-container-shape, var(--md-sys-shape-corner-extra-small, 4px));display:none;inset:auto;border:none;padding:0px;overflow:visible;background-color:rgba(0,0,0,0);color:inherit;opacity:0;z-index:20;position:absolute;user-select:none;max-height:inherit;height:inherit;min-width:inherit;max-width:inherit;scrollbar-width:inherit}.menu::backdrop{display:none}.fixed{position:fixed}.items{display:block;list-style-type:none;margin:0;outline:none;box-sizing:border-box;background-color:var(--md-menu-container-color, var(--md-sys-color-surface-container, #f3edf7));height:inherit;max-height:inherit;overflow:auto;min-width:inherit;max-width:inherit;border-radius:inherit;scrollbar-width:inherit}.item-padding{padding-block:var(--md-menu-top-space, 8px) var(--md-menu-bottom-space, 8px)}.has-overflow:not([popover]) .items{overflow:visible}.has-overflow.animating .items,.animating .items{overflow:hidden}.has-overflow.animating .items{pointer-events:none}.animating ::slotted(.md-menu-hidden){opacity:0}slot{display:block;height:inherit;max-height:inherit}::slotted(:is(md-divider,[role=separator])){margin:8px 0}@media(forced-colors: active){.menu{border-style:solid;border-color:CanvasText;border-width:1px}}
|
|
25125
25395
|
`;
|
|
25396
|
+
styles$a.styleSheet;
|
|
25126
25397
|
|
|
25127
25398
|
/**
|
|
25128
25399
|
* @license
|
|
@@ -25354,179 +25625,6 @@ function mixinConstraintValidation(base) {
|
|
|
25354
25625
|
return ConstraintValidationElement;
|
|
25355
25626
|
}
|
|
25356
25627
|
|
|
25357
|
-
/**
|
|
25358
|
-
* @license
|
|
25359
|
-
* Copyright 2023 Google LLC
|
|
25360
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
25361
|
-
*/
|
|
25362
|
-
/**
|
|
25363
|
-
* A symbol property to retrieve the form value for an element.
|
|
25364
|
-
*/
|
|
25365
|
-
const getFormValue = Symbol('getFormValue');
|
|
25366
|
-
/**
|
|
25367
|
-
* A symbol property to retrieve the form state for an element.
|
|
25368
|
-
*/
|
|
25369
|
-
const getFormState = Symbol('getFormState');
|
|
25370
|
-
/**
|
|
25371
|
-
* Mixes in form-associated behavior for a class. This allows an element to add
|
|
25372
|
-
* values to `<form>` elements.
|
|
25373
|
-
*
|
|
25374
|
-
* Implementing classes should provide a `[formValue]` to return the current
|
|
25375
|
-
* value of the element, as well as reset and restore callbacks.
|
|
25376
|
-
*
|
|
25377
|
-
* @example
|
|
25378
|
-
* ```ts
|
|
25379
|
-
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
25380
|
-
*
|
|
25381
|
-
* class MyControl extends base {
|
|
25382
|
-
* \@property()
|
|
25383
|
-
* value = '';
|
|
25384
|
-
*
|
|
25385
|
-
* override [getFormValue]() {
|
|
25386
|
-
* return this.value;
|
|
25387
|
-
* }
|
|
25388
|
-
*
|
|
25389
|
-
* override formResetCallback() {
|
|
25390
|
-
* const defaultValue = this.getAttribute('value');
|
|
25391
|
-
* this.value = defaultValue;
|
|
25392
|
-
* }
|
|
25393
|
-
*
|
|
25394
|
-
* override formStateRestoreCallback(state: string) {
|
|
25395
|
-
* this.value = state;
|
|
25396
|
-
* }
|
|
25397
|
-
* }
|
|
25398
|
-
* ```
|
|
25399
|
-
*
|
|
25400
|
-
* Elements may optionally provide a `[formState]` if their values do not
|
|
25401
|
-
* represent the state of the component.
|
|
25402
|
-
*
|
|
25403
|
-
* @example
|
|
25404
|
-
* ```ts
|
|
25405
|
-
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
25406
|
-
*
|
|
25407
|
-
* class MyCheckbox extends base {
|
|
25408
|
-
* \@property()
|
|
25409
|
-
* value = 'on';
|
|
25410
|
-
*
|
|
25411
|
-
* \@property({type: Boolean})
|
|
25412
|
-
* checked = false;
|
|
25413
|
-
*
|
|
25414
|
-
* override [getFormValue]() {
|
|
25415
|
-
* return this.checked ? this.value : null;
|
|
25416
|
-
* }
|
|
25417
|
-
*
|
|
25418
|
-
* override [getFormState]() {
|
|
25419
|
-
* return String(this.checked);
|
|
25420
|
-
* }
|
|
25421
|
-
*
|
|
25422
|
-
* override formResetCallback() {
|
|
25423
|
-
* const defaultValue = this.hasAttribute('checked');
|
|
25424
|
-
* this.checked = defaultValue;
|
|
25425
|
-
* }
|
|
25426
|
-
*
|
|
25427
|
-
* override formStateRestoreCallback(state: string) {
|
|
25428
|
-
* this.checked = Boolean(state);
|
|
25429
|
-
* }
|
|
25430
|
-
* }
|
|
25431
|
-
* ```
|
|
25432
|
-
*
|
|
25433
|
-
* IMPORTANT: Requires declares for lit-analyzer
|
|
25434
|
-
* @example
|
|
25435
|
-
* ```ts
|
|
25436
|
-
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
25437
|
-
* class MyControl extends base {
|
|
25438
|
-
* // Writable mixin properties for lit-html binding, needed for lit-analyzer
|
|
25439
|
-
* declare disabled: boolean;
|
|
25440
|
-
* declare name: string;
|
|
25441
|
-
* }
|
|
25442
|
-
* ```
|
|
25443
|
-
*
|
|
25444
|
-
* @param base The class to mix functionality into. The base class must use
|
|
25445
|
-
* `mixinElementInternals()`.
|
|
25446
|
-
* @return The provided class with `FormAssociated` mixed in.
|
|
25447
|
-
*/
|
|
25448
|
-
function mixinFormAssociated(base) {
|
|
25449
|
-
class FormAssociatedElement extends base {
|
|
25450
|
-
get form() {
|
|
25451
|
-
return this[internals].form;
|
|
25452
|
-
}
|
|
25453
|
-
get labels() {
|
|
25454
|
-
return this[internals].labels;
|
|
25455
|
-
}
|
|
25456
|
-
// Use @property for the `name` and `disabled` properties to add them to the
|
|
25457
|
-
// `observedAttributes` array and trigger `attributeChangedCallback()`.
|
|
25458
|
-
//
|
|
25459
|
-
// We don't use Lit's default getter/setter (`noAccessor: true`) because
|
|
25460
|
-
// the attributes need to be updated synchronously to work with synchronous
|
|
25461
|
-
// form APIs, and Lit updates attributes async by default.
|
|
25462
|
-
get name() {
|
|
25463
|
-
return this.getAttribute('name') ?? '';
|
|
25464
|
-
}
|
|
25465
|
-
set name(name) {
|
|
25466
|
-
// Note: setting name to null or empty does not remove the attribute.
|
|
25467
|
-
this.setAttribute('name', name);
|
|
25468
|
-
// We don't need to call `requestUpdate()` since it's called synchronously
|
|
25469
|
-
// in `attributeChangedCallback()`.
|
|
25470
|
-
}
|
|
25471
|
-
get disabled() {
|
|
25472
|
-
return this.hasAttribute('disabled');
|
|
25473
|
-
}
|
|
25474
|
-
set disabled(disabled) {
|
|
25475
|
-
this.toggleAttribute('disabled', disabled);
|
|
25476
|
-
// We don't need to call `requestUpdate()` since it's called synchronously
|
|
25477
|
-
// in `attributeChangedCallback()`.
|
|
25478
|
-
}
|
|
25479
|
-
attributeChangedCallback(name, old, value) {
|
|
25480
|
-
// Manually `requestUpdate()` for `name` and `disabled` when their
|
|
25481
|
-
// attribute or property changes.
|
|
25482
|
-
// The properties update their attributes, so this callback is invoked
|
|
25483
|
-
// immediately when the properties are set. We call `requestUpdate()` here
|
|
25484
|
-
// instead of letting Lit set the properties from the attribute change.
|
|
25485
|
-
// That would cause the properties to re-set the attribute and invoke this
|
|
25486
|
-
// callback again in a loop. This leads to stale state when Lit tries to
|
|
25487
|
-
// determine if a property changed or not.
|
|
25488
|
-
if (name === 'name' || name === 'disabled') {
|
|
25489
|
-
// Disabled's value is only false if the attribute is missing and null.
|
|
25490
|
-
const oldValue = name === 'disabled' ? old !== null : old;
|
|
25491
|
-
// Trigger a lit update when the attribute changes.
|
|
25492
|
-
this.requestUpdate(name, oldValue);
|
|
25493
|
-
return;
|
|
25494
|
-
}
|
|
25495
|
-
super.attributeChangedCallback(name, old, value);
|
|
25496
|
-
}
|
|
25497
|
-
requestUpdate(name, oldValue, options) {
|
|
25498
|
-
super.requestUpdate(name, oldValue, options);
|
|
25499
|
-
// If any properties change, update the form value, which may have changed
|
|
25500
|
-
// as well.
|
|
25501
|
-
// Update the form value synchronously in `requestUpdate()` rather than
|
|
25502
|
-
// `update()` or `updated()`, which are async. This is necessary to ensure
|
|
25503
|
-
// that form data is updated in time for synchronous event listeners.
|
|
25504
|
-
this[internals].setFormValue(this[getFormValue](), this[getFormState]());
|
|
25505
|
-
}
|
|
25506
|
-
[getFormValue]() {
|
|
25507
|
-
// Closure does not allow abstract symbol members, so a default
|
|
25508
|
-
// implementation is needed.
|
|
25509
|
-
throw new Error('Implement [getFormValue]');
|
|
25510
|
-
}
|
|
25511
|
-
[getFormState]() {
|
|
25512
|
-
return this[getFormValue]();
|
|
25513
|
-
}
|
|
25514
|
-
formDisabledCallback(disabled) {
|
|
25515
|
-
this.disabled = disabled;
|
|
25516
|
-
}
|
|
25517
|
-
}
|
|
25518
|
-
/** @nocollapse */
|
|
25519
|
-
FormAssociatedElement.formAssociated = true;
|
|
25520
|
-
__decorate([n$5({
|
|
25521
|
-
noAccessor: true
|
|
25522
|
-
})], FormAssociatedElement.prototype, "name", null);
|
|
25523
|
-
__decorate([n$5({
|
|
25524
|
-
type: Boolean,
|
|
25525
|
-
noAccessor: true
|
|
25526
|
-
})], FormAssociatedElement.prototype, "disabled", null);
|
|
25527
|
-
return FormAssociatedElement;
|
|
25528
|
-
}
|
|
25529
|
-
|
|
25530
25628
|
/**
|
|
25531
25629
|
* @license
|
|
25532
25630
|
* Copyright 2023 Google LLC
|
|
@@ -26507,9 +26605,11 @@ class Select extends selectBaseClass {
|
|
|
26507
26605
|
selectedOptions.forEach(([option]) => {
|
|
26508
26606
|
if (item !== option) {
|
|
26509
26607
|
option.selected = false;
|
|
26608
|
+
option.tabIndex = -1;
|
|
26510
26609
|
}
|
|
26511
26610
|
});
|
|
26512
26611
|
item.selected = true;
|
|
26612
|
+
item.tabIndex = 0;
|
|
26513
26613
|
return this.updateValueAndDisplayText();
|
|
26514
26614
|
}
|
|
26515
26615
|
/**
|
|
@@ -26672,21 +26772,23 @@ class OutlinedSelect extends Select {
|
|
|
26672
26772
|
|
|
26673
26773
|
/**
|
|
26674
26774
|
* @license
|
|
26675
|
-
* Copyright
|
|
26775
|
+
* Copyright 2026 Google LLC
|
|
26676
26776
|
* SPDX-License-Identifier: Apache-2.0
|
|
26677
26777
|
*/
|
|
26678
26778
|
// Generated stylesheet for ./select/internal/outlined-select-styles.css.
|
|
26679
26779
|
const styles$9 = i$7`:host{--_text-field-disabled-input-text-color: var(--md-outlined-select-text-field-disabled-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-disabled-input-text-opacity: var(--md-outlined-select-text-field-disabled-input-text-opacity, 0.38);--_text-field-disabled-label-text-color: var(--md-outlined-select-text-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-disabled-label-text-opacity: var(--md-outlined-select-text-field-disabled-label-text-opacity, 0.38);--_text-field-disabled-leading-icon-color: var(--md-outlined-select-text-field-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-disabled-leading-icon-opacity: var(--md-outlined-select-text-field-disabled-leading-icon-opacity, 0.38);--_text-field-disabled-outline-color: var(--md-outlined-select-text-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-disabled-outline-opacity: var(--md-outlined-select-text-field-disabled-outline-opacity, 0.12);--_text-field-disabled-outline-width: var(--md-outlined-select-text-field-disabled-outline-width, 1px);--_text-field-disabled-supporting-text-color: var(--md-outlined-select-text-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-disabled-supporting-text-opacity: var(--md-outlined-select-text-field-disabled-supporting-text-opacity, 0.38);--_text-field-disabled-trailing-icon-color: var(--md-outlined-select-text-field-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-disabled-trailing-icon-opacity: var(--md-outlined-select-text-field-disabled-trailing-icon-opacity, 0.38);--_text-field-error-focus-input-text-color: var(--md-outlined-select-text-field-error-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-error-focus-label-text-color: var(--md-outlined-select-text-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_text-field-error-focus-leading-icon-color: var(--md-outlined-select-text-field-error-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-error-focus-outline-color: var(--md-outlined-select-text-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_text-field-error-focus-supporting-text-color: var(--md-outlined-select-text-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_text-field-error-focus-trailing-icon-color: var(--md-outlined-select-text-field-error-focus-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_text-field-error-hover-input-text-color: var(--md-outlined-select-text-field-error-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-error-hover-label-text-color: var(--md-outlined-select-text-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_text-field-error-hover-leading-icon-color: var(--md-outlined-select-text-field-error-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-error-hover-outline-color: var(--md-outlined-select-text-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_text-field-error-hover-supporting-text-color: var(--md-outlined-select-text-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_text-field-error-hover-trailing-icon-color: var(--md-outlined-select-text-field-error-hover-trailing-icon-color, var(--md-sys-color-on-error-container, #410e0b));--_text-field-error-input-text-color: var(--md-outlined-select-text-field-error-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-error-label-text-color: var(--md-outlined-select-text-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_text-field-error-leading-icon-color: var(--md-outlined-select-text-field-error-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-error-outline-color: var(--md-outlined-select-text-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_text-field-error-supporting-text-color: var(--md-outlined-select-text-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_text-field-error-trailing-icon-color: var(--md-outlined-select-text-field-error-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_text-field-focus-input-text-color: var(--md-outlined-select-text-field-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-focus-label-text-color: var(--md-outlined-select-text-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_text-field-focus-leading-icon-color: var(--md-outlined-select-text-field-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-focus-outline-color: var(--md-outlined-select-text-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_text-field-focus-outline-width: var(--md-outlined-select-text-field-focus-outline-width, 3px);--_text-field-focus-supporting-text-color: var(--md-outlined-select-text-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-focus-trailing-icon-color: var(--md-outlined-select-text-field-focus-trailing-icon-color, var(--md-sys-color-primary, #6750a4));--_text-field-hover-input-text-color: var(--md-outlined-select-text-field-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-hover-label-text-color: var(--md-outlined-select-text-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-hover-leading-icon-color: var(--md-outlined-select-text-field-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-hover-outline-color: var(--md-outlined-select-text-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-hover-outline-width: var(--md-outlined-select-text-field-hover-outline-width, 1px);--_text-field-hover-supporting-text-color: var(--md-outlined-select-text-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-hover-trailing-icon-color: var(--md-outlined-select-text-field-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-input-text-color: var(--md-outlined-select-text-field-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_text-field-input-text-font: var(--md-outlined-select-text-field-input-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_text-field-input-text-line-height: var(--md-outlined-select-text-field-input-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_text-field-input-text-size: var(--md-outlined-select-text-field-input-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_text-field-input-text-weight: var(--md-outlined-select-text-field-input-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_text-field-label-text-color: var(--md-outlined-select-text-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-label-text-font: var(--md-outlined-select-text-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_text-field-label-text-line-height: var(--md-outlined-select-text-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_text-field-label-text-populated-line-height: var(--md-outlined-select-text-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_text-field-label-text-populated-size: var(--md-outlined-select-text-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_text-field-label-text-size: var(--md-outlined-select-text-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_text-field-label-text-weight: var(--md-outlined-select-text-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_text-field-leading-icon-color: var(--md-outlined-select-text-field-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-leading-icon-size: var(--md-outlined-select-text-field-leading-icon-size, 24px);--_text-field-outline-color: var(--md-outlined-select-text-field-outline-color, var(--md-sys-color-outline, #79747e));--_text-field-outline-width: var(--md-outlined-select-text-field-outline-width, 1px);--_text-field-supporting-text-color: var(--md-outlined-select-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-supporting-text-font: var(--md-outlined-select-text-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_text-field-supporting-text-line-height: var(--md-outlined-select-text-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_text-field-supporting-text-size: var(--md-outlined-select-text-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_text-field-supporting-text-weight: var(--md-outlined-select-text-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_text-field-trailing-icon-color: var(--md-outlined-select-text-field-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_text-field-trailing-icon-size: var(--md-outlined-select-text-field-trailing-icon-size, 24px);--_text-field-container-shape-start-start: var(--md-outlined-select-text-field-container-shape-start-start, var(--md-outlined-select-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_text-field-container-shape-start-end: var(--md-outlined-select-text-field-container-shape-start-end, var(--md-outlined-select-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_text-field-container-shape-end-end: var(--md-outlined-select-text-field-container-shape-end-end, var(--md-outlined-select-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_text-field-container-shape-end-start: var(--md-outlined-select-text-field-container-shape-end-start, var(--md-outlined-select-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--md-outlined-field-container-shape-end-end: var(--_text-field-container-shape-end-end);--md-outlined-field-container-shape-end-start: var(--_text-field-container-shape-end-start);--md-outlined-field-container-shape-start-end: var(--_text-field-container-shape-start-end);--md-outlined-field-container-shape-start-start: var(--_text-field-container-shape-start-start);--md-outlined-field-content-color: var(--_text-field-input-text-color);--md-outlined-field-content-font: var(--_text-field-input-text-font);--md-outlined-field-content-line-height: var(--_text-field-input-text-line-height);--md-outlined-field-content-size: var(--_text-field-input-text-size);--md-outlined-field-content-weight: var(--_text-field-input-text-weight);--md-outlined-field-disabled-content-color: var(--_text-field-disabled-input-text-color);--md-outlined-field-disabled-content-opacity: var(--_text-field-disabled-input-text-opacity);--md-outlined-field-disabled-label-text-color: var(--_text-field-disabled-label-text-color);--md-outlined-field-disabled-label-text-opacity: var(--_text-field-disabled-label-text-opacity);--md-outlined-field-disabled-leading-content-color: var(--_text-field-disabled-leading-icon-color);--md-outlined-field-disabled-leading-content-opacity: var(--_text-field-disabled-leading-icon-opacity);--md-outlined-field-disabled-outline-color: var(--_text-field-disabled-outline-color);--md-outlined-field-disabled-outline-opacity: var(--_text-field-disabled-outline-opacity);--md-outlined-field-disabled-outline-width: var(--_text-field-disabled-outline-width);--md-outlined-field-disabled-supporting-text-color: var(--_text-field-disabled-supporting-text-color);--md-outlined-field-disabled-supporting-text-opacity: var(--_text-field-disabled-supporting-text-opacity);--md-outlined-field-disabled-trailing-content-color: var(--_text-field-disabled-trailing-icon-color);--md-outlined-field-disabled-trailing-content-opacity: var(--_text-field-disabled-trailing-icon-opacity);--md-outlined-field-error-content-color: var(--_text-field-error-input-text-color);--md-outlined-field-error-focus-content-color: var(--_text-field-error-focus-input-text-color);--md-outlined-field-error-focus-label-text-color: var(--_text-field-error-focus-label-text-color);--md-outlined-field-error-focus-leading-content-color: var(--_text-field-error-focus-leading-icon-color);--md-outlined-field-error-focus-outline-color: var(--_text-field-error-focus-outline-color);--md-outlined-field-error-focus-supporting-text-color: var(--_text-field-error-focus-supporting-text-color);--md-outlined-field-error-focus-trailing-content-color: var(--_text-field-error-focus-trailing-icon-color);--md-outlined-field-error-hover-content-color: var(--_text-field-error-hover-input-text-color);--md-outlined-field-error-hover-label-text-color: var(--_text-field-error-hover-label-text-color);--md-outlined-field-error-hover-leading-content-color: var(--_text-field-error-hover-leading-icon-color);--md-outlined-field-error-hover-outline-color: var(--_text-field-error-hover-outline-color);--md-outlined-field-error-hover-supporting-text-color: var(--_text-field-error-hover-supporting-text-color);--md-outlined-field-error-hover-trailing-content-color: var(--_text-field-error-hover-trailing-icon-color);--md-outlined-field-error-label-text-color: var(--_text-field-error-label-text-color);--md-outlined-field-error-leading-content-color: var(--_text-field-error-leading-icon-color);--md-outlined-field-error-outline-color: var(--_text-field-error-outline-color);--md-outlined-field-error-supporting-text-color: var(--_text-field-error-supporting-text-color);--md-outlined-field-error-trailing-content-color: var(--_text-field-error-trailing-icon-color);--md-outlined-field-focus-content-color: var(--_text-field-focus-input-text-color);--md-outlined-field-focus-label-text-color: var(--_text-field-focus-label-text-color);--md-outlined-field-focus-leading-content-color: var(--_text-field-focus-leading-icon-color);--md-outlined-field-focus-outline-color: var(--_text-field-focus-outline-color);--md-outlined-field-focus-outline-width: var(--_text-field-focus-outline-width);--md-outlined-field-focus-supporting-text-color: var(--_text-field-focus-supporting-text-color);--md-outlined-field-focus-trailing-content-color: var(--_text-field-focus-trailing-icon-color);--md-outlined-field-hover-content-color: var(--_text-field-hover-input-text-color);--md-outlined-field-hover-label-text-color: var(--_text-field-hover-label-text-color);--md-outlined-field-hover-leading-content-color: var(--_text-field-hover-leading-icon-color);--md-outlined-field-hover-outline-color: var(--_text-field-hover-outline-color);--md-outlined-field-hover-outline-width: var(--_text-field-hover-outline-width);--md-outlined-field-hover-supporting-text-color: var(--_text-field-hover-supporting-text-color);--md-outlined-field-hover-trailing-content-color: var(--_text-field-hover-trailing-icon-color);--md-outlined-field-label-text-color: var(--_text-field-label-text-color);--md-outlined-field-label-text-font: var(--_text-field-label-text-font);--md-outlined-field-label-text-line-height: var(--_text-field-label-text-line-height);--md-outlined-field-label-text-populated-line-height: var(--_text-field-label-text-populated-line-height);--md-outlined-field-label-text-populated-size: var(--_text-field-label-text-populated-size);--md-outlined-field-label-text-size: var(--_text-field-label-text-size);--md-outlined-field-label-text-weight: var(--_text-field-label-text-weight);--md-outlined-field-leading-content-color: var(--_text-field-leading-icon-color);--md-outlined-field-outline-color: var(--_text-field-outline-color);--md-outlined-field-outline-width: var(--_text-field-outline-width);--md-outlined-field-supporting-text-color: var(--_text-field-supporting-text-color);--md-outlined-field-supporting-text-font: var(--_text-field-supporting-text-font);--md-outlined-field-supporting-text-line-height: var(--_text-field-supporting-text-line-height);--md-outlined-field-supporting-text-size: var(--_text-field-supporting-text-size);--md-outlined-field-supporting-text-weight: var(--_text-field-supporting-text-weight);--md-outlined-field-trailing-content-color: var(--_text-field-trailing-icon-color)}[has-start] .icon.leading{font-size:var(--_text-field-leading-icon-size);height:var(--_text-field-leading-icon-size);width:var(--_text-field-leading-icon-size)}.icon.trailing{font-size:var(--_text-field-trailing-icon-size);height:var(--_text-field-trailing-icon-size);width:var(--_text-field-trailing-icon-size)}
|
|
26680
26780
|
`;
|
|
26781
|
+
styles$9.styleSheet;
|
|
26681
26782
|
|
|
26682
26783
|
/**
|
|
26683
26784
|
* @license
|
|
26684
|
-
* Copyright
|
|
26785
|
+
* Copyright 2026 Google LLC
|
|
26685
26786
|
* SPDX-License-Identifier: Apache-2.0
|
|
26686
26787
|
*/
|
|
26687
26788
|
// Generated stylesheet for ./select/internal/shared-styles.css.
|
|
26688
26789
|
const styles$8 = i$7`:host{color:unset;min-width:210px;display:flex}.field{cursor:default;outline:none}.select{position:relative;flex-direction:column}.icon.trailing svg,.icon ::slotted(*){fill:currentColor}.icon ::slotted(*){width:inherit;height:inherit;font-size:inherit}.icon slot{display:flex;height:100%;width:100%;align-items:center;justify-content:center}.icon.trailing :is(.up,.down){opacity:0;transition:opacity 75ms linear 75ms}.select:not(.open) .down,.select.open .up{opacity:1}.field,.select,md-menu{min-width:inherit;width:inherit;max-width:inherit;display:flex}md-menu{min-width:var(--__menu-min-width);max-width:var(--__menu-max-width, inherit)}.menu-wrapper{width:0px;height:0px;max-width:inherit}md-menu ::slotted(:not[disabled]){cursor:pointer}.field,.select{width:100%}:host{display:inline-flex}:host([disabled]){pointer-events:none}
|
|
26689
26790
|
`;
|
|
26791
|
+
styles$8.styleSheet;
|
|
26690
26792
|
|
|
26691
26793
|
/**
|
|
26692
26794
|
* @license
|
|
@@ -26726,12 +26828,13 @@ MdOutlinedSelect = __decorate([t$1('md-outlined-select')], MdOutlinedSelect);
|
|
|
26726
26828
|
|
|
26727
26829
|
/**
|
|
26728
26830
|
* @license
|
|
26729
|
-
* Copyright
|
|
26831
|
+
* Copyright 2026 Google LLC
|
|
26730
26832
|
* SPDX-License-Identifier: Apache-2.0
|
|
26731
26833
|
*/
|
|
26732
26834
|
// Generated stylesheet for ./menu/internal/menuitem/menu-item-styles.css.
|
|
26733
|
-
const styles$7 = i$7`:host{display:flex;--md-ripple-hover-color: var(--md-menu-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-menu-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-menu-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-menu-item-pressed-state-layer-opacity, 0.12)}:host([disabled]){opacity:var(--md-menu-item-disabled-opacity, 0.3);pointer-events:none}md-focus-ring{z-index:1;--md-focus-ring-shape: 8px}a,button,li{background:none;border:none;padding:0;margin:0;text-align:unset;text-decoration:none}.list-item{border-radius:inherit;display:flex;flex:1;max-width:inherit;min-width:inherit;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.list-item:not(.disabled){cursor:pointer}[slot=container]{pointer-events:none}md-ripple{border-radius:inherit}md-item{border-radius:inherit;flex:1;color:var(--md-menu-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-menu-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-menu-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));line-height:var(--md-menu-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));font-weight:var(--md-menu-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));min-height:var(--md-menu-item-one-line-container-height, 56px);padding-top:var(--md-menu-item-top-space, 12px);padding-bottom:var(--md-menu-item-bottom-space, 12px);padding-inline-start:var(--md-menu-item-leading-space, 16px);padding-inline-end:var(--md-menu-item-trailing-space, 16px)}md-item[multiline]{min-height:var(--md-menu-item-two-line-container-height, 72px)}[slot=supporting-text]{color:var(--md-menu-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-menu-item-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-menu-item-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-menu-item-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-menu-item-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)))}[slot=trailing-supporting-text]{color:var(--md-menu-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-menu-item-trailing-supporting-text-font, var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-menu-item-trailing-supporting-text-size, var(--md-sys-typescale-label-small-size, 0.6875rem));line-height:var(--md-menu-item-trailing-supporting-text-line-height, var(--md-sys-typescale-label-small-line-height, 1rem));font-weight:var(--md-menu-item-trailing-supporting-text-weight, var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500)))}:is([slot=start],[slot=end])::slotted(*){fill:currentColor}[slot=start]{color:var(--md-menu-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}[slot=end]{color:var(--md-menu-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}.list-item{background-color:var(--md-menu-item-container-color, transparent)}.list-item.selected{background-color:var(--md-menu-item-selected-container-color, var(--md-sys-color-secondary-container, #e8def8))}.selected:not(.disabled) ::slotted(*){color:var(--md-menu-item-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b))}@media(forced-colors: active){:host([disabled]),:host([disabled]) slot{color:GrayText;opacity:1}.list-item{position:relative}.list-item.selected::before{content:"";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;border:3px double CanvasText}}
|
|
26835
|
+
const styles$7 = i$7`:host{display:flex;gap:16px;--md-ripple-hover-color: var(--md-menu-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-menu-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-menu-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-menu-item-pressed-state-layer-opacity, 0.12)}:host([disabled]){opacity:var(--md-menu-item-disabled-opacity, 0.3);pointer-events:none}md-focus-ring{z-index:1;--md-focus-ring-shape: 8px}a,button,li{background:none;border:none;padding:0;margin:0;text-align:unset;text-decoration:none}.list-item{border-radius:inherit;display:flex;flex:1;gap:inherit;max-width:inherit;min-width:inherit;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.list-item:not(.disabled){cursor:pointer}[slot=container]{pointer-events:none}md-ripple{border-radius:inherit}md-item{border-radius:inherit;flex:1;color:var(--md-menu-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-menu-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-menu-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));line-height:var(--md-menu-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));font-weight:var(--md-menu-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));min-height:var(--md-menu-item-one-line-container-height, 56px);padding-top:var(--md-menu-item-top-space, 12px);padding-bottom:var(--md-menu-item-bottom-space, 12px);padding-inline-start:var(--md-menu-item-leading-space, 16px);padding-inline-end:var(--md-menu-item-trailing-space, 16px);gap:inherit}md-item[multiline]{min-height:var(--md-menu-item-two-line-container-height, 72px)}[slot=supporting-text]{color:var(--md-menu-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-menu-item-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-menu-item-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-menu-item-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-menu-item-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)))}[slot=trailing-supporting-text]{color:var(--md-menu-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-menu-item-trailing-supporting-text-font, var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-menu-item-trailing-supporting-text-size, var(--md-sys-typescale-label-small-size, 0.6875rem));line-height:var(--md-menu-item-trailing-supporting-text-line-height, var(--md-sys-typescale-label-small-line-height, 1rem));font-weight:var(--md-menu-item-trailing-supporting-text-weight, var(--md-sys-typescale-label-small-weight, var(--md-ref-typeface-weight-medium, 500)))}:is([slot=start],[slot=end])::slotted(*){fill:currentColor}[slot=start]{color:var(--md-menu-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}[slot=end]{color:var(--md-menu-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f))}.list-item{background-color:var(--md-menu-item-container-color, transparent)}.list-item.selected{background-color:var(--md-menu-item-selected-container-color, var(--md-sys-color-secondary-container, #e8def8))}.selected:not(.disabled) ::slotted(*){color:var(--md-menu-item-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b))}@media(forced-colors: active){:host([disabled]),:host([disabled]) slot{color:GrayText;opacity:1}.list-item{position:relative}.list-item.selected::before{content:"";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;border:3px double CanvasText}}
|
|
26734
26836
|
`;
|
|
26837
|
+
styles$7.styleSheet;
|
|
26735
26838
|
|
|
26736
26839
|
/**
|
|
26737
26840
|
* @license
|
|
@@ -27371,8 +27474,6 @@ function buildProvideOfferRequest(sdp, streamUsage, videoStreamId, audioStreamId
|
|
|
27371
27474
|
webRtcSessionId: null,
|
|
27372
27475
|
sdp,
|
|
27373
27476
|
streamUsage,
|
|
27374
|
-
videoStreamId,
|
|
27375
|
-
audioStreamId,
|
|
27376
27477
|
...(videoStreamId !== null ? {
|
|
27377
27478
|
videoStreams: [videoStreamId]
|
|
27378
27479
|
} : {}),
|
|
@@ -27503,6 +27604,7 @@ function parseProvideOfferResponse(value) {
|
|
|
27503
27604
|
let WebRtcStreamView = class extends i$4 {
|
|
27504
27605
|
constructor() {
|
|
27505
27606
|
super(...arguments);
|
|
27607
|
+
this.liveViewSupported = true;
|
|
27506
27608
|
this.resolution = null;
|
|
27507
27609
|
this.watermarkEnabled = false;
|
|
27508
27610
|
this.osdEnabled = false;
|
|
@@ -27555,7 +27657,9 @@ let WebRtcStreamView = class extends i$4 {
|
|
|
27555
27657
|
></video>
|
|
27556
27658
|
${this._state === "idle" ? b`<div class="placeholder">
|
|
27557
27659
|
<ha-svg-icon class="placeholder-icon" .path=${mdiVideoOutline}></ha-svg-icon>
|
|
27558
|
-
<div class="placeholder-text">
|
|
27660
|
+
<div class="placeholder-text">
|
|
27661
|
+
${this.liveViewSupported ? b`Click <b>Start</b> to begin streaming` : "Live view not supported \u2014 use Snapshot"}
|
|
27662
|
+
</div>
|
|
27559
27663
|
</div>` : null}
|
|
27560
27664
|
${this._state === "connecting" ? b`<div class="placeholder">
|
|
27561
27665
|
<div class="spinner"></div>
|
|
@@ -27568,6 +27672,10 @@ let WebRtcStreamView = class extends i$4 {
|
|
|
27568
27672
|
`;
|
|
27569
27673
|
}
|
|
27570
27674
|
async start() {
|
|
27675
|
+
if (!this.liveViewSupported) {
|
|
27676
|
+
this._fireStateChange("error", "Live view is not supported on this device");
|
|
27677
|
+
return;
|
|
27678
|
+
}
|
|
27571
27679
|
if (!this.client) throw new Error("Matter client not available");
|
|
27572
27680
|
if (this._state === "connecting" || this._state === "streaming") return;
|
|
27573
27681
|
this._fireStateChange("connecting", null);
|
|
@@ -28258,6 +28366,9 @@ __decorateClass$q([n$5({
|
|
|
28258
28366
|
__decorateClass$q([n$5({
|
|
28259
28367
|
type: Number
|
|
28260
28368
|
})], WebRtcStreamView.prototype, "endpointId", 2);
|
|
28369
|
+
__decorateClass$q([n$5({
|
|
28370
|
+
type: Boolean
|
|
28371
|
+
})], WebRtcStreamView.prototype, "liveViewSupported", 2);
|
|
28261
28372
|
__decorateClass$q([n$5({
|
|
28262
28373
|
type: Object
|
|
28263
28374
|
})], WebRtcStreamView.prototype, "resolution", 2);
|
|
@@ -28765,6 +28876,377 @@ __decorateClass$p([r$3()], AvsumPtzStrip.prototype, "_mode", 2);
|
|
|
28765
28876
|
__decorateClass$p([r$3()], AvsumPtzStrip.prototype, "_toast", 2);
|
|
28766
28877
|
AvsumPtzStrip = __decorateClass$p([t$1("avsum-ptz-strip")], AvsumPtzStrip);
|
|
28767
28878
|
|
|
28879
|
+
/**
|
|
28880
|
+
* @license
|
|
28881
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
28882
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
28883
|
+
*/
|
|
28884
|
+
function getDefaultIconColor() {
|
|
28885
|
+
return getCssVar("--node-color-default", "#666666");
|
|
28886
|
+
}
|
|
28887
|
+
const DeviceTypes = {
|
|
28888
|
+
// Utility (per Matter spec - deprioritized for icon selection)
|
|
28889
|
+
ROOT_NODE: 22,
|
|
28890
|
+
POWER_SOURCE: 17,
|
|
28891
|
+
OTA_REQUESTOR: 18,
|
|
28892
|
+
OTA_PROVIDER: 20,
|
|
28893
|
+
BRIDGED_NODE: 19,
|
|
28894
|
+
ELECTRICAL_SENSOR: 1296,
|
|
28895
|
+
DEVICE_ENERGY_MANAGEMENT: 1293,
|
|
28896
|
+
SECONDARY_NETWORK_INTERFACE: 25,
|
|
28897
|
+
JOINT_FABRIC_ADMINISTRATOR: 304,
|
|
28898
|
+
// Lighting
|
|
28899
|
+
ON_OFF_LIGHT: 256,
|
|
28900
|
+
DIMMABLE_LIGHT: 257,
|
|
28901
|
+
COLOR_TEMPERATURE_LIGHT: 268,
|
|
28902
|
+
EXTENDED_COLOR_LIGHT: 269,
|
|
28903
|
+
// Smart Plugs/Outlets and Other Actuators
|
|
28904
|
+
ON_OFF_PLUG: 266,
|
|
28905
|
+
DIMMABLE_PLUG: 267,
|
|
28906
|
+
MOUNTED_ON_OFF_CONTROL: 271,
|
|
28907
|
+
MOUNTED_DIMMABLE_LOAD_CONTROL: 272,
|
|
28908
|
+
PUMP: 771,
|
|
28909
|
+
WATER_VALVE: 66,
|
|
28910
|
+
IRRIGATION_SYSTEM: 64,
|
|
28911
|
+
// Switches and Controls
|
|
28912
|
+
ON_OFF_SWITCH: 259,
|
|
28913
|
+
DIMMER_SWITCH: 260,
|
|
28914
|
+
COLOR_DIMMER_SWITCH: 261,
|
|
28915
|
+
CONTROL_BRIDGE: 2112,
|
|
28916
|
+
PUMP_CONTROLLER: 772,
|
|
28917
|
+
GENERIC_SWITCH: 15,
|
|
28918
|
+
// Sensors
|
|
28919
|
+
CONTACT_SENSOR: 21,
|
|
28920
|
+
LIGHT_SENSOR: 262,
|
|
28921
|
+
OCCUPANCY_SENSOR: 263,
|
|
28922
|
+
TEMPERATURE_SENSOR: 770,
|
|
28923
|
+
PRESSURE_SENSOR: 773,
|
|
28924
|
+
FLOW_SENSOR: 774,
|
|
28925
|
+
HUMIDITY_SENSOR: 775,
|
|
28926
|
+
ON_OFF_SENSOR: 2128,
|
|
28927
|
+
SMOKE_CO_ALARM: 118,
|
|
28928
|
+
AIR_QUALITY_SENSOR: 44,
|
|
28929
|
+
WATER_FREEZE_DETECTOR: 65,
|
|
28930
|
+
WATER_LEAK_DETECTOR: 67,
|
|
28931
|
+
RAIN_SENSOR: 68,
|
|
28932
|
+
SOIL_SENSOR: 69,
|
|
28933
|
+
// Closures
|
|
28934
|
+
DOOR_LOCK: 10,
|
|
28935
|
+
DOOR_LOCK_CONTROLLER: 11,
|
|
28936
|
+
WINDOW_COVERING: 514,
|
|
28937
|
+
WINDOW_COVERING_CONTROLLER: 515,
|
|
28938
|
+
CLOSURE: 560,
|
|
28939
|
+
CLOSURE_PANEL: 561,
|
|
28940
|
+
CLOSURE_CONTROLLER: 574,
|
|
28941
|
+
// HVAC
|
|
28942
|
+
THERMOSTAT: 769,
|
|
28943
|
+
FAN: 43,
|
|
28944
|
+
AIR_PURIFIER: 45,
|
|
28945
|
+
THERMOSTAT_CONTROLLER: 778,
|
|
28946
|
+
HEAT_PUMP: 777,
|
|
28947
|
+
ROOM_AIR_CONDITIONER: 114,
|
|
28948
|
+
// Media
|
|
28949
|
+
SPEAKER: 34,
|
|
28950
|
+
CASTING_VIDEO_PLAYER: 35,
|
|
28951
|
+
CONTENT_APP: 36,
|
|
28952
|
+
BASIC_VIDEO_PLAYER: 40,
|
|
28953
|
+
CASTING_VIDEO_CLIENT: 41,
|
|
28954
|
+
VIDEO_REMOTE_CONTROL: 42,
|
|
28955
|
+
// Generic
|
|
28956
|
+
AGGREGATOR: 14,
|
|
28957
|
+
// Appliances
|
|
28958
|
+
REFRIGERATOR: 112,
|
|
28959
|
+
TEMPERATURE_CONTROLLED_CABINET: 113,
|
|
28960
|
+
LAUNDRY_WASHER: 115,
|
|
28961
|
+
ROBOTIC_VACUUM_CLEANER: 116,
|
|
28962
|
+
DISHWASHER: 117,
|
|
28963
|
+
COOK_SURFACE: 119,
|
|
28964
|
+
COOKTOP: 120,
|
|
28965
|
+
MICROWAVE_OVEN: 121,
|
|
28966
|
+
EXTRACTOR_HOOD: 122,
|
|
28967
|
+
OVEN: 123,
|
|
28968
|
+
LAUNDRY_DRYER: 124,
|
|
28969
|
+
// Energy
|
|
28970
|
+
EVSE: 1292,
|
|
28971
|
+
WATER_HEATER: 1295,
|
|
28972
|
+
SOLAR_POWER: 23,
|
|
28973
|
+
BATTERY_STORAGE: 24,
|
|
28974
|
+
// Network Infrastructure
|
|
28975
|
+
NETWORK_INFRASTRUCTURE_MANAGER: 144,
|
|
28976
|
+
THREAD_BORDER_ROUTER: 145,
|
|
28977
|
+
// Cameras
|
|
28978
|
+
CAMERA: 322,
|
|
28979
|
+
SNAPSHOT_CAMERA: 325,
|
|
28980
|
+
VIDEO_DOORBELL: 323,
|
|
28981
|
+
AUDIO_DOORBELL: 321,
|
|
28982
|
+
FLOODLIGHT_CAMERA: 324,
|
|
28983
|
+
DOORBELL: 328,
|
|
28984
|
+
CHIME: 326,
|
|
28985
|
+
CAMERA_CONTROLLER: 327,
|
|
28986
|
+
INTERCOM: 320
|
|
28987
|
+
};
|
|
28988
|
+
const LIVE_VIEW_DEVICE_TYPE_IDS = Object.freeze([DeviceTypes.CAMERA, DeviceTypes.VIDEO_DOORBELL, DeviceTypes.FLOODLIGHT_CAMERA]);
|
|
28989
|
+
const deviceTypeToIcon = {
|
|
28990
|
+
// Utility
|
|
28991
|
+
[DeviceTypes.ROOT_NODE]: mdiHome,
|
|
28992
|
+
[DeviceTypes.ELECTRICAL_SENSOR]: mdiMeterElectric,
|
|
28993
|
+
[DeviceTypes.DEVICE_ENERGY_MANAGEMENT]: mdiMeterElectric,
|
|
28994
|
+
// Lighting
|
|
28995
|
+
[DeviceTypes.ON_OFF_LIGHT]: mdiLightbulb,
|
|
28996
|
+
[DeviceTypes.DIMMABLE_LIGHT]: mdiLightbulb,
|
|
28997
|
+
[DeviceTypes.COLOR_TEMPERATURE_LIGHT]: mdiLightbulb,
|
|
28998
|
+
[DeviceTypes.EXTENDED_COLOR_LIGHT]: mdiLightbulb,
|
|
28999
|
+
// Smart Plugs/Outlets and Other Actuators
|
|
29000
|
+
[DeviceTypes.ON_OFF_PLUG]: mdiPowerPlug,
|
|
29001
|
+
[DeviceTypes.DIMMABLE_PLUG]: mdiPowerPlug,
|
|
29002
|
+
[DeviceTypes.MOUNTED_ON_OFF_CONTROL]: mdiPowerPlug,
|
|
29003
|
+
[DeviceTypes.MOUNTED_DIMMABLE_LOAD_CONTROL]: mdiPowerPlug,
|
|
29004
|
+
[DeviceTypes.PUMP]: mdiPump,
|
|
29005
|
+
[DeviceTypes.WATER_VALVE]: mdiWater,
|
|
29006
|
+
[DeviceTypes.IRRIGATION_SYSTEM]: mdiSprinkler,
|
|
29007
|
+
// Switches and Controls
|
|
29008
|
+
[DeviceTypes.ON_OFF_SWITCH]: mdiToggleSwitch,
|
|
29009
|
+
[DeviceTypes.DIMMER_SWITCH]: mdiToggleSwitch,
|
|
29010
|
+
[DeviceTypes.COLOR_DIMMER_SWITCH]: mdiToggleSwitch,
|
|
29011
|
+
[DeviceTypes.CONTROL_BRIDGE]: mdiRouter,
|
|
29012
|
+
[DeviceTypes.PUMP_CONTROLLER]: mdiPump,
|
|
29013
|
+
[DeviceTypes.GENERIC_SWITCH]: mdiToggleSwitch,
|
|
29014
|
+
// Sensors
|
|
29015
|
+
[DeviceTypes.CONTACT_SENSOR]: mdiDoorOpen,
|
|
29016
|
+
[DeviceTypes.LIGHT_SENSOR]: mdiBrightnessPercent,
|
|
29017
|
+
[DeviceTypes.OCCUPANCY_SENSOR]: mdiMotionSensor,
|
|
29018
|
+
[DeviceTypes.TEMPERATURE_SENSOR]: mdiThermometer,
|
|
29019
|
+
[DeviceTypes.PRESSURE_SENSOR]: mdiGauge,
|
|
29020
|
+
[DeviceTypes.FLOW_SENSOR]: mdiWater,
|
|
29021
|
+
[DeviceTypes.HUMIDITY_SENSOR]: mdiWaterPercent,
|
|
29022
|
+
[DeviceTypes.ON_OFF_SENSOR]: mdiMotionSensor,
|
|
29023
|
+
[DeviceTypes.SMOKE_CO_ALARM]: mdiSmokeDetector,
|
|
29024
|
+
[DeviceTypes.AIR_QUALITY_SENSOR]: mdiAirFilter,
|
|
29025
|
+
[DeviceTypes.WATER_FREEZE_DETECTOR]: mdiSnowflakeAlert,
|
|
29026
|
+
[DeviceTypes.WATER_LEAK_DETECTOR]: mdiWater,
|
|
29027
|
+
[DeviceTypes.RAIN_SENSOR]: mdiWeatherRainy,
|
|
29028
|
+
[DeviceTypes.SOIL_SENSOR]: mdiLeaf,
|
|
29029
|
+
// Closures
|
|
29030
|
+
[DeviceTypes.DOOR_LOCK]: mdiLock,
|
|
29031
|
+
[DeviceTypes.DOOR_LOCK_CONTROLLER]: mdiLock,
|
|
29032
|
+
[DeviceTypes.WINDOW_COVERING]: mdiBlindsHorizontal,
|
|
29033
|
+
[DeviceTypes.WINDOW_COVERING_CONTROLLER]: mdiBlindsHorizontal,
|
|
29034
|
+
[DeviceTypes.CLOSURE]: mdiDoorOpen,
|
|
29035
|
+
[DeviceTypes.CLOSURE_PANEL]: mdiDoorOpen,
|
|
29036
|
+
[DeviceTypes.CLOSURE_CONTROLLER]: mdiDoorOpen,
|
|
29037
|
+
// HVAC
|
|
29038
|
+
[DeviceTypes.THERMOSTAT]: mdiThermometer,
|
|
29039
|
+
[DeviceTypes.FAN]: mdiFan,
|
|
29040
|
+
[DeviceTypes.AIR_PURIFIER]: mdiAirPurifier,
|
|
29041
|
+
[DeviceTypes.THERMOSTAT_CONTROLLER]: mdiThermometer,
|
|
29042
|
+
[DeviceTypes.HEAT_PUMP]: mdiHeatPump,
|
|
29043
|
+
[DeviceTypes.ROOM_AIR_CONDITIONER]: mdiAirConditioner,
|
|
29044
|
+
// Media
|
|
29045
|
+
[DeviceTypes.SPEAKER]: mdiSpeaker,
|
|
29046
|
+
[DeviceTypes.CASTING_VIDEO_PLAYER]: mdiTelevision,
|
|
29047
|
+
[DeviceTypes.CONTENT_APP]: mdiTelevision,
|
|
29048
|
+
[DeviceTypes.BASIC_VIDEO_PLAYER]: mdiTelevision,
|
|
29049
|
+
[DeviceTypes.CASTING_VIDEO_CLIENT]: mdiCast,
|
|
29050
|
+
[DeviceTypes.VIDEO_REMOTE_CONTROL]: mdiRemote,
|
|
29051
|
+
// Generic
|
|
29052
|
+
[DeviceTypes.AGGREGATOR]: mdiRouter,
|
|
29053
|
+
// Appliances
|
|
29054
|
+
[DeviceTypes.REFRIGERATOR]: mdiFridge,
|
|
29055
|
+
[DeviceTypes.TEMPERATURE_CONTROLLED_CABINET]: mdiFridge,
|
|
29056
|
+
[DeviceTypes.LAUNDRY_WASHER]: mdiWashingMachine,
|
|
29057
|
+
[DeviceTypes.ROBOTIC_VACUUM_CLEANER]: mdiRobotVacuum,
|
|
29058
|
+
[DeviceTypes.DISHWASHER]: mdiDishwasher,
|
|
29059
|
+
[DeviceTypes.COOK_SURFACE]: mdiStove,
|
|
29060
|
+
[DeviceTypes.COOKTOP]: mdiStove,
|
|
29061
|
+
[DeviceTypes.MICROWAVE_OVEN]: mdiMicrowave,
|
|
29062
|
+
[DeviceTypes.EXTRACTOR_HOOD]: mdiFan,
|
|
29063
|
+
[DeviceTypes.OVEN]: mdiStove,
|
|
29064
|
+
[DeviceTypes.LAUNDRY_DRYER]: mdiTumbleDryer,
|
|
29065
|
+
// Energy
|
|
29066
|
+
[DeviceTypes.EVSE]: mdiEvStation,
|
|
29067
|
+
[DeviceTypes.WATER_HEATER]: mdiWaterBoiler,
|
|
29068
|
+
[DeviceTypes.SOLAR_POWER]: mdiSolarPower,
|
|
29069
|
+
[DeviceTypes.BATTERY_STORAGE]: mdiMeterElectric,
|
|
29070
|
+
// Network Infrastructure
|
|
29071
|
+
[DeviceTypes.NETWORK_INFRASTRUCTURE_MANAGER]: mdiRouter,
|
|
29072
|
+
[DeviceTypes.THREAD_BORDER_ROUTER]: mdiAccessPoint,
|
|
29073
|
+
// Cameras
|
|
29074
|
+
[DeviceTypes.CAMERA]: mdiCamera,
|
|
29075
|
+
[DeviceTypes.SNAPSHOT_CAMERA]: mdiCamera,
|
|
29076
|
+
[DeviceTypes.VIDEO_DOORBELL]: mdiDoorbellVideo,
|
|
29077
|
+
[DeviceTypes.AUDIO_DOORBELL]: mdiDoorbell,
|
|
29078
|
+
[DeviceTypes.FLOODLIGHT_CAMERA]: mdiCctv,
|
|
29079
|
+
[DeviceTypes.DOORBELL]: mdiDoorbell,
|
|
29080
|
+
[DeviceTypes.CHIME]: mdiBell,
|
|
29081
|
+
[DeviceTypes.CAMERA_CONTROLLER]: mdiCamera,
|
|
29082
|
+
[DeviceTypes.INTERCOM]: mdiDoorbell
|
|
29083
|
+
};
|
|
29084
|
+
const threadRoleToIcon = {
|
|
29085
|
+
5: mdiRouter,
|
|
29086
|
+
// Router
|
|
29087
|
+
6: mdiAccessPoint
|
|
29088
|
+
// Leader
|
|
29089
|
+
};
|
|
29090
|
+
const THREAD_ROLE_BADGES = {
|
|
29091
|
+
2: {
|
|
29092
|
+
iconPath: mdiSleep,
|
|
29093
|
+
colorVar: "--node-color-thread-enddevice",
|
|
29094
|
+
colorFallback: "#90a4ae"
|
|
29095
|
+
},
|
|
29096
|
+
// Sleepy End Device
|
|
29097
|
+
3: {
|
|
29098
|
+
iconPath: mdiCircleMedium,
|
|
29099
|
+
colorVar: "--node-color-thread-enddevice",
|
|
29100
|
+
colorFallback: "#90a4ae"
|
|
29101
|
+
},
|
|
29102
|
+
// End Device
|
|
29103
|
+
4: {
|
|
29104
|
+
iconPath: mdiCircleMedium,
|
|
29105
|
+
colorVar: "--node-color-thread-enddevice",
|
|
29106
|
+
colorFallback: "#90a4ae"
|
|
29107
|
+
},
|
|
29108
|
+
// REED
|
|
29109
|
+
5: {
|
|
29110
|
+
iconPath: mdiSwapHorizontal,
|
|
29111
|
+
colorVar: "--node-color-thread-router",
|
|
29112
|
+
colorFallback: "#1e88e5"
|
|
29113
|
+
},
|
|
29114
|
+
// Router
|
|
29115
|
+
6: {
|
|
29116
|
+
iconPath: mdiCrown,
|
|
29117
|
+
colorVar: "--node-color-thread-leader",
|
|
29118
|
+
colorFallback: "#f9a825"
|
|
29119
|
+
}
|
|
29120
|
+
// Leader
|
|
29121
|
+
};
|
|
29122
|
+
const UTILITY_TYPES = /* @__PURE__ */new Set([DeviceTypes.ROOT_NODE, DeviceTypes.POWER_SOURCE, DeviceTypes.OTA_REQUESTOR, DeviceTypes.OTA_PROVIDER, DeviceTypes.BRIDGED_NODE, DeviceTypes.ELECTRICAL_SENSOR, DeviceTypes.DEVICE_ENERGY_MANAGEMENT, DeviceTypes.SECONDARY_NETWORK_INTERFACE, DeviceTypes.JOINT_FABRIC_ADMINISTRATOR]);
|
|
29123
|
+
function extractDeviceType(entry) {
|
|
29124
|
+
return entry?.["0"] ?? entry?.deviceType;
|
|
29125
|
+
}
|
|
29126
|
+
function selectBestDeviceType(deviceTypeList) {
|
|
29127
|
+
if (!deviceTypeList?.length) return void 0;
|
|
29128
|
+
let firstFound;
|
|
29129
|
+
for (const entry of deviceTypeList) {
|
|
29130
|
+
const deviceType = extractDeviceType(entry);
|
|
29131
|
+
if (deviceType === void 0) continue;
|
|
29132
|
+
firstFound ?? (firstFound = deviceType);
|
|
29133
|
+
if (deviceTypeToIcon[deviceType] && !UTILITY_TYPES.has(deviceType)) {
|
|
29134
|
+
return deviceType;
|
|
29135
|
+
}
|
|
29136
|
+
}
|
|
29137
|
+
return firstFound;
|
|
29138
|
+
}
|
|
29139
|
+
function getPrimaryDeviceType(node) {
|
|
29140
|
+
const endpoints = [];
|
|
29141
|
+
for (const key of Object.keys(node.attributes)) {
|
|
29142
|
+
const match = key.match(/^(\d+)\/29\/0$/);
|
|
29143
|
+
if (match) {
|
|
29144
|
+
endpoints.push(Number(match[1]));
|
|
29145
|
+
}
|
|
29146
|
+
}
|
|
29147
|
+
endpoints.sort((a, b) => a === 0 ? 1 : b === 0 ? -1 : a - b);
|
|
29148
|
+
let firstFound;
|
|
29149
|
+
for (const ep of endpoints) {
|
|
29150
|
+
const deviceTypeList = node.attributes[`${ep}/29/0`];
|
|
29151
|
+
const deviceType = selectBestDeviceType(deviceTypeList);
|
|
29152
|
+
if (deviceType === void 0) continue;
|
|
29153
|
+
firstFound ?? (firstFound = deviceType);
|
|
29154
|
+
if (deviceTypeToIcon[deviceType] && !UTILITY_TYPES.has(deviceType)) {
|
|
29155
|
+
return deviceType;
|
|
29156
|
+
}
|
|
29157
|
+
}
|
|
29158
|
+
return firstFound;
|
|
29159
|
+
}
|
|
29160
|
+
function getEndpointIcon(node, endpoint) {
|
|
29161
|
+
const deviceTypeList = node.attributes[`${endpoint}/29/0`];
|
|
29162
|
+
const deviceType = selectBestDeviceType(deviceTypeList);
|
|
29163
|
+
if (deviceType !== void 0 && deviceTypeToIcon[deviceType]) {
|
|
29164
|
+
return deviceTypeToIcon[deviceType];
|
|
29165
|
+
}
|
|
29166
|
+
return mdiChip;
|
|
29167
|
+
}
|
|
29168
|
+
function getDeviceIcon(node, threadRole) {
|
|
29169
|
+
if (threadRole !== void 0 && threadRoleToIcon[threadRole]) {
|
|
29170
|
+
const deviceType2 = getPrimaryDeviceType(node);
|
|
29171
|
+
if (deviceType2 === DeviceTypes.ROOT_NODE || deviceType2 === DeviceTypes.AGGREGATOR || node.is_bridge) {
|
|
29172
|
+
return threadRoleToIcon[threadRole];
|
|
29173
|
+
}
|
|
29174
|
+
}
|
|
29175
|
+
if (node.is_bridge) {
|
|
29176
|
+
return mdiRouter;
|
|
29177
|
+
}
|
|
29178
|
+
const deviceType = getPrimaryDeviceType(node);
|
|
29179
|
+
if (deviceType !== void 0 && deviceTypeToIcon[deviceType]) {
|
|
29180
|
+
return deviceTypeToIcon[deviceType];
|
|
29181
|
+
}
|
|
29182
|
+
return mdiChip;
|
|
29183
|
+
}
|
|
29184
|
+
function createIconDataUrl(iconPath, color, size = 48, badge) {
|
|
29185
|
+
const badgeMarkup = badge !== void 0 ? `<circle cx="18" cy="6" r="4" fill="${badge.color}"/>
|
|
29186
|
+
<path d="${badge.iconPath}" fill="white" transform="translate(14.64,2.64) scale(0.28)"/>` : "";
|
|
29187
|
+
const svg = `
|
|
29188
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${size}" height="${size}">
|
|
29189
|
+
<circle cx="12" cy="12" r="11" fill="white" stroke="${color}" stroke-width="1"/>
|
|
29190
|
+
<path d="${iconPath}" fill="${color}" transform="scale(0.6) translate(8,8)"/>
|
|
29191
|
+
${badgeMarkup}
|
|
29192
|
+
</svg>
|
|
29193
|
+
`.trim();
|
|
29194
|
+
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;
|
|
29195
|
+
}
|
|
29196
|
+
function createNodeIconDataUrl(node, threadRole, isSelected = false, isOffline = false) {
|
|
29197
|
+
const iconPath = getDeviceIcon(node, threadRole);
|
|
29198
|
+
let color;
|
|
29199
|
+
if (isSelected) {
|
|
29200
|
+
color = isOffline ? getCssVar("--node-color-selected-offline", "#b71c1c") : getCssVar("--node-color-selected", "#1976d2");
|
|
29201
|
+
} else if (isOffline) {
|
|
29202
|
+
color = getCssVar("--node-color-offline", "#d32f2f");
|
|
29203
|
+
} else {
|
|
29204
|
+
color = getDefaultIconColor();
|
|
29205
|
+
}
|
|
29206
|
+
const roleBadge = threadRole !== void 0 ? THREAD_ROLE_BADGES[threadRole] : void 0;
|
|
29207
|
+
const badge = roleBadge !== void 0 ? {
|
|
29208
|
+
iconPath: roleBadge.iconPath,
|
|
29209
|
+
color: getCssVar(roleBadge.colorVar, roleBadge.colorFallback)
|
|
29210
|
+
} : void 0;
|
|
29211
|
+
return createIconDataUrl(iconPath, color, 48, badge);
|
|
29212
|
+
}
|
|
29213
|
+
function createUnknownDeviceIconDataUrl(isRouter = false, isSelected = false) {
|
|
29214
|
+
const iconPath = isRouter ? mdiAccessPoint : mdiHelp;
|
|
29215
|
+
const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : getCssVar("--node-color-unknown", "#ff9800");
|
|
29216
|
+
return createIconDataUrl(iconPath, color);
|
|
29217
|
+
}
|
|
29218
|
+
function createBorderRouterIconDataUrl(isSelected = false, isLeader = false, isPrimaryBbr = false) {
|
|
29219
|
+
const glyph = isLeader ? mdiCrown : mdiRouterWireless;
|
|
29220
|
+
const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : isLeader ? getCssVar("--node-color-thread-leader", "#f9a825") : getCssVar("--md-sys-color-primary", "#03a9f4");
|
|
29221
|
+
const badge = isPrimaryBbr ? {
|
|
29222
|
+
iconPath: mdiStar,
|
|
29223
|
+
color: getCssVar("--node-color-primary-bbr", "#00897b")
|
|
29224
|
+
} : void 0;
|
|
29225
|
+
return createIconDataUrl(glyph, color, 48, badge);
|
|
29226
|
+
}
|
|
29227
|
+
function createWiFiRouterIconDataUrl(isSelected = false) {
|
|
29228
|
+
const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : getCssVar("--node-color-unknown", "#ff9800");
|
|
29229
|
+
return createIconDataUrl(mdiWifi, color);
|
|
29230
|
+
}
|
|
29231
|
+
|
|
29232
|
+
/**
|
|
29233
|
+
* @license
|
|
29234
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
29235
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29236
|
+
*/
|
|
29237
|
+
function getEndpointDeviceTypes(node, endpoint) {
|
|
29238
|
+
const rawValues = node.attributes[`${endpoint}/29/0`];
|
|
29239
|
+
if (!rawValues) return new Array();
|
|
29240
|
+
return rawValues.map(rawValue => {
|
|
29241
|
+
const id = rawValue["0"] ?? rawValue["deviceType"];
|
|
29242
|
+
return device_types[id] ?? {
|
|
29243
|
+
id: id ?? -1,
|
|
29244
|
+
label: `Unknown Device Type (${id})`,
|
|
29245
|
+
clusters: []
|
|
29246
|
+
};
|
|
29247
|
+
});
|
|
29248
|
+
}
|
|
29249
|
+
|
|
28768
29250
|
var __defProp$l = Object.defineProperty;
|
|
28769
29251
|
var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
|
|
28770
29252
|
var __decorateClass$o = (decorators, target, key, kind) => {
|
|
@@ -28808,6 +29290,12 @@ let CameraOverlay = class extends i$4 {
|
|
|
28808
29290
|
this._selectedSnapshotResolution = null;
|
|
28809
29291
|
this._streamViewRef = e$1();
|
|
28810
29292
|
}
|
|
29293
|
+
get _liveViewSupported() {
|
|
29294
|
+
const node = this.client?.nodes[String(this.nodeId)];
|
|
29295
|
+
if (!node) return false;
|
|
29296
|
+
const deviceTypeIds = getEndpointDeviceTypes(node, this.endpointId).map(d => d.id);
|
|
29297
|
+
return LIVE_VIEW_DEVICE_TYPE_IDS.some(id => deviceTypeIds.includes(id));
|
|
29298
|
+
}
|
|
28811
29299
|
get _snapshotSupported() {
|
|
28812
29300
|
const node = this.client?.nodes[String(this.nodeId)];
|
|
28813
29301
|
const accepted = node?.attributes[`${this.endpointId}/1361/65529`];
|
|
@@ -28995,7 +29483,9 @@ let CameraOverlay = class extends i$4 {
|
|
|
28995
29483
|
};
|
|
28996
29484
|
}
|
|
28997
29485
|
render() {
|
|
28998
|
-
const
|
|
29486
|
+
const liveViewSupported = this._liveViewSupported;
|
|
29487
|
+
const idleOrError = this._state === "idle" || this._state === "error";
|
|
29488
|
+
const canStart = liveViewSupported && idleOrError;
|
|
28999
29489
|
return b`
|
|
29000
29490
|
<div class="backdrop" @click=${this._closing ? void 0 : this._close}></div>
|
|
29001
29491
|
<div class="frame" @click=${e => e.stopPropagation()}>
|
|
@@ -29016,6 +29506,7 @@ let CameraOverlay = class extends i$4 {
|
|
|
29016
29506
|
${n(this._streamViewRef)}
|
|
29017
29507
|
.nodeId=${this.nodeId}
|
|
29018
29508
|
.endpointId=${this.endpointId}
|
|
29509
|
+
.liveViewSupported=${liveViewSupported}
|
|
29019
29510
|
.resolution=${this._selectedResolution}
|
|
29020
29511
|
.watermarkEnabled=${this._watermarkEnabled}
|
|
29021
29512
|
.osdEnabled=${this._osdEnabled}
|
|
@@ -29059,7 +29550,7 @@ let CameraOverlay = class extends i$4 {
|
|
|
29059
29550
|
`)}
|
|
29060
29551
|
</md-outlined-select>
|
|
29061
29552
|
` : A}
|
|
29062
|
-
${
|
|
29553
|
+
${idleOrError && this._snapshotSupported && this._snapshotResolutions.length > 0 ? b`
|
|
29063
29554
|
<md-outlined-select
|
|
29064
29555
|
label="Snapshot"
|
|
29065
29556
|
.value=${this._selectedSnapshotResolution ? `${this._selectedSnapshotResolution.width}x${this._selectedSnapshotResolution.height}` : ""}
|
|
@@ -29273,376 +29764,6 @@ __decorateClass$o([r$3()], CameraOverlay.prototype, "_snapshotResolutions", 2);
|
|
|
29273
29764
|
__decorateClass$o([r$3()], CameraOverlay.prototype, "_selectedSnapshotResolution", 2);
|
|
29274
29765
|
CameraOverlay = __decorateClass$o([t$1("camera-overlay")], CameraOverlay);
|
|
29275
29766
|
|
|
29276
|
-
/**
|
|
29277
|
-
* @license
|
|
29278
|
-
* Copyright 2025-2026 Open Home Foundation
|
|
29279
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
29280
|
-
*/
|
|
29281
|
-
function getDefaultIconColor() {
|
|
29282
|
-
return getCssVar("--node-color-default", "#666666");
|
|
29283
|
-
}
|
|
29284
|
-
const DeviceTypes = {
|
|
29285
|
-
// Utility (per Matter spec - deprioritized for icon selection)
|
|
29286
|
-
ROOT_NODE: 22,
|
|
29287
|
-
POWER_SOURCE: 17,
|
|
29288
|
-
OTA_REQUESTOR: 18,
|
|
29289
|
-
OTA_PROVIDER: 20,
|
|
29290
|
-
BRIDGED_NODE: 19,
|
|
29291
|
-
ELECTRICAL_SENSOR: 1296,
|
|
29292
|
-
DEVICE_ENERGY_MANAGEMENT: 1293,
|
|
29293
|
-
SECONDARY_NETWORK_INTERFACE: 25,
|
|
29294
|
-
JOINT_FABRIC_ADMINISTRATOR: 304,
|
|
29295
|
-
// Lighting
|
|
29296
|
-
ON_OFF_LIGHT: 256,
|
|
29297
|
-
DIMMABLE_LIGHT: 257,
|
|
29298
|
-
COLOR_TEMPERATURE_LIGHT: 268,
|
|
29299
|
-
EXTENDED_COLOR_LIGHT: 269,
|
|
29300
|
-
// Smart Plugs/Outlets and Other Actuators
|
|
29301
|
-
ON_OFF_PLUG: 266,
|
|
29302
|
-
DIMMABLE_PLUG: 267,
|
|
29303
|
-
MOUNTED_ON_OFF_CONTROL: 271,
|
|
29304
|
-
MOUNTED_DIMMABLE_LOAD_CONTROL: 272,
|
|
29305
|
-
PUMP: 771,
|
|
29306
|
-
WATER_VALVE: 66,
|
|
29307
|
-
IRRIGATION_SYSTEM: 64,
|
|
29308
|
-
// Switches and Controls
|
|
29309
|
-
ON_OFF_SWITCH: 259,
|
|
29310
|
-
DIMMER_SWITCH: 260,
|
|
29311
|
-
COLOR_DIMMER_SWITCH: 261,
|
|
29312
|
-
CONTROL_BRIDGE: 2112,
|
|
29313
|
-
PUMP_CONTROLLER: 772,
|
|
29314
|
-
GENERIC_SWITCH: 15,
|
|
29315
|
-
// Sensors
|
|
29316
|
-
CONTACT_SENSOR: 21,
|
|
29317
|
-
LIGHT_SENSOR: 262,
|
|
29318
|
-
OCCUPANCY_SENSOR: 263,
|
|
29319
|
-
TEMPERATURE_SENSOR: 770,
|
|
29320
|
-
PRESSURE_SENSOR: 773,
|
|
29321
|
-
FLOW_SENSOR: 774,
|
|
29322
|
-
HUMIDITY_SENSOR: 775,
|
|
29323
|
-
ON_OFF_SENSOR: 2128,
|
|
29324
|
-
SMOKE_CO_ALARM: 118,
|
|
29325
|
-
AIR_QUALITY_SENSOR: 44,
|
|
29326
|
-
WATER_FREEZE_DETECTOR: 65,
|
|
29327
|
-
WATER_LEAK_DETECTOR: 67,
|
|
29328
|
-
RAIN_SENSOR: 68,
|
|
29329
|
-
SOIL_SENSOR: 69,
|
|
29330
|
-
// Closures
|
|
29331
|
-
DOOR_LOCK: 10,
|
|
29332
|
-
DOOR_LOCK_CONTROLLER: 11,
|
|
29333
|
-
WINDOW_COVERING: 514,
|
|
29334
|
-
WINDOW_COVERING_CONTROLLER: 515,
|
|
29335
|
-
CLOSURE: 560,
|
|
29336
|
-
CLOSURE_PANEL: 561,
|
|
29337
|
-
CLOSURE_CONTROLLER: 574,
|
|
29338
|
-
// HVAC
|
|
29339
|
-
THERMOSTAT: 769,
|
|
29340
|
-
FAN: 43,
|
|
29341
|
-
AIR_PURIFIER: 45,
|
|
29342
|
-
THERMOSTAT_CONTROLLER: 778,
|
|
29343
|
-
HEAT_PUMP: 777,
|
|
29344
|
-
ROOM_AIR_CONDITIONER: 114,
|
|
29345
|
-
// Media
|
|
29346
|
-
SPEAKER: 34,
|
|
29347
|
-
CASTING_VIDEO_PLAYER: 35,
|
|
29348
|
-
CONTENT_APP: 36,
|
|
29349
|
-
BASIC_VIDEO_PLAYER: 40,
|
|
29350
|
-
CASTING_VIDEO_CLIENT: 41,
|
|
29351
|
-
VIDEO_REMOTE_CONTROL: 42,
|
|
29352
|
-
// Generic
|
|
29353
|
-
AGGREGATOR: 14,
|
|
29354
|
-
// Appliances
|
|
29355
|
-
REFRIGERATOR: 112,
|
|
29356
|
-
TEMPERATURE_CONTROLLED_CABINET: 113,
|
|
29357
|
-
LAUNDRY_WASHER: 115,
|
|
29358
|
-
ROBOTIC_VACUUM_CLEANER: 116,
|
|
29359
|
-
DISHWASHER: 117,
|
|
29360
|
-
COOK_SURFACE: 119,
|
|
29361
|
-
COOKTOP: 120,
|
|
29362
|
-
MICROWAVE_OVEN: 121,
|
|
29363
|
-
EXTRACTOR_HOOD: 122,
|
|
29364
|
-
OVEN: 123,
|
|
29365
|
-
LAUNDRY_DRYER: 124,
|
|
29366
|
-
// Energy
|
|
29367
|
-
EVSE: 1292,
|
|
29368
|
-
WATER_HEATER: 1295,
|
|
29369
|
-
SOLAR_POWER: 23,
|
|
29370
|
-
BATTERY_STORAGE: 24,
|
|
29371
|
-
// Network Infrastructure
|
|
29372
|
-
NETWORK_INFRASTRUCTURE_MANAGER: 144,
|
|
29373
|
-
THREAD_BORDER_ROUTER: 145,
|
|
29374
|
-
// Cameras
|
|
29375
|
-
CAMERA: 322,
|
|
29376
|
-
SNAPSHOT_CAMERA: 325,
|
|
29377
|
-
VIDEO_DOORBELL: 323,
|
|
29378
|
-
AUDIO_DOORBELL: 321,
|
|
29379
|
-
FLOODLIGHT_CAMERA: 324,
|
|
29380
|
-
DOORBELL: 328,
|
|
29381
|
-
CHIME: 326,
|
|
29382
|
-
CAMERA_CONTROLLER: 327,
|
|
29383
|
-
INTERCOM: 320
|
|
29384
|
-
};
|
|
29385
|
-
const deviceTypeToIcon = {
|
|
29386
|
-
// Utility
|
|
29387
|
-
[DeviceTypes.ROOT_NODE]: mdiHome,
|
|
29388
|
-
[DeviceTypes.ELECTRICAL_SENSOR]: mdiMeterElectric,
|
|
29389
|
-
[DeviceTypes.DEVICE_ENERGY_MANAGEMENT]: mdiMeterElectric,
|
|
29390
|
-
// Lighting
|
|
29391
|
-
[DeviceTypes.ON_OFF_LIGHT]: mdiLightbulb,
|
|
29392
|
-
[DeviceTypes.DIMMABLE_LIGHT]: mdiLightbulb,
|
|
29393
|
-
[DeviceTypes.COLOR_TEMPERATURE_LIGHT]: mdiLightbulb,
|
|
29394
|
-
[DeviceTypes.EXTENDED_COLOR_LIGHT]: mdiLightbulb,
|
|
29395
|
-
// Smart Plugs/Outlets and Other Actuators
|
|
29396
|
-
[DeviceTypes.ON_OFF_PLUG]: mdiPowerPlug,
|
|
29397
|
-
[DeviceTypes.DIMMABLE_PLUG]: mdiPowerPlug,
|
|
29398
|
-
[DeviceTypes.MOUNTED_ON_OFF_CONTROL]: mdiPowerPlug,
|
|
29399
|
-
[DeviceTypes.MOUNTED_DIMMABLE_LOAD_CONTROL]: mdiPowerPlug,
|
|
29400
|
-
[DeviceTypes.PUMP]: mdiPump,
|
|
29401
|
-
[DeviceTypes.WATER_VALVE]: mdiWater,
|
|
29402
|
-
[DeviceTypes.IRRIGATION_SYSTEM]: mdiSprinkler,
|
|
29403
|
-
// Switches and Controls
|
|
29404
|
-
[DeviceTypes.ON_OFF_SWITCH]: mdiToggleSwitch,
|
|
29405
|
-
[DeviceTypes.DIMMER_SWITCH]: mdiToggleSwitch,
|
|
29406
|
-
[DeviceTypes.COLOR_DIMMER_SWITCH]: mdiToggleSwitch,
|
|
29407
|
-
[DeviceTypes.CONTROL_BRIDGE]: mdiRouter,
|
|
29408
|
-
[DeviceTypes.PUMP_CONTROLLER]: mdiPump,
|
|
29409
|
-
[DeviceTypes.GENERIC_SWITCH]: mdiToggleSwitch,
|
|
29410
|
-
// Sensors
|
|
29411
|
-
[DeviceTypes.CONTACT_SENSOR]: mdiDoorOpen,
|
|
29412
|
-
[DeviceTypes.LIGHT_SENSOR]: mdiBrightnessPercent,
|
|
29413
|
-
[DeviceTypes.OCCUPANCY_SENSOR]: mdiMotionSensor,
|
|
29414
|
-
[DeviceTypes.TEMPERATURE_SENSOR]: mdiThermometer,
|
|
29415
|
-
[DeviceTypes.PRESSURE_SENSOR]: mdiGauge,
|
|
29416
|
-
[DeviceTypes.FLOW_SENSOR]: mdiWater,
|
|
29417
|
-
[DeviceTypes.HUMIDITY_SENSOR]: mdiWaterPercent,
|
|
29418
|
-
[DeviceTypes.ON_OFF_SENSOR]: mdiMotionSensor,
|
|
29419
|
-
[DeviceTypes.SMOKE_CO_ALARM]: mdiSmokeDetector,
|
|
29420
|
-
[DeviceTypes.AIR_QUALITY_SENSOR]: mdiAirFilter,
|
|
29421
|
-
[DeviceTypes.WATER_FREEZE_DETECTOR]: mdiSnowflakeAlert,
|
|
29422
|
-
[DeviceTypes.WATER_LEAK_DETECTOR]: mdiWater,
|
|
29423
|
-
[DeviceTypes.RAIN_SENSOR]: mdiWeatherRainy,
|
|
29424
|
-
[DeviceTypes.SOIL_SENSOR]: mdiLeaf,
|
|
29425
|
-
// Closures
|
|
29426
|
-
[DeviceTypes.DOOR_LOCK]: mdiLock,
|
|
29427
|
-
[DeviceTypes.DOOR_LOCK_CONTROLLER]: mdiLock,
|
|
29428
|
-
[DeviceTypes.WINDOW_COVERING]: mdiBlindsHorizontal,
|
|
29429
|
-
[DeviceTypes.WINDOW_COVERING_CONTROLLER]: mdiBlindsHorizontal,
|
|
29430
|
-
[DeviceTypes.CLOSURE]: mdiDoorOpen,
|
|
29431
|
-
[DeviceTypes.CLOSURE_PANEL]: mdiDoorOpen,
|
|
29432
|
-
[DeviceTypes.CLOSURE_CONTROLLER]: mdiDoorOpen,
|
|
29433
|
-
// HVAC
|
|
29434
|
-
[DeviceTypes.THERMOSTAT]: mdiThermometer,
|
|
29435
|
-
[DeviceTypes.FAN]: mdiFan,
|
|
29436
|
-
[DeviceTypes.AIR_PURIFIER]: mdiAirPurifier,
|
|
29437
|
-
[DeviceTypes.THERMOSTAT_CONTROLLER]: mdiThermometer,
|
|
29438
|
-
[DeviceTypes.HEAT_PUMP]: mdiHeatPump,
|
|
29439
|
-
[DeviceTypes.ROOM_AIR_CONDITIONER]: mdiAirConditioner,
|
|
29440
|
-
// Media
|
|
29441
|
-
[DeviceTypes.SPEAKER]: mdiSpeaker,
|
|
29442
|
-
[DeviceTypes.CASTING_VIDEO_PLAYER]: mdiTelevision,
|
|
29443
|
-
[DeviceTypes.CONTENT_APP]: mdiTelevision,
|
|
29444
|
-
[DeviceTypes.BASIC_VIDEO_PLAYER]: mdiTelevision,
|
|
29445
|
-
[DeviceTypes.CASTING_VIDEO_CLIENT]: mdiCast,
|
|
29446
|
-
[DeviceTypes.VIDEO_REMOTE_CONTROL]: mdiRemote,
|
|
29447
|
-
// Generic
|
|
29448
|
-
[DeviceTypes.AGGREGATOR]: mdiRouter,
|
|
29449
|
-
// Appliances
|
|
29450
|
-
[DeviceTypes.REFRIGERATOR]: mdiFridge,
|
|
29451
|
-
[DeviceTypes.TEMPERATURE_CONTROLLED_CABINET]: mdiFridge,
|
|
29452
|
-
[DeviceTypes.LAUNDRY_WASHER]: mdiWashingMachine,
|
|
29453
|
-
[DeviceTypes.ROBOTIC_VACUUM_CLEANER]: mdiRobotVacuum,
|
|
29454
|
-
[DeviceTypes.DISHWASHER]: mdiDishwasher,
|
|
29455
|
-
[DeviceTypes.COOK_SURFACE]: mdiStove,
|
|
29456
|
-
[DeviceTypes.COOKTOP]: mdiStove,
|
|
29457
|
-
[DeviceTypes.MICROWAVE_OVEN]: mdiMicrowave,
|
|
29458
|
-
[DeviceTypes.EXTRACTOR_HOOD]: mdiFan,
|
|
29459
|
-
[DeviceTypes.OVEN]: mdiStove,
|
|
29460
|
-
[DeviceTypes.LAUNDRY_DRYER]: mdiTumbleDryer,
|
|
29461
|
-
// Energy
|
|
29462
|
-
[DeviceTypes.EVSE]: mdiEvStation,
|
|
29463
|
-
[DeviceTypes.WATER_HEATER]: mdiWaterBoiler,
|
|
29464
|
-
[DeviceTypes.SOLAR_POWER]: mdiSolarPower,
|
|
29465
|
-
[DeviceTypes.BATTERY_STORAGE]: mdiMeterElectric,
|
|
29466
|
-
// Network Infrastructure
|
|
29467
|
-
[DeviceTypes.NETWORK_INFRASTRUCTURE_MANAGER]: mdiRouter,
|
|
29468
|
-
[DeviceTypes.THREAD_BORDER_ROUTER]: mdiAccessPoint,
|
|
29469
|
-
// Cameras
|
|
29470
|
-
[DeviceTypes.CAMERA]: mdiCamera,
|
|
29471
|
-
[DeviceTypes.SNAPSHOT_CAMERA]: mdiCamera,
|
|
29472
|
-
[DeviceTypes.VIDEO_DOORBELL]: mdiDoorbellVideo,
|
|
29473
|
-
[DeviceTypes.AUDIO_DOORBELL]: mdiDoorbell,
|
|
29474
|
-
[DeviceTypes.FLOODLIGHT_CAMERA]: mdiCctv,
|
|
29475
|
-
[DeviceTypes.DOORBELL]: mdiDoorbell,
|
|
29476
|
-
[DeviceTypes.CHIME]: mdiBell,
|
|
29477
|
-
[DeviceTypes.CAMERA_CONTROLLER]: mdiCamera,
|
|
29478
|
-
[DeviceTypes.INTERCOM]: mdiDoorbell
|
|
29479
|
-
};
|
|
29480
|
-
const threadRoleToIcon = {
|
|
29481
|
-
5: mdiRouter,
|
|
29482
|
-
// Router
|
|
29483
|
-
6: mdiAccessPoint
|
|
29484
|
-
// Leader
|
|
29485
|
-
};
|
|
29486
|
-
const THREAD_ROLE_BADGES = {
|
|
29487
|
-
2: {
|
|
29488
|
-
iconPath: mdiSleep,
|
|
29489
|
-
colorVar: "--node-color-thread-enddevice",
|
|
29490
|
-
colorFallback: "#90a4ae"
|
|
29491
|
-
},
|
|
29492
|
-
// Sleepy End Device
|
|
29493
|
-
3: {
|
|
29494
|
-
iconPath: mdiCircleMedium,
|
|
29495
|
-
colorVar: "--node-color-thread-enddevice",
|
|
29496
|
-
colorFallback: "#90a4ae"
|
|
29497
|
-
},
|
|
29498
|
-
// End Device
|
|
29499
|
-
4: {
|
|
29500
|
-
iconPath: mdiCircleMedium,
|
|
29501
|
-
colorVar: "--node-color-thread-enddevice",
|
|
29502
|
-
colorFallback: "#90a4ae"
|
|
29503
|
-
},
|
|
29504
|
-
// REED
|
|
29505
|
-
5: {
|
|
29506
|
-
iconPath: mdiSwapHorizontal,
|
|
29507
|
-
colorVar: "--node-color-thread-router",
|
|
29508
|
-
colorFallback: "#1e88e5"
|
|
29509
|
-
},
|
|
29510
|
-
// Router
|
|
29511
|
-
6: {
|
|
29512
|
-
iconPath: mdiCrown,
|
|
29513
|
-
colorVar: "--node-color-thread-leader",
|
|
29514
|
-
colorFallback: "#f9a825"
|
|
29515
|
-
}
|
|
29516
|
-
// Leader
|
|
29517
|
-
};
|
|
29518
|
-
const UTILITY_TYPES = /* @__PURE__ */new Set([DeviceTypes.ROOT_NODE, DeviceTypes.POWER_SOURCE, DeviceTypes.OTA_REQUESTOR, DeviceTypes.OTA_PROVIDER, DeviceTypes.BRIDGED_NODE, DeviceTypes.ELECTRICAL_SENSOR, DeviceTypes.DEVICE_ENERGY_MANAGEMENT, DeviceTypes.SECONDARY_NETWORK_INTERFACE, DeviceTypes.JOINT_FABRIC_ADMINISTRATOR]);
|
|
29519
|
-
function extractDeviceType(entry) {
|
|
29520
|
-
return entry?.["0"] ?? entry?.deviceType;
|
|
29521
|
-
}
|
|
29522
|
-
function selectBestDeviceType(deviceTypeList) {
|
|
29523
|
-
if (!deviceTypeList?.length) return void 0;
|
|
29524
|
-
let firstFound;
|
|
29525
|
-
for (const entry of deviceTypeList) {
|
|
29526
|
-
const deviceType = extractDeviceType(entry);
|
|
29527
|
-
if (deviceType === void 0) continue;
|
|
29528
|
-
firstFound ?? (firstFound = deviceType);
|
|
29529
|
-
if (deviceTypeToIcon[deviceType] && !UTILITY_TYPES.has(deviceType)) {
|
|
29530
|
-
return deviceType;
|
|
29531
|
-
}
|
|
29532
|
-
}
|
|
29533
|
-
return firstFound;
|
|
29534
|
-
}
|
|
29535
|
-
function getPrimaryDeviceType(node) {
|
|
29536
|
-
const endpoints = [];
|
|
29537
|
-
for (const key of Object.keys(node.attributes)) {
|
|
29538
|
-
const match = key.match(/^(\d+)\/29\/0$/);
|
|
29539
|
-
if (match) {
|
|
29540
|
-
endpoints.push(Number(match[1]));
|
|
29541
|
-
}
|
|
29542
|
-
}
|
|
29543
|
-
endpoints.sort((a, b) => a === 0 ? 1 : b === 0 ? -1 : a - b);
|
|
29544
|
-
let firstFound;
|
|
29545
|
-
for (const ep of endpoints) {
|
|
29546
|
-
const deviceTypeList = node.attributes[`${ep}/29/0`];
|
|
29547
|
-
const deviceType = selectBestDeviceType(deviceTypeList);
|
|
29548
|
-
if (deviceType === void 0) continue;
|
|
29549
|
-
firstFound ?? (firstFound = deviceType);
|
|
29550
|
-
if (deviceTypeToIcon[deviceType] && !UTILITY_TYPES.has(deviceType)) {
|
|
29551
|
-
return deviceType;
|
|
29552
|
-
}
|
|
29553
|
-
}
|
|
29554
|
-
return firstFound;
|
|
29555
|
-
}
|
|
29556
|
-
function getEndpointIcon(node, endpoint) {
|
|
29557
|
-
const deviceTypeList = node.attributes[`${endpoint}/29/0`];
|
|
29558
|
-
const deviceType = selectBestDeviceType(deviceTypeList);
|
|
29559
|
-
if (deviceType !== void 0 && deviceTypeToIcon[deviceType]) {
|
|
29560
|
-
return deviceTypeToIcon[deviceType];
|
|
29561
|
-
}
|
|
29562
|
-
return mdiChip;
|
|
29563
|
-
}
|
|
29564
|
-
function getDeviceIcon(node, threadRole) {
|
|
29565
|
-
if (threadRole !== void 0 && threadRoleToIcon[threadRole]) {
|
|
29566
|
-
const deviceType2 = getPrimaryDeviceType(node);
|
|
29567
|
-
if (deviceType2 === DeviceTypes.ROOT_NODE || deviceType2 === DeviceTypes.AGGREGATOR || node.is_bridge) {
|
|
29568
|
-
return threadRoleToIcon[threadRole];
|
|
29569
|
-
}
|
|
29570
|
-
}
|
|
29571
|
-
if (node.is_bridge) {
|
|
29572
|
-
return mdiRouter;
|
|
29573
|
-
}
|
|
29574
|
-
const deviceType = getPrimaryDeviceType(node);
|
|
29575
|
-
if (deviceType !== void 0 && deviceTypeToIcon[deviceType]) {
|
|
29576
|
-
return deviceTypeToIcon[deviceType];
|
|
29577
|
-
}
|
|
29578
|
-
return mdiChip;
|
|
29579
|
-
}
|
|
29580
|
-
function createIconDataUrl(iconPath, color, size = 48, badge) {
|
|
29581
|
-
const badgeMarkup = badge !== void 0 ? `<circle cx="18" cy="6" r="4" fill="${badge.color}"/>
|
|
29582
|
-
<path d="${badge.iconPath}" fill="white" transform="translate(14.64,2.64) scale(0.28)"/>` : "";
|
|
29583
|
-
const svg = `
|
|
29584
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="${size}" height="${size}">
|
|
29585
|
-
<circle cx="12" cy="12" r="11" fill="white" stroke="${color}" stroke-width="1"/>
|
|
29586
|
-
<path d="${iconPath}" fill="${color}" transform="scale(0.6) translate(8,8)"/>
|
|
29587
|
-
${badgeMarkup}
|
|
29588
|
-
</svg>
|
|
29589
|
-
`.trim();
|
|
29590
|
-
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;
|
|
29591
|
-
}
|
|
29592
|
-
function createNodeIconDataUrl(node, threadRole, isSelected = false, isOffline = false) {
|
|
29593
|
-
const iconPath = getDeviceIcon(node, threadRole);
|
|
29594
|
-
let color;
|
|
29595
|
-
if (isSelected) {
|
|
29596
|
-
color = isOffline ? getCssVar("--node-color-selected-offline", "#b71c1c") : getCssVar("--node-color-selected", "#1976d2");
|
|
29597
|
-
} else if (isOffline) {
|
|
29598
|
-
color = getCssVar("--node-color-offline", "#d32f2f");
|
|
29599
|
-
} else {
|
|
29600
|
-
color = getDefaultIconColor();
|
|
29601
|
-
}
|
|
29602
|
-
const roleBadge = threadRole !== void 0 ? THREAD_ROLE_BADGES[threadRole] : void 0;
|
|
29603
|
-
const badge = roleBadge !== void 0 ? {
|
|
29604
|
-
iconPath: roleBadge.iconPath,
|
|
29605
|
-
color: getCssVar(roleBadge.colorVar, roleBadge.colorFallback)
|
|
29606
|
-
} : void 0;
|
|
29607
|
-
return createIconDataUrl(iconPath, color, 48, badge);
|
|
29608
|
-
}
|
|
29609
|
-
function createUnknownDeviceIconDataUrl(isRouter = false, isSelected = false) {
|
|
29610
|
-
const iconPath = isRouter ? mdiAccessPoint : mdiHelp;
|
|
29611
|
-
const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : getCssVar("--node-color-unknown", "#ff9800");
|
|
29612
|
-
return createIconDataUrl(iconPath, color);
|
|
29613
|
-
}
|
|
29614
|
-
function createBorderRouterIconDataUrl(isSelected = false, isLeader = false, isPrimaryBbr = false) {
|
|
29615
|
-
const glyph = isLeader ? mdiCrown : mdiRouterWireless;
|
|
29616
|
-
const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : isLeader ? getCssVar("--node-color-thread-leader", "#f9a825") : getCssVar("--md-sys-color-primary", "#03a9f4");
|
|
29617
|
-
const badge = isPrimaryBbr ? {
|
|
29618
|
-
iconPath: mdiStar,
|
|
29619
|
-
color: getCssVar("--node-color-primary-bbr", "#00897b")
|
|
29620
|
-
} : void 0;
|
|
29621
|
-
return createIconDataUrl(glyph, color, 48, badge);
|
|
29622
|
-
}
|
|
29623
|
-
function createWiFiRouterIconDataUrl(isSelected = false) {
|
|
29624
|
-
const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : getCssVar("--node-color-unknown", "#ff9800");
|
|
29625
|
-
return createIconDataUrl(mdiWifi, color);
|
|
29626
|
-
}
|
|
29627
|
-
|
|
29628
|
-
/**
|
|
29629
|
-
* @license
|
|
29630
|
-
* Copyright 2025-2026 Open Home Foundation
|
|
29631
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
29632
|
-
*/
|
|
29633
|
-
function getEndpointDeviceTypes(node, endpoint) {
|
|
29634
|
-
const rawValues = node.attributes[`${endpoint}/29/0`];
|
|
29635
|
-
if (!rawValues) return new Array();
|
|
29636
|
-
return rawValues.map(rawValue => {
|
|
29637
|
-
const id = rawValue["0"] ?? rawValue["deviceType"];
|
|
29638
|
-
return device_types[id] ?? {
|
|
29639
|
-
id: id ?? -1,
|
|
29640
|
-
label: `Unknown Device Type (${id})`,
|
|
29641
|
-
clusters: []
|
|
29642
|
-
};
|
|
29643
|
-
});
|
|
29644
|
-
}
|
|
29645
|
-
|
|
29646
29767
|
var _staticBlock$3, _staticBlock2;
|
|
29647
29768
|
/**
|
|
29648
29769
|
* @license
|
|
@@ -31670,7 +31791,7 @@ var __decorateClass$n = (decorators, target, key, kind) => {
|
|
|
31670
31791
|
if (kind && result) __defProp$k(target, key, result);
|
|
31671
31792
|
return result;
|
|
31672
31793
|
};
|
|
31673
|
-
const CAMERA_DEVICE_TYPE_IDS = [
|
|
31794
|
+
const CAMERA_DEVICE_TYPE_IDS = [...LIVE_VIEW_DEVICE_TYPE_IDS, DeviceTypes.SNAPSHOT_CAMERA];
|
|
31674
31795
|
const UPDATE_STATE_LABELS = {
|
|
31675
31796
|
1: "Idle",
|
|
31676
31797
|
2: "Querying",
|
|
@@ -31708,6 +31829,7 @@ let NodeDetails = class extends i$4 {
|
|
|
31708
31829
|
if (!this.node) return b``;
|
|
31709
31830
|
const deviceTypeIds = getEndpointDeviceTypes(this.node, this.endpoint).map(d => d.id);
|
|
31710
31831
|
const isCamera = CAMERA_DEVICE_TYPE_IDS.some(id => deviceTypeIds.includes(id));
|
|
31832
|
+
const isLiveViewCamera = LIVE_VIEW_DEVICE_TYPE_IDS.some(id => deviceTypeIds.includes(id));
|
|
31711
31833
|
const badge = icdBadge(this.node.attributes, this.node.available);
|
|
31712
31834
|
return b`
|
|
31713
31835
|
<md-list>
|
|
@@ -31770,8 +31892,11 @@ let NodeDetails = class extends i$4 {
|
|
|
31770
31892
|
@click=${() => this._openCameraOverlay()}
|
|
31771
31893
|
?disabled=${!this.node.available}
|
|
31772
31894
|
>
|
|
31773
|
-
Live View
|
|
31774
|
-
<ha-svg-icon
|
|
31895
|
+
${isLiveViewCamera ? "Live View" : "Snapshot"}
|
|
31896
|
+
<ha-svg-icon
|
|
31897
|
+
slot="icon"
|
|
31898
|
+
.path=${isLiveViewCamera ? mdiVideo : mdiCamera}
|
|
31899
|
+
></ha-svg-icon>
|
|
31775
31900
|
</md-outlined-button>
|
|
31776
31901
|
` : A}
|
|
31777
31902
|
<md-outlined-button @click=${handleAsync(() => this._openCommissioningWindow())}
|
|
@@ -32263,7 +32388,7 @@ async function downgradeToOperate(client, nodeId, keys) {
|
|
|
32263
32388
|
* SPDX-License-Identifier: Apache-2.0
|
|
32264
32389
|
*/
|
|
32265
32390
|
const showNodeAclAddDialog = async node => {
|
|
32266
|
-
await import('./node-acl-add-dialog-
|
|
32391
|
+
await import('./node-acl-add-dialog-BA3u0qYj.js');
|
|
32267
32392
|
const dialog = document.createElement("node-acl-add-dialog");
|
|
32268
32393
|
dialog.node = node;
|
|
32269
32394
|
document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
|
|
@@ -33329,12 +33454,13 @@ registerClusterCommands(AVSUM_CLUSTER_ID, "avsum-cluster-commands");
|
|
|
33329
33454
|
|
|
33330
33455
|
/**
|
|
33331
33456
|
* @license
|
|
33332
|
-
* Copyright
|
|
33457
|
+
* Copyright 2026 Google LLC
|
|
33333
33458
|
* SPDX-License-Identifier: Apache-2.0
|
|
33334
33459
|
*/
|
|
33335
33460
|
// Generated stylesheet for ./textfield/internal/outlined-styles.css.
|
|
33336
33461
|
const styles$6 = i$7`:host{--_caret-color: var(--md-outlined-text-field-caret-color, var(--md-sys-color-primary, #6750a4));--_disabled-input-text-color: var(--md-outlined-text-field-disabled-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-input-text-opacity: var(--md-outlined-text-field-disabled-input-text-opacity, 0.38);--_disabled-label-text-color: var(--md-outlined-text-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-text-field-disabled-label-text-opacity, 0.38);--_disabled-leading-icon-color: var(--md-outlined-text-field-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-outlined-text-field-disabled-leading-icon-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-text-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-text-field-disabled-outline-opacity, 0.12);--_disabled-outline-width: var(--md-outlined-text-field-disabled-outline-width, 1px);--_disabled-supporting-text-color: var(--md-outlined-text-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-outlined-text-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-icon-color: var(--md-outlined-text-field-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-outlined-text-field-disabled-trailing-icon-opacity, 0.38);--_error-focus-caret-color: var(--md-outlined-text-field-error-focus-caret-color, var(--md-sys-color-error, #b3261e));--_error-focus-input-text-color: var(--md-outlined-text-field-error-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-outlined-text-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-icon-color: var(--md-outlined-text-field-error-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-outline-color: var(--md-outlined-text-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_error-focus-supporting-text-color: var(--md-outlined-text-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-icon-color: var(--md-outlined-text-field-error-focus-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_error-hover-input-text-color: var(--md-outlined-text-field-error-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-outlined-text-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-icon-color: var(--md-outlined-text-field-error-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-outline-color: var(--md-outlined-text-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-supporting-text-color: var(--md-outlined-text-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-icon-color: var(--md-outlined-text-field-error-hover-trailing-icon-color, var(--md-sys-color-on-error-container, #410e0b));--_error-input-text-color: var(--md-outlined-text-field-error-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-label-text-color: var(--md-outlined-text-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-icon-color: var(--md-outlined-text-field-error-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-outline-color: var(--md-outlined-text-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_error-supporting-text-color: var(--md-outlined-text-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-icon-color: var(--md-outlined-text-field-error-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_focus-input-text-color: var(--md-outlined-text-field-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-outlined-text-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-icon-color: var(--md-outlined-text-field-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color: var(--md-outlined-text-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_focus-outline-width: var(--md-outlined-text-field-focus-outline-width, 3px);--_focus-supporting-text-color: var(--md-outlined-text-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-icon-color: var(--md-outlined-text-field-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-input-text-color: var(--md-outlined-text-field-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-outlined-text-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-leading-icon-color: var(--md-outlined-text-field-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-outline-color: var(--md-outlined-text-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-outline-width: var(--md-outlined-text-field-hover-outline-width, 1px);--_hover-supporting-text-color: var(--md-outlined-text-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-outlined-text-field-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-color: var(--md-outlined-text-field-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_input-text-font: var(--md-outlined-text-field-input-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_input-text-line-height: var(--md-outlined-text-field-input-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_input-text-placeholder-color: var(--md-outlined-text-field-input-text-placeholder-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-prefix-color: var(--md-outlined-text-field-input-text-prefix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-size: var(--md-outlined-text-field-input-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_input-text-suffix-color: var(--md-outlined-text-field-input-text-suffix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-weight: var(--md-outlined-text-field-input-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_label-text-color: var(--md-outlined-text-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-outlined-text-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-text-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-outlined-text-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-outlined-text-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-outlined-text-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-outlined-text-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-icon-color: var(--md-outlined-text-field-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-icon-size: var(--md-outlined-text-field-leading-icon-size, 24px);--_outline-color: var(--md-outlined-text-field-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-text-field-outline-width, 1px);--_supporting-text-color: var(--md-outlined-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-outlined-text-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-line-height: var(--md-outlined-text-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-outlined-text-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-weight: var(--md-outlined-text-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_trailing-icon-color: var(--md-outlined-text-field-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-size: var(--md-outlined-text-field-trailing-icon-size, 24px);--_container-shape-start-start: var(--md-outlined-text-field-container-shape-start-start, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-outlined-text-field-container-shape-start-end, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-outlined-text-field-container-shape-end-end, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-start: var(--md-outlined-text-field-container-shape-end-start, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_icon-input-space: var(--md-outlined-text-field-icon-input-space, 16px);--_leading-space: var(--md-outlined-text-field-leading-space, 16px);--_trailing-space: var(--md-outlined-text-field-trailing-space, 16px);--_top-space: var(--md-outlined-text-field-top-space, 16px);--_bottom-space: var(--md-outlined-text-field-bottom-space, 16px);--_input-text-prefix-trailing-space: var(--md-outlined-text-field-input-text-prefix-trailing-space, 2px);--_input-text-suffix-leading-space: var(--md-outlined-text-field-input-text-suffix-leading-space, 2px);--_focus-caret-color: var(--md-outlined-text-field-focus-caret-color, var(--md-sys-color-primary, #6750a4));--_with-leading-icon-leading-space: var(--md-outlined-text-field-with-leading-icon-leading-space, 12px);--_with-trailing-icon-trailing-space: var(--md-outlined-text-field-with-trailing-icon-trailing-space, 12px);--md-outlined-field-bottom-space: var(--_bottom-space);--md-outlined-field-container-shape-end-end: var(--_container-shape-end-end);--md-outlined-field-container-shape-end-start: var(--_container-shape-end-start);--md-outlined-field-container-shape-start-end: var(--_container-shape-start-end);--md-outlined-field-container-shape-start-start: var(--_container-shape-start-start);--md-outlined-field-content-color: var(--_input-text-color);--md-outlined-field-content-font: var(--_input-text-font);--md-outlined-field-content-line-height: var(--_input-text-line-height);--md-outlined-field-content-size: var(--_input-text-size);--md-outlined-field-content-space: var(--_icon-input-space);--md-outlined-field-content-weight: var(--_input-text-weight);--md-outlined-field-disabled-content-color: var(--_disabled-input-text-color);--md-outlined-field-disabled-content-opacity: var(--_disabled-input-text-opacity);--md-outlined-field-disabled-label-text-color: var(--_disabled-label-text-color);--md-outlined-field-disabled-label-text-opacity: var(--_disabled-label-text-opacity);--md-outlined-field-disabled-leading-content-color: var(--_disabled-leading-icon-color);--md-outlined-field-disabled-leading-content-opacity: var(--_disabled-leading-icon-opacity);--md-outlined-field-disabled-outline-color: var(--_disabled-outline-color);--md-outlined-field-disabled-outline-opacity: var(--_disabled-outline-opacity);--md-outlined-field-disabled-outline-width: var(--_disabled-outline-width);--md-outlined-field-disabled-supporting-text-color: var(--_disabled-supporting-text-color);--md-outlined-field-disabled-supporting-text-opacity: var(--_disabled-supporting-text-opacity);--md-outlined-field-disabled-trailing-content-color: var(--_disabled-trailing-icon-color);--md-outlined-field-disabled-trailing-content-opacity: var(--_disabled-trailing-icon-opacity);--md-outlined-field-error-content-color: var(--_error-input-text-color);--md-outlined-field-error-focus-content-color: var(--_error-focus-input-text-color);--md-outlined-field-error-focus-label-text-color: var(--_error-focus-label-text-color);--md-outlined-field-error-focus-leading-content-color: var(--_error-focus-leading-icon-color);--md-outlined-field-error-focus-outline-color: var(--_error-focus-outline-color);--md-outlined-field-error-focus-supporting-text-color: var(--_error-focus-supporting-text-color);--md-outlined-field-error-focus-trailing-content-color: var(--_error-focus-trailing-icon-color);--md-outlined-field-error-hover-content-color: var(--_error-hover-input-text-color);--md-outlined-field-error-hover-label-text-color: var(--_error-hover-label-text-color);--md-outlined-field-error-hover-leading-content-color: var(--_error-hover-leading-icon-color);--md-outlined-field-error-hover-outline-color: var(--_error-hover-outline-color);--md-outlined-field-error-hover-supporting-text-color: var(--_error-hover-supporting-text-color);--md-outlined-field-error-hover-trailing-content-color: var(--_error-hover-trailing-icon-color);--md-outlined-field-error-label-text-color: var(--_error-label-text-color);--md-outlined-field-error-leading-content-color: var(--_error-leading-icon-color);--md-outlined-field-error-outline-color: var(--_error-outline-color);--md-outlined-field-error-supporting-text-color: var(--_error-supporting-text-color);--md-outlined-field-error-trailing-content-color: var(--_error-trailing-icon-color);--md-outlined-field-focus-content-color: var(--_focus-input-text-color);--md-outlined-field-focus-label-text-color: var(--_focus-label-text-color);--md-outlined-field-focus-leading-content-color: var(--_focus-leading-icon-color);--md-outlined-field-focus-outline-color: var(--_focus-outline-color);--md-outlined-field-focus-outline-width: var(--_focus-outline-width);--md-outlined-field-focus-supporting-text-color: var(--_focus-supporting-text-color);--md-outlined-field-focus-trailing-content-color: var(--_focus-trailing-icon-color);--md-outlined-field-hover-content-color: var(--_hover-input-text-color);--md-outlined-field-hover-label-text-color: var(--_hover-label-text-color);--md-outlined-field-hover-leading-content-color: var(--_hover-leading-icon-color);--md-outlined-field-hover-outline-color: var(--_hover-outline-color);--md-outlined-field-hover-outline-width: var(--_hover-outline-width);--md-outlined-field-hover-supporting-text-color: var(--_hover-supporting-text-color);--md-outlined-field-hover-trailing-content-color: var(--_hover-trailing-icon-color);--md-outlined-field-label-text-color: var(--_label-text-color);--md-outlined-field-label-text-font: var(--_label-text-font);--md-outlined-field-label-text-line-height: var(--_label-text-line-height);--md-outlined-field-label-text-populated-line-height: var(--_label-text-populated-line-height);--md-outlined-field-label-text-populated-size: var(--_label-text-populated-size);--md-outlined-field-label-text-size: var(--_label-text-size);--md-outlined-field-label-text-weight: var(--_label-text-weight);--md-outlined-field-leading-content-color: var(--_leading-icon-color);--md-outlined-field-leading-space: var(--_leading-space);--md-outlined-field-outline-color: var(--_outline-color);--md-outlined-field-outline-width: var(--_outline-width);--md-outlined-field-supporting-text-color: var(--_supporting-text-color);--md-outlined-field-supporting-text-font: var(--_supporting-text-font);--md-outlined-field-supporting-text-line-height: var(--_supporting-text-line-height);--md-outlined-field-supporting-text-size: var(--_supporting-text-size);--md-outlined-field-supporting-text-weight: var(--_supporting-text-weight);--md-outlined-field-top-space: var(--_top-space);--md-outlined-field-trailing-content-color: var(--_trailing-icon-color);--md-outlined-field-trailing-space: var(--_trailing-space);--md-outlined-field-with-leading-content-leading-space: var(--_with-leading-icon-leading-space);--md-outlined-field-with-trailing-content-trailing-space: var(--_with-trailing-icon-trailing-space)}
|
|
33337
33462
|
`;
|
|
33463
|
+
styles$6.styleSheet;
|
|
33338
33464
|
|
|
33339
33465
|
/**
|
|
33340
33466
|
* @license
|
|
@@ -34255,12 +34381,13 @@ class OutlinedTextField extends TextField {
|
|
|
34255
34381
|
|
|
34256
34382
|
/**
|
|
34257
34383
|
* @license
|
|
34258
|
-
* Copyright
|
|
34384
|
+
* Copyright 2026 Google LLC
|
|
34259
34385
|
* SPDX-License-Identifier: Apache-2.0
|
|
34260
34386
|
*/
|
|
34261
34387
|
// Generated stylesheet for ./textfield/internal/shared-styles.css.
|
|
34262
34388
|
const styles$5 = i$7`:host{display:inline-flex;outline:none;resize:both;text-align:start;-webkit-tap-highlight-color:rgba(0,0,0,0)}.text-field,.field{width:100%}.text-field{display:inline-flex}.field{cursor:text}.disabled .field{cursor:default}.text-field,.textarea .field{resize:inherit}slot[name=container]{border-radius:inherit}.icon{color:currentColor;display:flex;align-items:center;justify-content:center;fill:currentColor;position:relative}.icon ::slotted(*){display:flex;position:absolute}[has-start] .icon.leading{font-size:var(--_leading-icon-size);height:var(--_leading-icon-size);width:var(--_leading-icon-size)}[has-end] .icon.trailing{font-size:var(--_trailing-icon-size);height:var(--_trailing-icon-size);width:var(--_trailing-icon-size)}.input-wrapper{display:flex}.input-wrapper>*{all:inherit;padding:0}.input{caret-color:var(--_caret-color);overflow-x:hidden;text-align:inherit}.input::placeholder{color:currentColor;opacity:1}.input::-webkit-calendar-picker-indicator{display:none}.input::-webkit-search-decoration,.input::-webkit-search-cancel-button{display:none}@media(forced-colors: active){.input{background:none}}.no-spinner .input::-webkit-inner-spin-button,.no-spinner .input::-webkit-outer-spin-button{display:none}.no-spinner .input[type=number]{-moz-appearance:textfield}:focus-within .input{caret-color:var(--_focus-caret-color)}.error:focus-within .input{caret-color:var(--_error-focus-caret-color)}.text-field:not(.disabled) .prefix{color:var(--_input-text-prefix-color)}.text-field:not(.disabled) .suffix{color:var(--_input-text-suffix-color)}.text-field:not(.disabled) .input::placeholder{color:var(--_input-text-placeholder-color)}.prefix,.suffix{text-wrap:nowrap;width:min-content}.prefix{padding-inline-end:var(--_input-text-prefix-trailing-space)}.suffix{padding-inline-start:var(--_input-text-suffix-leading-space)}
|
|
34263
34389
|
`;
|
|
34390
|
+
styles$5.styleSheet;
|
|
34264
34391
|
|
|
34265
34392
|
/**
|
|
34266
34393
|
* @license
|
|
@@ -34558,7 +34685,7 @@ async function deleteBindingAtIndex(client, sourceNode, sourceEndpoint, index) {
|
|
|
34558
34685
|
* SPDX-License-Identifier: Apache-2.0
|
|
34559
34686
|
*/
|
|
34560
34687
|
const showNodeBindingDialog = async (node, endpoint) => {
|
|
34561
|
-
await import('./node-binding-dialog-
|
|
34688
|
+
await import('./node-binding-dialog-BV_fMc0a.js');
|
|
34562
34689
|
const dialog = document.createElement("node-binding-dialog");
|
|
34563
34690
|
dialog.node = node;
|
|
34564
34691
|
dialog.endpoint = endpoint;
|
|
@@ -34790,154 +34917,6 @@ __decorateClass$i([r$3()], BindingClusterCommands.prototype, "_busy", 2);
|
|
|
34790
34917
|
BindingClusterCommands = __decorateClass$i([t$1("binding-cluster-commands")], BindingClusterCommands);
|
|
34791
34918
|
registerClusterCommands(CLUSTER_ID$2, "binding-cluster-commands");
|
|
34792
34919
|
|
|
34793
|
-
/**
|
|
34794
|
-
* @license
|
|
34795
|
-
* Copyright 2023 Google LLC
|
|
34796
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
34797
|
-
*/
|
|
34798
|
-
/**
|
|
34799
|
-
* A symbol used to access dispatch hooks on an event.
|
|
34800
|
-
*/
|
|
34801
|
-
const dispatchHooks = Symbol('dispatchHooks');
|
|
34802
|
-
/**
|
|
34803
|
-
* Add a hook for an event that is called after the event is dispatched and
|
|
34804
|
-
* propagates to other event listeners.
|
|
34805
|
-
*
|
|
34806
|
-
* This is useful for behaviors that need to check if an event is canceled.
|
|
34807
|
-
*
|
|
34808
|
-
* The callback is invoked synchronously, which allows for better integration
|
|
34809
|
-
* with synchronous platform APIs (like `<form>` or `<label>` clicking).
|
|
34810
|
-
*
|
|
34811
|
-
* Note: `setupDispatchHooks()` must be called on the element before adding any
|
|
34812
|
-
* other event listeners. Call it in the constructor of an element or
|
|
34813
|
-
* controller.
|
|
34814
|
-
*
|
|
34815
|
-
* @example
|
|
34816
|
-
* ```ts
|
|
34817
|
-
* class MyControl extends LitElement {
|
|
34818
|
-
* constructor() {
|
|
34819
|
-
* super();
|
|
34820
|
-
* setupDispatchHooks(this, 'click');
|
|
34821
|
-
* this.addEventListener('click', event => {
|
|
34822
|
-
* afterDispatch(event, () => {
|
|
34823
|
-
* if (event.defaultPrevented) {
|
|
34824
|
-
* return
|
|
34825
|
-
* }
|
|
34826
|
-
*
|
|
34827
|
-
* // ... perform logic
|
|
34828
|
-
* });
|
|
34829
|
-
* });
|
|
34830
|
-
* }
|
|
34831
|
-
* }
|
|
34832
|
-
* ```
|
|
34833
|
-
*
|
|
34834
|
-
* @example
|
|
34835
|
-
* ```ts
|
|
34836
|
-
* class MyController implements ReactiveController {
|
|
34837
|
-
* constructor(host: ReactiveElement) {
|
|
34838
|
-
* // setupDispatchHooks() may be called multiple times for the same
|
|
34839
|
-
* // element and events, making it safe for multiple controllers to use it.
|
|
34840
|
-
* setupDispatchHooks(host, 'click');
|
|
34841
|
-
* host.addEventListener('click', event => {
|
|
34842
|
-
* afterDispatch(event, () => {
|
|
34843
|
-
* if (event.defaultPrevented) {
|
|
34844
|
-
* return;
|
|
34845
|
-
* }
|
|
34846
|
-
*
|
|
34847
|
-
* // ... perform logic
|
|
34848
|
-
* });
|
|
34849
|
-
* });
|
|
34850
|
-
* }
|
|
34851
|
-
* }
|
|
34852
|
-
* ```
|
|
34853
|
-
*
|
|
34854
|
-
* @param event The event to add a hook to.
|
|
34855
|
-
* @param callback A hook that is called after the event finishes dispatching.
|
|
34856
|
-
*/
|
|
34857
|
-
function afterDispatch(event, callback) {
|
|
34858
|
-
const hooks = event[dispatchHooks];
|
|
34859
|
-
if (!hooks) {
|
|
34860
|
-
throw new Error(`'${event.type}' event needs setupDispatchHooks().`);
|
|
34861
|
-
}
|
|
34862
|
-
hooks.addEventListener('after', callback);
|
|
34863
|
-
}
|
|
34864
|
-
/**
|
|
34865
|
-
* A lookup map of elements and event types that have a dispatch hook listener
|
|
34866
|
-
* set up. Used to ensure we don't set up multiple hook listeners on the same
|
|
34867
|
-
* element for the same event.
|
|
34868
|
-
*/
|
|
34869
|
-
const ELEMENT_DISPATCH_HOOK_TYPES = new WeakMap();
|
|
34870
|
-
/**
|
|
34871
|
-
* Sets up an element to add dispatch hooks to given event types. This must be
|
|
34872
|
-
* called before adding any event listeners that need to use dispatch hooks
|
|
34873
|
-
* like `afterDispatch()`.
|
|
34874
|
-
*
|
|
34875
|
-
* This function is safe to call multiple times with the same element or event
|
|
34876
|
-
* types. Call it in the constructor of elements, mixins, and controllers to
|
|
34877
|
-
* ensure it is set up before external listeners.
|
|
34878
|
-
*
|
|
34879
|
-
* @example
|
|
34880
|
-
* ```ts
|
|
34881
|
-
* class MyControl extends LitElement {
|
|
34882
|
-
* constructor() {
|
|
34883
|
-
* super();
|
|
34884
|
-
* setupDispatchHooks(this, 'click');
|
|
34885
|
-
* this.addEventListener('click', this.listenerUsingAfterDispatch);
|
|
34886
|
-
* }
|
|
34887
|
-
* }
|
|
34888
|
-
* ```
|
|
34889
|
-
*
|
|
34890
|
-
* @param element The element to set up event dispatch hooks for.
|
|
34891
|
-
* @param eventTypes The event types to add dispatch hooks to.
|
|
34892
|
-
*/
|
|
34893
|
-
function setupDispatchHooks(element, ...eventTypes) {
|
|
34894
|
-
let typesAlreadySetUp = ELEMENT_DISPATCH_HOOK_TYPES.get(element);
|
|
34895
|
-
if (!typesAlreadySetUp) {
|
|
34896
|
-
typesAlreadySetUp = new Set();
|
|
34897
|
-
ELEMENT_DISPATCH_HOOK_TYPES.set(element, typesAlreadySetUp);
|
|
34898
|
-
}
|
|
34899
|
-
for (const eventType of eventTypes) {
|
|
34900
|
-
// Don't register multiple dispatch hook listeners. A second registration
|
|
34901
|
-
// would lead to the second listener re-dispatching a re-dispatched event,
|
|
34902
|
-
// which can cause an infinite loop inside the other one.
|
|
34903
|
-
if (typesAlreadySetUp.has(eventType)) {
|
|
34904
|
-
continue;
|
|
34905
|
-
}
|
|
34906
|
-
// When we re-dispatch the event, it's going to immediately trigger this
|
|
34907
|
-
// listener again. Use a flag to ignore it.
|
|
34908
|
-
let isRedispatching = false;
|
|
34909
|
-
element.addEventListener(eventType, event => {
|
|
34910
|
-
if (isRedispatching) {
|
|
34911
|
-
return;
|
|
34912
|
-
}
|
|
34913
|
-
// Do not let the event propagate to any other listener (not just
|
|
34914
|
-
// bubbling listeners with `stopPropagation()`).
|
|
34915
|
-
event.stopImmediatePropagation();
|
|
34916
|
-
// Make a copy.
|
|
34917
|
-
const eventCopy = Reflect.construct(event.constructor, [event.type, event]);
|
|
34918
|
-
// Add hooks onto the event.
|
|
34919
|
-
const hooks = new EventTarget();
|
|
34920
|
-
eventCopy[dispatchHooks] = hooks;
|
|
34921
|
-
// Re-dispatch the event. We can't reuse `redispatchEvent()` since we
|
|
34922
|
-
// need to add the hooks to the copy before it's dispatched.
|
|
34923
|
-
isRedispatching = true;
|
|
34924
|
-
const dispatched = element.dispatchEvent(eventCopy);
|
|
34925
|
-
isRedispatching = false;
|
|
34926
|
-
if (!dispatched) {
|
|
34927
|
-
event.preventDefault();
|
|
34928
|
-
}
|
|
34929
|
-
// Synchronously call afterDispatch() hooks.
|
|
34930
|
-
hooks.dispatchEvent(new Event('after'));
|
|
34931
|
-
}, {
|
|
34932
|
-
// Ensure this listener runs before other listeners.
|
|
34933
|
-
// `setupDispatchHooks()` should be called in constructors to also
|
|
34934
|
-
// ensure they run before any other externally-added capture listeners.
|
|
34935
|
-
capture: true
|
|
34936
|
-
});
|
|
34937
|
-
typesAlreadySetUp.add(eventType);
|
|
34938
|
-
}
|
|
34939
|
-
}
|
|
34940
|
-
|
|
34941
34920
|
/**
|
|
34942
34921
|
* @license
|
|
34943
34922
|
* Copyright 2023 Google LLC
|
|
@@ -35176,12 +35155,13 @@ __decorate([e$6('input')], Switch.prototype, "input", void 0);
|
|
|
35176
35155
|
|
|
35177
35156
|
/**
|
|
35178
35157
|
* @license
|
|
35179
|
-
* Copyright
|
|
35158
|
+
* Copyright 2026 Google LLC
|
|
35180
35159
|
* SPDX-License-Identifier: Apache-2.0
|
|
35181
35160
|
*/
|
|
35182
35161
|
// Generated stylesheet for ./switch/internal/switch-styles.css.
|
|
35183
|
-
const styles$4 = i$7`@layer styles, hcm;@layer styles{:host{display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-switch-track-height, 32px))/2) 0px}md-focus-ring{--md-focus-ring-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}.switch{align-items:center;display:inline-flex;flex-shrink:0;position:relative;width:var(--md-switch-track-width, 52px);height:var(--md-switch-track-height, 32px);border-start-start-radius:var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}input{appearance:none;height:max(100%,var(--md-switch-touch-target-size, 48px));outline:none;margin:0;position:absolute;width:max(100%,var(--md-switch-touch-target-size, 48px));z-index:1;cursor:inherit;top:50%;left:50%;transform:translate(-50%, -50%)}:host([touch-target=none]) input{display:none}}@layer styles{.track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center}.track::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms}.disabled .track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.disabled .track::before,.disabled .track::after{transition:none;opacity:var(--md-switch-disabled-track-opacity, 0.12)}.disabled .track::before{background-clip:content-box}.selected .track::before{background-color:var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4))}.selected:hover .track::before{background-color:var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4))}.selected:focus-within .track::before{background-color:var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4))}.selected:active .track::before{background-color:var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4))}.selected.disabled .track{background-clip:border-box}.selected.disabled .track::before{background-color:var(--md-switch-disabled-selected-track-color, var(--md-sys-color-on-surface, #1d1b20))}.unselected .track::before{background-color:var(--md-switch-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-track-outline-color, var(--md-sys-color-outline, #79747e));border-style:solid;border-width:var(--md-switch-track-outline-width, 2px)}.unselected:hover .track::before{background-color:var(--md-switch-hover-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-hover-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:focus-visible .track::before{background-color:var(--md-switch-focus-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-focus-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:active .track::before{background-color:var(--md-switch-pressed-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-pressed-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected.disabled .track::before{background-color:var(--md-switch-disabled-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-disabled-track-outline-color, var(--md-sys-color-on-surface, #1d1b20))}}@layer hcm{@media(forced-colors: active){.selected .track::before{background:ButtonText;border-color:ButtonText}.disabled .track::before{border-color:GrayText;opacity:1}.disabled.selected .track::before{background:GrayText}}}@layer styles{.handle-container{display:flex;place-content:center;place-items:center;position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275)}.selected .handle-container{margin-inline-start:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.unselected .handle-container{margin-inline-end:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.disabled .handle-container{transition:none}.handle{border-start-start-radius:var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));height:var(--md-switch-handle-height, 16px);width:var(--md-switch-handle-width, 16px);transform-origin:center;transition-property:height,width;transition-duration:250ms,250ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1);z-index:0}.handle::before{content:"";display:flex;inset:0;position:absolute;border-radius:inherit;box-sizing:border-box;transition:background-color 67ms linear}.disabled .handle,.disabled .handle::before{transition:none}.selected .handle{height:var(--md-switch-selected-handle-height, 24px);width:var(--md-switch-selected-handle-width, 24px)}.handle.with-icon{height:var(--md-switch-with-icon-handle-height, 24px);width:var(--md-switch-with-icon-handle-width, 24px)}.selected:not(.disabled):active .handle,.unselected:not(.disabled):active .handle{height:var(--md-switch-pressed-handle-height, 28px);width:var(--md-switch-pressed-handle-width, 28px);transition-timing-function:linear;transition-duration:100ms}.selected .handle::before{background-color:var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff))}.selected:hover .handle::before{background-color:var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:focus-within .handle::before{background-color:var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:active .handle::before{background-color:var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected.disabled .handle::before{background-color:var(--md-switch-disabled-selected-handle-color, var(--md-sys-color-surface, #fef7ff));opacity:var(--md-switch-disabled-selected-handle-opacity, 1)}.unselected .handle::before{background-color:var(--md-switch-handle-color, var(--md-sys-color-outline, #79747e))}.unselected:hover .handle::before{background-color:var(--md-switch-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:focus-within .handle::before{background-color:var(--md-switch-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:active .handle::before{background-color:var(--md-switch-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected.disabled .handle::before{background-color:var(--md-switch-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-handle-opacity, 0.38)}md-ripple{border-radius:var(--md-switch-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));height:var(--md-switch-state-layer-size, 40px);inset:unset;width:var(--md-switch-state-layer-size, 40px)}.selected md-ripple{--md-ripple-hover-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12)}.unselected md-ripple{--md-ripple-hover-color: var(--md-switch-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-color: var(--md-switch-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-switch-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-pressed-state-layer-opacity, 0.12)}}@layer hcm{@media(forced-colors: active){.unselected .handle::before{background:ButtonText}.disabled .handle::before{opacity:1}.disabled.unselected .handle::before{background:GrayText}}}@layer styles{.icons{position:relative;height:100%;width:100%}.icon{position:absolute;inset:0;margin:auto;display:flex;align-items:center;justify-content:center;fill:currentColor;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.disabled .icon{transition:none}.selected .icon--on,.unselected .icon--off{opacity:1}.unselected .handle:not(.with-icon) .icon--on{transform:rotate(-45deg)}.icon--off{width:var(--md-switch-icon-size, 16px);height:var(--md-switch-icon-size, 16px);color:var(--md-switch-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:hover .icon--off{color:var(--md-switch-hover-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:focus-within .icon--off{color:var(--md-switch-focus-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:active .icon--off{color:var(--md-switch-pressed-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected.disabled .icon--off{color:var(--md-switch-disabled-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));opacity:var(--md-switch-disabled-icon-opacity, 0.38)}.icon--on{width:var(--md-switch-selected-icon-size, 16px);height:var(--md-switch-selected-icon-size, 16px);color:var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:hover .icon--on{color:var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:focus-within .icon--on{color:var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:active .icon--on{color:var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected.disabled .icon--on{color:var(--md-switch-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon--off{fill:Canvas}.icon--on{fill:ButtonText}.disabled.unselected .icon--off,.disabled.selected .icon--on{opacity:1}.disabled .icon--on{fill:GrayText}}}
|
|
35162
|
+
const styles$4 = i$7`@layer styles, hcm;@layer styles{:host{display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-switch-track-height, 32px))/2) 0px}md-focus-ring{--md-focus-ring-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}.switch{align-items:center;display:inline-flex;flex-shrink:0;position:relative;width:var(--md-switch-track-width, 52px);height:var(--md-switch-track-height, 32px);border-start-start-radius:var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}input{appearance:none;background:none;height:max(100%,var(--md-switch-touch-target-size, 48px));outline:none;margin:0;position:absolute;width:max(100%,var(--md-switch-touch-target-size, 48px));z-index:1;cursor:inherit;top:50%;left:50%;transform:translate(-50%, -50%)}:host([touch-target=none]) input{display:none}}@layer styles{.track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center}.track::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms}.disabled .track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.disabled .track::before,.disabled .track::after{transition:none;opacity:var(--md-switch-disabled-track-opacity, 0.12)}.disabled .track::before{background-clip:content-box}.selected .track::before{background-color:var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4))}.selected:hover .track::before{background-color:var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4))}.selected:focus-within .track::before{background-color:var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4))}.selected:active .track::before{background-color:var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4))}.selected.disabled .track{background-clip:border-box}.selected.disabled .track::before{background-color:var(--md-switch-disabled-selected-track-color, var(--md-sys-color-on-surface, #1d1b20))}.unselected .track::before{background-color:var(--md-switch-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-track-outline-color, var(--md-sys-color-outline, #79747e));border-style:solid;border-width:var(--md-switch-track-outline-width, 2px)}.unselected:hover .track::before{background-color:var(--md-switch-hover-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-hover-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:focus-visible .track::before{background-color:var(--md-switch-focus-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-focus-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:active .track::before{background-color:var(--md-switch-pressed-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-pressed-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected.disabled .track::before{background-color:var(--md-switch-disabled-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-disabled-track-outline-color, var(--md-sys-color-on-surface, #1d1b20))}}@layer hcm{@media(forced-colors: active){.selected .track::before{background:ButtonText;border-color:ButtonText}.disabled .track::before{border-color:GrayText;opacity:1}.disabled.selected .track::before{background:GrayText}}}@layer styles{.handle-container{display:flex;place-content:center;place-items:center;position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275)}.selected .handle-container{margin-inline-start:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.unselected .handle-container{margin-inline-end:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.disabled .handle-container{transition:none}.handle{border-start-start-radius:var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));height:var(--md-switch-handle-height, 16px);width:var(--md-switch-handle-width, 16px);transform-origin:center;transition-property:height,width;transition-duration:250ms,250ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1);z-index:0}.handle::before{content:"";display:flex;inset:0;position:absolute;border-radius:inherit;box-sizing:border-box;transition:background-color 67ms linear}.disabled .handle,.disabled .handle::before{transition:none}.selected .handle{height:var(--md-switch-selected-handle-height, 24px);width:var(--md-switch-selected-handle-width, 24px)}.handle.with-icon{height:var(--md-switch-with-icon-handle-height, 24px);width:var(--md-switch-with-icon-handle-width, 24px)}.selected:not(.disabled):active .handle,.unselected:not(.disabled):active .handle{height:var(--md-switch-pressed-handle-height, 28px);width:var(--md-switch-pressed-handle-width, 28px);transition-timing-function:linear;transition-duration:100ms}.selected .handle::before{background-color:var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff))}.selected:hover .handle::before{background-color:var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:focus-within .handle::before{background-color:var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:active .handle::before{background-color:var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected.disabled .handle::before{background-color:var(--md-switch-disabled-selected-handle-color, var(--md-sys-color-surface, #fef7ff));opacity:var(--md-switch-disabled-selected-handle-opacity, 1)}.unselected .handle::before{background-color:var(--md-switch-handle-color, var(--md-sys-color-outline, #79747e))}.unselected:hover .handle::before{background-color:var(--md-switch-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:focus-within .handle::before{background-color:var(--md-switch-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:active .handle::before{background-color:var(--md-switch-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected.disabled .handle::before{background-color:var(--md-switch-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-handle-opacity, 0.38)}md-ripple{border-radius:var(--md-switch-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));height:var(--md-switch-state-layer-size, 40px);inset:unset;width:var(--md-switch-state-layer-size, 40px)}.selected md-ripple{--md-ripple-hover-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12)}.unselected md-ripple{--md-ripple-hover-color: var(--md-switch-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-color: var(--md-switch-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-switch-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-pressed-state-layer-opacity, 0.12)}}@layer hcm{@media(forced-colors: active){.unselected .handle::before{background:ButtonText}.disabled .handle::before{opacity:1}.disabled.unselected .handle::before{background:GrayText}}}@layer styles{.icons{position:relative;height:100%;width:100%}.icon{position:absolute;inset:0;margin:auto;display:flex;align-items:center;justify-content:center;fill:currentColor;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.disabled .icon{transition:none}.selected .icon--on,.unselected .icon--off{opacity:1}.unselected .handle:not(.with-icon) .icon--on{transform:rotate(-45deg)}.icon--off{width:var(--md-switch-icon-size, 16px);height:var(--md-switch-icon-size, 16px);color:var(--md-switch-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:hover .icon--off{color:var(--md-switch-hover-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:focus-within .icon--off{color:var(--md-switch-focus-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:active .icon--off{color:var(--md-switch-pressed-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected.disabled .icon--off{color:var(--md-switch-disabled-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));opacity:var(--md-switch-disabled-icon-opacity, 0.38)}.icon--on{width:var(--md-switch-selected-icon-size, 16px);height:var(--md-switch-selected-icon-size, 16px);color:var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:hover .icon--on{color:var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:focus-within .icon--on{color:var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:active .icon--on{color:var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected.disabled .icon--on{color:var(--md-switch-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon--off{fill:Canvas}.icon--on{fill:ButtonText}.disabled.unselected .icon--off,.disabled.selected .icon--on{opacity:1}.disabled .icon--on{fill:GrayText}}}
|
|
35184
35163
|
`;
|
|
35164
|
+
styles$4.styleSheet;
|
|
35185
35165
|
|
|
35186
35166
|
/**
|
|
35187
35167
|
* @license
|
|
@@ -35584,12 +35564,13 @@ class CircularProgress extends Progress {
|
|
|
35584
35564
|
|
|
35585
35565
|
/**
|
|
35586
35566
|
* @license
|
|
35587
|
-
* Copyright
|
|
35567
|
+
* Copyright 2026 Google LLC
|
|
35588
35568
|
* SPDX-License-Identifier: Apache-2.0
|
|
35589
35569
|
*/
|
|
35590
35570
|
// Generated stylesheet for ./progress/internal/circular-progress-styles.css.
|
|
35591
35571
|
const styles$3 = i$7`:host{--_active-indicator-color: var(--md-circular-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-width: var(--md-circular-progress-active-indicator-width, 10);--_four-color-active-indicator-four-color: var(--md-circular-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-circular-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-circular-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-circular-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_size: var(--md-circular-progress-size, 48px);display:inline-flex;vertical-align:middle;width:var(--_size);height:var(--_size);position:relative;align-items:center;justify-content:center;contain:strict;content-visibility:auto}.progress{flex:1;align-self:stretch;margin:4px}.progress,.spinner,.left,.right,.circle,svg,.track,.active-track{position:absolute;inset:0}svg{transform:rotate(-90deg)}circle{cx:50%;cy:50%;r:calc(50%*(1 - var(--_active-indicator-width)/100));stroke-width:calc(var(--_active-indicator-width)*1%);stroke-dasharray:100;fill:rgba(0,0,0,0)}.active-track{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);stroke:var(--_active-indicator-color)}.track{stroke:rgba(0,0,0,0)}.progress.indeterminate{animation:linear infinite linear-rotate;animation-duration:1568.2352941176ms}.spinner{animation:infinite both rotate-arc;animation-duration:5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.left{overflow:hidden;inset:0 50% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.circle{box-sizing:border-box;border-radius:50%;border:solid calc(var(--_active-indicator-width)/100*(var(--_size) - 8px));border-color:var(--_active-indicator-color) var(--_active-indicator-color) rgba(0,0,0,0) rgba(0,0,0,0);animation:expand-arc;animation-iteration-count:infinite;animation-fill-mode:both;animation-duration:1333ms,5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.four-color .circle{animation-name:expand-arc,four-color}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right .circle{rotate:100deg;inset:0 0 0 -100%;animation-delay:-666.5ms,0ms}@media(forced-colors: active){.active-track{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@keyframes expand-arc{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes rotate-arc{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes linear-rotate{to{transform:rotate(360deg)}}@keyframes four-color{0%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}15%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}25%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}40%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}50%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}65%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}75%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}90%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}100%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}}
|
|
35592
35572
|
`;
|
|
35573
|
+
styles$3.styleSheet;
|
|
35593
35574
|
|
|
35594
35575
|
/**
|
|
35595
35576
|
* @license
|
|
@@ -36137,12 +36118,13 @@ __decorate([e$6('.container')], Radio.prototype, "container", void 0);
|
|
|
36137
36118
|
|
|
36138
36119
|
/**
|
|
36139
36120
|
* @license
|
|
36140
|
-
* Copyright
|
|
36121
|
+
* Copyright 2026 Google LLC
|
|
36141
36122
|
* SPDX-License-Identifier: Apache-2.0
|
|
36142
36123
|
*/
|
|
36143
36124
|
// Generated stylesheet for ./radio/internal/radio-styles.css.
|
|
36144
36125
|
const styles$2 = i$7`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20px);outline:none;position:relative;vertical-align:top;width:var(--md-radio-icon-size, 20px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;--md-ripple-hover-color: var(--md-radio-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-radio-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-radio-pressed-state-layer-opacity, 0.12)}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-radio-icon-size, 20px))/2)}.container{display:flex;height:100%;place-content:center;place-items:center;width:100%}md-focus-ring{height:44px;inset:unset;width:44px}.checked{--md-ripple-hover-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}.touch-target{height:48px;position:absolute;width:48px}:host([touch-target=none]) .touch-target{display:none}md-ripple{border-radius:50%;height:var(--md-radio-state-layer-size, 40px);inset:unset;width:var(--md-radio-state-layer-size, 40px)}.icon{fill:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant, #49454f));inset:0;position:absolute}.outer.circle{transition:fill 50ms linear}.inner.circle{opacity:0;transform-origin:center;transition:opacity 50ms linear}.checked .icon{fill:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}.checked .inner.circle{animation:inner-circle-grow 300ms cubic-bezier(0.05, 0.7, 0.1, 1);opacity:1}@keyframes inner-circle-grow{from{transform:scale(0)}to{transform:scale(1)}}:host([disabled]) .circle{animation-duration:0s;transition-duration:0s}:host(:hover) .icon{fill:var(--md-radio-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:focus-within) .icon{fill:var(--md-radio-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:active) .icon{fill:var(--md-radio-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host([disabled]) .icon{fill:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host(:hover) .checked .icon{fill:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:focus-within) .checked .icon{fill:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:active) .checked .icon{fill:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host([disabled]) .checked .icon{fill:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon{fill:CanvasText}:host([disabled]) .icon{fill:GrayText;opacity:1}}}
|
|
36145
36126
|
`;
|
|
36127
|
+
styles$2.styleSheet;
|
|
36146
36128
|
|
|
36147
36129
|
/**
|
|
36148
36130
|
* @license
|
|
@@ -38212,12 +38194,13 @@ __decorate([e$6('input')], Checkbox.prototype, "input", void 0);
|
|
|
38212
38194
|
|
|
38213
38195
|
/**
|
|
38214
38196
|
* @license
|
|
38215
|
-
* Copyright
|
|
38197
|
+
* Copyright 2026 Google LLC
|
|
38216
38198
|
* SPDX-License-Identifier: Apache-2.0
|
|
38217
38199
|
*/
|
|
38218
38200
|
// Generated stylesheet for ./checkbox/internal/checkbox-styles.css.
|
|
38219
38201
|
const styles$1 = i$7`:host{border-start-start-radius:var(--md-checkbox-container-shape-start-start, var(--md-checkbox-container-shape, 2px));border-start-end-radius:var(--md-checkbox-container-shape-start-end, var(--md-checkbox-container-shape, 2px));border-end-end-radius:var(--md-checkbox-container-shape-end-end, var(--md-checkbox-container-shape, 2px));border-end-start-radius:var(--md-checkbox-container-shape-end-start, var(--md-checkbox-container-shape, 2px));display:inline-flex;height:var(--md-checkbox-container-size, 18px);position:relative;vertical-align:top;width:var(--md-checkbox-container-size, 18px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-checkbox-container-size, 18px))/2)}md-focus-ring{height:44px;inset:unset;width:44px}input{appearance:none;height:48px;margin:0;opacity:0;outline:none;position:absolute;width:48px;z-index:1;cursor:inherit}:host([touch-target=none]) input{height:100%;width:100%}.container{border-radius:inherit;display:flex;height:100%;place-content:center;place-items:center;position:relative;width:100%}.outline,.background,.icon{inset:0;position:absolute}.outline,.background{border-radius:inherit}.outline{border-color:var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant, #49454f));border-style:solid;border-width:var(--md-checkbox-outline-width, 2px);box-sizing:border-box}.background{background-color:var(--md-checkbox-selected-container-color, var(--md-sys-color-primary, #6750a4))}.background,.icon{opacity:0;transition-duration:150ms,50ms;transition-property:transform,opacity;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15),linear;transform:scale(0.6)}:where(.selected) :is(.background,.icon){opacity:1;transition-duration:350ms,50ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1),linear;transform:scale(1)}md-ripple{border-radius:var(--md-checkbox-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));height:var(--md-checkbox-state-layer-size, 40px);inset:unset;width:var(--md-checkbox-state-layer-size, 40px);--md-ripple-hover-color: var(--md-checkbox-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-checkbox-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-checkbox-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-checkbox-pressed-state-layer-opacity, 0.12)}.selected md-ripple{--md-ripple-hover-color: var(--md-checkbox-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-checkbox-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-checkbox-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-checkbox-selected-pressed-state-layer-opacity, 0.12)}.icon{fill:var(--md-checkbox-selected-icon-color, var(--md-sys-color-on-primary, #fff));height:var(--md-checkbox-icon-size, 18px);width:var(--md-checkbox-icon-size, 18px)}.mark.short{height:2px;transition-property:transform,height;width:2px}.mark.long{height:2px;transition-property:transform,width;width:10px}.mark{animation-duration:150ms;animation-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15);transition-duration:150ms;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15)}.selected .mark{animation-duration:350ms;animation-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1);transition-duration:350ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1)}.checked .mark,.prev-checked.unselected .mark{transform:scaleY(-1) translate(7px, -14px) rotate(45deg)}.checked .mark.short,.prev-checked.unselected .mark.short{height:5.6568542495px}.checked .mark.long,.prev-checked.unselected .mark.long{width:11.313708499px}.indeterminate .mark,.prev-indeterminate.unselected .mark{transform:scaleY(-1) translate(4px, -10px) rotate(0deg)}.prev-unselected .mark{transition-property:none}.prev-unselected.checked .mark.long{animation-name:prev-unselected-to-checked}@keyframes prev-unselected-to-checked{from{width:0}}:where(:hover) .outline{border-color:var(--md-checkbox-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-hover-outline-width, 2px)}:where(:hover) .background{background:var(--md-checkbox-selected-hover-container-color, var(--md-sys-color-primary, #6750a4))}:where(:hover) .icon{fill:var(--md-checkbox-selected-hover-icon-color, var(--md-sys-color-on-primary, #fff))}:where(:focus-within) .outline{border-color:var(--md-checkbox-focus-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-focus-outline-width, 2px)}:where(:focus-within) .background{background:var(--md-checkbox-selected-focus-container-color, var(--md-sys-color-primary, #6750a4))}:where(:focus-within) .icon{fill:var(--md-checkbox-selected-focus-icon-color, var(--md-sys-color-on-primary, #fff))}:where(:active) .outline{border-color:var(--md-checkbox-pressed-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-pressed-outline-width, 2px)}:where(:active) .background{background:var(--md-checkbox-selected-pressed-container-color, var(--md-sys-color-primary, #6750a4))}:where(:active) .icon{fill:var(--md-checkbox-selected-pressed-icon-color, var(--md-sys-color-on-primary, #fff))}:where(.disabled,.prev-disabled) :is(.background,.icon,.mark){animation-duration:0s;transition-duration:0s}:where(.disabled) .outline{border-color:var(--md-checkbox-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-disabled-outline-width, 2px);opacity:var(--md-checkbox-disabled-container-opacity, 0.38)}:where(.selected.disabled) .outline{visibility:hidden}:where(.selected.disabled) .background{background:var(--md-checkbox-selected-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-checkbox-selected-disabled-container-opacity, 0.38)}:where(.disabled) .icon{fill:var(--md-checkbox-selected-disabled-icon-color, var(--md-sys-color-surface, #fef7ff))}@media(forced-colors: active){.background{background-color:CanvasText}.selected.disabled .background{background-color:GrayText;opacity:1}.outline{border-color:CanvasText}.disabled .outline{border-color:GrayText;opacity:1}.icon{fill:Canvas}}
|
|
38220
38202
|
`;
|
|
38203
|
+
styles$1.styleSheet;
|
|
38221
38204
|
|
|
38222
38205
|
/**
|
|
38223
38206
|
* @license
|
|
@@ -38957,12 +38940,13 @@ function isFocusable(element) {
|
|
|
38957
38940
|
|
|
38958
38941
|
/**
|
|
38959
38942
|
* @license
|
|
38960
|
-
* Copyright
|
|
38943
|
+
* Copyright 2026 Google LLC
|
|
38961
38944
|
* SPDX-License-Identifier: Apache-2.0
|
|
38962
38945
|
*/
|
|
38963
38946
|
// Generated stylesheet for ./dialog/internal/dialog-styles.css.
|
|
38964
38947
|
const styles = i$7`:host{border-start-start-radius:var(--md-dialog-container-shape-start-start, var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px)));border-start-end-radius:var(--md-dialog-container-shape-start-end, var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px)));border-end-end-radius:var(--md-dialog-container-shape-end-end, var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px)));border-end-start-radius:var(--md-dialog-container-shape-end-start, var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px)));display:contents;margin:auto;max-height:min(560px,100% - 48px);max-width:min(560px,100% - 48px);min-height:140px;min-width:280px;position:fixed;height:fit-content;width:fit-content}dialog{background:rgba(0,0,0,0);border:none;border-radius:inherit;flex-direction:column;height:inherit;margin:inherit;max-height:inherit;max-width:inherit;min-height:inherit;min-width:inherit;outline:none;overflow:visible;padding:0;width:inherit}dialog[open]{display:flex}::backdrop{background:none}.scrim{background:var(--md-sys-color-scrim, #000);display:none;inset:0;opacity:32%;pointer-events:none;position:fixed;z-index:1}:host([open]) .scrim{display:flex}h2{all:unset;align-self:stretch}.headline{align-items:center;color:var(--md-dialog-headline-color, var(--md-sys-color-on-surface, #1d1b20));display:flex;flex-direction:column;font-family:var(--md-dialog-headline-font, var(--md-sys-typescale-headline-small-font, var(--md-ref-typeface-brand, Roboto)));font-size:var(--md-dialog-headline-size, var(--md-sys-typescale-headline-small-size, 1.5rem));line-height:var(--md-dialog-headline-line-height, var(--md-sys-typescale-headline-small-line-height, 2rem));font-weight:var(--md-dialog-headline-weight, var(--md-sys-typescale-headline-small-weight, var(--md-ref-typeface-weight-regular, 400)));position:relative}slot[name=headline]::slotted(*){align-items:center;align-self:stretch;box-sizing:border-box;display:flex;gap:8px;padding:24px 24px 0}.icon{display:flex}slot[name=icon]::slotted(*){color:var(--md-dialog-icon-color, var(--md-sys-color-secondary, #625b71));fill:currentColor;font-size:var(--md-dialog-icon-size, 24px);margin-top:24px;height:var(--md-dialog-icon-size, 24px);width:var(--md-dialog-icon-size, 24px)}.has-icon slot[name=headline]::slotted(*){justify-content:center;padding-top:16px}.scrollable slot[name=headline]::slotted(*){padding-bottom:16px}.scrollable.has-headline slot[name=content]::slotted(*){padding-top:8px}.container{border-radius:inherit;display:flex;flex-direction:column;flex-grow:1;overflow:hidden;position:relative;transform-origin:top}.container::before{background:var(--md-dialog-container-color, var(--md-sys-color-surface-container-high, #ece6f0));border-radius:inherit;content:"";inset:0;position:absolute}.scroller{display:flex;flex:1;flex-direction:column;overflow:hidden;z-index:1}.scrollable .scroller{overflow-y:scroll}.content{color:var(--md-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-dialog-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-dialog-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-dialog-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));flex:1;font-weight:var(--md-dialog-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)));height:min-content;position:relative}slot[name=content]::slotted(*){box-sizing:border-box;padding:24px}.anchor{position:absolute}.top.anchor{top:0}.bottom.anchor{bottom:0}.actions{position:relative}slot[name=actions]::slotted(*){box-sizing:border-box;display:flex;gap:8px;justify-content:flex-end;padding:16px 24px 24px}.has-actions slot[name=content]::slotted(*){padding-bottom:8px}md-divider{display:none;position:absolute}.has-headline.show-top-divider .headline md-divider,.has-actions.show-bottom-divider .actions md-divider{display:flex}.headline md-divider{bottom:0}.actions md-divider{top:0}@media(forced-colors: active){dialog{outline:2px solid WindowText}}
|
|
38965
38948
|
`;
|
|
38949
|
+
styles.styleSheet;
|
|
38966
38950
|
|
|
38967
38951
|
/**
|
|
38968
38952
|
* @license
|
|
@@ -39088,7 +39072,7 @@ let UpdateConnectionsDialog = class extends i$4 {
|
|
|
39088
39072
|
if (!node) return;
|
|
39089
39073
|
const paths = this._getAttributePathsForNode(nodeIdStr);
|
|
39090
39074
|
if (paths.length === 0) return;
|
|
39091
|
-
await this.client.readAttribute(node.node_id, paths);
|
|
39075
|
+
await this.client.readAttribute(node.node_id, paths, void 0, true);
|
|
39092
39076
|
});
|
|
39093
39077
|
await Promise.all(updatePromises);
|
|
39094
39078
|
this._closeDialog();
|
|
@@ -50907,7 +50891,7 @@ MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
|
|
|
50907
50891
|
* SPDX-License-Identifier: Apache-2.0
|
|
50908
50892
|
*/
|
|
50909
50893
|
const showCommissionNodeDialog = async () => {
|
|
50910
|
-
await import('./commission-node-dialog-
|
|
50894
|
+
await import('./commission-node-dialog-BwkiZy8i.js');
|
|
50911
50895
|
const dialog = document.createElement("commission-node-dialog");
|
|
50912
50896
|
document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
|
|
50913
50897
|
};
|
|
@@ -50918,7 +50902,7 @@ const showCommissionNodeDialog = async () => {
|
|
|
50918
50902
|
* SPDX-License-Identifier: Apache-2.0
|
|
50919
50903
|
*/
|
|
50920
50904
|
const showFabricLabelDialog = async (client, currentLabel, onSaved) => {
|
|
50921
|
-
await import('./fabric-label-dialog-
|
|
50905
|
+
await import('./fabric-label-dialog-FE4tGieS.js');
|
|
50922
50906
|
const dialog = document.createElement("fabric-label-dialog");
|
|
50923
50907
|
dialog.client = client;
|
|
50924
50908
|
dialog.currentLabel = currentLabel;
|