-
Notifications
You must be signed in to change notification settings - Fork 0
/
24-es5.js.map
1 lines (1 loc) · 22.4 KB
/
24-es5.js.map
1
{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js"],"names":["radioIosCss","radioMdCss","Radio","hostRef","ionStyle","ionFocus","ionBlur","inputId","radioButtonIds","radioGroup","checked","buttonTabindex","name","disabled","updateState","value","onFocus","emit","onBlur","ev","stopPropagation","preventDefault","el","focus","undefined","closest","emitStyle","color","mode","label","labelId","labelText","role","tabindex","part","htmlFor","type","id","style","ios","md","RadioGroup","ionChange","radioGroupIds","allowEmptySelection","setRadioTabindex","radios","getRadios","first","find","radio","focusable","setButtonTabindex","onClick","selectedRadio","target","currentValue","newValue","header","querySelector","Array","from","querySelectorAll","inSelectPopover","contains","filter","includes","index","findIndex","current","next","code","length","setFocus"],"mappings":"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","file":"24-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as addEventListener, b as removeEventListener, c as getAriaLabel } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst radioIosCss = \":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}: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}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}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{--color-checked:var(--ion-color-primary, #3880ff);width:15px;height:24px}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-radio.item-ios ion-label{margin-left:unset;-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:2px;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);left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\\\"\\\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:10px;margin-right:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:11px;margin-inline-end:11px}}:host(.in-item[slot=start]){margin-left:3px;margin-right:21px;margin-top:8px;margin-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px}}\";\n\nconst radioMdCss = \":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}: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}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}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{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}: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){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\\\"\\\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}\";\n\nconst Radio = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.inputId = `ion-rb-${radioButtonIds++}`;\n this.radioGroup = null;\n /**\n * If `true`, the radio is selected.\n */\n this.checked = false;\n /**\n * The tabindex of the radio button.\n * @internal\n */\n this.buttonTabindex = -1;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot interact with the radio.\n */\n this.disabled = false;\n this.updateState = () => {\n if (this.radioGroup) {\n this.checked = this.radioGroup.value === this.value;\n }\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n /** @internal */\n async setFocus(ev) {\n ev.stopPropagation();\n ev.preventDefault();\n this.el.focus();\n }\n /** @internal */\n async setButtonTabindex(value) {\n this.buttonTabindex = value;\n }\n connectedCallback() {\n if (this.value === undefined) {\n this.value = this.inputId;\n }\n const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');\n if (radioGroup) {\n this.updateState();\n addEventListener(radioGroup, 'ionChange', this.updateState);\n }\n }\n disconnectedCallback() {\n const radioGroup = this.radioGroup;\n if (radioGroup) {\n removeEventListener(radioGroup, 'ionChange', this.updateState);\n this.radioGroup = null;\n }\n }\n componentWillLoad() {\n this.emitStyle();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'radio-checked': this.checked,\n 'interactive-disabled': this.disabled,\n });\n }\n render() {\n const { inputId, disabled, checked, color, el, buttonTabindex } = this;\n const mode = getIonMode(this);\n const { label, labelId, labelText } = getAriaLabel(el, inputId);\n return (h(Host, { \"aria-checked\": `${checked}`, \"aria-hidden\": disabled ? 'true' : null, \"aria-labelledby\": label ? labelId : null, role: \"radio\", tabindex: buttonTabindex, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'interactive': true,\n 'radio-checked': checked,\n 'radio-disabled': disabled,\n }) }, h(\"div\", { class: \"radio-icon\", part: \"container\" }, h(\"div\", { class: \"radio-inner\", part: \"mark\" }), h(\"div\", { class: \"radio-ripple\" })), h(\"label\", { htmlFor: inputId }, labelText), h(\"input\", { type: \"radio\", checked: checked, disabled: disabled, tabindex: \"-1\", id: inputId })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"emitStyle\"],\n \"checked\": [\"emitStyle\"],\n \"disabled\": [\"emitStyle\"]\n }; }\n};\nlet radioButtonIds = 0;\nRadio.style = {\n ios: radioIosCss,\n md: radioMdCss\n};\n\nconst RadioGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.inputId = `ion-rg-${radioGroupIds++}`;\n this.labelId = `${this.inputId}-lbl`;\n /**\n * If `true`, the radios can be deselected.\n */\n this.allowEmptySelection = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n this.setRadioTabindex = (value) => {\n const radios = this.getRadios();\n // Get the first radio that is not disabled and the checked one\n const first = radios.find(radio => !radio.disabled);\n const checked = radios.find(radio => (radio.value === value && !radio.disabled));\n if (!first && !checked) {\n return;\n }\n // If an enabled checked radio exists, set it to be the focusable radio\n // otherwise we default to focus the first radio\n const focusable = checked || first;\n for (const radio of radios) {\n const tabindex = radio === focusable ? 0 : -1;\n radio.setButtonTabindex(tabindex);\n }\n };\n this.onClick = (ev) => {\n ev.preventDefault();\n const selectedRadio = ev.target && ev.target.closest('ion-radio');\n if (selectedRadio) {\n const currentValue = this.value;\n const newValue = selectedRadio.value;\n if (newValue !== currentValue) {\n this.value = newValue;\n }\n else if (this.allowEmptySelection) {\n this.value = undefined;\n }\n }\n };\n }\n valueChanged(value) {\n this.setRadioTabindex(value);\n this.ionChange.emit({ value });\n }\n componentDidLoad() {\n this.setRadioTabindex(this.value);\n }\n async connectedCallback() {\n // Get the list header if it exists and set the id\n // this is used to set aria-labelledby\n const header = this.el.querySelector('ion-list-header') || this.el.querySelector('ion-item-divider');\n if (header) {\n const label = this.label = header.querySelector('ion-label');\n if (label) {\n this.labelId = label.id = this.name + '-lbl';\n }\n }\n }\n getRadios() {\n return Array.from(this.el.querySelectorAll('ion-radio'));\n }\n onKeydown(ev) {\n const inSelectPopover = !!this.el.closest('ion-select-popover');\n if (ev.target && !this.el.contains(ev.target)) {\n return;\n }\n // Get all radios inside of the radio group and then\n // filter out disabled radios since we need to skip those\n const radios = Array.from(this.el.querySelectorAll('ion-radio')).filter(radio => !radio.disabled);\n // Only move the radio if the current focus is in the radio group\n if (ev.target && radios.includes(ev.target)) {\n const index = radios.findIndex(radio => radio === ev.target);\n const current = radios[index];\n let next;\n // If hitting arrow down or arrow right, move to the next radio\n // If we're on the last radio, move to the first radio\n if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {\n next = (index === radios.length - 1)\n ? radios[0]\n : radios[index + 1];\n }\n // If hitting arrow up or arrow left, move to the previous radio\n // If we're on the first radio, move to the last radio\n if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {\n next = (index === 0)\n ? radios[radios.length - 1]\n : radios[index - 1];\n }\n if (next && radios.includes(next)) {\n next.setFocus(ev);\n if (!inSelectPopover) {\n this.value = next.value;\n }\n }\n // Update the radio group value when a user presses the\n // space bar on top of a selected radio (only applies\n // to radios in a select popover)\n if (['Space'].includes(ev.code)) {\n this.value = current.value;\n }\n }\n }\n render() {\n const { label, labelId } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"radiogroup\", \"aria-labelledby\": label ? labelId : null, onClick: this.onClick, class: mode }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"value\": [\"valueChanged\"]\n }; }\n};\nlet radioGroupIds = 0;\n\nexport { Radio as ion_radio, RadioGroup as ion_radio_group };\n"]}