@cqa-lib/cqa-ui 0.0.3 → 0.1.1

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 (39) hide show
  1. package/dist/cqa-ui/README.md +226 -0
  2. package/dist/cqa-ui/esm2020/lib/button/button.component.mjs +257 -0
  3. package/dist/cqa-ui/esm2020/lib/dialog/dialog.component.mjs +127 -0
  4. package/dist/cqa-ui/esm2020/lib/search-bar/search-bar.component.mjs +95 -0
  5. package/{esm2020 → dist/cqa-ui/esm2020}/lib/segment-control/segment-control.component.mjs +3 -3
  6. package/{esm2020 → dist/cqa-ui/esm2020}/lib/ui-kit.module.mjs +6 -8
  7. package/{esm2020 → dist/cqa-ui/esm2020}/public-api.mjs +1 -2
  8. package/{fesm2015 → dist/cqa-ui/fesm2015}/cqa-lib-cqa-ui.mjs +96 -128
  9. package/dist/cqa-ui/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -0
  10. package/{fesm2020 → dist/cqa-ui/fesm2020}/cqa-lib-cqa-ui.mjs +96 -128
  11. package/dist/cqa-ui/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -0
  12. package/dist/cqa-ui/lib/ui-kit.module.d.ts +15 -0
  13. package/dist/cqa-ui/package.json +56 -0
  14. package/{public-api.d.ts → dist/cqa-ui/public-api.d.ts} +0 -1
  15. package/dist/cqa-ui/styles.css +1 -0
  16. package/package.json +49 -23
  17. package/esm2020/lib/button/button.component.mjs +0 -257
  18. package/esm2020/lib/dialog/dialog.component.mjs +0 -127
  19. package/esm2020/lib/root-wrapper/root-wrapper.component.mjs +0 -34
  20. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -95
  21. package/fesm2015/cqa-lib-cqa-ui.mjs.map +0 -1
  22. package/fesm2020/cqa-lib-cqa-ui.mjs.map +0 -1
  23. package/lib/root-wrapper/root-wrapper.component.d.ts +0 -9
  24. package/lib/ui-kit.module.d.ts +0 -16
  25. package/styles.css +0 -1
  26. /package/{cqa-lib-cqa-ui.d.ts → dist/cqa-ui/cqa-lib-cqa-ui.d.ts} +0 -0
  27. /package/{esm2020 → dist/cqa-ui/esm2020}/cqa-lib-cqa-ui.mjs +0 -0
  28. /package/{esm2020 → dist/cqa-ui/esm2020}/lib/dialog/dialog-ref.mjs +0 -0
  29. /package/{esm2020 → dist/cqa-ui/esm2020}/lib/dialog/dialog.models.mjs +0 -0
  30. /package/{esm2020 → dist/cqa-ui/esm2020}/lib/dialog/dialog.service.mjs +0 -0
  31. /package/{esm2020 → dist/cqa-ui/esm2020}/lib/dialog/dialog.tokens.mjs +0 -0
  32. /package/{lib → dist/cqa-ui/lib}/button/button.component.d.ts +0 -0
  33. /package/{lib → dist/cqa-ui/lib}/dialog/dialog-ref.d.ts +0 -0
  34. /package/{lib → dist/cqa-ui/lib}/dialog/dialog.component.d.ts +0 -0
  35. /package/{lib → dist/cqa-ui/lib}/dialog/dialog.models.d.ts +0 -0
  36. /package/{lib → dist/cqa-ui/lib}/dialog/dialog.service.d.ts +0 -0
  37. /package/{lib → dist/cqa-ui/lib}/dialog/dialog.tokens.d.ts +0 -0
  38. /package/{lib → dist/cqa-ui/lib}/search-bar/search-bar.component.d.ts +0 -0
  39. /package/{lib → dist/cqa-ui/lib}/segment-control/segment-control.component.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cqa-lib-cqa-ui.mjs","sources":["../../../src/lib/button/button.component.ts","../../../src/lib/button/button.component.html","../../../src/lib/search-bar/search-bar.component.ts","../../../src/lib/search-bar/search-bar.component.html","../../../src/lib/segment-control/segment-control.component.ts","../../../src/lib/segment-control/segment-control.component.html","../../../src/lib/dialog/dialog.component.ts","../../../src/lib/dialog/dialog.component.html","../../../src/lib/ui-kit.module.ts","../../../src/lib/dialog/dialog-ref.ts","../../../src/lib/dialog/dialog.tokens.ts","../../../src/lib/dialog/dialog.service.ts","../../../src/cqa-lib-cqa-ui.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';\n\nexport type ButtonVariant = 'filled' | 'outlined' | 'text' | 'elevated' | 'tonal';\n\n@Component({\n selector: 'cqa-button',\n templateUrl: './button.component.html',\n styleUrls: []\n})\nexport class ButtonComponent {\n\n @Input() variant: ButtonVariant = 'filled';\n @Input() disabled: boolean = false;\n @Input() icon?: string;\n @Input() iconPosition: 'start' | 'end' = 'start';\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Output() clicked = new EventEmitter<MouseEvent>();\n\n // Internal state tracking\n isHovered: boolean = false;\n isFocused: boolean = false;\n isPressed: boolean = false;\n\n get hasIcon(): boolean {\n return !!this.icon;\n }\n\n get buttonClasses(): string {\n const baseClasses = [\n 'cqa-flex',\n 'cqa-flex-col',\n 'cqa-justify-center',\n 'cqa-items-center',\n 'cqa-p-0',\n 'cqa-gap-2',\n 'cqa-rounded-lg',\n 'cqa-cursor-pointer',\n 'cqa-font-inter',\n 'cqa-font-semibold',\n 'cqa-text-sm',\n 'cqa-leading-[14px]',\n 'cqa-transition-all',\n 'cqa-duration-200',\n 'cqa-outline-none'\n ];\n\n if (this.disabled) {\n baseClasses.push('cqa-cursor-not-allowed');\n }\n\n // Add variant and state specific classes\n const variantClasses = this.getVariantClasses();\n \n return [...baseClasses, ...variantClasses].join(' ');\n }\n\n get stateLayerClasses(): string {\n const classes = [\n 'cqa-flex',\n 'cqa-flex-row',\n 'cqa-justify-center',\n 'cqa-items-center',\n 'cqa-gap-2',\n 'cqa-w-full',\n 'cqa-h-full',\n 'cqa-py-[10px]',\n 'cqa-px-6',\n ];\n\n return classes.join(' ');\n }\n\n get labelClasses(): string {\n const classes = [\n 'cqa-flex',\n 'cqa-items-center',\n 'cqa-text-center',\n 'cqa-font-inter',\n 'cqa-font-semibold',\n 'cqa-text-sm',\n 'cqa-leading-[14px]',\n 'cqa-flex-none',\n this.textClass,\n ];\n\n if (this.disabled) {\n classes.push('cqa-opacity-[0.38]');\n }\n\n return classes.join(' ');\n }\n\n get iconClasses(): string {\n const classes = [\n 'cqa-flex',\n 'cqa-items-center',\n 'cqa-justify-center',\n 'cqa-w-[14px]',\n 'cqa-h-[14px]',\n 'cqa-shrink-0',\n 'cqa-flex-none'\n ];\n if (this.disabled) {\n classes.push('cqa-opacity-[0.38]');\n }\n return classes.join(' ');\n }\n\n private getVariantClasses(): string[] {\n const classes: string[] = [];\n\n if (this.variant === 'filled') {\n if (this.disabled) {\n classes.push('cqa-bg-primary-muted');\n } else {\n classes.push('cqa-bg-primary');\n if (this.isHovered) {\n classes.push('cqa-shadow-[0px_1px_2px_rgba(0,0,0,0.3),0px_1px_3px_1px_rgba(0,0,0,0.15)]');\n }\n }\n } else if (this.variant === 'outlined') {\n if (this.disabled) {\n classes.push('cqa-bg-transparent', 'cqa-border', 'cqa-border-primary-muted');\n } else {\n if (this.isFocused) {\n classes.push('cqa-bg-primary-surface-alt', 'cqa-border', 'cqa-border-primary-hover', 'cqa-shadow-[0px_4px_4px_rgba(0,0,0,0.25)]');\n } else if (this.isHovered || this.isPressed) {\n classes.push('cqa-bg-primary-surface', 'cqa-border', 'cqa-border-primary');\n } else {\n classes.push('cqa-bg-transparent', 'cqa-border', 'cqa-border-slate');\n }\n }\n } else if (this.variant === 'text') {\n if (this.disabled) {\n classes.push('cqa-bg-transparent');\n } else {\n classes.push('cqa-bg-transparent');\n if (this.isHovered || this.isFocused || this.isPressed) {\n classes.push('cqa-bg-primary-surface');\n }\n }\n } else if (this.variant === 'elevated') {\n if (this.disabled) {\n classes.push('cqa-bg-primary-muted', 'cqa-shadow-none');\n } else {\n if (this.isFocused) {\n classes.push('cqa-bg-primary-surface-alt', 'cqa-shadow-[0px_4px_4px_rgba(0,0,0,0.25)]');\n } else if (this.isPressed) {\n classes.push('cqa-bg-primary-surface', 'cqa-shadow-[0px_1px_2px_rgba(0,0,0,0.3),0px_1px_3px_1px_rgba(0,0,0,0.15)]');\n } else if (this.isHovered) {\n classes.push('cqa-bg-primary-surface-alt', 'cqa-shadow-[0px_1px_2px_rgba(0,0,0,0.3),0px_2px_6px_2px_rgba(0,0,0,0.15)]');\n } else {\n classes.push('cqa-bg-primary-surface', 'cqa-shadow-[0px_1px_2px_rgba(0,0,0,0.3),0px_1px_3px_1px_rgba(0,0,0,0.15)]');\n }\n }\n } else if (this.variant === 'tonal') {\n if (this.disabled) {\n classes.push('cqa-bg-primary-muted');\n } else {\n if (this.isHovered) {\n classes.push('cqa-bg-tonal-hover', 'cqa-shadow-[0px_1px_2px_rgba(0,0,0,0.3),0px_1px_3px_1px_rgba(0,0,0,0.15)]');\n } else {\n classes.push('cqa-bg-primary-surface-alt');\n }\n }\n }\n\n return classes;\n }\n\n get textClass(): string {\n if (this.disabled) {\n if (this.variant === 'outlined' || this.variant === 'text') {\n return 'cqa-text-ink';\n }\n return 'cqa-text-ink-muted';\n }\n\n switch (this.variant) {\n case 'filled':\n return 'cqa-text-surface-default';\n case 'outlined':\n if (this.isFocused || this.isHovered || this.isPressed) {\n return 'cqa-text-primary-hover';\n }\n return 'cqa-text-slate';\n case 'text':\n case 'elevated':\n return 'cqa-text-primary-hover';\n case 'tonal':\n return 'cqa-text-ink';\n default:\n return '';\n }\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (!this.disabled) {\n this.isHovered = true;\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isPressed = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n if (!this.disabled) {\n this.isPressed = true;\n }\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isPressed = false;\n }\n\n @HostListener('focus')\n onFocus() {\n if (!this.disabled) {\n this.isFocused = true;\n }\n }\n\n @HostListener('blur')\n onBlur() {\n this.isFocused = false;\n this.isPressed = false;\n }\n\n onClick(event: MouseEvent) {\n if (!this.disabled) {\n this.clicked.emit(event);\n }\n }\n}\n\n","<div id=\"cqa-ui-root\" style=\"display: inline-block; width: auto;\">\n <button\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [class]=\"buttonClasses\"\n (click)=\"onClick($event)\"\n >\n <span [class]=\"stateLayerClasses\">\n <span *ngIf=\"icon && iconPosition === 'start'\" [class]=\"iconClasses\" [ngClass]=\"textClass\">\n <mat-icon class=\"cqa-text-[18px] cqa-leading-[18px] cqa-w-[18px] cqa-h-[18px]\">\n {{ icon }}\n </mat-icon>\n </span>\n <span [class]=\"labelClasses\" [ngClass]=\"textClass\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"icon && iconPosition === 'end'\" [class]=\"iconClasses\" [ngClass]=\"textClass\">\n <mat-icon class=\"cqa-text-[18px] cqa-leading-[18px] cqa-w-[18px] cqa-h-[18px]\">\n {{ icon }}\n </mat-icon>\n </span>\n </span>\n </button>\n</div>\n\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\ntype SearchBarSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'cqa-search-bar',\n templateUrl: './search-bar.component.html',\n styleUrls: []\n})\nexport class SearchBarComponent implements OnChanges {\n\n /** Placeholder text for the input */\n @Input() placeholder = 'Search';\n\n /** Initial value or externally controlled value */\n @Input() value = '';\n\n /** Disable interactions */\n @Input() disabled = false;\n\n /** Whether the clear button should be visible when there is text */\n @Input() showClear = true;\n\n /** Accessible label for the input */\n @Input() ariaLabel = 'Search';\n\n /** Automatically focus the input when rendered */\n @Input() autoFocus = false;\n\n /** Search bar size */\n @Input() size: SearchBarSize = 'md';\n\n /** Stretch to fill container width */\n @Input() fullWidth = false;\n\n /** Emit on value changes (e.g. for two-way binding) */\n @Output() valueChange = new EventEmitter<string>();\n\n /** Emit when user submits search (Enter key or form submit) */\n @Output() search = new EventEmitter<string>();\n\n /** Emit when the value is cleared via the clear button */\n @Output() cleared = new EventEmitter<void>();\n\n inputValue = '';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['value'] && changes['value'].currentValue !== undefined) {\n const newValue = changes['value'].currentValue ?? '';\n if (newValue !== this.inputValue) {\n this.inputValue = newValue;\n }\n }\n }\n\n readonly widthClasses: Record<SearchBarSize, string> = {\n sm: 'cqa-w-[295px]',\n md: 'cqa-w-[395px]',\n lg: 'cqa-w-[495px]',\n };\n\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement | null;\n const nextValue = target?.value ?? '';\n this.inputValue = nextValue;\n this.valueChange.emit(this.inputValue);\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n if (this.disabled) {\n return;\n }\n\n this.search.emit(this.inputValue.trim());\n }\n\n clear(): void {\n if (this.disabled || this.inputValue === '') {\n return;\n }\n\n this.inputValue = '';\n this.valueChange.emit('');\n this.cleared.emit();\n }\n}\n","<div id=\"cqa-ui-root\" [style.display]=\"fullWidth ? 'block' : 'inline-block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <form\n class=\"cqa-inline-flex cqa-items-center cqa-gap-2 cqa-px-6 cqa-py-3 cqa-text-[14px] cqa-border cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-shadow-sm cqa-transition-colors\"\n [ngClass]=\"fullWidth ? 'cqa-w-full' : widthClasses[size]\"\n (submit)=\"onSubmit($event)\"\n >\n <span\n class=\"cqa-flex-none cqa-flex cqa-items-center cqa-justify-center cqa-text-gray-400 cqa-w-4 cqa-h-4\"\n [ngClass]=\"{ 'cqa-opacity-[0.38]': disabled }\"\n >\n <mat-icon\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-leading-none cqa-p-0\"\n [style.width.px]=\"16\"\n [style.height.px]=\"16\"\n [style.fontSize.px]=\"16\"\n >\n search\n </mat-icon>\n </span>\n\n <input\n type=\"text\"\n class=\"cqa-flex-1 cqa-min-w-[180px] cqa-border-none cqa-outline-none cqa-bg-transparent placeholder:cqa-text-gray-400 disabled:cqa-text-gray-400 disabled:cqa-cursor-not-allowed cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-text-[12.3px] cqa-leading-none cqa-tracking-normal cqa-align-middle cqa-text-[#99999E]\"\n style=\"font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: 0;\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n autocomplete=\"off\"\n autocapitalize=\"none\"\n spellcheck=\"false\"\n [attr.autofocus]=\"autoFocus ? '' : null\"\n />\n\n <button\n *ngIf=\"showClear && inputValue\"\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-p-0 cqa-w-4 cqa-h-4 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 cqa-hover:cqa-text-gray-700 disabled:cqa-text-gray-300 cqa-transition-colors cqa-leading-none\"\n (click)=\"clear()\"\n [disabled]=\"disabled\"\n aria-label=\"Clear search\"\n >\n <mat-icon\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-leading-none cqa-p-0\"\n [style.width.px]=\"16\"\n [style.height.px]=\"16\"\n [style.fontSize.px]=\"16\"\n [ngClass]=\"{ 'cqa-opacity-[0.38]': disabled }\"\n >\n close\n </mat-icon>\n </button>\n </form>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\ntype SegmentOption = {\n label: string;\n value: string;\n disabled?: boolean;\n};\n\n@Component({\n selector: 'cqa-segment-control',\n templateUrl: './segment-control.component.html',\n styleUrls: [],\n})\nexport class SegmentControlComponent implements OnChanges, AfterViewInit, OnDestroy {\n\n @Input() segments: SegmentOption[] = [\n { label: 'Tab Group', value: 'tab-group-1' },\n { label: 'Tab Group', value: 'tab-group-2' },\n ];\n\n @Input() value?: string;\n @Input() disabled = false;\n\n @Output() valueChange = new EventEmitter<string>();\n\n @ViewChildren('segmentButton') segmentButtons!: QueryList<ElementRef<HTMLButtonElement>>;\n @ViewChild('segmentContainer') segmentContainer?: ElementRef<HTMLDivElement>;\n\n indicatorStyle: Record<string, string> = {};\n indicatorVisible = false;\n private buttonChangesSub?: Subscription;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['segments'] || changes['value']) {\n this.ensureSelectedValue();\n }\n }\n\n ngAfterViewInit(): void {\n this.buttonChangesSub = this.segmentButtons.changes.subscribe(() => this.updateIndicator());\n this.ensureSelectedValue();\n this.updateIndicator();\n }\n\n ngOnDestroy(): void {\n this.buttonChangesSub?.unsubscribe?.();\n }\n\n trackByValue(_index: number, option: SegmentOption): string {\n return option.value;\n }\n\n isSelected(option: SegmentOption): boolean {\n return option.value === this.value;\n }\n\n select(option: SegmentOption, index: number): void {\n if (this.disabled || option.disabled) {\n return;\n }\n\n const nextValue = option.value;\n if (nextValue !== this.value) {\n this.value = nextValue;\n this.valueChange.emit(nextValue);\n }\n\n this.focusButton(index);\n this.updateIndicator();\n }\n\n onKeyDown(event: KeyboardEvent, currentIndex: number): void {\n if (this.disabled) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.moveSelection(1, currentIndex);\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.moveSelection(-1, currentIndex);\n break;\n case 'Home':\n event.preventDefault();\n this.selectFirstEnabled();\n break;\n case 'End':\n event.preventDefault();\n this.selectLastEnabled();\n break;\n case ' ':\n case 'Enter':\n event.preventDefault();\n this.select(this.segments[currentIndex], currentIndex);\n break;\n default:\n break;\n }\n }\n\n private moveSelection(step: 1 | -1, startIndex: number): void {\n const enabledIndexes = this.getEnabledIndexes();\n if (enabledIndexes.length === 0) {\n return;\n }\n\n const currentEnabledIndex = enabledIndexes.indexOf(startIndex);\n const fallbackIndex = this.getSelectedIndex(enabledIndexes);\n const baseIndex = currentEnabledIndex >= 0 ? currentEnabledIndex : fallbackIndex;\n const nextPosition = (baseIndex + step + enabledIndexes.length) % enabledIndexes.length;\n const targetIndex = enabledIndexes[nextPosition];\n\n this.select(this.segments[targetIndex], targetIndex);\n }\n\n private selectFirstEnabled(): void {\n const enabledIndexes = this.getEnabledIndexes();\n if (enabledIndexes.length > 0) {\n const index = enabledIndexes[0];\n this.select(this.segments[index], index);\n this.updateIndicator();\n }\n }\n\n private selectLastEnabled(): void {\n const enabledIndexes = this.getEnabledIndexes();\n if (enabledIndexes.length > 0) {\n const index = enabledIndexes[enabledIndexes.length - 1];\n this.select(this.segments[index], index);\n this.updateIndicator();\n }\n }\n\n private getEnabledIndexes(): number[] {\n return this.segments\n .map((option, index) => ({ option, index }))\n .filter(({ option }) => !option.disabled)\n .map(({ index }) => index);\n }\n\n private getSelectedIndex(enabledIndexes: number[]): number {\n const current = this.segments.findIndex((option) => option.value === this.value && !option.disabled);\n if (current >= 0) {\n return enabledIndexes.indexOf(current);\n }\n\n return 0;\n }\n\n private ensureSelectedValue(): void {\n const enabled = this.segments.filter((option) => !option.disabled);\n if (enabled.length === 0) {\n this.value = undefined;\n return;\n }\n\n if (!this.value || !this.segments.some((option) => option.value === this.value)) {\n this.value = enabled[0].value;\n this.valueChange.emit(this.value);\n const index = this.segments.indexOf(enabled[0]);\n this.focusButton(index);\n this.updateIndicator(index);\n return;\n }\n\n const selected = this.segments.find((option) => option.value === this.value);\n if (selected?.disabled) {\n this.value = enabled[0].value;\n this.valueChange.emit(this.value);\n const index = this.segments.indexOf(enabled[0]);\n this.focusButton(index);\n this.updateIndicator(index);\n }\n this.updateIndicator();\n }\n\n private focusButton(index: number): void {\n queueMicrotask(() => {\n const button = this.segmentButtons?.get(index)?.nativeElement;\n button?.focus();\n });\n }\n\n private updateIndicator(preferredIndex?: number): void {\n queueMicrotask(() => {\n const container = this.segmentContainer?.nativeElement;\n const buttons = this.segmentButtons?.toArray() ?? [];\n if (!container || buttons.length === 0) {\n this.indicatorVisible = false;\n this.indicatorStyle = {};\n return;\n }\n\n const index = preferredIndex ?? buttons.findIndex((button, idx) => this.segments[idx]?.value === this.value);\n if (index === -1) {\n this.indicatorVisible = false;\n this.indicatorStyle = {};\n return;\n }\n\n const buttonEl = buttons[index]?.nativeElement;\n if (!buttonEl) {\n this.indicatorVisible = false;\n this.indicatorStyle = {};\n return;\n }\n\n const containerRect = container.getBoundingClientRect();\n const buttonRect = buttonEl.getBoundingClientRect();\n const offsetLeft = buttonEl.offsetLeft;\n const offsetTop = buttonEl.offsetTop;\n const width = buttonEl.offsetWidth;\n const height = buttonEl.offsetHeight;\n\n const isDisabled = this.disabled || this.segments[index]?.disabled;\n this.indicatorStyle = {\n width: `${width}px`,\n height: `${height}px`,\n left: `${offsetLeft}px`,\n top: `${offsetTop}px`,\n backgroundColor: isDisabled ? '#9BA0F4' : '#3F43EE',\n };\n this.indicatorVisible = true;\n });\n }\n\n get isIndicatorVisible(): boolean {\n return this.indicatorVisible;\n }\n}\n","<div id=\"cqa-ui-root\" style=\"display: inline-block;\">\n <div\n #segmentContainer\n class=\"cqa-relative cqa-inline-flex cqa-flex-row cqa-items-start cqa-p-[3.5px] cqa-h-[31.5px] cqa-bg-[#F5F5F5] cqa-rounded-[8px]\"\n role=\"tablist\"\n [attr.aria-disabled]=\"disabled || null\"\n >\n <div\n class=\"cqa-absolute cqa-rounded-[8px] cqa-transition-all cqa-duration-200 cqa-ease-in-out cqa-pointer-events-none\"\n [class.cqa-opacity-0]=\"!isIndicatorVisible\"\n [ngStyle]=\"indicatorStyle\"\n aria-hidden=\"true\"\n ></div>\n\n <button\n *ngFor=\"let segment of segments; index as index; trackBy: trackByValue\"\n #segmentButton\n type=\"button\"\n role=\"tab\"\n class=\"cqa-relative cqa-z-10 cqa-flex cqa-flex-col cqa-justify-center cqa-items-center cqa-px-[14px] cqa-py-[3.5px] cqa-h-[25px] cqa-rounded-[8px] cqa-transition-all cqa-duration-200 cqa-ease-in-out cqa-whitespace-nowrap cqa-text-center focus:cqa-outline-none focus-visible:cqa-outline-none focus-visible:cqa-ring-0 focus-visible:cqa-ring-offset-0 cqa-flex-none\"\n [ngClass]=\"{\n 'cqa-text-white cqa-font-medium': isSelected(segment),\n 'cqa-text-[#99999E]': !isSelected(segment) && !(disabled || segment.disabled),\n 'cqa-cursor-not-allowed': disabled || segment.disabled,\n 'cqa-text-[#C7C7C7]': (disabled || segment.disabled) && !isSelected(segment),\n 'cqa-hover:cqa-text-black': !isSelected(segment) && !disabled && !segment.disabled\n }\"\n [disabled]=\"disabled || segment.disabled\"\n [attr.aria-selected]=\"isSelected(segment)\"\n [attr.tabindex]=\"!disabled && !segment.disabled ? (isSelected(segment) ? 0 : -1) : -1\"\n (click)=\"select(segment, index)\"\n (keydown)=\"onKeyDown($event, index)\"\n >\n <span class=\"cqa-flex cqa-items-center cqa-justify-center cqa-h-[18px] cqa-font-['Inter'] cqa-font-normal cqa-text-[12px] cqa-leading-[12px] cqa-text-center cqa-align-middle\">\n {{ segment.label }}\n </span>\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { DialogButtonAlignment, DialogButtonConfig, DialogConfig, DialogContentConfig } from './dialog.models';\nimport { ButtonVariant } from '../button/button.component';\nimport { DialogRef } from './dialog-ref';\n\n@Component({\n selector: 'cqa-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DialogComponent<TResult = unknown> {\n\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet?: CdkPortalOutlet;\n\n config!: DialogConfig<DialogContentConfig, TResult>;\n dialogRef!: DialogRef<TResult>;\n\n contentAttached = false;\n\n constructor(private readonly viewContainerRef: ViewContainerRef, private readonly cdr: ChangeDetectorRef) {}\n\n attachTemplate(template: TemplateRef<unknown>, context?: Record<string, unknown>): void {\n if (!this.portalOutlet) {\n return;\n }\n\n const templateContext =\n context ??\n {\n $implicit: this.config?.data,\n data: this.config?.data,\n };\n const portal = new TemplatePortal(template, this.viewContainerRef, templateContext);\n this.portalOutlet.attachTemplatePortal(portal);\n this.markContentAttached();\n }\n\n attachComponent(component: ComponentPortal<unknown>): ComponentRef<unknown> | undefined {\n if (!this.portalOutlet) {\n return undefined;\n }\n\n const componentRef = this.portalOutlet.attachComponentPortal(component);\n this.markContentAttached();\n return componentRef;\n }\n\n async onButtonClick(button: DialogButtonConfig<TResult>): Promise<void> {\n const closeOnClick = button.closeOnClick ?? true;\n let handlerResult: TResult | false | void | Promise<TResult | false | void> = undefined;\n\n if (button.handler) {\n handlerResult = button.handler(this.dialogRef);\n }\n\n const resolved = handlerResult instanceof Promise ? await handlerResult : handlerResult;\n\n if (!closeOnClick || resolved === false) {\n return;\n }\n\n this.dialogRef.close(resolved as TResult | undefined);\n }\n\n get buttonAlignmentClass(): string {\n const alignment = this.config?.buttonAlignment ?? 'right';\n return this.mapAlignmentToClass(alignment);\n }\n\n get panelClassList(): string[] {\n const baseClasses = [\n 'cqa-relative',\n 'cqa-w-full',\n 'cqa-bg-white',\n 'cqa-rounded-2xl',\n 'cqa-shadow-md',\n 'cqa-border',\n 'cqa-border-[#E5E7EB]',\n 'cqa-p-6',\n 'cqa-text-left',\n ];\n\n const custom = this.config?.panelClass;\n\n if (!custom) {\n return baseClasses;\n }\n\n return Array.isArray(custom) ? [...baseClasses, ...custom] : [...baseClasses, custom];\n }\n\n get panelStyles(): Record<string, string | undefined> {\n return {\n width: this.config?.width,\n maxWidth: this.config?.maxWidth ?? '480px',\n };\n }\n\n buttonVariant(button: DialogButtonConfig<TResult>): ButtonVariant {\n const role = this.normalizeRole(button.role);\n\n switch (role) {\n case 'secondary':\n return 'outlined';\n case 'text':\n return 'text';\n case 'tonal':\n return 'tonal';\n case 'elevated':\n return 'elevated';\n case 'filled':\n case 'primary':\n case 'warn':\n default:\n return 'filled';\n }\n }\n\n buttonHostClasses(button: DialogButtonConfig<TResult>): string[] {\n const role = this.normalizeRole(button.role);\n\n if (role === 'warn') {\n return ['cqa-dialog-btn-warn'];\n }\n\n return [];\n }\n\n private mapAlignmentToClass(alignment: DialogButtonAlignment): string {\n switch (alignment) {\n case 'left':\n return 'cqa-justify-start';\n case 'center':\n return 'cqa-justify-center';\n case 'right':\n default:\n return 'cqa-justify-end';\n }\n }\n\n private markContentAttached(): void {\n this.contentAttached = true;\n this.cdr.markForCheck();\n }\n\n private normalizeRole(role: string | undefined): string {\n return (role ?? 'secondary').trim().split(/\\s+/)[0];\n }\n}\n\n\n","<div id=\"cqa-ui-root\" style=\"display: block;\">\n <div class=\"cqa-flex cqa-w-full cqa-justify-center cqa-px-4 sm:cqa-px-6\">\n <div [ngClass]=\"panelClassList\" [ngStyle]=\"panelStyles\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-5\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-text-lg cqa-font-semibold cqa-text-[#111827]\">\n {{ config.title }}\n </h2>\n\n <p *ngIf=\"config.description\" class=\"cqa-text-sm cqa-leading-6 cqa-text-[#4B5563]\">\n {{ config.description }}\n </p>\n\n <div\n *ngIf=\"config.warning\"\n class=\"cqa-rounded-xl cqa-border cqa-border-red-200 cqa-bg-red-50 cqa-px-4 cqa-py-3 cqa-text-sm cqa-leading-5 cqa-text-red-700\"\n >\n {{ config.warning }}\n </div>\n </div>\n\n <div class=\"cqa-text-sm cqa-text-[#111827]\" [class.hidden]=\"!contentAttached\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"cqa-mt-4 cqa-flex cqa-flex-wrap cqa-gap-3\" [ngClass]=\"buttonAlignmentClass\">\n <cqa-button\n *ngFor=\"let button of config.buttons\"\n type=\"button\"\n [variant]=\"buttonVariant(button)\"\n [ngClass]=\"buttonHostClasses(button)\"\n (clicked)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ButtonComponent } from './button/button.component';\nimport { SearchBarComponent } from './search-bar/search-bar.component';\nimport { SegmentControlComponent } from './segment-control/segment-control.component';\nimport { DialogComponent } from './dialog/dialog.component';\n// import { RootWrapperComponent } from './root-wrapper/root-wrapper.component';\n// import { CardComponent } from './card/card.component';\n// import { InputComponent } from './input/input.component';\n// import { IconButtonComponent } from './icon-button/icon-button.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n SearchBarComponent,\n SegmentControlComponent,\n DialogComponent,\n // RootWrapperComponent,\n // CardComponent,\n // InputComponent,\n // IconButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n MatIconModule,\n OverlayModule,\n PortalModule\n ],\n exports: [\n ButtonComponent,\n SearchBarComponent,\n SegmentControlComponent,\n DialogComponent,\n // RootWrapperComponent,\n // CardComponent,\n // InputComponent,\n // IconButtonComponent\n ]\n})\nexport class UiKitModule { }\n\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\n\nexport class DialogRef<TResult = unknown> {\n private readonly closed$ = new Subject<TResult | undefined>();\n private isClosed = false;\n private componentInstance?: unknown;\n\n constructor(private readonly overlayRef: OverlayRef) {\n this.overlayRef.detachments().subscribe(() => {\n this.finishClose(undefined);\n });\n }\n\n close(result?: TResult): void {\n if (this.isClosed) {\n return;\n }\n\n this.finishClose(result);\n this.overlayRef.dispose();\n }\n\n afterClosed(): Observable<TResult | undefined> {\n return this.closed$.asObservable();\n }\n\n setComponentInstance(instance: unknown): void {\n this.componentInstance = instance;\n }\n\n getComponentInstance<TComponent>(): TComponent | undefined {\n return this.componentInstance as TComponent | undefined;\n }\n\n private finishClose(result: TResult | undefined): void {\n if (this.isClosed) {\n return;\n }\n\n this.isClosed = true;\n this.closed$.next(result);\n this.closed$.complete();\n }\n}\n\n\n","import { InjectionToken } from '@angular/core';\nimport { DialogRef } from './dialog-ref';\n\nexport const DIALOG_REF = new InjectionToken<DialogRef<any>>('CQA_DIALOG_REF');\nexport const DIALOG_DATA = new InjectionToken<any>('CQA_DIALOG_DATA');\n\n\n","import { Injectable, Injector } from '@angular/core';\nimport { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { filter } from 'rxjs/operators';\nimport { DialogConfig, DialogContentConfig } from './dialog.models';\nimport { DialogRef } from './dialog-ref';\nimport { DialogComponent } from './dialog.component';\nimport { DIALOG_DATA, DIALOG_REF } from './dialog.tokens';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DialogService {\n constructor(private readonly overlay: Overlay, private readonly injector: Injector) {}\n\n open<TContent extends DialogContentConfig = DialogContentConfig, TResult = unknown>(\n config: DialogConfig<TContent, TResult>\n ): DialogRef<TResult> {\n this.assertValidConfig(config);\n\n const overlayRef = this.overlay.create(this.buildOverlayConfig(config));\n const dialogRef = new DialogRef<TResult>(overlayRef);\n\n const injector = Injector.create({\n parent: this.injector,\n providers: [\n { provide: DIALOG_REF, useValue: dialogRef },\n { provide: DIALOG_DATA, useValue: config.data },\n ],\n });\n\n const containerPortal = new ComponentPortal(DialogComponent, undefined, injector);\n const containerRef = overlayRef.attach(containerPortal);\n const containerInstance = containerRef.instance as DialogComponent<TResult>;\n\n containerInstance.config = config;\n containerInstance.dialogRef = dialogRef;\n\n if (config.content?.type === 'template') {\n containerInstance.attachTemplate(\n config.content.template,\n config.content.context ?? {\n $implicit: config.data,\n data: config.data,\n }\n );\n }\n\n if (config.content?.type === 'component') {\n const componentPortal = new ComponentPortal(\n config.content.component,\n undefined,\n Injector.create({\n parent: injector,\n providers: [\n { provide: DIALOG_REF, useValue: dialogRef },\n { provide: DIALOG_DATA, useValue: config.data },\n ],\n })\n );\n\n const componentRef = containerInstance.attachComponent(componentPortal);\n\n if (componentRef && config.content.inputs) {\n Object.entries(config.content.inputs).forEach(([key, value]) => {\n (componentRef.instance as Record<string, unknown>)[key] = value;\n });\n componentRef.changeDetectorRef.markForCheck();\n }\n\n if (componentRef) {\n dialogRef.setComponentInstance(componentRef.instance);\n }\n }\n\n containerRef.changeDetectorRef.markForCheck();\n\n if (!config.disableClose) {\n overlayRef.backdropClick().subscribe(() => dialogRef.close());\n overlayRef\n .keydownEvents()\n .pipe(\n filter((event): event is KeyboardEvent => {\n return (event as KeyboardEvent).key === 'Escape' || (event as KeyboardEvent).key === 'Esc';\n })\n )\n .subscribe(() => dialogRef.close());\n }\n\n return dialogRef;\n }\n\n private assertValidConfig<TContent extends DialogContentConfig, TResult>(\n config: DialogConfig<TContent, TResult>\n ): void {\n if (!config.title) {\n throw new Error('Dialog title is required.');\n }\n\n if (!config.buttons || config.buttons.length < 2) {\n throw new Error('Dialog requires at least two buttons to be provided.');\n }\n }\n\n private buildOverlayConfig<TContent extends DialogContentConfig, TResult>(\n config: DialogConfig<TContent, TResult>\n ): OverlayConfig {\n const panelClass = Array.isArray(config.panelClass)\n ? config.panelClass\n : config.panelClass\n ? [config.panelClass]\n : [];\n\n return new OverlayConfig({\n hasBackdrop: true,\n backdropClass: ['cdk-overlay-dark-backdrop', 'cqa-dialog-backdrop'],\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n width: config.width,\n maxWidth: config.maxWidth ?? '90vw',\n panelClass: ['cqa-dialog-panel', ...panelClass],\n });\n }\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1","i1.ButtonComponent"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./button/button.component";
