@lumston/ds-angular 0.0.6 → 0.0.8

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.
Files changed (66) hide show
  1. package/fesm2022/lumston-ds-angular-src-data-display.mjs +215 -0
  2. package/fesm2022/lumston-ds-angular-src-data-display.mjs.map +1 -0
  3. package/fesm2022/lumston-ds-angular-src-dropdown.mjs +94 -0
  4. package/fesm2022/lumston-ds-angular-src-dropdown.mjs.map +1 -0
  5. package/fesm2022/lumston-ds-angular-src-feedback.mjs +400 -0
  6. package/fesm2022/lumston-ds-angular-src-feedback.mjs.map +1 -0
  7. package/fesm2022/lumston-ds-angular-src-icon.mjs +148 -0
  8. package/fesm2022/lumston-ds-angular-src-icon.mjs.map +1 -0
  9. package/fesm2022/lumston-ds-angular-src-inputs.mjs +1132 -0
  10. package/fesm2022/lumston-ds-angular-src-inputs.mjs.map +1 -0
  11. package/fesm2022/lumston-ds-angular-src-navigation.mjs +473 -0
  12. package/fesm2022/lumston-ds-angular-src-navigation.mjs.map +1 -0
  13. package/fesm2022/lumston-ds-angular-src-overlay.mjs +1038 -0
  14. package/fesm2022/lumston-ds-angular-src-overlay.mjs.map +1 -0
  15. package/fesm2022/lumston-ds-angular-src-typography.mjs +303 -0
  16. package/fesm2022/lumston-ds-angular-src-typography.mjs.map +1 -0
  17. package/fesm2022/lumston-ds-angular.mjs +90 -65
  18. package/fesm2022/lumston-ds-angular.mjs.map +1 -1
  19. package/package.json +58 -32
  20. package/styles/index.css +4 -0
  21. package/styles/ls-icons.css +482 -0
  22. package/types/lumston-ds-angular-src-data-display.d.ts +50 -0
  23. package/types/lumston-ds-angular-src-data-display.d.ts.map +1 -0
  24. package/types/lumston-ds-angular-src-dropdown.d.ts +28 -0
  25. package/types/lumston-ds-angular-src-dropdown.d.ts.map +1 -0
  26. package/types/lumston-ds-angular-src-feedback.d.ts +75 -0
  27. package/types/lumston-ds-angular-src-feedback.d.ts.map +1 -0
  28. package/types/lumston-ds-angular-src-icon.d.ts +27 -0
  29. package/types/lumston-ds-angular-src-icon.d.ts.map +1 -0
  30. package/types/lumston-ds-angular-src-inputs.d.ts +201 -0
  31. package/types/lumston-ds-angular-src-inputs.d.ts.map +1 -0
  32. package/types/lumston-ds-angular-src-navigation.d.ts +186 -0
  33. package/types/lumston-ds-angular-src-navigation.d.ts.map +1 -0
  34. package/types/lumston-ds-angular-src-overlay.d.ts +357 -0
  35. package/types/lumston-ds-angular-src-overlay.d.ts.map +1 -0
  36. package/types/lumston-ds-angular-src-typography.d.ts +51 -0
  37. package/types/lumston-ds-angular-src-typography.d.ts.map +1 -0
  38. package/types/lumston-ds-angular.d.ts.map +1 -1
  39. package/styles/data-display/badge/badge.styles.css +0 -244
  40. package/styles/data-display/chip/chip.styles.css +0 -245
  41. package/styles/dropdown/dropdown.styles.css +0 -14
  42. package/styles/feedback/alert/alert.styles.css +0 -304
  43. package/styles/feedback/loader/loader.styles.css +0 -132
  44. package/styles/feedback/progress-bar/progress-bar.styles.css +0 -193
  45. package/styles/icon/icon.styles.css +0 -11
  46. package/styles/inputs/button/button.styles.css +0 -377
  47. package/styles/inputs/checkbox/checkbox.styles.css +0 -157
  48. package/styles/inputs/icon-button/icon-button.styles.css +0 -157
  49. package/styles/inputs/radio-button/radio-button.styles.css +0 -274
  50. package/styles/inputs/slider/slider.styles.css +0 -228
  51. package/styles/inputs/switch/switch.styles.css +0 -483
  52. package/styles/media/avatar/avatar.styles.css +0 -112
  53. package/styles/media/avatar-group/avatar-group.styles.css +0 -37
  54. package/styles/media/logo/logo.styles.css +0 -40
  55. package/styles/navigation/breadcrumb/breadcrumb.styles.css +0 -144
  56. package/styles/navigation/pagination/pagination.styles.css +0 -336
  57. package/styles/overlay/menu/menu.styles.css +0 -138
  58. package/styles/overlay/modal/modal.styles.css +0 -178
  59. package/styles/overlay/popover/popover.styles.css +0 -112
  60. package/styles/overlay/tooltip/tooltip.styles.css +0 -172
  61. package/styles/styles/index.css +0 -28
  62. package/styles/typography/link/link.styles.css +0 -93
  63. package/styles/typography/tag/tag.styles.css +0 -274
  64. package/styles/typography/text/text.styles.css +0 -176
  65. /package/styles/{styles/_base.css → _base.css} +0 -0
  66. /package/styles/{styles/_tokens.css → _tokens.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lumston-ds-angular-src-inputs.mjs","sources":["../../../../libs/ds-angular/src/inputs/button/button.component.ts","../../../../libs/ds-angular/src/inputs/checkbox/checkbox.component.ts","../../../../libs/ds-angular/src/inputs/icon-button/icon-button.component.ts","../../../../libs/ds-angular/src/inputs/radio-button/radio-button.component.ts","../../../../libs/ds-angular/src/inputs/slider/slider.component.ts","../../../../libs/ds-angular/src/inputs/switch/switch.component.ts","../../../../libs/ds-angular/src/inputs/lumston-ds-angular-src-inputs.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n inject,\r\n input,\r\n output,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nexport type ButtonVariant = 'contained' | 'outline' | 'text';\r\nexport type ButtonColor =\r\n | 'primary'\r\n | 'secondary'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'dark';\r\nexport type ButtonSize = 'small' | 'medium' | 'large';\r\nexport type ButtonLoadingIndicator = 'spinner' | (string & {});\r\nexport type ButtonLoadingPosition = 'center' | 'start' | 'end';\r\n\r\n@Component({\r\n selector: 'ls-button',\r\n standalone: true,\r\n imports: [NgTemplateOutlet],\r\n template: `\r\n <button\r\n [type]=\"type()\"\r\n [disabled]=\"disabled() || loading()\"\r\n [class]=\"buttonClasses\"\r\n (click)=\"onClick($event)\">\r\n <ng-template #spinner>\r\n <svg class=\"btn-spinner\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <circle\r\n class=\"btn-spinner-circle\"\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"4\" />\r\n <path\r\n class=\"btn-spinner-path\"\r\n fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\" />\r\n </svg>\r\n </ng-template>\r\n\r\n @if (showStartIcon) {\r\n <span\r\n class=\"btn-icon btn-icon--start\"\r\n [class]=\"iconSizeClass\"\r\n [innerHTML]=\"sanitizedStartIcon\"></span>\r\n }\r\n\r\n @if (loading() && isCustomText) {\r\n <span class=\"btn-loading-overlay\">\r\n {{ loadingIndicator() }}\r\n </span>\r\n }\r\n\r\n @if (loading() && !isCustomText && loadingPosition() === 'start') {\r\n <span class=\"btn-loading-inline btn-loading-inline--start\">\r\n <ng-container *ngTemplateOutlet=\"spinner\" />\r\n </span>\r\n }\r\n\r\n @if (loading() && !isCustomText && loadingPosition() === 'center') {\r\n <span class=\"btn-loading-overlay\">\r\n <ng-container *ngTemplateOutlet=\"spinner\" />\r\n </span>\r\n }\r\n\r\n <span\r\n [class]=\"\r\n loading() && (isCustomText || loadingPosition() === 'center')\r\n ? 'btn-content--hidden'\r\n : ''\r\n \">\r\n <ng-content />\r\n </span>\r\n\r\n @if (loading() && !isCustomText && loadingPosition() === 'end') {\r\n <span class=\"btn-loading-inline btn-loading-inline--end\">\r\n <ng-container *ngTemplateOutlet=\"spinner\" />\r\n </span>\r\n }\r\n @if (showEndIcon) {\r\n <span\r\n class=\"btn-icon btn-icon--end\"\r\n [class]=\"iconSizeClass\"\r\n [innerHTML]=\"sanitizedEndIcon\"></span>\r\n }\r\n </button>\r\n `,\r\n styleUrls: ['./button.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent {\r\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n /** Host element of this component. Pass directly as `anchorEl` to overlay components like `ls-menu`. */\r\n readonly nativeElement: HTMLElement = this._elementRef.nativeElement;\r\n\r\n readonly variant = input<ButtonVariant>('contained');\r\n readonly color = input<ButtonColor>('primary');\r\n readonly size = input<ButtonSize>('medium');\r\n readonly type = input<'button' | 'submit' | 'reset'>('button');\r\n readonly disabled = input<boolean>(false);\r\n readonly fullWidth = input<boolean>(false);\r\n readonly startIcon = input<string>();\r\n readonly endIcon = input<string>();\r\n readonly loading = input<boolean>(false);\r\n readonly loadingIndicator = input<ButtonLoadingIndicator>('spinner');\r\n readonly loadingPosition = input<ButtonLoadingPosition>('center');\r\n readonly rounded = input<boolean>(false);\r\n\r\n readonly clicked = output<MouseEvent>();\r\n\r\n get isCustomText(): boolean {\r\n return this.loadingIndicator() !== 'spinner';\r\n }\r\n\r\n get iconSizeClass(): string {\r\n switch (this.size()) {\r\n case 'small':\r\n return 'btn-icon--sm';\r\n case 'large':\r\n return 'btn-icon--lg';\r\n default:\r\n return 'btn-icon--md';\r\n }\r\n }\r\n\r\n get showStartIcon(): boolean {\r\n if (!this.startIcon()) return false;\r\n if (!this.loading()) return true;\r\n return this.loadingPosition() === 'end' && !this.isCustomText;\r\n }\r\n\r\n get showEndIcon(): boolean {\r\n if (!this.endIcon()) return false;\r\n if (!this.loading()) return true;\r\n return this.loadingPosition() === 'start' && !this.isCustomText;\r\n }\r\n\r\n get sanitizedStartIcon(): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(this.startIcon() ?? '');\r\n }\r\n\r\n get sanitizedEndIcon(): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(this.endIcon() ?? '');\r\n }\r\n\r\n get buttonClasses(): string {\r\n const classes = ['btn'];\r\n\r\n const variant = this.variant();\r\n const color = this.color();\r\n\r\n // Variant + color mapping\r\n if (variant === 'contained') {\r\n classes.push(`btn-${color}`);\r\n }\r\n\r\n if (variant === 'outline') {\r\n classes.push(`btn-outline-${color}`);\r\n }\r\n\r\n if (variant === 'text') {\r\n classes.push(`btn-text-${color}`);\r\n }\r\n\r\n // Size\r\n switch (this.size()) {\r\n case 'small':\r\n classes.push('btn-sm');\r\n break;\r\n case 'large':\r\n classes.push('btn-lg');\r\n break;\r\n default:\r\n classes.push('btn-md');\r\n }\r\n\r\n if (this.fullWidth()) {\r\n classes.push('btn-full-width');\r\n }\r\n\r\n if (this.rounded()) {\r\n classes.push('btn-rounded');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n onClick(event: MouseEvent): void {\r\n if (!this.disabled() && !this.loading()) {\r\n this.clicked.emit(event);\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nexport type CheckboxColor =\r\n | 'inherit'\r\n | 'primary'\r\n | 'secondary'\r\n | 'success'\r\n | 'error'\r\n | 'info'\r\n | 'warning';\r\n\r\nexport type CheckboxSize = 'small' | 'medium';\r\n\r\nexport type CheckboxLabelPlacement =\r\n | 'start'\r\n | 'end'\r\n | 'top'\r\n | 'bottom';\r\n\r\nconst INDETERMINATE_SVG =\r\n '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\">' +\r\n '<path d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-2 10H7v-2h10v2z\"/>' +\r\n '</svg>';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'ls-checkbox',\r\n standalone: true,\r\n styleUrls: ['./checkbox.component.css'],\r\n template: `\r\n <label [class]=\"checkboxClasses()\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"checkbox-input\"\r\n [checked]=\"_isChecked()\"\r\n [disabled]=\"disabled()\"\r\n [indeterminate]=\"indeterminate()\"\r\n (change)=\"onToggle()\"\r\n />\r\n <span\r\n class=\"checkbox-icon\"\r\n [innerHTML]=\"currentIcon()\"\r\n ></span>\r\n <span class=\"checkbox-label\">\r\n <ng-content />\r\n </span>\r\n </label>\r\n `,\r\n})\r\nexport class CheckboxComponent {\r\n private readonly _sanitizer = inject(DomSanitizer);\r\n\r\n readonly icon = input.required<string>();\r\n readonly checkedIcon = input.required<string>();\r\n readonly checked = input<boolean>(false);\r\n readonly defaultChecked = input<boolean>(false);\r\n readonly color = input<CheckboxColor>('primary');\r\n readonly size = input<CheckboxSize>('medium');\r\n readonly disabled = input<boolean>(false);\r\n readonly indeterminate = input<boolean>(false);\r\n readonly labelPlacement =\r\n input<CheckboxLabelPlacement>('end');\r\n\r\n readonly changed = output<boolean>();\r\n\r\n protected readonly _isChecked = signal(false);\r\n\r\n private _isFirstSync = true;\r\n\r\n private readonly _syncChecked = effect(() => {\r\n const checked = this.checked();\r\n if (this._isFirstSync) {\r\n this._isFirstSync = false;\r\n this._isChecked.set(checked || this.defaultChecked());\r\n } else {\r\n this._isChecked.set(checked);\r\n }\r\n });\r\n\r\n protected readonly checkboxClasses = computed(() => {\r\n const s = this.size() === 'small' ? 'sm' : 'md';\r\n const parts = [\r\n 'checkbox',\r\n `checkbox-${s}`,\r\n `checkbox-color-${this.color()}`,\r\n `checkbox-label-${this.labelPlacement()}`,\r\n ];\r\n\r\n if (this._isChecked()) {\r\n parts.push('checkbox-checked');\r\n }\r\n if (this.disabled()) {\r\n parts.push('checkbox-disabled');\r\n }\r\n if (this.indeterminate()) {\r\n parts.push('checkbox-indeterminate');\r\n }\r\n\r\n return parts.join(' ');\r\n });\r\n\r\n protected readonly currentIcon = computed<SafeHtml>(() => {\r\n let svg: string;\r\n\r\n if (this.indeterminate()) {\r\n svg = INDETERMINATE_SVG;\r\n } else if (this._isChecked()) {\r\n svg = this.checkedIcon();\r\n } else {\r\n svg = this.icon();\r\n }\r\n\r\n return this._sanitizer.bypassSecurityTrustHtml(svg);\r\n });\r\n\r\n onToggle(): void {\r\n if (this.disabled()) {\r\n return;\r\n }\r\n\r\n const next = !this._isChecked();\r\n this._isChecked.set(next);\r\n this.changed.emit(next);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n inject,\r\n input,\r\n output,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nexport type IconButtonColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'dark';\r\nexport type IconButtonSize = 'small' | 'medium' | 'large';\r\n\r\n@Component({\r\n selector: 'ls-icon-button',\r\n standalone: true,\r\n template: `\r\n <button\r\n [type]=\"type()\"\r\n [disabled]=\"disabled() || loading()\"\r\n [class]=\"buttonClasses\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n [attr.aria-busy]=\"loading() || null\"\r\n (click)=\"onClick($event)\">\r\n @if (loading()) {\r\n <svg class=\"icon-btn-spinner\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <circle\r\n class=\"icon-btn-spinner-circle\"\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"4\" />\r\n <path\r\n class=\"icon-btn-spinner-path\"\r\n fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\" />\r\n </svg>\r\n } @else {\r\n <span class=\"icon-btn-icon\" [innerHTML]=\"sanitizedIcon\"></span>\r\n }\r\n </button>\r\n `,\r\n styleUrls: ['./icon-button.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class IconButtonComponent {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n readonly icon = input.required<string>();\r\n readonly ariaLabel = input.required<string>();\r\n readonly color = input<IconButtonColor>('primary');\r\n readonly size = input<IconButtonSize>('medium');\r\n readonly type = input<'button' | 'submit' | 'reset'>('button');\r\n readonly disabled = input<boolean>(false);\r\n readonly loading = input<boolean>(false);\r\n\r\n readonly clicked = output<MouseEvent>();\r\n\r\n get sanitizedIcon(): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(this.icon());\r\n }\r\n\r\n get buttonClasses(): string {\r\n const classes = ['icon-btn'];\r\n\r\n classes.push(`icon-btn-${this.color()}`);\r\n\r\n switch (this.size()) {\r\n case 'small':\r\n classes.push('icon-btn-sm');\r\n break;\r\n case 'large':\r\n classes.push('icon-btn-lg');\r\n break;\r\n default:\r\n classes.push('icon-btn-md');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n onClick(event: MouseEvent): void {\r\n if (!this.disabled() && !this.loading()) {\r\n this.clicked.emit(event);\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n forwardRef,\r\n input,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport type RadioButtonColor =\r\n | 'inherit'\r\n | 'primary'\r\n | 'secondary'\r\n | 'success'\r\n | 'error'\r\n | 'info'\r\n | 'warning';\r\n\r\nexport type RadioButtonSize = 'small' | 'medium';\r\n\r\nexport type RadioButtonLabelPlacement =\r\n | 'start'\r\n | 'end'\r\n | 'top'\r\n | 'bottom';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n selector: 'ls-radio-button',\r\n standalone: true,\r\n styleUrls: ['./radio-button.component.css'],\r\n template: `\r\n <label [class]=\"radioClasses()\">\r\n <button\r\n type=\"button\"\r\n role=\"radio\"\r\n class=\"radio-indicator\"\r\n [attr.aria-checked]=\"_isChecked()\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n (click)=\"onToggle()\"\r\n (keydown.space)=\"onToggle(); $event.preventDefault()\"\r\n (keydown.enter)=\"onToggle(); $event.preventDefault()\">\r\n </button>\r\n <span class=\"radio-label\">\r\n <ng-content />\r\n </span>\r\n </label>\r\n `,\r\n})\r\nexport class RadioButtonComponent\r\n implements ControlValueAccessor\r\n{\r\n public readonly checked = input<boolean>(false);\r\n public readonly color = input<RadioButtonColor>('primary');\r\n public readonly size = input<RadioButtonSize>('medium');\r\n public readonly disabled = input<boolean>(false);\r\n public readonly labelPlacement =\r\n input<RadioButtonLabelPlacement>('end');\r\n\r\n public readonly changed = output<boolean>();\r\n\r\n protected readonly _isChecked = signal(false);\r\n protected readonly _isDisabledByCva = signal(false);\r\n\r\n private _onChange: (val: boolean) => void = () => {};\r\n private _onTouched: () => void = () => {};\r\n\r\n private readonly _syncChecked = effect(() => {\r\n this._isChecked.set(this.checked());\r\n });\r\n\r\n protected readonly radioClasses = computed(() => {\r\n const s = this.size() === 'small' ? 'sm' : 'md';\r\n const parts = [\r\n 'radio',\r\n `radio-${s}`,\r\n `radio-color-${this.color()}`,\r\n `radio-label-${this.labelPlacement()}`,\r\n ];\r\n\r\n if (this._isChecked()) {\r\n parts.push('radio-checked');\r\n }\r\n if (this.isEffectivelyDisabled()) {\r\n parts.push('radio-disabled');\r\n }\r\n\r\n return parts.join(' ');\r\n });\r\n\r\n protected readonly isEffectivelyDisabled = computed(\r\n () => this.disabled() || this._isDisabledByCva()\r\n );\r\n\r\n onToggle(): void {\r\n if (this.isEffectivelyDisabled()) {\r\n return;\r\n }\r\n\r\n const isNext = !this._isChecked();\r\n this._isChecked.set(isNext);\r\n this.changed.emit(isNext);\r\n this._onChange(isNext);\r\n this._onTouched();\r\n }\r\n\r\n writeValue(value: boolean): void {\r\n this._isChecked.set(!!value);\r\n }\r\n\r\n registerOnChange(fn: (val: boolean) => void): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._isDisabledByCva.set(isDisabled);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n DestroyRef,\r\n effect,\r\n ElementRef,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n Renderer2,\r\n signal,\r\n viewChild,\r\n} from '@angular/core';\r\n\r\nexport type SliderColor =\r\n | 'primary'\r\n | 'secondary'\r\n | 'error'\r\n | 'info'\r\n | 'success'\r\n | 'warning';\r\nexport type SliderSize = 'small' | 'medium';\r\nexport type SliderValueLabelDisplay = 'auto' | 'off' | 'on';\r\nexport interface SliderMark {\r\n value: number;\r\n label?: string;\r\n}\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'ls-slider',\r\n standalone: true,\r\n styleUrls: ['./slider.component.css'],\r\n template: `\r\n <div\r\n [class]=\"_containerClasses()\"\r\n (mousedown)=\"_onRailMouseDown($event)\"\r\n (touchstart)=\"_onRailTouchStart($event)\"\r\n #railRef>\r\n <div class=\"ls-slider__rail\"></div>\r\n\r\n <div\r\n class=\"ls-slider__track\"\r\n [style.left]=\"_trackFillStyle().left\"\r\n [style.width]=\"_trackFillStyle().width\">\r\n </div>\r\n\r\n @for (mark of _normalizedMarks(); track mark.value) {\r\n <span\r\n class=\"ls-slider__mark\"\r\n [class.ls-slider__mark--active]=\"\r\n _isMarkActive(mark.value)\r\n \"\r\n [style.left]=\"_getMarkPosition(mark.value) + '%'\">\r\n </span>\r\n @if (mark.label) {\r\n <span\r\n class=\"ls-slider__mark-label\"\r\n [style.left]=\"\r\n _getMarkPosition(mark.value) + '%'\r\n \">\r\n {{ mark.label }}\r\n </span>\r\n }\r\n }\r\n\r\n @for (pos of _thumbPositions(); track $index) {\r\n <span\r\n class=\"ls-slider__thumb\"\r\n [class.ls-slider__thumb--active]=\"\r\n _isDragging() && _activeThumbIndex() === $index\r\n \"\r\n [style.left]=\"pos + '%'\"\r\n [attr.role]=\"'slider'\"\r\n [attr.aria-valuenow]=\"_getThumbValue($index)\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-disabled]=\"disabled()\"\r\n [attr.tabindex]=\"disabled() ? -1 : 0\"\r\n (mousedown)=\"_onThumbMouseDown($event, $index)\"\r\n (touchstart)=\"_onThumbTouchStart($event, $index)\"\r\n (keydown)=\"_onKeyDown($event, $index)\">\r\n @if (\r\n valueLabelDisplay() === 'on' ||\r\n (valueLabelDisplay() === 'auto' &&\r\n _isDragging() &&\r\n _activeThumbIndex() === $index)\r\n ) {\r\n <span class=\"ls-slider__value-label\">\r\n {{ _getThumbValue($index) }}\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n `,\r\n})\r\nexport class SliderComponent {\r\n private readonly _renderer = inject(Renderer2);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n private readonly _elementRef = inject(ElementRef);\r\n\r\n readonly value = model<number | number[]>(0);\r\n readonly defaultValue = input<number | number[]>();\r\n readonly min = input<number>(0);\r\n readonly max = input<number>(100);\r\n readonly step = input<number | null>(1);\r\n readonly marks = input<boolean | SliderMark[]>(false);\r\n readonly color = input<SliderColor>('primary');\r\n readonly size = input<SliderSize>('medium');\r\n readonly orientation = input<'horizontal'>('horizontal');\r\n readonly disabled = input<boolean>(false);\r\n readonly valueLabelDisplay =\r\n input<SliderValueLabelDisplay>('auto');\r\n\r\n readonly onChange = output<number | number[]>();\r\n\r\n private readonly _railRef =\r\n viewChild<ElementRef>('railRef');\r\n\r\n readonly _activeThumbIndex = signal<0 | 1>(0);\r\n readonly _isDragging = signal<boolean>(false);\r\n\r\n private _cleanupMouseMove: (() => void) | null = null;\r\n private _cleanupMouseUp: (() => void) | null = null;\r\n private _cleanupTouchMove: (() => void) | null = null;\r\n private _cleanupTouchEnd: (() => void) | null = null;\r\n private _cachedRect: DOMRect | null = null;\r\n\r\n readonly _isRange = computed(() =>\r\n Array.isArray(this.value()),\r\n );\r\n\r\n readonly _values = computed<[number, number]>(() => {\r\n const v = this.value();\r\n if (Array.isArray(v)) return [v[0], v[1]];\r\n return [this.min(), v];\r\n });\r\n\r\n readonly _normalizedMarks = computed<SliderMark[]>(\r\n () => {\r\n const m = this.marks();\r\n if (m === false) return [];\r\n if (Array.isArray(m)) return m;\r\n const marks: SliderMark[] = [];\r\n const s = this.step() ?? 1;\r\n for (\r\n let v = this.min();\r\n v <= this.max();\r\n v += s\r\n ) {\r\n marks.push({ value: v });\r\n }\r\n return marks;\r\n },\r\n );\r\n\r\n readonly _trackFillStyle = computed(() => {\r\n const [v0, v1] = this._values();\r\n const range = this.max() - this.min();\r\n if (range <= 0)\r\n return { left: '0%', width: '0%' };\r\n const left =\r\n ((v0 - this.min()) / range) * 100;\r\n const width = ((v1 - v0) / range) * 100;\r\n if (this._isRange()) {\r\n return {\r\n left: `${left}%`,\r\n width: `${width}%`,\r\n };\r\n }\r\n return {\r\n left: '0%',\r\n width: `${left + width}%`,\r\n };\r\n });\r\n\r\n readonly _thumbPositions = computed<number[]>(\r\n () => {\r\n const [v0, v1] = this._values();\r\n const range = this.max() - this.min();\r\n if (range <= 0)\r\n return this._isRange() ? [0, 0] : [0];\r\n if (this._isRange()) {\r\n return [\r\n ((v0 - this.min()) / range) * 100,\r\n ((v1 - this.min()) / range) * 100,\r\n ];\r\n }\r\n return [((v1 - this.min()) / range) * 100];\r\n },\r\n );\r\n\r\n readonly _containerClasses = computed(() => {\r\n const classes = ['ls-slider'];\r\n classes.push(`ls-slider--${this.color()}`);\r\n classes.push(`ls-slider--${this.size()}`);\r\n if (this.disabled())\r\n classes.push('ls-slider--disabled');\r\n if (this._isDragging())\r\n classes.push('ls-slider--active');\r\n return classes.join(' ');\r\n });\r\n\r\n constructor() {\r\n effect(\r\n () => {\r\n const dv = this.defaultValue();\r\n if (dv !== undefined && this.value() === 0) {\r\n this.value.set(dv);\r\n }\r\n },\r\n { allowSignalWrites: true },\r\n );\r\n\r\n this._destroyRef.onDestroy(() => {\r\n this._removeGlobalListeners();\r\n });\r\n }\r\n\r\n _isMarkActive(markValue: number): boolean {\r\n const [v0, v1] = this._values();\r\n if (this._isRange()) {\r\n return markValue >= v0 && markValue <= v1;\r\n }\r\n return markValue <= v1;\r\n }\r\n\r\n _getMarkPosition(markValue: number): number {\r\n const range = this.max() - this.min();\r\n if (range <= 0) return 0;\r\n return (\r\n ((markValue - this.min()) / range) * 100\r\n );\r\n }\r\n\r\n _getThumbValue(thumbIndex: number): number {\r\n const v = this.value();\r\n if (Array.isArray(v)) {\r\n return v[thumbIndex];\r\n }\r\n return v;\r\n }\r\n\r\n _onRailMouseDown(event: MouseEvent): void {\r\n if (this.disabled()) return;\r\n event.preventDefault();\r\n this._startDrag(event.clientX);\r\n }\r\n\r\n _onThumbMouseDown(\r\n event: MouseEvent,\r\n thumbIndex: number,\r\n ): void {\r\n if (this.disabled()) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._activeThumbIndex.set(\r\n thumbIndex as 0 | 1,\r\n );\r\n this._startMouseDrag(event.clientX);\r\n }\r\n\r\n _onRailTouchStart(event: TouchEvent): void {\r\n if (this.disabled()) return;\r\n if (event.touches.length === 0) return;\r\n event.preventDefault();\r\n this._startTouchDrag(\r\n event.touches[0].clientX,\r\n );\r\n }\r\n\r\n _onThumbTouchStart(\r\n event: TouchEvent,\r\n thumbIndex: number,\r\n ): void {\r\n if (this.disabled()) return;\r\n if (event.touches.length === 0) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._activeThumbIndex.set(\r\n thumbIndex as 0 | 1,\r\n );\r\n this._startTouchDrag(\r\n event.touches[0].clientX,\r\n );\r\n }\r\n\r\n _onKeyDown(\r\n event: KeyboardEvent,\r\n thumbIndex: number,\r\n ): void {\r\n if (this.disabled()) return;\r\n const s = this.step() ?? 1;\r\n let handled = false;\r\n\r\n switch (event.key) {\r\n case 'ArrowRight':\r\n case 'ArrowUp':\r\n this._adjustThumbValue(thumbIndex, s);\r\n handled = true;\r\n break;\r\n case 'ArrowLeft':\r\n case 'ArrowDown':\r\n this._adjustThumbValue(thumbIndex, -s);\r\n handled = true;\r\n break;\r\n case 'Home':\r\n this._setThumbValue(\r\n thumbIndex,\r\n this.min(),\r\n );\r\n handled = true;\r\n break;\r\n case 'End':\r\n this._setThumbValue(\r\n thumbIndex,\r\n this.max(),\r\n );\r\n handled = true;\r\n break;\r\n }\r\n\r\n if (handled) {\r\n event.preventDefault();\r\n this.onChange.emit(this.value());\r\n }\r\n }\r\n\r\n private _startDrag(clientX: number): void {\r\n this._cacheRect();\r\n if (this._isRange() && this._cachedRect) {\r\n const clickValue = this._positionToValue(\r\n clientX,\r\n this._cachedRect,\r\n );\r\n const [v0, v1] = this._values();\r\n const dist0 = Math.abs(clickValue - v0);\r\n const dist1 = Math.abs(clickValue - v1);\r\n this._activeThumbIndex.set(\r\n dist0 <= dist1 ? 0 : 1,\r\n );\r\n }\r\n this._startMouseDrag(clientX);\r\n }\r\n\r\n private _startMouseDrag(clientX: number): void {\r\n this._cacheRect();\r\n this._isDragging.set(true);\r\n this._updateValueFromPosition(clientX);\r\n\r\n this._cleanupMouseMove =\r\n this._renderer.listen(\r\n 'window',\r\n 'mousemove',\r\n (e: MouseEvent) => {\r\n this._updateValueFromPosition(\r\n e.clientX,\r\n );\r\n },\r\n );\r\n\r\n this._cleanupMouseUp = this._renderer.listen(\r\n 'window',\r\n 'mouseup',\r\n () => {\r\n this._endDrag();\r\n },\r\n );\r\n }\r\n\r\n private _startTouchDrag(clientX: number): void {\r\n this._cacheRect();\r\n if (this._isRange() && this._cachedRect) {\r\n const clickValue = this._positionToValue(\r\n clientX,\r\n this._cachedRect,\r\n );\r\n const [v0, v1] = this._values();\r\n const dist0 = Math.abs(clickValue - v0);\r\n const dist1 = Math.abs(clickValue - v1);\r\n this._activeThumbIndex.set(\r\n dist0 <= dist1 ? 0 : 1,\r\n );\r\n }\r\n this._isDragging.set(true);\r\n this._updateValueFromPosition(clientX);\r\n\r\n this._cleanupTouchMove =\r\n this._renderer.listen(\r\n 'window',\r\n 'touchmove',\r\n (e: TouchEvent) => {\r\n if (e.touches.length > 0) {\r\n this._updateValueFromPosition(\r\n e.touches[0].clientX,\r\n );\r\n }\r\n },\r\n );\r\n\r\n this._cleanupTouchEnd =\r\n this._renderer.listen(\r\n 'window',\r\n 'touchend',\r\n () => {\r\n this._endDrag();\r\n },\r\n );\r\n }\r\n\r\n private _endDrag(): void {\r\n this._isDragging.set(false);\r\n this._removeGlobalListeners();\r\n this._cachedRect = null;\r\n this.onChange.emit(this.value());\r\n }\r\n\r\n private _updateValueFromPosition(\r\n clientX: number,\r\n ): void {\r\n if (!this._cachedRect) return;\r\n const newValue = this._positionToValue(\r\n clientX,\r\n this._cachedRect,\r\n );\r\n const idx = this._activeThumbIndex();\r\n\r\n if (this._isRange()) {\r\n const current = this.value() as number[];\r\n const updated = [...current];\r\n updated[idx] = newValue;\r\n if (idx === 0 && updated[0] > updated[1]) {\r\n updated[0] = updated[1];\r\n }\r\n if (idx === 1 && updated[1] < updated[0]) {\r\n updated[1] = updated[0];\r\n }\r\n this.value.set(updated);\r\n } else {\r\n this.value.set(newValue);\r\n }\r\n }\r\n\r\n private _adjustThumbValue(\r\n thumbIndex: number,\r\n delta: number,\r\n ): void {\r\n if (this._isRange()) {\r\n const current = this.value() as number[];\r\n const updated = [...current];\r\n updated[thumbIndex] = this._quantize(\r\n updated[thumbIndex] + delta,\r\n );\r\n if (\r\n thumbIndex === 0 &&\r\n updated[0] > updated[1]\r\n ) {\r\n updated[0] = updated[1];\r\n }\r\n if (\r\n thumbIndex === 1 &&\r\n updated[1] < updated[0]\r\n ) {\r\n updated[1] = updated[0];\r\n }\r\n this.value.set(updated);\r\n } else {\r\n this.value.set(\r\n this._quantize(\r\n (this.value() as number) + delta,\r\n ),\r\n );\r\n }\r\n }\r\n\r\n private _setThumbValue(\r\n thumbIndex: number,\r\n newValue: number,\r\n ): void {\r\n if (this._isRange()) {\r\n const current = this.value() as number[];\r\n const updated = [...current];\r\n updated[thumbIndex] =\r\n this._quantize(newValue);\r\n if (\r\n thumbIndex === 0 &&\r\n updated[0] > updated[1]\r\n ) {\r\n updated[0] = updated[1];\r\n }\r\n if (\r\n thumbIndex === 1 &&\r\n updated[1] < updated[0]\r\n ) {\r\n updated[1] = updated[0];\r\n }\r\n this.value.set(updated);\r\n } else {\r\n this.value.set(this._quantize(newValue));\r\n }\r\n }\r\n\r\n private _positionToValue(\r\n clientX: number,\r\n rect: DOMRect,\r\n ): number {\r\n const percent = Math.max(\r\n 0,\r\n Math.min(\r\n 1,\r\n (clientX - rect.left) / rect.width,\r\n ),\r\n );\r\n return this._quantize(\r\n this.min() +\r\n percent * (this.max() - this.min()),\r\n );\r\n }\r\n\r\n private _quantize(raw: number): number {\r\n const s = this.step();\r\n if (s === null)\r\n return Math.min(\r\n this.max(),\r\n Math.max(this.min(), raw),\r\n );\r\n return Math.min(\r\n this.max(),\r\n Math.max(\r\n this.min(),\r\n this.min() +\r\n Math.round((raw - this.min()) / s) * s,\r\n ),\r\n );\r\n }\r\n\r\n private _cacheRect(): void {\r\n const railEl = this._railRef();\r\n if (railEl) {\r\n this._cachedRect =\r\n railEl.nativeElement.getBoundingClientRect();\r\n }\r\n }\r\n\r\n private _removeGlobalListeners(): void {\r\n this._cleanupMouseMove?.();\r\n this._cleanupMouseMove = null;\r\n this._cleanupMouseUp?.();\r\n this._cleanupMouseUp = null;\r\n this._cleanupTouchMove?.();\r\n this._cleanupTouchMove = null;\r\n this._cleanupTouchEnd?.();\r\n this._cleanupTouchEnd = null;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nexport type SwitchColor =\r\n | 'inherit'\r\n | 'primary'\r\n | 'secondary'\r\n | 'success'\r\n | 'error'\r\n | 'info'\r\n | 'warning';\r\n\r\nexport type SwitchSize = 'small' | 'medium';\r\n\r\nexport type SwitchVariant = 'solid' | 'outlined';\r\n\r\nexport type SwitchLabelPlacement =\r\n | 'start'\r\n | 'end'\r\n | 'top'\r\n | 'bottom';\r\n\r\nconst CHECK_SVG =\r\n '<svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\r\n '<path d=\"M3.5 6L5.5 8L8.5 4\" stroke=\"currentColor\" ' +\r\n 'stroke-width=\"2\" stroke-linecap=\"round\" ' +\r\n 'stroke-linejoin=\"round\"/></svg>';\r\n\r\nconst CLOSE_SVG =\r\n '<svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\r\n '<path d=\"M3.5 3.5L8.5 8.5M8.5 3.5L3.5 8.5\" ' +\r\n 'stroke=\"currentColor\" stroke-width=\"2\" ' +\r\n 'stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'ls-switch',\r\n standalone: true,\r\n styleUrls: ['./switch.component.css'],\r\n template: `\r\n <label [class]=\"switchClasses()\">\r\n <button\r\n type=\"button\"\r\n role=\"switch\"\r\n class=\"switch-track\"\r\n [attr.aria-checked]=\"_isChecked()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"onToggle()\"\r\n (keydown.space)=\"onToggle(); $event.preventDefault()\"\r\n (keydown.enter)=\"onToggle(); $event.preventDefault()\">\r\n <span class=\"switch-thumb\">\r\n @if (icon()) {\r\n <span\r\n class=\"switch-icon\"\r\n [innerHTML]=\"currentIcon()\"\r\n ></span>\r\n }\r\n </span>\r\n </button>\r\n <span class=\"switch-label\">\r\n <ng-content />\r\n </span>\r\n </label>\r\n `,\r\n})\r\nexport class SwitchComponent {\r\n private readonly _sanitizer = inject(DomSanitizer);\r\n\r\n public readonly checked = input<boolean>(false);\r\n public readonly defaultChecked = input<boolean>(false);\r\n public readonly color = input<SwitchColor>('primary');\r\n public readonly size = input<SwitchSize>('medium');\r\n public readonly disabled = input<boolean>(false);\r\n public readonly icon = input<boolean>(false);\r\n public readonly variant = input<SwitchVariant>('solid');\r\n public readonly labelPlacement =\r\n input<SwitchLabelPlacement>('end');\r\n\r\n public readonly changed = output<boolean>();\r\n\r\n protected readonly _isChecked = signal(false);\r\n\r\n private _isFirstSync = true;\r\n\r\n private readonly _syncChecked = effect(() => {\r\n const isChecked = this.checked();\r\n if (this._isFirstSync) {\r\n this._isFirstSync = false;\r\n this._isChecked.set(\r\n isChecked || this.defaultChecked()\r\n );\r\n } else {\r\n this._isChecked.set(isChecked);\r\n }\r\n });\r\n\r\n protected readonly switchClasses = computed(() => {\r\n const s = this.size() === 'small' ? 'sm' : 'md';\r\n const parts = [\r\n 'switch',\r\n `switch-${s}`,\r\n `switch-color-${this.color()}`,\r\n `switch-${this.variant()}`,\r\n `switch-label-${this.labelPlacement()}`,\r\n ];\r\n\r\n if (this._isChecked()) {\r\n parts.push('switch-checked');\r\n }\r\n if (this.disabled()) {\r\n parts.push('switch-disabled');\r\n }\r\n\r\n return parts.join(' ');\r\n });\r\n\r\n protected readonly currentIcon = computed<SafeHtml>(\r\n () => {\r\n const svg = this._isChecked()\r\n ? CHECK_SVG\r\n : CLOSE_SVG;\r\n return this._sanitizer.bypassSecurityTrustHtml(\r\n svg\r\n );\r\n }\r\n );\r\n\r\n onToggle(): void {\r\n if (this.disabled()) {\r\n return;\r\n }\r\n\r\n const isNext = !this._isChecked();\r\n this._isChecked.set(isNext);\r\n this.changed.emit(isNext);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}