PageSourceSearch

https://stridenavigation.com/chunk-S4XGUXKP.js

js stridenavigation.com collected 2026-09-24 14:57:18 UTC 23,587 bytes, 406 lines download raw bytes

1import {
2  isOptionSelected
3} from "./chunk-JLRU7REN.js";
4import {
5  createColorClasses,
6  hostContext
7} from "./chunk-O5S42IXR.js";
8import {
9  getIonMode
10} from "./chunk-C46CB72A.js";
11import {
12  Host,
13  createEvent,
14  getElement,
15  h,
16  registerInstance
17} from "./chunk-SRPSML5O.js";
18import {
19  addEventListener,
20  removeEventListener,
21  renderHiddenInput
22} from "./chunk-NRSVX4KN.js";
23import {
24  __async
25} from "./chunk-CO64IJQE.js";
26
27// node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js
28var radioIosCss = ':host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}
28:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color-checked:var(--ion-color-primary, #0054e9)}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{-webkit-margin-start:0;margin-inline-start:0}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:"";opacity:0.2}:host(.ion-focused) .radio-icon::after{inset-inline-start:-9px}.native-wrapper .radio-icon{width:0.9375rem;height:1.5rem}';
29var IonRadioIosStyle0 = radioIosCss;
30var radioMdCss = ':host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;
30max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #0054e9);--border-width:0.125rem;--border-style:solid;--border-radius:50%}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled) .label-text-wrapper{opacity:0.38}:host(.radio-disabled) .native-wrapper{opacity:0.63}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:"";opacity:0.2}.native-wrapper .radio-icon{width:1.25rem;height:1.25rem}';
31var IonRadioMdStyle0 = radioMdCss;
32var Radio = class {
33  constructor(hostRef) {
34    registerInstance(this, hostRef);
35    this.ionFocus = createEvent(this, "ionFocus", 7);
36    this.ionBlur = createEvent(this, "ionBlur", 7);
37    this.inputId = `ion-rb-${radioButtonIds++}`;
38    this.radioGroup = null;
39    this.updateState = () => {
40      if (this.radioGroup) {
41        const {
42          compareWith,
43          value: radioGroupValue
44        } = this.radioGroup;
45        this.checked = isOptionSelected(radioGroupValue, this.value, compareWith);
46      }
47    };
48    this.onClick = () => {
49      const {
50        radioGroup,
51        checked,
52        disabled
53      } = this;
54      if (disabled) {
55        return;
56      }
57      if (checked && (radioGroup === null || radioGroup === void 0 ? void 0 : radioGroup.allowEmptySelection)) {
58        this.checked = false;
59      } else {
60        this.checked = true;
61      }
62    };
63    this.onFocus = () => {
64      this.ionFocus.emit();
65    };
66    this.onBlur = () => {
67      this.ionBlur.emit();
68    };
69    this.checked = false;
70    this.buttonTabindex = -1;
71    this.color = void 0;
72    this.name = this.inputId;
73    this.disabled = false;
74    this.value = void 0;
75    this.labelPlacement = "start";
76    this.justify = void 0;
77    this.alignment = void 0;
78  }
79  valueChanged() {
80    this.updateState();
81  }
82  componentDidLoad() {
83    this.updateState();
84  }
85  /** @internal */
86  setFocus(ev) {
87    return __async(this, null, function* () {
88      if (ev !== void 0) {
89        ev.stopPropagation();
90        ev.preventDefault();
91      }
92      this.el.focus();
93    });
94  }
95  /** @internal */
96  setButtonTabindex(value) {
97    return __async(this, null, function* () {
98      this.buttonTabindex = value;
99    });
100  }
101  connectedCallback() {
102    if (this.value === void 0) {
103      this.value = this.inputId;
104    }
105    const radioGroup = this.radioGroup = this.el.closest("ion-radio-group");
106    if (radioGroup) {
107      this.updateState();
108      addEventListener(radioGroup, "ionValueChange", this.updateState);
109    }
110  }
111  disconnectedCallback() {
112    const radioGroup = this.radioGroup;
113    if (radioGroup) {
114      removeEventListener(radioGroup, "ionValueChange", this.updateState);
115      this.radioGroup = null;
116    }
117  }
118  get hasLabel() {
119    return this.el.textContent !== "";
120  }
121  renderRadioControl() {
122    return h("div", {
123      class: "radio-icon",
124      part: "container"
125    }, h("div", {
126      class: "radio-inner",
127      part: "mark"
128    }), h("div", {
129      class: "radio-ripple"
130    }));
131  }
132  render() {
133    const {
134      checked,
135      disabled,
136      color,
137      el,
138      justify,
139      labelPlacement,
140      hasLabel,
141      buttonTabindex,
142      alignment
143    } = this;
144    const mode = getIonMode(this);
145    const inItem = hostContext("ion-item", el);
146    return h(Host, {
147      key: "8badd4aec277addc0793e14df21f73bb345e99b7",
148      onFocus: this.onFocus,
149      onBlur: this.onBlur,
150      onClick: this.onClick,
151      class: createColorClasses(color, {
152        [mode]: true,
153        "in-item": inItem,
154        "radio-checked": checked,
155        "radio-disabled": disabled,
156        [`radio-justify-${justify}`]: justify !== void 0,
157        [`radio-alignment-${alignment}`]: alignment !== void 0,
158        [`radio-label-placement-${labelPlacement}`]: true,
159        // Focus and active styling should not apply when the radio is in an item
160        "ion-activatable": !inItem,
161        "ion-focusable": !inItem
162      }),
163      role: "radio",
164      "aria-checked": checked ? "true" : "false",
165      "aria-disabled": disabled ? "true" : null,
166      tabindex: buttonTabindex
167    }, h("label", {
168      key: "8765b847edc93a1b5a16506e155ed03da807bb10",
169      class: "radio-wrapper"
170    }, h("div", {
171      key: "3d568a0192a32d4f0b8a920019c79ff02639b5c9",
172      class: {
173        "label-text-wrapper": true,
174        "label-text-wrapper-hidden": !hasLabel
175      },
176      part: "label"
177    }, h("slot", {
178      key: "331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85"
179    })), h("div", {
180      key: "473bd4aaf448753e385f2dda3fddc9f56379aa19",
181      class: "native-wrapper"
182    }, this.renderRadioControl())));
183  }
184  get el() {
185    return getElement(this);
186  }
187  static get watchers() {
188    return {
189      "value": ["valueChanged"]
190    };
191  }
192};
193var radioButtonIds = 0;
194Radio.style = {
195  ios: IonRadioIosStyle0,
196  md: IonRadioMdStyle0
197};
198var radioGroupIosCss = "ion-radio-group{vertical-align:top}.radio-group-wrapper{display:inline}.radio-group-top{line-height:1.5}.radio-group-top .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-group-top .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid .radio-group-top .error-text{display:block}.ion-touched.ion-invalid .radio-group-top .helper-text{display:none}ion-list .radio-group-top{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}";
199var IonRadioGroupIosStyle0 = radioGroupIosCss;
200var radioGroupMdCss = "ion-radio-group{vertical-align:top}.radio-group-wrapper{display:inline}.radio-group-top{line-height:1.5}.radio-group-top .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-group-top .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid .radio-group-top .error-text{display:block}.ion-touched.ion-invalid .radio-group-top .helper-text{display:none}ion-list .radio-group-top{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}";
201var IonRadioGroupMdStyle0 = radioGroupMdCss;
202var RadioGroup = class {
203  constructor(hostRef) {
204    registerInstance(this, hostRef);
205    this.ionChange = createEvent(this, "ionChange", 7);
206    this.ionValueChange = createEvent(this, "ionValueChange", 7);
207    this.inputId = `ion-rg-${radioGroupIds++}`;
208    this.helperTextId = `${this.inputId}-helper-text`;
209    this.errorTextId = `${this.inputId}-error-text`;
210    this.labelId = `${this.inputId}-lbl`;
211    this.setRadioTabindex = (value) => {
212      const radios = this.getRadios();
213      const first = radios.find((radio) => !radio.disabled);
214      const checked = radios.find((radio) => radio.value === value && !radio.disabled);
215      if (!first && !checked) {
216        return;
217      }
218      const focusable = checked || first;
219      for (const radio of radios) {
220        const tabindex = radio === focusable ? 0 : -1;
221        radio.setButtonTabindex(tabindex);
222      }
223    };
224    this.onClick = (ev) => {
225      ev.preventDefault();
226      const selectedRadio = ev.target && ev.target.closest("ion-radio");
227      if (selectedRadio && !selectedRadio.disabled) {
228        const currentValue = this.value;
229        const newValue = selectedRadio.value;
230        if (newValue !== currentValue) {
231          this.value = newValue;
232          this.emitValueChange(ev);
233        } else if (this.allowEmptySelection) {
234          this.value = void 0;
235          this.emitValueChange(ev);
236        }
237      }
238    };
239    this.allowEmptySelection = false;
240    this.compareWith = void 0;
241    this.name = this.inputId;
242    this.value = void 0;
243    this.helperText = void 0;
244    this.errorText = void 0;
245  }
246  valueChanged(value) {
247    this.setRadioTabindex(value);
248    this.ionValueChange.emit({
249      value
250    });
251  }
252  componentDidLoad() {
253    this.valueChanged(this.value);
254  }
255  connectedCallback() {
256    return __async(this, null, function* () {
257      const header = this.el.querySelector("ion-list-header") || this.el.querySelector("ion-item-divider");
258      if (header) {
259        const label = this.label = header.querySelector("ion-label");
260        if (label) {
261          this.labelId = label.id = this.name + "-lbl";
262        }
263      }
264    });
265  }
266  getRadios() {
267    return Array.from(this.el.querySelectorAll("ion-radio"));
268  }
269  /**
270   * Emits an `ionChange` event.
271   *
272   * This API should be called for user committed changes.
273   * This API should not be used for external value changes.
274   */
275  emitValueChange(event) {
276    const {
277      value
278    } = this;
279    this.ionChange.emit({
280      value,
281      event
282    });
283  }
284  onKeydown(ev) {
285    const inSelectInterface = !!this.el.closest("ion-select-popover") || !!this.el.closest("ion-select-modal");
286    if (ev.target && !this.el.contains(ev.target)) {
287      return;
288    }
289    const radios = this.getRadios().filter((radio) => !radio.disabled);
290    if (ev.target && radios.includes(ev.target)) {
291      const index = radios.findIndex((radio) => radio === ev.target);
292      const current = radios[index];
293      let next;
294      if (["ArrowDown", "ArrowRight"].includes(ev.key)) {
295        next = index === radios.length - 1 ? radios[0] : radios[index + 1];
296      }
297      if (["ArrowUp", "ArrowLeft"].includes(ev.key)) {
298        next = index === 0 ? radios[radios.length - 1] : radios[index - 1];
299      }
300      if (next && radios.includes(next)) {
301        next.setFocus(ev);
302        if (!inSelectInterface) {
303          this.value = next.value;
304          this.emitValueChange(ev);
305        }
306      }
307      if ([" "].includes(ev.key)) {
308        const previousValue = this.value;
309        this.value = this.allowEmptySelection && this.value !== void 0 ? void 0 : current.value;
310        if (previousValue !== this.value || this.allowEmptySelection) {
311          this.emitValueChange(ev);
312        }
313        ev.preventDefault();
314      }
315    }
316  }
317  /** @internal */
318  setFocus() {
319    return __async(this, null, function* () {
320      const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
321      radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
322    });
323  }
324  /**
325   * Renders the helper text or error text values
326   */
327  renderHintText() {
328    const {
329      helperText,
330      errorText,
331      helperTextId,
332      errorTextId
333    } = this;
334    const hasHintText = !!helperText || !!errorText;
335    if (!hasHintText) {
336      return;
337    }
338    return h("div", {
339      class: "radio-group-top"
340    }, h("div", {
341      id: helperTextId,
342      class: "helper-text"
343    }, helperText), h("div", {
344      id: errorTextId,
345      class: "error-text"
346    }, errorText));
347  }
348  getHintTextID() {
349    const {
350      el,
351      helperText,
352      errorText,
353      helperTextId,
354      errorTextId
355    } = this;
356    if (el.classList.contains("ion-touched") && el.classList.contains("ion-invalid") && errorText) {
357      return errorTextId;
358    }
359    if (helperText) {
360      return helperTextId;
361    }
362    return void 0;
363  }
364  render() {
365    const {
366      label,
367      labelId,
368      el,
369      name,
370      value
371    } = this;
372    const mode = getIonMode(this);
373    renderHiddenInput(true, el, name, value, false);
374    return h(Host, {
375      key: "cac92777297029d7fd1b6af264d92850e35dfbba",
376      role: "radiogroup",
377      "aria-labelledby": label ? labelId : null,
378      "aria-describedby": this.getHintTextID(),
379      "aria-invalid": this.getHintTextID() === this.errorTextId,
380      onClick: this.onClick,
381      class: mode
382    }, this.renderHintText(), h("div", {
383      key: "6b5c634dba30d54eedc031b077863f3d6a9d9e9b",
384      class: "radio-group-wrapper"
385    }, h("slot", {
386      key: "443edb3ff6f4c59d4c4324c8a19f2d6def47a322"
387    }
387)));
388  }
389  get el() {
390    return getElement(this);
391  }
392  static get watchers() {
393    return {
394      "value": ["valueChanged"]
395    };
396  }
397};
398var radioGroupIds = 0;
399RadioGroup.style = {
400  ios: IonRadioGroupIosStyle0,
401  md: IonRadioGroupMdStyle0
402};
403export {
404  Radio as ion_radio,
405  RadioGroup as ion_radio_group
406};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.