3
+ import * as i2 from "./search-bar/search-bar.component";
4
+ import * as i3 from "./segment-control/segment-control.component";
5
+ import * as i4 from "./dialog/dialog.component";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@angular/forms";
8
+ import * as i7 from "@angular/material/icon";
9
+ import * as i8 from "@angular/cdk/overlay";
10
+ import * as i9 from "@angular/cdk/portal";
11
+ export declare class UiKitModule {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiKitModule, never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiKitModule, [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i7.MatIconModule, typeof i8.OverlayModule, typeof i9.PortalModule], [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<UiKitModule>;
15
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@cqa-lib/cqa-ui",
3
+ "version": "0.1.0",
4
+ "description": "UI Kit library for Angular 13.4",
5
+ "keywords": [
6
+ "angular",
7
+ "library",
8
+ "ui-kit",
9
+ "cqa-ui"
10
+ ],
11
+ "author": "",
12
+ "license": "MIT",
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "private": false,
17
+ "engines": {
18
+ "node": "16.20.2",
19
+ "npm": "8.19.4"
20
+ },
21
+ "overrides": {
22
+ "glob": "7.2.3",
23
+ "minimatch": "5.1.6"
24
+ },
25
+ "peerDependencies": {
26
+ "@angular/cdk": "^13.3.9",
27
+ "@angular/common": "^13.4.0",
28
+ "@angular/core": "^13.4.0",
29
+ "@angular/forms": "^13.4.0",
30
+ "@angular/material": "^13.3.9",
31
+ "rxjs": "^6.6.7 || ^7.5.0"
32
+ },
33
+ "module": "fesm2015/cqa-lib-cqa-ui.mjs",
34
+ "es2020": "fesm2020/cqa-lib-cqa-ui.mjs",
35
+ "esm2020": "esm2020/cqa-lib-cqa-ui.mjs",
36
+ "fesm2020": "fesm2020/cqa-lib-cqa-ui.mjs",
37
+ "fesm2015": "fesm2015/cqa-lib-cqa-ui.mjs",
38
+ "typings": "cqa-lib-cqa-ui.d.ts",
39
+ "exports": {
40
+ "./package.json": {
41
+ "default": "./package.json"
42
+ },
43
+ ".": {
44
+ "types": "./cqa-lib-cqa-ui.d.ts",
45
+ "esm2020": "./esm2020/cqa-lib-cqa-ui.mjs",
46
+ "es2020": "./fesm2020/cqa-lib-cqa-ui.mjs",
47
+ "es2015": "./fesm2015/cqa-lib-cqa-ui.mjs",
48
+ "node": "./fesm2015/cqa-lib-cqa-ui.mjs",
49
+ "default": "./fesm2020/cqa-lib-cqa-ui.mjs"
50
+ }
51
+ },
52
+ "sideEffects": false,
53
+ "dependencies": {
54
+ "tslib": "^2.3.0"
55
+ }
56
+ }
@@ -7,4 +7,3 @@ export * from './lib/dialog/dialog.service';
7
7
  export * from './lib/dialog/dialog.models';
8
8
  export * from './lib/dialog/dialog.tokens';
9
9
  export * from './lib/dialog/dialog-ref';
10
- export * from './lib/root-wrapper/root-wrapper.component';
@@ -0,0 +1 @@
1
+ /*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com*//*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:initial;background-image:none}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{box-sizing:border-box;border:0 solid}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:-moz-focusring{outline:auto}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity));--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}button{font-family:Inter,sans-serif;font-weight:600}#cqa-ui-root .cqa-pointer-events-none{pointer-events:none}#cqa-ui-root .cqa-absolute{position:absolute}#cqa-ui-root .cqa-relative{position:relative}#cqa-ui-root .cqa-z-10{z-index:10}#cqa-ui-root .cqa-mt-4{margin-top:1rem}#cqa-ui-root .cqa-mt-1{margin-top:.25rem}#cqa-ui-root .cqa-flex{display:flex}#cqa-ui-root .cqa-inline-flex{display:inline-flex}#cqa-ui-root .cqa-h-\[18px\]{height:18px}#cqa-ui-root .cqa-h-full{height:100%}#cqa-ui-root .cqa-h-\[14px\]{height:14px}#cqa-ui-root .cqa-h-4{height:1rem}#cqa-ui-root .cqa-h-\[31\.5px\]{height:31.5px}#cqa-ui-root .cqa-h-\[25px\]{height:25px}#cqa-ui-root .cqa-w-\[18px\]{width:18px}#cqa-ui-root .cqa-w-full{width:100%}#cqa-ui-root .cqa-w-\[14px\]{width:14px}#cqa-ui-root .cqa-w-4{width:1rem}#cqa-ui-root .cqa-w-\[295px\]{width:295px}#cqa-ui-root .cqa-w-\[395px\]{width:395px}#cqa-ui-root .cqa-w-\[495px\]{width:495px}#cqa-ui-root .cqa-min-w-\[180px\]{min-width:180px}#cqa-ui-root .cqa-flex-none{flex:none}#cqa-ui-root .cqa-flex-1{flex:1 1 0%}#cqa-ui-root .cqa-cursor-pointer{cursor:pointer}#cqa-ui-root .cqa-cursor-not-allowed{cursor:not-allowed}#cqa-ui-root .cqa-list-disc{list-style-type:disc}#cqa-ui-root .cqa-flex-row{flex-direction:row}#cqa-ui-root .cqa-flex-col{flex-direction:column}#cqa-ui-root .cqa-flex-wrap{flex-wrap:wrap}#cqa-ui-root .cqa-items-start{align-items:flex-start}#cqa-ui-root .cqa-items-center{align-items:center}#cqa-ui-root .cqa-justify-start{justify-content:flex-start}#cqa-ui-root .cqa-justify-end{justify-content:flex-end}#cqa-ui-root .cqa-justify-center{justify-content:center}#cqa-ui-root .cqa-justify-between{justify-content:space-between}#cqa-ui-root .cqa-gap-2{gap:.5rem}#cqa-ui-root .cqa-gap-5{gap:1.25rem}#cqa-ui-root .cqa-gap-3{gap:.75rem}#cqa-ui-root .cqa-gap-4{gap:1rem}#cqa-ui-root .cqa-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}#cqa-ui-root .cqa-whitespace-nowrap{white-space:nowrap}#cqa-ui-root .cqa-whitespace-pre-line{white-space:pre-line}#cqa-ui-root .cqa-rounded-lg{border-radius:.5rem}#cqa-ui-root .cqa-rounded-xl{border-radius:.75rem}#cqa-ui-root .cqa-rounded-2xl{border-radius:1rem}#cqa-ui-root .cqa-rounded-md{border-radius:.375rem}#cqa-ui-root .cqa-rounded-\[8px\]{border-radius:8px}#cqa-ui-root .cqa-border{border-width:1px}#cqa-ui-root .cqa-border-0{border-width:0}#cqa-ui-root .cqa-border-none{border-style:none}#cqa-ui-root .cqa-border-primary-muted{--tw-border-opacity:1;border-color:rgba(226,226,227,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-primary-hover{--tw-border-opacity:1;border-color:rgba(27,31,235,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-primary{--tw-border-opacity:1;border-color:rgba(63,67,238,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-slate{--tw-border-opacity:1;border-color:rgba(65,65,70,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-\[\#CBD5F5\]{--tw-border-opacity:1;border-color:rgba(203,213,245,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-\[\#E5E7EB\]{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-\[\#FEE2E2\]{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}#cqa-ui-root .cqa-border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}#cqa-ui-root .cqa-bg-primary-muted{--tw-bg-opacity:1;background-color:rgba(226,226,227,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-primary{--tw-bg-opacity:1;background-color:rgba(63,67,238,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-transparent{background-color:initial}#cqa-ui-root .cqa-bg-primary-surface-alt{--tw-bg-opacity:1;background-color:rgba(177,178,248,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-primary-surface{--tw-bg-opacity:1;background-color:rgba(216,217,252,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-tonal-hover{--tw-bg-opacity:1;background-color:rgba(138,140,244,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-primary\/10{background-color:rgba(63,67,238,.1)}#cqa-ui-root .cqa-bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-\[\#FEF2F2\]{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}#cqa-ui-root .cqa-bg-\[\#F5F5F5\]{--tw-bg-opacity:1;background-color:rgba(245,245,245,var(--tw-bg-opacity))}#cqa-ui-root .cqa-p-0{padding:0}#cqa-ui-root .cqa-p-6{padding:1.5rem}#cqa-ui-root .cqa-p-\[3\.5px\]{padding:3.5px}#cqa-ui-root .cqa-py-\[10px\]{padding-top:10px;padding-bottom:10px}#cqa-ui-root .cqa-px-6{padding-left:1.5rem;padding-right:1.5rem}#cqa-ui-root .cqa-px-4{padding-left:1rem;padding-right:1rem}#cqa-ui-root .cqa-py-3{padding-top:.75rem;padding-bottom:.75rem}#cqa-ui-root .cqa-px-3{padding-left:.75rem;padding-right:.75rem}#cqa-ui-root .cqa-py-2{padding-top:.5rem;padding-bottom:.5rem}#cqa-ui-root .cqa-px-\[14px\]{padding-left:14px;padding-right:14px}#cqa-ui-root .cqa-py-\[3\.5px\]{padding-top:3.5px;padding-bottom:3.5px}#cqa-ui-root .cqa-pl-5{padding-left:1.25rem}#cqa-ui-root .cqa-text-left{text-align:left}#cqa-ui-root .cqa-text-center{text-align:center}#cqa-ui-root .cqa-align-middle{vertical-align:middle}#cqa-ui-root .cqa-font-inter{font-family:Inter,sans-serif}#cqa-ui-root .cqa-text-\[18px\]{font-size:18px}#cqa-ui-root .cqa-text-sm{font-size:.875rem;line-height:1.25rem}#cqa-ui-root .cqa-text-lg{font-size:1.125rem;line-height:1.75rem}#cqa-ui-root .cqa-text-xs{font-size:.75rem;line-height:1rem}#cqa-ui-root .cqa-text-\[14px\]{font-size:14px}#cqa-ui-root .cqa-text-\[12\.3px\]{font-size:12.3px}#cqa-ui-root .cqa-text-\[12px\]{font-size:12px}#cqa-ui-root .cqa-font-semibold{font-weight:600}#cqa-ui-root .cqa-font-medium{font-weight:500}#cqa-ui-root .cqa-font-normal{font-weight:400}#cqa-ui-root .cqa-uppercase{text-transform:uppercase}#cqa-ui-root .cqa-leading-\[18px\]{line-height:18px}#cqa-ui-root .cqa-leading-\[14px\]{line-height:14px}#cqa-ui-root .cqa-leading-6{line-height:1.5rem}#cqa-ui-root .cqa-leading-5{line-height:1.25rem}#cqa-ui-root .cqa-leading-none{line-height:1}#cqa-ui-root .cqa-leading-\[12px\]{line-height:12px}#cqa-ui-root .cqa-tracking-wide{letter-spacing:.025em}#cqa-ui-root .cqa-tracking-normal{letter-spacing:0}#cqa-ui-root .cqa-text-ink{--tw-text-opacity:1;color:rgba(11,11,12,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-ink-muted{--tw-text-opacity:1;color:rgba(22,22,23,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-surface-default{--tw-text-opacity:1;color:rgba(251,252,255,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-primary-hover{--tw-text-opacity:1;color:rgba(27,31,235,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-slate{--tw-text-opacity:1;color:rgba(65,65,70,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-\[\#111827\]{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-\[\#4B5563\]{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-\[\#6B7280\]{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-primary{--tw-text-opacity:1;color:rgba(63,67,238,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-\[\#B91C1C\]{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-\[\#99999E\]{--tw-text-opacity:1;color:rgba(153,153,158,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}#cqa-ui-root .cqa-text-\[\#C7C7C7\]{--tw-text-opacity:1;color:rgba(199,199,199,var(--tw-text-opacity))}#cqa-ui-root .cqa-underline{text-decoration:underline}#cqa-ui-root .cqa-opacity-\[0\.38\]{opacity:.38}#cqa-ui-root .cqa-opacity-0{opacity:0}#cqa-ui-root .cqa-shadow-none{--tw-shadow:0 0 #0000}#cqa-ui-root .cqa-shadow-none,#cqa-ui-root .cqa-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#cqa-ui-root .cqa-shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}#cqa-ui-root .cqa-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#cqa-ui-root .cqa-outline-none{outline:2px solid transparent;outline-offset:2px}#cqa-ui-root .cqa-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#cqa-ui-root .cqa-transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#cqa-ui-root .cqa-transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#cqa-ui-root .cqa-duration-200{transition-duration:.2s}#cqa-ui-root .cqa-duration-150{transition-duration:.15s}#cqa-ui-root .cqa-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.cdk-overlay-container{position:fixed;inset:0;width:100vw;height:100vh;z-index:10000;pointer-events:none}.cdk-overlay-backdrop.cqa-dialog-backdrop{position:fixed;inset:0;background-color:rgba(17,24,39,.45)!important;opacity:1!important;overflow:hidden;pointer-events:auto}.cdk-overlay-backdrop.cqa-dialog-backdrop:before{content:"";position:absolute;inset:-40px;background:rgba(17,24,39,.55);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);pointer-events:none}.cdk-overlay-pane.cqa-dialog-panel{display:flex;align-items:center;justify-content:center;min-height:100vh;pointer-events:none;padding:24px;box-sizing:border-box}.cdk-overlay-pane.cqa-dialog-panel>*{pointer-events:auto}.cqa-dialog-btn-warn cqa-button button,.cqa-dialog-btn-warn ui-button button{background-color:#dc2626;color:#fff}.cqa-dialog-btn-warn cqa-button button:hover,.cqa-dialog-btn-warn ui-button button:hover{background-color:#b91c1c}.cdk-overlay-container .cdk-overlay-pane{pointer-events:none}.cdk-overlay-container .cdk-overlay-pane>*{pointer-events:auto}.cdk-global-overlay-wrapper{display:flex!important;align-items:center;justify-content:center;min-height:100vh;width:100%}#cqa-ui-root .focus\:cqa-border-primary:focus{--tw-border-opacity:1;border-color:rgba(63,67,238,var(--tw-border-opacity))}#cqa-ui-root .focus\:cqa-outline-none:focus{outline:2px solid transparent;outline-offset:2px}#cqa-ui-root .focus\:cqa-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#cqa-ui-root .focus\:cqa-ring-primary\/40:focus{--tw-ring-color:rgba(63,67,238,0.4)}#cqa-ui-root .focus-visible\:cqa-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}#cqa-ui-root .focus-visible\:cqa-ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#cqa-ui-root .focus-visible\:cqa-ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}#cqa-ui-root .focus-visible\:cqa-ring-primary:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(63,67,238,var(--tw-ring-opacity))}#cqa-ui-root .focus-visible\:cqa-ring-offset-1:focus-visible{--tw-ring-offset-width:1px}#cqa-ui-root .focus-visible\:cqa-ring-offset-0:focus-visible{--tw-ring-offset-width:0px}#cqa-ui-root .disabled\:cqa-cursor-not-allowed:disabled{cursor:not-allowed}#cqa-ui-root .disabled\:cqa-text-gray-400:disabled{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}#cqa-ui-root .disabled\:cqa-text-gray-300:disabled{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}@media (min-width:640px){#cqa-ui-root .sm\:cqa-px-6{padding-left:1.5rem;padding-right:1.5rem}}
package/package.json CHANGED
@@ -1,7 +1,18 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "0.0.3",
3
+ "version": "0.1.1",
4
4
  "description": "UI Kit library for Angular 13.4",
5
+ "scripts": {
6
+ "build:cqa-ui": "ng-packagr -p ng-package.json && npm run build:tailwind && npm run fix:package",
7
+ "build:tailwind": "tailwindcss -i ./src/lib/styles/tailwind.css -o ./dist/cqa-ui/styles.css --minify",
8
+ "watch:tailwind": "tailwindcss -i ./src/lib/styles/tailwind.css -o ./dist/cqa-ui/styles.css --watch",
9
+ "fix:package": "node -e \"const fs=require('fs');const p=JSON.parse(fs.readFileSync('dist/cqa-ui/package.json','utf8'));delete p.files;if(!p.publishConfig){p.publishConfig={};}p.publishConfig.access='public';fs.writeFileSync('dist/cqa-ui/package.json',JSON.stringify(p,null,2)+'\\n')\"",
10
+ "storybook": "start-storybook -p 6006",
11
+ "build-storybook": "build-storybook"
12
+ },
13
+ "files": [
14
+ "dist/"
15
+ ],
5
16
  "keywords": [
6
17
  "angular",
7
18
  "library",
@@ -30,27 +41,42 @@
30
41
  "@angular/material": "^13.3.9",
31
42
  "rxjs": "^6.6.7 || ^7.5.0"
32
43
  },
33
- "module": "fesm2015/cqa-lib-cqa-ui.mjs",
34
- "es2020": "fesm2020/cqa-lib-cqa-ui.mjs",
35
- "esm2020": "esm2020/cqa-lib-cqa-ui.mjs",
36
- "fesm2020": "fesm2020/cqa-lib-cqa-ui.mjs",
37
- "fesm2015": "fesm2015/cqa-lib-cqa-ui.mjs",
38
- "typings": "cqa-lib-cqa-ui.d.ts",
39
- "exports": {
40
- "./package.json": {
41
- "default": "./package.json"
42
- },
43
- ".": {
44
- "types": "./cqa-lib-cqa-ui.d.ts",
45
- "esm2020": "./esm2020/cqa-lib-cqa-ui.mjs",
46
- "es2020": "./fesm2020/cqa-lib-cqa-ui.mjs",
47
- "es2015": "./fesm2015/cqa-lib-cqa-ui.mjs",
48
- "node": "./fesm2015/cqa-lib-cqa-ui.mjs",
49
- "default": "./fesm2020/cqa-lib-cqa-ui.mjs"
50
- }
51
- },
52
- "sideEffects": false,
53
- "dependencies": {
54
- "tslib": "^2.3.0"
44
+ "devDependencies": {
45
+ "@angular-devkit/architect": "^0.1303.11",
46
+ "@angular-devkit/build-angular": "^13.3.11",
47
+ "@angular-devkit/core": "^13.3.11",
48
+ "@angular/animations": "^13.4.0",
49
+ "@angular/cdk": "^13.3.9",
50
+ "@angular/cli": "^13.3.11",
51
+ "@angular/common": "^13.4.0",
52
+ "@angular/compiler": "^13.4.0",
53
+ "@angular/compiler-cli": "^13.4.0",
54
+ "@angular/core": "^13.4.0",
55
+ "@angular/forms": "^13.4.0",
56
+ "@angular/material": "^13.3.9",
57
+ "@angular/platform-browser": "^13.4.0",
58
+ "@angular/platform-browser-dynamic": "^13.4.0",
59
+ "@storybook/addon-a11y": "6.5.16",
60
+ "@storybook/addon-actions": "^6.5.16",
61
+ "@storybook/addon-essentials": "^6.5.16",
62
+ "@storybook/addon-links": "^6.5.16",
63
+ "@storybook/angular": "^6.5.16",
64
+ "@storybook/builder-webpack5": "^6.5.16",
65
+ "@storybook/manager-webpack5": "^6.5.16",
66
+ "@types/glob": "^8.1.0",
67
+ "@types/lodash": "4.14.191",
68
+ "@types/minimatch": "^5.1.2",
69
+ "@types/node": "^14.18.36",
70
+ "autoprefixer": "^10.4.21",
71
+ "glob": "7.2.3",
72
+ "minimatch": "5.1.6",
73
+ "ng-packagr": "^13.3.0",
74
+ "postcss": "^8.5.6",
75
+ "postcss-loader": "7.3.3",
76
+ "rxjs": "^7.5.0",
77
+ "tailwindcss": "^2.2.19",
78
+ "tslib": "^2.3.0",
79
+ "typescript": "~4.6.4",
80
+ "zone.js": "~0.11.8"
55
81
  }
56
82
  }