{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-radio_2-ios.entry.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/watch-options-2af96011.js"],"names":["Radio","prototype","colorChanged","this","emitStyle","checkedChanged","isChecked","ionSelect","emit","checked","value","disabledChanged","componentWillLoad","undefined","inputId","ionStyle","disabled","render","_b","color","el","mode","labelId","label","id","onClick","role","class","Object","assign","_a","type","onFocus","onBlur","defineProperty","get","enumerable","configurable","hostRef","_this","radioButtonIds","name","ionFocus","ionBlur","ionDeselect","RadioGroup","class_1","valueChanged","updateRadios","ionChange","connectedCallback","radio","header","querySelector","componentOnReady","sent","mutationO","newOption","then","disconnectedCallback","disconnect","radios","hasChecked","_i","radios_1","getRadios","length","Promise","all","Array","from","querySelectorAll","map","r","onIonSelect","onSelect","onIonDeselect","allowEmptySelection","onDeselect","radioGroupIds","ev","selectedRadio","target","hostContext","selector","closest","createColorClasses","getClassMap","classes","isArray","split","filter","c","trim","forEach","SCHEME","openURL","url","direction","router","test","document","preventDefault","push","watchForOptions","containerEl","tagName","onChange","mutation","MutationObserver","mutationList","getSelectedOption","observe","childList","subtree","mut","i","addedNodes","findCheckedOption","nodeType","toUpperCase","find","o"],"mappings":"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","file":"js/chunk-19749bdc.dabafd1b.js","sourcesContent":["import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, d as createEvent, c as getIonMode, h, H as Host, e as getElement } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nimport { f as findItemLabel } from './helpers-46f4a262.js';\nimport { c as createColorClasses, h as hostContext } from './theme-18cbe2cc.js';\nimport { f as findCheckedOption, w as watchForOptions } from './watch-options-2af96011.js';\nvar Radio = /** @class */ (function () {\n function Radio(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.inputId = \"ion-rb-\" + radioButtonIds++;\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 /**\n * If `true`, the radio is selected.\n */\n this.checked = false;\n this.onFocus = function () {\n _this.ionFocus.emit();\n };\n this.onBlur = function () {\n _this.ionBlur.emit();\n };\n this.onClick = function () {\n if (_this.checked) {\n _this.ionDeselect.emit();\n }\n else {\n _this.checked = true;\n }\n };\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionSelect = createEvent(this, \"ionSelect\", 7);\n this.ionDeselect = createEvent(this, \"ionDeselect\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n }\n Radio.prototype.colorChanged = function () {\n this.emitStyle();\n };\n Radio.prototype.checkedChanged = function (isChecked) {\n if (isChecked) {\n this.ionSelect.emit({\n checked: true,\n value: this.value\n });\n }\n this.emitStyle();\n };\n Radio.prototype.disabledChanged = function () {\n this.emitStyle();\n };\n Radio.prototype.componentWillLoad = function () {\n if (this.value === undefined) {\n this.value = this.inputId;\n }\n this.emitStyle();\n };\n Radio.prototype.emitStyle = function () {\n this.ionStyle.emit({\n 'radio-checked': this.checked,\n 'interactive-disabled': this.disabled,\n });\n };\n Radio.prototype.render = function () {\n var _a;\n var _b = this, inputId = _b.inputId, disabled = _b.disabled, checked = _b.checked, color = _b.color, el = _b.el;\n var mode = getIonMode(this);\n var labelId = inputId + '-lbl';\n var label = findItemLabel(el);\n if (label) {\n label.id = labelId;\n }\n return (h(Host, { onClick: this.onClick, role: \"radio\", \"aria-disabled\": disabled ? 'true' : null, \"aria-checked\": \"\" + checked, \"aria-labelledby\": labelId, class: Object.assign(Object.assign({}, createColorClasses(color)), (_a = {}, _a[mode] = true, _a['in-item'] = hostContext('ion-item', el), _a['interactive'] = true, _a['radio-checked'] = checked, _a['radio-disabled'] = disabled, _a)) }, h(\"div\", { class: \"radio-icon\" }, h(\"div\", { class: \"radio-inner\" })), h(\"button\", { type: \"button\", onFocus: this.onFocus, onBlur: this.onBlur, disabled: disabled })));\n };\n Object.defineProperty(Radio.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Radio, \"watchers\", {\n get: function () {\n return {\n \"color\": [\"colorChanged\"],\n \"checked\": [\"checkedChanged\"],\n \"disabled\": [\"disabledChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Radio, \"style\", {\n get: function () { return \":host{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;contain:layout size style}.radio-icon,button{width:100%;height:100%}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}:host-context([dir=rtl]) button,[dir=rtl] button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}: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:.3}:host(.ion-focused) .radio-icon:after{border-radius:50%;left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint,#4c8dff);content:\\\"\\\";opacity:.2}:host-context([dir=rtl]).ion-focused .radio-icon:after,:host-context([dir=rtl]):host(.ion-focused) .radio-icon:after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:8px;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:8px;margin-inline-start:8px;-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 enumerable: true,\n configurable: true\n });\n return Radio;\n}());\nvar radioButtonIds = 0;\nvar RadioGroup = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\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.onSelect = function (ev) {\n var selectedRadio = ev.target;\n if (selectedRadio) {\n _this.value = selectedRadio.value;\n }\n };\n this.onDeselect = function (ev) {\n var selectedRadio = ev.target;\n if (selectedRadio) {\n selectedRadio.checked = false;\n _this.value = undefined;\n }\n };\n this.ionChange = createEvent(this, \"ionChange\", 7);\n }\n class_1.prototype.valueChanged = function (value) {\n this.updateRadios();\n this.ionChange.emit({ value: value });\n };\n class_1.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var el, header, label, radio;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n el = this.el;\n header = el.querySelector('ion-list-header') || el.querySelector('ion-item-divider');\n if (header) {\n label = header.querySelector('ion-label');\n if (label) {\n this.labelId = label.id = this.name + '-lbl';\n }\n }\n if (!(this.value === undefined)) return [3 /*break*/, 2];\n radio = findCheckedOption(el, 'ion-radio');\n if (!(radio !== undefined)) return [3 /*break*/, 2];\n return [4 /*yield*/, radio.componentOnReady()];\n case 1:\n _a.sent();\n if (this.value === undefined) {\n this.value = radio.value;\n }\n _a.label = 2;\n case 2:\n this.mutationO = watchForOptions(el, 'ion-radio', function (newOption) {\n if (newOption !== undefined) {\n newOption.componentOnReady().then(function () {\n _this.value = newOption.value;\n });\n }\n else {\n _this.updateRadios();\n }\n });\n this.updateRadios();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.disconnectedCallback = function () {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n };\n class_1.prototype.updateRadios = function () {\n return __awaiter(this, void 0, void 0, function () {\n var radios, value, hasChecked, _i, radios_1, radio;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getRadios()];\n case 1:\n radios = _a.sent();\n value = this.value;\n hasChecked = false;\n // Walk the DOM in reverse order, since the last selected one wins!\n for (_i = 0, radios_1 = radios; _i < radios_1.length; _i++) {\n radio = radios_1[_i];\n if (!hasChecked && radio.value === value) {\n // correct value for this radio\n // but this radio isn't checked yet\n // and we haven't found a checked yet\n hasChecked = true;\n radio.checked = true;\n }\n else {\n // this radio doesn't have the correct value\n // or the radio group has been already checked\n radio.checked = false;\n }\n }\n // Reset value if\n if (!hasChecked) {\n this.value = undefined;\n }\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.getRadios = function () {\n return Promise.all(Array\n .from(this.el.querySelectorAll('ion-radio'))\n .map(function (r) { return r.componentOnReady(); }));\n };\n class_1.prototype.render = function () {\n return (h(Host, { role: \"radiogroup\", \"aria-labelledby\": this.labelId, onIonSelect: this.onSelect, onIonDeselect: this.allowEmptySelection ? this.onDeselect : undefined, class: getIonMode(this) }));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"watchers\", {\n get: function () {\n return {\n \"value\": [\"valueChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar radioGroupIds = 0;\nexport { Radio as ion_radio, RadioGroup as ion_radio_group };\n","import { __awaiter, __generator } from \"tslib\";\nvar hostContext = function (selector, el) {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nvar createColorClasses = function (color) {\n var _a;\n return (typeof color === 'string' && color.length > 0) ? (_a = {\n 'ion-color': true\n },\n _a[\"ion-color-\" + color] = true,\n _a) : undefined;\n};\nvar getClassList = function (classes) {\n if (classes !== undefined) {\n var array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter(function (c) { return c != null; })\n .map(function (c) { return c.trim(); })\n .filter(function (c) { return c !== ''; });\n }\n return [];\n};\nvar getClassMap = function (classes) {\n var map = {};\n getClassList(classes).forEach(function (c) { return map[c] = true; });\n return map;\n};\nvar SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nvar openURL = function (url, ev, direction) { return __awaiter(void 0, void 0, void 0, function () {\n var router;\n return __generator(this, function (_a) {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return [2 /*return*/, router.push(url, direction)];\n }\n }\n return [2 /*return*/, false];\n });\n}); };\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","var watchForOptions = function (containerEl, tagName, onChange) {\n var mutation = new MutationObserver(function (mutationList) {\n onChange(getSelectedOption(mutationList, tagName));\n });\n mutation.observe(containerEl, {\n childList: true,\n subtree: true\n });\n return mutation;\n};\nvar getSelectedOption = function (mutationList, tagName) {\n var newOption;\n mutationList.forEach(function (mut) {\n // tslint:disable-next-line: prefer-for-of\n for (var i = 0; i < mut.addedNodes.length; i++) {\n newOption = findCheckedOption(mut.addedNodes[i], tagName) || newOption;\n }\n });\n return newOption;\n};\nvar findCheckedOption = function (el, tagName) {\n if (el.nodeType !== 1) {\n return undefined;\n }\n var options = (el.tagName === tagName.toUpperCase())\n ? [el]\n : Array.from(el.querySelectorAll(tagName));\n return options.find(function (o) { return o.checked === true; });\n};\nexport { findCheckedOption as f, watchForOptions as w };\n"],"sourceRoot":""}