@synergy-design-system/angular
Version:
Angular wrappers for the Synergy Design System
1 lines • 23.5 kB
Source Map (JSON)
{"version":3,"file":"synergy-design-system-angular-components-select.mjs","sources":["../../components/select/select.component.ts","../../components/select/synergy-design-system-angular-components-select.ts"],"sourcesContent":["// ---------------------------------------------------------------------\n// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components\n// Please do not edit this file directly!\n// It will get recreated when running pnpm build.\n// ---------------------------------------------------------------------\nimport {\n Component,\n ElementRef,\n NgZone,\n Input,\n Output,\n EventEmitter,\n AfterContentInit,\n} from '@angular/core';\nimport type { SynSelect } from '@synergy-design-system/components';\nimport type { SynChangeEvent } from '@synergy-design-system/components';\nimport type { SynClearEvent } from '@synergy-design-system/components';\nimport type { SynInputEvent } from '@synergy-design-system/components';\nimport type { SynFocusEvent } from '@synergy-design-system/components';\nimport type { SynBlurEvent } from '@synergy-design-system/components';\nimport type { SynShowEvent } from '@synergy-design-system/components';\nimport type { SynAfterShowEvent } from '@synergy-design-system/components';\nimport type { SynHideEvent } from '@synergy-design-system/components';\nimport type { SynAfterHideEvent } from '@synergy-design-system/components';\nimport type { SynInvalidEvent } from '@synergy-design-system/components';\nimport '@synergy-design-system/components/components/select/select.js';\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-select--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-tag\n *\n * @slot - The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot suffix - Used to append a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the control's value changes.\n * @event syn-clear - Emitted when the control's value is cleared.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-show - Emitted when the select's menu opens.\n * @event syn-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event syn-hide - Emitted when the select's menu closes.\n * @event syn-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, suffix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart suffix - The container that wraps the suffix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n */\n@Component({\n selector: 'syn-select',\n standalone: true,\n template: '<ng-content></ng-content>',\n})\nexport class SynSelectComponent {\n public nativeElement: SynSelect;\n private _ngZone: NgZone;\n private modelSignal = new AbortController();\n\n constructor(e: ElementRef, ngZone: NgZone) {\n this.nativeElement = e.nativeElement;\n this._ngZone = ngZone;\n this.nativeElement.addEventListener('syn-change', (e: SynChangeEvent) => {\n this.synChangeEvent.emit(e);\n });\n this.nativeElement.addEventListener('syn-clear', (e: SynClearEvent) => {\n this.synClearEvent.emit(e);\n });\n this.nativeElement.addEventListener('syn-input', (e: SynInputEvent) => {\n this.synInputEvent.emit(e);\n });\n this.nativeElement.addEventListener('syn-focus', (e: SynFocusEvent) => {\n this.synFocusEvent.emit(e);\n });\n this.nativeElement.addEventListener('syn-blur', (e: SynBlurEvent) => {\n this.synBlurEvent.emit(e);\n });\n this.nativeElement.addEventListener('syn-show', (e: SynShowEvent) => {\n this.synShowEvent.emit(e);\n });\n this.nativeElement.addEventListener(\n 'syn-after-show',\n (e: SynAfterShowEvent) => {\n this.synAfterShowEvent.emit(e);\n },\n );\n this.nativeElement.addEventListener('syn-hide', (e: SynHideEvent) => {\n this.synHideEvent.emit(e);\n });\n this.nativeElement.addEventListener(\n 'syn-after-hide',\n (e: SynAfterHideEvent) => {\n this.synAfterHideEvent.emit(e);\n },\n );\n this.nativeElement.addEventListener('syn-invalid', (e: SynInvalidEvent) => {\n this.synInvalidEvent.emit(e);\n });\n this.ngModelUpdateOn = 'syn-input';\n }\n\n /**\n * The event that will trigger the ngModel update.\n * By default, this is set to \"syn-input\".\n */\n @Input()\n set ngModelUpdateOn(v: keyof HTMLElementEventMap) {\n this.modelSignal.abort();\n this.modelSignal = new AbortController();\n const option = v || 'syn-input';\n this.nativeElement.addEventListener(\n option,\n () => {\n this.valueChange.emit(this.value);\n },\n {\n signal: this.modelSignal.signal,\n },\n );\n }\n get ngModelUpdateOn(): keyof HTMLElementEventMap {\n return this.ngModelUpdateOn;\n }\n\n /**\n* The delimiter to use when setting the value when `multiple` is enabled.\nThe default is a space, but you can set it to a comma or other character.\n */\n @Input()\n set delimiter(v: SynSelect['delimiter']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.delimiter = v));\n }\n get delimiter(): SynSelect['delimiter'] {\n return this.nativeElement.delimiter;\n }\n\n /**\n * The name of the select, submitted as a name/value pair with form data.\n */\n @Input()\n set name(v: SynSelect['name']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.name = v));\n }\n get name(): SynSelect['name'] {\n return this.nativeElement.name;\n }\n\n /**\n * The select's size.\n */\n @Input()\n set size(v: SynSelect['size']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));\n }\n get size(): SynSelect['size'] {\n return this.nativeElement.size;\n }\n\n /**\n * Placeholder text to show as a hint when the select is empty.\n */\n @Input()\n set placeholder(v: SynSelect['placeholder']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.placeholder = v));\n }\n get placeholder(): SynSelect['placeholder'] {\n return this.nativeElement.placeholder;\n }\n\n /**\n * Allows more than one option to be selected.\n */\n @Input()\n set multiple(v: '' | SynSelect['multiple']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.multiple = v === '' || v),\n );\n }\n get multiple(): SynSelect['multiple'] {\n return this.nativeElement.multiple;\n }\n\n /**\n* The maximum number of selected options to show when `multiple` is true.\n* After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected.\n* Set to 0 to remove the limit.\n */\n @Input()\n set maxOptionsVisible(v: SynSelect['maxOptionsVisible']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.maxOptionsVisible = v),\n );\n }\n get maxOptionsVisible(): SynSelect['maxOptionsVisible'] {\n return this.nativeElement.maxOptionsVisible;\n }\n\n /**\n * Disables the select control.\n */\n @Input()\n set disabled(v: '' | SynSelect['disabled']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.disabled = v === '' || v),\n );\n }\n get disabled(): SynSelect['disabled'] {\n return this.nativeElement.disabled;\n }\n\n /**\n * Adds a clear button when the select is not empty.\n */\n @Input()\n set clearable(v: '' | SynSelect['clearable']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.clearable = v === '' || v),\n );\n }\n get clearable(): SynSelect['clearable'] {\n return this.nativeElement.clearable;\n }\n\n /**\n* Indicates whether or not the select is open.\n* You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\n @Input()\n set open(v: '' | SynSelect['open']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.open = v === '' || v),\n );\n }\n get open(): SynSelect['open'] {\n return this.nativeElement.open;\n }\n\n /**\n* Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`.\n* Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @Input()\n set hoist(v: '' | SynSelect['hoist']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.hoist = v === '' || v),\n );\n }\n get hoist(): SynSelect['hoist'] {\n return this.nativeElement.hoist;\n }\n\n /**\n * The select's label.\n * If you need to display HTML, use the `label` slot instead.\n */\n @Input()\n set label(v: SynSelect['label']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.label = v));\n }\n get label(): SynSelect['label'] {\n return this.nativeElement.label;\n }\n\n /**\n* The preferred placement of the select's menu.\n* Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n */\n @Input()\n set placement(v: SynSelect['placement']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.placement = v));\n }\n get placement(): SynSelect['placement'] {\n return this.nativeElement.placement;\n }\n\n /**\n * The select's help text.\n * If you need to display HTML, use the `help-text` slot instead.\n */\n @Input()\n set helpText(v: SynSelect['helpText']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.helpText = v));\n }\n get helpText(): SynSelect['helpText'] {\n return this.nativeElement.helpText;\n }\n\n /**\n* By default, form controls are associated with the nearest containing `<form>` element.\n* This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`.\n* The form must be in\nthe same document or shadow root for this to work.\n */\n @Input()\n set form(v: SynSelect['form']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.form = v));\n }\n get form(): SynSelect['form'] {\n return this.nativeElement.form;\n }\n\n /**\n * The select's required attribute.\n */\n @Input()\n set required(v: '' | SynSelect['required']) {\n this._ngZone.runOutsideAngular(\n () => (this.nativeElement.required = v === '' || v),\n );\n }\n get required(): SynSelect['required'] {\n return this.nativeElement.required;\n }\n\n /**\n* A function that customizes the tags to be rendered when multiple=true.\n* The first argument is the option, the second\nis the current tag's index.\n* The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.\n */\n @Input()\n set getTag(v: SynSelect['getTag']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.getTag = v));\n }\n get getTag(): SynSelect['getTag'] {\n return this.nativeElement.getTag;\n }\n\n /**\n* The current value of the select, submitted as a name/value pair with form data.\n* When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array.\n* **For this reason, values must not contain spaces.**\n */\n @Input()\n set value(v: SynSelect['value']) {\n this._ngZone.runOutsideAngular(() => (this.nativeElement.value = v));\n }\n get value(): SynSelect['value'] {\n return this.nativeElement.value;\n }\n\n /**\n * Emitted when the control's value changes.\n */\n @Output() synChangeEvent = new EventEmitter<SynChangeEvent>();\n\n /**\n * Emitted when the control's value is cleared.\n */\n @Output() synClearEvent = new EventEmitter<SynClearEvent>();\n\n /**\n * Emitted when the control receives input.\n */\n @Output() synInputEvent = new EventEmitter<SynInputEvent>();\n\n /**\n * Emitted when the control gains focus.\n */\n @Output() synFocusEvent = new EventEmitter<SynFocusEvent>();\n\n /**\n * Emitted when the control loses focus.\n */\n @Output() synBlurEvent = new EventEmitter<SynBlurEvent>();\n\n /**\n * Emitted when the select's menu opens.\n */\n @Output() synShowEvent = new EventEmitter<SynShowEvent>();\n\n /**\n * Emitted after the select's menu opens and all animations are complete.\n */\n @Output() synAfterShowEvent = new EventEmitter<SynAfterShowEvent>();\n\n /**\n * Emitted when the select's menu closes.\n */\n @Output() synHideEvent = new EventEmitter<SynHideEvent>();\n\n /**\n * Emitted after the select's menu closes and all animations are complete.\n */\n @Output() synAfterHideEvent = new EventEmitter<SynAfterHideEvent>();\n\n /**\n * Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n */\n @Output() synInvalidEvent = new EventEmitter<SynInvalidEvent>();\n\n /**\n * Support for two way data binding\n */\n @Output() valueChange = new EventEmitter<SynSelect['value']>();\n}\n\nexport type { SynChangeEvent } from '@synergy-design-system/components';\nexport type { SynClearEvent } from '@synergy-design-system/components';\nexport type { SynInputEvent } from '@synergy-design-system/components';\nexport type { SynFocusEvent } from '@synergy-design-system/components';\nexport type { SynBlurEvent } from '@synergy-design-system/components';\nexport type { SynShowEvent } from '@synergy-design-system/components';\nexport type { SynAfterShowEvent } from '@synergy-design-system/components';\nexport type { SynHideEvent } from '@synergy-design-system/components';\nexport type { SynAfterHideEvent } from '@synergy-design-system/components';\nexport type { SynInvalidEvent } from '@synergy-design-system/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './select.component';\n"],"names":[],"mappings":"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"}