1fb726d48Sopenharmony_ci/* 2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci * You may obtain a copy of the License at 6fb726d48Sopenharmony_ci * 7fb726d48Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci * 9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci * limitations under the License. 14fb726d48Sopenharmony_ci */ 15fb726d48Sopenharmony_ci 16fb726d48Sopenharmony_ciimport { BaseElement, element } from '../BaseElement'; 17fb726d48Sopenharmony_ciimport { LitRadioBox } from './LitRadioBox'; 18fb726d48Sopenharmony_ci 19fb726d48Sopenharmony_ci@element('lit-radio-group') 20fb726d48Sopenharmony_ciexport class LitRadioGroup extends BaseElement { 21fb726d48Sopenharmony_ci static get observedAttributes(): string[] { 22fb726d48Sopenharmony_ci return ['direction']; 23fb726d48Sopenharmony_ci } 24fb726d48Sopenharmony_ci 25fb726d48Sopenharmony_ci set layout(vale: string) { 26fb726d48Sopenharmony_ci this.setAttribute('layout', vale); 27fb726d48Sopenharmony_ci } 28fb726d48Sopenharmony_ci 29fb726d48Sopenharmony_ci get direction(): string | null { 30fb726d48Sopenharmony_ci return this.getAttribute('direction'); 31fb726d48Sopenharmony_ci } 32fb726d48Sopenharmony_ci 33fb726d48Sopenharmony_ci get value(): Array<string> { 34fb726d48Sopenharmony_ci const radio = this.querySelector('lit-radio[checked]') as LitRadioBox; 35fb726d48Sopenharmony_ci return radio ? [radio.value] : []; 36fb726d48Sopenharmony_ci } 37fb726d48Sopenharmony_ci 38fb726d48Sopenharmony_ci initElements(): void {} 39fb726d48Sopenharmony_ci 40fb726d48Sopenharmony_ci //方向 41fb726d48Sopenharmony_ci initHtml(): string { 42fb726d48Sopenharmony_ci return ` 43fb726d48Sopenharmony_ci <style> 44fb726d48Sopenharmony_ci :host([direction]) { 45fb726d48Sopenharmony_ci flex-direction: ${this.direction}; 46fb726d48Sopenharmony_ci } 47fb726d48Sopenharmony_ci :host { 48fb726d48Sopenharmony_ci display: -webkit-flex; 49fb726d48Sopenharmony_ci display: flex; 50fb726d48Sopenharmony_ci flex-direction: column; 51fb726d48Sopenharmony_ci } 52fb726d48Sopenharmony_ci :host([layout="compact"]) { 53fb726d48Sopenharmony_ci gap:5px; 54fb726d48Sopenharmony_ci } 55fb726d48Sopenharmony_ci :host([layout="dispersion"]) { 56fb726d48Sopenharmony_ci gap:10px; 57fb726d48Sopenharmony_ci } 58fb726d48Sopenharmony_ci :host(:not([direction])) { 59fb726d48Sopenharmony_ci flex-direction: column; 60fb726d48Sopenharmony_ci } 61fb726d48Sopenharmony_ci </style> 62fb726d48Sopenharmony_ci <slot class="radio-group"></slot>`; 63fb726d48Sopenharmony_ci } 64fb726d48Sopenharmony_ci} 65