@ng-bootstrap/ng-bootstrap
Version:
Angular powered Bootstrap
1 lines • 15 kB
Source Map (JSON)
{"version":3,"file":"ng-bootstrap-ng-bootstrap-rating.mjs","sources":["../../../src/rating/rating-config.ts","../../../src/rating/rating.ts","../../../src/rating/rating.module.ts","../../../src/rating/ng-bootstrap-ng-bootstrap-rating.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the ratings used in the application.\n */\n@Injectable({ providedIn: 'root' })\nexport class NgbRatingConfig {\n\tmax = 10;\n\treadonly = false;\n\tresettable = false;\n\ttabindex: number | string = 0;\n}\n","import {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tEventEmitter,\n\tforwardRef,\n\tinject,\n\tInput,\n\tOnChanges,\n\tOnInit,\n\tOutput,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { NgbRatingConfig } from './rating-config';\nimport { getValueInRange } from './_ngb-ngbootstrap-utilities.mjs';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * The context for the custom star display template defined in the `starTemplate`.\n */\nexport interface StarTemplateContext {\n\t/**\n\t * The star fill percentage, an integer in the `[0, 100]` range.\n\t */\n\tfill: number;\n\n\t/**\n\t * Index of the star, starts with `0`.\n\t */\n\tindex: number;\n}\n\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\n@Component({\n\tselector: 'ngb-rating',\n\timports: [NgTemplateOutlet],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'd-inline-flex',\n\t\t'[tabindex]': 'disabled ? -1 : tabindex',\n\t\trole: 'slider',\n\t\t'aria-valuemin': '0',\n\t\t'[attr.aria-valuemax]': 'max',\n\t\t'[attr.aria-valuenow]': 'nextRate',\n\t\t'[attr.aria-valuetext]': 'ariaValueText(nextRate, max)',\n\t\t'[attr.aria-readonly]': 'readonly && !disabled ? true : null',\n\t\t'[attr.aria-disabled]': 'disabled ? true : null',\n\t\t'(blur)': 'handleBlur()',\n\t\t'(keydown)': 'handleKeyDown($event)',\n\t\t'(mouseleave)': 'reset()',\n\t},\n\ttemplate: `\n\t\t<ng-template #t let-fill=\"fill\">{{ fill === 100 ? '★' : '☆' }}</ng-template>\n\t\t@for (_ of contexts; track _; let index = $index) {\n\t\t\t<span class=\"visually-hidden\">({{ index < nextRate ? '*' : ' ' }})</span>\n\t\t\t<span\n\t\t\t\t(mouseenter)=\"enter(index + 1)\"\n\t\t\t\t(click)=\"handleClick(index + 1)\"\n\t\t\t\t[style.cursor]=\"isInteractive() ? 'pointer' : 'default'\"\n\t\t\t>\n\t\t\t\t<ng-template\n\t\t\t\t\t[ngTemplateOutlet]=\"starTemplate || starTemplateFromContent || t\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"contexts[index]\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t}\n\t`,\n\tproviders: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRating), multi: true }],\n})\nexport class NgbRating implements ControlValueAccessor, OnInit, OnChanges {\n\tcontexts: StarTemplateContext[] = [];\n\tnextRate: number;\n\n\tprivate _config = inject(NgbRatingConfig);\n\tprivate _changeDetectorRef = inject(ChangeDetectorRef);\n\n\t/**\n\t * If `true`, the rating can't be changed or focused.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * The maximal rating that can be given.\n\t */\n\t@Input() max = this._config.max;\n\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t */\n\t@Input() rate: number;\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t */\n\t@Input() readonly = this._config.readonly;\n\n\t/**\n\t * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\n\t */\n\t@Input() resettable = this._config.resettable;\n\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * Alternatively put an `<ng-template>` as the only child of your `<ngb-rating>` element\n\t */\n\t@Input() starTemplate: TemplateRef<StarTemplateContext>;\n\t@ContentChild(TemplateRef, { static: false }) starTemplateFromContent: TemplateRef<StarTemplateContext>;\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @since 13.1.0\n\t */\n\t@Input() tabindex = this._config.tabindex;\n\n\t/**\n\t * Allows to provide a function to set a custom aria-valuetext\n\t *\n\t * @since 14.1.0\n\t */\n\t@Input() ariaValueText(current: number, max: number) {\n\t\treturn `${current} out of ${max}`;\n\t}\n\n\t/**\n\t * An event emitted when the user is hovering over a given rating.\n\t *\n\t * Event payload equals to the rating being hovered over.\n\t */\n\t@Output() hover = new EventEmitter<number>();\n\n\t/**\n\t * An event emitted when the user stops hovering over a given rating.\n\t *\n\t * Event payload equals to the rating of the last item being hovered over.\n\t */\n\t@Output() leave = new EventEmitter<number>();\n\n\t/**\n\t * An event emitted when the rating is changed.\n\t *\n\t * Event payload equals to the newly selected rating.\n\t */\n\t@Output() rateChange = new EventEmitter<number>(true);\n\n\tonChange = (_: any) => {};\n\tonTouched = () => {};\n\n\tisInteractive(): boolean {\n\t\treturn !this.readonly && !this.disabled;\n\t}\n\n\tenter(value: number): void {\n\t\tif (this.isInteractive()) {\n\t\t\tthis._updateState(value);\n\t\t}\n\t\tthis.hover.emit(value);\n\t}\n\n\thandleBlur() {\n\t\tthis.onTouched();\n\t}\n\n\thandleClick(value: number) {\n\t\tif (this.isInteractive()) {\n\t\t\tthis.update(this.resettable && this.rate === value ? 0 : value);\n\t\t}\n\t}\n\n\thandleKeyDown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.update(this.rate - 1);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.update(this.rate + 1);\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis.update(0);\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis.update(this.max);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// note 'return' in default case\n\t\tevent.preventDefault();\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes['rate']) {\n\t\t\tthis.update(this.rate);\n\t\t}\n\t\tif (changes['max']) {\n\t\t\tthis._updateMax();\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis._setupContexts();\n\t\tthis._updateState(this.rate);\n\t}\n\n\tregisterOnChange(fn: (value: any) => any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\treset(): void {\n\t\tthis.leave.emit(this.nextRate);\n\t\tthis._updateState(this.rate);\n\t}\n\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\n\t}\n\n\tupdate(value: number, internalChange = true): void {\n\t\tconst newRate = getValueInRange(value, this.max, 0);\n\t\tif (this.isInteractive() && this.rate !== newRate) {\n\t\t\tthis.rate = newRate;\n\t\t\tthis.rateChange.emit(this.rate);\n\t\t}\n\t\tif (internalChange) {\n\t\t\tthis.onChange(this.rate);\n\t\t\tthis.onTouched();\n\t\t}\n\t\tthis._updateState(this.rate);\n\t}\n\n\twriteValue(value) {\n\t\tthis.update(value, false);\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\n\tprivate _updateState(nextValue: number) {\n\t\tthis.nextRate = nextValue;\n\t\tthis.contexts.forEach(\n\t\t\t(context, index) => (context.fill = Math.round(getValueInRange(nextValue - index, 1, 0) * 100)),\n\t\t);\n\t}\n\n\tprivate _updateMax() {\n\t\tif (this.max > 0) {\n\t\t\tthis._setupContexts();\n\t\t\tthis.update(this.rate);\n\t\t}\n\t}\n\n\tprivate _setupContexts() {\n\t\tthis.contexts = Array.from({ length: this.max }, (v, k) => ({ fill: 0, index: k }));\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { NgbRating } from './rating';\n\nexport { NgbRating } from './rating';\nexport { NgbRatingConfig } from './rating-config';\n\n@NgModule({\n\timports: [NgbRating],\n\texports: [NgbRating],\n})\nexport class NgbRatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}