c7c7cef1ce4ee6ff65d8e19ce351723e329da4f3e58deca063d05a4add403512.json 23 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';\nimport { e as renderHiddenInput } from './helpers.js';\nimport { b as getIonMode } from './ionic-global.js';\nconst RadioGroup = /*@__PURE__*/proxyCustomElement(class RadioGroup extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionValueChange = createEvent(this, \"ionValueChange\", 7);\n this.inputId = `ion-rg-${radioGroupIds++}`;\n this.labelId = `${this.inputId}-lbl`;\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 /**\n * The Radio Group component mandates that only one radio button\n * within the group can be selected at any given time. Since `ion-radio`\n * is a shadow DOM component, it cannot natively perform this behavior\n * using the `name` attribute.\n */\n const selectedRadio = ev.target && ev.target.closest('ion-radio');\n /**\n * Our current disabled prop definition causes Stencil to mark it\n * as optional. While this is not desired, fixing this behavior\n * in Stencil is a significant breaking change, so this effort is\n * being de-risked in STENCIL-917. Until then, we compromise\n * here by checking for falsy `disabled` values instead of strictly\n * checking `disabled === false`.\n */\n if (selectedRadio && !selectedRadio.disabled) {\n const currentValue = this.value;\n const newValue = selectedRadio.value;\n if (newValue !== currentValue) {\n this.value = newValue;\n this.emitValueChange(ev);\n } else if (this.allowEmptySelection) {\n this.value = undefined;\n this.emitValueChange(ev);\n }\n }\n };\n this.allowEmptySelection = false;\n this.compareWith = undefined;\n this.name = this.inputId;\n this.value = undefined;\n }\n valueChanged(value) {\n this.setRadioTabindex(value);\n this.ionValueChange.emit({\n value\n });\n }\n componentDidLoad() {\n /**\n * There's an issue when assigning a value to the radio group\n * within the Angular primary content (rendering within the\n * app component template). When the template is isolated to a route,\n * the value is assigned correctly.\n * To address this issue, we need to ensure that the watcher is\n * called after the component has finished loading,\n * allowing the emit to be dispatched correctly.\n */\n this.valueChanged(this.value);\n }\n connectedCallback() {\n var _this = this;\n return _asyncToGenerator(function* () {\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 }\n getRadios() {\n return Array.from(this.el.querySelectorAll('ion-radio'));\n }\n /**\n * Emits an `ionChange` event.\n *\n * This API should be called for user committed changes.\n * This API should not be used for external value changes.\n */\n emitValueChange(event) {\n const {\n value\n } = this;\n this.ionChange.emit({\n value,\n event\n });\n }\n onKeydown(ev) {\n // We don't want the value to automatically change/emit when the radio group is part of a select interface\n // as this will cause the interface to close when navigating through the radio group options\n const inSelectInterface = !!this.el.closest('ion-select-popover') || !!this.el.closest('ion-select-modal');\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 = this.getRadios().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.key)) {\n next = index === radios.length - 1 ? radios[0] : 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.key)) {\n next = index === 0 ? radios[radios.length - 1] : radios[index - 1];\n }\n if (next && radios.includes(next)) {\n next.setFocus(ev);\n if (!inSelectInterface) {\n this.value = next.value;\n this.emitValueChange(ev);\n }\n }\n // Update the radio group value when a user presses the\n // space bar on top of a selected radio\n if ([' '].includes(ev.key)) {\n const previousValue = this.value;\n this.value = this.allowEmptySelection && this.value !== undefined ? undefined : current.value;\n if (previousValue !== this.value || this.allowEmptySelection) {\n /**\n * Value change should only be emitted if the value is different,\n * such as selecting a new radio with the space bar or if\n * the radio group allows for empty selection and the user\n * is deselecting a checked radio.\n */\n this.emitValueChange(ev);\n }\n // Prevent browsers from jumping\n // to the bottom of the screen\n ev.preventDefault();\n }\n }\n }\n render() {\n const {\n label,\n labelId,\n el,\n name,\n value\n } = this;\n const mode = getIonMode(this);\n renderHiddenInput(true, el, name, value, false);\n return h(Host, {\n key: '99f543b9caa8e2d30a80e7ea7ecf6b6fdacc76eb',\n role: \"radiogroup\",\n \"aria-labelledby\": label ? labelId : null,\n onClick: this.onClick,\n class: mode\n });\n }\n get el() {\n return this;\n }\n static get watchers() {\n return {\n \"value\": [\"valueChanged\"]\n };\n }\n}, [0, \"ion-radio-group\", {\n \"allowEmptySelection\": [4, \"allow-empty-selection\"],\n \"compareWith\": [1, \"compare-with\"],\n \"name\": [1],\n \"value\": [1032]\n}, [[4, \"keydown\", \"onKeydown\"]], {\n \"value\": [\"valueChanged\"]\n}]);\nlet radioGroupIds = 0;\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-radio-group\"];\n components.forEach(tagName => {\n switch (tagName) {\n case \"ion-radio-group\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, RadioGroup);\n }\n break;\n }\n });\n}\nexport { RadioGroup as R, defineCustomElement as d };","map":{"version":3,"names":["proxyCustomElement","HTMLElement","createEvent","h","Host","e","renderHiddenInput","b","getIonMode","RadioGroup","constructor","__registerHost","ionChange","ionValueChange","inputId","radioGroupIds","labelId","setRadioTabindex","value","radios","getRadios","first","find","radio","disabled","checked","focusable","tabindex","setButtonTabindex","onClick","ev","preventDefault","selectedRadio","target","closest","currentValue","newValue","emitValueChange","allowEmptySelection","undefined","compareWith","name","valueChanged","emit","componentDidLoad","connectedCallback","_this","_asyncToGenerator","header","el","querySelector","label","id","Array","from","querySelectorAll","event","onKeydown","inSelectInterface","contains","filter","includes","index","findIndex","current","next","key","length","setFocus","previousValue","render","mode","role","class","watchers","defineCustomElement","customElements","components","forEach","tagName","get","define","R","d"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@ionic/core/components/radio-group.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';\nimport { e as renderHiddenInput } from './helpers.js';\nimport { b as getIonMode } from './ionic-global.js';\n\nconst RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionValueChange = createEvent(this, \"ionValueChange\", 7);\n this.inputId = `ion-rg-${radioGroupIds++}`;\n this.labelId = `${this.inputId}-lbl`;\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 /**\n * The Radio Group component mandates that only one radio button\n * within the group can be selected at any given time. Since `ion-radio`\n * is a shadow DOM component, it cannot natively perform this behavior\n * using the `name` attribute.\n */\n const selectedRadio = ev.target && ev.target.closest('ion-radio');\n /**\n * Our current disabled prop definition causes Stencil to mark it\n * as optional. While this is not desired, fixing this behavior\n * in Stencil is a significant breaking change, so this effort is\n * being de-risked in STENCIL-917. Until then, we compromise\n * here by checking for falsy `disabled` values instead of strictly\n * checking `disabled === false`.\n */\n if (selectedRadio && !selectedRadio.disabled) {\n const currentValue = this.value;\n const newValue = selectedRadio.value;\n if (newValue !== currentValue) {\n this.value = newValue;\n this.emitValueChange(ev);\n }\n else if (this.allowEmptySelection) {\n this.value = undefined;\n this.emitValueChange(ev);\n }\n }\n };\n this.allowEmptySelection = false;\n this.compareWith = undefined;\n this.name = this.inputId;\n this.value = undefined;\n }\n valueChanged(value) {\n this.setRadioTabindex(value);\n this.ionValueChange.emit({ value });\n }\n componentDidLoad() {\n /**\n * There's an issue when assigning a value to the radio group\n * within the Angular primary content (rendering within the\n * app component template). When the template is isolated to a route,\n * the value is assigned correctly.\n * To address this issue, we need to ensure that the watcher is\n * called after the component has finished loading,\n * allowing the emit to be dispatched correctly.\n */\n this.valueChanged(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 /**\n * Emits an `ionChange` event.\n *\n * This API should be called for user committed changes.\n * This API should not be used for external value changes.\n */\n emitValueChange(event) {\n const { value } = this;\n this.ionChange.emit({ value, event });\n }\n onKeydown(ev) {\n // We don't want the value to automatically change/emit when the radio group is part of a select interface\n // as this will cause the interface to close when navigating through the radio group options\n const inSelectInterface = !!this.el.closest('ion-select-popover') || !!this.el.closest('ion-select-modal');\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 = this.getRadios().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.key)) {\n next = index === radios.length - 1 ? radios[0] : 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.key)) {\n next = index === 0 ? radios[radios.length - 1] : radios[index - 1];\n }\n if (next && radios.includes(next)) {\n next.setFocus(ev);\n if (!inSelectInterface) {\n this.value = next.value;\n this.emitValueChange(ev);\n }\n }\n // Update the radio group value when a user presses the\n // space bar on top of a selected radio\n if ([' '].includes(ev.key)) {\n const previousValue = this.value;\n this.value = this.allowEmptySelection && this.value !== undefined ? undefined : current.value;\n if (previousValue !== this.value || this.allowEmptySelection) {\n /**\n * Value change should only be emitted if the value is different,\n * such as selecting a new radio with the space bar or if\n * the radio group allows for empty selection and the user\n * is deselecting a checked radio.\n */\n this.emitValueChange(ev);\n }\n // Prevent browsers from jumping\n // to the bottom of the screen\n ev.preventDefault();\n }\n }\n }\n render() {\n const { label, labelId, el, name, value } = this;\n const mode = getIonMode(this);\n renderHiddenInput(true, el, name, value, false);\n return h(Host, { key: '99f543b9caa8e2d30a80e7ea7ecf6b6fdacc76eb', role: \"radiogroup\", \"aria-labelledby\": label ? labelId : null, onClick: this.onClick, class: mode });\n }\n get el() { return this; }\n static get watchers() { return {\n \"value\": [\"valueChanged\"]\n }; }\n}, [0, \"ion-radio-group\", {\n \"allowEmptySelection\": [4, \"allow-empty-selection\"],\n \"compareWith\": [1, \"compare-with\"],\n \"name\": [1],\n \"value\": [1032]\n }, [[4, \"keydown\", \"onKeydown\"]], {\n \"value\": [\"valueChanged\"]\n }]);\nlet radioGroupIds = 0;\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-radio-group\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-radio-group\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, RadioGroup);\n }\n break;\n } });\n}\n\nexport { RadioGroup as R, defineCustomElement as d };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}