carbon-components-angular 5.10.0 → 5.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/documentation/components/Radio.html +6 -16
- package/docs/documentation/components/RadioGroup.html +460 -98
- package/docs/documentation/coverage.html +3 -3
- package/docs/documentation/graph/dependencies.svg +2138 -2132
- package/docs/documentation/js/menu-wc.js +3 -3
- package/docs/documentation/js/menu-wc_es5.js +1 -1
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/ComboBoxModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ComboBoxModule.html +4 -4
- package/docs/documentation/modules/DatePickerModule/dependencies.svg +39 -39
- package/docs/documentation/modules/DatePickerModule.html +39 -39
- package/docs/documentation/modules/FileUploaderModule/dependencies.svg +34 -34
- package/docs/documentation/modules/FileUploaderModule.html +34 -34
- package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
- package/docs/documentation/modules/LoadingModule.html +4 -4
- package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
- package/docs/documentation/modules/RadioModule/dependencies.svg +54 -38
- package/docs/documentation/modules/RadioModule.html +67 -39
- package/docs/documentation/modules/SearchModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SearchModule.html +4 -4
- package/docs/documentation/modules/SelectModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SelectModule.html +4 -4
- package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SliderModule.html +4 -4
- package/docs/documentation/modules/TableModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TableModule.html +4 -4
- package/docs/documentation/modules/TabsModule/dependencies.svg +68 -68
- package/docs/documentation/modules/TabsModule.html +68 -68
- package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
- package/docs/documentation/modules/ThemeModule.html +13 -13
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +26 -26
- package/docs/documentation/modules/TimePickerModule.html +26 -26
- package/docs/documentation/modules/ToggleModule/dependencies.svg +20 -20
- package/docs/documentation/modules/ToggleModule.html +20 -20
- package/docs/documentation/modules/TooltipModule/dependencies.svg +29 -29
- package/docs/documentation/modules/TooltipModule.html +29 -29
- package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
- package/docs/documentation/modules/UIShellModule.html +4 -4
- package/docs/documentation/overview.html +2138 -2132
- package/docs/documentation.json +157 -64
- package/docs/storybook/1895.69e2c275.iframe.bundle.js +1 -0
- package/docs/storybook/{795.2461bc53.iframe.bundle.js → 795.c2864771.iframe.bundle.js} +3 -3
- package/docs/storybook/{795.2461bc53.iframe.bundle.js.map → 795.c2864771.iframe.bundle.js.map} +1 -1
- package/docs/storybook/9115.e3ed2f59.iframe.bundle.js +1 -0
- package/docs/storybook/iframe.html +3 -3
- package/docs/storybook/main.css +892 -248
- package/docs/storybook/{main.5099962e.iframe.bundle.js → main.e1ee5785.iframe.bundle.js} +1 -1
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/radio-radio-stories.b67e94b9.iframe.bundle.js +1 -0
- package/docs/storybook/{runtime~main.593529e2.iframe.bundle.js → runtime~main.cd9ec3bb.iframe.bundle.js} +1 -1
- package/esm2020/i18n/en.mjs +8 -69
- package/esm2020/radio/radio-group.component.mjs +121 -21
- package/esm2020/radio/radio.component.mjs +3 -11
- package/esm2020/radio/radio.module.mjs +8 -4
- package/fesm2015/carbon-components-angular-i18n.mjs +7 -68
- package/fesm2015/carbon-components-angular-i18n.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-radio.mjs +129 -33
- package/fesm2015/carbon-components-angular-radio.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-i18n.mjs +7 -68
- package/fesm2020/carbon-components-angular-i18n.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-radio.mjs +129 -33
- package/fesm2020/carbon-components-angular-radio.mjs.map +1 -1
- package/i18n/en.d.ts +0 -47
- package/i18n/i18n.service.d.ts +1 -54
- package/package.json +1 -1
- package/radio/radio-group.component.d.ts +46 -24
- package/radio/radio.component.d.ts +1 -1
- package/radio/radio.module.d.ts +2 -1
- package/docs/storybook/1895.d4241266.iframe.bundle.js +0 -1
- package/docs/storybook/9115.e6e0100b.iframe.bundle.js +0 -1
- package/docs/storybook/radio-radio-stories.6838bad5.iframe.bundle.js +0 -1
- /package/docs/storybook/{795.2461bc53.iframe.bundle.js.LICENSE.txt → 795.c2864771.iframe.bundle.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-i18n.mjs","sources":["../../src/i18n/en.ts","../../src/i18n/i18n.service.ts","../../src/i18n/replace.pipe.ts","../../src/i18n/i18n.module.ts","../../src/i18n/carbon-components-angular-i18n.ts"],"sourcesContent":["export default {\n\t\"BANNER\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert banner\"\n\t},\n\t\"BREADCRUMB\": {\n\t\t\"LABEL\": \"Breadcrumb\"\n\t},\n\t\"CALENDAR\": {\n\t\t\"MONTHS\": {\n\t\t\t\"JANUARY\": \"January\",\n\t\t\t\"FEBRUARY\": \"February\",\n\t\t\t\"MARCH\": \"March\",\n\t\t\t\"APRIL\": \"April\",\n\t\t\t\"MAY\": \"May\",\n\t\t\t\"JUNE\": \"June\",\n\t\t\t\"JULY\": \"July\",\n\t\t\t\"AUGUST\": \"August\",\n\t\t\t\"SEPTEMBER\": \"September\",\n\t\t\t\"OCTOBER\": \"October\",\n\t\t\t\"NOVEMBER\": \"November\",\n\t\t\t\"DECEMBER\": \"December\"\n\t\t},\n\t\t\"SHORTWEEKDAYS\": {\n\t\t\t\"SUNDAY\": \"Sun\",\n\t\t\t\"MONDAY\": \"Mon\",\n\t\t\t\"TUESDAY\": \"Tue\",\n\t\t\t\"WEDNESDAY\": \"Wed\",\n\t\t\t\"THURSDAY\": \"Thu\",\n\t\t\t\"FRIDAY\": \"Fri\",\n\t\t\t\"SATURDAY\": \"Sat\"\n\t\t},\n\t\t\"QUARTERS\":\n\t\t[\n\t\t\t{\n\t\t\t\t\"name\": \"Q1\",\n\t\t\t\t\"months\": \"January-March\"\n\t\t\t}\n\t\t\t,\n\t\t\t{\n\t\t\t\t\"name\": \"Q2\",\n\t\t\t\t\"months\": \"April-June\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Q3\",\n\t\t\t\t\"months\": \"July-September\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Q4\",\n\t\t\t\t\"months\": \"October-December\"\n\t\t\t}\n\t\t]\n\t},\n\t\"CODE_SNIPPET\": {\n\t\t\"CODE_SNIPPET_TEXT\": \"Code Snippet Text\",\n\t\t\"SHOW_MORE\": \"Show more\",\n\t\t\"SHOW_LESS\": \"Show less\",\n\t\t\"SHOW_MORE_ICON\": \"Show more icon\",\n\t\t\"COPY_CODE\": \"Copy code\",\n\t\t\"COPIED\": \"Copied!\"\n\t},\n\t\"COMBOBOX\": {\n\t\t\"PLACEHOLDER\": \"Filter...\",\n\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\"CLEAR_SELECTED\": \"Clear selected item\",\n\t\t\"A11Y\": {\n\t\t\t\"OPEN_MENU\": \"open menu\",\n\t\t\t\"CLOSE_MENU\": \"close menu\",\n\t\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\t\"CLEAR_SELECTED\": \"Clear Selection\"\n\t\t}\n\t},\n\t\"DIALOG\": {\n\t\t\"POPOVER\" : {\n\t\t\t\"CLOSE\": \"Close popover\"\n\t\t}\n\t},\n\t\"DROPDOWN\": {\n\t\t\"OPEN\": \"Open menu\",\n\t\t\"SELECTED\": \"selected\",\n\t\t\"CLEAR\": \"Clear all selected items\",\n\t\t\"FILTER\": {\n\t\t\t\"SELECTED_ONLY\": \"Show selected only\",\n\t\t\t\"SEARCH\": \"Search\",\n\t\t\t\"NO_RESULTS\": \"No search results\",\n\t\t\t\"RESET_SEARCH\": \"Reset search\"\n\t\t}\n\t},\n\t\"DROPDOWN_LIST\": {\n\t\t\"LABEL\": \"Listbox\"\n\t},\n\t\"FILE_UPLOADER\": {\n\t\t\"CHECKMARK\": \"Checkmark\",\n\t\t\"CHECKMARK_TITLE\": \"File uploaded!\",\n\t\t\"OPEN\": \"Add file\",\n\t\t\"REMOVE_BUTTON\": \"Close button\",\n\t\t\"REMOVE_TITLE\": \"Delete File\"\n\t},\n\t\"LOADING\": {\n\t\t\"TITLE\": \"Loading\"\n\t},\n\t\"MODAL\": {\n\t\t\"CLOSE\": \"Close modal\"\n\t},\n\t\"NOTIFICATION\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert notification\"\n\t},\n\t\"NUMBER\": {\n\t\t\"INCREMENT\": \"increment value\",\n\t\t\"DECREMENT\": \"decrement value\"\n\t},\n\t\"OVERFLOW_MENU\": {\n\t\t\"OVERFLOW\": \"Overflow\"\n\t},\n\t\"SEARCH\": {\n\t\t\"LABEL\": \"Search\",\n\t\t\"PLACEHOLDER\": \"Search\",\n\t\t\"CLEAR_BUTTON\": \"Clear search input\",\n\t\t\"TOOLBAR_SEARCH\": \"Toolbar search\"\n\t},\n\t\"PAGINATION\": {\n\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t\t\"BACKWARD\": \"Backward\",\n\t\t\"FORWARD\": \"Forward\",\n\t\t\"TOTAL_ITEMS_UNKNOWN\": \"{{start}}-{{end}} items\",\n\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t\t\"TOTAL_ITEM\": \"{{start}}-{{end}} of {{total}} item\",\n\t\t\"PAGE\": \"page\",\n\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\",\n\t\t\"OF_LAST_PAGE\": \"of {{last}} page\",\n\t\t\"NEXT\": \"Next\",\n\t\t\"PREVIOUS\": \"Previous\",\n\t\t\"SELECT_ARIA\": \"Select page number\"\n\t},\n\t\"PROGRESS_INDICATOR\": {\n\t\t\"CURRENT\": \"Current\",\n\t\t\"INCOMPLETE\": \"Incomplete\",\n\t\t\"COMPLETE\": \"Complete\",\n\t\t\"INVALID\": \"Invalid\"\n\t},\n\t\"TABLE\": {\n\t\t\"GO_TO_PAGE\": \"Go to page\",\n\t\t\"PREVIOUS_PAGE\": \"Previous page\",\n\t\t\"NEXT_PAGE\": \"Next page\",\n\t\t\"PREVIOUS_3\": \"Scroll to previous 3 pages\",\n\t\t\"NEXT_3\": \"Scroll to next 3 pages\",\n\t\t\"FILTER\": \"Filter\",\n\t\t\"END_OF_DATA\": \"You've reached the end of your content\",\n\t\t\"SCROLL_TOP\": \"Scroll to top\",\n\t\t\"CHECKBOX_HEADER\": \"Select all rows\",\n\t\t\"CHECKBOX_ROW\": \"Select {{value}}\",\n\t\t\"EXPAND_BUTTON\": \"Expand row\",\n\t\t\"SORT_DESCENDING\": \"Sort rows by this header in descending order\",\n\t\t\"SORT_ASCENDING\": \"Sort rows by this header in ascending order\",\n\t\t\"ROW\": \"row\"\n\t},\n\t\"TABLE_TOOLBAR\": {\n\t\t\"ACTION_BAR\": \"Table action bar\",\n\t\t\"BATCH_TEXT\": \"\",\n\t\t\"BATCH_TEXT_SINGLE\": \"1 item selected\",\n\t\t\"BATCH_TEXT_MULTIPLE\": \"{{count}} items selected\",\n\t\t\"CANCEL\": \"Cancel\"\n\t},\n\t\"TABS\": {\n\t\t\"BUTTON_ARIA_LEFT\": \"Go to the previous tab\",\n\t\t\"BUTTON_ARIA_RIGHT\": \"Go to the next tab\",\n\t\t\"HEADER_ARIA_LABEL\": \"List of tabs\"\n\t},\n\t\"TILES\": {\n\t\t\"TILE\": \"tile\",\n\t\t\"EXPAND\": \"Expand\",\n\t\t\"COLLAPSE\": \"Collapse\"\n\t},\n\t\"TOGGLE\": {\n\t\t\"OFF\": \"Off\",\n\t\t\"ON\": \"On\"\n\t},\n\t\"UI_SHELL\": {\n\t\t\"SKIP_TO\": \"Skip to content\",\n\t\t\"HEADER\": {\n\t\t\t\"OPEN_MENU\": \"Open menu\",\n\t\t\t\"CLOSE_MENU\": \"Close menu\"\n\t\t},\n\t\t\"SIDE_NAV\": {\n\t\t\t\"LABEL\": \"Side navigation\",\n\t\t\t\"SWITCHER\": \"Switcher\",\n\t\t\t\"TOGGLE_OPEN\": \"Open\",\n\t\t\t\"TOGGLE_CLOSE\": \"Close\"\n\t\t}\n\t}\n};\n","import { Injectable } from \"@angular/core\";\nimport {\n\tBehaviorSubject,\n\tObservable,\n\tisObservable,\n\tiif,\n\tSubscription\n} from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { merge } from \"carbon-components-angular/utils\";\n\nimport EN from \"./en\";\n\n/**\n * Takes the `Observable` returned from `i18n.get` and an object of variables to replace.\n *\n * The keys specify the variable name in the string.\n *\n * Example:\n * ```typescript\n * service.set({ \"TEST\": \"{{foo}} {{bar}}\" });\n *\n * service.replace(service.get(\"TEST\"), { foo: \"test\", bar: \"asdf\" })\n * ```\n *\n * Produces: `\"test asdf\"`\n *\n * @param subject the translation to replace variables on\n * @param variables object of variables to replace\n */\nexport const replace = (subject, variables) => subject.pipe(\n\tmap<string, void>(str => {\n\t\tconst keys = Object.keys(variables);\n\t\tfor (const key of keys) {\n\t\t\tconst value = variables[key];\n\t\t\tstr = str.replace(new RegExp(`{{\\\\s*${key}\\\\s*}}`, \"g\"), value);\n\t\t}\n\t\treturn str;\n\t})\n);\n\n/**\n * Represents an \"overridable\" translation value.\n *\n * Largely an internal usecase. There are situations where we want an `Observable` that\n * can emit events from a centralized source **OR** an `Observable` that will emit events\n * from a component local source. The key example being on/off text in a `Toggle` - In some cases\n * we want the `Toggle` to use `I18n`s global translations, but in others we'd prefer to use a local\n * override. We don't ever need to return to a non-overridden state, but we do need the ability to\n * switch _to_ an overridden sate.\n */\nexport class Overridable {\n\t/**\n\t * The raw value of the translation. Defaults to the string value, but will return the value passed to `override`\n\t *\n\t * @readonly\n\t */\n\tpublic get value(): string | Observable<string> {\n\t\treturn this._value;\n\t}\n\n\tpublic set value(v: string | Observable<string>) {\n\t\tthis.override(v);\n\t}\n\n\t/**\n\t * The translation subject. Returns either a stream of overridden values, or our base translation values.\n\t *\n\t * @readonly\n\t */\n\tpublic get subject(): Observable<string> {\n\t\t/**\n\t\t * since inputs are bound on template instantiation (and thusly will always have _some_ value)\n\t\t * We can use a simple boolean and the `iif` function to determine which subject to return on subscription\n\t\t */\n\t\treturn iif(() => this.isOverridden, this.$override, this.baseTranslation);\n\t}\n\n\t/**\n\t * Overridden value. Accessed by the readonly getter `value` and set through `override`\n\t */\n\tprotected _value: string | Observable<string>;\n\t/**\n\t * Subject of overridden values. Initialized with our default value.\n\t */\n\tprotected $override: BehaviorSubject<string>;\n\t/**\n\t * Our base non-overridden translation.\n\t */\n\tprotected baseTranslation: Observable<string> = this.i18n.get(this.path);\n\n\t/**\n\t * Subscription to the observable provided as an override (if any)\n\t */\n\tprotected subscription: Subscription;\n\t/**\n\t * A boolean to flip between overridden and non-overridden states.\n\t */\n\tprotected isOverridden = false;\n\n\tconstructor(protected path: string, protected i18n: I18n) {\n\t\t/**\n\t\t * ensure `$override` is initialized with the correct default value\n\t\t * in some cases `_value` can get changed for an `Observable` before `$override` is created\n\t\t */\n\t\tconst value = this.i18n.getValueFromPath(this.path) as string;\n\t\tthis.$override = new BehaviorSubject<string>(value);\n\t\tthis._value = value;\n\t}\n\t/**\n\t * Takes a string or an `Observable` that emits strings.\n\t * Overrides the value provided by the `I18n` service.\n\t */\n\toverride(value: string | Observable<string>) {\n\t\tthis.isOverridden = true;\n\t\t// To ensure that there are not multiple subscriptions created for the same observable, we\n\t\t// unsubscribe if a subscription already exists for an observable before creating a new one.\n\t\tif (this.subscription) {\n\t\t\tthis.subscription.unsubscribe();\n\t\t\tthis.subscription = null;\n\t\t}\n\n\t\tthis._value = value;\n\n\t\tif (isObservable(value)) {\n\t\t\tthis.subscription = value.subscribe(v => {\n\t\t\t\tthis.$override.next(v);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.$override.next(value);\n\t\t}\n\t}\n}\n\n/**\n * An object of strings, should follow the same format as src/i18n/en.json\n */\nexport type TranslationStrings = { [key: string]: string };\n\n\n/**\n * The I18n service is a minimal internal singleton service used to supply our components with translated strings.\n *\n * All the components that support I18n also support directly passed strings.\n * Usage of I18n is optional, and it is not recommended for application use (libraries like ngx-translate\n * are a better choice)\n *\n */\n@Injectable()\nexport class I18n {\n\tprotected translationStrings = EN;\n\n\tprotected translations = new Map();\n\n\tprotected locale = new BehaviorSubject(\"en\");\n\n\t/**\n\t * Sets the locale and optionally the translation strings. Locale is used by components that\n\t * are already locale aware (datepicker for example) while the translation strings are used\n\t * for components that are not.\n\t *\n\t * Locales set here will override locales/languages set in components\n\t * @param language an ISO 639-1 language code - https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n\t * @param strings an object of strings, optional\n\t */\n\tpublic setLocale(language: string, strings?: TranslationStrings) {\n\t\tthis.locale.next(language);\n\t\tif (strings) {\n\t\t\tthis.set(strings);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the current locale\n\t */\n\tpublic getLocale() {\n\t\treturn this.locale.value;\n\t}\n\n\t/**\n\t * Returns an observable that resolves to the current locale, and will update when changed\n\t */\n\tpublic getLocaleObservable() {\n\t\treturn this.locale.asObservable();\n\t}\n\n\t/**\n\t * Set/update the translations from an object. Also notifies all participating components of the update.\n\t *\n\t * @param strings an object of strings, should follow the same format as src/i18n/en.json\n\t */\n\tpublic set(strings: TranslationStrings) {\n\t\tthis.translationStrings = merge({}, EN, strings);\n\t\t// iterate over all our tracked translations and update each observable\n\t\tconst translations = Array.from(this.translations);\n\t\tfor (const [path, subject] of translations) {\n\t\t\tsubject.next(this.getValueFromPath(path));\n\t\t}\n\t}\n\n\t/**\n\t * When a path is specified returns an observable that will resolve to the translation string value.\n\t *\n\t * Returns the full translations object if path is not specified.\n\t *\n\t * @param path optional, looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic get(path?: string): any {\n\t\tif (!path) {\n\t\t\treturn this.translationStrings;\n\t\t}\n\t\treturn this.getSubject(path);\n\t}\n\n\t/**\n\t * Returns all descendents of some path fragment as an object.\n\t *\n\t * @param partialPath a path fragment, for example `\"NOTIFICATION\"`\n\t */\n\tpublic getMultiple(partialPath: string): { [key: string]: Observable<string> } {\n\t\tconst values = this.getValueFromPath(partialPath);\n\t\tconst subjects = {};\n\t\tfor (const key of Object.keys(values)) {\n\t\t\tif (values[key] === Object(values[key])) {\n\t\t\t\tsubjects[key] = this.getMultiple(`${partialPath}.${key}`);\n\t\t\t} else {\n\t\t\t\tsubjects[key] = this.getSubject(`${partialPath}.${key}`);\n\t\t\t}\n\t\t}\n\t\treturn subjects;\n\t}\n\n\t/**\n\t * Returns an instance of `Overridable` that can be used to optionally override the value provided by `I18n`\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic getOverridable(path: string) {\n\t\treturn new Overridable(path, this);\n\t}\n\n\t/**\n\t * Takes the `Observable` returned from `i18n.get` and an object of variables to replace.\n\t *\n\t * The keys specify the variable name in the string.\n\t *\n\t * Example:\n\t * ```\n\t * service.set({ \"TEST\": \"{{foo}} {{bar}}\" });\n\t *\n\t * service.replace(service.get(\"TEST\"), { foo: \"test\", bar: \"asdf\" })\n\t * ```\n\t *\n\t * Produces: `\"test asdf\"`\n\t *\n\t * @param subject the translation to replace variables on\n\t * @param variables object of variables to replace\n\t */\n\tpublic replace(subject: Observable<string>, variables: { [key: string]: string }) {\n\t\treturn replace(subject, variables);\n\t}\n\n\t/**\n\t * Trys to resolve a value from the provided path.\n\t *\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic getValueFromPath(path): string | { [key: string]: string } {\n\t\tlet value = this.translationStrings;\n\t\tfor (const segment of path.split(\".\")) {\n\t\t\tif (value[segment] !== undefined && value[segment] !== null) {\n\t\t\t\tvalue = value[segment];\n\t\t\t} else {\n\t\t\t\tthrow new Error(`no key ${segment} at ${path}`);\n\t\t\t}\n\t\t}\n\t\treturn value as any;\n\t}\n\n\t/**\n\t * Helper method that returns an observable from the internal cache based on the path\n\t *\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tprotected getSubject(path: string): Observable<string> {\n\t\ttry {\n\t\t\t// we run this here to validate the path exists before adding it to the translation map\n\t\t\tconst value = this.getValueFromPath(path) as string;\n\t\t\tif (this.translations.has(path)) {\n\t\t\t\treturn this.translations.get(path);\n\t\t\t}\n\t\t\tconst translation = new BehaviorSubject(value);\n\t\t\tthis.translations.set(path, translation);\n\t\t\treturn translation;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { replace } from \"./i18n.service\";\n\n@Pipe({\n\tname: \"i18nReplace\"\n})\nexport class ReplacePipe implements PipeTransform {\n\ttransform(value, variables) {\n\t\treturn replace(value, variables);\n\t}\n}\n","import { NgModule, SkipSelf, Optional } from \"@angular/core\";\n\nimport { I18n } from \"./i18n.service\";\nimport { ReplacePipe } from \"./replace.pipe\";\n\n// either provides a new instance of I18n, or returns the parent\nexport function I18N_SERVICE_PROVIDER_FACTORY(parentService: I18n) {\n\treturn parentService || new I18n();\n}\n\n// I18n should provide a single instance of itself to ensure that translations are consistent through the app\nexport const I18N_SERVICE_PROVIDER = {\n\tprovide: I18n,\n\tdeps: [[new Optional(), new SkipSelf(), I18n]],\n\tuseFactory: I18N_SERVICE_PROVIDER_FACTORY\n};\n\n@NgModule({\n\tdeclarations: [ReplacePipe],\n\texports: [ReplacePipe],\n\tproviders: [\n\t\tI18n,\n\t\tI18N_SERVICE_PROVIDER\n\t]\n})\nexport class I18nModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-i18n.mjs","sources":["../../src/i18n/en.ts","../../src/i18n/i18n.service.ts","../../src/i18n/replace.pipe.ts","../../src/i18n/i18n.module.ts","../../src/i18n/carbon-components-angular-i18n.ts"],"sourcesContent":["export default {\n\t\"BREADCRUMB\": {\n\t\t\"LABEL\": \"Breadcrumb\"\n\t},\n\t\"CODE_SNIPPET\": {\n\t\t\"CODE_SNIPPET_TEXT\": \"Code Snippet Text\",\n\t\t\"SHOW_MORE\": \"Show more\",\n\t\t\"SHOW_LESS\": \"Show less\",\n\t\t\"SHOW_MORE_ICON\": \"Show more icon\",\n\t\t\"COPY_CODE\": \"Copy code\",\n\t\t\"COPIED\": \"Copied!\"\n\t},\n\t\"COMBOBOX\": {\n\t\t\"PLACEHOLDER\": \"Filter...\",\n\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\"CLEAR_SELECTED\": \"Clear selected item\",\n\t\t\"A11Y\": {\n\t\t\t\"OPEN_MENU\": \"Open menu\",\n\t\t\t\"CLOSE_MENU\": \"Close menu\",\n\t\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\t\"CLEAR_SELECTED\": \"Clear Selection\"\n\t\t}\n\t},\n\t\"DROPDOWN\": {\n\t\t\"OPEN\": \"Open menu\",\n\t\t\"SELECTED\": \"Selected\",\n\t\t\"CLEAR\": \"Clear all selected items\",\n\t\t\"FILTER\": {\n\t\t\t\"SELECTED_ONLY\": \"Show selected only\",\n\t\t\t\"SEARCH\": \"Search\",\n\t\t\t\"NO_RESULTS\": \"No search results\",\n\t\t\t\"RESET_SEARCH\": \"Reset search\"\n\t\t}\n\t},\n\t\"DROPDOWN_LIST\": {\n\t\t\"LABEL\": \"Listbox\"\n\t},\n\t\"FILE_UPLOADER\": {\n\t\t\"CHECKMARK\": \"Checkmark\",\n\t\t\"OPEN\": \"Add file\",\n\t\t\"REMOVE_BUTTON\": \"Close button\"\n\t},\n\t\"LOADING\": {\n\t\t\"TITLE\": \"Loading\"\n\t},\n\t\"MODAL\": {\n\t\t\"CLOSE\": \"Close modal\"\n\t},\n\t\"NOTIFICATION\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert notification\"\n\t},\n\t\"NUMBER\": {\n\t\t\"INCREMENT\": \"Increment value\",\n\t\t\"DECREMENT\": \"Decrement value\"\n\t},\n\t\"OVERFLOW_MENU\": {\n\t\t\"OVERFLOW\": \"Overflow\"\n\t},\n\t\"SEARCH\": {\n\t\t\"LABEL\": \"Search\",\n\t\t\"PLACEHOLDER\": \"Search\",\n\t\t\"CLEAR_BUTTON\": \"Clear search input\"\n\t},\n\t\"PAGINATION\": {\n\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t\t\"BACKWARD\": \"Backward\",\n\t\t\"FORWARD\": \"Forward\",\n\t\t\"TOTAL_ITEMS_UNKNOWN\": \"{{start}}-{{end}} items\",\n\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t\t\"TOTAL_ITEM\": \"{{start}}-{{end}} of {{total}} item\",\n\t\t\"PAGE\": \"page\",\n\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\",\n\t\t\"OF_LAST_PAGE\": \"of {{last}} page\",\n\t\t\"NEXT\": \"Next\",\n\t\t\"PREVIOUS\": \"Previous\",\n\t\t\"SELECT_ARIA\": \"Select page number\"\n\t},\n\t\"PROGRESS_INDICATOR\": {\n\t\t\"CURRENT\": \"Current\",\n\t\t\"INCOMPLETE\": \"Incomplete\",\n\t\t\"COMPLETE\": \"Complete\",\n\t\t\"INVALID\": \"Invalid\"\n\t},\n\t\"TABLE\": {\n\t\t\"FILTER\": \"Filter\",\n\t\t\"END_OF_DATA\": \"You've reached the end of your content\",\n\t\t\"SCROLL_TOP\": \"Scroll to top\",\n\t\t\"CHECKBOX_HEADER\": \"Select all rows\",\n\t\t\"CHECKBOX_ROW\": \"Select {{value}}\",\n\t\t\"EXPAND_BUTTON\": \"Expand row\",\n\t\t\"SORT_DESCENDING\": \"Sort rows by this header in descending order\",\n\t\t\"SORT_ASCENDING\": \"Sort rows by this header in ascending order\",\n\t\t\"ROW\": \"row\"\n\t},\n\t\"TABLE_TOOLBAR\": {\n\t\t\"ACTION_BAR\": \"Table action bar\",\n\t\t\"BATCH_TEXT\": \"\",\n\t\t\"BATCH_TEXT_SINGLE\": \"1 item selected\",\n\t\t\"BATCH_TEXT_MULTIPLE\": \"{{count}} items selected\",\n\t\t\"CANCEL\": \"Cancel\"\n\t},\n\t\"TABS\": {\n\t\t\"BUTTON_ARIA_LEFT\": \"Go to the previous tab\",\n\t\t\"BUTTON_ARIA_RIGHT\": \"Go to the next tab\",\n\t\t\"HEADER_ARIA_LABEL\": \"List of tabs\"\n\t},\n\t\"TILES\": {\n\t\t\"TILE\": \"tile\",\n\t\t\"EXPAND\": \"Expand\",\n\t\t\"COLLAPSE\": \"Collapse\"\n\t},\n\t\"TOGGLE\": {\n\t\t\"OFF\": \"Off\",\n\t\t\"ON\": \"On\"\n\t},\n\t\"UI_SHELL\": {\n\t\t\"SKIP_TO\": \"Skip to content\",\n\t\t\"HEADER\": {\n\t\t\t\"OPEN_MENU\": \"Open menu\",\n\t\t\t\"CLOSE_MENU\": \"Close menu\"\n\t\t},\n\t\t\"SIDE_NAV\": {\n\t\t\t\"TOGGLE_OPEN\": \"Open\",\n\t\t\t\"TOGGLE_CLOSE\": \"Close\"\n\t\t}\n\t}\n};\n","import { Injectable } from \"@angular/core\";\nimport {\n\tBehaviorSubject,\n\tObservable,\n\tisObservable,\n\tiif,\n\tSubscription\n} from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { merge } from \"carbon-components-angular/utils\";\n\nimport EN from \"./en\";\n\n/**\n * Takes the `Observable` returned from `i18n.get` and an object of variables to replace.\n *\n * The keys specify the variable name in the string.\n *\n * Example:\n * ```typescript\n * service.set({ \"TEST\": \"{{foo}} {{bar}}\" });\n *\n * service.replace(service.get(\"TEST\"), { foo: \"test\", bar: \"asdf\" })\n * ```\n *\n * Produces: `\"test asdf\"`\n *\n * @param subject the translation to replace variables on\n * @param variables object of variables to replace\n */\nexport const replace = (subject, variables) => subject.pipe(\n\tmap<string, void>(str => {\n\t\tconst keys = Object.keys(variables);\n\t\tfor (const key of keys) {\n\t\t\tconst value = variables[key];\n\t\t\tstr = str.replace(new RegExp(`{{\\\\s*${key}\\\\s*}}`, \"g\"), value);\n\t\t}\n\t\treturn str;\n\t})\n);\n\n/**\n * Represents an \"overridable\" translation value.\n *\n * Largely an internal usecase. There are situations where we want an `Observable` that\n * can emit events from a centralized source **OR** an `Observable` that will emit events\n * from a component local source. The key example being on/off text in a `Toggle` - In some cases\n * we want the `Toggle` to use `I18n`s global translations, but in others we'd prefer to use a local\n * override. We don't ever need to return to a non-overridden state, but we do need the ability to\n * switch _to_ an overridden sate.\n */\nexport class Overridable {\n\t/**\n\t * The raw value of the translation. Defaults to the string value, but will return the value passed to `override`\n\t *\n\t * @readonly\n\t */\n\tpublic get value(): string | Observable<string> {\n\t\treturn this._value;\n\t}\n\n\tpublic set value(v: string | Observable<string>) {\n\t\tthis.override(v);\n\t}\n\n\t/**\n\t * The translation subject. Returns either a stream of overridden values, or our base translation values.\n\t *\n\t * @readonly\n\t */\n\tpublic get subject(): Observable<string> {\n\t\t/**\n\t\t * since inputs are bound on template instantiation (and thusly will always have _some_ value)\n\t\t * We can use a simple boolean and the `iif` function to determine which subject to return on subscription\n\t\t */\n\t\treturn iif(() => this.isOverridden, this.$override, this.baseTranslation);\n\t}\n\n\t/**\n\t * Overridden value. Accessed by the readonly getter `value` and set through `override`\n\t */\n\tprotected _value: string | Observable<string>;\n\t/**\n\t * Subject of overridden values. Initialized with our default value.\n\t */\n\tprotected $override: BehaviorSubject<string>;\n\t/**\n\t * Our base non-overridden translation.\n\t */\n\tprotected baseTranslation: Observable<string> = this.i18n.get(this.path);\n\n\t/**\n\t * Subscription to the observable provided as an override (if any)\n\t */\n\tprotected subscription: Subscription;\n\t/**\n\t * A boolean to flip between overridden and non-overridden states.\n\t */\n\tprotected isOverridden = false;\n\n\tconstructor(protected path: string, protected i18n: I18n) {\n\t\t/**\n\t\t * ensure `$override` is initialized with the correct default value\n\t\t * in some cases `_value` can get changed for an `Observable` before `$override` is created\n\t\t */\n\t\tconst value = this.i18n.getValueFromPath(this.path) as string;\n\t\tthis.$override = new BehaviorSubject<string>(value);\n\t\tthis._value = value;\n\t}\n\t/**\n\t * Takes a string or an `Observable` that emits strings.\n\t * Overrides the value provided by the `I18n` service.\n\t */\n\toverride(value: string | Observable<string>) {\n\t\tthis.isOverridden = true;\n\t\t// To ensure that there are not multiple subscriptions created for the same observable, we\n\t\t// unsubscribe if a subscription already exists for an observable before creating a new one.\n\t\tif (this.subscription) {\n\t\t\tthis.subscription.unsubscribe();\n\t\t\tthis.subscription = null;\n\t\t}\n\n\t\tthis._value = value;\n\n\t\tif (isObservable(value)) {\n\t\t\tthis.subscription = value.subscribe(v => {\n\t\t\t\tthis.$override.next(v);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.$override.next(value);\n\t\t}\n\t}\n}\n\n/**\n * An object of strings, should follow the same format as src/i18n/en.json\n */\nexport type TranslationStrings = { [key: string]: string };\n\n\n/**\n * The I18n service is a minimal internal singleton service used to supply our components with translated strings.\n *\n * All the components that support I18n also support directly passed strings.\n * Usage of I18n is optional, and it is not recommended for application use (libraries like ngx-translate\n * are a better choice)\n *\n */\n@Injectable()\nexport class I18n {\n\tprotected translationStrings = EN;\n\n\tprotected translations = new Map();\n\n\tprotected locale = new BehaviorSubject(\"en\");\n\n\t/**\n\t * Sets the locale and optionally the translation strings. Locale is used by components that\n\t * are already locale aware (datepicker for example) while the translation strings are used\n\t * for components that are not.\n\t *\n\t * Locales set here will override locales/languages set in components\n\t * @param language an ISO 639-1 language code - https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n\t * @param strings an object of strings, optional\n\t */\n\tpublic setLocale(language: string, strings?: TranslationStrings) {\n\t\tthis.locale.next(language);\n\t\tif (strings) {\n\t\t\tthis.set(strings);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the current locale\n\t */\n\tpublic getLocale() {\n\t\treturn this.locale.value;\n\t}\n\n\t/**\n\t * Returns an observable that resolves to the current locale, and will update when changed\n\t */\n\tpublic getLocaleObservable() {\n\t\treturn this.locale.asObservable();\n\t}\n\n\t/**\n\t * Set/update the translations from an object. Also notifies all participating components of the update.\n\t *\n\t * @param strings an object of strings, should follow the same format as src/i18n/en.json\n\t */\n\tpublic set(strings: TranslationStrings) {\n\t\tthis.translationStrings = merge({}, EN, strings);\n\t\t// iterate over all our tracked translations and update each observable\n\t\tconst translations = Array.from(this.translations);\n\t\tfor (const [path, subject] of translations) {\n\t\t\tsubject.next(this.getValueFromPath(path));\n\t\t}\n\t}\n\n\t/**\n\t * When a path is specified returns an observable that will resolve to the translation string value.\n\t *\n\t * Returns the full translations object if path is not specified.\n\t *\n\t * @param path optional, looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic get(path?: string): any {\n\t\tif (!path) {\n\t\t\treturn this.translationStrings;\n\t\t}\n\t\treturn this.getSubject(path);\n\t}\n\n\t/**\n\t * Returns all descendents of some path fragment as an object.\n\t *\n\t * @param partialPath a path fragment, for example `\"NOTIFICATION\"`\n\t */\n\tpublic getMultiple(partialPath: string): { [key: string]: Observable<string> } {\n\t\tconst values = this.getValueFromPath(partialPath);\n\t\tconst subjects = {};\n\t\tfor (const key of Object.keys(values)) {\n\t\t\tif (values[key] === Object(values[key])) {\n\t\t\t\tsubjects[key] = this.getMultiple(`${partialPath}.${key}`);\n\t\t\t} else {\n\t\t\t\tsubjects[key] = this.getSubject(`${partialPath}.${key}`);\n\t\t\t}\n\t\t}\n\t\treturn subjects;\n\t}\n\n\t/**\n\t * Returns an instance of `Overridable` that can be used to optionally override the value provided by `I18n`\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic getOverridable(path: string) {\n\t\treturn new Overridable(path, this);\n\t}\n\n\t/**\n\t * Takes the `Observable` returned from `i18n.get` and an object of variables to replace.\n\t *\n\t * The keys specify the variable name in the string.\n\t *\n\t * Example:\n\t * ```\n\t * service.set({ \"TEST\": \"{{foo}} {{bar}}\" });\n\t *\n\t * service.replace(service.get(\"TEST\"), { foo: \"test\", bar: \"asdf\" })\n\t * ```\n\t *\n\t * Produces: `\"test asdf\"`\n\t *\n\t * @param subject the translation to replace variables on\n\t * @param variables object of variables to replace\n\t */\n\tpublic replace(subject: Observable<string>, variables: { [key: string]: string }) {\n\t\treturn replace(subject, variables);\n\t}\n\n\t/**\n\t * Trys to resolve a value from the provided path.\n\t *\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic getValueFromPath(path): string | { [key: string]: string } {\n\t\tlet value = this.translationStrings;\n\t\tfor (const segment of path.split(\".\")) {\n\t\t\tif (value[segment] !== undefined && value[segment] !== null) {\n\t\t\t\tvalue = value[segment];\n\t\t\t} else {\n\t\t\t\tthrow new Error(`no key ${segment} at ${path}`);\n\t\t\t}\n\t\t}\n\t\treturn value as any;\n\t}\n\n\t/**\n\t * Helper method that returns an observable from the internal cache based on the path\n\t *\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tprotected getSubject(path: string): Observable<string> {\n\t\ttry {\n\t\t\t// we run this here to validate the path exists before adding it to the translation map\n\t\t\tconst value = this.getValueFromPath(path) as string;\n\t\t\tif (this.translations.has(path)) {\n\t\t\t\treturn this.translations.get(path);\n\t\t\t}\n\t\t\tconst translation = new BehaviorSubject(value);\n\t\t\tthis.translations.set(path, translation);\n\t\t\treturn translation;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { replace } from \"./i18n.service\";\n\n@Pipe({\n\tname: \"i18nReplace\"\n})\nexport class ReplacePipe implements PipeTransform {\n\ttransform(value, variables) {\n\t\treturn replace(value, variables);\n\t}\n}\n","import { NgModule, SkipSelf, Optional } from \"@angular/core\";\n\nimport { I18n } from \"./i18n.service\";\nimport { ReplacePipe } from \"./replace.pipe\";\n\n// either provides a new instance of I18n, or returns the parent\nexport function I18N_SERVICE_PROVIDER_FACTORY(parentService: I18n) {\n\treturn parentService || new I18n();\n}\n\n// I18n should provide a single instance of itself to ensure that translations are consistent through the app\nexport const I18N_SERVICE_PROVIDER = {\n\tprovide: I18n,\n\tdeps: [[new Optional(), new SkipSelf(), I18n]],\n\tuseFactory: I18N_SERVICE_PROVIDER_FACTORY\n};\n\n@NgModule({\n\tdeclarations: [ReplacePipe],\n\texports: [ReplacePipe],\n\tproviders: [\n\t\tI18n,\n\t\tI18N_SERVICE_PROVIDER\n\t]\n})\nexport class I18nModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, HostBinding, ContentChildren, forwardRef, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, HostBinding, TemplateRef, ContentChildren, forwardRef, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
|
+
import * as i2 from 'carbon-components-angular/icon';
|
|
7
|
+
import { IconModule } from 'carbon-components-angular/icon';
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* Used to emit changes performed on a `Radio`.
|
|
@@ -33,18 +35,10 @@ class Radio {
|
|
|
33
35
|
this.name = "";
|
|
34
36
|
this.disabled = false;
|
|
35
37
|
this.labelPlacement = "right";
|
|
36
|
-
/**
|
|
37
|
-
* Used to set the `aria-label` attribute on the input label.
|
|
38
|
-
*/
|
|
39
|
-
this.ariaLabel = "";
|
|
40
38
|
/**
|
|
41
39
|
* Sets the HTML required attribute
|
|
42
40
|
*/
|
|
43
41
|
this.required = false;
|
|
44
|
-
/**
|
|
45
|
-
* The value of the `Radio`.
|
|
46
|
-
*/
|
|
47
|
-
this.value = "";
|
|
48
42
|
/**
|
|
49
43
|
* Set to `true` for a loading table.
|
|
50
44
|
*/
|
|
@@ -125,7 +119,7 @@ Radio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0
|
|
|
125
119
|
[name]="name"
|
|
126
120
|
[id]="id"
|
|
127
121
|
[required]="required"
|
|
128
|
-
[value]="value"
|
|
122
|
+
[attr.value]="value"
|
|
129
123
|
[attr.aria-labelledby]="ariaLabelledby"
|
|
130
124
|
(change)="onChange($event)"
|
|
131
125
|
(click)="onClick($event)">
|
|
@@ -156,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
156
150
|
[name]="name"
|
|
157
151
|
[id]="id"
|
|
158
152
|
[required]="required"
|
|
159
|
-
[value]="value"
|
|
153
|
+
[attr.value]="value"
|
|
160
154
|
[attr.aria-labelledby]="ariaLabelledby"
|
|
161
155
|
(change)="onChange($event)"
|
|
162
156
|
(click)="onClick($event)">
|
|
@@ -242,6 +236,14 @@ class RadioGroup {
|
|
|
242
236
|
constructor() {
|
|
243
237
|
this.orientation = "horizontal";
|
|
244
238
|
this.labelPlacement = "right";
|
|
239
|
+
/**
|
|
240
|
+
* Set to `true` to show the invalid state.
|
|
241
|
+
*/
|
|
242
|
+
this.invalid = false;
|
|
243
|
+
/**
|
|
244
|
+
* Set to `true` to show a warning (contents set by warnText)
|
|
245
|
+
*/
|
|
246
|
+
this.warn = false;
|
|
245
247
|
/**
|
|
246
248
|
* Emits event notifying other classes of a change using a `RadioChange` class.
|
|
247
249
|
*/
|
|
@@ -459,6 +461,9 @@ class RadioGroup {
|
|
|
459
461
|
focusOut() {
|
|
460
462
|
this.onTouched();
|
|
461
463
|
}
|
|
464
|
+
isTemplate(value) {
|
|
465
|
+
return value instanceof TemplateRef;
|
|
466
|
+
}
|
|
462
467
|
updateChildren() {
|
|
463
468
|
if (this.radios) {
|
|
464
469
|
this.radios.forEach(child => child.skeleton = this.skeleton);
|
|
@@ -489,38 +494,114 @@ class RadioGroup {
|
|
|
489
494
|
*/
|
|
490
495
|
RadioGroup.radioGroupCount = 0;
|
|
491
496
|
RadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
492
|
-
RadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: { orientation: "orientation", labelPlacement: "labelPlacement", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby",
|
|
497
|
+
RadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: { selected: "selected", value: "value", name: "name", disabled: "disabled", skeleton: "skeleton", orientation: "orientation", labelPlacement: "labelPlacement", legend: "legend", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", helperText: "helperText", invalid: "invalid", invalidText: "invalidText", warn: "warn", warnText: "warnText" }, outputs: { change: "change" }, host: { listeners: { "focusout": "focusOut()" }, properties: { "class.cds--form-item": "this.radioButtonGroupClass" } }, providers: [
|
|
493
498
|
{
|
|
494
499
|
provide: NG_VALUE_ACCESSOR,
|
|
495
500
|
useExisting: RadioGroup,
|
|
496
501
|
multi: true
|
|
497
502
|
}
|
|
498
503
|
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return Radio; }) }], ngImport: i0, template: `
|
|
499
|
-
<
|
|
504
|
+
<fieldset
|
|
500
505
|
class="cds--radio-button-group"
|
|
501
506
|
[attr.aria-label]="ariaLabel"
|
|
502
507
|
[attr.aria-labelledby]="ariaLabelledby"
|
|
503
508
|
[ngClass]="{
|
|
504
509
|
'cds--radio-button-group--vertical': orientation === 'vertical',
|
|
505
|
-
'cds--radio-button-group--label-left': labelPlacement === 'left'
|
|
506
|
-
|
|
510
|
+
'cds--radio-button-group--label-left': labelPlacement === 'left',
|
|
511
|
+
'cds--radio-button-group--invalid' : !warn && invalid,
|
|
512
|
+
'cds--radio-button-group--warning': !invalid && warn
|
|
513
|
+
}"
|
|
514
|
+
[attr.data-invalid]="invalid ? true : null">
|
|
515
|
+
<legend *ngIf="legend" class="cds--label">
|
|
516
|
+
<ng-template *ngIf="isTemplate(legend); else legendLabel;" [ngTemplateOutlet]="legend"></ng-template>
|
|
517
|
+
<ng-template #legendLabel>{{legend}}</ng-template>
|
|
518
|
+
</legend>
|
|
507
519
|
<ng-content></ng-content>
|
|
520
|
+
</fieldset>
|
|
521
|
+
<div class="cds--radio-button__validation-msg">
|
|
522
|
+
<ng-container *ngIf="!warn && invalid">
|
|
523
|
+
<svg
|
|
524
|
+
cdsIcon="warning--filled"
|
|
525
|
+
size="16"
|
|
526
|
+
class="cds--radio-button__invalid-icon">
|
|
527
|
+
</svg>
|
|
528
|
+
<div class="cds--form-requirement">
|
|
529
|
+
<ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
|
|
530
|
+
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
531
|
+
</div>
|
|
532
|
+
</ng-container>
|
|
533
|
+
<ng-container *ngIf="!invalid && warn">
|
|
534
|
+
<svg
|
|
535
|
+
cdsIcon="warning--alt--filled"
|
|
536
|
+
class="cds--radio-button__invalid-icon cds--radio-button__invalid-icon--warning"
|
|
537
|
+
size="16">
|
|
538
|
+
</svg>
|
|
539
|
+
<div class="cds--form-requirement">
|
|
540
|
+
<ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
|
|
541
|
+
<ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
|
|
542
|
+
</div>
|
|
543
|
+
</ng-container>
|
|
508
544
|
</div>
|
|
509
|
-
|
|
545
|
+
<div
|
|
546
|
+
*ngIf="helperText && !invalid && !warn"
|
|
547
|
+
class="cds--form__helper-text"
|
|
548
|
+
[ngClass]="{'cds--form__helper-text--disabled': disabled}">
|
|
549
|
+
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
550
|
+
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
551
|
+
</div>
|
|
552
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] });
|
|
510
553
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadioGroup, decorators: [{
|
|
511
554
|
type: Component,
|
|
512
555
|
args: [{
|
|
513
556
|
selector: "cds-radio-group, ibm-radio-group",
|
|
514
557
|
template: `
|
|
515
|
-
<
|
|
558
|
+
<fieldset
|
|
516
559
|
class="cds--radio-button-group"
|
|
517
560
|
[attr.aria-label]="ariaLabel"
|
|
518
561
|
[attr.aria-labelledby]="ariaLabelledby"
|
|
519
562
|
[ngClass]="{
|
|
520
563
|
'cds--radio-button-group--vertical': orientation === 'vertical',
|
|
521
|
-
'cds--radio-button-group--label-left': labelPlacement === 'left'
|
|
522
|
-
|
|
564
|
+
'cds--radio-button-group--label-left': labelPlacement === 'left',
|
|
565
|
+
'cds--radio-button-group--invalid' : !warn && invalid,
|
|
566
|
+
'cds--radio-button-group--warning': !invalid && warn
|
|
567
|
+
}"
|
|
568
|
+
[attr.data-invalid]="invalid ? true : null">
|
|
569
|
+
<legend *ngIf="legend" class="cds--label">
|
|
570
|
+
<ng-template *ngIf="isTemplate(legend); else legendLabel;" [ngTemplateOutlet]="legend"></ng-template>
|
|
571
|
+
<ng-template #legendLabel>{{legend}}</ng-template>
|
|
572
|
+
</legend>
|
|
523
573
|
<ng-content></ng-content>
|
|
574
|
+
</fieldset>
|
|
575
|
+
<div class="cds--radio-button__validation-msg">
|
|
576
|
+
<ng-container *ngIf="!warn && invalid">
|
|
577
|
+
<svg
|
|
578
|
+
cdsIcon="warning--filled"
|
|
579
|
+
size="16"
|
|
580
|
+
class="cds--radio-button__invalid-icon">
|
|
581
|
+
</svg>
|
|
582
|
+
<div class="cds--form-requirement">
|
|
583
|
+
<ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
|
|
584
|
+
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
585
|
+
</div>
|
|
586
|
+
</ng-container>
|
|
587
|
+
<ng-container *ngIf="!invalid && warn">
|
|
588
|
+
<svg
|
|
589
|
+
cdsIcon="warning--alt--filled"
|
|
590
|
+
class="cds--radio-button__invalid-icon cds--radio-button__invalid-icon--warning"
|
|
591
|
+
size="16">
|
|
592
|
+
</svg>
|
|
593
|
+
<div class="cds--form-requirement">
|
|
594
|
+
<ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>
|
|
595
|
+
<ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>
|
|
596
|
+
</div>
|
|
597
|
+
</ng-container>
|
|
598
|
+
</div>
|
|
599
|
+
<div
|
|
600
|
+
*ngIf="helperText && !invalid && !warn"
|
|
601
|
+
class="cds--form__helper-text"
|
|
602
|
+
[ngClass]="{'cds--form__helper-text--disabled': disabled}">
|
|
603
|
+
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
604
|
+
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
524
605
|
</div>
|
|
525
606
|
`,
|
|
526
607
|
providers: [
|
|
@@ -531,29 +612,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
531
612
|
}
|
|
532
613
|
]
|
|
533
614
|
}]
|
|
534
|
-
}], propDecorators: {
|
|
615
|
+
}], propDecorators: { selected: [{
|
|
616
|
+
type: Input
|
|
617
|
+
}], value: [{
|
|
618
|
+
type: Input
|
|
619
|
+
}], name: [{
|
|
620
|
+
type: Input
|
|
621
|
+
}], disabled: [{
|
|
622
|
+
type: Input
|
|
623
|
+
}], skeleton: [{
|
|
624
|
+
type: Input
|
|
625
|
+
}], orientation: [{
|
|
535
626
|
type: Input
|
|
536
627
|
}], labelPlacement: [{
|
|
537
628
|
type: Input
|
|
629
|
+
}], legend: [{
|
|
630
|
+
type: Input
|
|
538
631
|
}], ariaLabel: [{
|
|
539
632
|
type: Input
|
|
540
633
|
}], ariaLabelledby: [{
|
|
541
634
|
type: Input
|
|
542
|
-
}],
|
|
543
|
-
type: Output
|
|
544
|
-
}], radios: [{
|
|
545
|
-
type: ContentChildren,
|
|
546
|
-
args: [forwardRef(() => Radio)]
|
|
547
|
-
}], selected: [{
|
|
635
|
+
}], helperText: [{
|
|
548
636
|
type: Input
|
|
549
|
-
}],
|
|
637
|
+
}], invalid: [{
|
|
550
638
|
type: Input
|
|
551
|
-
}],
|
|
639
|
+
}], invalidText: [{
|
|
552
640
|
type: Input
|
|
553
|
-
}],
|
|
641
|
+
}], warn: [{
|
|
554
642
|
type: Input
|
|
555
|
-
}],
|
|
643
|
+
}], warnText: [{
|
|
556
644
|
type: Input
|
|
645
|
+
}], change: [{
|
|
646
|
+
type: Output
|
|
647
|
+
}], radios: [{
|
|
648
|
+
type: ContentChildren,
|
|
649
|
+
args: [forwardRef(() => Radio)]
|
|
557
650
|
}], radioButtonGroupClass: [{
|
|
558
651
|
type: HostBinding,
|
|
559
652
|
args: ["class.cds--form-item"]
|
|
@@ -568,10 +661,12 @@ class RadioModule {
|
|
|
568
661
|
RadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
569
662
|
RadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RadioModule, declarations: [Radio,
|
|
570
663
|
RadioGroup], imports: [CommonModule,
|
|
571
|
-
FormsModule
|
|
664
|
+
FormsModule,
|
|
665
|
+
IconModule], exports: [Radio,
|
|
572
666
|
RadioGroup] });
|
|
573
667
|
RadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadioModule, imports: [CommonModule,
|
|
574
|
-
FormsModule
|
|
668
|
+
FormsModule,
|
|
669
|
+
IconModule] });
|
|
575
670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadioModule, decorators: [{
|
|
576
671
|
type: NgModule,
|
|
577
672
|
args: [{
|
|
@@ -585,7 +680,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
585
680
|
],
|
|
586
681
|
imports: [
|
|
587
682
|
CommonModule,
|
|
588
|
-
FormsModule
|
|
683
|
+
FormsModule,
|
|
684
|
+
IconModule
|
|
589
685
|
]
|
|
590
686
|
}]
|
|
591
687
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-radio.mjs","sources":["../../src/radio/radio-change.class.ts","../../src/radio/radio.component.ts","../../src/radio/radio-group.component.ts","../../src/radio/radio.module.ts","../../src/radio/carbon-components-angular-radio.ts"],"sourcesContent":["import { Radio } from \"./radio.component\";\n\n/**\n * Used to emit changes performed on a `Radio`.\n */\nexport class RadioChange {\n\t/**\n\t * Contains the `Radio` that has been changed.\n\t */\n\tsource: Radio | null;\n\t/**\n\t * The value of the `Radio` encompassed in the `RadioChange` class.\n\t */\n\tvalue: string;\n\n\tconstructor(source: Radio, value: string) {\n\t\tthis.source = source;\n\t\tthis.value = value;\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tHostBinding,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { RadioChange } from \"./radio-change.class\";\n\n/**\n * class: Radio (extends Checkbox)\n *\n * selector: `n-radio`\n *\n * source: `src/forms/radio.component.ts`\n *\n * ```html\n *\t<cds-radio [(ngModel)]=\"radioState\">Radio</cds-radio>\n * ```\n *\n * Also see: [`RadioGroup`](#cds-radio-group)\n */\n@Component({\n\tselector: \"cds-radio, ibm-radio\",\n\ttemplate: `\n\t\t<input\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\tclass=\"cds--radio-button\"\n\t\t\ttype=\"radio\"\n\t\t\t[checked]=\"checked\"\n\t\t\t[disabled]=\"disabled || disabledFromGroup\"\n\t\t\t[name]=\"name\"\n\t\t\t[id]=\"id\"\n\t\t\t[required]=\"required\"\n\t\t\t[value]=\"value\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t(change)=\"onChange($event)\"\n\t\t\t(click)=\"onClick($event)\">\n\t\t<div *ngIf=\"skeleton\" class=\"cds--radio-button cds--skeleton\"></div>\n\t\t<label\n\t\t\tclass=\"cds--radio-button__label\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--skeleton': skeleton\n\t\t\t}\"\n\t\t\t[for]=\"id\"\n\t\t\tid=\"label-{{id}}\">\n\t\t\t<span class=\"cds--radio-button__appearance\"></span>\n\t\t\t<ng-content></ng-content>\n\t\t</label>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Radio,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Radio {\n\t/**\n\t * Used to dynamically create unique ids for the `Radio`.\n\t */\n\tstatic radioCount = 0;\n\n\t@Input() checked = false;\n\n\t@Input() name = \"\";\n\n\t@Input() disabled = false;\n\n\t@Input() labelPlacement: \"right\" | \"left\" = \"right\";\n\n\t@Input() set ariaLabelledby(value: string) {\n\t\tthis._labelledby = value;\n\t}\n\n\tget ariaLabelledby() {\n\t\tif (this._labelledby) {\n\t\t\treturn this._labelledby;\n\t\t}\n\t\treturn `label-${this.id}`;\n\t}\n\n\t/**\n\t * Used to set the `aria-label` attribute on the input label.\n\t */\n\t@Input() ariaLabel = \"\";\n\n\t/**\n\t * Sets the HTML required attribute\n\t */\n\t@Input() required = false;\n\t/**\n\t * The value of the `Radio`.\n\t */\n\t@Input() value = \"\";\n\t/**\n\t * Set to `true` for a loading table.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * The id for the `Radio`.\n\t */\n\t@Input() id = `radio-${Radio.radioCount++}`;\n\t/**\n\t * emits when the state of the radio changes\n\t */\n\t@Output() change = new EventEmitter<RadioChange>();\n\n\t@HostBinding(\"class.cds--radio-button-wrapper\") hostClass = true;\n\n\t@HostBinding(\"class.cds--radio-button-wrapper--label-left\") get labelLeft() {\n\t\treturn this.labelPlacement === \"left\";\n\t}\n\n\t/**\n\t * Reflects whether or not the input is disabled at `RadioGroup` level.\n\t */\n\tdisabledFromGroup = false;\n\n\tprotected _labelledby = \"\";\n\n\t/**\n\t * Handler provided by the `RadioGroup` to bubble events up\n\t */\n\tradioChangeHandler = (event: RadioChange) => {};\n\n\t/**\n\t * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.\n\t * Emits the changes of both the `RadioGroup` and `Radio`.\n\t */\n\tonChange(event: Event) {\n\t\tevent.stopPropagation();\n\t}\n\n\tonClick(event: Event) {\n\t\tthis.checked = (event.target as HTMLInputElement).checked;\n\t\tconst radioEvent = new RadioChange(this, this.value);\n\t\tthis.change.emit(radioEvent);\n\t\tthis.radioChangeHandler(radioEvent);\n\t}\n\n\t/**\n\t * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events\n\t * @param fn callback that expects a `RadioChange` as an argument\n\t */\n\tregisterRadioChangeHandler(fn: (event: RadioChange) => void) {\n\t\tthis.radioChangeHandler = fn;\n\t}\n\n\tsetDisabledFromGroup(disabled: boolean) {\n\t\tthis.disabledFromGroup = disabled;\n\t}\n}\n","import {\n\tAfterContentInit,\n\tContentChildren,\n\tComponent,\n\tEventEmitter,\n\tforwardRef,\n\tInput,\n\tOutput,\n\tQueryList,\n\tHostBinding,\n\tAfterViewInit,\n\tHostListener\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { Radio } from \"./radio.component\";\nimport { RadioChange } from \"./radio-change.class\";\n\n/**\n * [See demo](../../?path=/story/components-radio--basic)\n *\n * class: RadioGroup\n *\n * selector: `cds-radio-group`\n *\n * source: `src/forms/radio.component.ts`\n *\n * Ex:\n *\n * ```html\n * <cds-radio-group [(ngModel)]=\"radio\">\n * \t<cds-radio *ngFor=\"let one of manyRadios\" [value]=\"one\">\n *\t\tRadio {{one}}\n * \t</cds-radio>\n * </cds-radio-group>\n *\n * Radio selected: {{radio}}\n * ```\n *\n * ```ts\n *\tconst manyRadios = [\"one\", \"two\", \"three\", \"four\", \"five\", \"six\"];\n * ```\n *\n * Also see: [Radio](#cds-radio)\n */\n@Component({\n\tselector: \"cds-radio-group, ibm-radio-group\",\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"cds--radio-button-group\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--radio-button-group--vertical': orientation === 'vertical',\n\t\t\t\t'cds--radio-button-group--label-left': labelPlacement === 'left'\n\t\t\t}\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: RadioGroup,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class RadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {\n\t/**\n\t * Used for creating the `RadioGroup` 'name' property dynamically.\n\t */\n\tstatic radioGroupCount = 0;\n\n\t@Input() orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\n\t@Input() labelPlacement: \"right\" | \"left\" = \"right\";\n\n\t/**\n\t * Used to set the `aria-label` attribute on the radio group element.\n\t */\n\t// tslint:disable-next-line:no-input-rename\n\t@Input() ariaLabel: string;\n\t/**\n\t * Used to set the `aria-labelledby` attribute on the radio group element.\n\t */\n\t// tslint:disable-next-line:no-input-rename\n\t@Input() ariaLabelledby: string;\n\n\t/**\n\t * Emits event notifying other classes of a change using a `RadioChange` class.\n\t */\n\t@Output() change: EventEmitter<RadioChange> = new EventEmitter<RadioChange>();\n\n\t/**\n\t * The `Radio` input items in the `RadioGroup`.\n\t */\n\t// tslint:disable-next-line:no-forward-ref\n\t@ContentChildren(forwardRef(() => Radio)) radios: QueryList<Radio>;\n\n\t/**\n\t * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.\n\t */\n\t@Input()\n\tset selected(selected: Radio | null) {\n\t\tconst alreadySelected = (this._selected && this._selected.value) === (selected && selected.value);\n\t\tif (alreadySelected) {\n\t\t\t// no need to redo\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._selected) {\n\t\t\tthis._selected.checked = false;\n\t\t}\n\t\tthis._selected = selected;\n\t\tthis.value = selected ? selected.value : null;\n\t\tthis.checkSelectedRadio();\n\t}\n\n\t/**\n\t * Returns the `Radio` that is selected within the `RadioGroup`.\n\t */\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\n\t/**\n\t * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.\n\t */\n\t@Input()\n\tset value(newValue: any) {\n\t\tif (this._value !== newValue) {\n\t\t\tthis._value = newValue;\n\n\t\t\tthis.updateSelectedRadioFromValue();\n\t\t\tthis.checkSelectedRadio();\n\t\t}\n\t}\n\n\t/**\n\t * Returns the value/state of the selected `Radio` within the `RadioGroup`.\n\t */\n\tget value() {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Replaces the name associated with the `RadioGroup` with the provided parameter.\n\t */\n\t@Input()\n\tset name(name: string) {\n\t\tthis._name = name;\n\t\tthis.updateRadios();\n\t}\n\t/**\n\t * Returns the associated name of the `RadioGroup`.\n\t */\n\tget name() {\n\t\treturn this._name;\n\t}\n\n\t/**\n\t * Set to true to disable the whole radio group\n\t */\n\t@Input()\n\tset disabled(disabled: boolean) {\n\t\tthis._disabled = disabled;\n\t\tthis.updateRadios();\n\t}\n\t/**\n\t * Returns the disabled value for the `RadioGroup`.\n\t */\n\tget disabled(): boolean {\n\t\treturn this._disabled;\n\t}\n\n\t/**\n\t * Returns the skeleton value in the `RadioGroup` if there is one.\n\t */\n\t@Input()\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\t/**\n\t * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.\n\t */\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\n\t/**\n\t * Binds 'cds--form-item' value to the class for `RadioGroup`.\n\t */\n\t@HostBinding(\"class.cds--form-item\") radioButtonGroupClass = true;\n\n\t/**\n\t * To track whether the `RadioGroup` has been initialized.\n\t */\n\tprotected isInitialized = false;\n\t/**\n\t * Reflects whether or not the input is disabled and cannot be selected.\n\t */\n\tprotected _disabled = false;\n\t/**\n\t * Reflects whether or not the dropdown is loading.\n\t */\n\tprotected _skeleton = false;\n\t/**\n\t * The value of the selected option within the `RadioGroup`.\n\t */\n\tprotected _value: any = null;\n\t/**\n\t * The `Radio` within the `RadioGroup` that is selected.\n\t */\n\tprotected _selected: Radio = null;\n\t/**\n\t * The name attribute associated with the `RadioGroup`.\n\t */\n\tprotected _name = `radio-group-${RadioGroup.radioGroupCount++}`;\n\n\t/**\n\t * Updates the selected `Radio` to be checked (selected).\n\t */\n\tcheckSelectedRadio() {\n\t\tif (this.selected && !this._selected.checked) {\n\t\t\tthis.selected.checked = true;\n\t\t}\n\t}\n\n\t/**\n\t * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).\n\t */\n\tupdateSelectedRadioFromValue() {\n\t\tlet alreadySelected = this._selected != null && this._selected.value === this._value;\n\t\tif (this.radios && !alreadySelected) {\n\t\t\tif (this.selected && this.value) {\n\t\t\t\tthis.selected.checked = false;\n\t\t\t}\n\t\t\tthis._selected = null;\n\t\t\tthis.radios.forEach(radio => {\n\t\t\t\tif (radio.checked || radio.value === this._value) {\n\t\t\t\t\tthis._selected = radio;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (this.selected && !this.value) {\n\t\t\t\tthis._value = this.selected.value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * `ControlValueAccessor` method to programmatically disable the `RadioGroup`.\n\t *\n\t * ex: `this.formGroup.get(\"myRadioGroup\").disable();`\n\t *\n\t * @param isDisabled `true` to disable the inputs\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\n\t}\n\n\t/**\n\t * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.\n\t */\n\temitChangeEvent(event: RadioChange) {\n\t\tthis.change.emit(event);\n\t\tthis.propagateChange(event.value);\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Synchronizes radio properties.\n\t */\n\tupdateRadios() {\n\t\tif (this.radios) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.radios.forEach(radio => {\n\t\t\t\t\tradio.name = this.name;\n\t\t\t\t\tradio.setDisabledFromGroup(this.disabled);\n\t\t\t\t\tif (this.labelPlacement === \"left\") {\n\t\t\t\t\t\tradio.labelPlacement = \"left\";\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Updates the value of the `RadioGroup` using the provided parameter.\n\t */\n\twriteValue(value: any) {\n\t\tthis.value = value;\n\t\tsetTimeout(() => {\n\t\t\tthis.updateSelectedRadioFromValue();\n\t\t\tthis.checkSelectedRadio();\n\t\t});\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.radios.changes.subscribe(() => {\n\t\t\tthis.updateRadios();\n\t\t\tthis.updateRadioChangeHandler();\n\t\t});\n\n\t\tthis.updateChildren();\n\t\tthis.updateRadioChangeHandler();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.updateRadios();\n\t}\n\n\t/**\n\t * Used to set method to propagate changes back to the form.\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the checkbox is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t@HostListener(\"focusout\")\n\tfocusOut() {\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Needed to properly implement ControlValueAccessor.\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Method set in registerOnChange to propagate changes back to the form.\n\t */\n\tpropagateChange = (_: any) => {};\n\n\tprotected updateChildren() {\n\t\tif (this.radios) {\n\t\t\tthis.radios.forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n\n\tprotected updateRadioChangeHandler() {\n\t\tthis.radios.forEach(radio => {\n\t\t\tradio.registerRadioChangeHandler((event: RadioChange) => {\n\t\t\t\tif ((this.selected && this.selected.value) === event.value) {\n\t\t\t\t\t// no need to redo\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// deselect previous radio\n\t\t\t\tif (this.selected) {\n\t\t\t\t\tthis.selected.checked = false;\n\t\t\t\t}\n\t\t\t\t// update selected and value from the event\n\t\t\t\tthis._selected = event.source;\n\t\t\t\tthis._value = event.value;\n\t\t\t\t// bubble the event\n\t\t\t\tthis.emitChangeEvent(event);\n\t\t\t});\n\t\t});\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Radio } from \"./radio.component\";\nimport { RadioGroup } from \"./radio-group.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tRadio,\n\t\tRadioGroup\n\t],\n\texports: [\n\t\tRadio,\n\t\tRadioGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule\n\t]\n})\nexport class RadioModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-radio.mjs","sources":["../../src/radio/radio-change.class.ts","../../src/radio/radio.component.ts","../../src/radio/radio-group.component.ts","../../src/radio/radio.module.ts","../../src/radio/carbon-components-angular-radio.ts"],"sourcesContent":["import { Radio } from \"./radio.component\";\n\n/**\n * Used to emit changes performed on a `Radio`.\n */\nexport class RadioChange {\n\t/**\n\t * Contains the `Radio` that has been changed.\n\t */\n\tsource: Radio | null;\n\t/**\n\t * The value of the `Radio` encompassed in the `RadioChange` class.\n\t */\n\tvalue: string;\n\n\tconstructor(source: Radio, value: string) {\n\t\tthis.source = source;\n\t\tthis.value = value;\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tHostBinding,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { RadioChange } from \"./radio-change.class\";\n\n/**\n * class: Radio (extends Checkbox)\n *\n * selector: `n-radio`\n *\n * source: `src/forms/radio.component.ts`\n *\n * ```html\n *\t<cds-radio [(ngModel)]=\"radioState\">Radio</cds-radio>\n * ```\n *\n * Also see: [`RadioGroup`](#cds-radio-group)\n */\n@Component({\n\tselector: \"cds-radio, ibm-radio\",\n\ttemplate: `\n\t\t<input\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\tclass=\"cds--radio-button\"\n\t\t\ttype=\"radio\"\n\t\t\t[checked]=\"checked\"\n\t\t\t[disabled]=\"disabled || disabledFromGroup\"\n\t\t\t[name]=\"name\"\n\t\t\t[id]=\"id\"\n\t\t\t[required]=\"required\"\n\t\t\t[attr.value]=\"value\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t(change)=\"onChange($event)\"\n\t\t\t(click)=\"onClick($event)\">\n\t\t<div *ngIf=\"skeleton\" class=\"cds--radio-button cds--skeleton\"></div>\n\t\t<label\n\t\t\tclass=\"cds--radio-button__label\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--skeleton': skeleton\n\t\t\t}\"\n\t\t\t[for]=\"id\"\n\t\t\tid=\"label-{{id}}\">\n\t\t\t<span class=\"cds--radio-button__appearance\"></span>\n\t\t\t<ng-content></ng-content>\n\t\t</label>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Radio,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Radio {\n\t/**\n\t * Used to dynamically create unique ids for the `Radio`.\n\t */\n\tstatic radioCount = 0;\n\n\t@Input() checked = false;\n\n\t@Input() name = \"\";\n\n\t@Input() disabled = false;\n\n\t@Input() labelPlacement: \"right\" | \"left\" = \"right\";\n\n\t@Input() set ariaLabelledby(value: string) {\n\t\tthis._labelledby = value;\n\t}\n\n\tget ariaLabelledby() {\n\t\tif (this._labelledby) {\n\t\t\treturn this._labelledby;\n\t\t}\n\t\treturn `label-${this.id}`;\n\t}\n\n\t/**\n\t * Used to set the `aria-label` attribute on the input label.\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Sets the HTML required attribute\n\t */\n\t@Input() required = false;\n\t/**\n\t * The value of the `Radio`.\n\t */\n\t@Input() value;\n\t/**\n\t * Set to `true` for a loading table.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * The id for the `Radio`.\n\t */\n\t@Input() id = `radio-${Radio.radioCount++}`;\n\t/**\n\t * emits when the state of the radio changes\n\t */\n\t@Output() change = new EventEmitter<RadioChange>();\n\n\t@HostBinding(\"class.cds--radio-button-wrapper\") hostClass = true;\n\n\t@HostBinding(\"class.cds--radio-button-wrapper--label-left\") get labelLeft() {\n\t\treturn this.labelPlacement === \"left\";\n\t}\n\n\t/**\n\t * Reflects whether or not the input is disabled at `RadioGroup` level.\n\t */\n\tdisabledFromGroup = false;\n\n\tprotected _labelledby = \"\";\n\n\t/**\n\t * Handler provided by the `RadioGroup` to bubble events up\n\t */\n\tradioChangeHandler = (event: RadioChange) => {};\n\n\t/**\n\t * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.\n\t * Emits the changes of both the `RadioGroup` and `Radio`.\n\t */\n\tonChange(event: Event) {\n\t\tevent.stopPropagation();\n\t}\n\n\tonClick(event: Event) {\n\t\tthis.checked = (event.target as HTMLInputElement).checked;\n\t\tconst radioEvent = new RadioChange(this, this.value);\n\t\tthis.change.emit(radioEvent);\n\t\tthis.radioChangeHandler(radioEvent);\n\t}\n\n\t/**\n\t * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events\n\t * @param fn callback that expects a `RadioChange` as an argument\n\t */\n\tregisterRadioChangeHandler(fn: (event: RadioChange) => void) {\n\t\tthis.radioChangeHandler = fn;\n\t}\n\n\tsetDisabledFromGroup(disabled: boolean) {\n\t\tthis.disabledFromGroup = disabled;\n\t}\n}\n","import {\n\tAfterContentInit,\n\tContentChildren,\n\tComponent,\n\tEventEmitter,\n\tforwardRef,\n\tInput,\n\tOutput,\n\tQueryList,\n\tHostBinding,\n\tAfterViewInit,\n\tHostListener,\n\tTemplateRef\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { Radio } from \"./radio.component\";\nimport { RadioChange } from \"./radio-change.class\";\n\n/**\n * [See demo](../../?path=/story/components-radio--basic)\n *\n * class: RadioGroup\n *\n * selector: `cds-radio-group`\n *\n * source: `src/forms/radio.component.ts`\n *\n * Ex:\n *\n * ```html\n * <cds-radio-group [(ngModel)]=\"radio\">\n * \t<cds-radio *ngFor=\"let one of manyRadios\" [value]=\"one\">\n *\t\tRadio {{one}}\n * \t</cds-radio>\n * </cds-radio-group>\n *\n * Radio selected: {{radio}}\n * ```\n *\n * ```ts\n *\tconst manyRadios = [\"one\", \"two\", \"three\", \"four\", \"five\", \"six\"];\n * ```\n *\n * Also see: [Radio](#cds-radio)\n */\n@Component({\n\tselector: \"cds-radio-group, ibm-radio-group\",\n\ttemplate: `\n\t\t<fieldset\n\t\t\tclass=\"cds--radio-button-group\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'cds--radio-button-group--vertical': orientation === 'vertical',\n\t\t\t\t'cds--radio-button-group--label-left': labelPlacement === 'left',\n\t\t\t\t'cds--radio-button-group--invalid' : !warn && invalid,\n\t\t\t\t'cds--radio-button-group--warning': !invalid && warn\n\t\t\t}\"\n\t\t\t[attr.data-invalid]=\"invalid ? true : null\">\n\t\t\t<legend *ngIf=\"legend\" class=\"cds--label\">\n\t\t\t\t<ng-template *ngIf=\"isTemplate(legend); else legendLabel;\" [ngTemplateOutlet]=\"legend\"></ng-template>\n\t\t\t\t<ng-template #legendLabel>{{legend}}</ng-template>\n\t\t\t</legend>\n\t\t\t<ng-content></ng-content>\n\t\t</fieldset>\n\t\t<div class=\"cds--radio-button__validation-msg\">\n\t\t\t<ng-container *ngIf=\"!warn && invalid\">\n\t\t\t\t<svg\n\t\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\t\tsize=\"16\"\n\t\t\t\t\tclass=\"cds--radio-button__invalid-icon\">\n\t\t\t\t</svg>\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{ invalidText }}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!invalid && warn\">\n\t\t\t\t<svg\n\t\t\t\t\tcdsIcon=\"warning--alt--filled\"\n\t\t\t\t\tclass=\"cds--radio-button__invalid-icon cds--radio-button__invalid-icon--warning\"\n\t\t\t\t\tsize=\"16\">\n\t\t\t\t</svg>\n\t\t\t\t<div class=\"cds--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(warnText)\">{{warnText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(warnText)\" [ngTemplateOutlet]=\"warnText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</div>\n\t\t<div\n\t\t\t*ngIf=\"helperText && !invalid && !warn\"\n\t\t\tclass=\"cds--form__helper-text\"\n\t\t\t[ngClass]=\"{'cds--form__helper-text--disabled': disabled}\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: RadioGroup,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class RadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {\n\n\t/**\n\t * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.\n\t */\n\t@Input()\n\tset selected(selected: Radio | null) {\n\t\tconst alreadySelected = (this._selected && this._selected.value) === (selected && selected.value);\n\t\tif (alreadySelected) {\n\t\t\t// no need to redo\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._selected) {\n\t\t\tthis._selected.checked = false;\n\t\t}\n\t\tthis._selected = selected;\n\t\tthis.value = selected ? selected.value : null;\n\t\tthis.checkSelectedRadio();\n\t}\n\n\t/**\n\t * Returns the `Radio` that is selected within the `RadioGroup`.\n\t */\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\n\t/**\n\t * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.\n\t */\n\t@Input()\n\tset value(newValue: any) {\n\t\tif (this._value !== newValue) {\n\t\t\tthis._value = newValue;\n\n\t\t\tthis.updateSelectedRadioFromValue();\n\t\t\tthis.checkSelectedRadio();\n\t\t}\n\t}\n\n\t/**\n\t * Returns the value/state of the selected `Radio` within the `RadioGroup`.\n\t */\n\tget value() {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Replaces the name associated with the `RadioGroup` with the provided parameter.\n\t */\n\t@Input()\n\tset name(name: string) {\n\t\tthis._name = name;\n\t\tthis.updateRadios();\n\t}\n\t/**\n\t * Returns the associated name of the `RadioGroup`.\n\t */\n\tget name() {\n\t\treturn this._name;\n\t}\n\n\t/**\n\t * Set to true to disable the whole radio group\n\t */\n\t@Input()\n\tset disabled(disabled: boolean) {\n\t\tthis._disabled = disabled;\n\t\tthis.updateRadios();\n\t}\n\t/**\n\t * Returns the disabled value for the `RadioGroup`.\n\t */\n\tget disabled(): boolean {\n\t\treturn this._disabled;\n\t}\n\n\t/**\n\t * Returns the skeleton value in the `RadioGroup` if there is one.\n\t */\n\t@Input()\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\t/**\n\t * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.\n\t */\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\t/**\n\t * Used for creating the `RadioGroup` 'name' property dynamically.\n\t */\n\tstatic radioGroupCount = 0;\n\n\t@Input() orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\n\t@Input() labelPlacement: \"right\" | \"left\" = \"right\";\n\n\t@Input() legend: string | TemplateRef<any>;\n\n\t/**\n\t * Used to set the `aria-label` attribute on the radio group element.\n\t */\n\t@Input() ariaLabel: string;\n\n\t/**\n\t * Used to set the `aria-labelledby` attribute on the radio group element.\n\t */\n\t@Input() ariaLabelledby: string;\n\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\n\t/**\n\t * Set to `true` to show the invalid state.\n\t */\n\t@Input() invalid = false;\n\n\t/**\n\t * Value displayed if combobox is in an invalid state.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\n\t/**\n\t* Set to `true` to show a warning (contents set by warnText)\n\t*/\n\t@Input() warn = false;\n\n\t/**\n\t * Sets the warning text\n\t */\n\t@Input() warnText: string | TemplateRef<any>;\n\n\t/**\n\t * Emits event notifying other classes of a change using a `RadioChange` class.\n\t */\n\t@Output() change: EventEmitter<RadioChange> = new EventEmitter<RadioChange>();\n\n\t/**\n\t * The `Radio` input items in the `RadioGroup`.\n\t */\n\t// tslint:disable-next-line:no-forward-ref\n\t@ContentChildren(forwardRef(() => Radio)) radios: QueryList<Radio>;\n\n\t/**\n\t * Binds 'cds--form-item' value to the class for `RadioGroup`.\n\t */\n\t@HostBinding(\"class.cds--form-item\") radioButtonGroupClass = true;\n\n\t/**\n\t * To track whether the `RadioGroup` has been initialized.\n\t */\n\tprotected isInitialized = false;\n\t/**\n\t * Reflects whether or not the input is disabled and cannot be selected.\n\t */\n\tprotected _disabled = false;\n\t/**\n\t * Reflects whether or not the dropdown is loading.\n\t */\n\tprotected _skeleton = false;\n\t/**\n\t * The value of the selected option within the `RadioGroup`.\n\t */\n\tprotected _value: any = null;\n\t/**\n\t * The `Radio` within the `RadioGroup` that is selected.\n\t */\n\tprotected _selected: Radio = null;\n\t/**\n\t * The name attribute associated with the `RadioGroup`.\n\t */\n\tprotected _name = `radio-group-${RadioGroup.radioGroupCount++}`;\n\n\t/**\n\t * Updates the selected `Radio` to be checked (selected).\n\t */\n\tcheckSelectedRadio() {\n\t\tif (this.selected && !this._selected.checked) {\n\t\t\tthis.selected.checked = true;\n\t\t}\n\t}\n\n\t/**\n\t * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).\n\t */\n\tupdateSelectedRadioFromValue() {\n\t\tlet alreadySelected = this._selected != null && this._selected.value === this._value;\n\t\tif (this.radios && !alreadySelected) {\n\t\t\tif (this.selected && this.value) {\n\t\t\t\tthis.selected.checked = false;\n\t\t\t}\n\t\t\tthis._selected = null;\n\t\t\tthis.radios.forEach(radio => {\n\t\t\t\tif (radio.checked || radio.value === this._value) {\n\t\t\t\t\tthis._selected = radio;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (this.selected && !this.value) {\n\t\t\t\tthis._value = this.selected.value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * `ControlValueAccessor` method to programmatically disable the `RadioGroup`.\n\t *\n\t * ex: `this.formGroup.get(\"myRadioGroup\").disable();`\n\t *\n\t * @param isDisabled `true` to disable the inputs\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\n\t}\n\n\t/**\n\t * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.\n\t */\n\temitChangeEvent(event: RadioChange) {\n\t\tthis.change.emit(event);\n\t\tthis.propagateChange(event.value);\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Synchronizes radio properties.\n\t */\n\tupdateRadios() {\n\t\tif (this.radios) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.radios.forEach(radio => {\n\t\t\t\t\tradio.name = this.name;\n\t\t\t\t\tradio.setDisabledFromGroup(this.disabled);\n\t\t\t\t\tif (this.labelPlacement === \"left\") {\n\t\t\t\t\t\tradio.labelPlacement = \"left\";\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Updates the value of the `RadioGroup` using the provided parameter.\n\t */\n\twriteValue(value: any) {\n\t\tthis.value = value;\n\t\tsetTimeout(() => {\n\t\t\tthis.updateSelectedRadioFromValue();\n\t\t\tthis.checkSelectedRadio();\n\t\t});\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.radios.changes.subscribe(() => {\n\t\t\tthis.updateRadios();\n\t\t\tthis.updateRadioChangeHandler();\n\t\t});\n\n\t\tthis.updateChildren();\n\t\tthis.updateRadioChangeHandler();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.updateRadios();\n\t}\n\n\t/**\n\t * Used to set method to propagate changes back to the form.\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the checkbox is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t@HostListener(\"focusout\")\n\tfocusOut() {\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Needed to properly implement ControlValueAccessor.\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Method set in registerOnChange to propagate changes back to the form.\n\t */\n\tpropagateChange = (_: any) => {};\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tprotected updateChildren() {\n\t\tif (this.radios) {\n\t\t\tthis.radios.forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n\n\tprotected updateRadioChangeHandler() {\n\t\tthis.radios.forEach(radio => {\n\t\t\tradio.registerRadioChangeHandler((event: RadioChange) => {\n\t\t\t\tif ((this.selected && this.selected.value) === event.value) {\n\t\t\t\t\t// no need to redo\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// deselect previous radio\n\t\t\t\tif (this.selected) {\n\t\t\t\t\tthis.selected.checked = false;\n\t\t\t\t}\n\t\t\t\t// update selected and value from the event\n\t\t\t\tthis._selected = event.source;\n\t\t\t\tthis._value = event.value;\n\t\t\t\t// bubble the event\n\t\t\t\tthis.emitChangeEvent(event);\n\t\t\t});\n\t\t});\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Radio } from \"./radio.component\";\nimport { RadioGroup } from \"./radio-group.component\";\nimport { IconModule } from \"carbon-components-angular/icon\";\n\n@NgModule({\n\tdeclarations: [\n\t\tRadio,\n\t\tRadioGroup\n\t],\n\texports: [\n\t\tRadio,\n\t\tRadioGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tIconModule\n\t]\n})\nexport class RadioModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|