@semantic-components/ui 0.32.0 → 0.34.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-components-ui.mjs","sources":["../../../../libs/ui/src/lib/utils/settings.ts","../../../../libs/ui/src/lib/components/separator/separator.ts","../../../../libs/ui/src/lib/components/typography/heading.ts","../../../../libs/ui/src/lib/components/typography/article.ts","../../../../libs/ui/src/lib/components/typography/blockquote.ts","../../../../libs/ui/src/lib/components/toggle/toggle.ts","../../../../libs/ui/src/lib/components/tooltip/tooltip-container.ts","../../../../libs/ui/src/lib/components/tooltip/tooltip.ts","../../../../libs/ui/src/lib/components/editor/extensions/extensions.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-blockquote.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-bold.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-bullet-list.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-code.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-highlight.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-horizontal-rule.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-italic.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-ordered-list.ts","../../../../libs/ui/src/lib/components/menu/menu.ts","../../../../libs/ui/src/lib/components/menu/menu-label.ts","../../../../libs/ui/src/lib/components/menu/menu-shortcut.ts","../../../../libs/ui/src/lib/components/menu/menu-separator.ts","../../../../libs/ui/src/lib/components/menu/menu-group.ts","../../../../libs/ui/src/lib/components/menu/menu-item.ts","../../../../libs/ui/src/lib/components/menu/menu-checkbox-item.ts","../../../../libs/ui/src/lib/components/menu/menu-radio-group.ts","../../../../libs/ui/src/lib/components/menu/menu-radio-item.ts","../../../../libs/ui/src/lib/components/menu/menu-trigger-for.ts","../../../../libs/ui/src/lib/components/menu/menu-checkbox-group.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-paragraph.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-redo.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-strike.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-text-align-center.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-text-align-left.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-text-align-right.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-underline.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-undo.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-unset-link.ts","../../../../libs/ui/src/lib/components/editor/editor-group.ts","../../../../libs/ui/src/lib/components/editor/editor-toolbar.ts","../../../../libs/ui/src/lib/components/editor/colors.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-color.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-font-family.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-heading.ts","../../../../libs/ui/src/lib/components/button/cursor.ts","../../../../libs/ui/src/lib/components/button/button.ts","../../../../libs/ui/src/lib/components/input/plain-input.ts","../../../../libs/ui/src/lib/components/input/input.ts","../../../../libs/ui/src/lib/components/input/auto-resize-input.ts","../../../../libs/ui/src/lib/components/label/label.ts","../../../../libs/ui/src/lib/components/popover/popover.ts","../../../../libs/ui/src/lib/components/popover/popover-trigger-for.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-image-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-image.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-link-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-link.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-cell-attribute-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-table.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-text-style.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-video-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-youtube.ts","../../../../libs/ui/src/lib/components/editor/editor.ts","../../../../libs/ui/src/lib/components/select/option.ts","../../../../libs/ui/src/lib/components/select/select.ts","../../../../libs/ui/src/lib/components/paginator/page-item.ts","../../../../libs/ui/src/lib/components/paginator/pagination.ts","../../../../libs/ui/src/lib/components/paginator/paginator.ts","../../../../libs/ui/src/lib/components/card/card.ts","../../../../libs/ui/src/lib/components/card/card-header.ts","../../../../libs/ui/src/lib/components/card/card-title.ts","../../../../libs/ui/src/lib/components/card/card-description.ts","../../../../libs/ui/src/lib/components/card/card-content.ts","../../../../libs/ui/src/lib/components/card/card-footer.ts","../../../../libs/ui/src/lib/components/calendar/month-days.ts","../../../../libs/ui/src/lib/components/calendar/month-year-header.ts","../../../../libs/ui/src/lib/components/calendar/calendar.ts","../../../../libs/ui/src/lib/components/full-calendar/full-calendar.ts","../../../../libs/ui/src/lib/components/full-calendar/mobile-calendar.ts","../../../../libs/ui/src/lib/components/full-calendar/day-view.ts","../../../../libs/ui/src/lib/components/full-calendar/week-view.ts","../../../../libs/ui/src/lib/components/date-picker/date-input.ts","../../../../libs/ui/src/lib/components/date-picker/date-picker.ts","../../../../libs/ui/src/lib/components/nav/nav.ts","../../../../libs/ui/src/lib/components/nav/nav-list.ts","../../../../libs/ui/src/lib/components/nav/nav-button-base.ts","../../../../libs/ui/src/lib/components/nav/nav-link.ts","../../../../libs/ui/src/lib/components/nav/nav-item.ts","../../../../libs/ui/src/lib/components/nav/nav-button.ts","../../../../libs/ui/src/lib/components/nav/nav-item-dropdown.ts","../../../../libs/ui/src/lib/components/theme-toggler/theme.ts","../../../../libs/ui/src/lib/components/theme-toggler/theme-toggler.ts","../../../../libs/ui/src/lib/components/theme-toggler/theme-provider.ts","../../../../libs/ui/src/lib/components/progress/progress.ts","../../../../libs/ui/src/lib/components/progress/circular-progress.ts","../../../../libs/ui/src/lib/components/input-password/input-password.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-handler.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-slot.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-group.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-separator.ts","../../../../libs/ui/src/lib/components/tel-input/tel-input.component.ts","../../../../libs/ui/src/lib/components/tel-input/form-field-custom-control.component.ts","../../../../libs/ui/src/lib/components/textarea/textarea.ts","../../../../libs/ui/src/lib/components/overlay/utils.ts","../../../../libs/ui/src/lib/components/sheet/sheet-container.ts","../../../../libs/ui/src/lib/components/sheet/sheet-trigger.ts","../../../../libs/ui/src/lib/components/sheet/sheet.ts","../../../../libs/ui/src/lib/components/sheet/sheet-config.ts","../../../../libs/ui/src/lib/components/sheet/sheet-close.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-list.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-item.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-link.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-page.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-separator.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-ellipsis.ts","../../../../libs/ui/src/lib/components/toggle-group/toggle-group.ts","../../../../libs/ui/src/lib/components/toggle-group/toggle-group-item.ts","../../../../libs/ui/src/lib/components/dialog/dialog-close.ts","../../../../libs/ui/src/lib/components/dialog/dialog-content.ts","../../../../libs/ui/src/lib/components/dialog/dialog-description.ts","../../../../libs/ui/src/lib/components/dialog/dialog-footer.ts","../../../../libs/ui/src/lib/components/dialog/dialog-header.ts","../../../../libs/ui/src/lib/components/dialog/dialog-title.ts","../../../../libs/ui/src/lib/components/dialog/dialog.ts","../../../../libs/ui/src/lib/components/alert/alert.ts","../../../../libs/ui/src/lib/components/alert/alert-title.ts","../../../../libs/ui/src/lib/components/alert/alert-description.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-description.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-footer.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-header.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-title.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-trigger.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-description.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-footer.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-header.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-title.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-content.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog.ts","../../../../libs/ui/src/lib/components/badge/badge.ts","../../../../libs/ui/src/lib/components/scroll-area/scroll-area.ts","../../../../libs/ui/src/lib/components/tabs/tab.ts","../../../../libs/ui/src/lib/components/tabs/tabs-header.ts","../../../../libs/ui/src/lib/components/tabs/tabs.ts","../../../../libs/ui/src/lib/components/tabs/tab-label.ts","../../../../libs/ui/src/lib/components/tabs/tab-content.ts","../../../../libs/ui/src/lib/components/tab-group/tab-content.ts","../../../../libs/ui/src/lib/components/tab-group/tab-label.ts","../../../../libs/ui/src/lib/components/tab-group/tab-group.ts","../../../../libs/ui/src/lib/components/tab-group/tab-item.ts","../../../../libs/ui/src/lib/components/toast/toast.ts","../../../../libs/ui/src/lib/components/toast/toaster.ts","../../../../libs/ui/src/lib/components/toast/toast-action.ts","../../../../libs/ui/src/lib/components/toast/toast-close.ts","../../../../libs/ui/src/lib/components/toast/toast-content.ts","../../../../libs/ui/src/lib/components/toast/toast-description.ts","../../../../libs/ui/src/lib/components/toast/toast-title.ts","../../../../libs/ui/src/lib/components/toast/toast-example.ts","../../../../libs/ui/src/lib/components/slider/slider.ts","../../../../libs/ui/src/lib/components/carousel/carousel.ts","../../../../libs/ui/src/lib/components/carousel/carousel-container.ts","../../../../libs/ui/src/lib/components/carousel/carousel-items.ts","../../../../libs/ui/src/lib/components/carousel/carousel-item.ts","../../../../libs/ui/src/lib/components/carousel/carousel-previous.ts","../../../../libs/ui/src/lib/components/carousel/carousel-next.ts","../../../../libs/ui/src/lib/components/checkbox/checkbox.ts","../../../../libs/ui/src/lib/components/checkbox-group/checkbox-group.ts","../../../../libs/ui/src/lib/components/checkbox-group/checkbox-item.ts","../../../../libs/ui/src/lib/components/accordion/accordion.ts","../../../../libs/ui/src/lib/components/accordion/accordion-header.ts","../../../../libs/ui/src/lib/components/accordion/accordion-trigger.ts","../../../../libs/ui/src/lib/components/accordion/accordion-item.ts","../../../../libs/ui/src/lib/components/accordion/accordion-content.ts","../../../../libs/ui/src/lib/components/accordion/accordion-item-description.ts","../../../../libs/ui/src/lib/components/switch/switch.ts","../../../../libs/ui/src/lib/components/radio-group/radio-group.ts","../../../../libs/ui/src/lib/components/radio-group/radio-item.ts","../../../../libs/ui/src/lib/components/hover-card/hover-card.ts","../../../../libs/ui/src/lib/components/hover-card/hover-card-trigger-for.ts","../../../../libs/ui/src/lib/components/avatar/avatar-fallback.ts","../../../../libs/ui/src/lib/components/avatar/avatar-image.ts","../../../../libs/ui/src/lib/components/avatar/avatar.ts","../../../../libs/ui/src/lib/components/aspect-ratio/aspect-ratio.ts","../../../../libs/ui/src/lib/components/skeleton/skeleton.ts","../../../../libs/ui/src/lib/components/table/table.ts","../../../../libs/ui/src/lib/components/table/table-container.ts","../../../../libs/ui/src/lib/components/table/table-header.ts","../../../../libs/ui/src/lib/components/table/table-body.ts","../../../../libs/ui/src/lib/components/table/table-footer.ts","../../../../libs/ui/src/lib/components/table/table-head.ts","../../../../libs/ui/src/lib/components/table/table-row.ts","../../../../libs/ui/src/lib/components/table/table-cell.ts","../../../../libs/ui/src/lib/components/table/table-caption.ts","../../../../libs/ui/src/lib/components/data-table/data-table.ts","../../../../libs/ui/src/lib/components/context-menu/context-menu-trigger-for.ts","../../../../libs/ui/src/lib/components/menu-bar/menu-bar.ts","../../../../libs/ui/src/lib/components/menu-bar/menu-bar-item.ts","../../../../libs/ui/src/lib/components/command/command.ts","../../../../libs/ui/src/lib/components/command/command-input.ts","../../../../libs/ui/src/lib/components/command/command-list.ts","../../../../libs/ui/src/lib/components/command/command-empty.ts","../../../../libs/ui/src/lib/components/command/command-group-heading.ts","../../../../libs/ui/src/lib/components/command/command-group.ts","../../../../libs/ui/src/lib/components/command/command-item.ts","../../../../libs/ui/src/lib/components/command/command-shortcut.ts","../../../../libs/ui/src/lib/components/command/command-separator.ts","../../../../libs/ui/src/lib/components/command/command-dialog.ts","../../../../libs/ui/src/lib/components/command/command-error.ts","../../../../libs/ui/src/lib/components/command/command-loading.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible-state.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible-trigger.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible-content.ts","../../../../libs/ui/src/lib/components/sidebar/constants.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-state.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-toggler.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-mobile.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-provider.ts","../../../../libs/ui/src/lib/components/autocomplete/autocomplete-item.ts","../../../../libs/ui/src/lib/components/autocomplete/autocomplete.ts","../../../../libs/ui/src/lib/components/time-picker/time-option.ts","../../../../libs/ui/src/lib/components/time-picker/time-picker-input.ts","../../../../libs/ui/src/lib/components/time-picker/time-picker.ts","../../../../libs/ui/src/lib/components/time-picker/time-picker2.ts","../../../../libs/ui/src/lib/components/file-upload/image.ts","../../../../libs/ui/src/lib/components/file-upload/file-upload.ts","../../../../libs/ui/src/lib/components/file-upload/drop-zone.ts","../../../../libs/ui/src/lib/components/file-upload/file-preview.ts","../../../../libs/ui/src/lib/components/file-upload/utils.ts","../../../../libs/ui/src/lib/components/file-upload/file-card.ts","../../../../libs/ui/src/lib/components/file-upload/file-uploader.ts","../../../../libs/ui/src/lib/components/file-upload/single-file-uploader.ts","../../../../libs/ui/src/lib/components/page/page-title.ts","../../../../libs/ui/src/lib/components/page/page-subtitle.ts","../../../../libs/ui/src/lib/components/page/page-description.ts","../../../../libs/ui/src/lib/components/page/section.ts","../../../../libs/ui/src/lib/components/cookie-consent/cookie-consent.ts","../../../../libs/ui/src/lib/components/comments/comment.ts","../../../../libs/ui/src/lib/components/comments/comments.ts","../../../../libs/ui/src/lib/components/tags/tags.ts","../../../../libs/ui/src/lib/components/combobox/combobox.ts","../../../../libs/ui/src/lib/components/clock-picker/clock-picker.ts","../../../../libs/ui/src/lib/components/clock-picker/clock-picker2.ts","../../../../libs/ui/src/lib/components/code-highlighter/shiki.service.ts","../../../../libs/ui/src/lib/components/code-highlighter/code-highlighter.ts","../../../../libs/ui/src/lib/components/chat/chat.ts","../../../../libs/ui/src/lib/components/image-placeholder/image-placeholder.service.ts","../../../../libs/ui/src/lib/components/image-placeholder/image-placeholder.ts","../../../../libs/ui/src/lib/components/rtl/rtl.ts","../../../../libs/ui/src/semantic-components-ui.ts"],"sourcesContent":["import { Injectable, LOCALE_ID, inject, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScSettings {\n clock = signal<'am-pm' | '24-hour'>('am-pm');\n\n dateFormatPattern = signal<string>('');\n\n private readonly localeId = inject(LOCALE_ID);\n\n constructor() {\n this.dateFormatPattern.set(this.getDateFormatPattern(this.localeId));\n }\n\n getDateFormatPattern(localeId: string) {\n const getPatternForPart = (part: Intl.DateTimeFormatPart) => {\n switch (part.type) {\n case 'day':\n return 'd'.repeat(part.value.length);\n case 'month':\n return 'M'.repeat(part.value.length);\n case 'year':\n return 'y'.repeat(part.value.length);\n case 'literal':\n return part.value;\n default:\n throw new Error('no default');\n }\n };\n\n return new Intl.DateTimeFormat(localeId)\n .formatToParts(new Date('2022-01-01'))\n .map(getPatternForPart)\n .join('')\n .toLowerCase();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-separator',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSeparator {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'block shrink-0 bg-border',\n this.orientation() === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst scHeadingVariants = cva('', {\n variants: {\n level: {\n '1': 'scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl',\n '2': 'scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0',\n '3': 'scroll-m-20 text-2xl font-semibold tracking-tight',\n '4': 'scroll-m-20 text-xl font-semibold tracking-tight',\n '5': '',\n '6': '',\n },\n },\n defaultVariants: {\n level: '1',\n },\n});\n\ntype ScHeadingVariants = VariantProps<typeof scHeadingVariants>;\n\n@Component({\n selector:\n 'h1[sc-heading], h2[sc-heading], h3[sc-heading], h4[sc-heading], h5[sc-heading], h6[sc-heading]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScHeading {\n readonly level = input<ScHeadingVariants['level']>('1');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(scHeadingVariants({ level: this.level() }), this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nexport const scArticleClasses = signal('prose prose-sm sm:prose lg:prose-lg xl:prose-2xl');\n\n@Component({\n selector: 'sc-article',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScArticle {\n class = input<string>('');\n\n classes = computed(() => cn(scArticleClasses(), this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'blockquote[sc-blockquote]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBlockquote {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst toggleVariants = cva(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-10 min-w-10 px-3',\n sm: 'h-9 min-w-9 px-2.5',\n lg: 'h-11 min-w-11 px-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype ToggleVariants = VariantProps<typeof toggleVariants>;\n\n@Component({\n selector: 'button[sc-toggle]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToggle {\n variant = input<ToggleVariants['variant']>('default');\n\n size = input<ToggleVariants['size']>('default');\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(toggleVariants({ variant: this.variant(), size: this.size() }), this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tooltip-container',\n imports: [],\n template: `\n {{ message() }}\n `,\n host: {\n role: 'tooltip',\n '[class]': 'class()',\n '[attr.data-position]': 'position()',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTooltipContainer {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[position=below]:slide-in-from-top-2 data-[position=left]:slide-in-from-right-2 data-[position=right]:slide-in-from-left-2 data-[position=above]:slide-in-from-bottom-2',\n this.classInput(),\n ),\n );\n\n readonly message = input.required<string>();\n\n readonly position = input.required<'left' | 'right' | 'above' | 'below'>();\n\n readonly state = input.required<'open' | 'closed'>();\n}\n","import { ConnectedPosition, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n inject,\n input,\n} from '@angular/core';\n\nimport { ScTooltipContainer } from './tooltip-container';\n\n@Directive({\n selector: '[scTooltip]',\n host: {\n '(mouseover)': 'showTooltip()',\n '(focus)': 'showTooltip()',\n '(mouseleave)': 'hideTooltip()',\n '(blur)': 'hideTooltip()',\n },\n})\nexport class ScTooltip implements OnInit, OnDestroy {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private overlayRef!: OverlayRef;\n private tooltipRef!: ComponentRef<ScTooltipContainer>;\n\n readonly message = input('', { alias: 'scTooltip' });\n readonly position = input<'left' | 'right' | 'above' | 'below'>('below');\n\n ngOnInit() {\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n protected showTooltip() {\n if (this.overlayRef?.hasAttached() === true) {\n return;\n }\n\n this.attachTooltip();\n }\n\n protected hideTooltip() {\n if (this.overlayRef?.hasAttached() === true) {\n this.tooltipRef.setInput('state', 'closed');\n this.overlayRef?.detach();\n }\n }\n\n private attachTooltip(): void {\n // Create tooltip portal\n const tooltipPortal = new ComponentPortal(ScTooltipContainer);\n\n // Attach tooltip portal to overlay\n this.tooltipRef = this.overlayRef.attach(tooltipPortal);\n\n // Pass content to tooltip component instance\n\n this.tooltipRef.setInput('message', this.message());\n this.tooltipRef.setInput('position', this.position());\n this.tooltipRef.setInput('state', 'open');\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(this.getPositions());\n }\n\n getPositions(): ConnectedPosition[] {\n switch (this.position()) {\n case 'above': {\n return [\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -4,\n },\n ];\n }\n case 'below': {\n return [\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 4,\n },\n ];\n }\n case 'left': {\n return [\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -4,\n },\n ];\n }\n case 'right': {\n return [\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 4,\n },\n ];\n }\n\n default: {\n throw new Error('Error in switch case');\n }\n }\n }\n}\n","import { Injectable, computed, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScExtensions {\n //history extension\n undo = signal<boolean>(false);\n redo = signal<boolean>(false);\n history = computed(() => this.undo() || this.redo());\n\n //link extension\n setLink = signal<boolean>(false);\n unsetLink = signal<boolean>(false);\n link = computed(() => this.setLink() || this.unsetLink());\n\n //text align extension\n textAlignRight = signal<boolean>(false);\n textAlignLeft = signal<boolean>(false);\n textAlignCenter = signal<boolean>(false);\n textAlign = computed(\n () => this.textAlignRight() || this.textAlignLeft() || this.textAlignCenter(),\n );\n\n //\n highlight = signal<boolean>(false);\n color = signal<boolean>(false);\n underline = signal<boolean>(false);\n fontFamily = signal<boolean>(false);\n bold = signal<boolean>(false);\n youtube = signal<boolean>(false);\n image = signal<boolean>(false);\n code = signal<boolean>(false);\n strike = signal<boolean>(false);\n italic = signal<boolean>(false);\n blockquote = signal<boolean>(false);\n bulletList = signal<boolean>(false);\n orderedList = signal<boolean>(false);\n horizontalRule = signal<boolean>(false);\n textStyle = signal<boolean>(false);\n table = signal<boolean>(false);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\n\nimport { SiQuoteIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-blockquote',\n imports: [ScTooltip, ScToggle, SiQuoteIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel()\"\n [scTooltip]=\"ariaLabel()\"\n (click)=\"toggleBlockquote()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-quote-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel() }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorBlockquote {\n readonly ariaLabel = input('Toggle blockquote', {\n alias: 'aria-label',\n });\n\n private readonly parent = inject(ScEditor, { host: true });\n\n private readonly extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.blockquote.set(true);\n }\n\n private get editor() {\n return this.parent.editor;\n }\n\n protected toggleBlockquote() {\n this.editor.chain().focus().toggleBlockquote().run();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\n\nimport { SiBoldIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-bold',\n imports: [ScTooltip, ScToggle, SiBoldIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel()\"\n [scTooltip]=\"ariaLabel()\"\n (click)=\"toggleBold()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-bold-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel() }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorBold {\n readonly ariaLabel = input('Toggle Bold', {\n alias: 'aria-label',\n });\n\n private readonly parent = inject(ScEditor, { host: true });\n\n private readonly extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.bold.set(true);\n }\n\n private get editor() {\n return this.parent.editor;\n }\n\n protected toggleBold() {\n this.editor.chain().focus().toggleBold().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiListIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-bullet-list',\n imports: [ScTooltip, ScToggle, SiListIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleBulletList()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-list-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorBulletList {\n ariaLabel = 'Toggle List';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.bulletList.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleBulletList() {\n this.editor.chain().focus().toggleBulletList().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiCodeIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-code',\n imports: [ScTooltip, SiCodeIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleCode()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-code-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorCode {\n ariaLabel = 'Format code';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.code.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleCode() {\n this.editor.chain().focus().toggleCode().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiHighlighterIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-highlight',\n imports: [ScTooltip, ScToggle, SiHighlighterIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleHighlight()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-highlighter-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorHighlight {\n ariaLabel = 'Toggle Highlight';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.highlight.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleHighlight() {\n this.editor.chain().focus().toggleHighlight().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiMinusIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-horizontal-rule',\n imports: [ScTooltip, ScToggle, SiMinusIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setHorizontalRule()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-minus-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorHorizontalRule {\n ariaLabel = 'Toggle Horizontal Rule';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.horizontalRule.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setHorizontalRule() {\n this.editor.chain().focus().setHorizontalRule().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiItalicIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-italic',\n imports: [ScTooltip, ScToggle, SiItalicIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleItalic()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-italic-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorItalic {\n ariaLabel = 'Toggle Italic';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.italic.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleItalic() {\n this.editor.chain().focus().toggleItalic().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiListOrderedIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-ordered-list',\n imports: [ScTooltip, ScToggle, SiListOrderedIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleOrderedList()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-list-ordered-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorOrderedList {\n ariaLabel = 'Toggle ordered list';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.orderedList.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleOrderedList() {\n this.editor.chain().focus().toggleOrderedList().run();\n }\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenu],\n})\nexport class ScMenu {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'my-2 z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-menu-label',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuLabel {\n class = input<string>('');\n\n classes = computed(() =>\n cn('px-2 py-1.5 text-sm font-semibold', this._inset() && 'pl-8', this.class()),\n );\n\n readonly _inset = input<boolean, unknown>(false, {\n alias: 'inset',\n transform: booleanAttribute,\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'span[sc-menu-shortcut]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuShortcut {\n class = input<string>('');\n\n classes = computed(() =>\n cn('ml-auto text-xs tracking-widest text-muted-foreground', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'hr[sc-menu-separator]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('-mx-1 my-1 h-px bg-muted', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-menu-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuGroup {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() => cn('', this.class()));\n}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-menu-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuItem],\n})\nexport class ScMenuItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'w-full flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n this._inset() && 'pl-8',\n this.class(),\n ),\n );\n\n readonly _inset = input<boolean, unknown>(false, {\n alias: 'inset',\n transform: booleanAttribute,\n });\n}\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'button[sc-menu-checkbox-item]',\n imports: [SiCheckIcon],\n template: `\n @if (scChecked()) {\n <span class=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <svg class=\"size-4\" si-check-icon></svg>\n </span>\n }\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CdkMenuItemCheckbox,\n inputs: ['cdkMenuItemChecked: scChecked'],\n outputs: ['cdkMenuItemTriggered: scTriggered'],\n },\n ],\n})\nexport class ScMenuCheckboxItem {\n private readonly _cdkMenuItemCheckbox = inject(CdkMenuItemCheckbox, { host: true });\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this.class(),\n ),\n );\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n effect(() => {\n this._cdkMenuItemCheckbox.disabled = this.disabled();\n });\n }\n\n readonly scChecked = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n readonly scTriggered = output<void>();\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu-radio-group]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuGroup],\n})\nexport class ScMenuRadioGroup {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCircleIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'button[sc-menu-radio-item]',\n imports: [SiCircleIcon],\n template: `\n <span class=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <svg class=\"size-2 fill-current\" si-circle-icon></svg>\n </span>\n\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuItemRadio],\n})\nexport class ScMenuRadioItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this.class(),\n ),\n );\n\n value = input('');\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[scMenuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: scMenuTriggerFor'],\n },\n ],\n})\nexport class ScMenuTriggerFor {\n scMenuTriggerFor = input.required();\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu-checkbox-group]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuGroup],\n})\nexport class ScMenuCheckboxGroup {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport {\n ScMenu,\n ScMenuGroup,\n ScMenuItem,\n ScMenuSeparator,\n ScMenuShortcut,\n ScMenuTriggerFor,\n} from '../../menu';\nimport { ScToggle } from '../../toggle';\nimport { ScEditor } from '../editor';\n\n@Component({\n selector: 'sc-editor-paragraph',\n imports: [\n ScMenuShortcut,\n ScMenuSeparator,\n ScMenuGroup,\n ScMenuItem,\n ScMenuTriggerFor,\n ScMenu,\n ScToggle,\n ],\n template: `\n <button [scMenuTriggerFor]=\"menu\" sc-toggle variant=\"outline\" type=\"button\">\n Paragraph & Headings\n </button>\n\n <ng-template #menu>\n <div sc-menu>\n <sc-menu-group>\n <button (click)=\"setParagraph()\" sc-menu-item>\n <span>Paragraph</span>\n <span sc-menu-shortcut>⌘+Alt+0</span>\n </button>\n </sc-menu-group>\n <hr sc-menu-separator />\n <sc-menu-group>\n <button sc-menu-item>\n <h1>Heading 1</h1>\n <span sc-menu-shortcut>⌘+Alt+1</span>\n </button>\n <button sc-menu-item>\n <h2>Heading 2</h2>\n <span sc-menu-shortcut>⌘+Alt+2</span>\n </button>\n\n <button sc-menu-item>\n <h3>Heading 3</h3>\n <span sc-menu-shortcut>⌘+Alt+3</span>\n </button>\n\n <button sc-menu-item>\n <h4>Heading 4</h4>\n <span sc-menu-shortcut>⌘+Alt+4</span>\n </button>\n\n <button sc-menu-item>\n <h5>Heading 5</h5>\n <span sc-menu-shortcut>⌘+Alt+5</span>\n </button>\n\n <button sc-menu-item>\n <h6>Heading 6</h6>\n <span sc-menu-shortcut>⌘+Alt+6</span>\n </button>\n </sc-menu-group>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorParagraph {\n private readonly parent = inject(ScEditor, { host: true });\n\n get editor() {\n return this.parent.editor;\n }\n\n setParagraph() {\n this.editor.chain().focus().setParagraph().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiRedoIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-redo',\n imports: [ScTooltip, ScToggle, SiRedoIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"redo()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-redo-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorRedo {\n ariaLabel = 'Redo';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.redo.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n redo() {\n this.editor.chain().focus().redo().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiStrikethroughIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-strike',\n imports: [ScTooltip, SiStrikethroughIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleStrike()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-strikethrough-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorStrike {\n ariaLabel = 'Toggle Strike';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.strike.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleStrike() {\n this.editor.chain().focus().toggleStrike().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiAlignCenterIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-text-align-center',\n imports: [ScTooltip, SiAlignCenterIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setCenterAlign()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-align-center-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorTextAlignCenter {\n ariaLabel = 'Align center';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textAlignCenter.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setCenterAlign() {\n this.editor.chain().focus().setTextAlign('center').run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiAlignLeftIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-text-align-left',\n imports: [ScTooltip, SiAlignLeftIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setLeftAlign()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-align-left-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorTextAlignLeft {\n ariaLabel = 'Align left';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textAlignLeft.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setLeftAlign() {\n this.editor.chain().focus().setTextAlign('left').run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiAlignRightIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-text-align-right',\n imports: [ScTooltip, SiAlignRightIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setRightAlign()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-align-right-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorTextAlignRight {\n ariaLabel = 'Align right';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textAlignRight.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setRightAlign() {\n this.editor.chain().focus().setTextAlign('right').run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiUnderlineIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-underline',\n imports: [ScTooltip, SiUnderlineIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleUnderline()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-underline-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorUnderline {\n ariaLabel = 'Toggle underline';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.underline.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleUnderline() {\n this.editor.chain().focus().toggleUnderline().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiUndoIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-undo',\n imports: [ScTooltip, ScToggle, SiUndoIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"undo()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-undo-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorUndo {\n ariaLabel = 'Undo';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.undo.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n undo() {\n this.editor.chain().focus().undo().run();\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiUnlinkIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-unset-link',\n imports: [ScTooltip, ScToggle, SiUnlinkIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"unsetLink()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-unlink-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorUnsetLink {\n ariaLabel = 'Unset Link';\n\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.unsetLink.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n unsetLink() {\n this.editor.chain().focus().unsetLink().run();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-editor-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorGroup {\n class = input<string>('');\n\n //TODO change styles\n _class = computed(() => cn('flex flex-wrap items-center gap-1 py-1', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-editor-toolbar',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorToolbar {\n class = input<string>('');\n\n //TODO change styles to fit shadcn\n _class = computed(() => cn('block border-b px-3 py-1 dark:border-gray-600', this.class()));\n}\n","const allColors = {\n slate: {\n 50: '#f8fafc',\n 100: '#f1f5f9',\n 200: '#e2e8f0',\n 300: '#cbd5e1',\n 400: '#94a3b8',\n 500: '#64748b',\n 600: '#475569',\n 700: '#334155',\n 800: '#1e293b',\n 900: '#0f172a',\n 950: '#020617',\n },\n gray: {\n 50: '#f9fafb',\n 100: '#f3f4f6',\n 200: '#e5e7eb',\n 300: '#d1d5db',\n 400: '#9ca3af',\n 500: '#6b7280',\n 600: '#4b5563',\n 700: '#374151',\n 800: '#1f2937',\n 900: '#111827',\n 950: '#030712',\n },\n zinc: {\n 50: '#fafafa',\n 100: '#f4f4f5',\n 200: '#e4e4e7',\n 300: '#d4d4d8',\n 400: '#a1a1aa',\n 500: '#71717a',\n 600: '#52525b',\n 700: '#3f3f46',\n 800: '#27272a',\n 900: '#18181b',\n 950: '#09090b',\n },\n neutral: {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#e5e5e5',\n 300: '#d4d4d4',\n 400: '#a3a3a3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717',\n 950: '#0a0a0a',\n },\n stone: {\n 50: '#fafaf9',\n 100: '#f5f5f4',\n 200: '#e7e5e4',\n 300: '#d6d3d1',\n 400: '#a8a29e',\n 500: '#78716c',\n 600: '#57534e',\n 700: '#44403c',\n 800: '#292524',\n 900: '#1c1917',\n 950: '#0c0a09',\n },\n red: {\n 50: '#fef2f2',\n 100: '#fee2e2',\n 200: '#fecaca',\n 300: '#fca5a5',\n 400: '#f87171',\n 500: '#ef4444',\n 600: '#dc2626',\n 700: '#b91c1c',\n 800: '#991b1b',\n 900: '#7f1d1d',\n 950: '#450a0a',\n },\n orange: {\n 50: '#fff7ed',\n 100: '#ffedd5',\n 200: '#fed7aa',\n 300: '#fdba74',\n 400: '#fb923c',\n 500: '#f97316',\n 600: '#ea580c',\n 700: '#c2410c',\n 800: '#9a3412',\n 900: '#7c2d12',\n 950: '#431407',\n },\n amber: {\n 50: '#fffbeb',\n 100: '#fef3c7',\n 200: '#fde68a',\n 300: '#fcd34d',\n 400: '#fbbf24',\n 500: '#f59e0b',\n 600: '#d97706',\n 700: '#b45309',\n 800: '#92400e',\n 900: '#78350f',\n 950: '#451a03',\n },\n yellow: {\n 50: '#fefce8',\n 100: '#fef9c3',\n 200: '#fef08a',\n 300: '#fde047',\n 400: '#facc15',\n 500: '#eab308',\n 600: '#ca8a04',\n 700: '#a16207',\n 800: '#854d0e',\n 900: '#713f12',\n 950: '#422006',\n },\n lime: {\n 50: '#f7fee7',\n 100: '#ecfccb',\n 200: '#d9f99d',\n 300: '#bef264',\n 400: '#a3e635',\n 500: '#84cc16',\n 600: '#65a30d',\n 700: '#4d7c0f',\n 800: '#3f6212',\n 900: '#365314',\n 950: '#1a2e05',\n },\n green: {\n 50: '#f0fdf4',\n 100: '#dcfce7',\n 200: '#bbf7d0',\n 300: '#86efac',\n 400: '#4ade80',\n 500: '#22c55e',\n 600: '#16a34a',\n 700: '#15803d',\n 800: '#166534',\n 900: '#14532d',\n 950: '#052e16',\n },\n emerald: {\n 50: '#ecfdf5',\n 100: '#d1fae5',\n 200: '#a7f3d0',\n 300: '#6ee7b7',\n 400: '#34d399',\n 500: '#10b981',\n 600: '#059669',\n 700: '#047857',\n 800: '#065f46',\n 900: '#064e3b',\n 950: '#022c22',\n },\n teal: {\n 50: '#f0fdfa',\n 100: '#ccfbf1',\n 200: '#99f6e4',\n 300: '#5eead4',\n 400: '#2dd4bf',\n 500: '#14b8a6',\n 600: '#0d9488',\n 700: '#0f766e',\n 800: '#115e59',\n 900: '#134e4a',\n 950: '#042f2e',\n },\n cyan: {\n 50: '#ecfeff',\n 100: '#cffafe',\n 200: '#a5f3fc',\n 300: '#67e8f9',\n 400: '#22d3ee',\n 500: '#06b6d4',\n 600: '#0891b2',\n 700: '#0e7490',\n 800: '#155e75',\n 900: '#164e63',\n 950: '#083344',\n },\n sky: {\n 50: '#f0f9ff',\n 100: '#e0f2fe',\n 200: '#bae6fd',\n 300: '#7dd3fc',\n 400: '#38bdf8',\n 500: '#0ea5e9',\n 600: '#0284c7',\n 700: '#0369a1',\n 800: '#075985',\n 900: '#0c4a6e',\n 950: '#082f49',\n },\n blue: {\n 50: '#eff6ff',\n 100: '#dbeafe',\n 200: '#bfdbfe',\n 300: '#93c5fd',\n 400: '#60a5fa',\n 500: '#3b82f6',\n 600: '#2563eb',\n 700: '#1d4ed8',\n 800: '#1e40af',\n 900: '#1e3a8a',\n 950: '#172554',\n },\n indigo: {\n 50: '#eef2ff',\n 100: '#e0e7ff',\n 200: '#c7d2fe',\n 300: '#a5b4fc',\n 400: '#818cf8',\n 500: '#6366f1',\n 600: '#4f46e5',\n 700: '#4338ca',\n 800: '#3730a3',\n 900: '#312e81',\n 950: '#1e1b4b',\n },\n violet: {\n 50: '#f5f3ff',\n 100: '#ede9fe',\n 200: '#ddd6fe',\n 300: '#c4b5fd',\n 400: '#a78bfa',\n 500: '#8b5cf6',\n 600: '#7c3aed',\n 700: '#6d28d9',\n 800: '#5b21b6',\n 900: '#4c1d95',\n 950: '#2e1065',\n },\n purple: {\n 50: '#faf5ff',\n 100: '#f3e8ff',\n 200: '#e9d5ff',\n 300: '#d8b4fe',\n 400: '#c084fc',\n 500: '#a855f7',\n 600: '#9333ea',\n 700: '#7e22ce',\n 800: '#6b21a8',\n 900: '#581c87',\n 950: '#3b0764',\n },\n fuchsia: {\n 50: '#fdf4ff',\n 100: '#fae8ff',\n 200: '#f5d0fe',\n 300: '#f0abfc',\n 400: '#e879f9',\n 500: '#d946ef',\n 600: '#c026d3',\n 700: '#a21caf',\n 800: '#86198f',\n 900: '#701a75',\n 950: '#4a044e',\n },\n pink: {\n 50: '#fdf2f8',\n 100: '#fce7f3',\n 200: '#fbcfe8',\n 300: '#f9a8d4',\n 400: '#f472b6',\n 500: '#ec4899',\n 600: '#db2777',\n 700: '#be185d',\n 800: '#9d174d',\n 900: '#831843',\n 950: '#500724',\n },\n rose: {\n 50: '#fff1f2',\n 100: '#ffe4e6',\n 200: '#fecdd3',\n 300: '#fda4af',\n 400: '#fb7185',\n 500: '#f43f5e',\n 600: '#e11d48',\n 700: '#be123c',\n 800: '#9f1239',\n 900: '#881337',\n 950: '#4c0519',\n },\n};\n\nexport const colors = Object.values(allColors).map((v) => v[500]);\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiPaletteIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScTooltip } from '../../tooltip';\nimport { colors } from '../colors';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-color',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem, ScTooltip, SiPaletteIcon],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n [cdkMenuTriggerFor]=\"textColorDropdown\"\n type=\"button\"\n scTooltip=\"Text color\"\n >\n <svg si-palette-icon></svg>\n <span class=\"sr-only\">Text color</span>\n </button>\n\n <ng-template #textColorDropdown>\n <div\n class=\"z-10 w-48 rounded bg-white p-2 shadow dark:bg-gray-700\"\n id=\"textColorDropdown\"\n cdkMenu\n >\n <div\n class=\"group mb-3 grid grid-cols-6 items-center gap-2 rounded-lg p-1.5 hover:bg-gray-100 dark:hover:bg-gray-600\"\n >\n <input\n class=\"col-span-3 h-8 w-full rounded-md border border-gray-200 bg-gray-50 p-px px-1 hover:bg-gray-50 group-hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-700 dark:group-hover:bg-gray-700\"\n id=\"color\"\n type=\"color\"\n value=\"#e66465\"\n />\n <label\n class=\"col-span-3 text-sm font-medium text-gray-500 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-white\"\n for=\"color\"\n >\n Pick a color\n </label>\n </div>\n <div class=\"mb-3 grid grid-cols-6 gap-1\">\n @for (color of colors; track $index) {\n <button\n class=\"size-6 rounded-md\"\n [style]=\"'background-color: ' + color\"\n [attr.data-hex-color]=\"color\"\n (click)=\"setHexColor($event)\"\n type=\"button\"\n cdkMenuItem\n >\n <span class=\"sr-only\">Blue</span>\n </button>\n }\n </div>\n <button\n class=\"w-full rounded-lg bg-white py-1.5 text-sm font-medium text-gray-500 hover:bg-gray-100 hover:text-gray-900 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-100 dark:bg-gray-700 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white dark:focus:ring-gray-700\"\n id=\"reset-color\"\n (click)=\"resetColor()\"\n cdkMenuItem\n type=\"button\"\n >\n Reset color\n </button>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionColor {\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n colors = colors;\n\n constructor() {\n this.extensions.color.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n resetColor() {\n this.editor.commands.unsetColor();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setHexColor(e: any) {\n const hexColor = e.target.getAttribute('data-hex-color');\n this.editor.chain().focus().setColor(hexColor).run();\n }\n}\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-font-family',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem, ScTooltip],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n [cdkMenuTriggerFor]=\"fontFamilyDropdown\"\n type=\"button\"\n scTooltip=\"Font Family\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m10.6 19 4.298-10.93a.11.11 0 0 1 .204 0L19.4 19m-8.8 0H9.5m1.1 0h1.65m7.15 0h-1.65m1.65 0h1.1m-7.7-3.985h4.4M3.021 16l1.567-3.985m0 0L7.32 5.07a.11.11 0 0 1 .205 0l2.503 6.945h-5.44Z\"\n />\n </svg>\n <span class=\"sr-only\">Font family</span>\n </button>\n\n <ng-template #fontFamilyDropdown>\n <div\n class=\"z-10 w-48 rounded bg-white p-2 shadow dark:bg-gray-700\"\n id=\"fontFamilyDropdown\"\n cdkMenu\n >\n <ul class=\"space-y-1 text-sm font-medium\" aria-labelledby=\"toggleFontFamilyButton\">\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 font-sans text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Poppins, ui-sans-serif\"\n cdkMenuItem\n type=\"button\"\n >\n Default (Poppins)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Arial, sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Arial, sans-serif;\"\n >\n Arial\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Courier New', monospace\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Courier New', monospace;\"\n >\n Courier New\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Georgia, serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Georgia, serif;\"\n >\n Georgia\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Lucida Sans Unicode', sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Lucida Sans Unicode', sans-serif;\"\n >\n Lucida Sans Unicode\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Tahoma, sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Tahoma, sans-serif;\"\n >\n Tahoma\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Times New Roman', serif;\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Times New Roman', serif;\"\n >\n Times New Roman\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Trebuchet MS', sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Trebuchet MS', sans-serif;\"\n >\n Trebuchet MS\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Verdana, sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Verdana, sans-serif;\"\n >\n Verdana\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionFontFamily {\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.fontFamily.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setFontFamily(e: Event) {\n const fontFamily = (e.target as HTMLButtonElement).getAttribute('data-font-family');\n\n if (fontFamily === null) {\n throw new Error('Missing data-font-family');\n }\n\n this.editor.chain().focus().setFontFamily(fontFamily).run();\n }\n}\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { Level } from '@tiptap/extension-heading';\n\nimport { ScEditor } from '../editor';\n\n@Component({\n selector: 'sc-extension-heading',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem],\n template: `\n <button\n class=\"flex items-center justify-center rounded-lg bg-gray-100 px-3 py-1.5 text-sm font-medium text-gray-500 hover:bg-gray-200 hover:text-gray-900 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-50 dark:bg-gray-600 dark:text-gray-400 dark:hover:bg-gray-500 dark:hover:text-white dark:focus:ring-gray-600\"\n [cdkMenuTriggerFor]=\"typographyDropdown\"\n type=\"button\"\n >\n Heading\n <svg\n class=\"-me-0.5 ms-1.5 size-3.5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m19 9-7 7-7-7\"\n />\n </svg>\n </button>\n\n <!-- Heading Dropdown -->\n <ng-template #typographyDropdown>\n <div class=\"z-10 w-72 rounded bg-white p-2 shadow dark:bg-gray-700\" cdkMenu>\n <ul class=\"space-y-1 text-sm font-medium\" aria-labelledby=\"typographyDropdownButton\">\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(1)\"\n data-heading-level=\"1\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 1\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 1\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(2)\"\n data-heading-level=\"2\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 2\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 2\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(3)\"\n data-heading-level=\"3\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 3\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 3\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(4)\"\n data-heading-level=\"4\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 4\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 4\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(5)\"\n data-heading-level=\"5\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 5\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 5\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(6)\"\n data-heading-level=\"6\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 6\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 6\n </kbd>\n </div>\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionHeading {\n private readonly parent = inject(ScEditor, { host: true });\n\n get editor() {\n return this.parent.editor;\n }\n\n setHeadingLevel(level: Level) {\n this.editor.chain().focus().toggleHeading({ level: level }).run();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, OnInit, PLATFORM_ID, Renderer2, inject } from '@angular/core';\n\n@Directive({\n selector: 'button[sc-cursor], a[sc-cursor]',\n})\nexport class ScCursor implements OnInit {\n private readonly isPlatformBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n private readonly hostRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n\n ngOnInit() {\n if (this.isPlatformBrowser) {\n this.renderer.addClass(this.hostRef.nativeElement, 'cursor-pointer');\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nimport { ScCursor } from './cursor';\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n primary: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-4 py-2',\n sm: 'h-9 rounded-md px-3',\n lg: 'h-11 rounded-md px-8',\n icon: 'size-10',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n\n@Component({\n selector: 'button[sc-button], a[sc-button]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-disabled]': 'disabled()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ScCursor],\n})\nexport class ScButton {\n readonly variant = input<ButtonVariants['variant']>('primary');\n\n readonly size = input<ButtonVariants['size']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(buttonVariants({ variant: this.variant(), size: this.size() }), this.classInput()),\n );\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n}\n","import { Directive, ElementRef, inject, model } from '@angular/core';\n\n@Directive({\n selector: 'input[sc-plain-input]',\n host: {\n '[value]': 'value()',\n '(input)': 'handleInput()',\n },\n})\nexport class ScPlainInput {\n private readonly hostRef = inject(ElementRef);\n\n readonly value = model<string>();\n\n handleInput() {\n const newValue = this.hostRef.nativeElement.value;\n this.value.set(newValue);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n model,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScPlainInput } from './plain-input';\n\nexport const scInputStyles = signal(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n);\n\n@Component({\n selector: 'input[sc-input]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ScPlainInput,\n inputs: ['value'],\n outputs: ['valueChange'],\n },\n ],\n})\nexport class ScInput {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn(scInputStyles(), this.classInput()));\n\n readonly value = model<string>();\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-auto-resize-input',\n imports: [],\n template: `\n <div class=\"inline-flex items-center\">\n <!-- Hidden span to calculate width -->\n <span class=\"invisible absolute whitespace-pre\" #sizer [style.font]=\"getFont()\">\n {{ value() || placeholder() }}\n </span>\n\n <!-- Actual input -->\n <input\n #input\n [type]=\"type()\"\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [class]=\"inputClass()\"\n [style.width.px]=\"width()\"\n [min]=\"minWidth()\"\n [max]=\"maxWidth()\"\n [disabled]=\"disabled()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n </div>\n\n <br />\n width: {{ width() }}\n <br />\n sizerWidth: {{ sizerWidth() }}\n <br />\n maxWidth: {{ maxWidth() }}\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScAutoResizeInput),\n multi: true,\n },\n ],\n})\nexport class ScAutoResizeInput implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('relative inline-block', this.classInput()));\n\n readonly input = viewChild.required<ElementRef<HTMLInputElement>>('input');\n readonly sizer = viewChild.required<ElementRef<HTMLSpanElement>>('sizer');\n\n readonly type = input('text');\n readonly placeholder = input('');\n readonly minWidth = input(60);\n readonly maxWidth = input(500);\n readonly inputClass = input(\n 'px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500',\n );\n\n readonly value = model('');\n\n protected readonly sizerWidth = signal(0);\n\n //TODO understand the meaning of 16, 24 worked better\n setSizerWidth(): void {\n this.sizerWidth.set(this.sizer().nativeElement.offsetWidth + 24);\n }\n\n // Adjust input width based on span content\n width = computed(() => {\n if (this.sizerWidth() <= this.minWidth()) {\n return this.minWidth();\n }\n\n return Math.min(this.sizerWidth(), this.maxWidth());\n });\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n protected readonly disabled = linkedSignal(() => this.disabledInput());\n\n constructor() {\n afterNextRender(() => {\n this.setSizerWidth();\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // Get computed font style of input for accurate width calculation\n getFont(): string {\n const inputValue = this.input();\n if (!inputValue?.nativeElement) return '';\n const computed = window.getComputedStyle(inputValue.nativeElement);\n return computed.font;\n }\n\n // Handle input event\n onInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.value.set(input.value);\n this.setSizerWidth();\n this.onChange(this.value());\n this.changeDetectorRef.markForCheck();\n }\n\n onBlur(): void {\n this.onTouch();\n }\n\n // ControlValueAccessor methods\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'label[sc-label]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScLabel {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n this.classInput(),\n ),\n );\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-popover',\n imports: [NgTemplateOutlet],\n template: `\n @if (templateRef()) {\n <ng-container *ngTemplateOutlet=\"templateRef()\"></ng-container>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPopover {\n templateRef = signal<TemplateRef<unknown> | null>(null);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'z-50 w-full rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n this.class(),\n ),\n );\n}\n","import { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n} from '@angular/core';\n\nimport { ScPopover } from './popover';\n\n@Directive({\n selector: '[scPopoverTriggerFor]',\n host: {\n '(click)': 'open()',\n },\n})\nexport class ScPopoverTriggerFor implements OnDestroy {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly viewContainer = inject(ViewContainerRef);\n\n readonly scPopoverTriggerFor = input.required<TemplateRef<unknown>>();\n\n private overlayRef: OverlayRef | null = null;\n\n open(): void {\n if (this.overlayRef?.hasAttached() === true) {\n return;\n }\n\n this.attachTooltip();\n }\n\n close(): void {\n if (this.overlayRef?.hasAttached() === true) {\n this.overlayRef?.detach();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n private attachTooltip(): void {\n if (this.overlayRef === null) {\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n //TODO make this a input\n this.overlayRef.updateSize({ width: 320 });\n\n // const injector = Injector.create({\n // providers: [\n // {\n // provide: TOOLTIP_DATA,\n // useValue: this.appTooltip,\n // },\n // ],\n // });\n const componentPortal = new ComponentPortal(ScPopover, this.viewContainer);\n\n // Attach tooltip portal to overlay\n const componentRef: ComponentRef<ScPopover> = this.overlayRef.attach(componentPortal);\n\n componentRef.instance.templateRef.set(this.scPopoverTriggerFor());\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.element)\n .withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n // panelClass: 'top',\n offsetY: -8,\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n // panelClass: 'bottom',\n offsetY: 8,\n },\n ]);\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface ImageData {\n url: string | null | undefined;\n alt: string | null | undefined;\n title: string | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-image-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">\n Insert advanced image\n </h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"imageForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"image-url\"\n >\n Image URL\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"image-url\"\n type=\"url\"\n name=\"image-url\"\n formControlName=\"url\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"alt\"\n >\n Image alt\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"alt\"\n type=\"text\"\n formControlName=\"alt\"\n name=\"alt\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"title\"\n >\n Image title\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"title\"\n type=\"text\"\n formControlName=\"title\"\n name=\"title\"\n />\n </div>\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"\n dialogRef.close({\n url: url?.value,\n alt: alt?.value,\n title: title?.value,\n })\n \"\n >\n Add image\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddImageDialog {\n dialogRef = inject<DialogRef<ImageData>>(DialogRef<ImageData>);\n\n imageForm = new FormGroup({\n url: new FormControl('https://placehold.co/600x400', Validators.required),\n alt: new FormControl(''),\n title: new FormControl(''),\n });\n\n get url() {\n return this.imageForm.get('url');\n }\n\n get alt() {\n return this.imageForm.get('alt');\n }\n\n get title() {\n return this.imageForm.get('title');\n }\n}\n","import { Dialog, DialogModule } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiImagePlusIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../../button';\nimport { ScInput } from '../../input';\nimport { ScLabel } from '../../label';\nimport { ScPopoverTriggerFor } from '../../popover';\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ImageData, ScAddImageDialog } from '../toolbar/add-image-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-image',\n imports: [\n ScTooltip,\n DialogModule,\n ScButton,\n ScToggle,\n ScLabel,\n ScInput,\n ScPopoverTriggerFor,\n SiImagePlusIcon,\n ],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add image\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M13 10a1 1 0 0 1 1-1h.01a1 1 0 1 1 0 2H14a1 1 0 0 1-1-1Z\"\n clip-rule=\"evenodd\"\n />\n <path\n fill-rule=\"evenodd\"\n d=\"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12c0 .556-.227 1.06-.593 1.422A.999.999 0 0 1 20.5 20H4a2.002 2.002 0 0 1-2-2V6Zm6.892 12 3.833-5.356-3.99-4.322a1 1 0 0 0-1.549.097L4 12.879V6h16v9.95l-3.257-3.619a1 1 0 0 0-1.557.088L11.2 18H8.892Z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n <span class=\"sr-only\">Add image</span>\n </button>\n\n <button\n [scPopoverTriggerFor]=\"popover\"\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-image-plus-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n\n <ng-template #popover>\n <div class=\"grid gap-4\">\n <div class=\"space-y-2\">\n <h4 class=\"font-medium leading-none\">Dimensions</h4>\n <p class=\"text-sm text-muted-foreground\">Set the dimensions for the layer.</p>\n </div>\n <div class=\"grid gap-2\">\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <label sc-label for=\"width\">Url</label>\n <input class=\"col-span-2 h-8\" id=\"width\" sc-input defaultValue=\"100%\" />\n </div>\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <label sc-label for=\"maxWidth\">Alt</label>\n <input class=\"col-span-2 h-8\" id=\"maxWidth\" sc-input defaultValue=\"300px\" />\n </div>\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <label sc-label for=\"height\">Title</label>\n <input class=\"col-span-2 h-8\" id=\"height\" sc-input defaultValue=\"25px\" />\n </div>\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <button sc-button variant=\"outline\" type=\"button\">Cancel</button>\n <button sc-button type=\"button\">Done</button>\n </div>\n </div>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionImage {\n ariaLabel = 'Add image';\n\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.image.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setImage(image: ImageData | undefined) {\n if (image?.url) {\n this.editor\n .chain()\n .focus()\n .setImage({\n src: image.url,\n alt: image.alt ? image.alt : '',\n title: image.title ? image.title : '',\n })\n .run();\n }\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<ImageData>(ScAddImageDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.setImage(result);\n });\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface LinkData {\n url: string | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-link-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n tabindex=\"-1\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">Insert Url</h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"linkForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"url\"\n >\n Url\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"url\"\n type=\"url\"\n name=\"url\"\n formControlName=\"url\"\n />\n </div>\n\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"\n dialogRef.close({\n url: url?.value,\n })\n \"\n >\n Add link\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddLinkDialog {\n dialogRef = inject<DialogRef<LinkData>>(DialogRef<LinkData>);\n\n linkForm = new FormGroup({\n url: new FormControl('https://flowbite.com', Validators.required),\n });\n\n get url() {\n return this.linkForm.get('url');\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { LinkData, ScAddLinkDialog } from '../toolbar/add-link-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-link',\n imports: [ScTooltip],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add link\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M13.213 9.787a3.391 3.391 0 0 0-4.795 0l-3.425 3.426a3.39 3.39 0 0 0 4.795 4.794l.321-.304m-.321-4.49a3.39 3.39 0 0 0 4.795 0l3.424-3.426a3.39 3.39 0 0 0-4.794-4.795l-1.028.961\"\n />\n </svg>\n <span class=\"sr-only\">Link</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionLink {\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.setLink.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<LinkData>(ScAddLinkDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.editor\n .chain()\n .focus()\n .toggleLink({ href: result?.url ?? '' })\n .run();\n });\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface AttributeData {\n name: string | null | undefined;\n value: string | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-cell-attribute-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"fixed inset-x-0 top-0 z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n id=\"cell-attribute-modal\"\n tabindex=\"-1\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">Add cell attribute</h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n data-modal-hide=\"cell-attribute-modal\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"attributeForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"attribute-name\"\n >\n Attribute name\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"attribute-name\"\n type=\"text\"\n formControlName=\"name\"\n placeholder=\"eg. backgroundColor\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"attribute-value\"\n >\n Attribute value\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"attribute-value\"\n type=\"text\"\n formControlName=\"value\"\n placeholder=\"#E1EFFE;\"\n />\n </div>\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"\n dialogRef.close({\n name: name?.value,\n value: value?.value,\n })\n \"\n type=\"submit\"\n >\n Set attribute\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddCellAttributeDialog {\n dialogRef = inject<DialogRef<AttributeData>>(DialogRef<AttributeData>);\n\n attributeForm = new FormGroup({\n name: new FormControl('backgroundColor', Validators.required),\n value: new FormControl('#E1EFFE;'),\n });\n\n get name() {\n return this.attributeForm.get('name');\n }\n\n get value() {\n return this.attributeForm.get('value');\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScSeparator } from '../../separator';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { AttributeData, ScAddCellAttributeDialog } from '../toolbar/add-cell-attribute-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-table',\n imports: [ScTooltip, ScSeparator],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"insertTable()\"\n type=\"button\"\n scTooltip=\"Add table\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15v3c0 .5523.44772 1 1 1h10.5M3 15v-4m0 4h11M3 11V6c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5M3 11h18m0 0v1M8 11v8m4-8v8m4-8v2m1 4h2m0 0h2m-2 0v2m0-2v-2\"\n />\n </svg>\n <span class=\"sr-only\">Add table</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"deleteTable()\"\n type=\"button\"\n scTooltip=\"Delete table\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h10.5M3 15.5v-4m0 4h11m-11-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5m-18 0h18m0 0v1m-13-1v8m4-8v8m4-8v2m1.8956 5.9528 1.5047-1.5047m0 0 1.5048-1.5048m-1.5048 1.5048 1.4605 1.4604m-1.4605-1.4604-1.4604-1.4605\"\n />\n </svg>\n <span class=\"sr-only\">Delete table</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addColumnBefore()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-column-before\"\n scTooltip=\"Add column before\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 5.5v14m-8-7h2m0 0h2m-2 0v2m0-2v-2m12 1h-6m6 4h-6m-11 4h16c.5523 0 1-.4477 1-1v-12c0-.55228-.4477-1-1-1H4c-.55228 0-1 .44772-1 1v12c0 .5523.44772 1 1 1Z\"\n />\n </svg>\n <span class=\"sr-only\">Add column before</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addColumnAfter()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-column-after\"\n scTooltip=\"Add column after\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 5.5v14m8-7h-2m0 0h-2m2 0v2m0-2v-2m-12 1h6m-6 4h6m11 4H4c-.55228 0-1-.4477-1-1v-12c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v12c0 .5523-.4477 1-1 1Z\"\n />\n </svg>\n <span class=\"sr-only\">Add column after</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"deleteColumn()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-remove-column\"\n scTooltip=\"Remove column\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 5.5v14m-6-8h6m-6 4h6m4.5061-1.4939L15.0123 12.5m0 0 1.5061-1.5061M15.0123 12.5l1.5061 1.5061M15.0123 12.5l-1.5062-1.5061M20 19.5H4c-.55228 0-1-.4477-1-1v-12c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v12c0 .5523-.4477 1-1 1Z\"\n />\n </svg>\n <span class=\"sr-only\">Remove column</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addRowBefore()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-row-before\"\n scTooltip=\"Add row before\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-6-9h2m0 0h2m-2 0v2m0-2v-2\"\n />\n </svg>\n <span class=\"sr-only\">Add row before</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addRowAfter()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-row-after\"\n scTooltip=\"Add row after\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 9.5v-3c0-.55228.44772-1 1-1h16c.5523 0 1 .44771 1 1v3m-18 0v9c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-9m-18 0h18m-13 0v-4m4 4v-4m4 4v-4m-6 9h2m0 0h2m-2 0v-2m0 2v2\"\n />\n </svg>\n <span class=\"sr-only\">Add row after</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"deleteRow()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-remove-row\"\n scTooltip=\"Remove row\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-5.5061-7.4939L12 10.5m0 0 1.5061-1.50614M12 10.5l1.5061 1.5061M12 10.5l-1.5061-1.50614\"\n />\n </svg>\n <span class=\"sr-only\">Remove row</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"mergeCells()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-merge-cells\"\n scTooltip=\"Merge cells\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 18.5v2H4v-16h6v2m4 12v2h6v-16h-6v2m-6.49543 8.4954L10 12.5m0 0-2.49543-2.4954M10 12.5H4.05191m12.50199 2.5539L14 12.5m0 0 2.5539-2.55392M14 12.5h5.8319\"\n />\n </svg>\n <span class=\"sr-only\">Merge cells</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"splitCell()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-split-cells\"\n scTooltip=\"Split cells\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M4 18.5v2h6v-16H4v2m16 12v2h-6v-16h6v2M6.49545 14.9954 4.00003 12.5m0 0 2.49542-2.4954M4.00003 12.5h5.94809m7.49798 2.5539L20 12.5m0 0-2.5539-2.55392M20 12.5h-5.8319\"\n />\n </svg>\n <span class=\"sr-only\">Split cells</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"mergeOrSplit()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-merge-or-split\"\n scTooltip=\"Merge or split\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M18.5045 14.9954 21 12.5m0 0-2.4955-2.4954M21 12.5h-5.9481m-9.49798 2.5539L3 12.5m0 0 2.55392-2.55392M3 12.5h5.83192m.16807 7v-14H15v14H8.99999Z\"\n />\n </svg>\n <span class=\"sr-only\">Merge or split</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"toggleHeaderColumn()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-toggle-header-column\"\n scTooltip=\"Toggle header column\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 5.5v14m6-8h-6m6 4h-6m-9-3h1.99093M4 19.5h16c.5523 0 1-.4477 1-1v-12c0-.55228-.4477-1-1-1H4c-.55228 0-1 .44772-1 1v12c0 .5523.44772 1 1 1Zm8-7c0 1.1046-.8954 2-2 2-1.10457 0-2-.8954-2-2s.89543-2 2-2c1.1046 0 2 .8954 2 2Z\"\n />\n </svg>\n <span class=\"sr-only\">Toggle header column</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"toggleHeaderRow()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-toggle-header-row\"\n scTooltip=\"Toggle header row\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-7-9h1.9909M15 10.5c0 1.1046-.8954 2-2 2s-2-.8954-2-2c0-1.10457.8954-2 2-2s2 .89543 2 2Z\"\n />\n </svg>\n <span class=\"sr-only\">Toggle header row</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"toggleHeaderCell()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-toggle-header-cell\"\n scTooltip=\"Toggle header cell\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-7-9h1.9909M15 10.5c0 1.1046-.8954 2-2 2s-2-.8954-2-2c0-1.10457.8954-2 2-2s2 .89543 2 2Z\"\n />\n </svg>\n <span class=\"sr-only\">Toggle header cell</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add cell attribute\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h8v-8m-9 4v-4m0 4h9m-9-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v4m-18 1h11m6.25 5c0 1.2426-1.0073 2.25-2.25 2.25m2.25-2.25c0-1.2426-1.0073-2.25-2.25-2.25m2.25 2.25H21m-3 2.25c-1.2426 0-2.25-1.0074-2.25-2.25M18 18.75v.75m-2.25-3c0-1.2426 1.0074-2.25 2.25-2.25m-2.25 2.25H15m3-2.25v-.75m-1.591 1.409-.5303-.5303m4.2426 4.2426-.5303-.5303m-3.182 0-.5303.5303m4.2426-4.2426-.5303.5303\"\n />\n </svg>\n <span class=\"sr-only\">Add cell attribute</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"fixTables()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-fix-tables\"\n scTooltip=\"Fix tables\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h4v-4m-5 0v-4m0 4h5m-5-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v1.98935M3 11.5h5v4m9.4708 4.1718-.8696-1.4388-2.8164-.235-2.573-4.2573 1.4873-2.8362 1.4441 2.3893c.3865.6396 1.2183.8447 1.8579.4582.6396-.3866.8447-1.2184.4582-1.858l-1.444-2.38925h3.1353l2.6101 4.27715-1.0713 2.5847.8695 1.4388\"\n />\n </svg>\n <span class=\"sr-only\">Fix tables</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"goToPreviousCell()\"\n type=\"button\"\n scTooltip=\"Previous cell\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h9.5M3 15.5v-4m0 4h9m-9-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5H3Zm5 0v8m4-8v8m5.9001-1.0999L16 16.5m0 0 1.9001-1.9001M16 16.5h5\"\n />\n </svg>\n <span class=\"sr-only\">Previous cell</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"goToNextCell()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-next-cell\"\n scTooltip=\"Next cell\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h9.5M3 15.5v-4m0 4h9m-9-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5H3Zm5 0v8m4-8v8m7.0999-1.0999L21 16.5m0 0-1.9001-1.9001M21 16.5h-5\"\n />\n </svg>\n <span class=\"sr-only\">Next cell</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionTable {\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.table.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n insertTable() {\n this.editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run();\n }\n\n deleteTable() {\n this.editor.chain().focus().deleteTable().run();\n }\n\n addColumnBefore() {\n this.editor.chain().focus().addColumnBefore().run();\n }\n\n addColumnAfter() {\n this.editor.chain().focus().addColumnAfter().run();\n }\n\n deleteColumn() {\n this.editor.chain().focus().deleteColumn().run();\n }\n\n addRowBefore() {\n this.editor.chain().focus().addRowBefore().run();\n }\n\n addRowAfter() {\n this.editor.chain().focus().addRowAfter().run();\n }\n\n deleteRow() {\n this.editor.chain().focus().deleteRow().run();\n }\n\n mergeCells() {\n this.editor.chain().focus().mergeCells().run();\n }\n\n splitCell() {\n this.editor.chain().focus().splitCell().run();\n }\n\n mergeOrSplit() {\n this.editor.chain().focus().mergeOrSplit().run();\n }\n\n toggleHeaderColumn() {\n this.editor.chain().focus().toggleHeaderColumn().run();\n }\n\n toggleHeaderRow() {\n this.editor.chain().focus().toggleHeaderRow().run();\n }\n\n toggleHeaderCell() {\n this.editor.chain().focus().toggleHeaderCell().run();\n }\n\n fixTables() {\n this.editor.commands.fixTables();\n }\n\n goToPreviousCell() {\n this.editor.chain().focus().goToPreviousCell().run();\n }\n\n goToNextCell() {\n this.editor.chain().focus().goToNextCell().run();\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<AttributeData>(ScAddCellAttributeDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.editor.commands.setCellAttribute(result?.name ?? '', result?.value ?? '');\n });\n }\n}\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-text-style',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem, ScTooltip],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n [cdkMenuTriggerFor]=\"textSizeDropdown\"\n type=\"button\"\n scTooltip=\"Text size\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 6.2V5h11v1.2M8 5v14m-3 0h6m2-6.8V11h8v1.2M17 11v8m-1.5 0h3\"\n />\n </svg>\n <span class=\"sr-only\">Text size</span>\n </button>\n\n <ng-template #textSizeDropdown>\n <div\n class=\"z-10 w-72 rounded bg-white p-2 shadow dark:bg-gray-700\"\n id=\"textSizeDropdown\"\n cdkMenu\n >\n <ul class=\"space-y-1 text-sm font-medium\" aria-labelledby=\"setTextSizeButton\">\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('16px')\"\n data-text-size=\"16px\"\n cdkMenuItem\n type=\"button\"\n >\n 16px (Default)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-xs text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('12px')\"\n data-text-size=\"12px\"\n cdkMenuItem\n type=\"button\"\n >\n 12px (Tiny)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('14px')\"\n data-text-size=\"14px\"\n cdkMenuItem\n type=\"button\"\n >\n 14px (Small)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-lg text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('18px')\"\n data-text-size=\"18px\"\n cdkMenuItem\n type=\"button\"\n >\n 18px (Lead)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-2xl text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('24px')\"\n data-text-size=\"24px\"\n cdkMenuItem\n type=\"button\"\n >\n 24px (Large)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-4xl text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('36px')\"\n data-text-size=\"36px\"\n cdkMenuItem\n type=\"button\"\n >\n 36px (Huge)\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionTextStyle {\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textStyle.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setTextSize(fontSize: string) {\n this.editor.chain().focus().setMark('textStyle', { fontSize }).run();\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface VideoData {\n url: string | null | undefined;\n width: number | null | undefined;\n height: number | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-video-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">\n Insert advanced video\n </h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"videoForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"URL\"\n >\n YouTube URL\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"URL\"\n type=\"url\"\n name=\"url\"\n formControlName=\"url\"\n />\n </div>\n <div class=\"grid grid-cols-2 gap-4\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"width\"\n >\n Video width\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"width\"\n type=\"number\"\n name=\"width\"\n formControlName=\"width\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"height\"\n >\n Video height\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"height\"\n type=\"number\"\n name=\"height\"\n formControlName=\"height\"\n />\n </div>\n </div>\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"dialogRef.close(getVideoInfo())\"\n >\n Add video\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddVideoDialog {\n dialogRef = inject<DialogRef<VideoData>>(DialogRef<VideoData>);\n\n videoForm = new FormGroup({\n url: new FormControl('https://www.youtube.com/watch?v=KaLxCiilHns', Validators.required),\n width: new FormControl(''),\n height: new FormControl(''),\n });\n\n get url() {\n return this.videoForm.get('url');\n }\n\n get width() {\n return this.videoForm.get('width');\n }\n\n get height() {\n return this.videoForm.get('height');\n }\n\n getVideoInfo() {\n return {\n url: this.url?.value,\n width: parseInt(this.width?.value ?? ''),\n height: parseInt(this.height?.value ?? ''),\n };\n }\n}\n","import { Dialog, DialogModule } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiFileVideoIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScAddVideoDialog, VideoData } from '../toolbar/add-video-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-youtube',\n imports: [ScTooltip, DialogModule, ScToggle, SiFileVideoIcon],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add video\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M9 7V2.221a2 2 0 0 0-.5.365L4.586 6.5a2 2 0 0 0-.365.5H9Zm2 0V2h7a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9h5a2 2 0 0 0 2-2Zm-2 4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H9Zm0 2h2v2H9v-2Zm7.965-.557a1 1 0 0 0-1.692-.72l-1.268 1.218a1 1 0 0 0-.308.721v.733a1 1 0 0 0 .37.776l1.267 1.032a1 1 0 0 0 1.631-.776v-2.984Z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n <span class=\"sr-only\">Add video</span>\n </button>\n\n <button type=\"button\" sc-toggle variant=\"outline\">\n <svg si-file-video-icon></svg>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionYoutube {\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.youtube.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setYoutubeVideo(video: VideoData | undefined) {\n if (video?.url) {\n this.editor.commands.setYoutubeVideo({\n src: video.url,\n width: video.width ? video.width : 640,\n height: video.height ? video.height : 480,\n });\n }\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<VideoData>(ScAddVideoDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.setYoutubeVideo(result);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n forwardRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { Editor } from '@tiptap/core';\nimport Document from '@tiptap/extension-document';\nimport Heading from '@tiptap/extension-heading';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Text from '@tiptap/extension-text';\n\nimport { ScSeparator } from '../separator';\nimport { scArticleClasses } from '../typography';\nimport { ScEditorBlockquote } from './actions/editor-blockquote';\nimport { ScEditorBold } from './actions/editor-bold';\nimport { ScEditorBulletList } from './actions/editor-bullet-list';\nimport { ScEditorCode } from './actions/editor-code';\nimport { ScEditorHighlight } from './actions/editor-highlight';\nimport { ScEditorHorizontalRule } from './actions/editor-horizontal-rule';\nimport { ScEditorItalic } from './actions/editor-italic';\nimport { ScEditorOrderedList } from './actions/editor-ordered-list';\nimport { ScEditorParagraph } from './actions/editor-paragraph';\nimport { ScEditorRedo } from './actions/editor-redo';\nimport { ScEditorStrike } from './actions/editor-strike';\nimport { ScEditorTextAlignCenter } from './actions/editor-text-align-center';\nimport { ScEditorTextAlignLeft } from './actions/editor-text-align-left';\nimport { ScEditorTextAlignRight } from './actions/editor-text-align-right';\nimport { ScEditorUnderline } from './actions/editor-underline';\nimport { ScEditorUndo } from './actions/editor-undo';\nimport { ScEditorUnsetLink } from './actions/editor-unset-link';\nimport { ScEditorGroup } from './editor-group';\nimport { ScEditorToolbar } from './editor-toolbar';\nimport { ScExtensionColor } from './extensions/extension-color';\nimport { ScExtensionFontFamily } from './extensions/extension-font-family';\nimport { ScExtensionHeading } from './extensions/extension-heading';\nimport { ScExtensionImage } from './extensions/extension-image';\nimport { ScExtensionLink } from './extensions/extension-link';\nimport { ScExtensionTable } from './extensions/extension-table';\nimport { ScExtensionTextStyle } from './extensions/extension-text-style';\nimport { ScExtensionYoutube } from './extensions/extension-youtube';\nimport { ScExtensions } from './extensions/extensions';\n\n@Component({\n selector: 'sc-editor',\n imports: [\n ScEditorUndo,\n ScEditorRedo,\n ScEditorHighlight,\n ScExtensionColor,\n ScEditorBold,\n ScEditorUnderline,\n ScExtensionYoutube,\n ScExtensionImage,\n ScExtensionFontFamily,\n ScExtensionLink,\n ScEditorItalic,\n ScEditorBlockquote,\n ScEditorBulletList,\n ScEditorOrderedList,\n ScExtensionTextStyle,\n ScEditorParagraph,\n ScSeparator,\n ScEditorGroup,\n ScEditorStrike,\n ScEditorHorizontalRule,\n ScEditorCode,\n ScExtensionHeading,\n ScExtensionTable,\n ScEditorToolbar,\n ScEditorUnsetLink,\n ScEditorTextAlignRight,\n ScEditorTextAlignLeft,\n ScEditorTextAlignCenter,\n ],\n template: `\n <sc-editor-toolbar>\n <sc-editor-group>\n <sc-editor-undo />\n <sc-editor-redo />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-editor-bold />\n <sc-editor-italic />\n <sc-editor-underline />\n <sc-editor-highlight />\n <sc-extension-text-style />\n <sc-extension-color />\n <sc-extension-font-family />\n <sc-extension-link />\n <sc-editor-unset-link />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-editor-text-align-left />\n <sc-editor-text-align-center />\n <sc-editor-text-align-right />\n </sc-editor-group>\n\n <sc-editor-group>\n <sc-extension-heading />\n <sc-editor-paragraph />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-extension-image />\n <sc-extension-youtube />\n <sc-editor-bullet-list />\n <sc-editor-ordered-list />\n <sc-editor-blockquote />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-editor-strike />\n <sc-editor-horizontal-rule />\n <sc-editor-code />\n </sc-editor-group>\n\n <sc-editor-group>\n <sc-extension-table />\n </sc-editor-group>\n </sc-editor-toolbar>\n\n <div class=\"rounded-b-lg bg-white px-4 py-2 dark:bg-gray-800\">\n <label class=\"sr-only\" for=\"wysiwyg-example\">Publish post</label>\n <div\n class=\"block w-full border-0 bg-white px-0 text-sm text-gray-800 focus:ring-0 dark:bg-gray-800 dark:text-white dark:placeholder:text-gray-400\"\n #editorDiv\n ></div>\n </div>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScEditor),\n multi: true,\n },\n ],\n})\nexport class ScEditor implements ControlValueAccessor {\n private readonly _cdr = inject(ChangeDetectorRef);\n\n readonly editorDiv = viewChild.required<ElementRef>('editorDiv');\n\n _value = signal('');\n\n _isEditable = signal(true);\n\n class = input<string>('');\n\n //TODO change styles\n classes = computed(() =>\n cn(\n 'block w-full rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-600 dark:bg-gray-700',\n this.class(),\n ),\n );\n\n editorClass = input<string>('');\n editorClasses = computed(() =>\n cn('mx-auto focus:outline-none', scArticleClasses(), this.editorClass()),\n );\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onChange: (value: string) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched: () => void = () => {};\n\n editor!: Editor;\n\n extensions = inject(ScExtensions);\n\n constructor() {\n afterNextRender(() => {\n this.createEditor();\n });\n }\n\n async createEditor() {\n const extensions = [];\n extensions.push(Document);\n extensions.push(Heading);\n extensions.push(Paragraph);\n extensions.push(Text);\n\n if (this.extensions.highlight()) {\n const Highlight = (await import('@tiptap/extension-highlight')).Highlight;\n extensions.push(Highlight);\n }\n\n if (this.extensions.textStyle()) {\n const TextStyle = (await import('@tiptap/extension-text-style')).TextStyle;\n extensions.push(TextStyle);\n }\n\n if (this.extensions.color()) {\n const Color = (await import('@tiptap/extension-color')).Color;\n extensions.push(Color);\n }\n\n if (this.extensions.fontFamily()) {\n const FontFamily = (await import('@tiptap/extension-font-family')).FontFamily;\n extensions.push(FontFamily);\n }\n\n if (this.extensions.underline()) {\n const Underline = (await import('@tiptap/extension-underline')).Underline;\n extensions.push(Underline);\n }\n\n if (this.extensions.image()) {\n const Image = (await import('@tiptap/extension-image')).Image;\n extensions.push(Image);\n }\n\n if (this.extensions.youtube()) {\n const Youtube = (await import('@tiptap/extension-youtube')).Youtube;\n extensions.push(Youtube);\n }\n\n if (this.extensions.link()) {\n const Link = (await import('@tiptap/extension-link')).Link;\n extensions.push(Link);\n }\n\n if (this.extensions.textAlign()) {\n const TextAlign = (await import('@tiptap/extension-text-align')).TextAlign;\n extensions.push(\n TextAlign.configure({\n types: ['heading', 'paragraph'],\n }),\n );\n }\n\n if (this.extensions.bulletList() || this.extensions.orderedList()) {\n const ListItem = (await import('@tiptap/extension-list-item')).ListItem;\n extensions.push(ListItem);\n }\n\n if (this.extensions.bulletList()) {\n const BulletList = (await import('@tiptap/extension-bullet-list')).BulletList;\n extensions.push(BulletList);\n }\n\n if (this.extensions.orderedList()) {\n const OrderedList = (await import('@tiptap/extension-ordered-list')).OrderedList;\n extensions.push(OrderedList);\n }\n\n if (this.extensions.strike()) {\n const Strike = (await import('@tiptap/extension-strike')).Strike;\n extensions.push(Strike);\n }\n\n if (this.extensions.italic()) {\n const Italic = (await import('@tiptap/extension-italic')).Italic;\n extensions.push(Italic);\n }\n\n if (this.extensions.bold()) {\n const Bold = (await import('@tiptap/extension-bold')).Bold;\n extensions.push(Bold);\n }\n\n if (this.extensions.horizontalRule()) {\n const HorizontalRule = (await import('@tiptap/extension-horizontal-rule')).HorizontalRule;\n extensions.push(HorizontalRule);\n }\n\n if (this.extensions.blockquote()) {\n const Blockquote = (await import('@tiptap/extension-blockquote')).Blockquote;\n extensions.push(Blockquote);\n }\n\n if (this.extensions.code()) {\n const Code = (await import('@tiptap/extension-code')).Code;\n extensions.push(Code);\n }\n\n if (this.extensions.history()) {\n const History = (await import('@tiptap/extension-history')).History;\n extensions.push(History);\n }\n\n if (this.extensions.table()) {\n const TableHeader = (await import('@tiptap/extension-table-header')).TableHeader;\n extensions.push(TableHeader);\n\n const TableRow = (await import('@tiptap/extension-table-row')).TableRow;\n extensions.push(TableRow);\n\n const TableCell = (await import('@tiptap/extension-table-cell')).TableCell;\n extensions.push(TableCell);\n\n const Table = (await import('@tiptap/extension-table')).Table;\n\n extensions.push(\n Table.configure({\n resizable: true,\n }),\n );\n }\n\n this.editor = new Editor({\n element: this.editorDiv().nativeElement,\n extensions: extensions,\n content: this._value(),\n editable: this._isEditable(),\n editorProps: {\n attributes: {\n class: this.editorClasses(),\n },\n },\n });\n\n this.editor.on('update', ({ editor }) => {\n this.setHtmlContent(editor.getHTML());\n });\n\n this.editor.on('blur', () => {\n this._onTouched();\n });\n }\n\n writeValue(value: string): void {\n this._value.set(value);\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this._isEditable.set(!isDisabled);\n }\n\n setHtmlContent(htmlContent: string) {\n this._value.set(htmlContent);\n this._onChange(htmlContent);\n this._cdr.markForCheck();\n }\n}\n","import { Highlightable, _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScSelect } from './select';\n\n@Component({\n selector: 'sc-option',\n imports: [SiCheckIcon],\n template: `\n @if (isSelected()) {\n <svg class=\"absolute left-2 flex size-4 items-center justify-center\" si-check-icon></svg>\n }\n\n <span #label>\n <ng-content />\n </span>\n `,\n host: {\n '[id]': 'id()',\n '[class]': 'class()',\n '[attr.data-disabled]': '_disabled()',\n '[attr.data-active]': 'active()',\n '(mouseover)': 'setActiveStyles()',\n '(mouseleave)': 'setInactiveStyles()',\n '(click)': 'toggle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScOption implements Highlightable {\n readonly id = signal<string>(inject(_IdGenerator).getId('sc-option-'));\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[active=true]:bg-accent data-[active=true]:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this.classInput(),\n ),\n );\n\n private readonly scSelect = inject(ScSelect, { host: true });\n\n protected isSelected = computed(() => this.value() === this.scSelect.value());\n\n readonly value = input.required<unknown>();\n\n private readonly labelEl = viewChild.required<ElementRef<HTMLSpanElement>>('label');\n\n readonly label = computed(() => {\n return this.labelEl().nativeElement.textContent?.trim() ?? '';\n });\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Gets the host DOM element. */\n getHostElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n readonly active = signal(false);\n\n setActiveStyles(): void {\n this.active.set(true);\n }\n\n setInactiveStyles(): void {\n this.active.set(false);\n }\n\n disabled: boolean | undefined;\n\n getLabel(): string {\n return this.label();\n }\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n\n protected readonly _disabled = computed(\n () => this.disabledInput() || this.disabled || this.scSelect.disabled(),\n );\n\n protected toggle() {\n if (this.isSelected()) {\n this.deselect();\n } else {\n this.select();\n }\n }\n\n private select() {\n if (this._disabled()) {\n return;\n }\n\n this.scSelect.setValue(this.value());\n }\n\n private deselect() {\n if (this._disabled()) {\n return;\n }\n\n this.scSelect.setValue(null);\n }\n}\n","import { ActiveDescendantKeyManager, _IdGenerator } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Injector,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiChevronDownIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScOption } from './option';\n\n@Component({\n selector: 'sc-select',\n imports: [SiChevronDownIcon],\n template: `\n <button\n class=\"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\"\n #scSelectTrigger\n [disabled]=\"disabled()\"\n [attr.aria-expanded]=\"isExpanded()\"\n [attr.aria-controls]=\"panelId\"\n (click)=\"open()\"\n type=\"button\"\n role=\"combobox\"\n >\n {{ label() }}\n <svg class=\"size-4 opacity-50\" si-chevron-down-icon></svg>\n </button>\n\n <ng-template #panelTemplate>\n <ul\n class=\"relative max-h-96 w-full overflow-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n [id]=\"panelId\"\n role=\"listbox\"\n >\n <ng-content />\n </ul>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScSelect),\n multi: true,\n },\n ],\n})\nexport class ScSelect implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly overlay = inject(Overlay);\n private readonly directionality = inject(Directionality, { optional: true });\n private readonly viewContainerRef = inject(ViewContainerRef);\n private portal: TemplatePortal<unknown> | null = null;\n readonly scSelectTrigger = viewChild.required<ElementRef<HTMLButtonElement>>('scSelectTrigger');\n\n protected readonly panelId: string = inject(_IdGenerator).getId('sc-select-panel-');\n readonly panelTemplate = viewChild.required<TemplateRef<unknown>>('panelTemplate');\n\n readonly placeholder = input<string>('');\n\n readonly isOpen = signal<boolean>(false);\n\n readonly options = contentChildren(ScOption);\n\n private readonly activeDescendant = signal<string | null>(null);\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly disabled = linkedSignal(() => this.disabledInput());\n\n constructor() {\n effect(() => {\n //TODO scroll into option when the panel is open\n if (this.isOpen()) {\n this.syncSelectedState(this.value(), this.options(), this.options()[0]);\n }\n });\n\n this.keyManager.change.subscribe(() =>\n this.activeDescendant.set(this.keyManager.activeItem?.id() ?? null),\n );\n }\n\n /**\n * Scrolls an option into view.\n * @param option Option to be scrolled into view.\n * @param position Position to which to align the option relative to the scrollable container.\n */\n scrollOptionIntoView(option: ScOption, position: ScrollLogicalPosition) {\n console.log(option.value());\n option.getHostElement().scrollIntoView({ block: position, inline: position });\n }\n\n private readonly injector = inject(Injector);\n private readonly keyManager = new ActiveDescendantKeyManager(this.options, this.injector)\n .withHomeAndEnd(true)\n .withPageUpDown(true)\n .withVerticalOrientation(true);\n\n readonly value = model<unknown>(undefined);\n\n writeValue(value: unknown): void {\n this.value.set(value);\n }\n\n setValue(value: unknown) {\n this.value.set(value);\n this.onChange(value);\n this.changeDetectorRef.markForCheck();\n this.close();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (value: unknown) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: () => void = () => {};\n\n registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n label = computed(() => {\n if (this.value()) {\n return this.options()\n .find((element) => element.value() === this.value())\n ?.label();\n }\n\n return this.placeholder();\n });\n\n isExpanded = computed(() => {\n return this.isOpen();\n });\n\n private _overlayRef: OverlayRef | null = null;\n\n private _getOverlayRef(): OverlayRef {\n if (this._overlayRef) {\n return this._overlayRef;\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.scSelectTrigger())\n .withFlexibleDimensions(false)\n .withPush(false)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 8,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -8,\n },\n ]);\n\n this._overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n direction: this.directionality || 'ltr',\n hasBackdrop: false,\n });\n\n this._overlayRef.keydownEvents().subscribe((event) => {\n this._handleKeydown(event);\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n const target = _getEventTarget(event) as HTMLElement;\n const origin = this.scSelectTrigger().nativeElement;\n\n if (target && target !== origin && !origin.contains(target)) {\n this.close();\n }\n });\n\n return this._overlayRef;\n }\n\n open(): void {\n if (this.isOpen()) {\n return;\n }\n\n this.isOpen.set(true);\n\n const overlayRef = this._getOverlayRef();\n\n overlayRef.updateSize({ width: this.scSelectTrigger().nativeElement.offsetWidth });\n this.portal ??= new TemplatePortal(this.panelTemplate(), this.viewContainerRef);\n overlayRef.attach(this.portal);\n }\n\n close(): void {\n if (this.isOpen()) {\n this.focusOnTrigger();\n this.isOpen.set(false);\n this._overlayRef?.detach();\n }\n }\n\n focusOnTrigger() {\n this.scSelectTrigger().nativeElement.focus();\n }\n\n /**\n * Synchronizes the internal state of the component based on a specific selected date.\n * @param value Currently selected date.\n * @param options Options rendered out in the timepicker.\n * @param fallback Option to set as active if no option is selected.\n */\n private syncSelectedState(\n value: unknown,\n options: readonly ScOption[],\n fallback: ScOption | null,\n ): void {\n let hasSelected = false;\n\n for (const option of options) {\n if (value && option.value() === value) {\n this.scrollOptionIntoView(option, 'center');\n untracked(() => this.keyManager.setActiveItem(option));\n hasSelected = true;\n }\n }\n\n // If no option was selected, we need to reset the key manager since\n // it might be holding onto an option that no longer exists.\n if (!hasSelected) {\n if (fallback) {\n untracked(() => this.keyManager.setActiveItem(fallback));\n this.scrollOptionIntoView(fallback, 'center');\n } else {\n untracked(() => this.keyManager.setActiveItem(-1));\n }\n }\n }\n\n /** Handles keyboard events while the overlay is open. */\n private _handleKeydown(event: KeyboardEvent): void {\n const key = event.key;\n\n if (key === 'Tab') {\n this.close();\n } else if (key === 'Escape' && !hasModifierKey(event)) {\n event.preventDefault();\n this.close();\n } else if (key === 'Enter') {\n event.preventDefault();\n\n if (this.keyManager.activeItem) {\n this.setValue(this.keyManager.activeItem.value() ?? '');\n } else {\n this.close();\n }\n } else {\n const previousActive = this.keyManager.activeItem;\n this.keyManager.onKeydown(event);\n const currentActive = this.keyManager.activeItem;\n\n if (currentActive && currentActive !== previousActive) {\n this.scrollOptionIntoView(currentActive, 'nearest');\n }\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n output,\n} from '@angular/core';\n\nimport { SiEllipsisIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\n\n@Component({\n selector: 'sc-page-item',\n imports: [ScButton, SiEllipsisIcon],\n template: `\n <li>\n @if (page() === '...') {\n <span class=\"flex size-9 items-center justify-center\" [attr.aria-hidden]=\"true\">\n <svg class=\"size-4\" si-ellipsis-icon></svg>\n <span class=\"sr-only\">More pages</span>\n </span>\n } @else {\n <a\n [attr.aria-current]=\"isActive() ? 'page' : undefined\"\n [variant]=\"isActive() ? 'secondary' : 'outline'\"\n [size]=\"'icon'\"\n (click)=\"selectPage()\"\n sc-button\n href=\"javascript:void(0)\"\n >\n {{ page() }}\n </a>\n }\n </li>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageItem {\n currentPage = input.required<number>();\n page = input.required<number | '...'>();\n\n pageChanged = output<number>();\n\n isActive = computed(() => {\n return this.page() === this.currentPage();\n });\n\n selectPage() {\n const page = this.page();\n if (page !== '...' && page !== this.currentPage()) {\n this.pageChanged.emit(page);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'nav[sc-pagination]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'navigation',\n '[attr.aria-label]': '\"pagination\"',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPagination {\n class = input<string>('');\n\n classes = computed(() => cn('mx-auto flex w-full justify-center', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n computed,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport {\n SiChevronLeftIcon,\n SiChevronRightIcon,\n SiChevronsLeftIcon,\n SiChevronsRightIcon,\n} from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScOption, ScSelect } from '../select';\nimport { ScPageEvent } from './page-event';\nimport { ScPageItem } from './page-item';\nimport { ScPagination } from './pagination';\n\n/** The default page size if there is no page size and there are no provided page size options. */\nconst DEFAULT_PAGE_SIZE = 10;\n\n@Component({\n selector: 'sc-paginator',\n imports: [\n ScPageItem,\n ReactiveFormsModule,\n ScPagination,\n ScButton,\n SiChevronLeftIcon,\n SiChevronsLeftIcon,\n SiChevronRightIcon,\n SiChevronsRightIcon,\n ScSelect,\n ScOption,\n ],\n template: `\n @if (!hidePageSize()) {\n <div>\n <label class=\"\" for=\"items-per-page\">Items per page:</label>\n <sc-select class=\"\" id=\"items-per-page\" [formControl]=\"pageSizeFormControl\">\n @for (pageSizeOption of pageSizeOptions(); track $index) {\n <sc-option [value]=\"pageSizeOption\">{{ pageSizeOption }}</sc-option>\n }\n </sc-select>\n </div>\n }\n\n <div class=\"\">\n Showing\n <span>{{ firstItemPage() }}-{{ lastItemPage() }}</span>\n of\n <span>{{ totalSize() }}</span>\n </div>\n\n <nav sc-pagination>\n <ul class=\"flex flex-row items-center gap-1\">\n @if (showFirstLastButtons()) {\n <li>\n <button\n [disabled]=\"isPrevPageDisabled()\"\n [attr.aria-label]=\"'Go to first page'\"\n (click)=\"firstPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevrons-left-icon></svg>\n <span class=\"sr-only\">First page</span>\n </button>\n </li>\n }\n\n <li>\n <button\n [disabled]=\"isPrevPageDisabled()\"\n [attr.aria-label]=\"'Go to previous page'\"\n (click)=\"prevPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevron-left-icon></svg>\n <span class=\"sr-only\">Previous page</span>\n </button>\n </li>\n\n @for (page of pageRanges(); track $index) {\n <sc-page-item\n [page]=\"page\"\n [currentPage]=\"currentPage()\"\n (pageChanged)=\"changePage($event)\"\n />\n }\n\n <li>\n <button\n [disabled]=\"isNextPageDisabled()\"\n [attr.aria-label]=\"'Go to next page'\"\n (click)=\"nextPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevron-right-icon></svg>\n <span class=\"sr-only\">Next page</span>\n </button>\n </li>\n\n @if (showFirstLastButtons()) {\n <li>\n <button\n [disabled]=\"isNextPageDisabled()\"\n [attr.aria-label]=\"'Go to last page'\"\n (click)=\"lastPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevrons-right-icon></svg>\n <span class=\"sr-only\">Last page</span>\n </button>\n </li>\n }\n </ul>\n </nav>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPaginator implements OnInit {\n class = input<string>('');\n\n classes = computed(() => cn('flex', this.class()));\n\n /** The one-based page index of the displayed list of items. Defaulted to 1. */\n currentPage = input<number>(1);\n\n /** The total number of items that are being paginated. */\n totalSize = input.required<number>();\n\n /** The set of provided page size options to display to the user. */\n pageSizeOptions = input<number[]>([5, DEFAULT_PAGE_SIZE, 25]);\n\n /** Number of items to display on a page. By default set to 10. */\n pageSize = input<number>(DEFAULT_PAGE_SIZE);\n\n /** Whether to hide the page size selection UI from the user. */\n hidePageSize = input<boolean>(false);\n\n /** Whether to show the first/last buttons UI to the user. */\n showFirstLastButtons = input<boolean>(false);\n\n /** Event emitted when the paginator changes the page index. */\n pageChanged = output<ScPageEvent>();\n\n constructor() {\n //TODO find a better way\n effect(() => {\n this.pageSizeFormControl.setValue(this.pageSize());\n });\n }\n\n ngOnInit() {\n this.pageSizeFormControl.valueChanges.subscribe((value) => {\n if (value) {\n this.pageChanged.emit({ page: 1, pageSize: value });\n }\n });\n }\n\n pageSizeFormControl = new FormControl(this.pageSize());\n\n numberOfPages = computed(() => Math.ceil(this.totalSize() / this.pageSize()));\n\n range(start: number, end: number) {\n return Array.from({ length: end - start + 1 }, (_, i) => i + start);\n }\n\n //https://gist.github.com/kottenator/9d936eb3e4e3c3e02598#gistcomment-3238804\n pageRanges = computed<(number | '...')[]>(() => {\n const totalPages = this.numberOfPages();\n\n if (totalPages < 7) {\n return this.range(1, totalPages);\n }\n\n const currentPage = this.currentPage();\n\n const leftSiblingIndex = Math.max(currentPage - 1, 1);\n const rightSiblingIndex = Math.min(currentPage + 1, totalPages);\n\n const shouldShowLeftEllipsis = leftSiblingIndex > 2;\n const shouldShowRightEllipsis = rightSiblingIndex < totalPages - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPages;\n\n if (!shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n const leftItemCount = 3;\n const leftRange = this.range(1, leftItemCount + 2);\n\n return [...leftRange, '...', totalPages];\n }\n\n if (shouldShowLeftEllipsis && !shouldShowRightEllipsis) {\n const rightItemCount = 3;\n const rightRange = this.range(totalPages - rightItemCount - 1, totalPages);\n\n return [firstPageIndex, '...', ...rightRange];\n }\n\n if (shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n const middleRange = this.range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, '...', ...middleRange, '...', lastPageIndex];\n }\n\n return this.range(1, totalPages);\n });\n\n firstItemPage = computed(() => {\n if (this.totalSize() === 0) {\n return 0;\n }\n return this.pageSize() * (this.currentPage() - 1) + 1;\n });\n\n lastItemPage = computed(() => {\n const a = this.firstItemPage() + this.pageSize() - 1;\n\n if (a < this.totalSize()) {\n return a;\n }\n\n return this.totalSize();\n });\n\n firstPage() {\n this.pageChanged.emit({ page: 1, pageSize: this.pageSize() });\n }\n\n nextPage() {\n if (!this.isNextPageDisabled()) {\n this.pageChanged.emit({ page: this.currentPage() + 1, pageSize: this.pageSize() });\n }\n }\n\n isNextPageDisabled = computed(() => {\n return this.currentPage() === this.numberOfPages();\n });\n\n lastPage() {\n this.pageChanged.emit({ page: this.numberOfPages(), pageSize: this.pageSize() });\n }\n\n prevPage() {\n if (!this.isPrevPageDisabled()) {\n this.pageChanged.emit({ page: this.currentPage() - 1, pageSize: this.pageSize() });\n }\n }\n\n isPrevPageDisabled = computed(() => {\n return this.currentPage() === 1;\n });\n\n changePage(page: number) {\n this.pageChanged.emit({ page: page, pageSize: this.pageSize() });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCard {\n class = input<string>('');\n\n classes = computed(() =>\n cn('rounded-lg border bg-card text-card-foreground shadow-sm', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardHeader {\n class = input<string>('');\n\n classes = computed(() => cn('flex flex-col space-y-1.5 p-6', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-card-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardTitle {\n class = input<string>('');\n\n classes = computed(() => cn('text-2xl font-semibold leading-none tracking-tight', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-card-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardDescription {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm text-muted-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardContent {\n class = input<string>('');\n\n classes = computed(() => cn('p-6 pt-0', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardFooter {\n class = input<string>('');\n\n classes = computed(() => cn('flex items-center p-6 pt-0', this.class()));\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n effect,\n input,\n output,\n viewChildren,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { WeekDayName } from './util';\n\n@Component({\n selector: 'sc-month-days',\n imports: [NgClass, ScButton],\n template: `\n @for (weekDayName of weekDaysNames(); track weekDayName.long) {\n <abbr\n class=\"size-10 text-center text-muted-foreground\"\n [title]=\"weekDayName.long\"\n [attr.aria-label]=\"weekDayName.long\"\n >\n {{ weekDayName.short }}\n </abbr>\n }\n\n @for (day of days(); track $index; let index = $index) {\n <button\n [ngClass]=\"{\n 'col-start-1': index === 0 && firstDayMonth() === 0,\n 'col-start-2': index === 0 && firstDayMonth() === 1,\n 'col-start-3': index === 0 && firstDayMonth() === 2,\n 'col-start-4': index === 0 && firstDayMonth() === 3,\n 'col-start-5': index === 0 && firstDayMonth() === 4,\n 'col-start-6': index === 0 && firstDayMonth() === 5,\n 'col-start-7': index === 0 && firstDayMonth() === 6,\n }\"\n [attr.data-sc-day]=\"day\"\n [variant]=\"isSelected(day) ? 'primary' : 'ghost'\"\n (click)=\"setSelectedDay($event)\"\n sc-button\n size=\"icon\"\n >\n {{ day.slice(-2) }}\n </button>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMonthDays {\n class = input<string>('');\n\n classes = computed(() => cn('grid grid-cols-7 place-items-center', this.class()));\n\n weekDaysNames = input.required<WeekDayName[]>();\n\n days = input.required<string[]>();\n firstDayMonth = input.required<number>();\n selectedDay = input<string>('');\n\n selectedDayChange = output<string>();\n\n isSelected(day: string) {\n return day === this.selectedDay();\n }\n\n setSelectedDay(event: Event): void {\n const target = event.target as HTMLElement;\n const selectedDay = target.dataset['scDay'] as string;\n this.selectedDayChange.emit(selectedDay);\n }\n\n focusedDate = input<string>('');\n btns = viewChildren(ScButton, { read: ElementRef });\n\n constructor() {\n effect(() => {\n if (this.focusedDate()) {\n const b = this.btns().find(\n (item) => item.nativeElement.getAttribute('data-sc-day') === this.selectedDay(),\n );\n b?.nativeElement.focus();\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n output,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiChevronLeftIcon, SiChevronRightIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\n\n@Component({\n selector: 'sc-month-year-header',\n imports: [SiChevronRightIcon, SiChevronLeftIcon, ScButton],\n template: `\n <button\n (click)=\"monthYearChange.emit(-1)\"\n aria-label=\"Previous month\"\n sc-button\n variant=\"outline\"\n type=\"button\"\n size=\"icon\"\n >\n <svg si-chevron-left-icon></svg>\n </button>\n\n <button sc-button variant=\"ghost\" type=\"button\">\n {{ monthYear() }}\n </button>\n\n <button\n (click)=\"monthYearChange.emit(1)\"\n aria-label=\"Next month\"\n sc-button\n variant=\"outline\"\n type=\"button\"\n size=\"icon\"\n type=\"button\"\n >\n <svg si-chevron-right-icon></svg>\n </button>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMonthYearHeader {\n class = input<string>('');\n\n classes = computed(() => cn('flex justify-between', this.class()));\n\n monthYear = input.required<string>();\n\n monthYearChange = output<number>();\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n LOCALE_ID,\n OnInit,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { ScCard, ScCardContent, ScCardFooter, ScCardHeader } from '../card';\nimport { ScMonthDays } from './month-days';\nimport { ScMonthYearHeader } from './month-year-header';\nimport { WeekDayName } from './util';\n\n@Component({\n selector: 'sc-calendar',\n imports: [\n ScMonthYearHeader,\n ScMonthDays,\n ScCard,\n ScCardHeader,\n ScButton,\n ScCardFooter,\n ScCardContent,\n ],\n template: `\n <div sc-card>\n <div sc-card-header>\n <sc-month-year-header [monthYear]=\"monthYear()\" (monthYearChange)=\"setMonthYear($event)\" />\n </div>\n\n <div sc-card-content>\n <sc-month-days\n [weekDaysNames]=\"weekDaysNames()\"\n [days]=\"monthDays()\"\n [firstDayMonth]=\"firstDayMonth()\"\n [selectedDay]=\"value()\"\n [focusedDate]=\"focusedDate()\"\n (selectedDayChange)=\"setSelectedDay($event)\"\n />\n </div>\n\n <div class=\"justify-between\" sc-card-footer>\n <button sc-button variant=\"outline\" type=\"button\">Cancel</button>\n <button sc-button type=\"button\">Done</button>\n </div>\n </div>\n `,\n host: {\n '[class]': 'class()',\n '(keydown)': 'handleKeydown($event)',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScCalendar),\n multi: true,\n },\n ],\n})\nexport class ScCalendar implements OnInit, ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n private readonly localeId = inject(LOCALE_ID);\n\n readonly date = computed(() => {\n if (this.value()) {\n return new Date(this.value());\n }\n return new Date();\n });\n\n readonly year = linkedSignal(() => this.date().getFullYear());\n\n readonly month = linkedSignal(() => this.date().getMonth());\n\n readonly weekDaysNames = signal<WeekDayName[]>([]);\n\n readonly monthYear = computed(() => {\n const options = {\n month: 'long',\n year: 'numeric',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any;\n\n const s = new Intl.DateTimeFormat(this.localeId, options).format(\n new Date(this.year(), this.month(), 1),\n );\n\n return s;\n });\n\n readonly monthDays = computed(() => {\n // Month in JavaScript is 0-indexed (January is 0, February is 1, etc),\n // but by using 0 as the day it will give us the last day of the prior\n // month. So passing in 1 as the month number will return the last day\n // of January, not February\n const numOfDays = new Date(this.year(), this.month() + 1, 0).getDate();\n\n const days = [];\n\n for (let i = 1; i <= numOfDays; i++) {\n const date = new Date(this.year(), this.month(), i);\n\n days.push(this.getDateString(date));\n }\n\n return days;\n });\n\n readonly firstDayMonth = computed(() => {\n const date = new Date(this.year(), this.month(), 1);\n const intlLongFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'long' });\n\n const dayName = intlLongFormatter.format(date);\n return this.weekDaysNames()\n .map((e) => e.long)\n .indexOf(dayName);\n });\n\n readonly value = model<string>('');\n\n readonly focusedDate = signal('');\n\n setSelectedDay(day: string) {\n this.value.set(day);\n\n this.onChange(day);\n this.changeDetectorRef.markForCheck();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (value: string) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: () => void = () => {};\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n private readonly disabledByCva = signal(false);\n setDisabledState?(isDisabled: boolean): void {\n this.disabledByCva.set(isDisabled);\n }\n\n ngOnInit() {\n this.setLocaleDayNames();\n }\n\n //https://github.com/angular/angular/issues/57193\n private setLocaleDayNames() {\n const weekDaysNames = [];\n const intlNarrowFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'narrow' });\n const intlShortFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'short' });\n const intlLongFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'long' });\n\n let k = 0;\n const firstDayOfWeek = this.getFirstDayOfWeek();\n if (firstDayOfWeek === 7) {\n // First day of the week is Sunday\n k = 3; // 3th January 2021 is a Sunday\n }\n if (firstDayOfWeek === 1) {\n // First day of the week is Monday\n k = 4; // 4th January 2021 is a Monday\n }\n\n for (let i = 0; i < 7; i += 1) {\n const date = new Date(Date.UTC(2021, 0, i + k));\n weekDaysNames.push({\n narrow: intlNarrowFormatter.format(date),\n short: intlShortFormatter.format(date),\n long: intlLongFormatter.format(date),\n });\n }\n\n this.weekDaysNames.set(weekDaysNames);\n }\n\n private getFirstDayOfWeek(): number {\n const locale = new Intl.Locale(this.localeId);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (locale as any).getWeekInfo().firstDay;\n }\n\n setMonthYear(n: number) {\n if (n === 1) {\n if (this.month() < 11) {\n this.month.update((value) => value + 1);\n } else {\n this.month.set(0);\n this.year.update((value) => value + 1);\n }\n }\n\n if (n === -1) {\n if (this.month() > 0) {\n this.month.update((value) => value - 1);\n } else {\n this.month.set(11);\n this.year.update((value) => value - 1);\n }\n }\n }\n\n twoDigits(n: number) {\n return n.toLocaleString(this.localeId, {\n minimumIntegerDigits: 2,\n useGrouping: false,\n });\n }\n\n handleKeydown(event: KeyboardEvent) {\n const key = event.key;\n let newDate;\n if (key === 'ArrowLeft') {\n newDate = this.addDays(-1);\n } else if (key === 'ArrowRight') {\n newDate = this.addDays(+1);\n } else if (key === 'ArrowUp') {\n newDate = this.addDays(-7);\n } else if (key === 'ArrowDown') {\n newDate = this.addDays(+7);\n } else if (key === 'Enter') {\n if (event.target) {\n newDate = (event.target as HTMLElement).dataset['scDay'];\n }\n\n if (newDate) {\n this.setSelectedDay(newDate);\n }\n\n return;\n }\n if (newDate) {\n //TODO we need to define active date and selected date\n this.setSelectedDay(newDate);\n this.focusedDate.set(newDate);\n }\n }\n\n getDateString(date: Date) {\n return `${date.getFullYear()}-${this.twoDigits(date.getMonth() + 1)}-${this.twoDigits(date.getDate())}`;\n }\n\n addDays(days: number) {\n const date = new Date(this.value());\n date.setDate(date.getDate() + days);\n\n return this.getDateString(date);\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-full-calendar',\n imports: [NgClass],\n template: `\n <div class=\"mx-auto flex size-full max-w-full flex-col items-center px-4\">\n <!-- Calendar Controls -->\n <div class=\"mb-4 flex w-full justify-around gap-2\">\n <button\n class=\"w-full rounded bg-gray-200 px-4 py-2 hover:bg-gray-300 sm:w-auto\"\n (click)=\"setView('month')\"\n >\n Month\n </button>\n <button\n class=\"w-full rounded bg-gray-200 px-4 py-2 hover:bg-gray-300 sm:w-auto\"\n (click)=\"setView('week')\"\n >\n Week\n </button>\n <button\n class=\"w-full rounded bg-gray-200 px-4 py-2 hover:bg-gray-300 sm:w-auto\"\n (click)=\"setView('day')\"\n >\n Day\n </button>\n </div>\n\n <!-- Calendar Header -->\n <div class=\"mb-4 flex w-full items-center justify-between\">\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToPreviousMonth()\"\n >\n &lt;\n </button>\n <span class=\"grow text-center text-lg font-semibold\">\n {{ currentDate.toLocaleString('default', { month: 'long' }) }} {{ currentYear }}\n </span>\n <button class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\" (click)=\"goToNextMonth()\">\n &gt;\n </button>\n </div>\n\n <!-- Weekdays -->\n <div class=\"grid w-full grid-cols-7 gap-2 text-center text-sm font-semibold sm:text-base\">\n @for (day of weekdays; track day) {\n <div class=\"text-gray-600\">{{ day }}</div>\n }\n </div>\n\n <!-- Days -->\n <div class=\"grid w-full grow grid-cols-7 gap-2 sm:grid-cols-7\">\n @for (day of daysInMonth; track day) {\n <div\n class=\"flex h-28 flex-col items-center justify-start rounded border p-2 sm:h-32 md:h-40\"\n [ngClass]=\"{\n 'bg-gray-100': day === null,\n 'bg-green-200 border-green-500': isToday(day),\n }\"\n (click)=\"day !== null && addEvent(formatDate(day))\"\n (keydown.enter)=\"day !== null && addEvent(formatDate(day))\"\n (keydown.space)=\"day !== null && addEvent(formatDate(day))\"\n tabindex=\"0\"\n role=\"button\"\n >\n @if (day !== null) {\n <span class=\"font-medium\">{{ day }}</span>\n }\n @if (day !== null) {\n <div class=\"mt-1 w-full\">\n @for (event of getEventsForDate(day); track event) {\n <div\n class=\"truncate rounded bg-blue-500 px-1 py-0.5 text-xs text-white sm:text-sm\"\n >\n {{ event.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFullCalendar implements OnInit {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n currentDate = new Date();\n currentMonth = this.currentDate.getMonth();\n currentYear = this.currentDate.getFullYear();\n currentView: 'month' | 'week' | 'day' = 'month';\n daysInMonth: number[] = [];\n weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n events: { date: string; title: string }[] = [{ date: '2025-01-18', title: 'Sample Event' }];\n\n ngOnInit() {\n this.generateCalendar();\n }\n\n generateCalendar() {\n if (this.currentView === 'month') {\n // Generate days for the entire month\n const firstDayOfMonth = new Date(this.currentYear, this.currentMonth, 1).getDay();\n const totalDays = new Date(this.currentYear, this.currentMonth + 1, 0).getDate();\n this.daysInMonth = Array(firstDayOfMonth)\n .fill(null)\n .concat(Array.from({ length: totalDays }, (_, i) => i + 1));\n } else if (this.currentView === 'week') {\n // Generate dates for the current week\n const today = new Date();\n const startOfWeek = new Date(today.setDate(today.getDate() - today.getDay()));\n this.daysInMonth = Array.from({ length: 7 }, (_, i) => {\n const date = new Date(startOfWeek);\n date.setDate(startOfWeek.getDate() + i);\n return date.getDate();\n });\n } else if (this.currentView === 'day') {\n // Show only today\n this.daysInMonth = [this.currentDate.getDate()];\n }\n }\n\n goToPreviousMonth() {\n if (this.currentMonth === 0) {\n this.currentMonth = 11;\n this.currentYear--;\n } else {\n this.currentMonth--;\n }\n this.generateCalendar();\n }\n\n goToNextMonth() {\n if (this.currentMonth === 11) {\n this.currentMonth = 0;\n this.currentYear++;\n } else {\n this.currentMonth++;\n }\n this.generateCalendar();\n }\n\n setView(view: 'month' | 'week' | 'day') {\n this.currentView = view;\n this.generateCalendar();\n }\n\n formatDate(day: number | null): string {\n if (day === null) return '';\n const month = String(this.currentMonth + 1).padStart(2, '0');\n const dayStr = String(day).padStart(2, '0');\n return `${this.currentYear}-${month}-${dayStr}`;\n }\n\n addEvent(date: string) {\n const title = prompt('Enter the event title:');\n if (title) {\n this.events.push({ date, title });\n }\n }\n\n isToday(day: number | null): boolean {\n if (day === null) return false;\n const today = new Date();\n return (\n today.getDate() === day &&\n today.getMonth() === this.currentMonth &&\n today.getFullYear() === this.currentYear\n );\n }\n\n getEventsForDate(day: number | null): { date: string; title: string }[] {\n const dateStr = this.formatDate(day);\n return this.events.filter((event) => event.date === dateStr);\n }\n}\n","import { DatePipe, NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-mobile-calendar',\n imports: [NgClass, DatePipe],\n template: `\n <div class=\"mx-auto flex size-full max-w-full flex-col items-center px-4\">\n <!-- Calendar Header: Date Navigation -->\n <div class=\"mb-4 flex w-full items-center justify-between\">\n <!-- Previous Day Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToPreviousDay()\"\n (keydown)=\"onKeydown($event, 'previous')\"\n tabindex=\"0\"\n >\n &lt;\n </button>\n\n <span class=\"grow text-center text-lg font-semibold\">\n {{ currentDate | date: 'fullDate' }}\n </span>\n\n <!-- Next Day Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToNextDay()\"\n (keydown)=\"onKeydown($event, 'next')\"\n tabindex=\"0\"\n >\n &gt;\n </button>\n </div>\n\n <!-- Hourly Slots: Display Hours in Mobile-friendly View -->\n <div class=\"grid w-full gap-2\">\n @for (hour of hoursInDay; track hour) {\n <div\n class=\"flex flex-col items-start justify-start rounded-lg border bg-white p-2 shadow-md hover:bg-gray-100\"\n [ngClass]=\"{\n 'bg-blue-100': isNow(hour),\n 'cursor-pointer': hour !== null,\n }\"\n (click)=\"hour !== null && addEvent(hour)\"\n (keydown.enter)=\"hour !== null && addEvent(hour)\"\n (keydown.space)=\"hour !== null && addEvent(hour)\"\n tabindex=\"0\"\n role=\"button\"\n >\n <span class=\"font-medium\">{{ hour }}:00</span>\n @for (event of getEventsForTime(hour); track event) {\n <div\n class=\"mt-1 truncate rounded bg-blue-500 px-2 py-1 text-xs text-white sm:text-sm\"\n >\n {{ event }}\n </div>\n }\n </div>\n }\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMobileCalendar implements OnInit {\n currentDate: Date;\n hoursInDay: number[];\n events: { [key: string]: string[] } = {}; // Store events by hour\n\n constructor() {\n this.currentDate = new Date();\n this.hoursInDay = Array.from({ length: 24 }, (_, index) => index); // 0 - 23 hours\n this.events = {};\n }\n\n ngOnInit(): void {\n console.log('ngOnInit');\n }\n\n // Go to the previous day\n goToPreviousDay(): void {\n const newDate = new Date(this.currentDate);\n newDate.setDate(this.currentDate.getDate() - 1);\n this.currentDate = newDate;\n }\n\n // Go to the next day\n goToNextDay(): void {\n const newDate = new Date(this.currentDate);\n newDate.setDate(this.currentDate.getDate() + 1);\n this.currentDate = newDate;\n }\n\n // Handle keyboard events for navigation (previous/next day)\n onKeydown(event: KeyboardEvent, direction: string): void {\n if (event.key === 'Enter' || event.key === ' ') {\n if (direction === 'previous') {\n this.goToPreviousDay();\n } else if (direction === 'next') {\n this.goToNextDay();\n }\n }\n }\n\n // Add event to a specific hour\n addEvent(hour: number): void {\n const eventTitle = prompt('Enter event title:');\n if (eventTitle) {\n if (!this.events[hour]) {\n this.events[hour] = [];\n }\n this.events[hour].push(eventTitle);\n }\n }\n\n // Get events for a specific hour\n getEventsForTime(hour: number): string[] {\n return this.events[hour] || [];\n }\n\n // Check if a specific hour is the current hour\n isNow(hour: number): boolean {\n const now = new Date();\n return now.getHours() === hour && now.getDate() === this.currentDate.getDate();\n }\n}\n","import { DatePipe, NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-day-view',\n imports: [NgClass, DatePipe],\n template: `\n <div class=\"rounded-lg border bg-white p-4 shadow-md hover:bg-gray-100\">\n <div class=\"text-center font-medium\">{{ date() | date: 'fullDate' }}</div>\n\n <!-- Display hours for the day -->\n @for (hour of hoursInDay; track hour) {\n <div class=\"flex items-center justify-between p-2\">\n <span>{{ hour }}:00</span>\n <button\n class=\"rounded px-2 py-1 hover:bg-blue-400\"\n [ngClass]=\"{ 'bg-blue-500 text-white': isNow(hour) }\"\n (click)=\"addEvent(hour)\"\n (keydown)=\"onKeydown($event, hour)\"\n tabindex=\"0\"\n >\n Add Event\n </button>\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDayView implements OnInit {\n readonly date = input.required<Date>(); // Receive the date for each day\n hoursInDay: number[];\n\n constructor() {\n this.hoursInDay = Array.from({ length: 24 }, (_, index) => index); // 0 - 23 hours\n }\n\n ngOnInit(): void {\n console.log('ngOnInit');\n }\n\n // Method to add events for a specific hour\n addEvent(hour: number): void {\n const eventTitle = prompt('Enter event title:');\n if (eventTitle) {\n alert(`Event \"${eventTitle}\" added to ${this.date().toDateString()} at ${hour}:00`);\n }\n }\n\n // Method to check if the current hour is now\n isNow(hour: number): boolean {\n const now = new Date();\n return now.getHours() === hour && now.getDate() === this.date().getDate();\n }\n\n // Handle keyboard events for accessibility\n onKeydown(event: KeyboardEvent, hour: number): void {\n if (event.key === 'Enter' || event.key === ' ') {\n this.addEvent(hour);\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { ScDayView } from './day-view';\n\n@Component({\n selector: 'sc-week-view',\n imports: [DatePipe, ScDayView],\n template: `\n <div class=\"mb-4 flex items-center justify-between\">\n <!-- Previous Week Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToPreviousWeek()\"\n (keydown)=\"onKeydown($event, 'previous')\"\n tabindex=\"0\"\n >\n &lt;\n </button>\n\n <span class=\"grow text-center text-lg font-semibold\">\n Week of {{ currentDate | date: 'MMMM d, yyyy' }}\n </span>\n\n <!-- Next Week Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToNextWeek()\"\n (keydown)=\"onKeydown($event, 'next')\"\n tabindex=\"0\"\n >\n &gt;\n </button>\n </div>\n\n <!-- Week Days -->\n <div class=\"grid grid-cols-7 gap-4\">\n @for (day of weekDays; track day) {\n <div>\n <sc-day-view [date]=\"day\"></sc-day-view>\n <!-- Pass each day to Day Component -->\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScWeekView implements OnInit {\n currentDate: Date;\n weekDays: Date[];\n\n constructor() {\n this.currentDate = new Date();\n this.weekDays = this.getWeekDays(this.currentDate); // Get current week's days\n }\n\n ngOnInit(): void {\n console.log('ngOnInit');\n }\n\n // Helper method to get the dates for the week\n getWeekDays(date: Date): Date[] {\n const startOfWeek = date.getDate() - date.getDay(); // Start of the week (Sunday)\n const days: Date[] = [];\n\n for (let i = 0; i < 7; i++) {\n const day = new Date(date);\n day.setDate(startOfWeek + i);\n days.push(day);\n }\n\n return days;\n }\n\n // Go to the previous week\n goToPreviousWeek(): void {\n this.currentDate.setDate(this.currentDate.getDate() - 7);\n this.weekDays = this.getWeekDays(this.currentDate);\n }\n\n // Go to the next week\n goToNextWeek(): void {\n this.currentDate.setDate(this.currentDate.getDate() + 7);\n this.weekDays = this.getWeekDays(this.currentDate);\n }\n\n // Handle keyboard events for week navigation\n onKeydown(event: KeyboardEvent, direction: string): void {\n if (event.key === 'Enter' || event.key === ' ') {\n if (direction === 'previous') {\n this.goToPreviousWeek();\n } else if (direction === 'next') {\n this.goToNextWeek();\n }\n }\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[scDateInput]',\n host: {\n '(keydown)': 'onKeyDown($event)',\n },\n})\nexport class ScDateInput {\n private readonly el = inject(ElementRef);\n\n private readonly dateFormatRegExp = (current: string) => {\n switch (current.length) {\n case 0: {\n return new RegExp(/^\\d$/g);\n }\n case 1: {\n return new RegExp(/^\\d{1,2}\\/?$/g);\n }\n case 2: {\n return new RegExp(/^\\d{1,2}\\/\\d?$/g);\n }\n case 3: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/?$/g);\n }\n case 4: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/?\\d?$/g);\n }\n case 5: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/\\d{0,2}$/g);\n }\n case 6: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/\\d{0,3}$/g);\n }\n default: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}$/g);\n }\n }\n };\n\n previousKey = '';\n\n onKeyDown(event: KeyboardEvent) {\n if (\n event.key === 'Backspace' ||\n event.key === 'Delete' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight' ||\n (this.previousKey === 'Control' && event.key === 'c') ||\n (this.previousKey === 'Control' && event.key === 'v') ||\n (this.previousKey === 'Control' && event.key === 'x')\n ) {\n this.previousKey = event.key;\n return;\n }\n\n this.previousKey = event.key;\n\n const current: string = this.el.nativeElement.value;\n\n const start = this.el.nativeElement.selectionStart;\n const end = this.el.nativeElement.selectionEnd;\n\n const next = current.slice(0, start) + event.key + current.slice(end);\n\n if (this.dateFormatRegExp(current).exec(next) === null) {\n event.preventDefault();\n }\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n OutputEmitterRef,\n ViewEncapsulation,\n computed,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCalendarIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScCalendar } from '../calendar';\nimport { ScInput } from '../input';\nimport { ScDateInput } from './date-input';\n\n@Component({\n selector: 'sc-date-picker',\n imports: [ScInput, SiCalendarIcon, ScButton, ScDateInput],\n template: `\n <button class=\"absolute inset-y-0 end-0 pe-4\" (click)=\"open()\" sc-button variant=\"ghost\">\n <svg si-calendar-icon></svg>\n </button>\n <input #input sc-input scDateInput type=\"text\" placeholder=\"Select date\" />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDatePicker {\n class = input<string>('');\n\n classes = computed(() => cn('flex relative', this.class()));\n\n private readonly host = inject(ElementRef);\n\n private readonly _injector = inject(Injector);\n\n private readonly _dir = inject(Directionality, { optional: true });\n private readonly _overlay = inject(Overlay);\n\n private readonly _isOpen = signal(false);\n private readonly _input = viewChild<ElementRef<HTMLInputElement>>('input');\n // private readonly _overlayOrigin = viewChild<ElementRef<HTMLDivElement>>('overlayOrigin');\n private _overlayRef: OverlayRef | null = null;\n private _portal: ComponentPortal<unknown> | null = null;\n\n /** Emits when the datepicker is opened. */\n readonly opened: OutputEmitterRef<void> = output();\n /** Emits when the datepicker is closed. */\n readonly closed: OutputEmitterRef<void> = output();\n\n /** Emits when the user selects a date. */\n readonly selected: OutputEmitterRef<string> = output();\n\n /** Opens the datepicker. */\n open(): void {\n if (!this._input) {\n return;\n }\n\n // Focus should already be on the input, but this call is in case the datepicker is opened\n // programmatically. We need to call this even if the datepicker is already open, because\n // the user might be clicking the toggle.\n //TODO\n // this._input()?.nativeElement.focus();\n\n if (this._isOpen()) {\n return;\n }\n\n this._isOpen.set(true);\n\n const overlayRef = this._getOverlayRef();\n\n //overlayRef.updateSize({ width: this._overlayOrigin()?.nativeElement.offsetWidth });\n\n overlayRef.updateSize({ width: 400 });\n\n this._portal ??= new ComponentPortal(ScCalendar);\n\n overlayRef.attach(this._portal);\n\n this.opened.emit();\n }\n\n /** Closes the datepicker. */\n close(): void {\n if (this._isOpen()) {\n this._isOpen.set(false);\n this._overlayRef?.detach();\n this.closed.emit();\n }\n }\n\n /** Creates an overlay reference for the datepicker panel. */\n private _getOverlayRef(): OverlayRef {\n if (this._overlayRef) {\n return this._overlayRef;\n }\n\n const _overlayOrigin = this.host;\n if (_overlayOrigin === undefined) {\n throw new Error('_overlayOrigin is undefined');\n }\n\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(_overlayOrigin)\n .withFlexibleDimensions(false)\n .withPush(false)\n // .withTransformOriginOn('.mat-datepicker-panel')\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n //panelClass: 'mat-datepicker-above',\n },\n ]);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._dir || 'ltr',\n hasBackdrop: false,\n });\n\n this._overlayRef.keydownEvents().subscribe((event) => {\n console.log(event);\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n const target = _getEventTarget(event) as HTMLElement;\n const origin = this.host?.nativeElement;\n\n if (target && target !== origin && !origin?.contains(target)) {\n this.close();\n }\n });\n\n return this._overlayRef;\n }\n\n /** Selects a specific date value. */\n protected _selectValue(value: string) {\n this.close();\n this.selected.emit(value);\n this._input()?.nativeElement.focus();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'nav[sc-nav]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNav {\n class = input<string>('');\n\n classes = computed(() =>\n cn('relative z-10 flex max-w-max flex-1 items-center justify-center', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'ul[sc-nav-list]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n dir: 'ltr',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavList {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex flex-1 list-none items-center justify-center space-x-1', this.class()),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\n@Component({\n selector: 'sc-nav-button-base',\n imports: [],\n template: ``,\n host: {},\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavButtonBase {\n baseClass = input<string>(\n 'inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50',\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScNavButtonBase } from './nav-button-base';\n\n@Component({\n selector: 'a[sc-nav-link]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n routerLinkActive: 'active-page',\n ariaCurrentWhenActive: 'page',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavLink extends ScNavButtonBase {\n class = input<string>('');\n\n classes = computed(() => cn(this.baseClass(), this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-nav-item',\n imports: [],\n template: `\n <p>nav-item works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavItem {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScNavButtonBase } from './nav-button-base';\n\n@Component({\n selector: 'button[sc-nav-button]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavButton extends ScNavButtonBase {\n class = input<string>('');\n\n classes = computed(() => cn(this.baseClass(), this.class()));\n}\n","import { CdkMenu, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nimport { ScNavButton } from './nav-button';\n\n@Component({\n selector: 'li[sc-nav-item-dropdown]',\n imports: [CdkMenuTrigger, CdkMenu, ScNavButton],\n template: `\n <button [cdkMenuTriggerFor]=\"menu\" sc-nav-button type=\"button\">{{ title() }}</button>\n <ng-template #menu>\n <div\n cdkMenu\n lass=\"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\"\n >\n <div\n class=\"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto\"\n >\n <ng-content />\n </div>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavItemDropdown {\n title = input.required<string>();\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, afterNextRender, effect, inject, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScTheme {\n private readonly document = inject<Document>(DOCUMENT);\n\n value = signal<'light' | 'dark' | undefined>(undefined);\n\n constructor() {\n effect(() => {\n if (this.value() !== undefined) {\n localStorage['theme'] = this.value();\n }\n\n // On page load or when changing themes, best to add inline in `head` to avoid FOUC\n this.document.documentElement.classList.toggle('dark', this.value() === 'dark');\n });\n }\n\n init() {\n afterNextRender(() => {\n const localStorageTheme = localStorage['theme'];\n const isDarkMode =\n localStorageTheme === 'dark' ||\n (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches);\n\n if (isDarkMode) {\n this.value.set('dark');\n } else {\n this.value.set('light');\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n} from '@angular/core';\n\nimport { SiMoonIcon, SiSunIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScTooltip } from '../tooltip';\nimport { ScTheme } from './theme';\n\n@Component({\n selector: 'sc-theme-toggler',\n imports: [SiMoonIcon, SiSunIcon, ScTooltip, ScButton],\n template: `\n <button\n [scTooltip]=\"message()\"\n (click)=\"toggleTheme()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n type=\"button\"\n >\n @if (theme.value() === 'light') {\n <svg si-moon-icon></svg>\n }\n\n @if (theme.value() === 'dark') {\n <svg si-sun-icon></svg>\n }\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScThemeToggler {\n theme = inject(ScTheme);\n\n message = computed(() => {\n if (this.theme.value() === 'light') {\n return 'Toggle dark mode';\n }\n\n return 'Toggle light mode';\n });\n\n toggleTheme() {\n if (this.theme.value() === 'light') {\n this.theme.value.set('dark');\n } else {\n this.theme.value.set('light');\n }\n }\n}\n","import { inject } from '@angular/core';\n\nimport { ScTheme } from './theme';\n\nexport function scThemeProvider() {\n return () => inject(ScTheme).init();\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n numberAttribute,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-progress',\n imports: [],\n template: `\n <div [class]=\"indicatorClass()\" [style.transform]=\"transform()\"></div>\n `,\n host: {\n // Sets the role for this component to \"progressbar\"\n role: 'progressbar',\n // Sets the minimum and maximum values for the progressbar role.\n '[attr.aria-valuemin]': 'min()',\n '[attr.aria-valuemax]': 'max()',\n // Binding that updates the current value of the progressbar.\n '[attr.aria-valuenow]': 'value()',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScProgress {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('block relative h-4 w-full overflow-hidden rounded-full bg-secondary', this.classInput()),\n );\n\n readonly indicatorClassInput = input<string>('', {\n alias: 'indicatorClass',\n });\n\n protected readonly indicatorClass = computed(() =>\n cn(\n 'size-full flex-1 bg-primary transition-all',\n this.mode() === 'indeterminate' && 'animate-progress origin-left',\n this.indicatorClassInput(),\n ),\n );\n\n /** Current value of the progressbar. */\n readonly value = input<number>(0);\n\n //https://github.com/shadcn-ui/ui/issues/700\n readonly mode = input<'determinate' | 'indeterminate'>('determinate');\n\n //TODO maybe name shoould be aria-valuemin\n readonly min = input<number, unknown>(0, {\n transform: numberAttribute,\n });\n\n //TODO maybe name shoould be aria-valuemax\n readonly max = input<number, unknown>(100, {\n transform: numberAttribute,\n });\n\n protected readonly transform = computed(() => {\n return `translateX(${((this.value() - this.min()) / (this.max() - this.min())) * 100 - 100}%)`;\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnChanges,\n OnInit,\n ViewEncapsulation,\n computed,\n input,\n numberAttribute,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-circular-progress',\n imports: [],\n template: `\n <svg class=\"relative -rotate-90\" [attr.height]=\"radius * 2\" [attr.width]=\"radius * 2\">\n <!-- Background Circle -->\n <circle\n class=\"fill-transparent text-gray-200\"\n [attr.stroke-width]=\"stroke\"\n [attr.r]=\"normalizedRadius\"\n [attr.cx]=\"radius\"\n [attr.cy]=\"radius\"\n stroke=\"currentColor\"\n ></circle>\n\n <!-- Progress Circle -->\n <circle\n class=\"fill-transparent text-primary transition-all duration-300\"\n [attr.stroke-width]=\"stroke\"\n [attr.r]=\"normalizedRadius\"\n [attr.cx]=\"radius\"\n [attr.cy]=\"radius\"\n [attr.stroke-dasharray]=\"circumference\"\n [attr.stroke-dashoffset]=\"strokeDashoffset\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n ></circle>\n </svg>\n\n <!-- Progress Text -->\n <div class=\"absolute flex items-center justify-center text-xl font-semibold text-primary\">\n {{ value() }}%\n </div>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCircularProgress implements OnInit, OnChanges {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex justify-center items-center relative h-[100px] w-[100px]', this.classInput()),\n );\n\n // Progress percentage\n readonly value = input<number, unknown>(0, {\n transform: numberAttribute,\n });\n\n radius = 50; // Radius of the circle\n stroke = 8; // Thickness of the stroke\n\n normalizedRadius!: number; // Adjusted radius for the stroke width\n circumference!: number; // Circle circumference\n strokeDashoffset!: number; // Dash offset for progress\n\n ngOnInit(): void {\n this.normalizedRadius = this.radius - this.stroke * 0.5;\n this.circumference = this.normalizedRadius * 2 * Math.PI;\n this.updateProgress();\n }\n\n ngOnChanges(): void {\n this.updateProgress();\n }\n\n updateProgress(): void {\n // Calculate stroke-dashoffset based on progress\n this.strokeDashoffset = this.circumference - (this.value() / 100) * this.circumference;\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnInit,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon, SiEyeIcon, SiEyeOffIcon, SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScInput } from '../input/input';\nimport { ScLabel } from '../label';\nimport { ScProgress } from '../progress';\n\n@Component({\n selector: 'sc-input-password',\n imports: [\n SiCheckIcon,\n SiXIcon,\n SiEyeOffIcon,\n SiEyeIcon,\n ScLabel,\n ScInput,\n ReactiveFormsModule,\n ScProgress,\n ],\n template: `\n <!--Password input field with toggle visibility button-->\n <div class=\"space-y-2\">\n <label [for]=\"id\" sc-label>Input with password strength indicator</label>\n <div class=\"relative\">\n <input\n class=\"pe-9\"\n [id]=\"id\"\n [value]=\"password()\"\n [type]=\"isVisible() ? 'text' : 'password'\"\n [attr.aria-invalid]=\"strengthScore() < 4\"\n [formControl]=\"control\"\n sc-input\n placeholder=\"Password\"\n aria-describedby=\"input-51-description\"\n />\n <button\n class=\"absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center text-muted-foreground/80 outline-none transition hover:text-foreground\"\n [attr.aria-label]=\"isVisible() ? 'Hide password' : 'Show password'\"\n [attr.aria-pressed]=\"isVisible()\"\n (click)=\"toggleVisibility()\"\n type=\"button\"\n >\n @if (isVisible()) {\n <svg si-eye-off-icon size=\"16\" strokeWidth=\"2\" aria-hidden=\"true\"></svg>\n } @else {\n <svg si-eye-icon size=\"16\" strokeWidth=\"2\" aria-hidden=\"true\"></svg>\n }\n </button>\n </div>\n </div>\n\n <!--Password strength indicator-->\n <sc-progress\n class=\"mb-4 mt-3 h-1 w-full overflow-hidden rounded-full bg-border\"\n [indicatorClass]=\"indicatorClass()\"\n [value]=\"strengthScore()\"\n max=\"4\"\n aria-label=\"Password strength\"\n />\n\n <!-- Password strength description -->\n <p class=\"mb-2 text-sm font-medium\" id=\"password-description\">\n {{ strengthText() }}. Must contain:\n </p>\n\n <!-- Password requirements list -->\n <ul class=\"space-y-1.5\" aria-label=\"Password requirements\">\n @for (req of strength(); track $index) {\n <li class=\"flex items-center gap-2\">\n @if (req.met) {\n <svg class=\"text-emerald-500\" si-check-icon size=\"16\" aria-hidden=\"true\"></svg>\n } @else {\n <svg class=\"text-emerald-500\" si-x-icon size=\"16\" aria-hidden=\"true\"></svg>\n }\n <span class=\"text-xs\" [class]=\"req.met ? 'text-emerald-500' : 'text-muted-foreground/80'\">\n {{ req.text }}\n </span>\n <span class=\"sr-only\">\n {{ req.met ? '- Requirement met' : '- Requirement not met' }}\n </span>\n </li>\n }\n </ul>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputPassword implements OnInit {\n protected readonly id = inject(_IdGenerator).getId('sc-input-password-');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('block', this.classInput()));\n\n protected control = new FormControl();\n\n private destroyRef = inject(DestroyRef);\n\n ngOnInit() {\n this.control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => this.password.set(value));\n }\n\n readonly password = signal<string>('');\n readonly isVisible = signal<boolean>(false);\n\n requirements = [\n { regex: /.{8,}/, text: 'At least 8 characters' },\n { regex: /[0-9]/, text: 'At least 1 number' },\n { regex: /[a-z]/, text: 'At least 1 lowercase letter' },\n { regex: /[A-Z]/, text: 'At least 1 uppercase letter' },\n ];\n\n strength = computed(() =>\n this.requirements.map((req) => ({\n met: req.regex.test(this.password()),\n text: req.text,\n })),\n );\n\n strengthScore = computed(() => this.strength().filter((req) => req.met).length);\n\n protected readonly indicatorClass = computed(() =>\n cn('h-full transition-all duration-500 ease-out', this.strengthColor()),\n );\n\n strengthColor = computed(() => {\n const score = this.strengthScore();\n if (score === 0) return 'bg-border';\n if (score <= 1) return 'bg-red-500';\n if (score <= 2) return 'bg-orange-500';\n if (score === 3) return 'bg-amber-500';\n return 'bg-emerald-500';\n });\n\n strengthText = computed(() => {\n const score = this.strengthScore();\n if (score === 0) return 'Enter a password';\n if (score <= 2) return 'Weak password';\n if (score === 3) return 'Medium password';\n return 'Strong password';\n });\n\n toggleVisibility() {\n this.isVisible.update((prev) => !prev);\n }\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class InputOtpHandler {\n inputIndex = signal<number>(-1);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { InputOtpHandler } from './input-otp-handler';\n\n@Component({\n selector: 'sc-input-otp-slot',\n imports: [ReactiveFormsModule],\n template: `\n @let control = formControl();\n @if (control !== null) {\n <input\n class=\"size-full border-0 bg-transparent text-center shadow-none outline-none ring-0\"\n #input\n [formControl]=\"control\"\n [readonly]=\"!isActive()\"\n (input)=\"_handleInput()\"\n type=\"text\"\n inputmode=\"numeric\"\n autocomplete=\"one-time-code\"\n maxLength=\"1\"\n size=\"1\"\n />\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputOTPSlot {\n inputOtpHandler = inject(InputOtpHandler);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n this.isActive() && 'z-10 ring-2 ring-ring ring-offset-background',\n this.class(),\n ),\n );\n\n formControl = signal<FormControl | null>(null);\n index = 0;\n\n isActive = signal(false);\n\n readonly input = viewChild.required<HTMLInputElement>('input');\n\n _handleInput(): void {\n this.inputOtpHandler.inputIndex.set(this.index);\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n forwardRef,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { Subject } from 'rxjs';\n\nimport { InputOtpHandler } from './input-otp-handler';\nimport { ScInputOTPSlot } from './input-otp-slot';\n\n@Component({\n selector: 'sc-input-otp',\n imports: [ReactiveFormsModule],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScInputOtp),\n multi: true,\n },\n InputOtpHandler,\n ],\n})\nexport class ScInputOtp implements ControlValueAccessor, OnDestroy {\n inputOtpHandler = inject(InputOtpHandler);\n private readonly _focusMonitor = inject(FocusMonitor);\n\n private readonly _cdr = inject(ChangeDetectorRef);\n\n class = input<string>('');\n\n classes = computed(() => cn('flex items-center gap-2 has-[:disabled]:opacity-50', this.class()));\n\n readonly _required = input<boolean, unknown>(false, {\n alias: 'required',\n transform: booleanAttribute,\n });\n\n formGroup = new FormGroup({\n inputs: new FormArray([]),\n });\n\n get inputs(): FormArray {\n return this.formGroup.get('inputs') as FormArray;\n }\n\n slots = contentChildren(ScInputOTPSlot, { descendants: true });\n\n constructor() {\n effect(() => {\n if (\n this.inputOtpHandler.inputIndex() !== -1 &&\n this.inputOtpHandler.inputIndex() < this.slots().length - 1 &&\n this.slots().length > 1\n ) {\n const index = this.inputOtpHandler.inputIndex();\n\n const currentSlot = this.slots()[index];\n currentSlot.isActive.set(false);\n\n const nextSlot = this.slots()[index + 1];\n nextSlot.isActive.set(true);\n this._focusMonitor.focusVia(nextSlot.input(), 'program');\n }\n });\n\n afterNextRender(() => {\n for (let i = 0; i < this.slots().length; i++) {\n const slot = this.slots()[i];\n\n if (i === 0) {\n slot.isActive.set(true);\n }\n\n const formControl = new FormControl('', Validators.required);\n\n slot.index = i;\n slot.formControl.set(formControl);\n this.inputs.push(formControl);\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.formGroup.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {\n const tel = this.formGroup.valid ? this.inputs.value.join('') : null;\n this._updateValue(tel);\n });\n }\n\n private _updateValue(tel: string | null) {\n // const current = this._value();\n // if (\n // tel === current ||\n // (tel?.area === current?.area &&\n // tel?.exchange === current?.exchange &&\n // tel?.subscriber === current?.subscriber)\n // ) {\n // return;\n // }\n this._value.set(tel);\n\n this.onChange(tel);\n this._cdr.markForCheck();\n }\n\n readonly _value = model<string | null>(null, { alias: 'value' });\n\n readonly disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n\n private readonly disabledByCva = signal(false);\n private readonly _disabled = computed(() => this.disabledByInput() || this.disabledByCva());\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n onChange = (_: any) => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n writeValue(tel: string | null): void {\n this._updateValue(tel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledByCva.set(isDisabled);\n }\n\n private readonly _elementRef = inject(ElementRef);\n //TODO use stateChanges to handle state changes\n readonly stateChanges = new Subject<void>();\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-input-otp-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputOTPGroup {\n class = input<string>('');\n\n classes = computed(() => cn('flex items-center', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiDotIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-input-otp-separator',\n imports: [SiDotIcon],\n template: `\n <svg si-dot-icon></svg>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputOTPSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormBuilder,\n FormControl,\n FormGroup,\n FormGroupDirective,\n FormsModule,\n NgControl,\n NgForm,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\n\nimport { Subject } from 'rxjs';\n\n/** Data structure for holding telephone number. */\nexport class TelModel {\n constructor(\n public area: string,\n public exchange: string,\n public subscriber: string,\n ) {}\n}\n\n@Component({\n selector: 'sc-tel-input',\n imports: [FormsModule, ReactiveFormsModule],\n template: `\n <div\n class=\"\"\n [formGroup]=\"parts\"\n [attr.aria-labelledby]=\"getLabelId()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n role=\"group\"\n >\n <input\n class=\"\"\n #area\n (input)=\"_handleInput(parts.controls.area, exchange)\"\n formControlName=\"area\"\n size=\"3\"\n maxLength=\"3\"\n aria-label=\"Area code\"\n />\n <span class=\"\">&ndash;</span>\n <input\n class=\"\"\n #exchange\n (input)=\"_handleInput(parts.controls.exchange, subscriber)\"\n (keyup.backspace)=\"autoFocusPrev(parts.controls.exchange, area)\"\n formControlName=\"exchange\"\n maxLength=\"3\"\n size=\"3\"\n aria-label=\"Exchange code\"\n />\n <span class=\"\">&ndash;</span>\n <input\n class=\"\"\n #subscriber\n (input)=\"_handleInput(parts.controls.subscriber)\"\n (keyup.backspace)=\"autoFocusPrev(parts.controls.subscriber, exchange)\"\n formControlName=\"subscriber\"\n maxLength=\"4\"\n size=\"4\"\n aria-label=\"Subscriber number\"\n />\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[id]': 'id',\n },\n})\nexport class TelInputComponent implements ControlValueAccessor, DoCheck, OnDestroy {\n private readonly _parentForm = inject(NgForm, { optional: true });\n private readonly _parentFormGroup = inject(FormGroupDirective, { optional: true });\n\n static nextId = 0;\n readonly areaInput = viewChild.required<HTMLInputElement>('area');\n readonly exchangeInput = viewChild.required<HTMLInputElement>('exchange');\n readonly subscriberInput = viewChild.required<HTMLInputElement>('subscriber');\n\n ngControl = inject(NgControl, { optional: true, self: true });\n\n readonly parts: FormGroup<{\n area: FormControl<string | null>;\n exchange: FormControl<string | null>;\n subscriber: FormControl<string | null>;\n }>;\n readonly stateChanges = new Subject<void>();\n readonly touched = signal(false);\n readonly controlType = 'sma-tel-input';\n readonly id = `sma-tel-input-${TelInputComponent.nextId++}`;\n readonly _userAriaDescribedBy = input<string>('', { alias: 'aria-describedby' });\n readonly _placeholder = input<string>('', { alias: 'placeholder' });\n readonly _required = input<boolean, unknown>(false, {\n alias: 'required',\n transform: booleanAttribute,\n });\n readonly _disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly _value = model<TelModel | null>(null, { alias: 'value' });\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n onChange = (_: any) => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n getLabelId() {\n return '';\n }\n\n private readonly _focused = signal(false);\n private readonly disabledByCva = signal(false);\n private readonly _disabled = computed(() => this._disabledByInput() || this.disabledByCva());\n private readonly _focusMonitor = inject(FocusMonitor);\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n get focused(): boolean {\n return this._focused();\n }\n\n get empty() {\n const {\n value: { area, exchange, subscriber },\n } = this.parts;\n\n return !area && !exchange && !subscriber;\n }\n\n // get shouldLabelFloat() {\n // return this.focused || !this.empty;\n // }\n\n get userAriaDescribedBy() {\n return this._userAriaDescribedBy();\n }\n\n get placeholder(): string {\n return this._placeholder();\n }\n\n get required(): boolean {\n return this._required();\n }\n\n get disabled(): boolean {\n return this._disabled();\n }\n\n get value(): TelModel | null {\n return this._value();\n }\n\n // get errorState(): boolean {\n // return this.parts.invalid && this.touched();\n // }\n\n get errorState(): boolean {\n return this._errorState ?? false;\n }\n\n constructor() {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n this.parts = inject(FormBuilder).group({\n area: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(3)]],\n exchange: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(3)]],\n subscriber: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(4)]],\n });\n\n effect(() => {\n // Read signals to trigger effect.\n this._placeholder();\n this._required();\n this._disabled();\n this._focused();\n // Propagate state changes.\n untracked(() => this.stateChanges.next());\n });\n\n effect(() => {\n if (this._disabled()) {\n untracked(() => this.parts.disable());\n } else {\n untracked(() => this.parts.enable());\n }\n });\n\n effect(() => {\n const value = this._value() || new TelModel('', '', '');\n untracked(() => this.parts.setValue(value));\n });\n\n this.parts.statusChanges.pipe(takeUntilDestroyed()).subscribe(() => {\n this.stateChanges.next();\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.parts.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {\n const tel = this.parts.valid\n ? new TelModel(\n this.parts.value.area ?? '',\n this.parts.value.exchange ?? '',\n this.parts.value.subscriber ?? '',\n )\n : null;\n this._updateValue(tel);\n });\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n onFocusIn() {\n if (!this._focused()) {\n this._focused.set(true);\n }\n }\n\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched.set(true);\n this._focused.set(false);\n this.onTouched();\n }\n }\n\n autoFocusNext(control: AbstractControl, nextElement?: HTMLInputElement): void {\n if (!control.errors && nextElement) {\n this._focusMonitor.focusVia(nextElement, 'program');\n }\n }\n\n autoFocusPrev(control: AbstractControl, prevElement: HTMLInputElement): void {\n if (control.value.length < 1) {\n this._focusMonitor.focusVia(prevElement, 'program');\n }\n }\n\n //TODO\n setDescribedByIds(ids: string[]) {\n const controlElement = this._elementRef.nativeElement.querySelector(\n '.example-tel-input-container',\n )!;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n onContainerClick() {\n if (this.parts.controls.subscriber.valid) {\n this._focusMonitor.focusVia(this.subscriberInput(), 'program');\n } else if (this.parts.controls.exchange.valid) {\n this._focusMonitor.focusVia(this.subscriberInput(), 'program');\n } else if (this.parts.controls.area.valid) {\n this._focusMonitor.focusVia(this.exchangeInput(), 'program');\n } else {\n this._focusMonitor.focusVia(this.areaInput(), 'program');\n }\n }\n\n writeValue(tel: TelModel | null): void {\n this._updateValue(tel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledByCva.set(isDisabled);\n }\n\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\n this.autoFocusNext(control, nextElement);\n this.onChange(this.value);\n }\n\n private _updateValue(tel: TelModel | null) {\n const current = this._value();\n if (\n tel === current ||\n (tel?.area === current?.area &&\n tel?.exchange === current?.exchange &&\n tel?.subscriber === current?.subscriber)\n ) {\n return;\n }\n this._value.set(tel);\n }\n\n //error\n\n /** Whether the component is in an error state. */\n _errorState: boolean | undefined = false;\n\n ngDoCheck() {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n private updateErrorState() {\n const parentSubmitted = this._parentFormGroup?.submitted || this._parentForm?.submitted;\n const touchedOrParentSubmitted = this.touched() || parentSubmitted;\n\n const newState = (this.ngControl?.invalid || this.parts.invalid) && touchedOrParentSubmitted;\n\n if (this.errorState !== newState) {\n this._errorState = newState;\n this.stateChanges.next(); // Notify listeners of state changes.\n }\n }\n}\n","import { AsyncPipe, JsonPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TelInputComponent } from './tel-input.component';\n\n@Component({\n selector: 'sc-form-field-custom-control',\n imports: [FormsModule, ReactiveFormsModule, AsyncPipe, JsonPipe, TelInputComponent],\n template: `\n <div [formGroup]=\"form\">\n <div>\n <label for=\"id_tel\">Phone number</label>\n <sc-tel-input id=\"id_tel\" formControlName=\"tel\" required />\n </div>\n <p>Entered value: {{ form.valueChanges | async | json }}</p>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFieldCustomControlComponent {\n readonly form = new FormGroup({\n tel: new FormControl(null),\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'textarea[sc-textarea]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTextarea {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n this.class(),\n ),\n );\n}\n","import { signal } from '@angular/core';\n\nexport const scOverlayClasses = signal<string[]>([\n 'bg-black/80',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=open]:fade-in-0',\n]);\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-sheet-container',\n imports: [NgTemplateOutlet],\n template: `\n @if (templateRef()) {\n <ng-container *ngTemplateOutlet=\"templateRef()\"></ng-container>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSheetContainer {\n class = input<string>('');\n\n classes = computed(() => cn('block size-full', this.class()));\n\n templateRef = signal<TemplateRef<unknown> | null>(null);\n}\n","import { Overlay, OverlayConfig, OverlayContainer, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, TemplateRef, effect, inject, signal } from '@angular/core';\n\nimport { scOverlayClasses } from '../overlay';\nimport { ScSheetConfig } from './sheet-config';\nimport { ScSheetContainer } from './sheet-container';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScSheetTrigger {\n private readonly _overlayContainer = inject(OverlayContainer);\n private readonly _overlay = inject(Overlay);\n private _overlayRef!: OverlayRef;\n\n state = signal<'open' | 'closed'>('closed');\n side = signal<'top' | 'bottom' | 'left' | 'right'>('right');\n\n constructor() {\n effect(() => {\n if (this.state() === 'open') {\n this._overlayContainer.getContainerElement().classList.add(...scOverlayClasses());\n }\n\n if (this.state() === 'closed') {\n this._overlayContainer.getContainerElement().classList.remove(...scOverlayClasses());\n }\n\n this._overlayContainer.getContainerElement().setAttribute('data-state', this.state());\n });\n }\n\n open(templateRef: TemplateRef<unknown>, config: ScSheetConfig) {\n this.state.set('open');\n this.side.set(config.side);\n\n const overlayConfig = this.getOverlayConfig(config);\n this._overlayRef = this._overlay.create(overlayConfig);\n\n const scSheetPortal = new ComponentPortal(ScSheetContainer);\n const scSheetRef: ComponentRef<ScSheetContainer> = this._overlayRef.attach(scSheetPortal);\n\n scSheetRef.instance.templateRef.set(templateRef);\n\n this._overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef?.detach();\n this.state.set('closed');\n }\n }\n\n private getOverlayConfig(config: ScSheetConfig): OverlayConfig {\n switch (config.side) {\n case 'top': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().top(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n case 'bottom': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().bottom(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n case 'left': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().left(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n case 'right': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().right(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n\n default: {\n throw new Error('Error in switch case');\n }\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nimport { ScSheetTrigger } from './sheet-trigger';\n\nconst sheetVariants = cva(\n 'relative z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out',\n {\n variants: {\n side: {\n top: 'size-full border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'size-full border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'size-full border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'size-full border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n);\n\nexport type SheetVariants = VariantProps<typeof sheetVariants>;\n\n@Component({\n selector: 'div[sc-sheet]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSheet {\n scSheetTrigger = inject(ScSheetTrigger);\n\n state = computed<'open' | 'closed'>(() => {\n return this.scSheetTrigger.state();\n });\n\n side = computed<'top' | 'bottom' | 'left' | 'right'>(() => {\n return this.scSheetTrigger.side();\n });\n\n class = input<string>('');\n\n classes = computed(() => cn(sheetVariants({ side: this.side() }), this.class()));\n}\n","export class ScSheetConfig {\n side: 'top' | 'bottom' | 'left' | 'right' = 'right';\n width = '100%';\n height = '100%';\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScSheetTrigger } from './sheet-trigger';\n\n@Component({\n selector: 'button[sc-sheet-close]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(click)': 'close()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSheetClose {\n scSheetTrigger = inject(ScSheetTrigger);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n this.class(),\n ),\n );\n\n close() {\n this.scSheetTrigger.close();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'nav[sc-breadcrumb]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[attr.aria-label]': 'ariaLabel',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumb {\n ariaLabel = 'breadcrumb';\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'ol[sc-breadcrumb-list]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbList {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'li[sc-breadcrumb-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbItem {\n class = input<string>('');\n\n classes = computed(() => cn('inline-flex items-center gap-1.5', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'a[sc-breadcrumb-link]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbLink {\n class = input<string>('');\n\n classes = computed(() => cn('transition-colors hover:text-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'span[sc-breadcrumb-page]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'link',\n '[attr.aria-disabled]': 'true',\n '[attr.aria-current]': '\"page\"',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbPage {\n class = input<string>('');\n\n classes = computed(() => cn('font-normal text-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'li[sc-breadcrumb-separator]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'presentation',\n '[attr.aria-hidden]': 'true',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('[&_svg]:w-3.5 [&_svg]:h-3.5', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiEllipsisIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'span[sc-breadcrumb-ellipsis]',\n imports: [SiEllipsisIcon],\n template: `\n <svg class=\"size-4\" si-ellipsis-icon></svg>\n <span class=\"sr-only\">More</span>\n `,\n host: {\n role: 'presentation',\n '[attr.aria-hidden]': 'true',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbEllipsis {\n class = input<string>('');\n\n classes = computed(() => cn('flex h-9 w-9 items-center justify-center', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-toggle-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToggleGroup {\n type = input<'single' | 'multiple'>('single');\n\n class = input<string>('');\n\n _class = computed(() => cn('flex items-center justify-center gap-1', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-toggle-group-item',\n imports: [],\n template: `\n <p>toggle-group-item works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToggleGroupItem {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-dialog-close]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogClose {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-dialog-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogContent {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-dialog-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogDescription {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm text-muted-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-dialog-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogFooter {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-dialog-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogHeader {\n class = input<string>('');\n\n classes = computed(() => cn(' flex flex-col space-y-1.5 text-center sm:text-left', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-dialog-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogTitle {\n class = input<string>('');\n\n classes = computed(() => cn('text-lg font-semibold leading-none tracking-tight', this.class()));\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScDialogClose } from './dialog-close';\nimport { ScDialogContent } from './dialog-content';\nimport { ScDialogDescription } from './dialog-description';\nimport { ScDialogFooter } from './dialog-footer';\nimport { ScDialogHeader } from './dialog-header';\nimport { ScDialogTitle } from './dialog-title';\n\n@Component({\n selector: 'sc-dialog',\n imports: [\n ScDialogHeader,\n ScDialogTitle,\n ScDialogDescription,\n ScDialogFooter,\n ScDialogClose,\n SiXIcon,\n ScDialogContent,\n ScButton,\n ],\n template: `\n <div sc-dialog-content>\n <button (click)=\"dialogRef.close()\" sc-dialog-close>\n <svg class=\"size-4\" si-x-icon></svg>\n <span class=\"sr-only\">Close</span>\n </button>\n\n <div sc-dialog-header>\n <h2 sc-dialog-title>Edit profile</h2>\n\n <p sc-dialog-description>Make changes to your profile here. Click save when you're done.</p>\n </div>\n\n <div sc-dialog-footer>\n <button sc-button type=\"submit\">Save changes</button>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialog {\n dialogRef = inject(DialogRef);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border p-4 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7 [&_svg]:size-4',\n {\n variants: {\n variant: {\n default: 'bg-background text-foreground',\n destructive:\n 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype AlertVariants = VariantProps<typeof alertVariants>;\n\n@Component({\n selector: 'div[sc-alert]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'alert',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlert {\n readonly variant = input<AlertVariants['variant']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(alertVariants({ variant: this.variant() }), this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h5[sc-alert-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('mb-1 font-medium leading-none tracking-tight', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-alert-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-sm [&_p]:leading-relaxed', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-alert-dialog-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-sm text-muted-foreground', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-alert-dialog-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogFooter {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-alert-dialog-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col space-y-2 text-center sm:text-left', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-alert-dialog-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-lg font-semibold', this.classInput()));\n}\n","import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { ScAlertDialogDescription } from './alert-dialog-description';\nimport { ScAlertDialogFooter } from './alert-dialog-footer';\nimport { ScAlertDialogHeader } from './alert-dialog-header';\nimport { ScAlertDialogTitle } from './alert-dialog-title';\n\n@Component({\n selector: 'sc-alert-dialog',\n imports: [\n ScButton,\n ScAlertDialogFooter,\n ScAlertDialogHeader,\n ScAlertDialogDescription,\n ScAlertDialogTitle,\n ],\n template: `\n <div sc-alert-dialog-header>\n <h2 sc-alert-dialog-title>{{ data.title }}</h2>\n\n <p sc-alert-dialog-description>\n {{ data.description }}\n </p>\n </div>\n\n <div sc-alert-dialog-footer>\n <button class=\"mt-2 sm:mt-0\" (click)=\"dialogRef.close(false)\" variant=\"outline\" sc-button>\n Cancel\n </button>\n <button (click)=\"dialogRef.close(true)\" sc-button>{{ data.action }}</button>\n </div>\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialog {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n this.classInput(),\n ),\n );\n\n //TODO make this working\n readonly state = signal<'open' | 'closed'>('closed');\n\n readonly dialogRef = inject(DialogRef);\n readonly data = inject(DIALOG_DATA);\n\n constructor() {\n this.dialogRef.disableClose = true;\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { ScAlertDialog } from './alert-dialog';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScAlertDialogTrigger {\n readonly dialog = inject(Dialog);\n\n async open(title: string, description: string, action: string): Promise<boolean> {\n const dialogRef = this.dialog.open<boolean>(ScAlertDialog, {\n minWidth: '300px',\n data: { title: title, description: description, action: action },\n });\n\n return firstValueFrom(dialogRef.closed).then((result) => {\n console.log('The dialog was closed', result);\n return Promise.resolve(!!result);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-confirmation-dialog-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-sm text-muted-foreground', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-confirmation-dialog-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogFooter {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-confirmation-dialog-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col space-y-2 text-center sm:text-left', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-confirmation-dialog-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-lg font-semibold', this.classInput()));\n}\n","import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { ScConfirmationDialogDescription } from './confirmation-dialog-description';\nimport { ScConfirmationDialogFooter } from './confirmation-dialog-footer';\nimport { ScConfirmationDialogHeader } from './confirmation-dialog-header';\nimport { ScConfirmationDialogTitle } from './confirmation-dialog-title';\n\n@Component({\n selector: 'sc-confirmation-dialog-content',\n imports: [\n ScButton,\n ScConfirmationDialogFooter,\n ScConfirmationDialogHeader,\n ScConfirmationDialogDescription,\n ScConfirmationDialogTitle,\n ],\n template: `\n <div sc-confirmation-dialog-header>\n <h2 sc-confirmation-dialog-title>{{ data.title }}</h2>\n\n <p sc-confirmation-dialog-description>\n {{ data.message }}\n </p>\n </div>\n\n <div sc-confirmation-dialog-footer>\n <button class=\"mt-2 sm:mt-0\" (click)=\"close(false)\" variant=\"outline\" sc-button>\n {{ data.cancelButtonText }}\n </button>\n <button (click)=\"close(true)\" sc-button>{{ data.actionButtonText }}</button>\n </div>\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-state]': 'state()',\n '(animationend)': 'animationend()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogContent implements AfterViewInit {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 sm:rounded-lg',\n this.classInput(),\n ),\n );\n\n private readonly state = signal<'open' | 'closed' | undefined>(undefined);\n private readonly response = signal<boolean>(false);\n private readonly animationEnd = signal<boolean>(false);\n\n readonly dialogRef = inject(DialogRef);\n readonly data = inject(DIALOG_DATA);\n\n constructor() {\n this.dialogRef.disableClose = true;\n\n effect(() => {\n if (this.animationEnd()) {\n this.dialogRef.close(this.response());\n }\n });\n }\n\n ngAfterViewInit() {\n this.state.set('open');\n }\n\n close(b: boolean) {\n this.state.set('closed');\n this.response.set(b);\n }\n\n animationend() {\n if (this.state() === 'closed') {\n this.animationEnd.set(true);\n }\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { ScConfirmationDialogContent } from './confirmation-dialog-content';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScConfirmationDialog {\n readonly dialog = inject(Dialog);\n\n async confirm(\n title: string,\n message: string,\n actionButtonText = 'Continue',\n cancelButtonText = 'Cancel',\n ): Promise<boolean> {\n const dialogRef = this.dialog.open<boolean>(ScConfirmationDialogContent, {\n minWidth: '300px',\n data: {\n title: title,\n message: message,\n actionButtonText: actionButtonText,\n cancelButtonText: cancelButtonText,\n },\n });\n\n return firstValueFrom(dialogRef.closed).then((result) => {\n console.log('The confirmation dialog was closed', result);\n return Promise.resolve(!!result);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n primary: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n },\n);\n\ntype BadgeVariants = VariantProps<typeof badgeVariants>;\n\n@Component({\n selector: 'div[sc-badge]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBadge {\n variant = input<BadgeVariants['variant']>('primary');\n\n class = input<string>('');\n\n classes = computed(() => cn(badgeVariants({ variant: this.variant() }), this.class()));\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-scroll-area]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScScrollArea implements AfterViewInit {\n private readonly host = inject(ElementRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n ngAfterViewInit() {\n const height = this.host.nativeElement.scrollHeight;\n\n console.log(height);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tab',\n imports: [],\n template: `\n <ng-template #label>\n <ng-content select=\"sc-tab-label\" />\n </ng-template>\n\n @if (active()) {\n <ng-content select=\"sc-tab-content\" />\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTab {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n\n active = signal<boolean>(false);\n\n label = viewChild.required<TemplateRef<unknown>>('label');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-tabs-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'tablist',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabsHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground',\n this.classInput(),\n ),\n );\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n afterNextRender,\n computed,\n contentChildren,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScTab } from './tab';\nimport { ScTabsHeader } from './tabs-header';\n\n@Component({\n selector: 'sc-tabs',\n imports: [NgTemplateOutlet, ScTabsHeader],\n template: `\n <div [class]=\"tabsHeaderClass()\" sc-tabs-header>\n @for (tab of tabs(); track tab) {\n <button\n class=\"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\"\n [attr.data-state]=\"tab.active() ? 'active' : ''\"\n (click)=\"selectTab(tab)\"\n >\n <ng-container [ngTemplateOutlet]=\"tab.label()\"></ng-container>\n </button>\n } @empty {\n <p>There are no tabs.</p>\n }\n </div>\n\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabs {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n readonly tabsHeaderClass = input<string>('');\n\n readonly tabs = contentChildren(ScTab, { descendants: true });\n\n constructor() {\n afterNextRender(() => {\n // get all active tabs\n const activeTabs = this.tabs().filter((tab) => tab.active());\n\n if (activeTabs.length > 1) {\n throw new Error('Only one tab can be active');\n }\n\n // if there is no active tab set, activate the first\n if (activeTabs.length === 0) {\n this.selectTab(this.tabs()[0]);\n }\n });\n }\n\n selectTab(tab: ScTab) {\n // deactivate all tabs\n this.tabs().forEach((tab) => tab.active.set(false));\n\n // activate the tab the user has clicked on.\n tab.active.set(true);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tab-label',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabLabel {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tab-content',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabContent {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'block mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-tab-content2',\n imports: [],\n template: `\n <ng-template #template>\n <ng-content />\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabContent2 {\n readonly template = viewChild.required<TemplateRef<unknown>>('template');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-tab-label2',\n imports: [],\n template: `\n <ng-template #template>\n <ng-content />\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [],\n})\nexport class ScTabLabel2 {\n readonly template = viewChild.required<TemplateRef<unknown>>('template');\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n contentChildren,\n} from '@angular/core';\n\nimport { ScTabContent2 } from './tab-content';\nimport { ScTabLabel2 } from './tab-label';\n\n@Component({\n selector: 'sc-tab-group',\n imports: [NgTemplateOutlet],\n template: `\n <div class=\"group relative my-4 flex flex-col space-y-2\">\n <div class=\"relative mr-auto w-full\" dir=\"ltr\" data-orientation=\"horizontal\">\n <div class=\"flex items-center justify-between pb-3\">\n <div\n class=\"inline-flex h-9 w-full items-center justify-start rounded-none border-b bg-transparent p-0 text-muted-foreground\"\n style=\"outline: none;\"\n tabindex=\"0\"\n data-orientation=\"horizontal\"\n >\n @for (tab of tabLabels(); track tab) {\n <ng-container [ngTemplateOutlet]=\"tab.template()\"></ng-container>\n }\n </div>\n </div>\n <div\n class=\"relative mt-2 rounded-md border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\n id=\"radix-:r17g:-content-preview\"\n style=\"animation-duration: 0s;\"\n tabindex=\"0\"\n data-state=\"active\"\n data-orientation=\"horizontal\"\n >\n <div class=\"theme-zinc w-full\" style=\"--radius: 0.5rem;\">\n <div class=\"preview flex min-h-[350px] w-full items-center justify-center p-10\">\n <div\n class=\"relative h-72 w-48 overflow-hidden rounded-md border\"\n dir=\"ltr\"\n style=\"position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;\"\n >\n <div\n class=\"size-full rounded-[inherit]\"\n style=\"overflow: hidden scroll;\"\n data-radix-scroll-area-viewport=\"\"\n >\n @for (content of tabContents(); track content) {\n <ng-container [ngTemplateOutlet]=\"content.template()\"></ng-container>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content />\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabGroup implements AfterViewInit {\n readonly tabLabels = contentChildren(ScTabLabel2, { descendants: true });\n\n readonly tabContents = contentChildren(ScTabContent2, { descendants: true });\n\n ngAfterViewInit() {\n console.log(this.tabLabels());\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-tab-item',\n imports: [],\n template: `\n <ng-content />\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabItem {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'border bg-background text-foreground',\n destructive:\n 'destructive group border-destructive bg-destructive text-destructive-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype ToastVariants = VariantProps<typeof toastVariants>;\n\n@Component({\n selector: 'li[sc-toast]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToast {\n variant = input<ToastVariants['variant']>('default');\n\n class = input<string>('');\n\n classes = computed(() => cn(toastVariants({ variant: this.variant() }), this.class()));\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, inject } from '@angular/core';\n\nimport { ScToast } from './toast';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Toaster {\n private overlayRef: OverlayRef;\n overlay = inject(Overlay);\n\n constructor() {\n // Initialize an overlay and define a relative position\n // Change this to control where your toaster should appear\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n positionStrategy: this.overlay.position().global().top('20px').right('20px'),\n });\n }\n\n toast(message: string): void {\n // Create a Portal instance of our `NotificationComponent`\n const notificationPortal = new ComponentPortal(ScToast);\n // Attach our `NotificationComponent` to the Overlay Portal\n // const notificationRef: ComponentRef<Toaster> = this.overlayRef.attach(notificationPortal);\n // Now we can access the component instance\n // and we can pass input for the `message` prop we created.\n // notificationRef.instance.message = message;\n\n // Set a timeout to detach our component from the overlay\n // after 3000 milliseconds\n setTimeout(() => {\n this.overlayRef.detach();\n }, 3000);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-toast-action]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastAction {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-toast-close]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastClose {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-toast-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastContent {\n class = input<string>('');\n\n classes = computed(() => cn('grid gap-1', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-toast-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastDescription {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm opacity-90', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-toast-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastTitle {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm font-semibold', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToast } from './toast';\nimport { ScToastAction } from './toast-action';\nimport { ScToastClose } from './toast-close';\nimport { ScToastContent } from './toast-content';\nimport { ScToastDescription } from './toast-description';\nimport { ScToastTitle } from './toast-title';\n\n@Component({\n selector: 'sc-toast-example',\n imports: [\n ScToastClose,\n SiXIcon,\n ScToastAction,\n ScToastDescription,\n ScToastTitle,\n ScToast,\n ScToastContent,\n ],\n template: `\n <!--\n <ol\n class=\"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\"\n tabindex=\"-1\"\n >\n\n -->\n <li\n sc-toast\n role=\"status\"\n aria-live=\"off\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n data-state=\"open\"\n data-swipe-direction=\"right\"\n data-radix-collection-item=\"\"\n style=\"user-select: none; touch-action: none;\"\n >\n <div sc-toast-content>\n <h2 sc-toast-title>Scheduled: Catch up</h2>\n <p sc-toast-description>Friday, February 10, 2023 at 5:57 PM</p>\n </div>\n <button sc-toast-action type=\"button\">Undo</button>\n <button type=\"button\" sc-toast-close>\n <svg class=\"size-4\" si-x-icon></svg>\n <span class=\"sr-only\">Close</span>\n </button>\n </li>\n\n <!--\n </ol>\n\n-->\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastExample {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'input[sc-slider]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(input)': 'handleInput($event)',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSlider {\n private readonly host = inject(ElementRef);\n\n class = input<string>('');\n\n trackClass = signal(\n '[&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full',\n );\n\n thumbClass = signal(\n '[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:-mt-1.5 [&::-moz-range-thumb]:border-none [&::-moz-range-thumb]:rounded-none [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-primary',\n );\n\n classes = computed(() =>\n cn(\n 'appearance-none bg-transparent w-full rounded-full h-2',\n this.trackClass(),\n this.thumbClass(),\n this.class(),\n ),\n );\n\n value = model<number>(0);\n min = input<number>(0);\n max = input<number>(100);\n\n constructor() {\n effect(() => {\n const progress = (this.value() / this.max()) * 100;\n this.host.nativeElement.style.background = `linear-gradient(to right, hsl(var(--primary)) ${progress}%, #ccc ${progress}%)`;\n });\n\n afterNextRender(() => {\n if (this.host.nativeElement.value > 0) {\n this.value.set(this.host.nativeElement.value);\n }\n });\n }\n\n handleInput(event: KeyboardEvent) {\n if (!event.target) return;\n this.value.set(+(event.target as HTMLInputElement).value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport EmblaCarousel, {\n EmblaCarouselType,\n EmblaOptionsType,\n EmblaPluginType,\n} from 'embla-carousel';\n\n@Component({\n selector: 'div[sc-carousel]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'region',\n 'aria-roledescription': 'carousel',\n '[class]': 'class()',\n '(keydown)': 'handleKeydown($event)',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarousel {\n private readonly emblaNode = inject(ElementRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('overflow-hidden', this.classInput()));\n\n readonly options = input<EmblaOptionsType>({ loop: false });\n\n readonly plugins = input<EmblaPluginType[]>([]);\n\n readonly canScrollPrev = signal(false);\n\n readonly canScrollNext = signal(false);\n\n private emblaApi!: EmblaCarouselType;\n\n get carouselApi() {\n return this.emblaApi;\n }\n\n readonly orientation = computed<'horizontal' | 'vertical'>(() => {\n return this.options()?.axis === 'y' ? 'vertical' : 'horizontal';\n });\n\n constructor() {\n afterNextRender(() => {\n this.emblaApi = EmblaCarousel(this.emblaNode.nativeElement, this.options(), this.plugins());\n\n this.emblaApi\n .on('select', this.togglePrevNextBtnsState)\n .on('init', this.togglePrevNextBtnsState)\n .on('reInit', this.togglePrevNextBtnsState);\n });\n }\n\n togglePrevNextBtnsState = (): void => {\n if (this.emblaApi.canScrollPrev()) {\n this.canScrollPrev.set(true);\n } else {\n this.canScrollPrev.set(false);\n }\n\n if (this.emblaApi.canScrollNext()) {\n this.canScrollNext.set(true);\n } else {\n this.canScrollNext.set(false);\n }\n };\n\n handleKeydown(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.scrollNext();\n }\n }\n\n private scrollPrev() {\n this.emblaApi.scrollPrev();\n }\n\n private scrollNext() {\n this.emblaApi.scrollNext();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-carousel-container]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselContainer {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('relative', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'div[sc-carousel-items]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselItems {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'flex',\n this.scCarousel.orientation() === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'div[sc-carousel-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'group',\n 'aria-roledescription': 'slide',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselItem {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n this.scCarousel.orientation() === 'horizontal' ? 'pl-4' : 'pt-4',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ButtonVariants, buttonVariants } from '../button';\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'button[sc-carousel-previous]',\n imports: [],\n template: `\n <ng-content />\n <span class=\"sr-only\">Previous slide</span>\n `,\n host: {\n '[class]': 'class()',\n '[disabled]': 'disabled()',\n '(click)': 'scrollPrev()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselPrevious {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly variant = input<ButtonVariants['variant']>('primary');\n\n readonly size = input<ButtonVariants['size']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n buttonVariants({ variant: this.variant(), size: this.size() }),\n 'absolute h-8 w-8 rounded-full',\n this.scCarousel.orientation() === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n this.classInput(),\n ),\n );\n\n protected readonly disabled = computed(() => {\n return !this.scCarousel.canScrollPrev();\n });\n\n protected scrollPrev() {\n this.scCarousel.carouselApi.scrollPrev();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ButtonVariants, buttonVariants } from '../button';\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'button[sc-carousel-next]',\n imports: [],\n template: `\n <ng-content />\n <span class=\"sr-only\">Next slide</span>\n `,\n host: {\n '[class]': 'class()',\n '[disabled]': 'disabled()',\n '(click)': 'scrollNext()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselNext {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly variant = input<ButtonVariants['variant']>('primary');\n\n readonly size = input<ButtonVariants['size']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n buttonVariants({ variant: this.variant(), size: this.size() }),\n 'absolute h-8 w-8 rounded-full',\n this.scCarousel.orientation() === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n this.classInput(),\n ),\n );\n\n protected readonly disabled = computed(() => {\n return !this.scCarousel.canScrollNext();\n });\n\n protected scrollNext() {\n this.scCarousel.carouselApi.scrollNext();\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon, SiMinusIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-checkbox',\n imports: [SiCheckIcon, SiMinusIcon],\n template: `\n <div [class]=\"wrapperClass()\">\n <input\n [id]=\"id()\"\n [attr.aria-label]=\"ariaLabel()\"\n [class]=\"checkboxClass()\"\n [disabled]=\"disabled()\"\n [checked]=\"checked()\"\n [attr.data-state]=\"state()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"toggle()\"\n type=\"checkbox\"\n />\n\n @if (indeterminate()) {\n <svg [class]=\"svgClass()\" si-minus-icon></svg>\n } @else if (checked()) {\n <svg [class]=\"svgClass()\" si-check-icon></svg>\n }\n </div>\n\n <label [class]=\"labelClass()\" [for]=\"id()\">\n <ng-content />\n </label>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScCheckbox),\n multi: true,\n },\n ],\n})\nexport class ScCheckbox implements ControlValueAccessor {\n protected readonly id = signal<string>(inject(_IdGenerator).getId('sc-checkbox-'));\n\n private readonly hostRef = inject(ElementRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('flex items-center space-x-2', this.classInput()));\n\n readonly wrapperClassInput = input<string>('', {\n alias: 'wrapperClass',\n });\n\n protected readonly wrapperClass = computed(() => cn('relative size-4', this.wrapperClassInput()));\n\n readonly checkboxClassInput = input<string>('', {\n alias: 'checkboxClass',\n });\n\n protected readonly checkboxClass = computed(() =>\n cn(\n 'peer appearance-none absolute top-0 left-0 size-full shrink-0 cursor-pointer rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground',\n this.checkboxClassInput(),\n ),\n );\n\n readonly svgClassInput = input<string>('', {\n alias: 'svgClass',\n });\n\n protected readonly svgClass = computed(() =>\n cn(\n 'absolute top-0 left-0 size-full outline-none cursor-pointer pointer-events-none text-primary-foreground',\n this.svgClassInput(),\n ),\n );\n\n readonly labelClassInput = input<string>('', {\n alias: 'labelClass',\n });\n\n protected readonly labelClass = computed(() =>\n cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n this.labelClassInput(),\n ),\n );\n\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n readonly indeterminateInput = input<boolean, unknown>(false, {\n alias: 'indeterminate',\n transform: booleanAttribute,\n });\n protected readonly indeterminate = linkedSignal(() => this.indeterminateInput());\n\n readonly checkedInput = input<boolean, unknown>(false, {\n alias: 'checked',\n transform: booleanAttribute,\n });\n protected readonly checked = linkedSignal(() => this.checkedInput());\n readonly checkedChange = output<boolean>();\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n protected readonly disabled = linkedSignal(() => this.disabledInput());\n\n protected readonly state = computed<'indeterminate' | 'checked' | 'unchecked'>(() => {\n if (this.indeterminate()) {\n return 'indeterminate';\n }\n\n if (this.checked()) {\n return 'checked';\n }\n\n return 'unchecked';\n });\n\n constructor() {\n effect(() => {\n this.hostRef.nativeElement.indeterminate = this.indeterminate();\n });\n\n effect(() => {\n this.checkedChange.emit(this.checked());\n });\n }\n\n protected toggle() {\n if (this.disabled()) {\n return;\n }\n\n const v = !this.checked();\n this.checked.set(v);\n\n if (this.indeterminate()) {\n this.indeterminate.set(false);\n }\n\n this.onChange(v);\n this.changeDetectorRef.markForCheck();\n }\n\n writeValue(checked: boolean): void {\n this.checked.set(checked);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n protected onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n}\n","import { CdkListbox } from '@angular/cdk/listbox';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-checkbox-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CdkListbox,\n inputs: [\n 'cdkListboxDisabled: disabled',\n 'cdkListboxMultiple: multiple',\n // 'cdkListboxValue: value',\n ],\n // outputs: ['cdkListboxValueChange: valueChange'],\n },\n ],\n})\nexport class ScCheckboxGroup {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('space-y-2', this.classInput()));\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n protected readonly multiple = signal(true);\n\n // readonly value = model<unknown>(undefined);\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport { CdkOption } from '@angular/cdk/listbox';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n linkedSignal,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-checkbox-item',\n imports: [SiCheckIcon],\n template: `\n <input\n [checked]=\"checked()\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n type=\"checkbox\"\n value=\"on\"\n style=\"transform: translateX(-100%); position: absolute; pointer-events: none; opacity: 0; margin: 0px; width: 16px; height: 16px;\"\n />\n <label\n class=\"text-sm font-normal leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n [for]=\"id()\"\n >\n {{ label() }}\n </label>\n <button\n class=\"peer size-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\"\n [id]=\"id()\"\n [attr.data-state]=\"state()\"\n [attr.aria-checked]=\"state() === 'checked' ? 'true' : 'false'\"\n type=\"button\"\n role=\"checkbox\"\n value=\"on\"\n aria-describedby=\":rce:-form-item-description\"\n aria-invalid=\"false\"\n >\n @if (checked()) {\n <span\n class=\"pointer-events-none flex items-center justify-center text-current\"\n [attr.data-state]=\"state()\"\n >\n <svg class=\"size-4\" si-check-icon></svg>\n </span>\n }\n </button>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: ['cdkOption: value', 'cdkOptionDisabled: disabled'],\n },\n ],\n})\nexport class ScCheckboxItem implements OnInit {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly id = signal<string>(inject(_IdGenerator).getId('sc-checkbox-item-'));\n\n private readonly cdkOption = inject(CdkOption);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-row items-start space-x-3 space-y-0', this.classInput()),\n );\n\n readonly value = input.required<string>();\n readonly label = input.required<string>();\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n protected readonly disabled = linkedSignal(() => this.disabledInput());\n\n protected readonly checked = linkedSignal(() => this.cdkOption.isSelected());\n\n protected readonly state = computed<'checked' | 'unchecked'>(() => {\n if (this.checked()) {\n return 'checked';\n }\n\n return 'unchecked';\n });\n\n ngOnInit() {\n this.cdkOption._clicked.subscribe(() => {\n this.changeDetectorRef.markForCheck();\n this.checked.set(this.cdkOption.isSelected());\n });\n }\n}\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-accordion',\n imports: [CdkAccordionModule],\n template: `\n <cdk-accordion>\n <ng-content />\n </cdk-accordion>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordion {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h3[sc-accordion-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionHeader {\n class = input<string>('');\n\n classes = computed(() => cn('flex', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-accordion-trigger]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionTrigger {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180',\n this.class(),\n ),\n );\n}\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiChevronDownIcon, SiChevronUpIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScAccordionHeader } from './accordion-header';\nimport { ScAccordionTrigger } from './accordion-trigger';\n\n@Component({\n selector: 'sc-accordion-item',\n imports: [\n CdkAccordionModule,\n SiChevronDownIcon,\n SiChevronUpIcon,\n ScAccordionHeader,\n ScAccordionTrigger,\n ],\n template: `\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\">\n <h3 sc-accordion-header>\n <button (click)=\"accordionItem.toggle()\" sc-accordion-trigger type=\"button\">\n <ng-content select=\"sc-accordion-item-description\" />\n\n @if (accordionItem.expanded) {\n <svg class=\"size-4 shrink-0 transition-transform duration-200\" si-chevron-up-icon></svg>\n } @else {\n <svg\n class=\"size-4 shrink-0 transition-transform duration-200\"\n si-chevron-down-icon\n ></svg>\n }\n </button>\n </h3>\n\n @if (accordionItem.expanded) {\n <ng-content select=\"sc-accordion-content\" />\n }\n </cdk-accordion-item>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionItem {\n class = input<string>('');\n\n classes = computed(() => cn('border-b', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-accordion-content',\n imports: [],\n template: `\n <div class=\"pb-4 pt-0\">\n <ng-content />\n </div>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionContent {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-accordion-item-description',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionItemDescription {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScLabel } from '../label';\n\n@Component({\n selector: 'sc-switch',\n imports: [ScLabel],\n template: `\n <div class=\"relative inline-block h-6 w-11\">\n <input\n [class]=\"classes()\"\n [id]=\"id()\"\n [checked]=\"checked()\"\n [attr.data-state]=\"state()\"\n type=\"checkbox\"\n role=\"switch\"\n />\n <span\n class=\"pointer-events-none absolute left-0 top-0 mt-0.5 block size-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n [attr.data-state]=\"state()\"\n ></span>\n </div>\n\n <label [for]=\"id()\" sc-label><ng-content /></label>\n `,\n host: {\n '[class]': 'hostClasses()',\n '(click)': 'toggle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScSwitch),\n multi: true,\n },\n ],\n})\nexport class ScSwitch implements ControlValueAccessor {\n private readonly _cdr = inject(ChangeDetectorRef);\n\n hostClass = input<string>('');\n\n hostClasses = computed(() => cn('flex items-center space-x-2', this.hostClass()));\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'peer appearance-none inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input',\n this.class(),\n ),\n );\n\n id = input('');\n\n checked = model<BooleanInput>(false);\n\n disabled = model<BooleanInput>(false);\n\n state = computed(() => {\n return this.checked() ? 'checked' : 'unchecked';\n });\n\n constructor() {\n effect(() => {\n if (this.checked() !== true && this.checked() !== false) {\n this.checked.update((v) => coerceBooleanProperty(v));\n }\n\n if (this.disabled() !== true && this.disabled() !== false) {\n this.disabled.update((v) => coerceBooleanProperty(v));\n }\n });\n }\n\n toggle() {\n if (this.disabled()) {\n return;\n }\n\n const v = !this.checked();\n this.checked.set(v);\n\n this.onChange(v);\n this._cdr.markForCheck();\n }\n\n writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-radio-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScRadioGroup),\n multi: true,\n },\n ],\n})\nexport class ScRadioGroup implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('grid gap-2', this.classInput()));\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly disabled = linkedSignal(() => this.disabledInput());\n\n readonly name = input<string>('');\n\n readonly value = model<string | undefined>(undefined);\n\n setValue(newValue: string) {\n this.value.set(newValue);\n this.onChange(newValue);\n this.changeDetectorRef.markForCheck();\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCircleIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScRadioGroup } from './radio-group';\n\n@Component({\n selector: 'sc-radio-item',\n imports: [SiCircleIcon],\n template: `\n <div class=\"grid grid-cols-[1fr]\">\n <input\n [id]=\"id()\"\n [class]=\"inputClass()\"\n [disabled]=\"disabled()\"\n [name]=\"name()\"\n (click)=\"select()\"\n type=\"radio\"\n />\n\n @if (checked() === true) {\n <span [class]=\"svgWrapperClass()\">\n <svg [class]=\"svgClass()\" si-circle-icon></svg>\n </span>\n }\n </div>\n\n <label [for]=\"id()\" sc-label><ng-content /></label>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScRadioItem {\n protected readonly id = signal<string>(inject(_IdGenerator).getId('sc-radio-item-'));\n\n private readonly scRadioGroup = inject(ScRadioGroup, { host: true });\n\n protected readonly name = computed(() => {\n return this.scRadioGroup.name();\n });\n\n readonly value = input.required<string>();\n\n protected readonly checked = computed(() => {\n return this.value() === this.scRadioGroup.value();\n });\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly disabled = computed(() => this.disabledInput() || this.scRadioGroup.disabled());\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('flex items-center space-x-2', this.classInput()));\n\n readonly inputClassInput = input<string>('');\n protected readonly inputClass = computed(() =>\n cn(\n 'row-start-1 col-start-1',\n 'appearance-none aspect-square h-4 w-4 rounded-full cursor-pointer border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n this.inputClassInput(),\n ),\n );\n\n protected readonly svgWrapperClass = input<string>(\n 'row-start-1 col-start-1 h-4 w-4 flex items-center justify-center pointer-events-none',\n );\n\n readonly svgClassInput = input<string>('');\n protected readonly svgClass = computed(() =>\n cn('h-2.5 w-2.5 fill-primary text-primary pointer-events-none', this.svgClassInput()),\n );\n\n protected select() {\n if (this.disabled()) {\n return;\n }\n\n this.scRadioGroup.setValue(this.value());\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-hover-card',\n imports: [NgTemplateOutlet],\n template: `\n @if (templateRef()) {\n <ng-container *ngTemplateOutlet=\"templateRef()\"></ng-container>\n }\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScHoverCard {\n readonly templateRef = input<TemplateRef<unknown> | null>(null);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n this.classInput(),\n ),\n );\n}\n","import { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n} from '@angular/core';\n\nimport { ScHoverCard } from './hover-card';\n\n@Directive({\n selector: '[scHoverCardTriggerFor]',\n host: {\n '(mouseover)': 'showCard()',\n '(focus)': 'showCard()',\n '(mouseleave)': 'hideCard()',\n '(blur)': 'hideCard()',\n },\n})\nexport class ScHoverCardTriggerFor implements OnDestroy {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly viewContainer = inject(ViewContainerRef);\n\n readonly scHoverCardTriggerFor = input.required<TemplateRef<unknown>>();\n\n private overlayRef: OverlayRef | null = null;\n\n showCard(): void {\n if (this.overlayRef?.hasAttached() === true) {\n return;\n }\n\n this.attachTooltip();\n }\n\n hideCard(): void {\n if (this.overlayRef?.hasAttached() === true) {\n this.overlayRef?.detach();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n private attachTooltip(): void {\n if (this.overlayRef === null) {\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n const componentPortal = new ComponentPortal(ScHoverCard, this.viewContainer);\n\n const componentRef: ComponentRef<ScHoverCard> = this.overlayRef.attach(componentPortal);\n\n componentRef.setInput('templateRef', this.scHoverCardTriggerFor());\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.element)\n .withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n ]);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-avatar-fallback]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAvatarFallback {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex h-full w-full items-center justify-center rounded-full bg-muted', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'img[sc-avatar-image]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(load)': 'handleLoad()',\n '(error)': 'handleError()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAvatarImage {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'aspect-square h-full w-full',\n this.state() === 'loading' && 'invisible h-0 w-0',\n this.state() === 'error' && 'hidden',\n this.class(),\n ),\n );\n\n state = signal<'loading' | 'loaded' | 'error'>('loading');\n\n handleLoad() {\n this.state.set('loaded');\n }\n\n handleError() {\n this.state.set('error');\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScAvatarFallback } from './avatar-fallback';\nimport { ScAvatarImage } from './avatar-image';\n\n@Component({\n selector: 'sc-avatar',\n imports: [ScAvatarImage, ScAvatarFallback],\n template: `\n <img [alt]=\"alt()\" [src]=\"src()\" sc-avatar-image />\n <div sc-avatar-fallback>{{ fallback() }}</div>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAvatar {\n class = input<string>('');\n\n classes = computed(() =>\n cn('relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full', this.class()),\n );\n\n src = input.required<string>();\n alt = input<string>('');\n fallback = input<string>('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-aspect-ratio',\n //TODO don't work with preview image\n // imports: [NgOptimizedImage],\n imports: [],\n template: `\n <div [class]=\"wrapperClass()\" [style]=\"wrapperStyle()\">\n @if (priority()) {\n <img\n [class]=\"imageClasses()\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n [style]=\"imageStyle()\"\n fill\n priority\n />\n } @else {\n <img [class]=\"imageClasses()\" [src]=\"src()\" [alt]=\"alt()\" [style]=\"imageStyle()\" fill />\n }\n </div>\n `,\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAspectRatio {\n imageClass = input<string>('');\n\n imageClasses = computed(() => cn('h-full w-full rounded-md object-cover', this.imageClass()));\n\n imageStyle = signal(\n 'position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;',\n );\n\n hostClass = input<string>('');\n\n hostClasses = computed(() => cn('h-full w-full rounded-md object-cover', this.hostClass()));\n\n hostStyle = computed(() => {\n const parts = this.ratio()\n .split('/')\n .map((s) => +s);\n\n const paddingBottom = (parts[1] / parts[0]) * 100;\n\n return `position: relative; width: 100%; padding-bottom: ${paddingBottom}%;`;\n });\n\n wrapperClass = input<string>('');\n\n wrapperStyle = signal('position: absolute; inset: 0px;');\n\n ratio = input<string>('1 / 1');\n src = input.required<string>();\n alt = input<string>('');\n\n priority = input<boolean, unknown>(false, { transform: booleanAttribute });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-skeleton]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSkeleton {\n class = input<string>('');\n\n classes = computed(() => cn('animate-pulse rounded-md bg-muted', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'table[sc-table]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTable {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('w-full caption-bottom text-sm', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-table-container]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableContainer {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('relative w-full overflow-auto', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'thead[sc-table-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('[&_tr]:border-b', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'tbody[sc-table-body]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableBody {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('[&_tr:last-child]:border-0', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'tfoot[sc-table-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableFooter {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'th[sc-table-head]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableHead {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'tr[sc-table-row]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableRow {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'td[sc-table-cell]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableCell {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('p-4 align-middle [&:has([role=checkbox])]:pr-0', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'caption[sc-table-caption]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableCaption {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('mt-4 text-sm text-muted-foreground', this.classInput()),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-data-table',\n imports: [],\n template: `\n <p>data-table works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDataTable {}\n","import { CdkContextMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, TemplateRef, input } from '@angular/core';\n\n@Directive({\n selector: '[scContextMenuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkContextMenuTrigger,\n inputs: ['cdkContextMenuTriggerFor: scContextMenuTriggerFor'],\n },\n ],\n})\nexport class ScContextMenuTriggerFor {\n readonly scContextMenuTriggerFor = input.required<TemplateRef<unknown>>();\n}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu-bar]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuBar],\n})\nexport class ScMenuBar {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex h-10 items-center space-x-1 rounded-md border bg-background p-1', this.class()),\n );\n}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-menu-bar-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuItem],\n})\nexport class ScMenuBarItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommand {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiSearchIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-command-input',\n imports: [SiSearchIcon],\n template: `\n <svg class=\"mr-2 size-4 shrink-0 opacity-50\" si-search-icon></svg>\n <input\n class=\"flex h-12 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n [placeholder]=\"placeholder()\"\n />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandInput {\n class = input<string>('');\n\n classes = computed(() => cn('flex items-center border-b px-3', this.class()));\n\n placeholder = input('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-list',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandList {\n class = input<string>('');\n\n classes = computed(() =>\n cn('block max-h-[300px] overflow-y-auto overflow-x-hidden', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-empty',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandEmpty {\n class = input<string>('');\n\n classes = computed(() => cn('block py-6 text-center text-sm', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-group-heading',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandGroupHeading {\n class = input<string>('');\n\n classes = computed(() =>\n cn('block px-2 font-medium text-muted-foreground py-1.5 text-xs', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCommandGroupHeading } from './command-group-heading';\n\n@Component({\n selector: 'sc-command-group',\n imports: [ScCommandGroupHeading],\n template: `\n <sc-command-group-heading>{{ heading() }}</sc-command-group-heading>\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandGroup {\n class = input<string>('');\n\n classes = computed(() => cn('block overflow-hidden p-1 text-foreground px-2', this.class()));\n\n heading = input('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-item',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-disabled]': 'disabled()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n this.class(),\n ),\n );\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-shortcut',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandShortcut {\n class = input<string>('');\n\n classes = computed(() =>\n cn('block ml-auto text-xs tracking-widest text-muted-foreground', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-separator',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('block -mx-1 h-px bg-border', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCommand } from './command';\n\n@Component({\n selector: 'sc-command-dialog',\n imports: [ScCommand],\n template: `\n <sc-command class=\"\">\n <ng-content />\n </sc-command>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandDialog {\n class = input<string>('');\n\n classes = computed(() => cn('block overflow-hidden p-0 shadow-lg', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-error',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandError {\n class = input<string>('');\n\n classes = computed(() => cn('block py-6 text-center text-sm', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-loading',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandLoading {\n class = input<string>('');\n\n classes = computed(() => cn('block py-6 text-center text-sm', this.class()));\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class ScCollapsibleState implements OnDestroy {\n isToggled = new Subject<void>();\n\n ngOnDestroy(): void {\n this.isToggled.complete();\n }\n}\n","import { CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCollapsibleState } from './collapsible-state';\n\n@Component({\n selector: 'sc-collapsible',\n imports: [CdkAccordionModule],\n template: `\n <cdk-accordion>\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\">\n <ng-content />\n\n @if (accordionItem.expanded) {\n <ng-content select=\"sc-collapsible-content\" />\n }\n </cdk-accordion-item>\n </cdk-accordion>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [ScCollapsibleState],\n})\nexport class ScCollapsible {\n state = inject(ScCollapsibleState);\n\n class = input<string>('');\n\n classes = computed(() => cn('block', this.class()));\n\n accordionItem = viewChild.required<CdkAccordionItem>('accordionItem');\n\n constructor() {\n this.state.isToggled.pipe(takeUntilDestroyed()).subscribe(() => {\n this.accordionItem().toggle();\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCollapsibleState } from './collapsible-state';\n\n@Component({\n selector: 'sc-collapsible-trigger',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(click)': 'toggle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCollapsibleTrigger {\n state = inject(ScCollapsibleState);\n\n class = input<string>('');\n\n classes = computed(() => cn('block', this.class()));\n\n toggle() {\n this.state.isToggled.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-collapsible-content',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCollapsibleContent {\n class = input<string>('');\n\n classes = computed(() => cn('block mt-2', this.class()));\n}\n","export const SIDEBAR_WIDTH = '16rem';\nexport const SIDEBAR_WIDTH_MOBILE = '18rem';\nexport const SIDEBAR_WIDTH_ICON = '3rem';\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ScSidebarState {\n open = signal(true);\n openMobile = signal(false);\n isMobile = signal(false);\n\n // Helper to toggle the sidebar.\n toggleSidebar() {\n return this.isMobile()\n ? this.openMobile.update((open) => !open)\n : this.open.update((open) => !open);\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScButton } from '../button';\nimport { ScSidebarState } from './sidebar-state';\n\n@Component({\n selector: 'sc-sidebar-toggler',\n imports: [ScButton],\n template: `\n <button\n class=\"size-7\"\n (click)=\"toggleSidebar()\"\n sc-button\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n >\n <ng-content />\n <span class=\"sr-only\">Toggle Sidebar</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarToggler {\n sidebarState = inject(ScSidebarState);\n toggleSidebar() {\n this.sidebarState.toggleSidebar();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { SIDEBAR_WIDTH_MOBILE } from './constants';\nimport { ScSidebarState } from './sidebar-state';\nimport { ScSidebarToggler } from './sidebar-toggler';\n\n@Component({\n selector: 'sc-sidebar-mobile',\n imports: [ScSidebarToggler, SiXIcon],\n template: `\n <div class=\"flex size-full flex-col\">\n <sc-sidebar-toggler class=\"absolute right-1 top-1\">\n <svg si-x-icon></svg>\n </sc-sidebar-toggler>\n\n <br />\n <br />\n open : {{ sidebarState.open() }}\n <br />\n openMobile : {{ sidebarState.openMobile() }}\n <br />\n isMobile : {{ sidebarState.isMobile() }}\n\n <ng-content />\n </div>\n `,\n host: {\n '[class]': 'classes()',\n '[style]': 'styles()',\n '[attr.data-sidebar]': '\"sidebar\"',\n '[attr.data-mobile]': '\"true\"',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarMobile {\n sidebarState = inject(ScSidebarState);\n\n styles = signal(`--sidebar-width: ${SIDEBAR_WIDTH_MOBILE};`);\n\n side = input.required<'left' | 'right'>();\n openMobile = computed(() => this.sidebarState.openMobile());\n\n state = computed<'open' | 'closed'>(() => {\n return this.openMobile() ? 'open' : 'closed';\n });\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute top-0 h-full bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out',\n this.openMobile() && 'w-[--sidebar-width]',\n !this.openMobile() && 'w-0 overflow-hidden',\n this.side() === 'left' &&\n 'left-0 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left',\n this.side() === 'right' &&\n 'right-0 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',\n this.class(),\n ),\n );\n}\n","import { BreakpointObserver, LayoutModule } from '@angular/cdk/layout';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScSidebarMobile } from './sidebar-mobile';\nimport { ScSidebarState } from './sidebar-state';\n\n@Component({\n selector: 'sc-sidebar',\n imports: [LayoutModule, NgTemplateOutlet, ScSidebarMobile],\n template: `\n <ng-template #sc_sidebar_content>\n <ng-content />\n </ng-template>\n\n @if (collapsible() === 'none') {\n <div class=\"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\">\n <ng-container *ngTemplateOutlet=\"sc_sidebar_content\" />\n </div>\n } @else if (isMobile()) {\n <sc-sidebar-mobile [side]=\"side()\">\n <ng-container *ngTemplateOutlet=\"sc_sidebar_content\" />\n </sc-sidebar-mobile>\n } @else {\n <div\n class=\"group peer hidden text-sidebar-foreground md:block\"\n [attr.data-state]=\"state()\"\n [attr.data-collapsible]=\"state() === 'collapsed' ? collapsible() : ''\"\n [attr.data-variant]=\"variant()\"\n [attr.data-side]=\"side()\"\n >\n <!-- This is what handles the sidebar gap on desktop -->\n <div [class]=\"classes1()\"></div>\n <div [class]=\"classes2()\">\n <div\n class=\"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n data-sidebar=\"sidebar\"\n >\n <ng-container *ngTemplateOutlet=\"sc_sidebar_content\" />\n </div>\n </div>\n </div>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebar {\n private readonly observer = inject(BreakpointObserver);\n\n sidebarState = inject(ScSidebarState);\n\n class = input<string>('');\n\n classes = computed(() => cn('block relative', this.class()));\n\n side = input<'left' | 'right'>('left');\n variant = input<'sidebar' | 'floating' | 'inset'>('sidebar');\n collapsible = input<'offcanvas' | 'icon' | 'none'>('offcanvas');\n\n isMobile = computed(() => this.sidebarState.isMobile());\n openMobile = computed(() => this.sidebarState.openMobile());\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n state = computed(() => (this.sidebarState.open() ? 'expanded' : 'collapsed'));\n\n classes1 = signal(\n cn(\n 'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n this.variant() === 'floating' || this.variant() === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',\n ),\n );\n\n classes2 = signal(\n cn(\n 'duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex',\n this.side() === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n this.variant() === 'floating' || this.variant() === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\n ),\n );\n\n constructor() {\n this.observer.observe('(max-width: 768px)').subscribe((result) => {\n this.sidebarState.isMobile.set(result.matches);\n\n if (!result.matches && this.openMobile()) {\n this.sidebarState.openMobile.set(false);\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { scOverlayClasses } from '../overlay';\nimport { SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON } from './constants';\nimport { ScSidebarState } from './sidebar-state';\n\n@Component({\n selector: 'sc-sidebar-provider',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[style]': 'styles()',\n '[attr.data-state]': 'stateMobile()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [],\n})\nexport class ScSidebarProvider {\n sidebarState = inject(ScSidebarState);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar',\n this.sidebarState.openMobile() && scOverlayClasses(),\n this.class(),\n ),\n );\n\n styles = signal(\n `--sidebar-width: ${SIDEBAR_WIDTH}; --sidebar-width-icon: ${SIDEBAR_WIDTH_ICON};`,\n );\n\n stateMobile = computed<'open' | 'closed'>(() => {\n return this.sidebarState.openMobile() ? 'open' : 'closed';\n });\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScAutocompleteModel } from './autocomplete-model';\n\n@Component({\n selector: 'sc-autocomplete-item',\n imports: [SiCheckIcon],\n template: `\n <ng-content />\n\n @if (isSelected()) {\n <svg class=\"ml-auto\" si-check-icon></svg>\n }\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-disabled]': '_disabled()',\n '[attr.data-selected]': '_isActive()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAutocompleteItem implements Highlightable {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none hover:bg-accent hover:text-accent-foreground data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n this.class(),\n ),\n );\n\n readonly _disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n item = input.required<ScAutocompleteModel>();\n\n selectedItem = input<ScAutocompleteModel | undefined>(undefined);\n\n isSelected = computed(() => {\n return this.item().id === this.selectedItem()?.id;\n });\n\n private readonly _isActive = signal(false);\n\n disabled: boolean | undefined;\n\n getLabel?(): string {\n return this.item.name;\n }\n\n setActiveStyles(): void {\n this._isActive.set(true);\n }\n\n setInactiveStyles(): void {\n this._isActive.set(false);\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { ENTER } from '@angular/cdk/keycodes';\nimport { JsonPipe } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n viewChildren,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { debounceTime } from 'rxjs';\n\nimport { ScInput } from '../input';\nimport { ScAutocompleteItem } from './autocomplete-item';\nimport { ScAutocompleteModel } from './autocomplete-model';\n\n@Component({\n selector: 'sc-autocomplete',\n imports: [ScInput, ScAutocompleteItem, ReactiveFormsModule, JsonPipe],\n template: `\n <!--sc-autocomplete-input /-->\n\n <input\n [formControl]=\"searchControl\"\n (keyup)=\"onKeydown($event)\"\n sc-input\n placeholder=\"Search...\"\n />\n\n @for (item of filteredItems(); track $index) {\n <sc-autocomplete-item [item]=\"item\" [selectedItem]=\"selectedItem()\">\n {{ item.label }}\n </sc-autocomplete-item>\n }\n\n <br />\n <br />\n <br />\n <br />\n\n selectedItem : {{ selectedItem() | json }}\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAutocomplete implements AfterViewInit {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n this.class(),\n ),\n );\n\n items = signal<ScAutocompleteModel[]>([\n {\n id: '5b902934d965e7501f4e1c6f',\n label: 'Caroline Hodges',\n },\n {\n id: '5b9029348f7eed8b6f5f02db',\n label: 'Delores Rivas',\n },\n {\n id: '5b9029346f48c8407c64d0d5',\n label: 'Darlene Franklin',\n },\n {\n id: '5b9029341eff315fa87f9e21',\n label: 'Alfreda Love',\n },\n {\n id: '5b9029342e8917c6ccdb9865',\n label: 'Marcy Ratliff',\n },\n {\n id: '5b9029349dbb48013460e01f',\n label: 'Beulah Nielsen',\n },\n {\n id: '5b902934f4f1586e5e72d74a',\n label: 'Morton Kerr',\n },\n {\n id: '5b9029347918bb204bf7014e',\n label: 'Autumn Tillman',\n },\n {\n id: '5b902934b86f80e1fc60c626',\n label: 'Diane Bennett',\n },\n {\n id: '5b9029348999f59215020349',\n label: 'June Eaton',\n },\n ]);\n\n searchControl = new FormControl();\n\n input = toSignal(this.searchControl.valueChanges.pipe(debounceTime(300)));\n\n filteredItems = computed(() => {\n if (!this.input()) {\n return this.items();\n }\n return this.items().filter(\n (item) => item.label.toLowerCase().indexOf(this.input().toLowerCase()) !== -1,\n );\n });\n\n selectedItem = signal<ScAutocompleteModel | undefined>(undefined);\n\n readonly viewItems = viewChildren(ScAutocompleteItem);\n\n private keyManager!: ActiveDescendantKeyManager<ScAutocompleteItem>;\n\n ngAfterViewInit() {\n this.keyManager = new ActiveDescendantKeyManager(this.viewItems()).withWrap().withTypeAhead();\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.keyCode === ENTER) {\n this.selectedItem.set(\n this.keyManager.activeItem ? this.keyManager.activeItem.item() : undefined,\n );\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n}\n","import { Highlightable, _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-time-option',\n imports: [SiCheckIcon],\n template: `\n @if (_selected()) {\n <svg class=\"absolute left-2 flex size-4 items-center justify-center\" si-check-icon></svg>\n }\n\n <ng-content />\n `,\n host: {\n '[id]': 'id()',\n '[class]': '_class()',\n '[attr.data-disabled]': '_disabled()',\n '(mouseover)': 'setActiveStyles()',\n '(mouseleave)': 'setInactiveStyles()',\n '(click)': 'onClick()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTimeOption implements Highlightable {\n /** The unique ID of the option. */\n id = signal<string>(inject(_IdGenerator).getId('sc-time-option-'));\n\n class = input<string>('');\n\n _class = computed(() =>\n cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this._active() && 'bg-accent text-accent-foreground',\n\n this.class(),\n ),\n );\n\n _active = signal(false);\n _selected = signal(false);\n\n readonly _disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n\n readonly _disabled = computed(() => this._disabledByInput() || booleanAttribute(this.disabled));\n\n value = input<string>();\n\n setActiveStyles(): void {\n this._active.set(true);\n }\n\n setInactiveStyles(): void {\n this._active.set(false);\n }\n\n disabled: boolean | undefined;\n\n getLabel?(): string {\n return this.value() ?? '';\n }\n\n private readonly _element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n /** Selects the option. */\n select(): void {\n if (!this._selected()) {\n this._selected.set(true);\n }\n }\n\n /** Deselects the option. */\n deselect(): void {\n if (this._selected()) {\n this._selected.set(false);\n }\n }\n\n onClick() {\n if (this._selected()) {\n this._selected.set(false);\n } else {\n this.selected.emit(this.value());\n this._selected.set(true);\n }\n }\n\n selected = output<string | undefined>();\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { scInputStyles } from '../input';\n\n@Directive({\n selector: '[scTimePickerInput]',\n host: {\n '[class]': 'classes()',\n },\n})\nexport class ScTimePickerInput {\n class = input<string>('');\n classes = computed(() => cn(scInputStyles(), this.class()));\n}\n","import { ActiveDescendantKeyManager, _IdGenerator } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ENTER, ESCAPE, TAB, hasModifierKey } from '@angular/cdk/keycodes';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterRenderRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n InputSignal,\n OnDestroy,\n OutputEmitterRef,\n Signal,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n viewChild,\n viewChildren,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiClockIcon } from '@semantic-icons/lucide-icons';\nimport { Subscription } from 'rxjs';\n\nimport { ScSettings } from '../../utils';\nimport { ScButton } from '../button';\nimport { ScTimeOption } from './time-option';\nimport { ScTimePickerInput } from './time-picker-input';\n\n/**\n * Time selection option that can be displayed within a `mat-timepicker`.\n */\nexport interface MatTimepickerOption<D = unknown> {\n /** Date value of the option. */\n value: D;\n\n /** Label to show to the user. */\n label: string;\n}\n\n/** Event emitted when a value is selected in the timepicker. */\nexport interface MatTimepickerSelected<D> {\n value: D;\n}\n\n@Component({\n selector: 'sc-time-picker',\n imports: [SiClockIcon, ScButton, ScTimeOption, ScTimePickerInput],\n template: `\n <button class=\"absolute inset-y-0 end-0 pe-4\" (click)=\"open()\" sc-button variant=\"ghost\">\n <svg si-clock-icon></svg>\n </button>\n <input #input scTimePickerInput type=\"text\" placeholder=\"hh:mm\" />\n\n <ng-template #panelTemplate>\n <div\n class=\"relative z-50 max-h-96 w-full min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"_getAriaLabelledby()\"\n [id]=\"panelId\"\n role=\"listbox\"\n >\n @for (option of _timeOptions; track option.value) {\n <sc-time-option [value]=\"option.value\" (selected)=\"_selectValue(option.value)\">\n {{ option.label }}\n </sc-time-option>\n }\n </div>\n </ng-template>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTimePicker implements OnDestroy {\n settings = inject(ScSettings);\n\n clock = input<'am-pm' | '24-hour' | undefined>(undefined);\n\n _clock = computed(() => {\n if (this.clock() !== undefined) {\n return this.clock();\n }\n\n return this.settings.clock();\n });\n\n class = input<string>('');\n classes = computed(() => cn('flex relative', this.class()));\n\n private readonly _overlay = inject(Overlay);\n private readonly _dir = inject(Directionality, { optional: true });\n private readonly _viewContainerRef = inject(ViewContainerRef);\n private readonly _injector = inject(Injector);\n // private _defaultConfig = inject(MAT_TIMEPICKER_CONFIG, { optional: true });\n // private _dateAdapter = inject<DateAdapter<D>>(DateAdapter, { optional: true })!;\n // private _dateFormats = inject(MAT_DATE_FORMATS, { optional: true })!;\n\n private readonly _isOpen = signal(false);\n private readonly _activeDescendant = signal<string | null>(null);\n\n private readonly _input = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n private _overlayRef: OverlayRef | null = null;\n private _portal: TemplatePortal<unknown> | null = null;\n private readonly _optionsCacheKey: string | null = null;\n private readonly _localeChanges!: Subscription;\n private _onOpenRender: AfterRenderRef | null = null;\n\n protected _panelTemplate = viewChild.required<TemplateRef<unknown>>('panelTemplate');\n protected _timeOptions: readonly MatTimepickerOption<string>[] = [];\n protected _options = viewChildren(ScTimeOption);\n\n private readonly _keyManager = new ActiveDescendantKeyManager(this._options, this._injector)\n .withHomeAndEnd(true)\n .withPageUpDown(true)\n .withVerticalOrientation(true);\n\n /**\n * Interval between each option in the timepicker. The value can either be an amount of\n * seconds (e.g. 90) or a number with a unit (e.g. 45m). Supported units are `s` for seconds,\n * `m` for minutes or `h` for hours.\n */\n // readonly interval: InputSignalWithTransform<number | null, number | string | null> = input(\n // parseInterval(this._defaultConfig?.interval || null),\n // { transform: parseInterval },\n // );\n\n /**\n * Array of pre-defined options that the user can select from, as an alternative to using the\n * `interval` input. An error will be thrown if both `options` and `interval` are specified.\n */\n readonly options: InputSignal<readonly MatTimepickerOption<string>[] | null> = input<\n readonly MatTimepickerOption<string>[] | null\n >(null);\n\n /** Whether the timepicker is open. */\n readonly isOpen: Signal<boolean> = this._isOpen.asReadonly();\n\n /** Emits when the user selects a time. */\n readonly selected: OutputEmitterRef<MatTimepickerSelected<string>> = output();\n\n /** Emits when the timepicker is opened. */\n readonly opened: OutputEmitterRef<void> = output();\n\n /** Emits when the timepicker is closed. */\n readonly closed: OutputEmitterRef<void> = output();\n\n /** ID of the active descendant option. */\n readonly activeDescendant: Signal<string | null> = this._activeDescendant.asReadonly();\n\n /** Unique ID of the timepicker's panel */\n readonly panelId: string = inject(_IdGenerator).getId('sc-time-picker-panel-');\n\n /** Whether ripples within the timepicker should be disabled. */\n // readonly disableRipple: InputSignalWithTransform<boolean, unknown> = input(\n // this._defaultConfig?.disableRipple ?? false,\n // {\n // transform: booleanAttribute,\n // },\n // );\n\n /** ARIA label for the timepicker panel. */\n readonly ariaLabel: InputSignal<string | null> = input<string | null>(null, {\n alias: 'aria-label',\n });\n\n /** ID of the label element for the timepicker panel. */\n readonly ariaLabelledby: InputSignal<string | null> = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n\n /** Whether the timepicker is currently disabled. */\n readonly disabled: Signal<boolean> = computed(() => !!this._input().nativeElement?.disabled);\n\n constructor() {\n // if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // validateAdapter(this._dateAdapter, this._dateFormats);\n\n effect(() => {\n const options = this.options();\n // const interval = this.interval();\n\n // if (options !== null && interval !== null) {\n // throw new Error(\n // 'Cannot specify both the `options` and `interval` inputs at the same time',\n // );\n // } else if (options?.length === 0) {\n // throw new Error('Value of `options` input cannot be an empty array');\n // }\n });\n // }\n\n // Since the panel ID is static, we can set it once without having to maintain a host binding.\n const element = inject<ElementRef<HTMLElement>>(ElementRef);\n element.nativeElement.setAttribute('sc-time-picker-panel-id', this.panelId);\n this._handleLocaleChanges();\n this._handleInputStateChanges();\n this._keyManager.change.subscribe(() =>\n this._activeDescendant.set(this._keyManager.activeItem?.id() || null),\n );\n }\n\n /** Opens the timepicker. */\n open(): void {\n const input = this._input();\n\n if (!input) {\n return;\n }\n\n // Focus should already be on the input, but this call is in case the timepicker is opened\n // programmatically. We need to call this even if the timepicker is already open, because\n // the user might be clicking the toggle.\n input.nativeElement.focus();\n\n if (this._isOpen()) {\n return;\n }\n\n this._isOpen.set(true);\n this._generateOptions();\n const overlayRef = this._getOverlayRef();\n overlayRef.updateSize({ width: input.nativeElement.offsetWidth });\n\n this._portal ??= new TemplatePortal(this._panelTemplate(), this._viewContainerRef);\n overlayRef.attach(this._portal);\n this._onOpenRender?.destroy();\n this._onOpenRender = afterNextRender(\n () => {\n const options = this._options();\n this._syncSelectedState(input.nativeElement?.value, options, options[0]);\n this._onOpenRender = null;\n },\n { injector: this._injector },\n );\n\n this.opened.emit();\n }\n\n /** Closes the timepicker. */\n close(): void {\n if (this._isOpen()) {\n this._isOpen.set(false);\n this._overlayRef?.detach();\n this.closed.emit();\n }\n }\n\n /** Registers an input with the timepicker. */\n // registerInput(input: MatTimepickerInput<D>): void {\n // const currentInput = this._input();\n\n // if (currentInput && input !== currentInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n // throw new Error('MatTimepicker can only be registered with one input at a time');\n // }\n\n // this._input.set(input);\n // }\n\n ngOnDestroy(): void {\n this._keyManager.destroy();\n this._localeChanges.unsubscribe();\n this._onOpenRender?.destroy();\n this._overlayRef?.dispose();\n }\n\n /** Selects a specific time value. */\n protected _selectValue(value: string) {\n //TODO\n this._input().nativeElement.value = value;\n\n this.close();\n this.selected.emit({ value });\n this._input().nativeElement?.focus();\n }\n\n /** Gets the value of the `aria-labelledby` attribute. */\n protected _getAriaLabelledby(): string | null {\n if (this.ariaLabel()) {\n return null;\n }\n return this.ariaLabelledby() || null;\n }\n\n /** Creates an overlay reference for the timepicker panel. */\n private _getOverlayRef(): OverlayRef {\n if (this._overlayRef) {\n return this._overlayRef;\n }\n\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._input())\n .withFlexibleDimensions(false)\n .withPush(false)\n // .withTransformOriginOn('.mat-timepicker-panel')\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n // panelClass: 'mat-timepicker-above',\n },\n ]);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._dir || 'ltr',\n hasBackdrop: false,\n });\n\n this._overlayRef.keydownEvents().subscribe((event) => {\n this._handleKeydown(event);\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n const target = _getEventTarget(event) as HTMLElement;\n const origin = this._input().nativeElement;\n\n if (target && origin && target !== origin && !origin.contains(target)) {\n this.close();\n }\n });\n\n return this._overlayRef;\n }\n\n /** Generates the list of options from which the user can select.. */\n private _generateOptions(): void {\n // Default the interval to 30 minutes.\n\n this._timeOptions = [\n { value: '1', label: '1' },\n { value: '2', label: '2' },\n { value: '3', label: '3' },\n { value: '4', label: '4' },\n { value: '5', label: '5' },\n { value: '6', label: '6' },\n { value: '7', label: '7' },\n { value: '8', label: '8' },\n { value: '9', label: '9' },\n\n { value: '10', label: '10' },\n { value: '20', label: '20' },\n { value: '30', label: '30' },\n { value: '40', label: '40' },\n { value: '50', label: '50' },\n { value: '60', label: '60' },\n { value: '70', label: '70' },\n { value: '80', label: '80' },\n { value: '90', label: '90' },\n\n { value: '21', label: '21' },\n { value: '31', label: '31' },\n { value: '41', label: '41' },\n { value: '51', label: '51' },\n { value: '61', label: '61' },\n { value: '71', label: '71' },\n { value: '81', label: '81' },\n { value: '91', label: '91' },\n ];\n }\n\n /**\n * Synchronizes the internal state of the component based on a specific selected date.\n * @param value Currently selected date.\n * @param options Options rendered out in the timepicker.\n * @param fallback Option to set as active if no option is selected.\n */\n private _syncSelectedState(\n value: string | null,\n options: readonly ScTimeOption[],\n fallback: ScTimeOption | null,\n ): void {\n let hasSelected = false;\n\n for (const option of options) {\n if (value && option.value() === value) {\n option.select();\n scrollOptionIntoView(option, 'center');\n untracked(() => this._keyManager.setActiveItem(option));\n hasSelected = true;\n } else {\n option.deselect();\n }\n }\n\n // If no option was selected, we need to reset the key manager since\n // it might be holding onto an option that no longer exists.\n if (!hasSelected) {\n if (fallback) {\n untracked(() => this._keyManager.setActiveItem(fallback));\n scrollOptionIntoView(fallback, 'center');\n } else {\n untracked(() => this._keyManager.setActiveItem(-1));\n }\n }\n }\n\n /** Handles keyboard events while the overlay is open. */\n private _handleKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n\n if (keyCode === TAB) {\n this.close();\n } else if (keyCode === ESCAPE && !hasModifierKey(event)) {\n event.preventDefault();\n this.close();\n } else if (keyCode === ENTER) {\n event.preventDefault();\n\n if (this._keyManager.activeItem) {\n this._selectValue(this._keyManager.activeItem.value() ?? '');\n } else {\n this.close();\n }\n } else {\n const previousActive = this._keyManager.activeItem;\n this._keyManager.onKeydown(event);\n const currentActive = this._keyManager.activeItem;\n\n if (currentActive && currentActive !== previousActive) {\n scrollOptionIntoView(currentActive, 'nearest');\n }\n }\n }\n\n /** Sets up the logic that updates the timepicker when the locale changes. */\n private _handleLocaleChanges(): void {\n // Re-generate the options list if the locale changes.\n // this._localeChanges = this._dateAdapter.localeChanges.subscribe(() => {\n // this._optionsCacheKey = null;\n // if (this.isOpen()) {\n // this._generateOptions();\n // }\n // });\n }\n\n /**\n * Sets up the logic that updates the timepicker when the state of the connected input changes.\n */\n private _handleInputStateChanges(): void {\n effect(() => {\n const input = this._input();\n const options = this._options();\n\n if (this._isOpen() && input) {\n this._syncSelectedState(input.nativeElement.value, options, null);\n }\n });\n }\n}\n\n/**\n * Scrolls an option into view.\n * @param option Option to be scrolled into view.\n * @param position Position to which to align the option relative to the scrollable container.\n */\nfunction scrollOptionIntoView(option: ScTimeOption, position: ScrollLogicalPosition) {\n option._getHostElement().scrollIntoView({ block: position, inline: position });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnInit,\n Output,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-time-picker2',\n imports: [],\n template: `\n <div class=\"relative\">\n <!-- Time Input Field -->\n <input\n class=\"w-full cursor-pointer rounded-lg border px-4 py-2 shadow-sm focus:border-blue-500 focus:ring-2 focus:ring-blue-500\"\n [value]=\"formatTime(selectedHour, selectedMinute, selectedPeriod)\"\n (click)=\"toggleDropdown()\"\n type=\"text\"\n readonly\n placeholder=\"Select time\"\n />\n\n <!-- Dropdown Panel -->\n @if (isOpen) {\n <div class=\"absolute z-50 mt-1 w-64 rounded-lg border bg-white shadow-lg\">\n <!-- Time Selection Grid -->\n <div class=\"p-4\">\n <!-- Hour Selection -->\n <div class=\"mb-4\">\n <span class=\"mb-2 block text-sm font-medium text-gray-700\">Hour</span>\n <div class=\"grid grid-cols-4 gap-2\">\n @for (hour of hours; track hour) {\n <button\n [class]=\"\n 'px-2 py-1 text-sm rounded-md ' +\n (selectedHour === hour ? 'bg-blue-500 text-white' : 'hover:bg-gray-100')\n \"\n (click)=\"selectHour(hour)\"\n >\n {{ hour }}\n </button>\n }\n </div>\n </div>\n <!-- Minute Selection -->\n <div class=\"mb-4\">\n <span class=\"mb-2 block text-sm font-medium text-gray-700\">Minute</span>\n <div class=\"grid grid-cols-4 gap-2\">\n @for (minute of minutes; track minute) {\n <button\n [class]=\"\n 'px-2 py-1 text-sm rounded-md ' +\n (selectedMinute === minute ? 'bg-blue-500 text-white' : 'hover:bg-gray-100')\n \"\n (click)=\"selectMinute(minute)\"\n >\n {{ minute.toString().padStart(2, '0') }}\n </button>\n }\n </div>\n </div>\n <!-- AM/PM Selection -->\n <div>\n <span class=\"mb-2 block text-sm font-medium text-gray-700\">Period</span>\n <div class=\"grid grid-cols-2 gap-2\">\n @for (period of periods; track period) {\n <button\n [class]=\"\n 'px-4 py-2 text-sm rounded-md ' +\n (selectedPeriod === period ? 'bg-blue-500 text-white' : 'hover:bg-gray-100')\n \"\n (click)=\"selectPeriod(period)\"\n >\n {{ period }}\n </button>\n }\n </div>\n </div>\n </div>\n <!-- Done Button -->\n <div class=\"border-t p-4\">\n <button\n class=\"w-full rounded-md bg-blue-500 px-4 py-2 text-white transition-colors hover:bg-blue-600\"\n (click)=\"confirmSelection()\"\n >\n Done\n </button>\n </div>\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTimePicker2 implements OnInit {\n readonly initialTime = input<string>();\n @Output() timeSelected = new EventEmitter<string>();\n\n isOpen = false;\n hours = Array.from({ length: 12 }, (_, i) => i + 1);\n minutes = Array.from({ length: 12 }, (_, i) => i * 5);\n periods = ['AM', 'PM'];\n\n selectedHour = 12;\n selectedMinute = 0;\n selectedPeriod = 'AM';\n\n ngOnInit() {\n const initialTime = this.initialTime();\n if (initialTime) {\n this.parseInitialTime(initialTime);\n }\n }\n\n parseInitialTime(time: string) {\n const [timeStr, period] = time.split(' ');\n const [hours, minutes] = timeStr.split(':').map(Number);\n\n this.selectedHour = hours % 12 || 12;\n this.selectedMinute = minutes;\n this.selectedPeriod = period;\n }\n\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n }\n\n selectHour(hour: number) {\n this.selectedHour = hour;\n }\n\n selectMinute(minute: number) {\n this.selectedMinute = minute;\n }\n\n selectPeriod(period: string) {\n this.selectedPeriod = period;\n }\n\n formatTime(hour: number, minute: number, period: string): string {\n return `${hour}:${minute.toString().padStart(2, '0')} ${period}`;\n }\n\n confirmSelection() {\n const formattedTime = this.formatTime(\n this.selectedHour,\n this.selectedMinute,\n this.selectedPeriod,\n );\n this.timeSelected.emit(formattedTime);\n this.isOpen = false;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'img[sc-image]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScImage {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() => cn('', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScInput } from '../input';\nimport { ScLabel } from '../label';\nimport { ScImage } from './image';\n\n@Component({\n selector: 'sc-file-upload',\n imports: [ScLabel, ScInput, ScImage],\n template: `\n <div class=\"grid w-full max-w-sm items-center gap-1.5\">\n <label sc-label for=\"picture\">Picture</label>\n <input id=\"picture\" (change)=\"handleFileChange($event)\" sc-input type=\"file\" />\n @if (selectedFile()) {\n <div class=\"mt-2\">\n <img\n class=\"rounded-md\"\n [src]=\"selectedFile()\"\n sc-image\n alt=\"Preview\"\n width=\"500\"\n height=\"500\"\n />\n </div>\n }\n </div>\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileUpload {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() => cn('', this.class()));\n\n selectedFile = signal<unknown>(undefined);\n\n handleFileChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n console.log(files);\n\n const file = files[0];\n if (file) {\n const reader = new FileReader();\n reader.onloadend = () => {\n this.selectedFile.set(reader.result);\n };\n reader.readAsDataURL(file);\n }\n }\n}\n","import { Directive, computed, input, signal } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Directive({\n selector: '[scDropZone]',\n exportAs: 'scDropZone',\n host: {\n '[class]': '_class()',\n '(dragover)': 'handleDragOver($event)',\n '(dragleave)': 'handleDragLeave($event)',\n },\n})\nexport class ScDropZone {\n readonly isDragActive = signal(false);\n\n readonly isDisabled = input(false);\n\n readonly class = input<string>('');\n\n protected readonly _class = computed(() =>\n cn(\n 'group relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-2.5 text-center transition hover:bg-muted/25',\n 'ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n this.isDragActive() && 'border-muted-foreground/50',\n this.isDisabled() && 'pointer-events-none opacity-60',\n this.class(),\n ),\n );\n\n handleDragOver(event: DragEvent) {\n if (this.isDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n this.isDragActive.set(true);\n }\n }\n\n handleDragLeave(event: DragEvent) {\n if (this.isDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n this.isDragActive.set(false);\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nimport { SiFileTextIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScFile } from './file';\n\n@Component({\n selector: 'sc-file-preview',\n imports: [SiFileTextIcon],\n template: `\n @if (file().file.type.startsWith('image/')) {\n <img\n class=\"aspect-square shrink-0 rounded-md object-cover\"\n [src]=\"file().preview\"\n [alt]=\"file().file.name\"\n width=\"48\"\n height=\"48\"\n loading=\"lazy\"\n />\n } @else {\n <svg class=\"size-10 text-muted-foreground\" si-file-text-icon aria-hidden=\"true\"></svg>\n }\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFilePreview {\n file = input.required<ScFile>();\n}\n","export function formatBytes(\n bytes: number,\n opts: {\n decimals?: number;\n sizeType?: 'accurate' | 'normal';\n } = {},\n) {\n const { decimals = 0, sizeType = 'normal' } = opts;\n\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n const accurateSizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB'];\n if (bytes === 0) return '0 Byte';\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(decimals)} ${\n sizeType === 'accurate' ? (accurateSizes[i] ?? 'Bytes') : (sizes[i] ?? 'Bytes')\n }`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n output,\n} from '@angular/core';\n\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScProgress } from '../progress';\nimport { ScFile } from './file';\nimport { ScFilePreview } from './file-preview';\nimport { formatBytes } from './utils';\n\n@Component({\n selector: 'sc-file-card',\n imports: [SiXIcon, ScButton, ScFilePreview, ScProgress],\n template: `\n <div class=\"relative flex items-center gap-2.5\">\n <div class=\"flex flex-1 gap-2.5\">\n @if (file().preview) {\n <sc-file-preview [file]=\"file()\" />\n }\n\n <div class=\"flex w-full flex-col gap-2\">\n <div class=\"flex flex-col gap-px\">\n <p class=\"line-clamp-1 text-sm font-medium text-foreground/80\">\n {{ file().file.name }}\n </p>\n <p class=\"text-xs text-muted-foreground\">\n {{ formatedSize() }}\n </p>\n </div>\n\n @let p = progress();\n @if (p) {\n <sc-progress [value]=\"p\" />\n }\n </div>\n </div>\n <div class=\"flex items-center gap-2\">\n <button\n class=\"size-7\"\n (click)=\"remove()\"\n sc-button\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n >\n <svg class=\"size-4\" si-x-icon aria-hidden=\"true\"></svg>\n <span class=\"sr-only\">Remove file</span>\n </button>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileCard {\n index = input.required<number>();\n file = input.required<ScFile>();\n progress = input<number | undefined>(undefined);\n removed = output<number>();\n formatedSize = computed(() => formatBytes(this.file().file.size));\n\n remove() {\n this.removed.emit(this.index());\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiUploadIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScDropZone } from './drop-zone';\nimport { ScFile } from './file';\nimport { ScFileCard } from './file-card';\nimport { formatBytes } from './utils';\n\n@Component({\n selector: 'sc-file-uploader',\n imports: [SiUploadIcon, ScFileCard, ScDropZone],\n template: `\n <!-- Dropzone -->\n <div #scDropZone=\"scDropZone\" scDropZone>\n <input\n class=\"absolute left-0 top-0 size-full cursor-pointer opacity-0\"\n [multiple]=\"multiple()\"\n (change)=\"handleFileChange($event)\"\n accept=\"image/*\"\n tabindex=\"-1\"\n type=\"file\"\n />\n\n @if (scDropZone.isDragActive()) {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <p class=\"font-medium text-muted-foreground\">Drop the files here</p>\n </div>\n } @else {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <div class=\"flex flex-col gap-px\">\n <p class=\"font-medium text-muted-foreground\">\n Drag 'n' drop your files here, or click to select files\n </p>\n <p class=\"text-sm text-muted-foreground/70\">You can upload {{ uploadInfo() }}</p>\n </div>\n </div>\n }\n </div>\n <!-- fin Dropzone -->\n\n <div class=\"h-fit w-full px-3\">\n <div class=\"flex max-h-48 flex-col gap-4\">\n @for (file of files(); track $index; let index = $index) {\n <sc-file-card\n [file]=\"file\"\n [index]=\"index\"\n [progress]=\"progresses()?.[file.file.name]\"\n (removed)=\"onRemove($event)\"\n />\n }\n </div>\n </div>\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileUploader {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() =>\n cn('relative flex flex-col gap-6 overflow-hidden', this.class()),\n );\n\n maxSize = input<number>(1024 * 1024 * 2);\n maxFiles = input<number>(1);\n files = signal<ScFile[]>([]);\n\n multiple = computed(() => this.maxFiles() > 1);\n\n progresses = input<Record<string, number>>();\n\n uploadInfo() {\n return this.maxFiles() > 1\n ? ` ${this.maxFiles()} files (up to ${formatBytes(this.maxSize())} each)`\n : ` a file with ${formatBytes(this.maxSize())}`;\n }\n\n onRemove(index: number) {\n if (!this.files) return;\n this.files.update((files) => files.filter((_, i) => i !== index));\n }\n\n handleFileChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n\n const acceptedFiles = Array.from(files);\n\n acceptedFiles.forEach((file) => {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const scFile: ScFile = { file: file, preview: reader.result };\n\n this.files.update((files) => [...files, scFile]);\n };\n reader.readAsDataURL(file);\n });\n }\n}\n","import { HttpEventType, HttpResponse } from '@angular/common/http';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n linkedSignal,\n signal,\n} from '@angular/core';\n\nimport { DataService } from '@semantic-components/supabase';\nimport { cn } from '@semantic-components/utils';\nimport { SiUploadIcon } from '@semantic-icons/lucide-icons';\nimport { catchError, throwError } from 'rxjs';\n\nimport { ScAspectRatio } from '../aspect-ratio';\nimport { ScButton } from '../button';\nimport { ScProgress } from '../progress';\nimport { ScDropZone } from './drop-zone';\nimport { formatBytes } from './utils';\n\n@Component({\n selector: 'sc-single-file-uploader',\n imports: [ScProgress, SiUploadIcon, ScDropZone, ScButton, ScAspectRatio],\n template: `\n @if (!fileUrl()) {\n <!-- Dropzone -->\n <div #scDropZone=\"scDropZone\" scDropZone>\n <input\n class=\"absolute left-0 top-0 size-full cursor-pointer opacity-0\"\n (change)=\"handleFileChange($event)\"\n accept=\"image/*\"\n tabindex=\"-1\"\n type=\"file\"\n />\n\n @if (scDropZone.isDragActive()) {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <p class=\"font-medium text-muted-foreground\">Drop the files here</p>\n </div>\n } @else {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <div class=\"flex flex-col gap-px\">\n <p class=\"font-medium text-muted-foreground\">\n Drag 'n' drop your files here, or click to select files\n </p>\n <p class=\"text-sm text-muted-foreground/70\">You can upload {{ uploadInfo() }}</p>\n </div>\n </div>\n }\n </div>\n <!-- fin Dropzone -->\n }\n\n <!-- Start Preview Image -->\n @if (fileUrl()) {\n <sc-aspect-ratio [src]=\"fileUrl() ?? ''\" ratio=\"16 / 9\" alt=\"\" />\n\n <p>{{ file()?.name }}</p>\n\n <sc-progress [value]=\"uploadProgress()\" />\n\n <div class=\"flex justify-start gap-3\">\n <button\n [disabled]=\"status() === 'uploading'\"\n (click)=\"removeFile()\"\n sc-button\n variant=\"destructive\"\n type=\"button\"\n >\n Remove\n </button>\n\n @if (status() === 'init' || status() === 'error') {\n <button\n [disabled]=\"status() === 'uploading'\"\n (click)=\"uploadFile()\"\n sc-button\n variant=\"primary\"\n type=\"button\"\n >\n Upload\n </button>\n }\n\n @if (status() === 'uploading') {\n <button sc-button variant=\"secondary\" type=\"button\">Cancel</button>\n }\n </div>\n }\n <!-- End Preview Image -->\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSingleFileUploader {\n dataService = inject(DataService);\n\n readonly class = input<string>('');\n\n protected readonly _class = computed(() =>\n cn('relative flex flex-col gap-6 overflow-hidden', this.class()),\n );\n\n file = signal<File | null | undefined>(undefined);\n fileUrl = computed<string | null | undefined>(() => {\n const file = this.file();\n if (file) {\n return URL.createObjectURL(file);\n }\n\n // return null or undefined\n return file;\n });\n\n status = linkedSignal<File | null | undefined, 'init' | 'uploading' | 'success' | 'error'>({\n source: this.file,\n computation: () => {\n return 'init';\n },\n });\n\n uploadProgress = signal(0);\n\n maxSize = input<number>(1024 * 1024 * 2);\n\n uploadInfo() {\n return ` a file with ${formatBytes(this.maxSize())}`;\n }\n\n handleFileChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n const file = files[0];\n\n this.file.set(file);\n }\n\n removeFile() {\n this.file.set(null);\n }\n\n uploadFile(): void {\n const file = this.file();\n\n if (!file) {\n //TODO add message error\n return;\n }\n\n this.status.set('uploading');\n\n this.dataService\n .uploadFile(file)\n\n .pipe(\n catchError((error) => {\n this.status.set('error');\n // Quality control catches the problem\n console.error('Delivery problem:', error);\n // Send an apology note or fix the issue\n return throwError(() => new Error('Oops! Something went wrong. Please try again later.'));\n }),\n )\n .subscribe((event) => {\n if (event.type === HttpEventType.UploadProgress) {\n if (event.total) {\n this.uploadProgress.set(Math.round((100 * event.loaded) / event.total));\n } else {\n console.warn('event.total is undefined');\n }\n } else if (event instanceof HttpResponse) {\n this.uploadProgress.set(100);\n this.status.set('success');\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h1[sc-page-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('scroll-m-20 text-3xl font-bold tracking-tight', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-page-subtitle]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageSubtitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'font-heading mt-12 scroll-m-20 border-b pb-2 text-2xl font-semibold tracking-tight first:mt-0',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-page-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('text-base text-muted-foreground', this.classInput()),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-section',\n imports: [],\n template: `\n <p>section works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Section {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, signal } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCookieIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\n\n@Component({\n selector: 'sc-cookie-consent',\n imports: [SiCookieIcon, ScButton],\n template: `\n <div [class]=\"class()\">\n <div class=\"m-3 rounded-lg border border-border bg-background dark:bg-card\">\n <div class=\"flex items-center justify-between p-3\">\n <h1 class=\"text-lg font-medium\">We use cookies</h1>\n <svg class=\"size-[1.2rem]\" si-cookie-icon></svg>\n </div>\n <div class=\"-mt-2 p-3\">\n <p class=\"text-left text-sm text-muted-foreground\">\n We use cookies to ensure you get the best experience on our website. For more\n information on how we use cookies, please see our cookie policy.\n </p>\n </div>\n <div class=\"mt-2 flex items-center gap-2 border-t p-3\">\n <button class=\"h-9 w-full rounded-full\" (click)=\"accept()\" sc-button>accept</button>\n <button class=\"h-9 w-full rounded-full\" (click)=\"decline()\" sc-button variant=\"outline\">\n decline\n </button>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCookieConsent {\n open = signal(true);\n\n hidden = signal(false);\n\n class = signal(\n cn(\n 'fixed z-[200] bottom-0 left-0 right-0 sm:left-4 sm:bottom-4 w-full sm:max-w-md duration-700',\n !this.open()\n ? 'transition-[opacity,transform] translate-y-8 opacity-0'\n : 'transition-[opacity,transform] translate-y-0 opacity-100',\n this.hidden() && 'hidden',\n ),\n );\n\n accept() {\n console.log('accept');\n }\n\n decline() {\n console.log('decline');\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nimport { ScCommentModel } from './comment-model';\n\n@Component({\n selector: 'sc-comment',\n imports: [DatePipe],\n template: `\n <div class=\"rounded-lg bg-white p-4 shadow-sm\">\n <!-- Comment Header -->\n <div class=\"mb-3 flex items-center gap-3\">\n <img class=\"size-8 rounded-full\" [src]=\"comment().avatar\" alt=\"Comment author avatar\" />\n <div>\n <h4 class=\"font-medium text-gray-900\">{{ comment().author }}</h4>\n <p class=\"text-sm text-gray-500\">\n {{ comment().timestamp | date: 'MMM d, y, h:mm a' }}\n </p>\n </div>\n </div>\n\n <!-- Comment Content -->\n <p class=\"mb-3 text-gray-700\">{{ comment().content }}</p>\n\n <!-- Comment Actions -->\n <div class=\"flex items-center gap-4 text-sm text-gray-500\">\n <button\n class=\"flex items-center gap-1 hover:text-blue-600\"\n (click)=\"likeComment(comment())\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5\"\n />\n </svg>\n {{ comment().likes }}\n </button>\n <button\n class=\"flex items-center gap-1 hover:text-blue-600\"\n (click)=\"toggleReplyForm(comment())\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6\"\n />\n </svg>\n Reply\n </button>\n </div>\n\n <!-- Nested Replies -->\n @if (comment().replies.length) {\n <div class=\"ml-8 mt-4 space-y-4\">\n @for (reply of comment().replies; track reply) {\n <div class=\"rounded-lg bg-gray-50 p-3\">\n <div class=\"mb-2 flex items-center gap-3\">\n <img class=\"size-6 rounded-full\" [src]=\"reply.avatar\" alt=\"Reply author avatar\" />\n <div>\n <h5 class=\"font-medium text-gray-900\">{{ reply.author }}</h5>\n <p class=\"text-xs text-gray-500\">\n {{ reply.timestamp | date: 'MMM d, y, h:mm a' }}\n </p>\n </div>\n </div>\n <p class=\"text-sm text-gray-700\">{{ reply.content }}</p>\n </div>\n }\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScComment {\n comment = input.required<ScCommentModel>();\n\n likeComment(comment: ScCommentModel) {\n comment.likes++;\n }\n\n toggleReplyForm(comment: ScCommentModel) {\n // Implement reply form logic here\n console.log('Toggle reply form for comment:', comment.id);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { ScComment } from './comment';\nimport { ScCommentModel, ScUserModel } from './comment-model';\n\n@Component({\n selector: 'sc-comments',\n imports: [ReactiveFormsModule, ScComment],\n template: `\n <div class=\"mx-auto max-w-3xl p-4\">\n <!-- New Comment Form -->\n <form class=\"mb-8\" [formGroup]=\"commentForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"flex gap-4\">\n <img class=\"size-10 rounded-full\" [src]=\"currentUser().avatar\" alt=\"User Avatar\" />\n <div class=\"flex-1\">\n <textarea\n class=\"h-24 w-full resize-none rounded-lg border border-gray-300 px-3 py-2 focus:border-blue-500 focus:ring-2 focus:ring-blue-500\"\n formControlName=\"content\"\n placeholder=\"Write a comment...\"\n ></textarea>\n <div class=\"mt-2 flex justify-end\">\n <button\n class=\"rounded-lg bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"!commentForm.valid\"\n type=\"submit\"\n >\n Post Comment\n </button>\n </div>\n </div>\n </div>\n </form>\n\n <!-- Comments List -->\n <div class=\"space-y-6\">\n @for (item of comments(); track $index) {\n <sc-comment [comment]=\"item\" />\n }\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScComments {\n private readonly fb = inject(FormBuilder);\n\n comments = input.required<ScCommentModel[]>();\n\n currentUser = input.required<ScUserModel>();\n\n commentForm: FormGroup;\n\n constructor() {\n this.commentForm = this.fb.group({\n content: ['', [Validators.required, Validators.minLength(1)]],\n });\n }\n\n onSubmit() {\n if (this.commentForm.valid) {\n const newComment: ScCommentModel = {\n id: this.comments.length + 1,\n author: this.currentUser.name,\n avatar: this.currentUser().avatar,\n content: this.commentForm.value.content,\n timestamp: new Date(),\n likes: 0,\n replies: [],\n };\n\n this.comments().unshift(newComment);\n this.commentForm.reset();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n input,\n linkedSignal,\n output,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'sc-tags',\n imports: [ReactiveFormsModule],\n template: `\n <div class=\"w-full\">\n <!-- Tags Input -->\n <div\n class=\"min-h-[45px] w-full rounded-lg border border-gray-300 p-2 focus-within:border-blue-500 focus-within:ring-1 focus-within:ring-blue-500\"\n [class.border-red-500]=\"error\"\n >\n <div class=\"flex flex-wrap gap-2\">\n <!-- Existing Tags -->\n @for (tag of tags(); track tag) {\n <span\n class=\"inline-flex items-center gap-1 rounded-full bg-blue-100 px-3 py-1 text-sm text-blue-800\"\n >\n {{ tag }}\n <button\n class=\"hover:text-blue-600 focus:outline-none\"\n (click)=\"removeTag(tag)\"\n type=\"button\"\n aria-label=\"Remove tag\"\n >\n <svg\n class=\"size-4\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n </span>\n }\n\n <!-- Input Field -->\n <input\n class=\"min-w-[120px] grow bg-transparent outline-none\"\n #tagInput\n [formControl]=\"tagControl\"\n [placeholder]=\"tags().length === 0 ? placeholder() : ''\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"addTag()\"\n />\n </div>\n </div>\n\n <!-- Error Message -->\n @if (error) {\n <div class=\"mt-1 text-sm text-red-500\">\n {{ error }}\n </div>\n }\n\n <!-- Helper Text -->\n @if (helperText()) {\n <div class=\"mt-1 text-sm text-gray-500\">\n {{ helperText() }}\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTags {\n readonly placeholder = input('Add tags...');\n readonly helperText = input('Press enter or comma to add tags');\n readonly maxTags = input(10);\n readonly minLength = input(2);\n readonly maxLength = input(20);\n\n readonly tagsInput = input<string[]>([], { alias: 'tags' });\n protected readonly tags = linkedSignal(() => this.tagsInput());\n readonly tagsChange = output<string[]>();\n\n tagControl = new FormControl('');\n error = '';\n\n onKeyDown(event: KeyboardEvent): void {\n // Check for Enter key or Comma\n if (event.key === 'Enter' || event.key === ',') {\n event.preventDefault(); // Prevent the comma from being typed\n this.addTag();\n }\n }\n\n addTag(): void {\n const tag = this.tagControl.value?.trim().toLowerCase();\n\n if (!tag) {\n this.tagControl.setValue('');\n return;\n }\n\n // Remove comma if it was added\n const cleanTag = tag.replace(/,/g, '');\n\n if (!cleanTag) {\n this.tagControl.setValue('');\n return;\n }\n\n // Validation\n if (cleanTag.length < this.minLength()) {\n this.error = `Tag must be at least ${this.minLength()} characters long`;\n return;\n }\n\n if (cleanTag.length > this.maxLength()) {\n this.error = `Tag must be less than ${this.maxLength()} characters long`;\n return;\n }\n\n if (this.tags().length >= this.maxTags()) {\n this.error = `Maximum ${this.maxTags()} tags allowed`;\n return;\n }\n\n const tags = this.tags();\n if (tags.includes(cleanTag)) {\n this.error = 'Tag already exists';\n return;\n }\n\n // Add tag\n this.error = '';\n this.tags.update((tags) => [...tags, cleanTag]);\n this.tagsChange.emit(this.tags());\n this.tagControl.setValue('');\n }\n\n removeTag(tagToRemove: string): void {\n this.tags.update((tags) => tags.filter((tag) => tag !== tagToRemove));\n this.tagsChange.emit(this.tags());\n this.error = '';\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n OnInit,\n Output,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'sc-combobox',\n imports: [ReactiveFormsModule, NgTemplateOutlet],\n template: `\n <div class=\"relative w-full\" #container>\n <!-- Label -->\n @if (label()) {\n <label class=\"mb-1 block text-sm font-medium text-gray-700\" [for]=\"id()\">\n {{ label() }}\n </label>\n }\n\n <!-- Input Group -->\n <div class=\"relative\">\n <input\n class=\"w-full rounded-lg border px-4 py-2 focus:border-blue-500 focus:ring-2 focus:ring-blue-500\"\n [id]=\"id()\"\n [formControl]=\"searchControl\"\n [placeholder]=\"placeholder()\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-activedescendant]=\"activeId\"\n [attr.aria-controls]=\"listboxId\"\n [attr.aria-owns]=\"listboxId\"\n [attr.aria-autocomplete]=\"'list'\"\n [attr.aria-haspopup]=\"'listbox'\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n type=\"text\"\n role=\"combobox\"\n />\n\n <!-- Dropdown button -->\n <button\n class=\"absolute inset-y-0 right-0 flex items-center px-2\"\n [attr.aria-label]=\"isOpen ? 'Close options' : 'Open options'\"\n (keydown)=\"onButtonKeyDown($event)\"\n (click)=\"handleButtonInteraction($event)\"\n type=\"button\"\n tabindex=\"0\"\n >\n <svg class=\"size-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n </div>\n\n <!-- Dropdown -->\n @if (isOpen) {\n <div\n class=\"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white shadow-lg\"\n [id]=\"listboxId\"\n [attr.aria-label]=\"label() || 'Options'\"\n role=\"listbox\"\n >\n @if (loading()) {\n <div class=\"p-4 text-center text-gray-500\" role=\"status\">Loading...</div>\n }\n @if (!loading() && filteredOptions.length === 0) {\n <div class=\"p-4 text-center text-gray-500\" role=\"status\">No results found</div>\n }\n @if (!loading() && filteredOptions.length > 0) {\n <ul>\n @for (option of filteredOptions; track option; let i = $index) {\n <li\n class=\"cursor-pointer px-4 py-2 outline-none\"\n [id]=\"id() + '-option-' + i\"\n [attr.aria-selected]=\"i === activeIndex\"\n [class.bg-blue-100]=\"i === activeIndex\"\n (click)=\"handleOptionClick($event, option)\"\n (keydown)=\"onOptionKeyDown($event, option)\"\n (mouseenter)=\"setActiveIndex(i)\"\n role=\"option\"\n tabindex=\"0\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n optionTemplate() || defaultOptionTemplate;\n context: { $implicit: option }\n \"\n ></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n\n <!-- Default option template -->\n <ng-template #defaultOptionTemplate let-option>\n {{ getOptionLabel(option) }}\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCombobox implements OnInit {\n private readonly elementRef = inject(ElementRef);\n\n readonly id = input(`combobox-${Math.random().toString(36).substr(2, 9)}`);\n readonly label = input<string>();\n readonly placeholder = input('Select an option');\n readonly options = input<any[]>([]);\n readonly optionTemplate = input<any>();\n readonly loading = input(false);\n readonly labelKey = input('label');\n\n @Output() optionSelected = new EventEmitter<any>();\n @Output() search = new EventEmitter<string>();\n\n searchControl = new FormControl('');\n isOpen = false;\n activeIndex = -1;\n filteredOptions: any[] = [];\n listboxId = `${this.id()}-listbox`;\n\n private closeTimeout?: any;\n\n get activeId(): string {\n return this.activeIndex >= 0 ? `${this.id()}-option-${this.activeIndex}` : '';\n }\n\n constructor() {\n this.searchControl.valueChanges\n .pipe(debounceTime(300), distinctUntilChanged())\n .subscribe((value) => {\n this.onSearch(value ?? '');\n });\n }\n\n ngOnInit() {\n this.listboxId = `${this.id()}-listbox`;\n }\n\n // Handle button interactions\n handleButtonInteraction(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.toggleDropdown();\n }\n\n onButtonKeyDown(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n event.stopPropagation();\n this.toggleDropdown();\n break;\n }\n }\n\n // Handle option interactions\n handleOptionClick(event: MouseEvent, option: any) {\n event.preventDefault();\n event.stopPropagation();\n this.selectOption(option);\n }\n\n onOptionKeyDown(event: KeyboardEvent, option: any) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n event.stopPropagation();\n this.selectOption(option);\n break;\n case 'ArrowDown':\n event.preventDefault();\n this.moveActiveIndex(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveActiveIndex(-1);\n break;\n case 'Home':\n event.preventDefault();\n this.setActiveIndex(0);\n break;\n case 'End':\n event.preventDefault();\n this.setActiveIndex(this.filteredOptions.length - 1);\n break;\n }\n }\n\n moveActiveIndex(delta: number) {\n const newIndex = this.activeIndex + delta;\n if (newIndex >= 0 && newIndex < this.filteredOptions.length) {\n this.setActiveIndex(newIndex);\n }\n }\n\n setActiveIndex(index: number) {\n this.activeIndex = index;\n this.scrollActiveOptionIntoView();\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event: Event) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n\n toggleDropdown() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.isOpen ? this.close() : this.open();\n }\n\n open() {\n this.isOpen = true;\n this.filterOptions();\n }\n\n close() {\n this.isOpen = false;\n this.activeIndex = -1;\n }\n\n onFocus() {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n }\n\n onBlur() {\n this.closeTimeout = setTimeout(() => this.close(), 200);\n }\n\n onSearch(query: string) {\n this.search.emit(query);\n this.filterOptions();\n }\n\n filterOptions() {\n const query = this.searchControl.value?.toLowerCase() ?? '';\n this.filteredOptions = this.options().filter((option) =>\n this.getOptionLabel(option).toLowerCase().includes(query),\n );\n this.activeIndex = -1;\n }\n\n selectOption(option: any) {\n this.searchControl.setValue(this.getOptionLabel(option), { emitEvent: false });\n this.optionSelected.emit(option);\n this.close();\n }\n\n getOptionLabel(option: any): string {\n return typeof option === 'object' ? option[this.labelKey()] : option.toString();\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isOpen) {\n this.open();\n }\n this.moveActiveIndex(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveActiveIndex(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (this.activeIndex >= 0) {\n this.selectOption(this.filteredOptions[this.activeIndex]);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.close();\n break;\n case 'Tab':\n this.close();\n break;\n }\n }\n\n private scrollActiveOptionIntoView() {\n if (this.activeIndex >= 0) {\n const activeOption = document.getElementById(`${this.id()}-option-${this.activeIndex}`);\n if (activeOption) {\n activeOption.scrollIntoView({ block: 'nearest' });\n }\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-clock-picker',\n imports: [],\n template: `\n <div class=\"inline-block\">\n <!-- Time Display -->\n <div class=\"mb-4 text-center\">\n <span class=\"text-3xl font-bold\">\n {{ formatTime(selectedHour, selectedMinute, selectedPeriod) }}\n </span>\n </div>\n\n <!-- Clock Face -->\n <div class=\"relative size-64 rounded-full border-2 border-gray-200 bg-gray-100\" #clockFace>\n <!-- Hour Markers -->\n @for (hour of hours; track hour) {\n <div\n class=\"pointer-events-none absolute size-full\"\n [style.transform]=\"'rotate(' + hour * 30 + 'deg)'\"\n >\n <div class=\"absolute left-1/2 top-0 h-full -translate-x-1/2\">\n <span class=\"absolute top-2 -translate-x-1/2 font-medium\">\n {{ hour === 0 ? 12 : hour }}\n </span>\n </div>\n </div>\n }\n\n <!-- Clickable Areas -->\n <div\n class=\"absolute inset-0\"\n (mousedown)=\"startMinuteDrag($event)\"\n (touchstart)=\"startMinuteDrag($event)\"\n >\n <div\n class=\"absolute inset-8\"\n (mousedown)=\"startHourDrag($event)\"\n (touchstart)=\"startHourDrag($event)\"\n ></div>\n </div>\n\n <!-- Hour Hand -->\n <div\n class=\"pointer-events-none absolute left-1/2 top-1/2 h-16 w-1 origin-top rounded-full bg-blue-600\"\n [style.transform]=\"'rotate(' + getHourDegrees() + 'deg) translateX(-50%)'\"\n ></div>\n\n <!-- Minute Hand -->\n <div\n class=\"pointer-events-none absolute left-1/2 top-1/2 h-24 w-0.5 origin-top rounded-full bg-blue-400\"\n [style.transform]=\"'rotate(' + getMinuteDegrees() + 'deg) translateX(-50%)'\"\n ></div>\n\n <!-- Center Dot -->\n <div\n class=\"pointer-events-none absolute left-1/2 top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-blue-600\"\n ></div>\n </div>\n\n <!-- AM/PM Toggle -->\n <div class=\"mt-4 flex justify-center gap-2\">\n @for (period of periods; track period) {\n <button\n [class]=\"\n 'px-4 py-2 rounded-lg ' +\n (selectedPeriod === period\n ? 'bg-blue-500 text-white'\n : 'bg-gray-100 hover:bg-gray-200')\n \"\n (click)=\"selectPeriod(period)\"\n >\n {{ period }}\n </button>\n }\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScClockPicker implements OnInit {\n @ViewChild('clockFace') clockFace!: ElementRef;\n readonly initialTime = input<string>();\n @Output() timeSelected = new EventEmitter<string>();\n\n hours = Array.from({ length: 12 }, (_, i) => i);\n periods = ['AM', 'PM'];\n\n selectedHour = 12;\n selectedMinute = 0;\n selectedPeriod = 'AM';\n\n isDragging = false;\n isHourMode = true;\n\n private readonly moveHandler: (event: MouseEvent | TouchEvent) => void;\n private readonly endHandler: () => void;\n\n constructor() {\n this.moveHandler = (event: MouseEvent | TouchEvent) => this.handleMove(event);\n this.endHandler = () => this.stopDrag();\n }\n\n ngOnInit() {\n const initialTime = this.initialTime();\n if (initialTime) {\n this.parseInitialTime(initialTime);\n }\n }\n\n parseInitialTime(time: string) {\n const [timeStr, period] = time.split(' ');\n const [hours, minutes] = timeStr.split(':').map(Number);\n\n this.selectedHour = hours % 12 || 12;\n this.selectedMinute = minutes;\n this.selectedPeriod = period;\n }\n\n startHourDrag(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isHourMode = true;\n this.startDrag(event);\n }\n\n startMinuteDrag(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isHourMode = false;\n this.startDrag(event);\n }\n\n private startDrag(event: MouseEvent | TouchEvent) {\n this.isDragging = true;\n document.addEventListener('mousemove', this.moveHandler);\n document.addEventListener('touchmove', this.moveHandler);\n document.addEventListener('mouseup', this.endHandler);\n document.addEventListener('touchend', this.endHandler);\n this.handleMove(event);\n }\n\n private handleMove(event: MouseEvent | TouchEvent) {\n if (!this.isDragging) return;\n\n const rect = this.clockFace.nativeElement.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n\n let clientX: number, clientY: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX;\n clientY = event.clientY;\n } else {\n clientX = event.touches[0].clientX;\n clientY = event.touches[0].clientY;\n }\n\n const angle = (Math.atan2(clientY - centerY, clientX - centerX) * 180) / Math.PI + 90;\n\n if (this.isHourMode) {\n this.selectedHour = Math.round(((angle + 360) % 360) / 30) % 12 || 12;\n } else {\n this.selectedMinute = Math.round(((angle + 360) % 360) / 6) % 60;\n }\n\n this.emitTimeChange();\n }\n\n private stopDrag() {\n if (!this.isDragging) return;\n\n this.isDragging = false;\n document.removeEventListener('mousemove', this.moveHandler);\n document.removeEventListener('touchmove', this.moveHandler);\n document.removeEventListener('mouseup', this.endHandler);\n document.removeEventListener('touchend', this.endHandler);\n\n this.emitTimeChange();\n }\n\n getHourDegrees(): number {\n return (this.selectedHour % 12) * 30 + (this.selectedMinute / 60) * 30;\n }\n\n getMinuteDegrees(): number {\n return this.selectedMinute * 6;\n }\n\n selectPeriod(period: string) {\n this.selectedPeriod = period;\n this.emitTimeChange();\n }\n\n formatTime(hour: number, minute: number, period: string): string {\n return `${hour}:${minute.toString().padStart(2, '0')} ${period}`;\n }\n\n emitTimeChange() {\n const formattedTime = this.formatTime(\n this.selectedHour,\n this.selectedMinute,\n this.selectedPeriod,\n );\n this.timeSelected.emit(formattedTime);\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-clock-picker2',\n imports: [NgClass],\n template: `\n <div class=\"w-80 rounded-lg bg-white p-5 shadow-lg\">\n <div class=\"mb-5 text-center text-2xl\">{{ formattedHour() }}:{{ formattedMinute() }}</div>\n\n <div class=\"relative mx-auto mb-5 size-52\">\n <!-- Clock face -->\n <div class=\"absolute size-full rounded-full border-2 border-gray-200 bg-gray-100\">\n <!-- Center dot -->\n <div\n class=\"absolute left-1/2 top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-gray-800\"\n ></div>\n\n <!-- Clock hand -->\n <div\n class=\"absolute left-1/2 top-5 h-20 w-0.5 origin-bottom -translate-x-1/2 bg-blue-500\"\n [style.transform]=\"getHandRotation()\"\n ></div>\n\n <!-- Numbers -->\n\n @for (item of generateClockNumbers(); track $index) {\n <button\n class=\"absolute flex size-8 items-center justify-center rounded-full text-sm\"\n [ngClass]=\"\n (isHourMode() && item.number === selectedHour()) ||\n (!isHourMode() && item.number * 5 === selectedMinute())\n ? 'bg-blue-500 text-white'\n : 'hover:bg-gray-200'\n \"\n [style]=\"item.style\"\n (click)=\"handleNumberClick(item.number)\"\n >\n {{ numToDisplay(item.number) }}\n </button>\n }\n </div>\n </div>\n\n <!-- Mode switches -->\n <div class=\"flex justify-center gap-2\">\n <button\n class=\"rounded px-4 py-2 text-white\"\n [ngClass]=\"isHourMode() ? 'bg-blue-600' : 'bg-blue-400'\"\n (click)=\"isHourMode.set(true)\"\n >\n Hours\n </button>\n\n <button\n class=\"rounded px-4 py-2 text-white\"\n [ngClass]=\"!isHourMode() ? 'bg-blue-600' : 'bg-blue-400'\"\n (click)=\"isHourMode.set(false)\"\n >\n Minutes\n </button>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScClockPicker2 {\n protected readonly isHourMode = signal(true);\n protected readonly selectedHour = signal(12);\n protected readonly selectedMinute = signal(60);\n\n protected numToDisplay(number: number) {\n if (this.isHourMode()) {\n return number;\n }\n const minutes = number * 5;\n if (minutes === 60) {\n return 0;\n }\n return minutes;\n }\n\n protected readonly formattedHour = computed(() => String(this.selectedHour()).padStart(2, '0'));\n protected readonly formattedMinute = computed(() => {\n let minutes = this.selectedMinute();\n if (minutes === 60) {\n minutes = 0;\n }\n\n return String(minutes).padStart(2, '0');\n });\n\n // Generate positions for clock numbers\n generateClockNumbers = computed(() => {\n const numbers = this.isHourMode() ? 12 : 60;\n const step = this.isHourMode() ? 1 : 5;\n const items = [];\n\n for (let i = 1; i <= numbers / step; i++) {\n const angle = i * (360 / (numbers / step)) - 90;\n const radius = 80;\n const x = Math.cos((angle * Math.PI) / 180) * radius;\n const y = Math.sin((angle * Math.PI) / 180) * radius;\n\n //86 because the width of div is 204 and the width of the button is 32\n // 86 = (204 - 32 ) / 2\n items.push({\n number: i,\n style: {\n left: `${x + 86}px`,\n top: `${y + 86}px`,\n },\n });\n }\n\n return items;\n });\n\n handleNumberClick = (num: number) => {\n if (this.isHourMode()) {\n this.selectedHour.set(num);\n } else {\n this.selectedMinute.set(num * 5);\n }\n };\n\n getHandRotation = computed(() => {\n const value = this.isHourMode() ? this.selectedHour() : this.selectedMinute() / 5;\n // Calculate angle, ensuring correct rotation and offset\n const angle = (value % 12) * (360 / 12);\n return `rotate(${angle}deg)`;\n });\n}\n","import { Injectable } from '@angular/core';\n\nimport { Highlighter, createHighlighter } from 'shiki';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ShikiService {\n private highlighter: Highlighter | null = null;\n\n async initializeHighlighter() {\n if (!this.highlighter) {\n this.highlighter = await createHighlighter({\n themes: ['github-dark'],\n langs: ['angular-html'],\n });\n }\n return this.highlighter;\n }\n\n async highlightCode(code: string, language: string) {\n const highlighter = await this.initializeHighlighter();\n return highlighter.codeToHtml(code, {\n lang: language,\n theme: 'github-dark',\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { ShikiService } from './shiki.service';\n\n@Component({\n selector: 'sc-code-highlighter',\n imports: [],\n template: `\n <div class=\"code-block\" [innerHTML]=\"highlightedCode()\"></div>\n `,\n styles: `\n .code-block {\n background: #24292e;\n border-radius: 6px;\n padding: 16px;\n padding-bottom: 40px;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCodeHighlighter implements OnInit {\n private readonly shikiService = inject(ShikiService);\n private readonly sanitizer = inject(DomSanitizer);\n\n code = input.required<string>();\n language = input('angular-html');\n theme = input('github-dark');\n\n highlightedCode = signal<SafeHtml>('');\n\n async ngOnInit() {\n const highlighted = await this.shikiService.highlightCode(this.code(), this.language());\n this.highlightedCode.set(this.sanitizer.bypassSecurityTrustHtml(highlighted));\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-chat',\n imports: [],\n template: `\n <p>chat works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScChat {}\n","// image-placeholder.service.ts\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ImagePlaceholderService {\n generatePlaceholder(width: number, height: number, text?: string): string {\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n\n if (ctx) {\n // Background\n ctx.fillStyle = '#E0E0E0';\n ctx.fillRect(0, 0, width, height);\n\n // Text\n ctx.fillStyle = '#888';\n ctx.font = `${Math.min(width, height) / 10}px Arial`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n const displayText = text ?? `${width}x${height}`;\n ctx.fillText(displayText, width / 2, height / 2);\n }\n\n return canvas.toDataURL();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ImagePlaceholderService } from './image-placeholder.service';\n\n@Component({\n selector: 'img[sc-image-placeholder]',\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[src]': 'placeholderSrc()',\n '[width]': 'width()',\n '[height]': 'height()',\n '[alt]': 'alt()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScImagePlaceholder {\n private readonly placeholderService = inject(ImagePlaceholderService);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('object-cover', this.classInput()));\n\n readonly width = input(300);\n readonly height = input(200);\n readonly alt = input('Placeholder');\n\n //TODO use alt instead of text\n readonly text = input('');\n\n protected readonly placeholderSrc = computed(() => {\n return this.placeholderService.generatePlaceholder(this.width(), this.height(), this.text());\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n signal,\n} from '@angular/core';\n\nfunction isRTL(text: string) {\n // Define the Unicode range for RTL scripts\n const rtlRegex = /[\\u0590-\\u08FF]/; // Includes Hebrew, Arabic, Syriac, and others\n return rtlRegex.test(text);\n}\n\n@Component({\n selector: 'sc-rtl',\n imports: [],\n template: `\n <p>isRTL: {{ isRTL() }}</p>\n <p>isRTL2: {{ isRTL2() }}</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScRTL {\n text = signal('مرحبا');\n isRTL = computed(() => isRTL(this.text()));\n\n text2 = signal('Bienvenue');\n isRTL2 = computed(() => isRTL(this.text2()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ScCursor","i1.ScPlainInput","i1","debounceTime"],"mappings":"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"}
1
+ {"version":3,"file":"semantic-components-ui.mjs","sources":["../../../../libs/ui/src/lib/utils/settings.ts","../../../../libs/ui/src/lib/components/separator/separator.ts","../../../../libs/ui/src/lib/components/typography/heading.ts","../../../../libs/ui/src/lib/components/typography/article.ts","../../../../libs/ui/src/lib/components/typography/blockquote.ts","../../../../libs/ui/src/lib/components/toggle/toggle.ts","../../../../libs/ui/src/lib/components/tooltip/tooltip-container.ts","../../../../libs/ui/src/lib/components/tooltip/tooltip.ts","../../../../libs/ui/src/lib/components/editor/extensions/extensions.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-blockquote.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-bold.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-bullet-list.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-code.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-highlight.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-horizontal-rule.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-italic.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-ordered-list.ts","../../../../libs/ui/src/lib/components/menu/menu.ts","../../../../libs/ui/src/lib/components/menu/menu-label.ts","../../../../libs/ui/src/lib/components/menu/menu-shortcut.ts","../../../../libs/ui/src/lib/components/menu/menu-separator.ts","../../../../libs/ui/src/lib/components/menu/menu-group.ts","../../../../libs/ui/src/lib/components/menu/menu-item.ts","../../../../libs/ui/src/lib/components/menu/menu-checkbox-item.ts","../../../../libs/ui/src/lib/components/menu/menu-radio-group.ts","../../../../libs/ui/src/lib/components/menu/menu-radio-item.ts","../../../../libs/ui/src/lib/components/menu/menu-trigger-for.ts","../../../../libs/ui/src/lib/components/menu/menu-checkbox-group.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-paragraph.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-redo.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-strike.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-text-align-center.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-text-align-left.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-text-align-right.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-underline.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-undo.ts","../../../../libs/ui/src/lib/components/editor/actions/editor-unset-link.ts","../../../../libs/ui/src/lib/components/editor/editor-group.ts","../../../../libs/ui/src/lib/components/editor/editor-toolbar.ts","../../../../libs/ui/src/lib/components/editor/colors.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-color.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-font-family.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-heading.ts","../../../../libs/ui/src/lib/components/button/cursor.ts","../../../../libs/ui/src/lib/components/button/button.ts","../../../../libs/ui/src/lib/components/input/plain-input.ts","../../../../libs/ui/src/lib/components/input/input.ts","../../../../libs/ui/src/lib/components/input/auto-resize-input.ts","../../../../libs/ui/src/lib/components/label/label.ts","../../../../libs/ui/src/lib/components/popover/popover.ts","../../../../libs/ui/src/lib/components/popover/popover-trigger-for.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-image-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-image.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-link-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-link.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-cell-attribute-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-table.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-text-style.ts","../../../../libs/ui/src/lib/components/editor/toolbar/add-video-dialog.ts","../../../../libs/ui/src/lib/components/editor/extensions/extension-youtube.ts","../../../../libs/ui/src/lib/components/editor/editor.ts","../../../../libs/ui/src/lib/components/select/option.ts","../../../../libs/ui/src/lib/components/select/select.ts","../../../../libs/ui/src/lib/components/paginator/page-item.ts","../../../../libs/ui/src/lib/components/paginator/pagination.ts","../../../../libs/ui/src/lib/components/paginator/paginator.ts","../../../../libs/ui/src/lib/components/card/card.ts","../../../../libs/ui/src/lib/components/card/card-header.ts","../../../../libs/ui/src/lib/components/card/card-title.ts","../../../../libs/ui/src/lib/components/card/card-description.ts","../../../../libs/ui/src/lib/components/card/card-content.ts","../../../../libs/ui/src/lib/components/card/card-footer.ts","../../../../libs/ui/src/lib/components/calendar/month-days.ts","../../../../libs/ui/src/lib/components/calendar/month-year-header.ts","../../../../libs/ui/src/lib/components/calendar/calendar.ts","../../../../libs/ui/src/lib/components/full-calendar/full-calendar.ts","../../../../libs/ui/src/lib/components/full-calendar/mobile-calendar.ts","../../../../libs/ui/src/lib/components/full-calendar/day-view.ts","../../../../libs/ui/src/lib/components/full-calendar/week-view.ts","../../../../libs/ui/src/lib/components/date-picker/date-input.ts","../../../../libs/ui/src/lib/components/date-picker/date-picker.ts","../../../../libs/ui/src/lib/components/nav/nav.ts","../../../../libs/ui/src/lib/components/nav/nav-list.ts","../../../../libs/ui/src/lib/components/nav/nav-button-base.ts","../../../../libs/ui/src/lib/components/nav/nav-link.ts","../../../../libs/ui/src/lib/components/nav/nav-item.ts","../../../../libs/ui/src/lib/components/nav/nav-button.ts","../../../../libs/ui/src/lib/components/nav/nav-item-dropdown.ts","../../../../libs/ui/src/lib/components/theme-toggler/theme.ts","../../../../libs/ui/src/lib/components/theme-toggler/theme-toggler.ts","../../../../libs/ui/src/lib/components/theme-toggler/theme-provider.ts","../../../../libs/ui/src/lib/components/progress/progress.ts","../../../../libs/ui/src/lib/components/progress/circular-progress.ts","../../../../libs/ui/src/lib/components/input-password/input-password.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-handler.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-slot.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-group.ts","../../../../libs/ui/src/lib/components/input-otp/input-otp-separator.ts","../../../../libs/ui/src/lib/components/tel-input/tel-input.component.ts","../../../../libs/ui/src/lib/components/tel-input/form-field-custom-control.component.ts","../../../../libs/ui/src/lib/components/textarea/textarea.ts","../../../../libs/ui/src/lib/components/overlay/utils.ts","../../../../libs/ui/src/lib/components/sheet/sheet-container.ts","../../../../libs/ui/src/lib/components/sheet/sheet-trigger.ts","../../../../libs/ui/src/lib/components/sheet/sheet.ts","../../../../libs/ui/src/lib/components/sheet/sheet-config.ts","../../../../libs/ui/src/lib/components/sheet/sheet-close.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-list.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-item.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-link.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-page.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-separator.ts","../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-ellipsis.ts","../../../../libs/ui/src/lib/components/toggle-group/toggle-group.ts","../../../../libs/ui/src/lib/components/toggle-group/toggle-group-item.ts","../../../../libs/ui/src/lib/components/dialog/dialog-close.ts","../../../../libs/ui/src/lib/components/dialog/dialog-content.ts","../../../../libs/ui/src/lib/components/dialog/dialog-description.ts","../../../../libs/ui/src/lib/components/dialog/dialog-footer.ts","../../../../libs/ui/src/lib/components/dialog/dialog-header.ts","../../../../libs/ui/src/lib/components/dialog/dialog-title.ts","../../../../libs/ui/src/lib/components/dialog/dialog.ts","../../../../libs/ui/src/lib/components/alert/alert.ts","../../../../libs/ui/src/lib/components/alert/alert-title.ts","../../../../libs/ui/src/lib/components/alert/alert-description.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-description.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-footer.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-header.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-title.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog.ts","../../../../libs/ui/src/lib/components/alert-dialog/alert-dialog-trigger.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-description.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-footer.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-header.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-title.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog-content.ts","../../../../libs/ui/src/lib/components/confirmation-dialog/confirmation-dialog.ts","../../../../libs/ui/src/lib/components/badge/badge.ts","../../../../libs/ui/src/lib/components/scroll-area/scroll-area.ts","../../../../libs/ui/src/lib/components/tabs/tab.ts","../../../../libs/ui/src/lib/components/tabs/tabs-header.ts","../../../../libs/ui/src/lib/components/tabs/tabs.ts","../../../../libs/ui/src/lib/components/tabs/tab-label.ts","../../../../libs/ui/src/lib/components/tabs/tab-content.ts","../../../../libs/ui/src/lib/components/tab-group/tab-content.ts","../../../../libs/ui/src/lib/components/tab-group/tab-label.ts","../../../../libs/ui/src/lib/components/tab-group/tab-group.ts","../../../../libs/ui/src/lib/components/tab-group/tab-item.ts","../../../../libs/ui/src/lib/components/toast/toast.ts","../../../../libs/ui/src/lib/components/toast/toaster.ts","../../../../libs/ui/src/lib/components/toast/toast-action.ts","../../../../libs/ui/src/lib/components/toast/toast-close.ts","../../../../libs/ui/src/lib/components/toast/toast-content.ts","../../../../libs/ui/src/lib/components/toast/toast-description.ts","../../../../libs/ui/src/lib/components/toast/toast-title.ts","../../../../libs/ui/src/lib/components/toast/toast-example.ts","../../../../libs/ui/src/lib/components/slider/slider.ts","../../../../libs/ui/src/lib/components/carousel/carousel.ts","../../../../libs/ui/src/lib/components/carousel/carousel-container.ts","../../../../libs/ui/src/lib/components/carousel/carousel-items.ts","../../../../libs/ui/src/lib/components/carousel/carousel-item.ts","../../../../libs/ui/src/lib/components/carousel/carousel-previous.ts","../../../../libs/ui/src/lib/components/carousel/carousel-next.ts","../../../../libs/ui/src/lib/components/checkbox/checkbox.ts","../../../../libs/ui/src/lib/components/checkbox-group/checkbox-group.ts","../../../../libs/ui/src/lib/components/checkbox-group/checkbox-item.ts","../../../../libs/ui/src/lib/components/accordion/accordion.ts","../../../../libs/ui/src/lib/components/accordion/accordion-header.ts","../../../../libs/ui/src/lib/components/accordion/accordion-trigger.ts","../../../../libs/ui/src/lib/components/accordion/accordion-item.ts","../../../../libs/ui/src/lib/components/accordion/accordion-content.ts","../../../../libs/ui/src/lib/components/accordion/accordion-item-description.ts","../../../../libs/ui/src/lib/components/switch/switch.ts","../../../../libs/ui/src/lib/components/radio-group/radio-group.ts","../../../../libs/ui/src/lib/components/radio-group/radio-item.ts","../../../../libs/ui/src/lib/components/hover-card/hover-card.ts","../../../../libs/ui/src/lib/components/hover-card/hover-card-trigger-for.ts","../../../../libs/ui/src/lib/components/avatar/avatar-fallback.ts","../../../../libs/ui/src/lib/components/avatar/avatar-image.ts","../../../../libs/ui/src/lib/components/avatar/avatar.ts","../../../../libs/ui/src/lib/components/aspect-ratio/aspect-ratio.ts","../../../../libs/ui/src/lib/components/skeleton/skeleton.ts","../../../../libs/ui/src/lib/components/table/table.ts","../../../../libs/ui/src/lib/components/table/table-container.ts","../../../../libs/ui/src/lib/components/table/table-header.ts","../../../../libs/ui/src/lib/components/table/table-body.ts","../../../../libs/ui/src/lib/components/table/table-footer.ts","../../../../libs/ui/src/lib/components/table/table-head.ts","../../../../libs/ui/src/lib/components/table/table-row.ts","../../../../libs/ui/src/lib/components/table/table-cell.ts","../../../../libs/ui/src/lib/components/table/table-caption.ts","../../../../libs/ui/src/lib/components/data-table/data-table.ts","../../../../libs/ui/src/lib/components/context-menu/context-menu-trigger-for.ts","../../../../libs/ui/src/lib/components/menu-bar/menu-bar.ts","../../../../libs/ui/src/lib/components/menu-bar/menu-bar-item.ts","../../../../libs/ui/src/lib/components/command/command.ts","../../../../libs/ui/src/lib/components/command/command-input.ts","../../../../libs/ui/src/lib/components/command/command-list.ts","../../../../libs/ui/src/lib/components/command/command-empty.ts","../../../../libs/ui/src/lib/components/command/command-group-heading.ts","../../../../libs/ui/src/lib/components/command/command-group.ts","../../../../libs/ui/src/lib/components/command/command-item.ts","../../../../libs/ui/src/lib/components/command/command-shortcut.ts","../../../../libs/ui/src/lib/components/command/command-separator.ts","../../../../libs/ui/src/lib/components/command/command-dialog.ts","../../../../libs/ui/src/lib/components/command/command-error.ts","../../../../libs/ui/src/lib/components/command/command-loading.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible-state.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible-trigger.ts","../../../../libs/ui/src/lib/components/collapsible/collapsible-content.ts","../../../../libs/ui/src/lib/components/sidebar/constants.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-state.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-toggler.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-mobile.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-provider.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-group.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-group-label.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-group-action.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-group-content.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-menu.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-menu-item.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-menu-base.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-menu-link.ts","../../../../libs/ui/src/lib/components/sidebar/sidebar-menu-button.ts","../../../../libs/ui/src/lib/components/autocomplete/autocomplete-item.ts","../../../../libs/ui/src/lib/components/autocomplete/autocomplete.ts","../../../../libs/ui/src/lib/components/time-picker/time-option.ts","../../../../libs/ui/src/lib/components/time-picker/time-picker-input.ts","../../../../libs/ui/src/lib/components/time-picker/time-picker.ts","../../../../libs/ui/src/lib/components/time-picker/time-picker2.ts","../../../../libs/ui/src/lib/components/file-upload/image.ts","../../../../libs/ui/src/lib/components/file-upload/file-upload.ts","../../../../libs/ui/src/lib/components/file-upload/drop-zone.ts","../../../../libs/ui/src/lib/components/file-upload/file-preview.ts","../../../../libs/ui/src/lib/components/file-upload/utils.ts","../../../../libs/ui/src/lib/components/file-upload/file-card.ts","../../../../libs/ui/src/lib/components/file-upload/file-uploader.ts","../../../../libs/ui/src/lib/components/file-upload/single-file-uploader.ts","../../../../libs/ui/src/lib/components/page/page-title.ts","../../../../libs/ui/src/lib/components/page/page-subtitle.ts","../../../../libs/ui/src/lib/components/page/page-description.ts","../../../../libs/ui/src/lib/components/page/section.ts","../../../../libs/ui/src/lib/components/cookie-consent/cookie-consent.ts","../../../../libs/ui/src/lib/components/comments/comment.ts","../../../../libs/ui/src/lib/components/comments/comments.ts","../../../../libs/ui/src/lib/components/tags/tags.ts","../../../../libs/ui/src/lib/components/combobox/combobox.ts","../../../../libs/ui/src/lib/components/clock-picker/clock-picker.ts","../../../../libs/ui/src/lib/components/clock-picker/clock-picker2.ts","../../../../libs/ui/src/lib/components/code-highlighter/shiki.service.ts","../../../../libs/ui/src/lib/components/code-highlighter/code-highlighter.ts","../../../../libs/ui/src/lib/components/chat/chat.ts","../../../../libs/ui/src/lib/components/image-placeholder/image-placeholder.service.ts","../../../../libs/ui/src/lib/components/image-placeholder/image-placeholder.ts","../../../../libs/ui/src/lib/components/rtl/rtl.ts","../../../../libs/ui/src/semantic-components-ui.ts"],"sourcesContent":["import { Injectable, LOCALE_ID, inject, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScSettings {\n clock = signal<'am-pm' | '24-hour'>('am-pm');\n\n dateFormatPattern = signal<string>('');\n\n private readonly localeId = inject(LOCALE_ID);\n\n constructor() {\n this.dateFormatPattern.set(this.getDateFormatPattern(this.localeId));\n }\n\n getDateFormatPattern(localeId: string) {\n const getPatternForPart = (part: Intl.DateTimeFormatPart) => {\n switch (part.type) {\n case 'day':\n return 'd'.repeat(part.value.length);\n case 'month':\n return 'M'.repeat(part.value.length);\n case 'year':\n return 'y'.repeat(part.value.length);\n case 'literal':\n return part.value;\n default:\n throw new Error('no default');\n }\n };\n\n return new Intl.DateTimeFormat(localeId)\n .formatToParts(new Date('2022-01-01'))\n .map(getPatternForPart)\n .join('')\n .toLowerCase();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-separator',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSeparator {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'block shrink-0 bg-border',\n this.orientation() === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst scHeadingVariants = cva('', {\n variants: {\n level: {\n '1': 'scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl',\n '2': 'scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0',\n '3': 'scroll-m-20 text-2xl font-semibold tracking-tight',\n '4': 'scroll-m-20 text-xl font-semibold tracking-tight',\n '5': '',\n '6': '',\n },\n },\n defaultVariants: {\n level: '1',\n },\n});\n\ntype ScHeadingVariants = VariantProps<typeof scHeadingVariants>;\n\n@Component({\n selector:\n 'h1[sc-heading], h2[sc-heading], h3[sc-heading], h4[sc-heading], h5[sc-heading], h6[sc-heading]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScHeading {\n readonly level = input<ScHeadingVariants['level']>('1');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(scHeadingVariants({ level: this.level() }), this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nexport const scArticleClasses = signal('prose prose-sm sm:prose lg:prose-lg xl:prose-2xl');\n\n@Component({\n selector: 'sc-article',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScArticle {\n class = input<string>('');\n\n classes = computed(() => cn(scArticleClasses(), this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'blockquote[sc-blockquote]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBlockquote {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst toggleVariants = cva(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-10 min-w-10 px-3',\n sm: 'h-9 min-w-9 px-2.5',\n lg: 'h-11 min-w-11 px-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype ToggleVariants = VariantProps<typeof toggleVariants>;\n\n@Component({\n selector: 'button[sc-toggle]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToggle {\n variant = input<ToggleVariants['variant']>('default');\n\n size = input<ToggleVariants['size']>('default');\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(toggleVariants({ variant: this.variant(), size: this.size() }), this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tooltip-container',\n imports: [],\n template: `\n {{ message() }}\n `,\n host: {\n role: 'tooltip',\n '[class]': 'class()',\n '[attr.data-position]': 'position()',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTooltipContainer {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[position=below]:slide-in-from-top-2 data-[position=left]:slide-in-from-right-2 data-[position=right]:slide-in-from-left-2 data-[position=above]:slide-in-from-bottom-2',\n this.classInput(),\n ),\n );\n\n readonly message = input.required<string>();\n\n readonly position = input.required<'left' | 'right' | 'above' | 'below'>();\n\n readonly state = input.required<'open' | 'closed'>();\n}\n","import { ConnectedPosition, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n inject,\n input,\n} from '@angular/core';\n\nimport { ScTooltipContainer } from './tooltip-container';\n\n@Directive({\n selector: '[scTooltip]',\n host: {\n '(mouseover)': 'showTooltip()',\n '(focus)': 'showTooltip()',\n '(mouseleave)': 'hideTooltip()',\n '(blur)': 'hideTooltip()',\n },\n})\nexport class ScTooltip implements OnInit, OnDestroy {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private overlayRef!: OverlayRef;\n private tooltipRef!: ComponentRef<ScTooltipContainer>;\n\n readonly message = input('', { alias: 'scTooltip' });\n readonly position = input<'left' | 'right' | 'above' | 'below'>('below');\n\n ngOnInit() {\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n protected showTooltip() {\n if (this.overlayRef?.hasAttached() === true) {\n return;\n }\n\n this.attachTooltip();\n }\n\n protected hideTooltip() {\n if (this.overlayRef?.hasAttached() === true) {\n this.tooltipRef.setInput('state', 'closed');\n this.overlayRef?.detach();\n }\n }\n\n private attachTooltip(): void {\n // Create tooltip portal\n const tooltipPortal = new ComponentPortal(ScTooltipContainer);\n\n // Attach tooltip portal to overlay\n this.tooltipRef = this.overlayRef.attach(tooltipPortal);\n\n // Pass content to tooltip component instance\n\n this.tooltipRef.setInput('message', this.message());\n this.tooltipRef.setInput('position', this.position());\n this.tooltipRef.setInput('state', 'open');\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(this.getPositions());\n }\n\n getPositions(): ConnectedPosition[] {\n switch (this.position()) {\n case 'above': {\n return [\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -4,\n },\n ];\n }\n case 'below': {\n return [\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 4,\n },\n ];\n }\n case 'left': {\n return [\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -4,\n },\n ];\n }\n case 'right': {\n return [\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 4,\n },\n ];\n }\n\n default: {\n throw new Error('Error in switch case');\n }\n }\n }\n}\n","import { Injectable, computed, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScExtensions {\n //history extension\n undo = signal<boolean>(false);\n redo = signal<boolean>(false);\n history = computed(() => this.undo() || this.redo());\n\n //link extension\n setLink = signal<boolean>(false);\n unsetLink = signal<boolean>(false);\n link = computed(() => this.setLink() || this.unsetLink());\n\n //text align extension\n textAlignRight = signal<boolean>(false);\n textAlignLeft = signal<boolean>(false);\n textAlignCenter = signal<boolean>(false);\n textAlign = computed(\n () => this.textAlignRight() || this.textAlignLeft() || this.textAlignCenter(),\n );\n\n //\n highlight = signal<boolean>(false);\n color = signal<boolean>(false);\n underline = signal<boolean>(false);\n fontFamily = signal<boolean>(false);\n bold = signal<boolean>(false);\n youtube = signal<boolean>(false);\n image = signal<boolean>(false);\n code = signal<boolean>(false);\n strike = signal<boolean>(false);\n italic = signal<boolean>(false);\n blockquote = signal<boolean>(false);\n bulletList = signal<boolean>(false);\n orderedList = signal<boolean>(false);\n horizontalRule = signal<boolean>(false);\n textStyle = signal<boolean>(false);\n table = signal<boolean>(false);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\n\nimport { SiQuoteIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-blockquote',\n imports: [ScTooltip, ScToggle, SiQuoteIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel()\"\n [scTooltip]=\"ariaLabel()\"\n (click)=\"toggleBlockquote()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-quote-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel() }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorBlockquote {\n readonly ariaLabel = input('Toggle blockquote', {\n alias: 'aria-label',\n });\n\n private readonly parent = inject(ScEditor, { host: true });\n\n private readonly extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.blockquote.set(true);\n }\n\n private get editor() {\n return this.parent.editor;\n }\n\n protected toggleBlockquote() {\n this.editor.chain().focus().toggleBlockquote().run();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\n\nimport { SiBoldIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-bold',\n imports: [ScTooltip, ScToggle, SiBoldIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel()\"\n [scTooltip]=\"ariaLabel()\"\n (click)=\"toggleBold()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-bold-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel() }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorBold {\n readonly ariaLabel = input('Toggle Bold', {\n alias: 'aria-label',\n });\n\n private readonly parent = inject(ScEditor, { host: true });\n\n private readonly extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.bold.set(true);\n }\n\n private get editor() {\n return this.parent.editor;\n }\n\n protected toggleBold() {\n this.editor.chain().focus().toggleBold().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiListIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-bullet-list',\n imports: [ScTooltip, ScToggle, SiListIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleBulletList()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-list-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorBulletList {\n ariaLabel = 'Toggle List';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.bulletList.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleBulletList() {\n this.editor.chain().focus().toggleBulletList().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiCodeIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-code',\n imports: [ScTooltip, SiCodeIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleCode()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-code-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorCode {\n ariaLabel = 'Format code';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.code.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleCode() {\n this.editor.chain().focus().toggleCode().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiHighlighterIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-highlight',\n imports: [ScTooltip, ScToggle, SiHighlighterIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleHighlight()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-highlighter-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorHighlight {\n ariaLabel = 'Toggle Highlight';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.highlight.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleHighlight() {\n this.editor.chain().focus().toggleHighlight().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiMinusIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-horizontal-rule',\n imports: [ScTooltip, ScToggle, SiMinusIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setHorizontalRule()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-minus-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorHorizontalRule {\n ariaLabel = 'Toggle Horizontal Rule';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.horizontalRule.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setHorizontalRule() {\n this.editor.chain().focus().setHorizontalRule().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiItalicIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-italic',\n imports: [ScTooltip, ScToggle, SiItalicIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleItalic()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-italic-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorItalic {\n ariaLabel = 'Toggle Italic';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.italic.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleItalic() {\n this.editor.chain().focus().toggleItalic().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiListOrderedIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-ordered-list',\n imports: [ScTooltip, ScToggle, SiListOrderedIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleOrderedList()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-list-ordered-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorOrderedList {\n ariaLabel = 'Toggle ordered list';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.orderedList.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleOrderedList() {\n this.editor.chain().focus().toggleOrderedList().run();\n }\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenu],\n})\nexport class ScMenu {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'my-2 z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-menu-label',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuLabel {\n class = input<string>('');\n\n classes = computed(() =>\n cn('px-2 py-1.5 text-sm font-semibold', this._inset() && 'pl-8', this.class()),\n );\n\n readonly _inset = input<boolean, unknown>(false, {\n alias: 'inset',\n transform: booleanAttribute,\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'span[sc-menu-shortcut]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuShortcut {\n class = input<string>('');\n\n classes = computed(() =>\n cn('ml-auto text-xs tracking-widest text-muted-foreground', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'hr[sc-menu-separator]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('-mx-1 my-1 h-px bg-muted', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-menu-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMenuGroup {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() => cn('', this.class()));\n}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-menu-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuItem],\n})\nexport class ScMenuItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'w-full flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n this._inset() && 'pl-8',\n this.class(),\n ),\n );\n\n readonly _inset = input<boolean, unknown>(false, {\n alias: 'inset',\n transform: booleanAttribute,\n });\n}\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'button[sc-menu-checkbox-item]',\n imports: [SiCheckIcon],\n template: `\n @if (scChecked()) {\n <span class=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <svg class=\"size-4\" si-check-icon></svg>\n </span>\n }\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CdkMenuItemCheckbox,\n inputs: ['cdkMenuItemChecked: scChecked'],\n outputs: ['cdkMenuItemTriggered: scTriggered'],\n },\n ],\n})\nexport class ScMenuCheckboxItem {\n private readonly _cdkMenuItemCheckbox = inject(CdkMenuItemCheckbox, { host: true });\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this.class(),\n ),\n );\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n effect(() => {\n this._cdkMenuItemCheckbox.disabled = this.disabled();\n });\n }\n\n readonly scChecked = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n readonly scTriggered = output<void>();\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu-radio-group]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuGroup],\n})\nexport class ScMenuRadioGroup {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCircleIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'button[sc-menu-radio-item]',\n imports: [SiCircleIcon],\n template: `\n <span class=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <svg class=\"size-2 fill-current\" si-circle-icon></svg>\n </span>\n\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuItemRadio],\n})\nexport class ScMenuRadioItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this.class(),\n ),\n );\n\n value = input('');\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[scMenuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: scMenuTriggerFor'],\n },\n ],\n})\nexport class ScMenuTriggerFor {\n scMenuTriggerFor = input.required();\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu-checkbox-group]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuGroup],\n})\nexport class ScMenuCheckboxGroup {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport {\n ScMenu,\n ScMenuGroup,\n ScMenuItem,\n ScMenuSeparator,\n ScMenuShortcut,\n ScMenuTriggerFor,\n} from '../../menu';\nimport { ScToggle } from '../../toggle';\nimport { ScEditor } from '../editor';\n\n@Component({\n selector: 'sc-editor-paragraph',\n imports: [\n ScMenuShortcut,\n ScMenuSeparator,\n ScMenuGroup,\n ScMenuItem,\n ScMenuTriggerFor,\n ScMenu,\n ScToggle,\n ],\n template: `\n <button [scMenuTriggerFor]=\"menu\" sc-toggle variant=\"outline\" type=\"button\">\n Paragraph & Headings\n </button>\n\n <ng-template #menu>\n <div sc-menu>\n <sc-menu-group>\n <button (click)=\"setParagraph()\" sc-menu-item>\n <span>Paragraph</span>\n <span sc-menu-shortcut>⌘+Alt+0</span>\n </button>\n </sc-menu-group>\n <hr sc-menu-separator />\n <sc-menu-group>\n <button sc-menu-item>\n <h1>Heading 1</h1>\n <span sc-menu-shortcut>⌘+Alt+1</span>\n </button>\n <button sc-menu-item>\n <h2>Heading 2</h2>\n <span sc-menu-shortcut>⌘+Alt+2</span>\n </button>\n\n <button sc-menu-item>\n <h3>Heading 3</h3>\n <span sc-menu-shortcut>⌘+Alt+3</span>\n </button>\n\n <button sc-menu-item>\n <h4>Heading 4</h4>\n <span sc-menu-shortcut>⌘+Alt+4</span>\n </button>\n\n <button sc-menu-item>\n <h5>Heading 5</h5>\n <span sc-menu-shortcut>⌘+Alt+5</span>\n </button>\n\n <button sc-menu-item>\n <h6>Heading 6</h6>\n <span sc-menu-shortcut>⌘+Alt+6</span>\n </button>\n </sc-menu-group>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorParagraph {\n private readonly parent = inject(ScEditor, { host: true });\n\n get editor() {\n return this.parent.editor;\n }\n\n setParagraph() {\n this.editor.chain().focus().setParagraph().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiRedoIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-redo',\n imports: [ScTooltip, ScToggle, SiRedoIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"redo()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-redo-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorRedo {\n ariaLabel = 'Redo';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.redo.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n redo() {\n this.editor.chain().focus().redo().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiStrikethroughIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-strike',\n imports: [ScTooltip, SiStrikethroughIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleStrike()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-strikethrough-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorStrike {\n ariaLabel = 'Toggle Strike';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.strike.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleStrike() {\n this.editor.chain().focus().toggleStrike().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiAlignCenterIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-text-align-center',\n imports: [ScTooltip, SiAlignCenterIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setCenterAlign()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-align-center-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorTextAlignCenter {\n ariaLabel = 'Align center';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textAlignCenter.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setCenterAlign() {\n this.editor.chain().focus().setTextAlign('center').run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiAlignLeftIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-text-align-left',\n imports: [ScTooltip, SiAlignLeftIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setLeftAlign()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-align-left-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorTextAlignLeft {\n ariaLabel = 'Align left';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textAlignLeft.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setLeftAlign() {\n this.editor.chain().focus().setTextAlign('left').run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiAlignRightIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-text-align-right',\n imports: [ScTooltip, SiAlignRightIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"setRightAlign()\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-align-right-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorTextAlignRight {\n ariaLabel = 'Align right';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textAlignRight.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setRightAlign() {\n this.editor.chain().focus().setTextAlign('right').run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiUnderlineIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-underline',\n imports: [ScTooltip, SiUnderlineIcon, ScToggle],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"toggleUnderline()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-underline-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorUnderline {\n ariaLabel = 'Toggle underline';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.underline.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n toggleUnderline() {\n this.editor.chain().focus().toggleUnderline().run();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiUndoIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-undo',\n imports: [ScTooltip, ScToggle, SiUndoIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"undo()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-undo-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorUndo {\n ariaLabel = 'Undo';\n\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.undo.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n undo() {\n this.editor.chain().focus().undo().run();\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiUnlinkIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from '../extensions/extensions';\n\n@Component({\n selector: 'sc-editor-unset-link',\n imports: [ScTooltip, ScToggle, SiUnlinkIcon],\n template: `\n <button\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n (click)=\"unsetLink()\"\n sc-toggle\n variant=\"outline\"\n type=\"button\"\n >\n <svg si-unlink-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorUnsetLink {\n ariaLabel = 'Unset Link';\n\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.unsetLink.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n unsetLink() {\n this.editor.chain().focus().unsetLink().run();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-editor-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorGroup {\n class = input<string>('');\n\n //TODO change styles\n _class = computed(() => cn('flex flex-wrap items-center gap-1 py-1', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-editor-toolbar',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScEditorToolbar {\n class = input<string>('');\n\n //TODO change styles to fit shadcn\n _class = computed(() => cn('block border-b px-3 py-1 dark:border-gray-600', this.class()));\n}\n","const allColors = {\n slate: {\n 50: '#f8fafc',\n 100: '#f1f5f9',\n 200: '#e2e8f0',\n 300: '#cbd5e1',\n 400: '#94a3b8',\n 500: '#64748b',\n 600: '#475569',\n 700: '#334155',\n 800: '#1e293b',\n 900: '#0f172a',\n 950: '#020617',\n },\n gray: {\n 50: '#f9fafb',\n 100: '#f3f4f6',\n 200: '#e5e7eb',\n 300: '#d1d5db',\n 400: '#9ca3af',\n 500: '#6b7280',\n 600: '#4b5563',\n 700: '#374151',\n 800: '#1f2937',\n 900: '#111827',\n 950: '#030712',\n },\n zinc: {\n 50: '#fafafa',\n 100: '#f4f4f5',\n 200: '#e4e4e7',\n 300: '#d4d4d8',\n 400: '#a1a1aa',\n 500: '#71717a',\n 600: '#52525b',\n 700: '#3f3f46',\n 800: '#27272a',\n 900: '#18181b',\n 950: '#09090b',\n },\n neutral: {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#e5e5e5',\n 300: '#d4d4d4',\n 400: '#a3a3a3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717',\n 950: '#0a0a0a',\n },\n stone: {\n 50: '#fafaf9',\n 100: '#f5f5f4',\n 200: '#e7e5e4',\n 300: '#d6d3d1',\n 400: '#a8a29e',\n 500: '#78716c',\n 600: '#57534e',\n 700: '#44403c',\n 800: '#292524',\n 900: '#1c1917',\n 950: '#0c0a09',\n },\n red: {\n 50: '#fef2f2',\n 100: '#fee2e2',\n 200: '#fecaca',\n 300: '#fca5a5',\n 400: '#f87171',\n 500: '#ef4444',\n 600: '#dc2626',\n 700: '#b91c1c',\n 800: '#991b1b',\n 900: '#7f1d1d',\n 950: '#450a0a',\n },\n orange: {\n 50: '#fff7ed',\n 100: '#ffedd5',\n 200: '#fed7aa',\n 300: '#fdba74',\n 400: '#fb923c',\n 500: '#f97316',\n 600: '#ea580c',\n 700: '#c2410c',\n 800: '#9a3412',\n 900: '#7c2d12',\n 950: '#431407',\n },\n amber: {\n 50: '#fffbeb',\n 100: '#fef3c7',\n 200: '#fde68a',\n 300: '#fcd34d',\n 400: '#fbbf24',\n 500: '#f59e0b',\n 600: '#d97706',\n 700: '#b45309',\n 800: '#92400e',\n 900: '#78350f',\n 950: '#451a03',\n },\n yellow: {\n 50: '#fefce8',\n 100: '#fef9c3',\n 200: '#fef08a',\n 300: '#fde047',\n 400: '#facc15',\n 500: '#eab308',\n 600: '#ca8a04',\n 700: '#a16207',\n 800: '#854d0e',\n 900: '#713f12',\n 950: '#422006',\n },\n lime: {\n 50: '#f7fee7',\n 100: '#ecfccb',\n 200: '#d9f99d',\n 300: '#bef264',\n 400: '#a3e635',\n 500: '#84cc16',\n 600: '#65a30d',\n 700: '#4d7c0f',\n 800: '#3f6212',\n 900: '#365314',\n 950: '#1a2e05',\n },\n green: {\n 50: '#f0fdf4',\n 100: '#dcfce7',\n 200: '#bbf7d0',\n 300: '#86efac',\n 400: '#4ade80',\n 500: '#22c55e',\n 600: '#16a34a',\n 700: '#15803d',\n 800: '#166534',\n 900: '#14532d',\n 950: '#052e16',\n },\n emerald: {\n 50: '#ecfdf5',\n 100: '#d1fae5',\n 200: '#a7f3d0',\n 300: '#6ee7b7',\n 400: '#34d399',\n 500: '#10b981',\n 600: '#059669',\n 700: '#047857',\n 800: '#065f46',\n 900: '#064e3b',\n 950: '#022c22',\n },\n teal: {\n 50: '#f0fdfa',\n 100: '#ccfbf1',\n 200: '#99f6e4',\n 300: '#5eead4',\n 400: '#2dd4bf',\n 500: '#14b8a6',\n 600: '#0d9488',\n 700: '#0f766e',\n 800: '#115e59',\n 900: '#134e4a',\n 950: '#042f2e',\n },\n cyan: {\n 50: '#ecfeff',\n 100: '#cffafe',\n 200: '#a5f3fc',\n 300: '#67e8f9',\n 400: '#22d3ee',\n 500: '#06b6d4',\n 600: '#0891b2',\n 700: '#0e7490',\n 800: '#155e75',\n 900: '#164e63',\n 950: '#083344',\n },\n sky: {\n 50: '#f0f9ff',\n 100: '#e0f2fe',\n 200: '#bae6fd',\n 300: '#7dd3fc',\n 400: '#38bdf8',\n 500: '#0ea5e9',\n 600: '#0284c7',\n 700: '#0369a1',\n 800: '#075985',\n 900: '#0c4a6e',\n 950: '#082f49',\n },\n blue: {\n 50: '#eff6ff',\n 100: '#dbeafe',\n 200: '#bfdbfe',\n 300: '#93c5fd',\n 400: '#60a5fa',\n 500: '#3b82f6',\n 600: '#2563eb',\n 700: '#1d4ed8',\n 800: '#1e40af',\n 900: '#1e3a8a',\n 950: '#172554',\n },\n indigo: {\n 50: '#eef2ff',\n 100: '#e0e7ff',\n 200: '#c7d2fe',\n 300: '#a5b4fc',\n 400: '#818cf8',\n 500: '#6366f1',\n 600: '#4f46e5',\n 700: '#4338ca',\n 800: '#3730a3',\n 900: '#312e81',\n 950: '#1e1b4b',\n },\n violet: {\n 50: '#f5f3ff',\n 100: '#ede9fe',\n 200: '#ddd6fe',\n 300: '#c4b5fd',\n 400: '#a78bfa',\n 500: '#8b5cf6',\n 600: '#7c3aed',\n 700: '#6d28d9',\n 800: '#5b21b6',\n 900: '#4c1d95',\n 950: '#2e1065',\n },\n purple: {\n 50: '#faf5ff',\n 100: '#f3e8ff',\n 200: '#e9d5ff',\n 300: '#d8b4fe',\n 400: '#c084fc',\n 500: '#a855f7',\n 600: '#9333ea',\n 700: '#7e22ce',\n 800: '#6b21a8',\n 900: '#581c87',\n 950: '#3b0764',\n },\n fuchsia: {\n 50: '#fdf4ff',\n 100: '#fae8ff',\n 200: '#f5d0fe',\n 300: '#f0abfc',\n 400: '#e879f9',\n 500: '#d946ef',\n 600: '#c026d3',\n 700: '#a21caf',\n 800: '#86198f',\n 900: '#701a75',\n 950: '#4a044e',\n },\n pink: {\n 50: '#fdf2f8',\n 100: '#fce7f3',\n 200: '#fbcfe8',\n 300: '#f9a8d4',\n 400: '#f472b6',\n 500: '#ec4899',\n 600: '#db2777',\n 700: '#be185d',\n 800: '#9d174d',\n 900: '#831843',\n 950: '#500724',\n },\n rose: {\n 50: '#fff1f2',\n 100: '#ffe4e6',\n 200: '#fecdd3',\n 300: '#fda4af',\n 400: '#fb7185',\n 500: '#f43f5e',\n 600: '#e11d48',\n 700: '#be123c',\n 800: '#9f1239',\n 900: '#881337',\n 950: '#4c0519',\n },\n};\n\nexport const colors = Object.values(allColors).map((v) => v[500]);\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiPaletteIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScTooltip } from '../../tooltip';\nimport { colors } from '../colors';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-color',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem, ScTooltip, SiPaletteIcon],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n [cdkMenuTriggerFor]=\"textColorDropdown\"\n type=\"button\"\n scTooltip=\"Text color\"\n >\n <svg si-palette-icon></svg>\n <span class=\"sr-only\">Text color</span>\n </button>\n\n <ng-template #textColorDropdown>\n <div\n class=\"z-10 w-48 rounded bg-white p-2 shadow dark:bg-gray-700\"\n id=\"textColorDropdown\"\n cdkMenu\n >\n <div\n class=\"group mb-3 grid grid-cols-6 items-center gap-2 rounded-lg p-1.5 hover:bg-gray-100 dark:hover:bg-gray-600\"\n >\n <input\n class=\"col-span-3 h-8 w-full rounded-md border border-gray-200 bg-gray-50 p-px px-1 hover:bg-gray-50 group-hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-700 dark:group-hover:bg-gray-700\"\n id=\"color\"\n type=\"color\"\n value=\"#e66465\"\n />\n <label\n class=\"col-span-3 text-sm font-medium text-gray-500 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-white\"\n for=\"color\"\n >\n Pick a color\n </label>\n </div>\n <div class=\"mb-3 grid grid-cols-6 gap-1\">\n @for (color of colors; track $index) {\n <button\n class=\"size-6 rounded-md\"\n [style]=\"'background-color: ' + color\"\n [attr.data-hex-color]=\"color\"\n (click)=\"setHexColor($event)\"\n type=\"button\"\n cdkMenuItem\n >\n <span class=\"sr-only\">Blue</span>\n </button>\n }\n </div>\n <button\n class=\"w-full rounded-lg bg-white py-1.5 text-sm font-medium text-gray-500 hover:bg-gray-100 hover:text-gray-900 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-100 dark:bg-gray-700 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white dark:focus:ring-gray-700\"\n id=\"reset-color\"\n (click)=\"resetColor()\"\n cdkMenuItem\n type=\"button\"\n >\n Reset color\n </button>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionColor {\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n colors = colors;\n\n constructor() {\n this.extensions.color.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n resetColor() {\n this.editor.commands.unsetColor();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setHexColor(e: any) {\n const hexColor = e.target.getAttribute('data-hex-color');\n this.editor.chain().focus().setColor(hexColor).run();\n }\n}\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-font-family',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem, ScTooltip],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n [cdkMenuTriggerFor]=\"fontFamilyDropdown\"\n type=\"button\"\n scTooltip=\"Font Family\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m10.6 19 4.298-10.93a.11.11 0 0 1 .204 0L19.4 19m-8.8 0H9.5m1.1 0h1.65m7.15 0h-1.65m1.65 0h1.1m-7.7-3.985h4.4M3.021 16l1.567-3.985m0 0L7.32 5.07a.11.11 0 0 1 .205 0l2.503 6.945h-5.44Z\"\n />\n </svg>\n <span class=\"sr-only\">Font family</span>\n </button>\n\n <ng-template #fontFamilyDropdown>\n <div\n class=\"z-10 w-48 rounded bg-white p-2 shadow dark:bg-gray-700\"\n id=\"fontFamilyDropdown\"\n cdkMenu\n >\n <ul class=\"space-y-1 text-sm font-medium\" aria-labelledby=\"toggleFontFamilyButton\">\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 font-sans text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Poppins, ui-sans-serif\"\n cdkMenuItem\n type=\"button\"\n >\n Default (Poppins)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Arial, sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Arial, sans-serif;\"\n >\n Arial\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Courier New', monospace\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Courier New', monospace;\"\n >\n Courier New\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Georgia, serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Georgia, serif;\"\n >\n Georgia\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Lucida Sans Unicode', sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Lucida Sans Unicode', sans-serif;\"\n >\n Lucida Sans Unicode\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Tahoma, sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Tahoma, sans-serif;\"\n >\n Tahoma\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Times New Roman', serif;\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Times New Roman', serif;\"\n >\n Times New Roman\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"'Trebuchet MS', sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: 'Trebuchet MS', sans-serif;\"\n >\n Trebuchet MS\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (click)=\"setFontFamily($event)\"\n data-font-family=\"Verdana, sans-serif\"\n cdkMenuItem\n type=\"button\"\n style=\"font-family: Verdana, sans-serif;\"\n >\n Verdana\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionFontFamily {\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.fontFamily.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setFontFamily(e: Event) {\n const fontFamily = (e.target as HTMLButtonElement).getAttribute('data-font-family');\n\n if (fontFamily === null) {\n throw new Error('Missing data-font-family');\n }\n\n this.editor.chain().focus().setFontFamily(fontFamily).run();\n }\n}\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { Level } from '@tiptap/extension-heading';\n\nimport { ScEditor } from '../editor';\n\n@Component({\n selector: 'sc-extension-heading',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem],\n template: `\n <button\n class=\"flex items-center justify-center rounded-lg bg-gray-100 px-3 py-1.5 text-sm font-medium text-gray-500 hover:bg-gray-200 hover:text-gray-900 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-50 dark:bg-gray-600 dark:text-gray-400 dark:hover:bg-gray-500 dark:hover:text-white dark:focus:ring-gray-600\"\n [cdkMenuTriggerFor]=\"typographyDropdown\"\n type=\"button\"\n >\n Heading\n <svg\n class=\"-me-0.5 ms-1.5 size-3.5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m19 9-7 7-7-7\"\n />\n </svg>\n </button>\n\n <!-- Heading Dropdown -->\n <ng-template #typographyDropdown>\n <div class=\"z-10 w-72 rounded bg-white p-2 shadow dark:bg-gray-700\" cdkMenu>\n <ul class=\"space-y-1 text-sm font-medium\" aria-labelledby=\"typographyDropdownButton\">\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(1)\"\n data-heading-level=\"1\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 1\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 1\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(2)\"\n data-heading-level=\"2\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 2\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 2\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(3)\"\n data-heading-level=\"3\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 3\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 3\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(4)\"\n data-heading-level=\"4\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 4\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 4\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(5)\"\n data-heading-level=\"5\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 5\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 5\n </kbd>\n </div>\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setHeadingLevel(6)\"\n data-heading-level=\"6\"\n cdkMenuItem\n type=\"button\"\n >\n Heading 6\n <div class=\"space-x-1.5\">\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Cmd\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n Alt\n </kbd>\n <kbd\n class=\"rounded-lg border border-gray-200 bg-gray-100 px-2 py-1 text-xs font-semibold text-gray-500 dark:border-gray-500 dark:bg-gray-600 dark:text-gray-400\"\n >\n 6\n </kbd>\n </div>\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionHeading {\n private readonly parent = inject(ScEditor, { host: true });\n\n get editor() {\n return this.parent.editor;\n }\n\n setHeadingLevel(level: Level) {\n this.editor.chain().focus().toggleHeading({ level: level }).run();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, OnInit, PLATFORM_ID, Renderer2, inject } from '@angular/core';\n\n@Directive({\n selector: 'button[sc-cursor], a[sc-cursor]',\n})\nexport class ScCursor implements OnInit {\n private readonly isPlatformBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n private readonly hostRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n\n ngOnInit() {\n if (this.isPlatformBrowser) {\n this.renderer.addClass(this.hostRef.nativeElement, 'cursor-pointer');\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nimport { ScCursor } from './cursor';\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n primary: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-4 py-2',\n sm: 'h-9 rounded-md px-3',\n lg: 'h-11 rounded-md px-8',\n icon: 'size-10',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n\n@Component({\n selector: 'button[sc-button], a[sc-button]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-disabled]': 'disabled()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ScCursor],\n})\nexport class ScButton {\n readonly variant = input<ButtonVariants['variant']>('primary');\n\n readonly size = input<ButtonVariants['size']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(buttonVariants({ variant: this.variant(), size: this.size() }), this.classInput()),\n );\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n}\n","import { Directive, ElementRef, inject, model } from '@angular/core';\n\n@Directive({\n selector: 'input[sc-plain-input]',\n host: {\n '[value]': 'value()',\n '(input)': 'handleInput()',\n },\n})\nexport class ScPlainInput {\n private readonly hostRef = inject(ElementRef);\n\n readonly value = model<string>();\n\n handleInput() {\n const newValue = this.hostRef.nativeElement.value;\n this.value.set(newValue);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n model,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScPlainInput } from './plain-input';\n\nexport const scInputStyles = signal(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n);\n\n@Component({\n selector: 'input[sc-input]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ScPlainInput,\n inputs: ['value'],\n outputs: ['valueChange'],\n },\n ],\n})\nexport class ScInput {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn(scInputStyles(), this.classInput()));\n\n readonly value = model<string>();\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-auto-resize-input',\n imports: [],\n template: `\n <div class=\"inline-flex items-center\">\n <!-- Hidden span to calculate width -->\n <span class=\"invisible absolute whitespace-pre\" #sizer [style.font]=\"getFont()\">\n {{ value() || placeholder() }}\n </span>\n\n <!-- Actual input -->\n <input\n #input\n [type]=\"type()\"\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [class]=\"inputClass()\"\n [style.width.px]=\"width()\"\n [min]=\"minWidth()\"\n [max]=\"maxWidth()\"\n [disabled]=\"disabled()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n </div>\n\n <br />\n width: {{ width() }}\n <br />\n sizerWidth: {{ sizerWidth() }}\n <br />\n maxWidth: {{ maxWidth() }}\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScAutoResizeInput),\n multi: true,\n },\n ],\n})\nexport class ScAutoResizeInput implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('relative inline-block', this.classInput()));\n\n readonly input = viewChild.required<ElementRef<HTMLInputElement>>('input');\n readonly sizer = viewChild.required<ElementRef<HTMLSpanElement>>('sizer');\n\n readonly type = input('text');\n readonly placeholder = input('');\n readonly minWidth = input(60);\n readonly maxWidth = input(500);\n readonly inputClass = input(\n 'px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500',\n );\n\n readonly value = model('');\n\n protected readonly sizerWidth = signal(0);\n\n //TODO understand the meaning of 16, 24 worked better\n setSizerWidth(): void {\n this.sizerWidth.set(this.sizer().nativeElement.offsetWidth + 24);\n }\n\n // Adjust input width based on span content\n width = computed(() => {\n if (this.sizerWidth() <= this.minWidth()) {\n return this.minWidth();\n }\n\n return Math.min(this.sizerWidth(), this.maxWidth());\n });\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n protected readonly disabled = linkedSignal(() => this.disabledInput());\n\n constructor() {\n afterNextRender(() => {\n this.setSizerWidth();\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // Get computed font style of input for accurate width calculation\n getFont(): string {\n const inputValue = this.input();\n if (!inputValue?.nativeElement) return '';\n const computed = window.getComputedStyle(inputValue.nativeElement);\n return computed.font;\n }\n\n // Handle input event\n onInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.value.set(input.value);\n this.setSizerWidth();\n this.onChange(this.value());\n this.changeDetectorRef.markForCheck();\n }\n\n onBlur(): void {\n this.onTouch();\n }\n\n // ControlValueAccessor methods\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'label[sc-label]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScLabel {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n this.classInput(),\n ),\n );\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-popover',\n imports: [NgTemplateOutlet],\n template: `\n @if (templateRef()) {\n <ng-container *ngTemplateOutlet=\"templateRef()\"></ng-container>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPopover {\n templateRef = signal<TemplateRef<unknown> | null>(null);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'z-50 w-full rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n this.class(),\n ),\n );\n}\n","import { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n} from '@angular/core';\n\nimport { ScPopover } from './popover';\n\n@Directive({\n selector: '[scPopoverTriggerFor]',\n host: {\n '(click)': 'open()',\n },\n})\nexport class ScPopoverTriggerFor implements OnDestroy {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly viewContainer = inject(ViewContainerRef);\n\n readonly scPopoverTriggerFor = input.required<TemplateRef<unknown>>();\n\n private overlayRef: OverlayRef | null = null;\n\n open(): void {\n if (this.overlayRef?.hasAttached() === true) {\n return;\n }\n\n this.attachTooltip();\n }\n\n close(): void {\n if (this.overlayRef?.hasAttached() === true) {\n this.overlayRef?.detach();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n private attachTooltip(): void {\n if (this.overlayRef === null) {\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n //TODO make this a input\n this.overlayRef.updateSize({ width: 320 });\n\n // const injector = Injector.create({\n // providers: [\n // {\n // provide: TOOLTIP_DATA,\n // useValue: this.appTooltip,\n // },\n // ],\n // });\n const componentPortal = new ComponentPortal(ScPopover, this.viewContainer);\n\n // Attach tooltip portal to overlay\n const componentRef: ComponentRef<ScPopover> = this.overlayRef.attach(componentPortal);\n\n componentRef.instance.templateRef.set(this.scPopoverTriggerFor());\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.element)\n .withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n // panelClass: 'top',\n offsetY: -8,\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n // panelClass: 'bottom',\n offsetY: 8,\n },\n ]);\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface ImageData {\n url: string | null | undefined;\n alt: string | null | undefined;\n title: string | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-image-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">\n Insert advanced image\n </h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"imageForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"image-url\"\n >\n Image URL\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"image-url\"\n type=\"url\"\n name=\"image-url\"\n formControlName=\"url\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"alt\"\n >\n Image alt\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"alt\"\n type=\"text\"\n formControlName=\"alt\"\n name=\"alt\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"title\"\n >\n Image title\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"title\"\n type=\"text\"\n formControlName=\"title\"\n name=\"title\"\n />\n </div>\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"\n dialogRef.close({\n url: url?.value,\n alt: alt?.value,\n title: title?.value,\n })\n \"\n >\n Add image\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddImageDialog {\n dialogRef = inject<DialogRef<ImageData>>(DialogRef<ImageData>);\n\n imageForm = new FormGroup({\n url: new FormControl('https://placehold.co/600x400', Validators.required),\n alt: new FormControl(''),\n title: new FormControl(''),\n });\n\n get url() {\n return this.imageForm.get('url');\n }\n\n get alt() {\n return this.imageForm.get('alt');\n }\n\n get title() {\n return this.imageForm.get('title');\n }\n}\n","import { Dialog, DialogModule } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiImagePlusIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../../button';\nimport { ScInput } from '../../input';\nimport { ScLabel } from '../../label';\nimport { ScPopoverTriggerFor } from '../../popover';\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ImageData, ScAddImageDialog } from '../toolbar/add-image-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-image',\n imports: [\n ScTooltip,\n DialogModule,\n ScButton,\n ScToggle,\n ScLabel,\n ScInput,\n ScPopoverTriggerFor,\n SiImagePlusIcon,\n ],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add image\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M13 10a1 1 0 0 1 1-1h.01a1 1 0 1 1 0 2H14a1 1 0 0 1-1-1Z\"\n clip-rule=\"evenodd\"\n />\n <path\n fill-rule=\"evenodd\"\n d=\"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12c0 .556-.227 1.06-.593 1.422A.999.999 0 0 1 20.5 20H4a2.002 2.002 0 0 1-2-2V6Zm6.892 12 3.833-5.356-3.99-4.322a1 1 0 0 0-1.549.097L4 12.879V6h16v9.95l-3.257-3.619a1 1 0 0 0-1.557.088L11.2 18H8.892Z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n <span class=\"sr-only\">Add image</span>\n </button>\n\n <button\n [scPopoverTriggerFor]=\"popover\"\n [attr.aria-label]=\"ariaLabel\"\n [scTooltip]=\"ariaLabel\"\n type=\"button\"\n sc-toggle\n variant=\"outline\"\n >\n <svg si-image-plus-icon></svg>\n <span class=\"sr-only\">{{ ariaLabel }}</span>\n </button>\n\n <ng-template #popover>\n <div class=\"grid gap-4\">\n <div class=\"space-y-2\">\n <h4 class=\"font-medium leading-none\">Dimensions</h4>\n <p class=\"text-sm text-muted-foreground\">Set the dimensions for the layer.</p>\n </div>\n <div class=\"grid gap-2\">\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <label sc-label for=\"width\">Url</label>\n <input class=\"col-span-2 h-8\" id=\"width\" sc-input defaultValue=\"100%\" />\n </div>\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <label sc-label for=\"maxWidth\">Alt</label>\n <input class=\"col-span-2 h-8\" id=\"maxWidth\" sc-input defaultValue=\"300px\" />\n </div>\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <label sc-label for=\"height\">Title</label>\n <input class=\"col-span-2 h-8\" id=\"height\" sc-input defaultValue=\"25px\" />\n </div>\n <div class=\"grid grid-cols-3 items-center gap-4\">\n <button sc-button variant=\"outline\" type=\"button\">Cancel</button>\n <button sc-button type=\"button\">Done</button>\n </div>\n </div>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionImage {\n ariaLabel = 'Add image';\n\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.image.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setImage(image: ImageData | undefined) {\n if (image?.url) {\n this.editor\n .chain()\n .focus()\n .setImage({\n src: image.url,\n alt: image.alt ? image.alt : '',\n title: image.title ? image.title : '',\n })\n .run();\n }\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<ImageData>(ScAddImageDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.setImage(result);\n });\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface LinkData {\n url: string | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-link-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n tabindex=\"-1\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">Insert Url</h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"linkForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"url\"\n >\n Url\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"url\"\n type=\"url\"\n name=\"url\"\n formControlName=\"url\"\n />\n </div>\n\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"\n dialogRef.close({\n url: url?.value,\n })\n \"\n >\n Add link\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddLinkDialog {\n dialogRef = inject<DialogRef<LinkData>>(DialogRef<LinkData>);\n\n linkForm = new FormGroup({\n url: new FormControl('https://flowbite.com', Validators.required),\n });\n\n get url() {\n return this.linkForm.get('url');\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { LinkData, ScAddLinkDialog } from '../toolbar/add-link-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-link',\n imports: [ScTooltip],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add link\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M13.213 9.787a3.391 3.391 0 0 0-4.795 0l-3.425 3.426a3.39 3.39 0 0 0 4.795 4.794l.321-.304m-.321-4.49a3.39 3.39 0 0 0 4.795 0l3.424-3.426a3.39 3.39 0 0 0-4.794-4.795l-1.028.961\"\n />\n </svg>\n <span class=\"sr-only\">Link</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionLink {\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.setLink.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<LinkData>(ScAddLinkDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.editor\n .chain()\n .focus()\n .toggleLink({ href: result?.url ?? '' })\n .run();\n });\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface AttributeData {\n name: string | null | undefined;\n value: string | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-cell-attribute-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"fixed inset-x-0 top-0 z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n id=\"cell-attribute-modal\"\n tabindex=\"-1\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">Add cell attribute</h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n data-modal-hide=\"cell-attribute-modal\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"attributeForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"attribute-name\"\n >\n Attribute name\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"attribute-name\"\n type=\"text\"\n formControlName=\"name\"\n placeholder=\"eg. backgroundColor\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"attribute-value\"\n >\n Attribute value\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"attribute-value\"\n type=\"text\"\n formControlName=\"value\"\n placeholder=\"#E1EFFE;\"\n />\n </div>\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"\n dialogRef.close({\n name: name?.value,\n value: value?.value,\n })\n \"\n type=\"submit\"\n >\n Set attribute\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddCellAttributeDialog {\n dialogRef = inject<DialogRef<AttributeData>>(DialogRef<AttributeData>);\n\n attributeForm = new FormGroup({\n name: new FormControl('backgroundColor', Validators.required),\n value: new FormControl('#E1EFFE;'),\n });\n\n get name() {\n return this.attributeForm.get('name');\n }\n\n get value() {\n return this.attributeForm.get('value');\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScSeparator } from '../../separator';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { AttributeData, ScAddCellAttributeDialog } from '../toolbar/add-cell-attribute-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-table',\n imports: [ScTooltip, ScSeparator],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"insertTable()\"\n type=\"button\"\n scTooltip=\"Add table\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15v3c0 .5523.44772 1 1 1h10.5M3 15v-4m0 4h11M3 11V6c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5M3 11h18m0 0v1M8 11v8m4-8v8m4-8v2m1 4h2m0 0h2m-2 0v2m0-2v-2\"\n />\n </svg>\n <span class=\"sr-only\">Add table</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"deleteTable()\"\n type=\"button\"\n scTooltip=\"Delete table\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h10.5M3 15.5v-4m0 4h11m-11-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5m-18 0h18m0 0v1m-13-1v8m4-8v8m4-8v2m1.8956 5.9528 1.5047-1.5047m0 0 1.5048-1.5048m-1.5048 1.5048 1.4605 1.4604m-1.4605-1.4604-1.4604-1.4605\"\n />\n </svg>\n <span class=\"sr-only\">Delete table</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addColumnBefore()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-column-before\"\n scTooltip=\"Add column before\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 5.5v14m-8-7h2m0 0h2m-2 0v2m0-2v-2m12 1h-6m6 4h-6m-11 4h16c.5523 0 1-.4477 1-1v-12c0-.55228-.4477-1-1-1H4c-.55228 0-1 .44772-1 1v12c0 .5523.44772 1 1 1Z\"\n />\n </svg>\n <span class=\"sr-only\">Add column before</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addColumnAfter()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-column-after\"\n scTooltip=\"Add column after\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 5.5v14m8-7h-2m0 0h-2m2 0v2m0-2v-2m-12 1h6m-6 4h6m11 4H4c-.55228 0-1-.4477-1-1v-12c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v12c0 .5523-.4477 1-1 1Z\"\n />\n </svg>\n <span class=\"sr-only\">Add column after</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"deleteColumn()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-remove-column\"\n scTooltip=\"Remove column\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 5.5v14m-6-8h6m-6 4h6m4.5061-1.4939L15.0123 12.5m0 0 1.5061-1.5061M15.0123 12.5l1.5061 1.5061M15.0123 12.5l-1.5062-1.5061M20 19.5H4c-.55228 0-1-.4477-1-1v-12c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v12c0 .5523-.4477 1-1 1Z\"\n />\n </svg>\n <span class=\"sr-only\">Remove column</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addRowBefore()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-row-before\"\n scTooltip=\"Add row before\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-6-9h2m0 0h2m-2 0v2m0-2v-2\"\n />\n </svg>\n <span class=\"sr-only\">Add row before</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"addRowAfter()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-add-row-after\"\n scTooltip=\"Add row after\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 9.5v-3c0-.55228.44772-1 1-1h16c.5523 0 1 .44771 1 1v3m-18 0v9c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-9m-18 0h18m-13 0v-4m4 4v-4m4 4v-4m-6 9h2m0 0h2m-2 0v-2m0 2v2\"\n />\n </svg>\n <span class=\"sr-only\">Add row after</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"deleteRow()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-remove-row\"\n scTooltip=\"Remove row\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-5.5061-7.4939L12 10.5m0 0 1.5061-1.50614M12 10.5l1.5061 1.5061M12 10.5l-1.5061-1.50614\"\n />\n </svg>\n <span class=\"sr-only\">Remove row</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"mergeCells()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-merge-cells\"\n scTooltip=\"Merge cells\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 18.5v2H4v-16h6v2m4 12v2h6v-16h-6v2m-6.49543 8.4954L10 12.5m0 0-2.49543-2.4954M10 12.5H4.05191m12.50199 2.5539L14 12.5m0 0 2.5539-2.55392M14 12.5h5.8319\"\n />\n </svg>\n <span class=\"sr-only\">Merge cells</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"splitCell()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-split-cells\"\n scTooltip=\"Split cells\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M4 18.5v2h6v-16H4v2m16 12v2h-6v-16h6v2M6.49545 14.9954 4.00003 12.5m0 0 2.49542-2.4954M4.00003 12.5h5.94809m7.49798 2.5539L20 12.5m0 0-2.5539-2.55392M20 12.5h-5.8319\"\n />\n </svg>\n <span class=\"sr-only\">Split cells</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"mergeOrSplit()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-merge-or-split\"\n scTooltip=\"Merge or split\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M18.5045 14.9954 21 12.5m0 0-2.4955-2.4954M21 12.5h-5.9481m-9.49798 2.5539L3 12.5m0 0 2.55392-2.55392M3 12.5h5.83192m.16807 7v-14H15v14H8.99999Z\"\n />\n </svg>\n <span class=\"sr-only\">Merge or split</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"toggleHeaderColumn()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-toggle-header-column\"\n scTooltip=\"Toggle header column\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 5.5v14m6-8h-6m6 4h-6m-9-3h1.99093M4 19.5h16c.5523 0 1-.4477 1-1v-12c0-.55228-.4477-1-1-1H4c-.55228 0-1 .44772-1 1v12c0 .5523.44772 1 1 1Zm8-7c0 1.1046-.8954 2-2 2-1.10457 0-2-.8954-2-2s.89543-2 2-2c1.1046 0 2 .8954 2 2Z\"\n />\n </svg>\n <span class=\"sr-only\">Toggle header column</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"toggleHeaderRow()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-toggle-header-row\"\n scTooltip=\"Toggle header row\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-7-9h1.9909M15 10.5c0 1.1046-.8954 2-2 2s-2-.8954-2-2c0-1.10457.8954-2 2-2s2 .89543 2 2Z\"\n />\n </svg>\n <span class=\"sr-only\">Toggle header row</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"toggleHeaderCell()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-toggle-header-cell\"\n scTooltip=\"Toggle header cell\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h16c.5523 0 1-.4477 1-1v-3m-18 0v-9c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v9m-18 0h18m-13 0v4m4-4v4m4-4v4m-7-9h1.9909M15 10.5c0 1.1046-.8954 2-2 2s-2-.8954-2-2c0-1.10457.8954-2 2-2s2 .89543 2 2Z\"\n />\n </svg>\n <span class=\"sr-only\">Toggle header cell</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add cell attribute\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h8v-8m-9 4v-4m0 4h9m-9-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v4m-18 1h11m6.25 5c0 1.2426-1.0073 2.25-2.25 2.25m2.25-2.25c0-1.2426-1.0073-2.25-2.25-2.25m2.25 2.25H21m-3 2.25c-1.2426 0-2.25-1.0074-2.25-2.25M18 18.75v.75m-2.25-3c0-1.2426 1.0074-2.25 2.25-2.25m-2.25 2.25H15m3-2.25v-.75m-1.591 1.409-.5303-.5303m4.2426 4.2426-.5303-.5303m-3.182 0-.5303.5303m4.2426-4.2426-.5303.5303\"\n />\n </svg>\n <span class=\"sr-only\">Add cell attribute</span>\n </button>\n\n <sc-separator class=\"h5\" orientation=\"vertical\" />\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"fixTables()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-fix-tables\"\n scTooltip=\"Fix tables\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h4v-4m-5 0v-4m0 4h5m-5-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v1.98935M3 11.5h5v4m9.4708 4.1718-.8696-1.4388-2.8164-.235-2.573-4.2573 1.4873-2.8362 1.4441 2.3893c.3865.6396 1.2183.8447 1.8579.4582.6396-.3866.8447-1.2184.4582-1.858l-1.444-2.38925h3.1353l2.6101 4.27715-1.0713 2.5847.8695 1.4388\"\n />\n </svg>\n <span class=\"sr-only\">Fix tables</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"goToPreviousCell()\"\n type=\"button\"\n scTooltip=\"Previous cell\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h9.5M3 15.5v-4m0 4h9m-9-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5H3Zm5 0v8m4-8v8m5.9001-1.0999L16 16.5m0 0 1.9001-1.9001M16 16.5h5\"\n />\n </svg>\n <span class=\"sr-only\">Previous cell</span>\n </button>\n\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"goToNextCell()\"\n type=\"button\"\n data-tooltip-target=\"tooltip-next-cell\"\n scTooltip=\"Next cell\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 15.5v3c0 .5523.44772 1 1 1h9.5M3 15.5v-4m0 4h9m-9-4v-5c0-.55228.44772-1 1-1h16c.5523 0 1 .44772 1 1v5H3Zm5 0v8m4-8v8m7.0999-1.0999L21 16.5m0 0-1.9001-1.9001M21 16.5h-5\"\n />\n </svg>\n <span class=\"sr-only\">Next cell</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionTable {\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.table.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n insertTable() {\n this.editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run();\n }\n\n deleteTable() {\n this.editor.chain().focus().deleteTable().run();\n }\n\n addColumnBefore() {\n this.editor.chain().focus().addColumnBefore().run();\n }\n\n addColumnAfter() {\n this.editor.chain().focus().addColumnAfter().run();\n }\n\n deleteColumn() {\n this.editor.chain().focus().deleteColumn().run();\n }\n\n addRowBefore() {\n this.editor.chain().focus().addRowBefore().run();\n }\n\n addRowAfter() {\n this.editor.chain().focus().addRowAfter().run();\n }\n\n deleteRow() {\n this.editor.chain().focus().deleteRow().run();\n }\n\n mergeCells() {\n this.editor.chain().focus().mergeCells().run();\n }\n\n splitCell() {\n this.editor.chain().focus().splitCell().run();\n }\n\n mergeOrSplit() {\n this.editor.chain().focus().mergeOrSplit().run();\n }\n\n toggleHeaderColumn() {\n this.editor.chain().focus().toggleHeaderColumn().run();\n }\n\n toggleHeaderRow() {\n this.editor.chain().focus().toggleHeaderRow().run();\n }\n\n toggleHeaderCell() {\n this.editor.chain().focus().toggleHeaderCell().run();\n }\n\n fixTables() {\n this.editor.commands.fixTables();\n }\n\n goToPreviousCell() {\n this.editor.chain().focus().goToPreviousCell().run();\n }\n\n goToNextCell() {\n this.editor.chain().focus().goToNextCell().run();\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<AttributeData>(ScAddCellAttributeDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.editor.commands.setCellAttribute(result?.name ?? '', result?.value ?? '');\n });\n }\n}\n","import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-text-style',\n imports: [CdkMenuTrigger, CdkMenu, CdkMenuItem, ScTooltip],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n [cdkMenuTriggerFor]=\"textSizeDropdown\"\n type=\"button\"\n scTooltip=\"Text size\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 6.2V5h11v1.2M8 5v14m-3 0h6m2-6.8V11h8v1.2M17 11v8m-1.5 0h3\"\n />\n </svg>\n <span class=\"sr-only\">Text size</span>\n </button>\n\n <ng-template #textSizeDropdown>\n <div\n class=\"z-10 w-72 rounded bg-white p-2 shadow dark:bg-gray-700\"\n id=\"textSizeDropdown\"\n cdkMenu\n >\n <ul class=\"space-y-1 text-sm font-medium\" aria-labelledby=\"setTextSizeButton\">\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-base text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('16px')\"\n data-text-size=\"16px\"\n cdkMenuItem\n type=\"button\"\n >\n 16px (Default)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-xs text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('12px')\"\n data-text-size=\"12px\"\n cdkMenuItem\n type=\"button\"\n >\n 12px (Tiny)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-sm text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('14px')\"\n data-text-size=\"14px\"\n cdkMenuItem\n type=\"button\"\n >\n 14px (Small)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-lg text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('18px')\"\n data-text-size=\"18px\"\n cdkMenuItem\n type=\"button\"\n >\n 18px (Lead)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-2xl text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('24px')\"\n data-text-size=\"24px\"\n cdkMenuItem\n type=\"button\"\n >\n 24px (Large)\n </button>\n </li>\n <li>\n <button\n class=\"flex w-full items-center justify-between rounded px-3 py-2 text-4xl text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600\"\n (cdkMenuItemTriggered)=\"setTextSize('36px')\"\n data-text-size=\"36px\"\n cdkMenuItem\n type=\"button\"\n >\n 36px (Huge)\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionTextStyle {\n private readonly parent = inject(ScEditor, { host: true });\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.textStyle.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setTextSize(fontSize: string) {\n this.editor.chain().focus().setMark('textStyle', { fontSize }).run();\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nexport interface VideoData {\n url: string | null | undefined;\n width: number | null | undefined;\n height: number | null | undefined;\n}\n\n@Component({\n selector: 'sc-add-video-dialog',\n imports: [ReactiveFormsModule],\n template: `\n <div\n class=\"z-50 h-[calc(100%-1rem)] max-h-full w-full items-center justify-center overflow-y-auto overflow-x-hidden md:inset-0\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <div class=\"relative max-h-full w-full max-w-md p-4\">\n <!-- Modal content -->\n <div class=\"relative rounded-lg bg-white shadow dark:bg-gray-700\">\n <!-- Modal header -->\n <div\n class=\"flex items-center justify-between rounded-t border-b p-4 md:p-5 dark:border-gray-600\"\n >\n <h3 class=\"text-xl font-semibold text-gray-900 dark:text-white\">\n Insert advanced video\n </h3>\n <button\n class=\"end-2.5 ms-auto inline-flex size-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"dialogRef.close()\"\n type=\"button\"\n >\n <svg\n class=\"size-3\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 14 14\"\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n />\n </svg>\n <span class=\"sr-only\">Close modal</span>\n </button>\n </div>\n <!-- Modal body -->\n <div class=\"p-4 md:p-5\">\n <form class=\"space-y-4\" [formGroup]=\"videoForm\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"URL\"\n >\n YouTube URL\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"URL\"\n type=\"url\"\n name=\"url\"\n formControlName=\"url\"\n />\n </div>\n <div class=\"grid grid-cols-2 gap-4\">\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"width\"\n >\n Video width\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"width\"\n type=\"number\"\n name=\"width\"\n formControlName=\"width\"\n />\n </div>\n <div>\n <label\n class=\"mb-2 block text-sm font-medium text-gray-900 dark:text-white\"\n for=\"height\"\n >\n Video height\n </label>\n <input\n class=\"block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-500 dark:bg-gray-600 dark:text-white dark:placeholder:text-gray-400\"\n id=\"height\"\n type=\"number\"\n name=\"height\"\n formControlName=\"height\"\n />\n </div>\n </div>\n <button\n class=\"w-full rounded-lg bg-blue-700 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800\"\n (click)=\"dialogRef.close(getVideoInfo())\"\n >\n Add video\n </button>\n </form>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAddVideoDialog {\n dialogRef = inject<DialogRef<VideoData>>(DialogRef<VideoData>);\n\n videoForm = new FormGroup({\n url: new FormControl('https://www.youtube.com/watch?v=KaLxCiilHns', Validators.required),\n width: new FormControl(''),\n height: new FormControl(''),\n });\n\n get url() {\n return this.videoForm.get('url');\n }\n\n get width() {\n return this.videoForm.get('width');\n }\n\n get height() {\n return this.videoForm.get('height');\n }\n\n getVideoInfo() {\n return {\n url: this.url?.value,\n width: parseInt(this.width?.value ?? ''),\n height: parseInt(this.height?.value ?? ''),\n };\n }\n}\n","import { Dialog, DialogModule } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiFileVideoIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToggle } from '../../toggle';\nimport { ScTooltip } from '../../tooltip';\nimport { ScEditor } from '../editor';\nimport { ScAddVideoDialog, VideoData } from '../toolbar/add-video-dialog';\nimport { ScExtensions } from './extensions';\n\n@Component({\n selector: 'sc-extension-youtube',\n imports: [ScTooltip, DialogModule, ScToggle, SiFileVideoIcon],\n template: `\n <button\n class=\"cursor-pointer rounded p-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-600 dark:hover:text-white\"\n (click)=\"openDialog()\"\n type=\"button\"\n scTooltip=\"Add video\"\n >\n <svg\n class=\"size-5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M9 7V2.221a2 2 0 0 0-.5.365L4.586 6.5a2 2 0 0 0-.365.5H9Zm2 0V2h7a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9h5a2 2 0 0 0 2-2Zm-2 4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H9Zm0 2h2v2H9v-2Zm7.965-.557a1 1 0 0 0-1.692-.72l-1.268 1.218a1 1 0 0 0-.308.721v.733a1 1 0 0 0 .37.776l1.267 1.032a1 1 0 0 0 1.631-.776v-2.984Z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n <span class=\"sr-only\">Add video</span>\n </button>\n\n <button type=\"button\" sc-toggle variant=\"outline\">\n <svg si-file-video-icon></svg>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScExtensionYoutube {\n private readonly parent = inject(ScEditor, { host: true });\n dialog = inject(Dialog);\n\n extensions = inject(ScExtensions);\n\n constructor() {\n this.extensions.youtube.set(true);\n }\n\n get editor() {\n return this.parent.editor;\n }\n\n setYoutubeVideo(video: VideoData | undefined) {\n if (video?.url) {\n this.editor.commands.setYoutubeVideo({\n src: video.url,\n width: video.width ? video.width : 640,\n height: video.height ? video.height : 480,\n });\n }\n }\n\n openDialog() {\n const dialogRef = this.dialog.open<VideoData>(ScAddVideoDialog, {\n minWidth: '600px',\n });\n\n dialogRef.closed.subscribe((result) => {\n this.setYoutubeVideo(result);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n forwardRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { Editor } from '@tiptap/core';\nimport Document from '@tiptap/extension-document';\nimport Heading from '@tiptap/extension-heading';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Text from '@tiptap/extension-text';\n\nimport { ScSeparator } from '../separator';\nimport { scArticleClasses } from '../typography';\nimport { ScEditorBlockquote } from './actions/editor-blockquote';\nimport { ScEditorBold } from './actions/editor-bold';\nimport { ScEditorBulletList } from './actions/editor-bullet-list';\nimport { ScEditorCode } from './actions/editor-code';\nimport { ScEditorHighlight } from './actions/editor-highlight';\nimport { ScEditorHorizontalRule } from './actions/editor-horizontal-rule';\nimport { ScEditorItalic } from './actions/editor-italic';\nimport { ScEditorOrderedList } from './actions/editor-ordered-list';\nimport { ScEditorParagraph } from './actions/editor-paragraph';\nimport { ScEditorRedo } from './actions/editor-redo';\nimport { ScEditorStrike } from './actions/editor-strike';\nimport { ScEditorTextAlignCenter } from './actions/editor-text-align-center';\nimport { ScEditorTextAlignLeft } from './actions/editor-text-align-left';\nimport { ScEditorTextAlignRight } from './actions/editor-text-align-right';\nimport { ScEditorUnderline } from './actions/editor-underline';\nimport { ScEditorUndo } from './actions/editor-undo';\nimport { ScEditorUnsetLink } from './actions/editor-unset-link';\nimport { ScEditorGroup } from './editor-group';\nimport { ScEditorToolbar } from './editor-toolbar';\nimport { ScExtensionColor } from './extensions/extension-color';\nimport { ScExtensionFontFamily } from './extensions/extension-font-family';\nimport { ScExtensionHeading } from './extensions/extension-heading';\nimport { ScExtensionImage } from './extensions/extension-image';\nimport { ScExtensionLink } from './extensions/extension-link';\nimport { ScExtensionTable } from './extensions/extension-table';\nimport { ScExtensionTextStyle } from './extensions/extension-text-style';\nimport { ScExtensionYoutube } from './extensions/extension-youtube';\nimport { ScExtensions } from './extensions/extensions';\n\n@Component({\n selector: 'sc-editor',\n imports: [\n ScEditorUndo,\n ScEditorRedo,\n ScEditorHighlight,\n ScExtensionColor,\n ScEditorBold,\n ScEditorUnderline,\n ScExtensionYoutube,\n ScExtensionImage,\n ScExtensionFontFamily,\n ScExtensionLink,\n ScEditorItalic,\n ScEditorBlockquote,\n ScEditorBulletList,\n ScEditorOrderedList,\n ScExtensionTextStyle,\n ScEditorParagraph,\n ScSeparator,\n ScEditorGroup,\n ScEditorStrike,\n ScEditorHorizontalRule,\n ScEditorCode,\n ScExtensionHeading,\n ScExtensionTable,\n ScEditorToolbar,\n ScEditorUnsetLink,\n ScEditorTextAlignRight,\n ScEditorTextAlignLeft,\n ScEditorTextAlignCenter,\n ],\n template: `\n <sc-editor-toolbar>\n <sc-editor-group>\n <sc-editor-undo />\n <sc-editor-redo />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-editor-bold />\n <sc-editor-italic />\n <sc-editor-underline />\n <sc-editor-highlight />\n <sc-extension-text-style />\n <sc-extension-color />\n <sc-extension-font-family />\n <sc-extension-link />\n <sc-editor-unset-link />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-editor-text-align-left />\n <sc-editor-text-align-center />\n <sc-editor-text-align-right />\n </sc-editor-group>\n\n <sc-editor-group>\n <sc-extension-heading />\n <sc-editor-paragraph />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-extension-image />\n <sc-extension-youtube />\n <sc-editor-bullet-list />\n <sc-editor-ordered-list />\n <sc-editor-blockquote />\n <sc-separator class=\"h-5\" orientation=\"vertical\" />\n <sc-editor-strike />\n <sc-editor-horizontal-rule />\n <sc-editor-code />\n </sc-editor-group>\n\n <sc-editor-group>\n <sc-extension-table />\n </sc-editor-group>\n </sc-editor-toolbar>\n\n <div class=\"rounded-b-lg bg-white px-4 py-2 dark:bg-gray-800\">\n <label class=\"sr-only\" for=\"wysiwyg-example\">Publish post</label>\n <div\n class=\"block w-full border-0 bg-white px-0 text-sm text-gray-800 focus:ring-0 dark:bg-gray-800 dark:text-white dark:placeholder:text-gray-400\"\n #editorDiv\n ></div>\n </div>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScEditor),\n multi: true,\n },\n ],\n})\nexport class ScEditor implements ControlValueAccessor {\n private readonly _cdr = inject(ChangeDetectorRef);\n\n readonly editorDiv = viewChild.required<ElementRef>('editorDiv');\n\n _value = signal('');\n\n _isEditable = signal(true);\n\n class = input<string>('');\n\n //TODO change styles\n classes = computed(() =>\n cn(\n 'block w-full rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-600 dark:bg-gray-700',\n this.class(),\n ),\n );\n\n editorClass = input<string>('');\n editorClasses = computed(() =>\n cn('mx-auto focus:outline-none', scArticleClasses(), this.editorClass()),\n );\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onChange: (value: string) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched: () => void = () => {};\n\n editor!: Editor;\n\n extensions = inject(ScExtensions);\n\n constructor() {\n afterNextRender(() => {\n this.createEditor();\n });\n }\n\n async createEditor() {\n const extensions = [];\n extensions.push(Document);\n extensions.push(Heading);\n extensions.push(Paragraph);\n extensions.push(Text);\n\n if (this.extensions.highlight()) {\n const Highlight = (await import('@tiptap/extension-highlight')).Highlight;\n extensions.push(Highlight);\n }\n\n if (this.extensions.textStyle()) {\n const TextStyle = (await import('@tiptap/extension-text-style')).TextStyle;\n extensions.push(TextStyle);\n }\n\n if (this.extensions.color()) {\n const Color = (await import('@tiptap/extension-color')).Color;\n extensions.push(Color);\n }\n\n if (this.extensions.fontFamily()) {\n const FontFamily = (await import('@tiptap/extension-font-family')).FontFamily;\n extensions.push(FontFamily);\n }\n\n if (this.extensions.underline()) {\n const Underline = (await import('@tiptap/extension-underline')).Underline;\n extensions.push(Underline);\n }\n\n if (this.extensions.image()) {\n const Image = (await import('@tiptap/extension-image')).Image;\n extensions.push(Image);\n }\n\n if (this.extensions.youtube()) {\n const Youtube = (await import('@tiptap/extension-youtube')).Youtube;\n extensions.push(Youtube);\n }\n\n if (this.extensions.link()) {\n const Link = (await import('@tiptap/extension-link')).Link;\n extensions.push(Link);\n }\n\n if (this.extensions.textAlign()) {\n const TextAlign = (await import('@tiptap/extension-text-align')).TextAlign;\n extensions.push(\n TextAlign.configure({\n types: ['heading', 'paragraph'],\n }),\n );\n }\n\n if (this.extensions.bulletList() || this.extensions.orderedList()) {\n const ListItem = (await import('@tiptap/extension-list-item')).ListItem;\n extensions.push(ListItem);\n }\n\n if (this.extensions.bulletList()) {\n const BulletList = (await import('@tiptap/extension-bullet-list')).BulletList;\n extensions.push(BulletList);\n }\n\n if (this.extensions.orderedList()) {\n const OrderedList = (await import('@tiptap/extension-ordered-list')).OrderedList;\n extensions.push(OrderedList);\n }\n\n if (this.extensions.strike()) {\n const Strike = (await import('@tiptap/extension-strike')).Strike;\n extensions.push(Strike);\n }\n\n if (this.extensions.italic()) {\n const Italic = (await import('@tiptap/extension-italic')).Italic;\n extensions.push(Italic);\n }\n\n if (this.extensions.bold()) {\n const Bold = (await import('@tiptap/extension-bold')).Bold;\n extensions.push(Bold);\n }\n\n if (this.extensions.horizontalRule()) {\n const HorizontalRule = (await import('@tiptap/extension-horizontal-rule')).HorizontalRule;\n extensions.push(HorizontalRule);\n }\n\n if (this.extensions.blockquote()) {\n const Blockquote = (await import('@tiptap/extension-blockquote')).Blockquote;\n extensions.push(Blockquote);\n }\n\n if (this.extensions.code()) {\n const Code = (await import('@tiptap/extension-code')).Code;\n extensions.push(Code);\n }\n\n if (this.extensions.history()) {\n const History = (await import('@tiptap/extension-history')).History;\n extensions.push(History);\n }\n\n if (this.extensions.table()) {\n const TableHeader = (await import('@tiptap/extension-table-header')).TableHeader;\n extensions.push(TableHeader);\n\n const TableRow = (await import('@tiptap/extension-table-row')).TableRow;\n extensions.push(TableRow);\n\n const TableCell = (await import('@tiptap/extension-table-cell')).TableCell;\n extensions.push(TableCell);\n\n const Table = (await import('@tiptap/extension-table')).Table;\n\n extensions.push(\n Table.configure({\n resizable: true,\n }),\n );\n }\n\n this.editor = new Editor({\n element: this.editorDiv().nativeElement,\n extensions: extensions,\n content: this._value(),\n editable: this._isEditable(),\n editorProps: {\n attributes: {\n class: this.editorClasses(),\n },\n },\n });\n\n this.editor.on('update', ({ editor }) => {\n this.setHtmlContent(editor.getHTML());\n });\n\n this.editor.on('blur', () => {\n this._onTouched();\n });\n }\n\n writeValue(value: string): void {\n this._value.set(value);\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this._isEditable.set(!isDisabled);\n }\n\n setHtmlContent(htmlContent: string) {\n this._value.set(htmlContent);\n this._onChange(htmlContent);\n this._cdr.markForCheck();\n }\n}\n","import { Highlightable, _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScSelect } from './select';\n\n@Component({\n selector: 'sc-option',\n imports: [SiCheckIcon],\n template: `\n @if (isSelected()) {\n <svg class=\"absolute left-2 flex size-4 items-center justify-center\" si-check-icon></svg>\n }\n\n <span #label>\n <ng-content />\n </span>\n `,\n host: {\n '[id]': 'id()',\n '[class]': 'class()',\n '[attr.data-disabled]': '_disabled()',\n '[attr.data-active]': 'active()',\n '(mouseover)': 'setActiveStyles()',\n '(mouseleave)': 'setInactiveStyles()',\n '(click)': 'toggle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScOption implements Highlightable {\n readonly id = signal<string>(inject(_IdGenerator).getId('sc-option-'));\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[active=true]:bg-accent data-[active=true]:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this.classInput(),\n ),\n );\n\n private readonly scSelect = inject(ScSelect, { host: true });\n\n protected isSelected = computed(() => this.value() === this.scSelect.value());\n\n readonly value = input.required<unknown>();\n\n private readonly labelEl = viewChild.required<ElementRef<HTMLSpanElement>>('label');\n\n readonly label = computed(() => {\n return this.labelEl().nativeElement.textContent?.trim() ?? '';\n });\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Gets the host DOM element. */\n getHostElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n readonly active = signal(false);\n\n setActiveStyles(): void {\n this.active.set(true);\n }\n\n setInactiveStyles(): void {\n this.active.set(false);\n }\n\n disabled: boolean | undefined;\n\n getLabel(): string {\n return this.label();\n }\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n\n protected readonly _disabled = computed(\n () => this.disabledInput() || this.disabled || this.scSelect.disabled(),\n );\n\n protected toggle() {\n if (this.isSelected()) {\n this.deselect();\n } else {\n this.select();\n }\n }\n\n private select() {\n if (this._disabled()) {\n return;\n }\n\n this.scSelect.setValue(this.value());\n }\n\n private deselect() {\n if (this._disabled()) {\n return;\n }\n\n this.scSelect.setValue(null);\n }\n}\n","import { ActiveDescendantKeyManager, _IdGenerator } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { hasModifierKey } from '@angular/cdk/keycodes';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Injector,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiChevronDownIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScOption } from './option';\n\n@Component({\n selector: 'sc-select',\n imports: [SiChevronDownIcon],\n template: `\n <button\n class=\"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\"\n #scSelectTrigger\n [disabled]=\"disabled()\"\n [attr.aria-expanded]=\"isExpanded()\"\n [attr.aria-controls]=\"panelId\"\n (click)=\"open()\"\n type=\"button\"\n role=\"combobox\"\n >\n {{ label() }}\n <svg class=\"size-4 opacity-50\" si-chevron-down-icon></svg>\n </button>\n\n <ng-template #panelTemplate>\n <ul\n class=\"relative max-h-96 w-full overflow-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n [id]=\"panelId\"\n role=\"listbox\"\n >\n <ng-content />\n </ul>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScSelect),\n multi: true,\n },\n ],\n})\nexport class ScSelect implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly overlay = inject(Overlay);\n private readonly directionality = inject(Directionality, { optional: true });\n private readonly viewContainerRef = inject(ViewContainerRef);\n private portal: TemplatePortal<unknown> | null = null;\n readonly scSelectTrigger = viewChild.required<ElementRef<HTMLButtonElement>>('scSelectTrigger');\n\n protected readonly panelId: string = inject(_IdGenerator).getId('sc-select-panel-');\n readonly panelTemplate = viewChild.required<TemplateRef<unknown>>('panelTemplate');\n\n readonly placeholder = input<string>('');\n\n readonly isOpen = signal<boolean>(false);\n\n readonly options = contentChildren(ScOption);\n\n private readonly activeDescendant = signal<string | null>(null);\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly disabled = linkedSignal(() => this.disabledInput());\n\n constructor() {\n effect(() => {\n //TODO scroll into option when the panel is open\n if (this.isOpen()) {\n this.syncSelectedState(this.value(), this.options(), this.options()[0]);\n }\n });\n\n this.keyManager.change.subscribe(() =>\n this.activeDescendant.set(this.keyManager.activeItem?.id() ?? null),\n );\n }\n\n /**\n * Scrolls an option into view.\n * @param option Option to be scrolled into view.\n * @param position Position to which to align the option relative to the scrollable container.\n */\n scrollOptionIntoView(option: ScOption, position: ScrollLogicalPosition) {\n console.log(option.value());\n option.getHostElement().scrollIntoView({ block: position, inline: position });\n }\n\n private readonly injector = inject(Injector);\n private readonly keyManager = new ActiveDescendantKeyManager(this.options, this.injector)\n .withHomeAndEnd(true)\n .withPageUpDown(true)\n .withVerticalOrientation(true);\n\n readonly value = model<unknown>(undefined);\n\n writeValue(value: unknown): void {\n this.value.set(value);\n }\n\n setValue(value: unknown) {\n this.value.set(value);\n this.onChange(value);\n this.changeDetectorRef.markForCheck();\n this.close();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (value: unknown) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: () => void = () => {};\n\n registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n label = computed(() => {\n if (this.value()) {\n return this.options()\n .find((element) => element.value() === this.value())\n ?.label();\n }\n\n return this.placeholder();\n });\n\n isExpanded = computed(() => {\n return this.isOpen();\n });\n\n private _overlayRef: OverlayRef | null = null;\n\n private _getOverlayRef(): OverlayRef {\n if (this._overlayRef) {\n return this._overlayRef;\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.scSelectTrigger())\n .withFlexibleDimensions(false)\n .withPush(false)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 8,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -8,\n },\n ]);\n\n this._overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n direction: this.directionality || 'ltr',\n hasBackdrop: false,\n });\n\n this._overlayRef.keydownEvents().subscribe((event) => {\n this._handleKeydown(event);\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n const target = _getEventTarget(event) as HTMLElement;\n const origin = this.scSelectTrigger().nativeElement;\n\n if (target && target !== origin && !origin.contains(target)) {\n this.close();\n }\n });\n\n return this._overlayRef;\n }\n\n open(): void {\n if (this.isOpen()) {\n return;\n }\n\n this.isOpen.set(true);\n\n const overlayRef = this._getOverlayRef();\n\n overlayRef.updateSize({ width: this.scSelectTrigger().nativeElement.offsetWidth });\n this.portal ??= new TemplatePortal(this.panelTemplate(), this.viewContainerRef);\n overlayRef.attach(this.portal);\n }\n\n close(): void {\n if (this.isOpen()) {\n this.focusOnTrigger();\n this.isOpen.set(false);\n this._overlayRef?.detach();\n }\n }\n\n focusOnTrigger() {\n this.scSelectTrigger().nativeElement.focus();\n }\n\n /**\n * Synchronizes the internal state of the component based on a specific selected date.\n * @param value Currently selected date.\n * @param options Options rendered out in the timepicker.\n * @param fallback Option to set as active if no option is selected.\n */\n private syncSelectedState(\n value: unknown,\n options: readonly ScOption[],\n fallback: ScOption | null,\n ): void {\n let hasSelected = false;\n\n for (const option of options) {\n if (value && option.value() === value) {\n this.scrollOptionIntoView(option, 'center');\n untracked(() => this.keyManager.setActiveItem(option));\n hasSelected = true;\n }\n }\n\n // If no option was selected, we need to reset the key manager since\n // it might be holding onto an option that no longer exists.\n if (!hasSelected) {\n if (fallback) {\n untracked(() => this.keyManager.setActiveItem(fallback));\n this.scrollOptionIntoView(fallback, 'center');\n } else {\n untracked(() => this.keyManager.setActiveItem(-1));\n }\n }\n }\n\n /** Handles keyboard events while the overlay is open. */\n private _handleKeydown(event: KeyboardEvent): void {\n const key = event.key;\n\n if (key === 'Tab') {\n this.close();\n } else if (key === 'Escape' && !hasModifierKey(event)) {\n event.preventDefault();\n this.close();\n } else if (key === 'Enter') {\n event.preventDefault();\n\n if (this.keyManager.activeItem) {\n this.setValue(this.keyManager.activeItem.value() ?? '');\n } else {\n this.close();\n }\n } else {\n const previousActive = this.keyManager.activeItem;\n this.keyManager.onKeydown(event);\n const currentActive = this.keyManager.activeItem;\n\n if (currentActive && currentActive !== previousActive) {\n this.scrollOptionIntoView(currentActive, 'nearest');\n }\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n output,\n} from '@angular/core';\n\nimport { SiEllipsisIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\n\n@Component({\n selector: 'sc-page-item',\n imports: [ScButton, SiEllipsisIcon],\n template: `\n <li>\n @if (page() === '...') {\n <span class=\"flex size-9 items-center justify-center\" [attr.aria-hidden]=\"true\">\n <svg class=\"size-4\" si-ellipsis-icon></svg>\n <span class=\"sr-only\">More pages</span>\n </span>\n } @else {\n <a\n [attr.aria-current]=\"isActive() ? 'page' : undefined\"\n [variant]=\"isActive() ? 'secondary' : 'outline'\"\n [size]=\"'icon'\"\n (click)=\"selectPage()\"\n sc-button\n href=\"javascript:void(0)\"\n >\n {{ page() }}\n </a>\n }\n </li>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageItem {\n currentPage = input.required<number>();\n page = input.required<number | '...'>();\n\n pageChanged = output<number>();\n\n isActive = computed(() => {\n return this.page() === this.currentPage();\n });\n\n selectPage() {\n const page = this.page();\n if (page !== '...' && page !== this.currentPage()) {\n this.pageChanged.emit(page);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'nav[sc-pagination]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'navigation',\n '[attr.aria-label]': '\"pagination\"',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPagination {\n class = input<string>('');\n\n classes = computed(() => cn('mx-auto flex w-full justify-center', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n computed,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport {\n SiChevronLeftIcon,\n SiChevronRightIcon,\n SiChevronsLeftIcon,\n SiChevronsRightIcon,\n} from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScOption, ScSelect } from '../select';\nimport { ScPageEvent } from './page-event';\nimport { ScPageItem } from './page-item';\nimport { ScPagination } from './pagination';\n\n/** The default page size if there is no page size and there are no provided page size options. */\nconst DEFAULT_PAGE_SIZE = 10;\n\n@Component({\n selector: 'sc-paginator',\n imports: [\n ScPageItem,\n ReactiveFormsModule,\n ScPagination,\n ScButton,\n SiChevronLeftIcon,\n SiChevronsLeftIcon,\n SiChevronRightIcon,\n SiChevronsRightIcon,\n ScSelect,\n ScOption,\n ],\n template: `\n @if (!hidePageSize()) {\n <div>\n <label class=\"\" for=\"items-per-page\">Items per page:</label>\n <sc-select class=\"\" id=\"items-per-page\" [formControl]=\"pageSizeFormControl\">\n @for (pageSizeOption of pageSizeOptions(); track $index) {\n <sc-option [value]=\"pageSizeOption\">{{ pageSizeOption }}</sc-option>\n }\n </sc-select>\n </div>\n }\n\n <div class=\"\">\n Showing\n <span>{{ firstItemPage() }}-{{ lastItemPage() }}</span>\n of\n <span>{{ totalSize() }}</span>\n </div>\n\n <nav sc-pagination>\n <ul class=\"flex flex-row items-center gap-1\">\n @if (showFirstLastButtons()) {\n <li>\n <button\n [disabled]=\"isPrevPageDisabled()\"\n [attr.aria-label]=\"'Go to first page'\"\n (click)=\"firstPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevrons-left-icon></svg>\n <span class=\"sr-only\">First page</span>\n </button>\n </li>\n }\n\n <li>\n <button\n [disabled]=\"isPrevPageDisabled()\"\n [attr.aria-label]=\"'Go to previous page'\"\n (click)=\"prevPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevron-left-icon></svg>\n <span class=\"sr-only\">Previous page</span>\n </button>\n </li>\n\n @for (page of pageRanges(); track $index) {\n <sc-page-item\n [page]=\"page\"\n [currentPage]=\"currentPage()\"\n (pageChanged)=\"changePage($event)\"\n />\n }\n\n <li>\n <button\n [disabled]=\"isNextPageDisabled()\"\n [attr.aria-label]=\"'Go to next page'\"\n (click)=\"nextPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevron-right-icon></svg>\n <span class=\"sr-only\">Next page</span>\n </button>\n </li>\n\n @if (showFirstLastButtons()) {\n <li>\n <button\n [disabled]=\"isNextPageDisabled()\"\n [attr.aria-label]=\"'Go to last page'\"\n (click)=\"lastPage()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n >\n <svg si-chevrons-right-icon></svg>\n <span class=\"sr-only\">Last page</span>\n </button>\n </li>\n }\n </ul>\n </nav>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPaginator implements OnInit {\n class = input<string>('');\n\n classes = computed(() => cn('flex', this.class()));\n\n /** The one-based page index of the displayed list of items. Defaulted to 1. */\n currentPage = input<number>(1);\n\n /** The total number of items that are being paginated. */\n totalSize = input.required<number>();\n\n /** The set of provided page size options to display to the user. */\n pageSizeOptions = input<number[]>([5, DEFAULT_PAGE_SIZE, 25]);\n\n /** Number of items to display on a page. By default set to 10. */\n pageSize = input<number>(DEFAULT_PAGE_SIZE);\n\n /** Whether to hide the page size selection UI from the user. */\n hidePageSize = input<boolean>(false);\n\n /** Whether to show the first/last buttons UI to the user. */\n showFirstLastButtons = input<boolean>(false);\n\n /** Event emitted when the paginator changes the page index. */\n pageChanged = output<ScPageEvent>();\n\n constructor() {\n //TODO find a better way\n effect(() => {\n this.pageSizeFormControl.setValue(this.pageSize());\n });\n }\n\n ngOnInit() {\n this.pageSizeFormControl.valueChanges.subscribe((value) => {\n if (value) {\n this.pageChanged.emit({ page: 1, pageSize: value });\n }\n });\n }\n\n pageSizeFormControl = new FormControl(this.pageSize());\n\n numberOfPages = computed(() => Math.ceil(this.totalSize() / this.pageSize()));\n\n range(start: number, end: number) {\n return Array.from({ length: end - start + 1 }, (_, i) => i + start);\n }\n\n //https://gist.github.com/kottenator/9d936eb3e4e3c3e02598#gistcomment-3238804\n pageRanges = computed<(number | '...')[]>(() => {\n const totalPages = this.numberOfPages();\n\n if (totalPages < 7) {\n return this.range(1, totalPages);\n }\n\n const currentPage = this.currentPage();\n\n const leftSiblingIndex = Math.max(currentPage - 1, 1);\n const rightSiblingIndex = Math.min(currentPage + 1, totalPages);\n\n const shouldShowLeftEllipsis = leftSiblingIndex > 2;\n const shouldShowRightEllipsis = rightSiblingIndex < totalPages - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPages;\n\n if (!shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n const leftItemCount = 3;\n const leftRange = this.range(1, leftItemCount + 2);\n\n return [...leftRange, '...', totalPages];\n }\n\n if (shouldShowLeftEllipsis && !shouldShowRightEllipsis) {\n const rightItemCount = 3;\n const rightRange = this.range(totalPages - rightItemCount - 1, totalPages);\n\n return [firstPageIndex, '...', ...rightRange];\n }\n\n if (shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n const middleRange = this.range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, '...', ...middleRange, '...', lastPageIndex];\n }\n\n return this.range(1, totalPages);\n });\n\n firstItemPage = computed(() => {\n if (this.totalSize() === 0) {\n return 0;\n }\n return this.pageSize() * (this.currentPage() - 1) + 1;\n });\n\n lastItemPage = computed(() => {\n const a = this.firstItemPage() + this.pageSize() - 1;\n\n if (a < this.totalSize()) {\n return a;\n }\n\n return this.totalSize();\n });\n\n firstPage() {\n this.pageChanged.emit({ page: 1, pageSize: this.pageSize() });\n }\n\n nextPage() {\n if (!this.isNextPageDisabled()) {\n this.pageChanged.emit({ page: this.currentPage() + 1, pageSize: this.pageSize() });\n }\n }\n\n isNextPageDisabled = computed(() => {\n return this.currentPage() === this.numberOfPages();\n });\n\n lastPage() {\n this.pageChanged.emit({ page: this.numberOfPages(), pageSize: this.pageSize() });\n }\n\n prevPage() {\n if (!this.isPrevPageDisabled()) {\n this.pageChanged.emit({ page: this.currentPage() - 1, pageSize: this.pageSize() });\n }\n }\n\n isPrevPageDisabled = computed(() => {\n return this.currentPage() === 1;\n });\n\n changePage(page: number) {\n this.pageChanged.emit({ page: page, pageSize: this.pageSize() });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCard {\n class = input<string>('');\n\n classes = computed(() =>\n cn('rounded-lg border bg-card text-card-foreground shadow-sm', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardHeader {\n class = input<string>('');\n\n classes = computed(() => cn('flex flex-col space-y-1.5 p-6', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-card-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardTitle {\n class = input<string>('');\n\n classes = computed(() => cn('text-2xl font-semibold leading-none tracking-tight', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-card-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardDescription {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm text-muted-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardContent {\n class = input<string>('');\n\n classes = computed(() => cn('p-6 pt-0', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-card-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCardFooter {\n class = input<string>('');\n\n classes = computed(() => cn('flex items-center p-6 pt-0', this.class()));\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n effect,\n input,\n output,\n viewChildren,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { WeekDayName } from './util';\n\n@Component({\n selector: 'sc-month-days',\n imports: [NgClass, ScButton],\n template: `\n @for (weekDayName of weekDaysNames(); track weekDayName.long) {\n <abbr\n class=\"size-10 text-center text-muted-foreground\"\n [title]=\"weekDayName.long\"\n [attr.aria-label]=\"weekDayName.long\"\n >\n {{ weekDayName.short }}\n </abbr>\n }\n\n @for (day of days(); track $index; let index = $index) {\n <button\n [ngClass]=\"{\n 'col-start-1': index === 0 && firstDayMonth() === 0,\n 'col-start-2': index === 0 && firstDayMonth() === 1,\n 'col-start-3': index === 0 && firstDayMonth() === 2,\n 'col-start-4': index === 0 && firstDayMonth() === 3,\n 'col-start-5': index === 0 && firstDayMonth() === 4,\n 'col-start-6': index === 0 && firstDayMonth() === 5,\n 'col-start-7': index === 0 && firstDayMonth() === 6,\n }\"\n [attr.data-sc-day]=\"day\"\n [variant]=\"isSelected(day) ? 'primary' : 'ghost'\"\n (click)=\"setSelectedDay($event)\"\n sc-button\n size=\"icon\"\n >\n {{ day.slice(-2) }}\n </button>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMonthDays {\n class = input<string>('');\n\n classes = computed(() => cn('grid grid-cols-7 place-items-center', this.class()));\n\n weekDaysNames = input.required<WeekDayName[]>();\n\n days = input.required<string[]>();\n firstDayMonth = input.required<number>();\n selectedDay = input<string>('');\n\n selectedDayChange = output<string>();\n\n isSelected(day: string) {\n return day === this.selectedDay();\n }\n\n setSelectedDay(event: Event): void {\n const target = event.target as HTMLElement;\n const selectedDay = target.dataset['scDay'] as string;\n this.selectedDayChange.emit(selectedDay);\n }\n\n focusedDate = input<string>('');\n btns = viewChildren(ScButton, { read: ElementRef });\n\n constructor() {\n effect(() => {\n if (this.focusedDate()) {\n const b = this.btns().find(\n (item) => item.nativeElement.getAttribute('data-sc-day') === this.selectedDay(),\n );\n b?.nativeElement.focus();\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n output,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiChevronLeftIcon, SiChevronRightIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\n\n@Component({\n selector: 'sc-month-year-header',\n imports: [SiChevronRightIcon, SiChevronLeftIcon, ScButton],\n template: `\n <button\n (click)=\"monthYearChange.emit(-1)\"\n aria-label=\"Previous month\"\n sc-button\n variant=\"outline\"\n type=\"button\"\n size=\"icon\"\n >\n <svg si-chevron-left-icon></svg>\n </button>\n\n <button sc-button variant=\"ghost\" type=\"button\">\n {{ monthYear() }}\n </button>\n\n <button\n (click)=\"monthYearChange.emit(1)\"\n aria-label=\"Next month\"\n sc-button\n variant=\"outline\"\n type=\"button\"\n size=\"icon\"\n type=\"button\"\n >\n <svg si-chevron-right-icon></svg>\n </button>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMonthYearHeader {\n class = input<string>('');\n\n classes = computed(() => cn('flex justify-between', this.class()));\n\n monthYear = input.required<string>();\n\n monthYearChange = output<number>();\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n LOCALE_ID,\n OnInit,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { ScCard, ScCardContent, ScCardFooter, ScCardHeader } from '../card';\nimport { ScMonthDays } from './month-days';\nimport { ScMonthYearHeader } from './month-year-header';\nimport { WeekDayName } from './util';\n\n@Component({\n selector: 'sc-calendar',\n imports: [\n ScMonthYearHeader,\n ScMonthDays,\n ScCard,\n ScCardHeader,\n ScButton,\n ScCardFooter,\n ScCardContent,\n ],\n template: `\n <div sc-card>\n <div sc-card-header>\n <sc-month-year-header [monthYear]=\"monthYear()\" (monthYearChange)=\"setMonthYear($event)\" />\n </div>\n\n <div sc-card-content>\n <sc-month-days\n [weekDaysNames]=\"weekDaysNames()\"\n [days]=\"monthDays()\"\n [firstDayMonth]=\"firstDayMonth()\"\n [selectedDay]=\"value()\"\n [focusedDate]=\"focusedDate()\"\n (selectedDayChange)=\"setSelectedDay($event)\"\n />\n </div>\n\n <div class=\"justify-between\" sc-card-footer>\n <button sc-button variant=\"outline\" type=\"button\">Cancel</button>\n <button sc-button type=\"button\">Done</button>\n </div>\n </div>\n `,\n host: {\n '[class]': 'class()',\n '(keydown)': 'handleKeydown($event)',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScCalendar),\n multi: true,\n },\n ],\n})\nexport class ScCalendar implements OnInit, ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n private readonly localeId = inject(LOCALE_ID);\n\n readonly date = computed(() => {\n if (this.value()) {\n return new Date(this.value());\n }\n return new Date();\n });\n\n readonly year = linkedSignal(() => this.date().getFullYear());\n\n readonly month = linkedSignal(() => this.date().getMonth());\n\n readonly weekDaysNames = signal<WeekDayName[]>([]);\n\n readonly monthYear = computed(() => {\n const options = {\n month: 'long',\n year: 'numeric',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any;\n\n const s = new Intl.DateTimeFormat(this.localeId, options).format(\n new Date(this.year(), this.month(), 1),\n );\n\n return s;\n });\n\n readonly monthDays = computed(() => {\n // Month in JavaScript is 0-indexed (January is 0, February is 1, etc),\n // but by using 0 as the day it will give us the last day of the prior\n // month. So passing in 1 as the month number will return the last day\n // of January, not February\n const numOfDays = new Date(this.year(), this.month() + 1, 0).getDate();\n\n const days = [];\n\n for (let i = 1; i <= numOfDays; i++) {\n const date = new Date(this.year(), this.month(), i);\n\n days.push(this.getDateString(date));\n }\n\n return days;\n });\n\n readonly firstDayMonth = computed(() => {\n const date = new Date(this.year(), this.month(), 1);\n const intlLongFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'long' });\n\n const dayName = intlLongFormatter.format(date);\n return this.weekDaysNames()\n .map((e) => e.long)\n .indexOf(dayName);\n });\n\n readonly value = model<string>('');\n\n readonly focusedDate = signal('');\n\n setSelectedDay(day: string) {\n this.value.set(day);\n\n this.onChange(day);\n this.changeDetectorRef.markForCheck();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (value: string) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: () => void = () => {};\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n private readonly disabledByCva = signal(false);\n setDisabledState?(isDisabled: boolean): void {\n this.disabledByCva.set(isDisabled);\n }\n\n ngOnInit() {\n this.setLocaleDayNames();\n }\n\n //https://github.com/angular/angular/issues/57193\n private setLocaleDayNames() {\n const weekDaysNames = [];\n const intlNarrowFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'narrow' });\n const intlShortFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'short' });\n const intlLongFormatter = new Intl.DateTimeFormat(this.localeId, { weekday: 'long' });\n\n let k = 0;\n const firstDayOfWeek = this.getFirstDayOfWeek();\n if (firstDayOfWeek === 7) {\n // First day of the week is Sunday\n k = 3; // 3th January 2021 is a Sunday\n }\n if (firstDayOfWeek === 1) {\n // First day of the week is Monday\n k = 4; // 4th January 2021 is a Monday\n }\n\n for (let i = 0; i < 7; i += 1) {\n const date = new Date(Date.UTC(2021, 0, i + k));\n weekDaysNames.push({\n narrow: intlNarrowFormatter.format(date),\n short: intlShortFormatter.format(date),\n long: intlLongFormatter.format(date),\n });\n }\n\n this.weekDaysNames.set(weekDaysNames);\n }\n\n private getFirstDayOfWeek(): number {\n const locale = new Intl.Locale(this.localeId);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (locale as any).getWeekInfo().firstDay;\n }\n\n setMonthYear(n: number) {\n if (n === 1) {\n if (this.month() < 11) {\n this.month.update((value) => value + 1);\n } else {\n this.month.set(0);\n this.year.update((value) => value + 1);\n }\n }\n\n if (n === -1) {\n if (this.month() > 0) {\n this.month.update((value) => value - 1);\n } else {\n this.month.set(11);\n this.year.update((value) => value - 1);\n }\n }\n }\n\n twoDigits(n: number) {\n return n.toLocaleString(this.localeId, {\n minimumIntegerDigits: 2,\n useGrouping: false,\n });\n }\n\n handleKeydown(event: KeyboardEvent) {\n const key = event.key;\n let newDate;\n if (key === 'ArrowLeft') {\n newDate = this.addDays(-1);\n } else if (key === 'ArrowRight') {\n newDate = this.addDays(+1);\n } else if (key === 'ArrowUp') {\n newDate = this.addDays(-7);\n } else if (key === 'ArrowDown') {\n newDate = this.addDays(+7);\n } else if (key === 'Enter') {\n if (event.target) {\n newDate = (event.target as HTMLElement).dataset['scDay'];\n }\n\n if (newDate) {\n this.setSelectedDay(newDate);\n }\n\n return;\n }\n if (newDate) {\n //TODO we need to define active date and selected date\n this.setSelectedDay(newDate);\n this.focusedDate.set(newDate);\n }\n }\n\n getDateString(date: Date) {\n return `${date.getFullYear()}-${this.twoDigits(date.getMonth() + 1)}-${this.twoDigits(date.getDate())}`;\n }\n\n addDays(days: number) {\n const date = new Date(this.value());\n date.setDate(date.getDate() + days);\n\n return this.getDateString(date);\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-full-calendar',\n imports: [NgClass],\n template: `\n <div class=\"mx-auto flex size-full max-w-full flex-col items-center px-4\">\n <!-- Calendar Controls -->\n <div class=\"mb-4 flex w-full justify-around gap-2\">\n <button\n class=\"w-full rounded bg-gray-200 px-4 py-2 hover:bg-gray-300 sm:w-auto\"\n (click)=\"setView('month')\"\n >\n Month\n </button>\n <button\n class=\"w-full rounded bg-gray-200 px-4 py-2 hover:bg-gray-300 sm:w-auto\"\n (click)=\"setView('week')\"\n >\n Week\n </button>\n <button\n class=\"w-full rounded bg-gray-200 px-4 py-2 hover:bg-gray-300 sm:w-auto\"\n (click)=\"setView('day')\"\n >\n Day\n </button>\n </div>\n\n <!-- Calendar Header -->\n <div class=\"mb-4 flex w-full items-center justify-between\">\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToPreviousMonth()\"\n >\n &lt;\n </button>\n <span class=\"grow text-center text-lg font-semibold\">\n {{ currentDate.toLocaleString('default', { month: 'long' }) }} {{ currentYear }}\n </span>\n <button class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\" (click)=\"goToNextMonth()\">\n &gt;\n </button>\n </div>\n\n <!-- Weekdays -->\n <div class=\"grid w-full grid-cols-7 gap-2 text-center text-sm font-semibold sm:text-base\">\n @for (day of weekdays; track day) {\n <div class=\"text-gray-600\">{{ day }}</div>\n }\n </div>\n\n <!-- Days -->\n <div class=\"grid w-full grow grid-cols-7 gap-2 sm:grid-cols-7\">\n @for (day of daysInMonth; track day) {\n <div\n class=\"flex h-28 flex-col items-center justify-start rounded border p-2 sm:h-32 md:h-40\"\n [ngClass]=\"{\n 'bg-gray-100': day === null,\n 'bg-green-200 border-green-500': isToday(day),\n }\"\n (click)=\"day !== null && addEvent(formatDate(day))\"\n (keydown.enter)=\"day !== null && addEvent(formatDate(day))\"\n (keydown.space)=\"day !== null && addEvent(formatDate(day))\"\n tabindex=\"0\"\n role=\"button\"\n >\n @if (day !== null) {\n <span class=\"font-medium\">{{ day }}</span>\n }\n @if (day !== null) {\n <div class=\"mt-1 w-full\">\n @for (event of getEventsForDate(day); track event) {\n <div\n class=\"truncate rounded bg-blue-500 px-1 py-0.5 text-xs text-white sm:text-sm\"\n >\n {{ event.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFullCalendar implements OnInit {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n currentDate = new Date();\n currentMonth = this.currentDate.getMonth();\n currentYear = this.currentDate.getFullYear();\n currentView: 'month' | 'week' | 'day' = 'month';\n daysInMonth: number[] = [];\n weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n events: { date: string; title: string }[] = [{ date: '2025-01-18', title: 'Sample Event' }];\n\n ngOnInit() {\n this.generateCalendar();\n }\n\n generateCalendar() {\n if (this.currentView === 'month') {\n // Generate days for the entire month\n const firstDayOfMonth = new Date(this.currentYear, this.currentMonth, 1).getDay();\n const totalDays = new Date(this.currentYear, this.currentMonth + 1, 0).getDate();\n this.daysInMonth = Array(firstDayOfMonth)\n .fill(null)\n .concat(Array.from({ length: totalDays }, (_, i) => i + 1));\n } else if (this.currentView === 'week') {\n // Generate dates for the current week\n const today = new Date();\n const startOfWeek = new Date(today.setDate(today.getDate() - today.getDay()));\n this.daysInMonth = Array.from({ length: 7 }, (_, i) => {\n const date = new Date(startOfWeek);\n date.setDate(startOfWeek.getDate() + i);\n return date.getDate();\n });\n } else if (this.currentView === 'day') {\n // Show only today\n this.daysInMonth = [this.currentDate.getDate()];\n }\n }\n\n goToPreviousMonth() {\n if (this.currentMonth === 0) {\n this.currentMonth = 11;\n this.currentYear--;\n } else {\n this.currentMonth--;\n }\n this.generateCalendar();\n }\n\n goToNextMonth() {\n if (this.currentMonth === 11) {\n this.currentMonth = 0;\n this.currentYear++;\n } else {\n this.currentMonth++;\n }\n this.generateCalendar();\n }\n\n setView(view: 'month' | 'week' | 'day') {\n this.currentView = view;\n this.generateCalendar();\n }\n\n formatDate(day: number | null): string {\n if (day === null) return '';\n const month = String(this.currentMonth + 1).padStart(2, '0');\n const dayStr = String(day).padStart(2, '0');\n return `${this.currentYear}-${month}-${dayStr}`;\n }\n\n addEvent(date: string) {\n const title = prompt('Enter the event title:');\n if (title) {\n this.events.push({ date, title });\n }\n }\n\n isToday(day: number | null): boolean {\n if (day === null) return false;\n const today = new Date();\n return (\n today.getDate() === day &&\n today.getMonth() === this.currentMonth &&\n today.getFullYear() === this.currentYear\n );\n }\n\n getEventsForDate(day: number | null): { date: string; title: string }[] {\n const dateStr = this.formatDate(day);\n return this.events.filter((event) => event.date === dateStr);\n }\n}\n","import { DatePipe, NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-mobile-calendar',\n imports: [NgClass, DatePipe],\n template: `\n <div class=\"mx-auto flex size-full max-w-full flex-col items-center px-4\">\n <!-- Calendar Header: Date Navigation -->\n <div class=\"mb-4 flex w-full items-center justify-between\">\n <!-- Previous Day Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToPreviousDay()\"\n (keydown)=\"onKeydown($event, 'previous')\"\n tabindex=\"0\"\n >\n &lt;\n </button>\n\n <span class=\"grow text-center text-lg font-semibold\">\n {{ currentDate | date: 'fullDate' }}\n </span>\n\n <!-- Next Day Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToNextDay()\"\n (keydown)=\"onKeydown($event, 'next')\"\n tabindex=\"0\"\n >\n &gt;\n </button>\n </div>\n\n <!-- Hourly Slots: Display Hours in Mobile-friendly View -->\n <div class=\"grid w-full gap-2\">\n @for (hour of hoursInDay; track hour) {\n <div\n class=\"flex flex-col items-start justify-start rounded-lg border bg-white p-2 shadow-md hover:bg-gray-100\"\n [ngClass]=\"{\n 'bg-blue-100': isNow(hour),\n 'cursor-pointer': hour !== null,\n }\"\n (click)=\"hour !== null && addEvent(hour)\"\n (keydown.enter)=\"hour !== null && addEvent(hour)\"\n (keydown.space)=\"hour !== null && addEvent(hour)\"\n tabindex=\"0\"\n role=\"button\"\n >\n <span class=\"font-medium\">{{ hour }}:00</span>\n @for (event of getEventsForTime(hour); track event) {\n <div\n class=\"mt-1 truncate rounded bg-blue-500 px-2 py-1 text-xs text-white sm:text-sm\"\n >\n {{ event }}\n </div>\n }\n </div>\n }\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScMobileCalendar implements OnInit {\n currentDate: Date;\n hoursInDay: number[];\n events: { [key: string]: string[] } = {}; // Store events by hour\n\n constructor() {\n this.currentDate = new Date();\n this.hoursInDay = Array.from({ length: 24 }, (_, index) => index); // 0 - 23 hours\n this.events = {};\n }\n\n ngOnInit(): void {\n console.log('ngOnInit');\n }\n\n // Go to the previous day\n goToPreviousDay(): void {\n const newDate = new Date(this.currentDate);\n newDate.setDate(this.currentDate.getDate() - 1);\n this.currentDate = newDate;\n }\n\n // Go to the next day\n goToNextDay(): void {\n const newDate = new Date(this.currentDate);\n newDate.setDate(this.currentDate.getDate() + 1);\n this.currentDate = newDate;\n }\n\n // Handle keyboard events for navigation (previous/next day)\n onKeydown(event: KeyboardEvent, direction: string): void {\n if (event.key === 'Enter' || event.key === ' ') {\n if (direction === 'previous') {\n this.goToPreviousDay();\n } else if (direction === 'next') {\n this.goToNextDay();\n }\n }\n }\n\n // Add event to a specific hour\n addEvent(hour: number): void {\n const eventTitle = prompt('Enter event title:');\n if (eventTitle) {\n if (!this.events[hour]) {\n this.events[hour] = [];\n }\n this.events[hour].push(eventTitle);\n }\n }\n\n // Get events for a specific hour\n getEventsForTime(hour: number): string[] {\n return this.events[hour] || [];\n }\n\n // Check if a specific hour is the current hour\n isNow(hour: number): boolean {\n const now = new Date();\n return now.getHours() === hour && now.getDate() === this.currentDate.getDate();\n }\n}\n","import { DatePipe, NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-day-view',\n imports: [NgClass, DatePipe],\n template: `\n <div class=\"rounded-lg border bg-white p-4 shadow-md hover:bg-gray-100\">\n <div class=\"text-center font-medium\">{{ date() | date: 'fullDate' }}</div>\n\n <!-- Display hours for the day -->\n @for (hour of hoursInDay; track hour) {\n <div class=\"flex items-center justify-between p-2\">\n <span>{{ hour }}:00</span>\n <button\n class=\"rounded px-2 py-1 hover:bg-blue-400\"\n [ngClass]=\"{ 'bg-blue-500 text-white': isNow(hour) }\"\n (click)=\"addEvent(hour)\"\n (keydown)=\"onKeydown($event, hour)\"\n tabindex=\"0\"\n >\n Add Event\n </button>\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDayView implements OnInit {\n readonly date = input.required<Date>(); // Receive the date for each day\n hoursInDay: number[];\n\n constructor() {\n this.hoursInDay = Array.from({ length: 24 }, (_, index) => index); // 0 - 23 hours\n }\n\n ngOnInit(): void {\n console.log('ngOnInit');\n }\n\n // Method to add events for a specific hour\n addEvent(hour: number): void {\n const eventTitle = prompt('Enter event title:');\n if (eventTitle) {\n alert(`Event \"${eventTitle}\" added to ${this.date().toDateString()} at ${hour}:00`);\n }\n }\n\n // Method to check if the current hour is now\n isNow(hour: number): boolean {\n const now = new Date();\n return now.getHours() === hour && now.getDate() === this.date().getDate();\n }\n\n // Handle keyboard events for accessibility\n onKeydown(event: KeyboardEvent, hour: number): void {\n if (event.key === 'Enter' || event.key === ' ') {\n this.addEvent(hour);\n }\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { ScDayView } from './day-view';\n\n@Component({\n selector: 'sc-week-view',\n imports: [DatePipe, ScDayView],\n template: `\n <div class=\"mb-4 flex items-center justify-between\">\n <!-- Previous Week Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToPreviousWeek()\"\n (keydown)=\"onKeydown($event, 'previous')\"\n tabindex=\"0\"\n >\n &lt;\n </button>\n\n <span class=\"grow text-center text-lg font-semibold\">\n Week of {{ currentDate | date: 'MMMM d, yyyy' }}\n </span>\n\n <!-- Next Week Button -->\n <button\n class=\"rounded bg-gray-200 px-4 py-2 hover:bg-gray-300\"\n (click)=\"goToNextWeek()\"\n (keydown)=\"onKeydown($event, 'next')\"\n tabindex=\"0\"\n >\n &gt;\n </button>\n </div>\n\n <!-- Week Days -->\n <div class=\"grid grid-cols-7 gap-4\">\n @for (day of weekDays; track day) {\n <div>\n <sc-day-view [date]=\"day\"></sc-day-view>\n <!-- Pass each day to Day Component -->\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScWeekView implements OnInit {\n currentDate: Date;\n weekDays: Date[];\n\n constructor() {\n this.currentDate = new Date();\n this.weekDays = this.getWeekDays(this.currentDate); // Get current week's days\n }\n\n ngOnInit(): void {\n console.log('ngOnInit');\n }\n\n // Helper method to get the dates for the week\n getWeekDays(date: Date): Date[] {\n const startOfWeek = date.getDate() - date.getDay(); // Start of the week (Sunday)\n const days: Date[] = [];\n\n for (let i = 0; i < 7; i++) {\n const day = new Date(date);\n day.setDate(startOfWeek + i);\n days.push(day);\n }\n\n return days;\n }\n\n // Go to the previous week\n goToPreviousWeek(): void {\n this.currentDate.setDate(this.currentDate.getDate() - 7);\n this.weekDays = this.getWeekDays(this.currentDate);\n }\n\n // Go to the next week\n goToNextWeek(): void {\n this.currentDate.setDate(this.currentDate.getDate() + 7);\n this.weekDays = this.getWeekDays(this.currentDate);\n }\n\n // Handle keyboard events for week navigation\n onKeydown(event: KeyboardEvent, direction: string): void {\n if (event.key === 'Enter' || event.key === ' ') {\n if (direction === 'previous') {\n this.goToPreviousWeek();\n } else if (direction === 'next') {\n this.goToNextWeek();\n }\n }\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[scDateInput]',\n host: {\n '(keydown)': 'onKeyDown($event)',\n },\n})\nexport class ScDateInput {\n private readonly el = inject(ElementRef);\n\n private readonly dateFormatRegExp = (current: string) => {\n switch (current.length) {\n case 0: {\n return new RegExp(/^\\d$/g);\n }\n case 1: {\n return new RegExp(/^\\d{1,2}\\/?$/g);\n }\n case 2: {\n return new RegExp(/^\\d{1,2}\\/\\d?$/g);\n }\n case 3: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/?$/g);\n }\n case 4: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/?\\d?$/g);\n }\n case 5: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/\\d{0,2}$/g);\n }\n case 6: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/\\d{0,3}$/g);\n }\n default: {\n return new RegExp(/^\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}$/g);\n }\n }\n };\n\n previousKey = '';\n\n onKeyDown(event: KeyboardEvent) {\n if (\n event.key === 'Backspace' ||\n event.key === 'Delete' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight' ||\n (this.previousKey === 'Control' && event.key === 'c') ||\n (this.previousKey === 'Control' && event.key === 'v') ||\n (this.previousKey === 'Control' && event.key === 'x')\n ) {\n this.previousKey = event.key;\n return;\n }\n\n this.previousKey = event.key;\n\n const current: string = this.el.nativeElement.value;\n\n const start = this.el.nativeElement.selectionStart;\n const end = this.el.nativeElement.selectionEnd;\n\n const next = current.slice(0, start) + event.key + current.slice(end);\n\n if (this.dateFormatRegExp(current).exec(next) === null) {\n event.preventDefault();\n }\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n OutputEmitterRef,\n ViewEncapsulation,\n computed,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCalendarIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScCalendar } from '../calendar';\nimport { ScInput } from '../input';\nimport { ScDateInput } from './date-input';\n\n@Component({\n selector: 'sc-date-picker',\n imports: [ScInput, SiCalendarIcon, ScButton, ScDateInput],\n template: `\n <button class=\"absolute inset-y-0 end-0 pe-4\" (click)=\"open()\" sc-button variant=\"ghost\">\n <svg si-calendar-icon></svg>\n </button>\n <input #input sc-input scDateInput type=\"text\" placeholder=\"Select date\" />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDatePicker {\n class = input<string>('');\n\n classes = computed(() => cn('flex relative', this.class()));\n\n private readonly host = inject(ElementRef);\n\n private readonly _injector = inject(Injector);\n\n private readonly _dir = inject(Directionality, { optional: true });\n private readonly _overlay = inject(Overlay);\n\n private readonly _isOpen = signal(false);\n private readonly _input = viewChild<ElementRef<HTMLInputElement>>('input');\n // private readonly _overlayOrigin = viewChild<ElementRef<HTMLDivElement>>('overlayOrigin');\n private _overlayRef: OverlayRef | null = null;\n private _portal: ComponentPortal<unknown> | null = null;\n\n /** Emits when the datepicker is opened. */\n readonly opened: OutputEmitterRef<void> = output();\n /** Emits when the datepicker is closed. */\n readonly closed: OutputEmitterRef<void> = output();\n\n /** Emits when the user selects a date. */\n readonly selected: OutputEmitterRef<string> = output();\n\n /** Opens the datepicker. */\n open(): void {\n if (!this._input) {\n return;\n }\n\n // Focus should already be on the input, but this call is in case the datepicker is opened\n // programmatically. We need to call this even if the datepicker is already open, because\n // the user might be clicking the toggle.\n //TODO\n // this._input()?.nativeElement.focus();\n\n if (this._isOpen()) {\n return;\n }\n\n this._isOpen.set(true);\n\n const overlayRef = this._getOverlayRef();\n\n //overlayRef.updateSize({ width: this._overlayOrigin()?.nativeElement.offsetWidth });\n\n overlayRef.updateSize({ width: 400 });\n\n this._portal ??= new ComponentPortal(ScCalendar);\n\n overlayRef.attach(this._portal);\n\n this.opened.emit();\n }\n\n /** Closes the datepicker. */\n close(): void {\n if (this._isOpen()) {\n this._isOpen.set(false);\n this._overlayRef?.detach();\n this.closed.emit();\n }\n }\n\n /** Creates an overlay reference for the datepicker panel. */\n private _getOverlayRef(): OverlayRef {\n if (this._overlayRef) {\n return this._overlayRef;\n }\n\n const _overlayOrigin = this.host;\n if (_overlayOrigin === undefined) {\n throw new Error('_overlayOrigin is undefined');\n }\n\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(_overlayOrigin)\n .withFlexibleDimensions(false)\n .withPush(false)\n // .withTransformOriginOn('.mat-datepicker-panel')\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n //panelClass: 'mat-datepicker-above',\n },\n ]);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._dir || 'ltr',\n hasBackdrop: false,\n });\n\n this._overlayRef.keydownEvents().subscribe((event) => {\n console.log(event);\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n const target = _getEventTarget(event) as HTMLElement;\n const origin = this.host?.nativeElement;\n\n if (target && target !== origin && !origin?.contains(target)) {\n this.close();\n }\n });\n\n return this._overlayRef;\n }\n\n /** Selects a specific date value. */\n protected _selectValue(value: string) {\n this.close();\n this.selected.emit(value);\n this._input()?.nativeElement.focus();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'nav[sc-nav]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNav {\n class = input<string>('');\n\n classes = computed(() =>\n cn('relative z-10 flex max-w-max flex-1 items-center justify-center', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'ul[sc-nav-list]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n dir: 'ltr',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavList {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex flex-1 list-none items-center justify-center space-x-1', this.class()),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\n@Component({\n selector: 'sc-nav-button-base',\n imports: [],\n template: ``,\n host: {},\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavButtonBase {\n baseClass = input<string>(\n 'inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50',\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScNavButtonBase } from './nav-button-base';\n\n@Component({\n selector: 'a[sc-nav-link]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n routerLinkActive: 'active-page',\n ariaCurrentWhenActive: 'page',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavLink extends ScNavButtonBase {\n class = input<string>('');\n\n classes = computed(() => cn(this.baseClass(), this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-nav-item',\n imports: [],\n template: `\n <p>nav-item works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavItem {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScNavButtonBase } from './nav-button-base';\n\n@Component({\n selector: 'button[sc-nav-button]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavButton extends ScNavButtonBase {\n class = input<string>('');\n\n classes = computed(() => cn(this.baseClass(), this.class()));\n}\n","import { CdkMenu, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nimport { ScNavButton } from './nav-button';\n\n@Component({\n selector: 'li[sc-nav-item-dropdown]',\n imports: [CdkMenuTrigger, CdkMenu, ScNavButton],\n template: `\n <button [cdkMenuTriggerFor]=\"menu\" sc-nav-button type=\"button\">{{ title() }}</button>\n <ng-template #menu>\n <div\n cdkMenu\n lass=\"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\"\n >\n <div\n class=\"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto\"\n >\n <ng-content />\n </div>\n </div>\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavItemDropdown {\n title = input.required<string>();\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, afterNextRender, effect, inject, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScTheme {\n private readonly document = inject<Document>(DOCUMENT);\n\n value = signal<'light' | 'dark' | undefined>(undefined);\n\n constructor() {\n effect(() => {\n if (this.value() !== undefined) {\n localStorage['theme'] = this.value();\n }\n\n // On page load or when changing themes, best to add inline in `head` to avoid FOUC\n this.document.documentElement.classList.toggle('dark', this.value() === 'dark');\n });\n }\n\n init() {\n afterNextRender(() => {\n const localStorageTheme = localStorage['theme'];\n const isDarkMode =\n localStorageTheme === 'dark' ||\n (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches);\n\n if (isDarkMode) {\n this.value.set('dark');\n } else {\n this.value.set('light');\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n} from '@angular/core';\n\nimport { SiMoonIcon, SiSunIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScTooltip } from '../tooltip';\nimport { ScTheme } from './theme';\n\n@Component({\n selector: 'sc-theme-toggler',\n imports: [SiMoonIcon, SiSunIcon, ScTooltip, ScButton],\n template: `\n <button\n [scTooltip]=\"message()\"\n (click)=\"toggleTheme()\"\n sc-button\n variant=\"outline\"\n size=\"icon\"\n type=\"button\"\n >\n @if (theme.value() === 'light') {\n <svg si-moon-icon></svg>\n }\n\n @if (theme.value() === 'dark') {\n <svg si-sun-icon></svg>\n }\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScThemeToggler {\n theme = inject(ScTheme);\n\n message = computed(() => {\n if (this.theme.value() === 'light') {\n return 'Toggle dark mode';\n }\n\n return 'Toggle light mode';\n });\n\n toggleTheme() {\n if (this.theme.value() === 'light') {\n this.theme.value.set('dark');\n } else {\n this.theme.value.set('light');\n }\n }\n}\n","import { inject } from '@angular/core';\n\nimport { ScTheme } from './theme';\n\nexport function scThemeProvider() {\n return () => inject(ScTheme).init();\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n numberAttribute,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-progress',\n imports: [],\n template: `\n <div [class]=\"indicatorClass()\" [style.transform]=\"transform()\"></div>\n `,\n host: {\n // Sets the role for this component to \"progressbar\"\n role: 'progressbar',\n // Sets the minimum and maximum values for the progressbar role.\n '[attr.aria-valuemin]': 'min()',\n '[attr.aria-valuemax]': 'max()',\n // Binding that updates the current value of the progressbar.\n '[attr.aria-valuenow]': 'value()',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScProgress {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('block relative h-4 w-full overflow-hidden rounded-full bg-secondary', this.classInput()),\n );\n\n readonly indicatorClassInput = input<string>('', {\n alias: 'indicatorClass',\n });\n\n protected readonly indicatorClass = computed(() =>\n cn(\n 'size-full flex-1 bg-primary transition-all',\n this.mode() === 'indeterminate' && 'animate-progress origin-left',\n this.indicatorClassInput(),\n ),\n );\n\n /** Current value of the progressbar. */\n readonly value = input<number>(0);\n\n //https://github.com/shadcn-ui/ui/issues/700\n readonly mode = input<'determinate' | 'indeterminate'>('determinate');\n\n //TODO maybe name shoould be aria-valuemin\n readonly min = input<number, unknown>(0, {\n transform: numberAttribute,\n });\n\n //TODO maybe name shoould be aria-valuemax\n readonly max = input<number, unknown>(100, {\n transform: numberAttribute,\n });\n\n protected readonly transform = computed(() => {\n return `translateX(${((this.value() - this.min()) / (this.max() - this.min())) * 100 - 100}%)`;\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnChanges,\n OnInit,\n ViewEncapsulation,\n computed,\n input,\n numberAttribute,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-circular-progress',\n imports: [],\n template: `\n <svg class=\"relative -rotate-90\" [attr.height]=\"radius * 2\" [attr.width]=\"radius * 2\">\n <!-- Background Circle -->\n <circle\n class=\"fill-transparent text-gray-200\"\n [attr.stroke-width]=\"stroke\"\n [attr.r]=\"normalizedRadius\"\n [attr.cx]=\"radius\"\n [attr.cy]=\"radius\"\n stroke=\"currentColor\"\n ></circle>\n\n <!-- Progress Circle -->\n <circle\n class=\"fill-transparent text-primary transition-all duration-300\"\n [attr.stroke-width]=\"stroke\"\n [attr.r]=\"normalizedRadius\"\n [attr.cx]=\"radius\"\n [attr.cy]=\"radius\"\n [attr.stroke-dasharray]=\"circumference\"\n [attr.stroke-dashoffset]=\"strokeDashoffset\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n ></circle>\n </svg>\n\n <!-- Progress Text -->\n <div class=\"absolute flex items-center justify-center text-xl font-semibold text-primary\">\n {{ value() }}%\n </div>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCircularProgress implements OnInit, OnChanges {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex justify-center items-center relative h-[100px] w-[100px]', this.classInput()),\n );\n\n // Progress percentage\n readonly value = input<number, unknown>(0, {\n transform: numberAttribute,\n });\n\n radius = 50; // Radius of the circle\n stroke = 8; // Thickness of the stroke\n\n normalizedRadius!: number; // Adjusted radius for the stroke width\n circumference!: number; // Circle circumference\n strokeDashoffset!: number; // Dash offset for progress\n\n ngOnInit(): void {\n this.normalizedRadius = this.radius - this.stroke * 0.5;\n this.circumference = this.normalizedRadius * 2 * Math.PI;\n this.updateProgress();\n }\n\n ngOnChanges(): void {\n this.updateProgress();\n }\n\n updateProgress(): void {\n // Calculate stroke-dashoffset based on progress\n this.strokeDashoffset = this.circumference - (this.value() / 100) * this.circumference;\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnInit,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon, SiEyeIcon, SiEyeOffIcon, SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScInput } from '../input/input';\nimport { ScLabel } from '../label';\nimport { ScProgress } from '../progress';\n\n@Component({\n selector: 'sc-input-password',\n imports: [\n SiCheckIcon,\n SiXIcon,\n SiEyeOffIcon,\n SiEyeIcon,\n ScLabel,\n ScInput,\n ReactiveFormsModule,\n ScProgress,\n ],\n template: `\n <!--Password input field with toggle visibility button-->\n <div class=\"space-y-2\">\n <label [for]=\"id\" sc-label>Input with password strength indicator</label>\n <div class=\"relative\">\n <input\n class=\"pe-9\"\n [id]=\"id\"\n [value]=\"password()\"\n [type]=\"isVisible() ? 'text' : 'password'\"\n [attr.aria-invalid]=\"strengthScore() < 4\"\n [formControl]=\"control\"\n sc-input\n placeholder=\"Password\"\n aria-describedby=\"input-51-description\"\n />\n <button\n class=\"absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center text-muted-foreground/80 outline-none transition hover:text-foreground\"\n [attr.aria-label]=\"isVisible() ? 'Hide password' : 'Show password'\"\n [attr.aria-pressed]=\"isVisible()\"\n (click)=\"toggleVisibility()\"\n type=\"button\"\n >\n @if (isVisible()) {\n <svg si-eye-off-icon size=\"16\" strokeWidth=\"2\" aria-hidden=\"true\"></svg>\n } @else {\n <svg si-eye-icon size=\"16\" strokeWidth=\"2\" aria-hidden=\"true\"></svg>\n }\n </button>\n </div>\n </div>\n\n <!--Password strength indicator-->\n <sc-progress\n class=\"mb-4 mt-3 h-1 w-full overflow-hidden rounded-full bg-border\"\n [indicatorClass]=\"indicatorClass()\"\n [value]=\"strengthScore()\"\n max=\"4\"\n aria-label=\"Password strength\"\n />\n\n <!-- Password strength description -->\n <p class=\"mb-2 text-sm font-medium\" id=\"password-description\">\n {{ strengthText() }}. Must contain:\n </p>\n\n <!-- Password requirements list -->\n <ul class=\"space-y-1.5\" aria-label=\"Password requirements\">\n @for (req of strength(); track $index) {\n <li class=\"flex items-center gap-2\">\n @if (req.met) {\n <svg class=\"text-emerald-500\" si-check-icon size=\"16\" aria-hidden=\"true\"></svg>\n } @else {\n <svg class=\"text-emerald-500\" si-x-icon size=\"16\" aria-hidden=\"true\"></svg>\n }\n <span class=\"text-xs\" [class]=\"req.met ? 'text-emerald-500' : 'text-muted-foreground/80'\">\n {{ req.text }}\n </span>\n <span class=\"sr-only\">\n {{ req.met ? '- Requirement met' : '- Requirement not met' }}\n </span>\n </li>\n }\n </ul>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputPassword implements OnInit {\n protected readonly id = inject(_IdGenerator).getId('sc-input-password-');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('block', this.classInput()));\n\n protected control = new FormControl();\n\n private destroyRef = inject(DestroyRef);\n\n ngOnInit() {\n this.control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => this.password.set(value));\n }\n\n readonly password = signal<string>('');\n readonly isVisible = signal<boolean>(false);\n\n requirements = [\n { regex: /.{8,}/, text: 'At least 8 characters' },\n { regex: /[0-9]/, text: 'At least 1 number' },\n { regex: /[a-z]/, text: 'At least 1 lowercase letter' },\n { regex: /[A-Z]/, text: 'At least 1 uppercase letter' },\n ];\n\n strength = computed(() =>\n this.requirements.map((req) => ({\n met: req.regex.test(this.password()),\n text: req.text,\n })),\n );\n\n strengthScore = computed(() => this.strength().filter((req) => req.met).length);\n\n protected readonly indicatorClass = computed(() =>\n cn('h-full transition-all duration-500 ease-out', this.strengthColor()),\n );\n\n strengthColor = computed(() => {\n const score = this.strengthScore();\n if (score === 0) return 'bg-border';\n if (score <= 1) return 'bg-red-500';\n if (score <= 2) return 'bg-orange-500';\n if (score === 3) return 'bg-amber-500';\n return 'bg-emerald-500';\n });\n\n strengthText = computed(() => {\n const score = this.strengthScore();\n if (score === 0) return 'Enter a password';\n if (score <= 2) return 'Weak password';\n if (score === 3) return 'Medium password';\n return 'Strong password';\n });\n\n toggleVisibility() {\n this.isVisible.update((prev) => !prev);\n }\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class InputOtpHandler {\n inputIndex = signal<number>(-1);\n length = signal<number>(0);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { InputOtpHandler } from './input-otp-handler';\n\n@Component({\n selector: 'sc-input-otp-slot',\n imports: [ReactiveFormsModule],\n template: `\n @let control = formControl();\n @if (control !== null) {\n <input\n class=\"size-full border-0 bg-transparent text-center shadow-none outline-none ring-0\"\n #input\n [formControl]=\"control\"\n [readonly]=\"!isActive()\"\n (keydown)=\"handleKeydown($event)\"\n type=\"text\"\n inputmode=\"numeric\"\n autocomplete=\"one-time-code\"\n maxLength=\"1\"\n size=\"1\"\n />\n }\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputOTPSlot {\n inputOtpHandler = inject(InputOtpHandler);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n this.isActive() && 'z-10 ring-2 ring-ring ring-offset-background',\n this.classInput(),\n ),\n );\n\n formControl = signal<FormControl | null>(null);\n index = 0;\n\n isActive = signal(false);\n\n readonly input = viewChild.required<HTMLInputElement>('input');\n\n protected handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Backspace') {\n this.autoFocusPrev();\n } else {\n this.autoFocusNext();\n }\n }\n\n private autoFocusNext(): void {\n if (this.inputOtpHandler.inputIndex() < this.inputOtpHandler.length() - 1) {\n this.isActive.set(false);\n this.inputOtpHandler.inputIndex.update((index) => index + 1);\n }\n }\n\n private autoFocusPrev() {\n //TODO remove old data\n\n if (this.inputOtpHandler.inputIndex() > 0) {\n this.isActive.set(false);\n this.inputOtpHandler.inputIndex.update((index) => index - 1);\n }\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n forwardRef,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { Subject } from 'rxjs';\n\nimport { InputOtpHandler } from './input-otp-handler';\nimport { ScInputOTPSlot } from './input-otp-slot';\n\n@Component({\n selector: 'sc-input-otp',\n imports: [ReactiveFormsModule],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScInputOtp),\n multi: true,\n },\n InputOtpHandler,\n ],\n})\nexport class ScInputOtp implements ControlValueAccessor, OnDestroy {\n private readonly inputOtpHandler = inject(InputOtpHandler);\n private readonly focusMonitor = inject(FocusMonitor);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex items-center gap-2 has-[:disabled]:opacity-50', this.classInput()),\n );\n\n readonly required = input<boolean, unknown>(false, {\n alias: 'required',\n transform: booleanAttribute,\n });\n\n readonly formGroup = new FormGroup({\n inputs: new FormArray([]),\n });\n\n get inputs(): FormArray {\n return this.formGroup.get('inputs') as FormArray;\n }\n\n readonly slots = contentChildren(ScInputOTPSlot, { descendants: true });\n\n constructor() {\n effect(() => {\n if (this.inputOtpHandler.inputIndex() !== -1) {\n const index = this.inputOtpHandler.inputIndex();\n const slot = this.slots()[index];\n\n //TODO remove old data\n\n slot.isActive.set(true);\n this.focusMonitor.focusVia(slot.input(), 'program');\n }\n });\n\n afterNextRender(() => {\n for (let i = 0; i < this.slots().length; i++) {\n const slot = this.slots()[i];\n\n const formControl = new FormControl('', Validators.required);\n\n slot.index = i;\n slot.formControl.set(formControl);\n this.inputs.push(formControl);\n }\n\n this.inputOtpHandler.length.set(this.slots().length);\n this.inputOtpHandler.inputIndex.set(0);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.formGroup.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {\n const tel = this.formGroup.valid ? this.inputs.value.join('') : null;\n this._updateValue(tel);\n });\n }\n\n private _updateValue(tel: string | null) {\n // const current = this._value();\n // if (\n // tel === current ||\n // (tel?.area === current?.area &&\n // tel?.exchange === current?.exchange &&\n // tel?.subscriber === current?.subscriber)\n // ) {\n // return;\n // }\n this._value.set(tel);\n\n this.onChange(tel);\n this.changeDetectorRef.markForCheck();\n }\n\n readonly _value = model<string | null>(null, { alias: 'value' });\n\n readonly disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n\n private readonly disabledByCva = signal(false);\n private readonly _disabled = computed(() => this.disabledByInput() || this.disabledByCva());\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n onChange = (_: any) => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n writeValue(tel: string | null): void {\n this._updateValue(tel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledByCva.set(isDisabled);\n }\n\n private readonly _elementRef = inject(ElementRef);\n //TODO use stateChanges to handle state changes\n readonly stateChanges = new Subject<void>();\n ngOnDestroy() {\n this.stateChanges.complete();\n this.focusMonitor.stopMonitoring(this._elementRef);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-input-otp-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputOTPGroup {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('flex items-center', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiDotIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-input-otp-separator',\n imports: [SiDotIcon],\n template: `\n <svg si-dot-icon></svg>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScInputOTPSeparator {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormBuilder,\n FormControl,\n FormGroup,\n FormGroupDirective,\n FormsModule,\n NgControl,\n NgForm,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\n\nimport { Subject } from 'rxjs';\n\n/** Data structure for holding telephone number. */\nexport class TelModel {\n constructor(\n public area: string,\n public exchange: string,\n public subscriber: string,\n ) {}\n}\n\n@Component({\n selector: 'sc-tel-input',\n imports: [FormsModule, ReactiveFormsModule],\n template: `\n <div\n class=\"\"\n [formGroup]=\"parts\"\n [attr.aria-labelledby]=\"getLabelId()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n role=\"group\"\n >\n <input\n class=\"\"\n #area\n (input)=\"_handleInput(parts.controls.area, exchange)\"\n formControlName=\"area\"\n size=\"3\"\n maxLength=\"3\"\n aria-label=\"Area code\"\n />\n <span class=\"\">&ndash;</span>\n <input\n class=\"\"\n #exchange\n (input)=\"_handleInput(parts.controls.exchange, subscriber)\"\n (keyup.backspace)=\"autoFocusPrev(parts.controls.exchange, area)\"\n formControlName=\"exchange\"\n maxLength=\"3\"\n size=\"3\"\n aria-label=\"Exchange code\"\n />\n <span class=\"\">&ndash;</span>\n <input\n class=\"\"\n #subscriber\n (input)=\"_handleInput(parts.controls.subscriber)\"\n (keyup.backspace)=\"autoFocusPrev(parts.controls.subscriber, exchange)\"\n formControlName=\"subscriber\"\n maxLength=\"4\"\n size=\"4\"\n aria-label=\"Subscriber number\"\n />\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[id]': 'id',\n },\n})\nexport class TelInputComponent implements ControlValueAccessor, DoCheck, OnDestroy {\n private readonly _parentForm = inject(NgForm, { optional: true });\n private readonly _parentFormGroup = inject(FormGroupDirective, { optional: true });\n\n static nextId = 0;\n readonly areaInput = viewChild.required<HTMLInputElement>('area');\n readonly exchangeInput = viewChild.required<HTMLInputElement>('exchange');\n readonly subscriberInput = viewChild.required<HTMLInputElement>('subscriber');\n\n ngControl = inject(NgControl, { optional: true, self: true });\n\n readonly parts: FormGroup<{\n area: FormControl<string | null>;\n exchange: FormControl<string | null>;\n subscriber: FormControl<string | null>;\n }>;\n readonly stateChanges = new Subject<void>();\n readonly touched = signal(false);\n readonly controlType = 'sma-tel-input';\n readonly id = `sma-tel-input-${TelInputComponent.nextId++}`;\n readonly _userAriaDescribedBy = input<string>('', { alias: 'aria-describedby' });\n readonly _placeholder = input<string>('', { alias: 'placeholder' });\n readonly _required = input<boolean, unknown>(false, {\n alias: 'required',\n transform: booleanAttribute,\n });\n readonly _disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly _value = model<TelModel | null>(null, { alias: 'value' });\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n onChange = (_: any) => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n getLabelId() {\n return '';\n }\n\n private readonly _focused = signal(false);\n private readonly disabledByCva = signal(false);\n private readonly _disabled = computed(() => this._disabledByInput() || this.disabledByCva());\n private readonly _focusMonitor = inject(FocusMonitor);\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n get focused(): boolean {\n return this._focused();\n }\n\n get empty() {\n const {\n value: { area, exchange, subscriber },\n } = this.parts;\n\n return !area && !exchange && !subscriber;\n }\n\n // get shouldLabelFloat() {\n // return this.focused || !this.empty;\n // }\n\n get userAriaDescribedBy() {\n return this._userAriaDescribedBy();\n }\n\n get placeholder(): string {\n return this._placeholder();\n }\n\n get required(): boolean {\n return this._required();\n }\n\n get disabled(): boolean {\n return this._disabled();\n }\n\n get value(): TelModel | null {\n return this._value();\n }\n\n // get errorState(): boolean {\n // return this.parts.invalid && this.touched();\n // }\n\n get errorState(): boolean {\n return this._errorState ?? false;\n }\n\n constructor() {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n this.parts = inject(FormBuilder).group({\n area: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(3)]],\n exchange: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(3)]],\n subscriber: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(4)]],\n });\n\n effect(() => {\n // Read signals to trigger effect.\n this._placeholder();\n this._required();\n this._disabled();\n this._focused();\n // Propagate state changes.\n untracked(() => this.stateChanges.next());\n });\n\n effect(() => {\n if (this._disabled()) {\n untracked(() => this.parts.disable());\n } else {\n untracked(() => this.parts.enable());\n }\n });\n\n effect(() => {\n const value = this._value() || new TelModel('', '', '');\n untracked(() => this.parts.setValue(value));\n });\n\n this.parts.statusChanges.pipe(takeUntilDestroyed()).subscribe(() => {\n this.stateChanges.next();\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.parts.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {\n const tel = this.parts.valid\n ? new TelModel(\n this.parts.value.area ?? '',\n this.parts.value.exchange ?? '',\n this.parts.value.subscriber ?? '',\n )\n : null;\n this._updateValue(tel);\n });\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n onFocusIn() {\n if (!this._focused()) {\n this._focused.set(true);\n }\n }\n\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched.set(true);\n this._focused.set(false);\n this.onTouched();\n }\n }\n\n autoFocusNext(control: AbstractControl, nextElement?: HTMLInputElement): void {\n if (!control.errors && nextElement) {\n this._focusMonitor.focusVia(nextElement, 'program');\n }\n }\n\n autoFocusPrev(control: AbstractControl, prevElement: HTMLInputElement): void {\n if (control.value.length < 1) {\n this._focusMonitor.focusVia(prevElement, 'program');\n }\n }\n\n //TODO\n setDescribedByIds(ids: string[]) {\n const controlElement = this._elementRef.nativeElement.querySelector(\n '.example-tel-input-container',\n )!;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n onContainerClick() {\n if (this.parts.controls.subscriber.valid) {\n this._focusMonitor.focusVia(this.subscriberInput(), 'program');\n } else if (this.parts.controls.exchange.valid) {\n this._focusMonitor.focusVia(this.subscriberInput(), 'program');\n } else if (this.parts.controls.area.valid) {\n this._focusMonitor.focusVia(this.exchangeInput(), 'program');\n } else {\n this._focusMonitor.focusVia(this.areaInput(), 'program');\n }\n }\n\n writeValue(tel: TelModel | null): void {\n this._updateValue(tel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledByCva.set(isDisabled);\n }\n\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\n this.autoFocusNext(control, nextElement);\n this.onChange(this.value);\n }\n\n private _updateValue(tel: TelModel | null) {\n const current = this._value();\n if (\n tel === current ||\n (tel?.area === current?.area &&\n tel?.exchange === current?.exchange &&\n tel?.subscriber === current?.subscriber)\n ) {\n return;\n }\n this._value.set(tel);\n }\n\n //error\n\n /** Whether the component is in an error state. */\n _errorState: boolean | undefined = false;\n\n ngDoCheck() {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n private updateErrorState() {\n const parentSubmitted = this._parentFormGroup?.submitted || this._parentForm?.submitted;\n const touchedOrParentSubmitted = this.touched() || parentSubmitted;\n\n const newState = (this.ngControl?.invalid || this.parts.invalid) && touchedOrParentSubmitted;\n\n if (this.errorState !== newState) {\n this._errorState = newState;\n this.stateChanges.next(); // Notify listeners of state changes.\n }\n }\n}\n","import { AsyncPipe, JsonPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TelInputComponent } from './tel-input.component';\n\n@Component({\n selector: 'sc-form-field-custom-control',\n imports: [FormsModule, ReactiveFormsModule, AsyncPipe, JsonPipe, TelInputComponent],\n template: `\n <div [formGroup]=\"form\">\n <div>\n <label for=\"id_tel\">Phone number</label>\n <sc-tel-input id=\"id_tel\" formControlName=\"tel\" required />\n </div>\n <p>Entered value: {{ form.valueChanges | async | json }}</p>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFieldCustomControlComponent {\n readonly form = new FormGroup({\n tel: new FormControl(null),\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'textarea[sc-textarea]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTextarea {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n this.class(),\n ),\n );\n}\n","import { signal } from '@angular/core';\n\nexport const scOverlayClasses = signal<string[]>([\n 'bg-black/80',\n 'data-[state=open]:animate-in',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=open]:fade-in-0',\n]);\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-sheet-container',\n imports: [NgTemplateOutlet],\n template: `\n @if (templateRef()) {\n <ng-container *ngTemplateOutlet=\"templateRef()\"></ng-container>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSheetContainer {\n class = input<string>('');\n\n classes = computed(() => cn('block size-full', this.class()));\n\n templateRef = signal<TemplateRef<unknown> | null>(null);\n}\n","import { Overlay, OverlayConfig, OverlayContainer, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, TemplateRef, effect, inject, signal } from '@angular/core';\n\nimport { scOverlayClasses } from '../overlay';\nimport { ScSheetConfig } from './sheet-config';\nimport { ScSheetContainer } from './sheet-container';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScSheetTrigger {\n private readonly _overlayContainer = inject(OverlayContainer);\n private readonly _overlay = inject(Overlay);\n private _overlayRef!: OverlayRef;\n\n state = signal<'open' | 'closed'>('closed');\n side = signal<'top' | 'bottom' | 'left' | 'right'>('right');\n\n constructor() {\n effect(() => {\n if (this.state() === 'open') {\n this._overlayContainer.getContainerElement().classList.add(...scOverlayClasses());\n }\n\n if (this.state() === 'closed') {\n this._overlayContainer.getContainerElement().classList.remove(...scOverlayClasses());\n }\n\n this._overlayContainer.getContainerElement().setAttribute('data-state', this.state());\n });\n }\n\n open(templateRef: TemplateRef<unknown>, config: ScSheetConfig) {\n this.state.set('open');\n this.side.set(config.side);\n\n const overlayConfig = this.getOverlayConfig(config);\n this._overlayRef = this._overlay.create(overlayConfig);\n\n const scSheetPortal = new ComponentPortal(ScSheetContainer);\n const scSheetRef: ComponentRef<ScSheetContainer> = this._overlayRef.attach(scSheetPortal);\n\n scSheetRef.instance.templateRef.set(templateRef);\n\n this._overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef?.detach();\n this.state.set('closed');\n }\n }\n\n private getOverlayConfig(config: ScSheetConfig): OverlayConfig {\n switch (config.side) {\n case 'top': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().top(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n case 'bottom': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().bottom(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n case 'left': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().left(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n case 'right': {\n return new OverlayConfig({\n positionStrategy: this._overlay.position().global().right(),\n width: config.width,\n height: config.height,\n hasBackdrop: true,\n });\n }\n\n default: {\n throw new Error('Error in switch case');\n }\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nimport { ScSheetTrigger } from './sheet-trigger';\n\nconst sheetVariants = cva(\n 'relative z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out',\n {\n variants: {\n side: {\n top: 'size-full border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'size-full border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'size-full border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'size-full border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n);\n\nexport type SheetVariants = VariantProps<typeof sheetVariants>;\n\n@Component({\n selector: 'div[sc-sheet]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSheet {\n scSheetTrigger = inject(ScSheetTrigger);\n\n state = computed<'open' | 'closed'>(() => {\n return this.scSheetTrigger.state();\n });\n\n side = computed<'top' | 'bottom' | 'left' | 'right'>(() => {\n return this.scSheetTrigger.side();\n });\n\n class = input<string>('');\n\n classes = computed(() => cn(sheetVariants({ side: this.side() }), this.class()));\n}\n","export class ScSheetConfig {\n side: 'top' | 'bottom' | 'left' | 'right' = 'right';\n width = '100%';\n height = '100%';\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScSheetTrigger } from './sheet-trigger';\n\n@Component({\n selector: 'button[sc-sheet-close]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(click)': 'close()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSheetClose {\n scSheetTrigger = inject(ScSheetTrigger);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n this.class(),\n ),\n );\n\n close() {\n this.scSheetTrigger.close();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'nav[sc-breadcrumb]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[attr.aria-label]': 'ariaLabel',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumb {\n ariaLabel = 'breadcrumb';\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'ol[sc-breadcrumb-list]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbList {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'li[sc-breadcrumb-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbItem {\n class = input<string>('');\n\n classes = computed(() => cn('inline-flex items-center gap-1.5', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'a[sc-breadcrumb-link]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbLink {\n class = input<string>('');\n\n classes = computed(() => cn('transition-colors hover:text-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'span[sc-breadcrumb-page]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'link',\n '[attr.aria-disabled]': 'true',\n '[attr.aria-current]': '\"page\"',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbPage {\n class = input<string>('');\n\n classes = computed(() => cn('font-normal text-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'li[sc-breadcrumb-separator]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'presentation',\n '[attr.aria-hidden]': 'true',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('[&_svg]:w-3.5 [&_svg]:h-3.5', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiEllipsisIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'span[sc-breadcrumb-ellipsis]',\n imports: [SiEllipsisIcon],\n template: `\n <svg class=\"size-4\" si-ellipsis-icon></svg>\n <span class=\"sr-only\">More</span>\n `,\n host: {\n role: 'presentation',\n '[attr.aria-hidden]': 'true',\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBreadcrumbEllipsis {\n class = input<string>('');\n\n classes = computed(() => cn('flex h-9 w-9 items-center justify-center', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-toggle-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToggleGroup {\n type = input<'single' | 'multiple'>('single');\n\n class = input<string>('');\n\n _class = computed(() => cn('flex items-center justify-center gap-1', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-toggle-group-item',\n imports: [],\n template: `\n <p>toggle-group-item works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToggleGroupItem {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-dialog-close]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogClose {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-dialog-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogContent {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-dialog-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogDescription {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm text-muted-foreground', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-dialog-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogFooter {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-dialog-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogHeader {\n class = input<string>('');\n\n classes = computed(() => cn(' flex flex-col space-y-1.5 text-center sm:text-left', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-dialog-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialogTitle {\n class = input<string>('');\n\n classes = computed(() => cn('text-lg font-semibold leading-none tracking-tight', this.class()));\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScDialogClose } from './dialog-close';\nimport { ScDialogContent } from './dialog-content';\nimport { ScDialogDescription } from './dialog-description';\nimport { ScDialogFooter } from './dialog-footer';\nimport { ScDialogHeader } from './dialog-header';\nimport { ScDialogTitle } from './dialog-title';\n\n@Component({\n selector: 'sc-dialog',\n imports: [\n ScDialogHeader,\n ScDialogTitle,\n ScDialogDescription,\n ScDialogFooter,\n ScDialogClose,\n SiXIcon,\n ScDialogContent,\n ScButton,\n ],\n template: `\n <div sc-dialog-content>\n <button (click)=\"dialogRef.close()\" sc-dialog-close>\n <svg class=\"size-4\" si-x-icon></svg>\n <span class=\"sr-only\">Close</span>\n </button>\n\n <div sc-dialog-header>\n <h2 sc-dialog-title>Edit profile</h2>\n\n <p sc-dialog-description>Make changes to your profile here. Click save when you're done.</p>\n </div>\n\n <div sc-dialog-footer>\n <button sc-button type=\"submit\">Save changes</button>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDialog {\n dialogRef = inject(DialogRef);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border p-4 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7 [&_svg]:size-4',\n {\n variants: {\n variant: {\n default: 'bg-background text-foreground',\n destructive:\n 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype AlertVariants = VariantProps<typeof alertVariants>;\n\n@Component({\n selector: 'div[sc-alert]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'alert',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlert {\n readonly variant = input<AlertVariants['variant']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(alertVariants({ variant: this.variant() }), this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h5[sc-alert-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('mb-1 font-medium leading-none tracking-tight', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-alert-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-sm [&_p]:leading-relaxed', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-alert-dialog-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-sm text-muted-foreground', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-alert-dialog-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogFooter {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-alert-dialog-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col space-y-2 text-center sm:text-left', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-alert-dialog-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialogTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-lg font-semibold', this.classInput()));\n}\n","import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { ScAlertDialogDescription } from './alert-dialog-description';\nimport { ScAlertDialogFooter } from './alert-dialog-footer';\nimport { ScAlertDialogHeader } from './alert-dialog-header';\nimport { ScAlertDialogTitle } from './alert-dialog-title';\n\n@Component({\n selector: 'sc-alert-dialog',\n imports: [\n ScButton,\n ScAlertDialogFooter,\n ScAlertDialogHeader,\n ScAlertDialogDescription,\n ScAlertDialogTitle,\n ],\n template: `\n <div sc-alert-dialog-header>\n <h2 sc-alert-dialog-title>{{ data.title }}</h2>\n\n <p sc-alert-dialog-description>\n {{ data.description }}\n </p>\n </div>\n\n <div sc-alert-dialog-footer>\n <button class=\"mt-2 sm:mt-0\" (click)=\"dialogRef.close(false)\" variant=\"outline\" sc-button>\n Cancel\n </button>\n <button (click)=\"dialogRef.close(true)\" sc-button>{{ data.action }}</button>\n </div>\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAlertDialog {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n this.classInput(),\n ),\n );\n\n //TODO make this working\n readonly state = signal<'open' | 'closed'>('closed');\n\n readonly dialogRef = inject(DialogRef);\n readonly data = inject(DIALOG_DATA);\n\n constructor() {\n this.dialogRef.disableClose = true;\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { ScAlertDialog } from './alert-dialog';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScAlertDialogTrigger {\n readonly dialog = inject(Dialog);\n\n async open(title: string, description: string, action: string): Promise<boolean> {\n const dialogRef = this.dialog.open<boolean>(ScAlertDialog, {\n minWidth: '300px',\n data: { title: title, description: description, action: action },\n });\n\n return firstValueFrom(dialogRef.closed).then((result) => {\n console.log('The dialog was closed', result);\n return Promise.resolve(!!result);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-confirmation-dialog-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-sm text-muted-foreground', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-confirmation-dialog-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogFooter {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-confirmation-dialog-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-col space-y-2 text-center sm:text-left', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-confirmation-dialog-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('text-lg font-semibold', this.classInput()));\n}\n","import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScButton } from '../button';\nimport { ScConfirmationDialogDescription } from './confirmation-dialog-description';\nimport { ScConfirmationDialogFooter } from './confirmation-dialog-footer';\nimport { ScConfirmationDialogHeader } from './confirmation-dialog-header';\nimport { ScConfirmationDialogTitle } from './confirmation-dialog-title';\n\n@Component({\n selector: 'sc-confirmation-dialog-content',\n imports: [\n ScButton,\n ScConfirmationDialogFooter,\n ScConfirmationDialogHeader,\n ScConfirmationDialogDescription,\n ScConfirmationDialogTitle,\n ],\n template: `\n <div sc-confirmation-dialog-header>\n <h2 sc-confirmation-dialog-title>{{ data.title }}</h2>\n\n <p sc-confirmation-dialog-description>\n {{ data.message }}\n </p>\n </div>\n\n <div sc-confirmation-dialog-footer>\n <button class=\"mt-2 sm:mt-0\" (click)=\"close(false)\" variant=\"outline\" sc-button>\n {{ data.cancelButtonText }}\n </button>\n <button (click)=\"close(true)\" sc-button>{{ data.actionButtonText }}</button>\n </div>\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-state]': 'state()',\n '(animationend)': 'animationend()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScConfirmationDialogContent implements AfterViewInit {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 sm:rounded-lg',\n this.classInput(),\n ),\n );\n\n private readonly state = signal<'open' | 'closed' | undefined>(undefined);\n private readonly response = signal<boolean>(false);\n private readonly animationEnd = signal<boolean>(false);\n\n readonly dialogRef = inject(DialogRef);\n readonly data = inject(DIALOG_DATA);\n\n constructor() {\n this.dialogRef.disableClose = true;\n\n effect(() => {\n if (this.animationEnd()) {\n this.dialogRef.close(this.response());\n }\n });\n }\n\n ngAfterViewInit() {\n this.state.set('open');\n }\n\n close(b: boolean) {\n this.state.set('closed');\n this.response.set(b);\n }\n\n animationend() {\n if (this.state() === 'closed') {\n this.animationEnd.set(true);\n }\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { ScConfirmationDialogContent } from './confirmation-dialog-content';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScConfirmationDialog {\n readonly dialog = inject(Dialog);\n\n async confirm(\n title: string,\n message: string,\n actionButtonText = 'Continue',\n cancelButtonText = 'Cancel',\n ): Promise<boolean> {\n const dialogRef = this.dialog.open<boolean>(ScConfirmationDialogContent, {\n minWidth: '300px',\n data: {\n title: title,\n message: message,\n actionButtonText: actionButtonText,\n cancelButtonText: cancelButtonText,\n },\n });\n\n return firstValueFrom(dialogRef.closed).then((result) => {\n console.log('The confirmation dialog was closed', result);\n return Promise.resolve(!!result);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n primary: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n },\n);\n\ntype BadgeVariants = VariantProps<typeof badgeVariants>;\n\n@Component({\n selector: 'div[sc-badge]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScBadge {\n variant = input<BadgeVariants['variant']>('primary');\n\n class = input<string>('');\n\n classes = computed(() => cn(badgeVariants({ variant: this.variant() }), this.class()));\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-scroll-area]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScScrollArea implements AfterViewInit {\n private readonly host = inject(ElementRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n ngAfterViewInit() {\n const height = this.host.nativeElement.scrollHeight;\n\n console.log(height);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tab',\n imports: [],\n template: `\n <ng-template #label>\n <ng-content select=\"sc-tab-label\" />\n </ng-template>\n\n @if (active()) {\n <ng-content select=\"sc-tab-content\" />\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTab {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n\n active = signal<boolean>(false);\n\n label = viewChild.required<TemplateRef<unknown>>('label');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-tabs-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'tablist',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabsHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground',\n this.classInput(),\n ),\n );\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n afterNextRender,\n computed,\n contentChildren,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScTab } from './tab';\nimport { ScTabsHeader } from './tabs-header';\n\n@Component({\n selector: 'sc-tabs',\n imports: [NgTemplateOutlet, ScTabsHeader],\n template: `\n <div [class]=\"tabsHeaderClass()\" sc-tabs-header>\n @for (tab of tabs(); track tab) {\n <button\n class=\"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\"\n [attr.data-state]=\"tab.active() ? 'active' : ''\"\n (click)=\"selectTab(tab)\"\n >\n <ng-container [ngTemplateOutlet]=\"tab.label()\"></ng-container>\n </button>\n } @empty {\n <p>There are no tabs.</p>\n }\n </div>\n\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabs {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('', this.classInput()));\n\n readonly tabsHeaderClass = input<string>('');\n\n readonly tabs = contentChildren(ScTab, { descendants: true });\n\n constructor() {\n afterNextRender(() => {\n // get all active tabs\n const activeTabs = this.tabs().filter((tab) => tab.active());\n\n if (activeTabs.length > 1) {\n throw new Error('Only one tab can be active');\n }\n\n // if there is no active tab set, activate the first\n if (activeTabs.length === 0) {\n this.selectTab(this.tabs()[0]);\n }\n });\n }\n\n selectTab(tab: ScTab) {\n // deactivate all tabs\n this.tabs().forEach((tab) => tab.active.set(false));\n\n // activate the tab the user has clicked on.\n tab.active.set(true);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tab-label',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabLabel {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-tab-content',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabContent {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'block mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-tab-content2',\n imports: [],\n template: `\n <ng-template #template>\n <ng-content />\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabContent2 {\n readonly template = viewChild.required<TemplateRef<unknown>>('template');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-tab-label2',\n imports: [],\n template: `\n <ng-template #template>\n <ng-content />\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [],\n})\nexport class ScTabLabel2 {\n readonly template = viewChild.required<TemplateRef<unknown>>('template');\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n contentChildren,\n} from '@angular/core';\n\nimport { ScTabContent2 } from './tab-content';\nimport { ScTabLabel2 } from './tab-label';\n\n@Component({\n selector: 'sc-tab-group',\n imports: [NgTemplateOutlet],\n template: `\n <div class=\"group relative my-4 flex flex-col space-y-2\">\n <div class=\"relative mr-auto w-full\" dir=\"ltr\" data-orientation=\"horizontal\">\n <div class=\"flex items-center justify-between pb-3\">\n <div\n class=\"inline-flex h-9 w-full items-center justify-start rounded-none border-b bg-transparent p-0 text-muted-foreground\"\n style=\"outline: none;\"\n tabindex=\"0\"\n data-orientation=\"horizontal\"\n >\n @for (tab of tabLabels(); track tab) {\n <ng-container [ngTemplateOutlet]=\"tab.template()\"></ng-container>\n }\n </div>\n </div>\n <div\n class=\"relative mt-2 rounded-md border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\n id=\"radix-:r17g:-content-preview\"\n style=\"animation-duration: 0s;\"\n tabindex=\"0\"\n data-state=\"active\"\n data-orientation=\"horizontal\"\n >\n <div class=\"theme-zinc w-full\" style=\"--radius: 0.5rem;\">\n <div class=\"preview flex min-h-[350px] w-full items-center justify-center p-10\">\n <div\n class=\"relative h-72 w-48 overflow-hidden rounded-md border\"\n dir=\"ltr\"\n style=\"position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;\"\n >\n <div\n class=\"size-full rounded-[inherit]\"\n style=\"overflow: hidden scroll;\"\n data-radix-scroll-area-viewport=\"\"\n >\n @for (content of tabContents(); track content) {\n <ng-container [ngTemplateOutlet]=\"content.template()\"></ng-container>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content />\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabGroup implements AfterViewInit {\n readonly tabLabels = contentChildren(ScTabLabel2, { descendants: true });\n\n readonly tabContents = contentChildren(ScTabContent2, { descendants: true });\n\n ngAfterViewInit() {\n console.log(this.tabLabels());\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-tab-item',\n imports: [],\n template: `\n <ng-content />\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTabItem {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'border bg-background text-foreground',\n destructive:\n 'destructive group border-destructive bg-destructive text-destructive-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype ToastVariants = VariantProps<typeof toastVariants>;\n\n@Component({\n selector: 'li[sc-toast]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToast {\n variant = input<ToastVariants['variant']>('default');\n\n class = input<string>('');\n\n classes = computed(() => cn(toastVariants({ variant: this.variant() }), this.class()));\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, inject } from '@angular/core';\n\nimport { ScToast } from './toast';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Toaster {\n private overlayRef: OverlayRef;\n overlay = inject(Overlay);\n\n constructor() {\n // Initialize an overlay and define a relative position\n // Change this to control where your toaster should appear\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n positionStrategy: this.overlay.position().global().top('20px').right('20px'),\n });\n }\n\n toast(message: string): void {\n // Create a Portal instance of our `NotificationComponent`\n const notificationPortal = new ComponentPortal(ScToast);\n // Attach our `NotificationComponent` to the Overlay Portal\n // const notificationRef: ComponentRef<Toaster> = this.overlayRef.attach(notificationPortal);\n // Now we can access the component instance\n // and we can pass input for the `message` prop we created.\n // notificationRef.instance.message = message;\n\n // Set a timeout to detach our component from the overlay\n // after 3000 milliseconds\n setTimeout(() => {\n this.overlayRef.detach();\n }, 3000);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-toast-action]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastAction {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-toast-close]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastClose {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-toast-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastContent {\n class = input<string>('');\n\n classes = computed(() => cn('grid gap-1', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-toast-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastDescription {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm opacity-90', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-toast-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastTitle {\n class = input<string>('');\n\n classes = computed(() => cn('text-sm font-semibold', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScToast } from './toast';\nimport { ScToastAction } from './toast-action';\nimport { ScToastClose } from './toast-close';\nimport { ScToastContent } from './toast-content';\nimport { ScToastDescription } from './toast-description';\nimport { ScToastTitle } from './toast-title';\n\n@Component({\n selector: 'sc-toast-example',\n imports: [\n ScToastClose,\n SiXIcon,\n ScToastAction,\n ScToastDescription,\n ScToastTitle,\n ScToast,\n ScToastContent,\n ],\n template: `\n <!--\n <ol\n class=\"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\"\n tabindex=\"-1\"\n >\n\n -->\n <li\n sc-toast\n role=\"status\"\n aria-live=\"off\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n data-state=\"open\"\n data-swipe-direction=\"right\"\n data-radix-collection-item=\"\"\n style=\"user-select: none; touch-action: none;\"\n >\n <div sc-toast-content>\n <h2 sc-toast-title>Scheduled: Catch up</h2>\n <p sc-toast-description>Friday, February 10, 2023 at 5:57 PM</p>\n </div>\n <button sc-toast-action type=\"button\">Undo</button>\n <button type=\"button\" sc-toast-close>\n <svg class=\"size-4\" si-x-icon></svg>\n <span class=\"sr-only\">Close</span>\n </button>\n </li>\n\n <!--\n </ol>\n\n-->\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScToastExample {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n effect,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'input[sc-slider]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(input)': 'handleInput($event)',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSlider {\n private readonly host = inject(ElementRef);\n\n class = input<string>('');\n\n trackClass = signal(\n '[&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full',\n );\n\n thumbClass = signal(\n '[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:-mt-1.5 [&::-moz-range-thumb]:border-none [&::-moz-range-thumb]:rounded-none [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-primary',\n );\n\n classes = computed(() =>\n cn(\n 'appearance-none bg-transparent w-full rounded-full h-2',\n this.trackClass(),\n this.thumbClass(),\n this.class(),\n ),\n );\n\n value = model<number>(0);\n min = input<number>(0);\n max = input<number>(100);\n\n constructor() {\n effect(() => {\n const progress = (this.value() / this.max()) * 100;\n this.host.nativeElement.style.background = `linear-gradient(to right, hsl(var(--primary)) ${progress}%, #ccc ${progress}%)`;\n });\n\n afterNextRender(() => {\n if (this.host.nativeElement.value > 0) {\n this.value.set(this.host.nativeElement.value);\n }\n });\n }\n\n handleInput(event: KeyboardEvent) {\n if (!event.target) return;\n this.value.set(+(event.target as HTMLInputElement).value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport EmblaCarousel, {\n EmblaCarouselType,\n EmblaOptionsType,\n EmblaPluginType,\n} from 'embla-carousel';\n\n@Component({\n selector: 'div[sc-carousel]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'region',\n 'aria-roledescription': 'carousel',\n '[class]': 'class()',\n '(keydown)': 'handleKeydown($event)',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarousel {\n private readonly emblaNode = inject(ElementRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('overflow-hidden', this.classInput()));\n\n readonly options = input<EmblaOptionsType>({ loop: false });\n\n readonly plugins = input<EmblaPluginType[]>([]);\n\n readonly canScrollPrev = signal(false);\n\n readonly canScrollNext = signal(false);\n\n private emblaApi!: EmblaCarouselType;\n\n get carouselApi() {\n return this.emblaApi;\n }\n\n readonly orientation = computed<'horizontal' | 'vertical'>(() => {\n return this.options()?.axis === 'y' ? 'vertical' : 'horizontal';\n });\n\n constructor() {\n afterNextRender(() => {\n this.emblaApi = EmblaCarousel(this.emblaNode.nativeElement, this.options(), this.plugins());\n\n this.emblaApi\n .on('select', this.togglePrevNextBtnsState)\n .on('init', this.togglePrevNextBtnsState)\n .on('reInit', this.togglePrevNextBtnsState);\n });\n }\n\n togglePrevNextBtnsState = (): void => {\n if (this.emblaApi.canScrollPrev()) {\n this.canScrollPrev.set(true);\n } else {\n this.canScrollPrev.set(false);\n }\n\n if (this.emblaApi.canScrollNext()) {\n this.canScrollNext.set(true);\n } else {\n this.canScrollNext.set(false);\n }\n };\n\n handleKeydown(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.scrollNext();\n }\n }\n\n private scrollPrev() {\n this.emblaApi.scrollPrev();\n }\n\n private scrollNext() {\n this.emblaApi.scrollNext();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-carousel-container]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselContainer {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('relative', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'div[sc-carousel-items]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselItems {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'flex',\n this.scCarousel.orientation() === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'div[sc-carousel-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n role: 'group',\n 'aria-roledescription': 'slide',\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselItem {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n this.scCarousel.orientation() === 'horizontal' ? 'pl-4' : 'pt-4',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ButtonVariants, buttonVariants } from '../button';\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'button[sc-carousel-previous]',\n imports: [],\n template: `\n <ng-content />\n <span class=\"sr-only\">Previous slide</span>\n `,\n host: {\n '[class]': 'class()',\n '[disabled]': 'disabled()',\n '(click)': 'scrollPrev()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselPrevious {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly variant = input<ButtonVariants['variant']>('primary');\n\n readonly size = input<ButtonVariants['size']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n buttonVariants({ variant: this.variant(), size: this.size() }),\n 'absolute h-8 w-8 rounded-full',\n this.scCarousel.orientation() === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n this.classInput(),\n ),\n );\n\n protected readonly disabled = computed(() => {\n return !this.scCarousel.canScrollPrev();\n });\n\n protected scrollPrev() {\n this.scCarousel.carouselApi.scrollPrev();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ButtonVariants, buttonVariants } from '../button';\nimport { ScCarousel } from './carousel';\n\n@Component({\n selector: 'button[sc-carousel-next]',\n imports: [],\n template: `\n <ng-content />\n <span class=\"sr-only\">Next slide</span>\n `,\n host: {\n '[class]': 'class()',\n '[disabled]': 'disabled()',\n '(click)': 'scrollNext()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCarouselNext {\n private readonly scCarousel = inject(ScCarousel);\n\n readonly variant = input<ButtonVariants['variant']>('primary');\n\n readonly size = input<ButtonVariants['size']>('default');\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n buttonVariants({ variant: this.variant(), size: this.size() }),\n 'absolute h-8 w-8 rounded-full',\n this.scCarousel.orientation() === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n this.classInput(),\n ),\n );\n\n protected readonly disabled = computed(() => {\n return !this.scCarousel.canScrollNext();\n });\n\n protected scrollNext() {\n this.scCarousel.carouselApi.scrollNext();\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon, SiMinusIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-checkbox',\n imports: [SiCheckIcon, SiMinusIcon],\n template: `\n <div [class]=\"wrapperClass()\">\n <input\n [id]=\"id()\"\n [attr.aria-label]=\"ariaLabel()\"\n [class]=\"checkboxClass()\"\n [disabled]=\"disabled()\"\n [checked]=\"checked()\"\n [attr.data-state]=\"state()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"toggle()\"\n type=\"checkbox\"\n />\n\n @if (indeterminate()) {\n <svg [class]=\"svgClass()\" si-minus-icon></svg>\n } @else if (checked()) {\n <svg [class]=\"svgClass()\" si-check-icon></svg>\n }\n </div>\n\n <label [class]=\"labelClass()\" [for]=\"id()\">\n <ng-content />\n </label>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScCheckbox),\n multi: true,\n },\n ],\n})\nexport class ScCheckbox implements ControlValueAccessor {\n protected readonly id = signal<string>(inject(_IdGenerator).getId('sc-checkbox-'));\n\n private readonly hostRef = inject(ElementRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('flex items-center space-x-2', this.classInput()));\n\n readonly wrapperClassInput = input<string>('', {\n alias: 'wrapperClass',\n });\n\n protected readonly wrapperClass = computed(() => cn('relative size-4', this.wrapperClassInput()));\n\n readonly checkboxClassInput = input<string>('', {\n alias: 'checkboxClass',\n });\n\n protected readonly checkboxClass = computed(() =>\n cn(\n 'peer appearance-none absolute top-0 left-0 size-full shrink-0 cursor-pointer rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground',\n this.checkboxClassInput(),\n ),\n );\n\n readonly svgClassInput = input<string>('', {\n alias: 'svgClass',\n });\n\n protected readonly svgClass = computed(() =>\n cn(\n 'absolute top-0 left-0 size-full outline-none cursor-pointer pointer-events-none text-primary-foreground',\n this.svgClassInput(),\n ),\n );\n\n readonly labelClassInput = input<string>('', {\n alias: 'labelClass',\n });\n\n protected readonly labelClass = computed(() =>\n cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n this.labelClassInput(),\n ),\n );\n\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n readonly indeterminateInput = input<boolean, unknown>(false, {\n alias: 'indeterminate',\n transform: booleanAttribute,\n });\n protected readonly indeterminate = linkedSignal(() => this.indeterminateInput());\n\n readonly checkedInput = input<boolean, unknown>(false, {\n alias: 'checked',\n transform: booleanAttribute,\n });\n protected readonly checked = linkedSignal(() => this.checkedInput());\n readonly checkedChange = output<boolean>();\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n protected readonly disabled = linkedSignal(() => this.disabledInput());\n\n protected readonly state = computed<'indeterminate' | 'checked' | 'unchecked'>(() => {\n if (this.indeterminate()) {\n return 'indeterminate';\n }\n\n if (this.checked()) {\n return 'checked';\n }\n\n return 'unchecked';\n });\n\n constructor() {\n effect(() => {\n this.hostRef.nativeElement.indeterminate = this.indeterminate();\n });\n\n effect(() => {\n this.checkedChange.emit(this.checked());\n });\n }\n\n protected toggle() {\n if (this.disabled()) {\n return;\n }\n\n const v = !this.checked();\n this.checked.set(v);\n\n if (this.indeterminate()) {\n this.indeterminate.set(false);\n }\n\n this.onChange(v);\n this.changeDetectorRef.markForCheck();\n }\n\n writeValue(checked: boolean): void {\n this.checked.set(checked);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n protected onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n}\n","import { CdkListbox } from '@angular/cdk/listbox';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-checkbox-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CdkListbox,\n inputs: [\n 'cdkListboxDisabled: disabled',\n 'cdkListboxMultiple: multiple',\n // 'cdkListboxValue: value',\n ],\n // outputs: ['cdkListboxValueChange: valueChange'],\n },\n ],\n})\nexport class ScCheckboxGroup {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('space-y-2', this.classInput()));\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n protected readonly multiple = signal(true);\n\n // readonly value = model<unknown>(undefined);\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport { CdkOption } from '@angular/cdk/listbox';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n linkedSignal,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-checkbox-item',\n imports: [SiCheckIcon],\n template: `\n <input\n [checked]=\"checked()\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n type=\"checkbox\"\n value=\"on\"\n style=\"transform: translateX(-100%); position: absolute; pointer-events: none; opacity: 0; margin: 0px; width: 16px; height: 16px;\"\n />\n <label\n class=\"text-sm font-normal leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n [for]=\"id()\"\n >\n {{ label() }}\n </label>\n <button\n class=\"peer size-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\"\n [id]=\"id()\"\n [attr.data-state]=\"state()\"\n [attr.aria-checked]=\"state() === 'checked' ? 'true' : 'false'\"\n type=\"button\"\n role=\"checkbox\"\n value=\"on\"\n aria-describedby=\":rce:-form-item-description\"\n aria-invalid=\"false\"\n >\n @if (checked()) {\n <span\n class=\"pointer-events-none flex items-center justify-center text-current\"\n [attr.data-state]=\"state()\"\n >\n <svg class=\"size-4\" si-check-icon></svg>\n </span>\n }\n </button>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: ['cdkOption: value', 'cdkOptionDisabled: disabled'],\n },\n ],\n})\nexport class ScCheckboxItem implements OnInit {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly id = signal<string>(inject(_IdGenerator).getId('sc-checkbox-item-'));\n\n private readonly cdkOption = inject(CdkOption);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex flex-row items-start space-x-3 space-y-0', this.classInput()),\n );\n\n readonly value = input.required<string>();\n readonly label = input.required<string>();\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n protected readonly disabled = linkedSignal(() => this.disabledInput());\n\n protected readonly checked = linkedSignal(() => this.cdkOption.isSelected());\n\n protected readonly state = computed<'checked' | 'unchecked'>(() => {\n if (this.checked()) {\n return 'checked';\n }\n\n return 'unchecked';\n });\n\n ngOnInit() {\n this.cdkOption._clicked.subscribe(() => {\n this.changeDetectorRef.markForCheck();\n this.checked.set(this.cdkOption.isSelected());\n });\n }\n}\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-accordion',\n imports: [CdkAccordionModule],\n template: `\n <cdk-accordion>\n <ng-content />\n </cdk-accordion>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordion {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h3[sc-accordion-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionHeader {\n class = input<string>('');\n\n classes = computed(() => cn('flex', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-accordion-trigger]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionTrigger {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180',\n this.class(),\n ),\n );\n}\n","import { CdkAccordionModule } from '@angular/cdk/accordion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiChevronDownIcon, SiChevronUpIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScAccordionHeader } from './accordion-header';\nimport { ScAccordionTrigger } from './accordion-trigger';\n\n@Component({\n selector: 'sc-accordion-item',\n imports: [\n CdkAccordionModule,\n SiChevronDownIcon,\n SiChevronUpIcon,\n ScAccordionHeader,\n ScAccordionTrigger,\n ],\n template: `\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\">\n <h3 sc-accordion-header>\n <button (click)=\"accordionItem.toggle()\" sc-accordion-trigger type=\"button\">\n <ng-content select=\"sc-accordion-item-description\" />\n\n @if (accordionItem.expanded) {\n <svg class=\"size-4 shrink-0 transition-transform duration-200\" si-chevron-up-icon></svg>\n } @else {\n <svg\n class=\"size-4 shrink-0 transition-transform duration-200\"\n si-chevron-down-icon\n ></svg>\n }\n </button>\n </h3>\n\n @if (accordionItem.expanded) {\n <ng-content select=\"sc-accordion-content\" />\n }\n </cdk-accordion-item>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionItem {\n class = input<string>('');\n\n classes = computed(() => cn('border-b', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-accordion-content',\n imports: [],\n template: `\n <div class=\"pb-4 pt-0\">\n <ng-content />\n </div>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionContent {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-accordion-item-description',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAccordionItemDescription {\n class = input<string>('');\n\n classes = computed(() => cn('', this.class()));\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScLabel } from '../label';\n\n@Component({\n selector: 'sc-switch',\n imports: [ScLabel],\n template: `\n <div class=\"relative inline-block h-6 w-11\">\n <input\n [class]=\"classes()\"\n [id]=\"id()\"\n [checked]=\"checked()\"\n [attr.data-state]=\"state()\"\n type=\"checkbox\"\n role=\"switch\"\n />\n <span\n class=\"pointer-events-none absolute left-0 top-0 mt-0.5 block size-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n [attr.data-state]=\"state()\"\n ></span>\n </div>\n\n <label [for]=\"id()\" sc-label><ng-content /></label>\n `,\n host: {\n '[class]': 'hostClasses()',\n '(click)': 'toggle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScSwitch),\n multi: true,\n },\n ],\n})\nexport class ScSwitch implements ControlValueAccessor {\n private readonly _cdr = inject(ChangeDetectorRef);\n\n hostClass = input<string>('');\n\n hostClasses = computed(() => cn('flex items-center space-x-2', this.hostClass()));\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'peer appearance-none inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input',\n this.class(),\n ),\n );\n\n id = input('');\n\n checked = model<BooleanInput>(false);\n\n disabled = model<BooleanInput>(false);\n\n state = computed(() => {\n return this.checked() ? 'checked' : 'unchecked';\n });\n\n constructor() {\n effect(() => {\n if (this.checked() !== true && this.checked() !== false) {\n this.checked.update((v) => coerceBooleanProperty(v));\n }\n\n if (this.disabled() !== true && this.disabled() !== false) {\n this.disabled.update((v) => coerceBooleanProperty(v));\n }\n });\n }\n\n toggle() {\n if (this.disabled()) {\n return;\n }\n\n const v = !this.checked();\n this.checked.set(v);\n\n this.onChange(v);\n this._cdr.markForCheck();\n }\n\n writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n linkedSignal,\n model,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-radio-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ScRadioGroup),\n multi: true,\n },\n ],\n})\nexport class ScRadioGroup implements ControlValueAccessor {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('grid gap-2', this.classInput()));\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly disabled = linkedSignal(() => this.disabledInput());\n\n readonly name = input<string>('');\n\n readonly value = model<string | undefined>(undefined);\n\n setValue(newValue: string) {\n this.value.set(newValue);\n this.onChange(newValue);\n this.changeDetectorRef.markForCheck();\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCircleIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScRadioGroup } from './radio-group';\n\n@Component({\n selector: 'sc-radio-item',\n imports: [SiCircleIcon],\n template: `\n <div class=\"grid grid-cols-[1fr]\">\n <input\n [id]=\"id()\"\n [class]=\"inputClass()\"\n [disabled]=\"disabled()\"\n [name]=\"name()\"\n (click)=\"select()\"\n type=\"radio\"\n />\n\n @if (checked() === true) {\n <span [class]=\"svgWrapperClass()\">\n <svg [class]=\"svgClass()\" si-circle-icon></svg>\n </span>\n }\n </div>\n\n <label [for]=\"id()\" sc-label><ng-content /></label>\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScRadioItem {\n protected readonly id = signal<string>(inject(_IdGenerator).getId('sc-radio-item-'));\n\n private readonly scRadioGroup = inject(ScRadioGroup, { host: true });\n\n protected readonly name = computed(() => {\n return this.scRadioGroup.name();\n });\n\n readonly value = input.required<string>();\n\n protected readonly checked = computed(() => {\n return this.value() === this.scRadioGroup.value();\n });\n\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly disabled = computed(() => this.disabledInput() || this.scRadioGroup.disabled());\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('flex items-center space-x-2', this.classInput()));\n\n readonly inputClassInput = input<string>('');\n protected readonly inputClass = computed(() =>\n cn(\n 'row-start-1 col-start-1',\n 'appearance-none aspect-square h-4 w-4 rounded-full cursor-pointer border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n this.inputClassInput(),\n ),\n );\n\n protected readonly svgWrapperClass = input<string>(\n 'row-start-1 col-start-1 h-4 w-4 flex items-center justify-center pointer-events-none',\n );\n\n readonly svgClassInput = input<string>('');\n protected readonly svgClass = computed(() =>\n cn('h-2.5 w-2.5 fill-primary text-primary pointer-events-none', this.svgClassInput()),\n );\n\n protected select() {\n if (this.disabled()) {\n return;\n }\n\n this.scRadioGroup.setValue(this.value());\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-hover-card',\n imports: [NgTemplateOutlet],\n template: `\n @if (templateRef()) {\n <ng-container *ngTemplateOutlet=\"templateRef()\"></ng-container>\n }\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScHoverCard {\n readonly templateRef = input<TemplateRef<unknown> | null>(null);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n this.classInput(),\n ),\n );\n}\n","import { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n} from '@angular/core';\n\nimport { ScHoverCard } from './hover-card';\n\n@Directive({\n selector: '[scHoverCardTriggerFor]',\n host: {\n '(mouseover)': 'showCard()',\n '(focus)': 'showCard()',\n '(mouseleave)': 'hideCard()',\n '(blur)': 'hideCard()',\n },\n})\nexport class ScHoverCardTriggerFor implements OnDestroy {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly viewContainer = inject(ViewContainerRef);\n\n readonly scHoverCardTriggerFor = input.required<TemplateRef<unknown>>();\n\n private overlayRef: OverlayRef | null = null;\n\n showCard(): void {\n if (this.overlayRef?.hasAttached() === true) {\n return;\n }\n\n this.attachTooltip();\n }\n\n hideCard(): void {\n if (this.overlayRef?.hasAttached() === true) {\n this.overlayRef?.detach();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n private attachTooltip(): void {\n if (this.overlayRef === null) {\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n const componentPortal = new ComponentPortal(ScHoverCard, this.viewContainer);\n\n const componentRef: ComponentRef<ScHoverCard> = this.overlayRef.attach(componentPortal);\n\n componentRef.setInput('templateRef', this.scHoverCardTriggerFor());\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.element)\n .withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n ]);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-avatar-fallback]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAvatarFallback {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex h-full w-full items-center justify-center rounded-full bg-muted', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'img[sc-avatar-image]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(load)': 'handleLoad()',\n '(error)': 'handleError()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAvatarImage {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'aspect-square h-full w-full',\n this.state() === 'loading' && 'invisible h-0 w-0',\n this.state() === 'error' && 'hidden',\n this.class(),\n ),\n );\n\n state = signal<'loading' | 'loaded' | 'error'>('loading');\n\n handleLoad() {\n this.state.set('loaded');\n }\n\n handleError() {\n this.state.set('error');\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScAvatarFallback } from './avatar-fallback';\nimport { ScAvatarImage } from './avatar-image';\n\n@Component({\n selector: 'sc-avatar',\n imports: [ScAvatarImage, ScAvatarFallback],\n template: `\n <img [alt]=\"alt()\" [src]=\"src()\" sc-avatar-image />\n <div sc-avatar-fallback>{{ fallback() }}</div>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAvatar {\n class = input<string>('');\n\n classes = computed(() =>\n cn('relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full', this.class()),\n );\n\n src = input.required<string>();\n alt = input<string>('');\n fallback = input<string>('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-aspect-ratio',\n //TODO don't work with preview image\n // imports: [NgOptimizedImage],\n imports: [],\n template: `\n <div [class]=\"wrapperClass()\" [style]=\"wrapperStyle()\">\n @if (priority()) {\n <img\n [class]=\"imageClasses()\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n [style]=\"imageStyle()\"\n fill\n priority\n />\n } @else {\n <img [class]=\"imageClasses()\" [src]=\"src()\" [alt]=\"alt()\" [style]=\"imageStyle()\" fill />\n }\n </div>\n `,\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAspectRatio {\n imageClass = input<string>('');\n\n imageClasses = computed(() => cn('h-full w-full rounded-md object-cover', this.imageClass()));\n\n imageStyle = signal(\n 'position: absolute; height: 100%; width: 100%; inset: 0px; color: transparent;',\n );\n\n hostClass = input<string>('');\n\n hostClasses = computed(() => cn('h-full w-full rounded-md object-cover', this.hostClass()));\n\n hostStyle = computed(() => {\n const parts = this.ratio()\n .split('/')\n .map((s) => +s);\n\n const paddingBottom = (parts[1] / parts[0]) * 100;\n\n return `position: relative; width: 100%; padding-bottom: ${paddingBottom}%;`;\n });\n\n wrapperClass = input<string>('');\n\n wrapperStyle = signal('position: absolute; inset: 0px;');\n\n ratio = input<string>('1 / 1');\n src = input.required<string>();\n alt = input<string>('');\n\n priority = input<boolean, unknown>(false, { transform: booleanAttribute });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-skeleton]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSkeleton {\n class = input<string>('');\n\n classes = computed(() => cn('animate-pulse rounded-md bg-muted', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'table[sc-table]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTable {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('w-full caption-bottom text-sm', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-table-container]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableContainer {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('relative w-full overflow-auto', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'thead[sc-table-header]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableHeader {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('[&_tr]:border-b', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'tbody[sc-table-body]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableBody {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('[&_tr:last-child]:border-0', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'tfoot[sc-table-footer]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableFooter {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'th[sc-table-head]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableHead {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'tr[sc-table-row]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableRow {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'td[sc-table-cell]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableCell {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('p-4 align-middle [&:has([role=checkbox])]:pr-0', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'caption[sc-table-caption]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTableCaption {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('mt-4 text-sm text-muted-foreground', this.classInput()),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-data-table',\n imports: [],\n template: `\n <p>data-table works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScDataTable {}\n","import { CdkContextMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, TemplateRef, input } from '@angular/core';\n\n@Directive({\n selector: '[scContextMenuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkContextMenuTrigger,\n inputs: ['cdkContextMenuTriggerFor: scContextMenuTriggerFor'],\n },\n ],\n})\nexport class ScContextMenuTriggerFor {\n readonly scContextMenuTriggerFor = input.required<TemplateRef<unknown>>();\n}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-menu-bar]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuBar],\n})\nexport class ScMenuBar {\n class = input<string>('');\n\n classes = computed(() =>\n cn('flex h-10 items-center space-x-1 rounded-md border bg-background p-1', this.class()),\n );\n}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'button[sc-menu-bar-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [CdkMenuItem],\n})\nexport class ScMenuBarItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommand {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n this.class(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiSearchIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-command-input',\n imports: [SiSearchIcon],\n template: `\n <svg class=\"mr-2 size-4 shrink-0 opacity-50\" si-search-icon></svg>\n <input\n class=\"flex h-12 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n [placeholder]=\"placeholder()\"\n />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandInput {\n class = input<string>('');\n\n classes = computed(() => cn('flex items-center border-b px-3', this.class()));\n\n placeholder = input('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-list',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandList {\n class = input<string>('');\n\n classes = computed(() =>\n cn('block max-h-[300px] overflow-y-auto overflow-x-hidden', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-empty',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandEmpty {\n class = input<string>('');\n\n classes = computed(() => cn('block py-6 text-center text-sm', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-group-heading',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandGroupHeading {\n class = input<string>('');\n\n classes = computed(() =>\n cn('block px-2 font-medium text-muted-foreground py-1.5 text-xs', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCommandGroupHeading } from './command-group-heading';\n\n@Component({\n selector: 'sc-command-group',\n imports: [ScCommandGroupHeading],\n template: `\n <sc-command-group-heading>{{ heading() }}</sc-command-group-heading>\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandGroup {\n class = input<string>('');\n\n classes = computed(() => cn('block overflow-hidden p-1 text-foreground px-2', this.class()));\n\n heading = input('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-item',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-disabled]': 'disabled()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandItem {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n this.class(),\n ),\n );\n\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-shortcut',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandShortcut {\n class = input<string>('');\n\n classes = computed(() =>\n cn('block ml-auto text-xs tracking-widest text-muted-foreground', this.class()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-separator',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandSeparator {\n class = input<string>('');\n\n classes = computed(() => cn('block -mx-1 h-px bg-border', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCommand } from './command';\n\n@Component({\n selector: 'sc-command-dialog',\n imports: [ScCommand],\n template: `\n <sc-command class=\"\">\n <ng-content />\n </sc-command>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandDialog {\n class = input<string>('');\n\n classes = computed(() => cn('block overflow-hidden p-0 shadow-lg', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-error',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandError {\n class = input<string>('');\n\n classes = computed(() => cn('block py-6 text-center text-sm', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-command-loading',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCommandLoading {\n class = input<string>('');\n\n classes = computed(() => cn('block py-6 text-center text-sm', this.class()));\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class ScCollapsibleState implements OnDestroy {\n isToggled = new Subject<void>();\n\n ngOnDestroy(): void {\n this.isToggled.complete();\n }\n}\n","import { CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCollapsibleState } from './collapsible-state';\n\n@Component({\n selector: 'sc-collapsible',\n imports: [CdkAccordionModule],\n template: `\n <cdk-accordion>\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\">\n <ng-content />\n\n @if (accordionItem.expanded) {\n <ng-content select=\"sc-collapsible-content\" />\n }\n </cdk-accordion-item>\n </cdk-accordion>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [ScCollapsibleState],\n})\nexport class ScCollapsible {\n state = inject(ScCollapsibleState);\n\n class = input<string>('');\n\n classes = computed(() => cn('block', this.class()));\n\n accordionItem = viewChild.required<CdkAccordionItem>('accordionItem');\n\n constructor() {\n this.state.isToggled.pipe(takeUntilDestroyed()).subscribe(() => {\n this.accordionItem().toggle();\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScCollapsibleState } from './collapsible-state';\n\n@Component({\n selector: 'sc-collapsible-trigger',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '(click)': 'toggle()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCollapsibleTrigger {\n state = inject(ScCollapsibleState);\n\n class = input<string>('');\n\n classes = computed(() => cn('block', this.class()));\n\n toggle() {\n this.state.isToggled.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-collapsible-content',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCollapsibleContent {\n class = input<string>('');\n\n classes = computed(() => cn('block mt-2', this.class()));\n}\n","export const SIDEBAR_WIDTH = '16rem';\nexport const SIDEBAR_WIDTH_MOBILE = '18rem';\nexport const SIDEBAR_WIDTH_ICON = '3rem';\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ScSidebarState {\n open = signal(true);\n openMobile = signal(false);\n isMobile = signal(false);\n\n // Helper to toggle the sidebar.\n toggleSidebar() {\n return this.isMobile()\n ? this.openMobile.update((open) => !open)\n : this.open.update((open) => !open);\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { ScButton } from '../button';\nimport { ScSidebarState } from './sidebar-state';\n\n@Component({\n selector: 'sc-sidebar-toggler',\n imports: [ScButton],\n template: `\n <button\n class=\"size-7\"\n (click)=\"toggleSidebar()\"\n sc-button\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n >\n <ng-content />\n <span class=\"sr-only\">Toggle Sidebar</span>\n </button>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarToggler {\n sidebarState = inject(ScSidebarState);\n toggleSidebar() {\n this.sidebarState.toggleSidebar();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { SIDEBAR_WIDTH_MOBILE } from './constants';\nimport { ScSidebarState } from './sidebar-state';\nimport { ScSidebarToggler } from './sidebar-toggler';\n\n@Component({\n selector: 'sc-sidebar-mobile',\n imports: [ScSidebarToggler, SiXIcon],\n template: `\n <div class=\"flex size-full flex-col\">\n <sc-sidebar-toggler class=\"absolute right-1 top-1\">\n <svg si-x-icon></svg>\n </sc-sidebar-toggler>\n\n <br />\n <br />\n open : {{ sidebarState.open() }}\n <br />\n openMobile : {{ sidebarState.openMobile() }}\n <br />\n isMobile : {{ sidebarState.isMobile() }}\n\n <ng-content />\n </div>\n `,\n host: {\n '[class]': 'classes()',\n '[style]': 'styles()',\n '[attr.data-sidebar]': '\"sidebar\"',\n '[attr.data-mobile]': '\"true\"',\n '[attr.data-state]': 'state()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarMobile {\n sidebarState = inject(ScSidebarState);\n\n styles = signal(`--sidebar-width: ${SIDEBAR_WIDTH_MOBILE};`);\n\n side = input.required<'left' | 'right'>();\n openMobile = computed(() => this.sidebarState.openMobile());\n\n state = computed<'open' | 'closed'>(() => {\n return this.openMobile() ? 'open' : 'closed';\n });\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'absolute top-0 h-full bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out',\n this.openMobile() && 'w-[--sidebar-width]',\n !this.openMobile() && 'w-0 overflow-hidden',\n this.side() === 'left' &&\n 'left-0 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left',\n this.side() === 'right' &&\n 'right-0 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',\n this.class(),\n ),\n );\n}\n","import { BreakpointObserver, LayoutModule } from '@angular/cdk/layout';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScSidebarMobile } from './sidebar-mobile';\nimport { ScSidebarState } from './sidebar-state';\n\n@Component({\n selector: 'sc-sidebar',\n imports: [LayoutModule, NgTemplateOutlet, ScSidebarMobile],\n template: `\n <ng-template #sc_sidebar_content>\n <ng-content />\n </ng-template>\n\n @if (collapsible() === 'none') {\n <div class=\"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\">\n <ng-container *ngTemplateOutlet=\"sc_sidebar_content\" />\n </div>\n } @else if (isMobile()) {\n <sc-sidebar-mobile [side]=\"side()\">\n <ng-container *ngTemplateOutlet=\"sc_sidebar_content\" />\n </sc-sidebar-mobile>\n } @else {\n <div\n class=\"group peer hidden text-sidebar-foreground md:block\"\n [attr.data-state]=\"state()\"\n [attr.data-collapsible]=\"state() === 'collapsed' ? collapsible() : ''\"\n [attr.data-variant]=\"variant()\"\n [attr.data-side]=\"side()\"\n >\n <!-- This is what handles the sidebar gap on desktop -->\n <div [class]=\"classes1()\"></div>\n <div [class]=\"classes2()\">\n <div\n class=\"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n data-sidebar=\"sidebar\"\n >\n <ng-container *ngTemplateOutlet=\"sc_sidebar_content\" />\n </div>\n </div>\n </div>\n }\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebar {\n private readonly observer = inject(BreakpointObserver);\n\n sidebarState = inject(ScSidebarState);\n\n class = input<string>('');\n\n classes = computed(() => cn('block relative', this.class()));\n\n side = input<'left' | 'right'>('left');\n variant = input<'sidebar' | 'floating' | 'inset'>('sidebar');\n collapsible = input<'offcanvas' | 'icon' | 'none'>('offcanvas');\n\n isMobile = computed(() => this.sidebarState.isMobile());\n openMobile = computed(() => this.sidebarState.openMobile());\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n state = computed(() => (this.sidebarState.open() ? 'expanded' : 'collapsed'));\n\n classes1 = signal(\n cn(\n 'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n this.variant() === 'floating' || this.variant() === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',\n ),\n );\n\n classes2 = signal(\n cn(\n 'duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex',\n this.side() === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n this.variant() === 'floating' || this.variant() === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\n ),\n );\n\n constructor() {\n this.observer.observe('(max-width: 768px)').subscribe((result) => {\n this.sidebarState.isMobile.set(result.matches);\n\n if (!result.matches && this.openMobile()) {\n this.sidebarState.openMobile.set(false);\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { scOverlayClasses } from '../overlay';\nimport { SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON } from './constants';\nimport { ScSidebarState } from './sidebar-state';\n\n@Component({\n selector: 'sc-sidebar-provider',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[style]': 'styles()',\n '[attr.data-state]': 'stateMobile()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [],\n})\nexport class ScSidebarProvider {\n sidebarState = inject(ScSidebarState);\n\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar',\n this.sidebarState.openMobile() && scOverlayClasses(),\n this.class(),\n ),\n );\n\n styles = signal(\n `--sidebar-width: ${SIDEBAR_WIDTH}; --sidebar-width-icon: ${SIDEBAR_WIDTH_ICON};`,\n );\n\n stateMobile = computed<'open' | 'closed'>(() => {\n return this.sidebarState.openMobile() ? 'open' : 'closed';\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-sidebar-group',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-sidebar]': '\"group\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarGroup {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('relative flex w-full min-w-0 flex-col p-2', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-sidebar-group-label',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-sidebar]': '\"group-label\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarGroupLabel {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'sc-sidebar-group-action',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-sidebar]': '\"group-action\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarGroupAction {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'div[sc-sidebar-group-content]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-sidebar]': '\"group-content\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarGroupContent {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('w-full text-sm', this.classInput()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'ul[sc-sidebar-menu]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-sidebar]': '\"menu\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarMenu {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('flex w-full min-w-0 flex-col gap-1', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'li[sc-sidebar-menu-item]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[attr.data-sidebar]': '\"menu-item\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarMenuItem {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('group/menu-item relative', this.classInput()));\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { VariantProps, cva } from 'class-variance-authority';\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype SidebarMenuButtonVariants = VariantProps<typeof sidebarMenuButtonVariants>;\n\n@Directive({\n host: {\n '[class]': 'class()',\n },\n})\nexport class ScSidebarMenuBase {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n readonly variant = input<SidebarMenuButtonVariants['variant']>('default');\n\n readonly size = input<SidebarMenuButtonVariants['size']>('default');\n\n protected readonly class = computed(() =>\n cn(\n sidebarMenuButtonVariants({ variant: this.variant(), size: this.size() }),\n this.classInput(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\n\nimport { ScSidebarMenuBase } from './sidebar-menu-base';\n\n@Component({\n selector: 'a[sc-sidebar-menu-link]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[attr.data-sidebar]': '\"menu-link\"',\n '[attr.data-active]': 'routerLinkActive.isActive',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [RouterLinkActive],\n})\nexport class ScSidebarMenuLink extends ScSidebarMenuBase {\n protected readonly routerLinkActive = inject(RouterLinkActive);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { ScSidebarMenuBase } from './sidebar-menu-base';\n\n@Component({\n selector: 'button[sc-sidebar-menu-button]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[attr.data-sidebar]': '\"menu-button\"',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSidebarMenuButton extends ScSidebarMenuBase {}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScAutocompleteModel } from './autocomplete-model';\n\n@Component({\n selector: 'sc-autocomplete-item',\n imports: [SiCheckIcon],\n template: `\n <ng-content />\n\n @if (isSelected()) {\n <svg class=\"ml-auto\" si-check-icon></svg>\n }\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-disabled]': '_disabled()',\n '[attr.data-selected]': '_isActive()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAutocompleteItem implements Highlightable {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none hover:bg-accent hover:text-accent-foreground data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n this.class(),\n ),\n );\n\n readonly _disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n item = input.required<ScAutocompleteModel>();\n\n selectedItem = input<ScAutocompleteModel | undefined>(undefined);\n\n isSelected = computed(() => {\n return this.item().id === this.selectedItem()?.id;\n });\n\n private readonly _isActive = signal(false);\n\n disabled: boolean | undefined;\n\n getLabel?(): string {\n return this.item.name;\n }\n\n setActiveStyles(): void {\n this._isActive.set(true);\n }\n\n setInactiveStyles(): void {\n this._isActive.set(false);\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { ENTER } from '@angular/cdk/keycodes';\nimport { JsonPipe } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n viewChildren,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { cn } from '@semantic-components/utils';\nimport { debounceTime } from 'rxjs';\n\nimport { ScInput } from '../input';\nimport { ScAutocompleteItem } from './autocomplete-item';\nimport { ScAutocompleteModel } from './autocomplete-model';\n\n@Component({\n selector: 'sc-autocomplete',\n imports: [ScInput, ScAutocompleteItem, ReactiveFormsModule, JsonPipe],\n template: `\n <!--sc-autocomplete-input /-->\n\n <input\n [formControl]=\"searchControl\"\n (keyup)=\"onKeydown($event)\"\n sc-input\n placeholder=\"Search...\"\n />\n\n @for (item of filteredItems(); track $index) {\n <sc-autocomplete-item [item]=\"item\" [selectedItem]=\"selectedItem()\">\n {{ item.label }}\n </sc-autocomplete-item>\n }\n\n <br />\n <br />\n <br />\n <br />\n\n selectedItem : {{ selectedItem() | json }}\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScAutocomplete implements AfterViewInit {\n class = input<string>('');\n\n classes = computed(() =>\n cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n this.class(),\n ),\n );\n\n items = signal<ScAutocompleteModel[]>([\n {\n id: '5b902934d965e7501f4e1c6f',\n label: 'Caroline Hodges',\n },\n {\n id: '5b9029348f7eed8b6f5f02db',\n label: 'Delores Rivas',\n },\n {\n id: '5b9029346f48c8407c64d0d5',\n label: 'Darlene Franklin',\n },\n {\n id: '5b9029341eff315fa87f9e21',\n label: 'Alfreda Love',\n },\n {\n id: '5b9029342e8917c6ccdb9865',\n label: 'Marcy Ratliff',\n },\n {\n id: '5b9029349dbb48013460e01f',\n label: 'Beulah Nielsen',\n },\n {\n id: '5b902934f4f1586e5e72d74a',\n label: 'Morton Kerr',\n },\n {\n id: '5b9029347918bb204bf7014e',\n label: 'Autumn Tillman',\n },\n {\n id: '5b902934b86f80e1fc60c626',\n label: 'Diane Bennett',\n },\n {\n id: '5b9029348999f59215020349',\n label: 'June Eaton',\n },\n ]);\n\n searchControl = new FormControl();\n\n input = toSignal(this.searchControl.valueChanges.pipe(debounceTime(300)));\n\n filteredItems = computed(() => {\n if (!this.input()) {\n return this.items();\n }\n return this.items().filter(\n (item) => item.label.toLowerCase().indexOf(this.input().toLowerCase()) !== -1,\n );\n });\n\n selectedItem = signal<ScAutocompleteModel | undefined>(undefined);\n\n readonly viewItems = viewChildren(ScAutocompleteItem);\n\n private keyManager!: ActiveDescendantKeyManager<ScAutocompleteItem>;\n\n ngAfterViewInit() {\n this.keyManager = new ActiveDescendantKeyManager(this.viewItems()).withWrap().withTypeAhead();\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.keyCode === ENTER) {\n this.selectedItem.set(\n this.keyManager.activeItem ? this.keyManager.activeItem.item() : undefined,\n );\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n}\n","import { Highlightable, _IdGenerator } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCheckIcon } from '@semantic-icons/lucide-icons';\n\n@Component({\n selector: 'sc-time-option',\n imports: [SiCheckIcon],\n template: `\n @if (_selected()) {\n <svg class=\"absolute left-2 flex size-4 items-center justify-center\" si-check-icon></svg>\n }\n\n <ng-content />\n `,\n host: {\n '[id]': 'id()',\n '[class]': '_class()',\n '[attr.data-disabled]': '_disabled()',\n '(mouseover)': 'setActiveStyles()',\n '(mouseleave)': 'setInactiveStyles()',\n '(click)': 'onClick()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTimeOption implements Highlightable {\n /** The unique ID of the option. */\n id = signal<string>(inject(_IdGenerator).getId('sc-time-option-'));\n\n class = input<string>('');\n\n _class = computed(() =>\n cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n this._active() && 'bg-accent text-accent-foreground',\n\n this.class(),\n ),\n );\n\n _active = signal(false);\n _selected = signal(false);\n\n readonly _disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n\n readonly _disabled = computed(() => this._disabledByInput() || booleanAttribute(this.disabled));\n\n value = input<string>();\n\n setActiveStyles(): void {\n this._active.set(true);\n }\n\n setInactiveStyles(): void {\n this._active.set(false);\n }\n\n disabled: boolean | undefined;\n\n getLabel?(): string {\n return this.value() ?? '';\n }\n\n private readonly _element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n /** Selects the option. */\n select(): void {\n if (!this._selected()) {\n this._selected.set(true);\n }\n }\n\n /** Deselects the option. */\n deselect(): void {\n if (this._selected()) {\n this._selected.set(false);\n }\n }\n\n onClick() {\n if (this._selected()) {\n this._selected.set(false);\n } else {\n this.selected.emit(this.value());\n this._selected.set(true);\n }\n }\n\n selected = output<string | undefined>();\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { scInputStyles } from '../input';\n\n@Directive({\n selector: '[scTimePickerInput]',\n host: {\n '[class]': 'classes()',\n },\n})\nexport class ScTimePickerInput {\n class = input<string>('');\n classes = computed(() => cn(scInputStyles(), this.class()));\n}\n","import { ActiveDescendantKeyManager, _IdGenerator } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ENTER, ESCAPE, TAB, hasModifierKey } from '@angular/cdk/keycodes';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterRenderRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n InputSignal,\n OnDestroy,\n OutputEmitterRef,\n Signal,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n afterNextRender,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n viewChild,\n viewChildren,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiClockIcon } from '@semantic-icons/lucide-icons';\nimport { Subscription } from 'rxjs';\n\nimport { ScSettings } from '../../utils';\nimport { ScButton } from '../button';\nimport { ScTimeOption } from './time-option';\nimport { ScTimePickerInput } from './time-picker-input';\n\n/**\n * Time selection option that can be displayed within a `mat-timepicker`.\n */\nexport interface MatTimepickerOption<D = unknown> {\n /** Date value of the option. */\n value: D;\n\n /** Label to show to the user. */\n label: string;\n}\n\n/** Event emitted when a value is selected in the timepicker. */\nexport interface MatTimepickerSelected<D> {\n value: D;\n}\n\n@Component({\n selector: 'sc-time-picker',\n imports: [SiClockIcon, ScButton, ScTimeOption, ScTimePickerInput],\n template: `\n <button class=\"absolute inset-y-0 end-0 pe-4\" (click)=\"open()\" sc-button variant=\"ghost\">\n <svg si-clock-icon></svg>\n </button>\n <input #input scTimePickerInput type=\"text\" placeholder=\"hh:mm\" />\n\n <ng-template #panelTemplate>\n <div\n class=\"relative z-50 max-h-96 w-full min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"_getAriaLabelledby()\"\n [id]=\"panelId\"\n role=\"listbox\"\n >\n @for (option of _timeOptions; track option.value) {\n <sc-time-option [value]=\"option.value\" (selected)=\"_selectValue(option.value)\">\n {{ option.label }}\n </sc-time-option>\n }\n </div>\n </ng-template>\n `,\n host: {\n '[class]': 'classes()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTimePicker implements OnDestroy {\n settings = inject(ScSettings);\n\n clock = input<'am-pm' | '24-hour' | undefined>(undefined);\n\n _clock = computed(() => {\n if (this.clock() !== undefined) {\n return this.clock();\n }\n\n return this.settings.clock();\n });\n\n class = input<string>('');\n classes = computed(() => cn('flex relative', this.class()));\n\n private readonly _overlay = inject(Overlay);\n private readonly _dir = inject(Directionality, { optional: true });\n private readonly _viewContainerRef = inject(ViewContainerRef);\n private readonly _injector = inject(Injector);\n // private _defaultConfig = inject(MAT_TIMEPICKER_CONFIG, { optional: true });\n // private _dateAdapter = inject<DateAdapter<D>>(DateAdapter, { optional: true })!;\n // private _dateFormats = inject(MAT_DATE_FORMATS, { optional: true })!;\n\n private readonly _isOpen = signal(false);\n private readonly _activeDescendant = signal<string | null>(null);\n\n private readonly _input = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n private _overlayRef: OverlayRef | null = null;\n private _portal: TemplatePortal<unknown> | null = null;\n private readonly _optionsCacheKey: string | null = null;\n private readonly _localeChanges!: Subscription;\n private _onOpenRender: AfterRenderRef | null = null;\n\n protected _panelTemplate = viewChild.required<TemplateRef<unknown>>('panelTemplate');\n protected _timeOptions: readonly MatTimepickerOption<string>[] = [];\n protected _options = viewChildren(ScTimeOption);\n\n private readonly _keyManager = new ActiveDescendantKeyManager(this._options, this._injector)\n .withHomeAndEnd(true)\n .withPageUpDown(true)\n .withVerticalOrientation(true);\n\n /**\n * Interval between each option in the timepicker. The value can either be an amount of\n * seconds (e.g. 90) or a number with a unit (e.g. 45m). Supported units are `s` for seconds,\n * `m` for minutes or `h` for hours.\n */\n // readonly interval: InputSignalWithTransform<number | null, number | string | null> = input(\n // parseInterval(this._defaultConfig?.interval || null),\n // { transform: parseInterval },\n // );\n\n /**\n * Array of pre-defined options that the user can select from, as an alternative to using the\n * `interval` input. An error will be thrown if both `options` and `interval` are specified.\n */\n readonly options: InputSignal<readonly MatTimepickerOption<string>[] | null> = input<\n readonly MatTimepickerOption<string>[] | null\n >(null);\n\n /** Whether the timepicker is open. */\n readonly isOpen: Signal<boolean> = this._isOpen.asReadonly();\n\n /** Emits when the user selects a time. */\n readonly selected: OutputEmitterRef<MatTimepickerSelected<string>> = output();\n\n /** Emits when the timepicker is opened. */\n readonly opened: OutputEmitterRef<void> = output();\n\n /** Emits when the timepicker is closed. */\n readonly closed: OutputEmitterRef<void> = output();\n\n /** ID of the active descendant option. */\n readonly activeDescendant: Signal<string | null> = this._activeDescendant.asReadonly();\n\n /** Unique ID of the timepicker's panel */\n readonly panelId: string = inject(_IdGenerator).getId('sc-time-picker-panel-');\n\n /** Whether ripples within the timepicker should be disabled. */\n // readonly disableRipple: InputSignalWithTransform<boolean, unknown> = input(\n // this._defaultConfig?.disableRipple ?? false,\n // {\n // transform: booleanAttribute,\n // },\n // );\n\n /** ARIA label for the timepicker panel. */\n readonly ariaLabel: InputSignal<string | null> = input<string | null>(null, {\n alias: 'aria-label',\n });\n\n /** ID of the label element for the timepicker panel. */\n readonly ariaLabelledby: InputSignal<string | null> = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n\n /** Whether the timepicker is currently disabled. */\n readonly disabled: Signal<boolean> = computed(() => !!this._input().nativeElement?.disabled);\n\n constructor() {\n // if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // validateAdapter(this._dateAdapter, this._dateFormats);\n\n effect(() => {\n const options = this.options();\n // const interval = this.interval();\n\n // if (options !== null && interval !== null) {\n // throw new Error(\n // 'Cannot specify both the `options` and `interval` inputs at the same time',\n // );\n // } else if (options?.length === 0) {\n // throw new Error('Value of `options` input cannot be an empty array');\n // }\n });\n // }\n\n // Since the panel ID is static, we can set it once without having to maintain a host binding.\n const element = inject<ElementRef<HTMLElement>>(ElementRef);\n element.nativeElement.setAttribute('sc-time-picker-panel-id', this.panelId);\n this._handleLocaleChanges();\n this._handleInputStateChanges();\n this._keyManager.change.subscribe(() =>\n this._activeDescendant.set(this._keyManager.activeItem?.id() || null),\n );\n }\n\n /** Opens the timepicker. */\n open(): void {\n const input = this._input();\n\n if (!input) {\n return;\n }\n\n // Focus should already be on the input, but this call is in case the timepicker is opened\n // programmatically. We need to call this even if the timepicker is already open, because\n // the user might be clicking the toggle.\n input.nativeElement.focus();\n\n if (this._isOpen()) {\n return;\n }\n\n this._isOpen.set(true);\n this._generateOptions();\n const overlayRef = this._getOverlayRef();\n overlayRef.updateSize({ width: input.nativeElement.offsetWidth });\n\n this._portal ??= new TemplatePortal(this._panelTemplate(), this._viewContainerRef);\n overlayRef.attach(this._portal);\n this._onOpenRender?.destroy();\n this._onOpenRender = afterNextRender(\n () => {\n const options = this._options();\n this._syncSelectedState(input.nativeElement?.value, options, options[0]);\n this._onOpenRender = null;\n },\n { injector: this._injector },\n );\n\n this.opened.emit();\n }\n\n /** Closes the timepicker. */\n close(): void {\n if (this._isOpen()) {\n this._isOpen.set(false);\n this._overlayRef?.detach();\n this.closed.emit();\n }\n }\n\n /** Registers an input with the timepicker. */\n // registerInput(input: MatTimepickerInput<D>): void {\n // const currentInput = this._input();\n\n // if (currentInput && input !== currentInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n // throw new Error('MatTimepicker can only be registered with one input at a time');\n // }\n\n // this._input.set(input);\n // }\n\n ngOnDestroy(): void {\n this._keyManager.destroy();\n this._localeChanges.unsubscribe();\n this._onOpenRender?.destroy();\n this._overlayRef?.dispose();\n }\n\n /** Selects a specific time value. */\n protected _selectValue(value: string) {\n //TODO\n this._input().nativeElement.value = value;\n\n this.close();\n this.selected.emit({ value });\n this._input().nativeElement?.focus();\n }\n\n /** Gets the value of the `aria-labelledby` attribute. */\n protected _getAriaLabelledby(): string | null {\n if (this.ariaLabel()) {\n return null;\n }\n return this.ariaLabelledby() || null;\n }\n\n /** Creates an overlay reference for the timepicker panel. */\n private _getOverlayRef(): OverlayRef {\n if (this._overlayRef) {\n return this._overlayRef;\n }\n\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._input())\n .withFlexibleDimensions(false)\n .withPush(false)\n // .withTransformOriginOn('.mat-timepicker-panel')\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n // panelClass: 'mat-timepicker-above',\n },\n ]);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._dir || 'ltr',\n hasBackdrop: false,\n });\n\n this._overlayRef.keydownEvents().subscribe((event) => {\n this._handleKeydown(event);\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n const target = _getEventTarget(event) as HTMLElement;\n const origin = this._input().nativeElement;\n\n if (target && origin && target !== origin && !origin.contains(target)) {\n this.close();\n }\n });\n\n return this._overlayRef;\n }\n\n /** Generates the list of options from which the user can select.. */\n private _generateOptions(): void {\n // Default the interval to 30 minutes.\n\n this._timeOptions = [\n { value: '1', label: '1' },\n { value: '2', label: '2' },\n { value: '3', label: '3' },\n { value: '4', label: '4' },\n { value: '5', label: '5' },\n { value: '6', label: '6' },\n { value: '7', label: '7' },\n { value: '8', label: '8' },\n { value: '9', label: '9' },\n\n { value: '10', label: '10' },\n { value: '20', label: '20' },\n { value: '30', label: '30' },\n { value: '40', label: '40' },\n { value: '50', label: '50' },\n { value: '60', label: '60' },\n { value: '70', label: '70' },\n { value: '80', label: '80' },\n { value: '90', label: '90' },\n\n { value: '21', label: '21' },\n { value: '31', label: '31' },\n { value: '41', label: '41' },\n { value: '51', label: '51' },\n { value: '61', label: '61' },\n { value: '71', label: '71' },\n { value: '81', label: '81' },\n { value: '91', label: '91' },\n ];\n }\n\n /**\n * Synchronizes the internal state of the component based on a specific selected date.\n * @param value Currently selected date.\n * @param options Options rendered out in the timepicker.\n * @param fallback Option to set as active if no option is selected.\n */\n private _syncSelectedState(\n value: string | null,\n options: readonly ScTimeOption[],\n fallback: ScTimeOption | null,\n ): void {\n let hasSelected = false;\n\n for (const option of options) {\n if (value && option.value() === value) {\n option.select();\n scrollOptionIntoView(option, 'center');\n untracked(() => this._keyManager.setActiveItem(option));\n hasSelected = true;\n } else {\n option.deselect();\n }\n }\n\n // If no option was selected, we need to reset the key manager since\n // it might be holding onto an option that no longer exists.\n if (!hasSelected) {\n if (fallback) {\n untracked(() => this._keyManager.setActiveItem(fallback));\n scrollOptionIntoView(fallback, 'center');\n } else {\n untracked(() => this._keyManager.setActiveItem(-1));\n }\n }\n }\n\n /** Handles keyboard events while the overlay is open. */\n private _handleKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n\n if (keyCode === TAB) {\n this.close();\n } else if (keyCode === ESCAPE && !hasModifierKey(event)) {\n event.preventDefault();\n this.close();\n } else if (keyCode === ENTER) {\n event.preventDefault();\n\n if (this._keyManager.activeItem) {\n this._selectValue(this._keyManager.activeItem.value() ?? '');\n } else {\n this.close();\n }\n } else {\n const previousActive = this._keyManager.activeItem;\n this._keyManager.onKeydown(event);\n const currentActive = this._keyManager.activeItem;\n\n if (currentActive && currentActive !== previousActive) {\n scrollOptionIntoView(currentActive, 'nearest');\n }\n }\n }\n\n /** Sets up the logic that updates the timepicker when the locale changes. */\n private _handleLocaleChanges(): void {\n // Re-generate the options list if the locale changes.\n // this._localeChanges = this._dateAdapter.localeChanges.subscribe(() => {\n // this._optionsCacheKey = null;\n // if (this.isOpen()) {\n // this._generateOptions();\n // }\n // });\n }\n\n /**\n * Sets up the logic that updates the timepicker when the state of the connected input changes.\n */\n private _handleInputStateChanges(): void {\n effect(() => {\n const input = this._input();\n const options = this._options();\n\n if (this._isOpen() && input) {\n this._syncSelectedState(input.nativeElement.value, options, null);\n }\n });\n }\n}\n\n/**\n * Scrolls an option into view.\n * @param option Option to be scrolled into view.\n * @param position Position to which to align the option relative to the scrollable container.\n */\nfunction scrollOptionIntoView(option: ScTimeOption, position: ScrollLogicalPosition) {\n option._getHostElement().scrollIntoView({ block: position, inline: position });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnInit,\n Output,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-time-picker2',\n imports: [],\n template: `\n <div class=\"relative\">\n <!-- Time Input Field -->\n <input\n class=\"w-full cursor-pointer rounded-lg border px-4 py-2 shadow-sm focus:border-blue-500 focus:ring-2 focus:ring-blue-500\"\n [value]=\"formatTime(selectedHour, selectedMinute, selectedPeriod)\"\n (click)=\"toggleDropdown()\"\n type=\"text\"\n readonly\n placeholder=\"Select time\"\n />\n\n <!-- Dropdown Panel -->\n @if (isOpen) {\n <div class=\"absolute z-50 mt-1 w-64 rounded-lg border bg-white shadow-lg\">\n <!-- Time Selection Grid -->\n <div class=\"p-4\">\n <!-- Hour Selection -->\n <div class=\"mb-4\">\n <span class=\"mb-2 block text-sm font-medium text-gray-700\">Hour</span>\n <div class=\"grid grid-cols-4 gap-2\">\n @for (hour of hours; track hour) {\n <button\n [class]=\"\n 'px-2 py-1 text-sm rounded-md ' +\n (selectedHour === hour ? 'bg-blue-500 text-white' : 'hover:bg-gray-100')\n \"\n (click)=\"selectHour(hour)\"\n >\n {{ hour }}\n </button>\n }\n </div>\n </div>\n <!-- Minute Selection -->\n <div class=\"mb-4\">\n <span class=\"mb-2 block text-sm font-medium text-gray-700\">Minute</span>\n <div class=\"grid grid-cols-4 gap-2\">\n @for (minute of minutes; track minute) {\n <button\n [class]=\"\n 'px-2 py-1 text-sm rounded-md ' +\n (selectedMinute === minute ? 'bg-blue-500 text-white' : 'hover:bg-gray-100')\n \"\n (click)=\"selectMinute(minute)\"\n >\n {{ minute.toString().padStart(2, '0') }}\n </button>\n }\n </div>\n </div>\n <!-- AM/PM Selection -->\n <div>\n <span class=\"mb-2 block text-sm font-medium text-gray-700\">Period</span>\n <div class=\"grid grid-cols-2 gap-2\">\n @for (period of periods; track period) {\n <button\n [class]=\"\n 'px-4 py-2 text-sm rounded-md ' +\n (selectedPeriod === period ? 'bg-blue-500 text-white' : 'hover:bg-gray-100')\n \"\n (click)=\"selectPeriod(period)\"\n >\n {{ period }}\n </button>\n }\n </div>\n </div>\n </div>\n <!-- Done Button -->\n <div class=\"border-t p-4\">\n <button\n class=\"w-full rounded-md bg-blue-500 px-4 py-2 text-white transition-colors hover:bg-blue-600\"\n (click)=\"confirmSelection()\"\n >\n Done\n </button>\n </div>\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTimePicker2 implements OnInit {\n readonly initialTime = input<string>();\n @Output() timeSelected = new EventEmitter<string>();\n\n isOpen = false;\n hours = Array.from({ length: 12 }, (_, i) => i + 1);\n minutes = Array.from({ length: 12 }, (_, i) => i * 5);\n periods = ['AM', 'PM'];\n\n selectedHour = 12;\n selectedMinute = 0;\n selectedPeriod = 'AM';\n\n ngOnInit() {\n const initialTime = this.initialTime();\n if (initialTime) {\n this.parseInitialTime(initialTime);\n }\n }\n\n parseInitialTime(time: string) {\n const [timeStr, period] = time.split(' ');\n const [hours, minutes] = timeStr.split(':').map(Number);\n\n this.selectedHour = hours % 12 || 12;\n this.selectedMinute = minutes;\n this.selectedPeriod = period;\n }\n\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n }\n\n selectHour(hour: number) {\n this.selectedHour = hour;\n }\n\n selectMinute(minute: number) {\n this.selectedMinute = minute;\n }\n\n selectPeriod(period: string) {\n this.selectedPeriod = period;\n }\n\n formatTime(hour: number, minute: number, period: string): string {\n return `${hour}:${minute.toString().padStart(2, '0')} ${period}`;\n }\n\n confirmSelection() {\n const formattedTime = this.formatTime(\n this.selectedHour,\n this.selectedMinute,\n this.selectedPeriod,\n );\n this.timeSelected.emit(formattedTime);\n this.isOpen = false;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'img[sc-image]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScImage {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() => cn('', this.class()));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ScInput } from '../input';\nimport { ScLabel } from '../label';\nimport { ScImage } from './image';\n\n@Component({\n selector: 'sc-file-upload',\n imports: [ScLabel, ScInput, ScImage],\n template: `\n <div class=\"grid w-full max-w-sm items-center gap-1.5\">\n <label sc-label for=\"picture\">Picture</label>\n <input id=\"picture\" (change)=\"handleFileChange($event)\" sc-input type=\"file\" />\n @if (selectedFile()) {\n <div class=\"mt-2\">\n <img\n class=\"rounded-md\"\n [src]=\"selectedFile()\"\n sc-image\n alt=\"Preview\"\n width=\"500\"\n height=\"500\"\n />\n </div>\n }\n </div>\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileUpload {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() => cn('', this.class()));\n\n selectedFile = signal<unknown>(undefined);\n\n handleFileChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n console.log(files);\n\n const file = files[0];\n if (file) {\n const reader = new FileReader();\n reader.onloadend = () => {\n this.selectedFile.set(reader.result);\n };\n reader.readAsDataURL(file);\n }\n }\n}\n","import { Directive, computed, input, signal } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Directive({\n selector: '[scDropZone]',\n exportAs: 'scDropZone',\n host: {\n '[class]': '_class()',\n '(dragover)': 'handleDragOver($event)',\n '(dragleave)': 'handleDragLeave($event)',\n },\n})\nexport class ScDropZone {\n readonly isDragActive = signal(false);\n\n readonly isDisabled = input(false);\n\n readonly class = input<string>('');\n\n protected readonly _class = computed(() =>\n cn(\n 'group relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-2.5 text-center transition hover:bg-muted/25',\n 'ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n this.isDragActive() && 'border-muted-foreground/50',\n this.isDisabled() && 'pointer-events-none opacity-60',\n this.class(),\n ),\n );\n\n handleDragOver(event: DragEvent) {\n if (this.isDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n this.isDragActive.set(true);\n }\n }\n\n handleDragLeave(event: DragEvent) {\n if (this.isDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n this.isDragActive.set(false);\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nimport { SiFileTextIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScFile } from './file';\n\n@Component({\n selector: 'sc-file-preview',\n imports: [SiFileTextIcon],\n template: `\n @if (file().file.type.startsWith('image/')) {\n <img\n class=\"aspect-square shrink-0 rounded-md object-cover\"\n [src]=\"file().preview\"\n [alt]=\"file().file.name\"\n width=\"48\"\n height=\"48\"\n loading=\"lazy\"\n />\n } @else {\n <svg class=\"size-10 text-muted-foreground\" si-file-text-icon aria-hidden=\"true\"></svg>\n }\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFilePreview {\n file = input.required<ScFile>();\n}\n","export function formatBytes(\n bytes: number,\n opts: {\n decimals?: number;\n sizeType?: 'accurate' | 'normal';\n } = {},\n) {\n const { decimals = 0, sizeType = 'normal' } = opts;\n\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n const accurateSizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB'];\n if (bytes === 0) return '0 Byte';\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(decimals)} ${\n sizeType === 'accurate' ? (accurateSizes[i] ?? 'Bytes') : (sizes[i] ?? 'Bytes')\n }`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n output,\n} from '@angular/core';\n\nimport { SiXIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\nimport { ScProgress } from '../progress';\nimport { ScFile } from './file';\nimport { ScFilePreview } from './file-preview';\nimport { formatBytes } from './utils';\n\n@Component({\n selector: 'sc-file-card',\n imports: [SiXIcon, ScButton, ScFilePreview, ScProgress],\n template: `\n <div class=\"relative flex items-center gap-2.5\">\n <div class=\"flex flex-1 gap-2.5\">\n @if (file().preview) {\n <sc-file-preview [file]=\"file()\" />\n }\n\n <div class=\"flex w-full flex-col gap-2\">\n <div class=\"flex flex-col gap-px\">\n <p class=\"line-clamp-1 text-sm font-medium text-foreground/80\">\n {{ file().file.name }}\n </p>\n <p class=\"text-xs text-muted-foreground\">\n {{ formatedSize() }}\n </p>\n </div>\n\n @let p = progress();\n @if (p) {\n <sc-progress [value]=\"p\" />\n }\n </div>\n </div>\n <div class=\"flex items-center gap-2\">\n <button\n class=\"size-7\"\n (click)=\"remove()\"\n sc-button\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n >\n <svg class=\"size-4\" si-x-icon aria-hidden=\"true\"></svg>\n <span class=\"sr-only\">Remove file</span>\n </button>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileCard {\n index = input.required<number>();\n file = input.required<ScFile>();\n progress = input<number | undefined>(undefined);\n removed = output<number>();\n formatedSize = computed(() => formatBytes(this.file().file.size));\n\n remove() {\n this.removed.emit(this.index());\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n signal,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiUploadIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScDropZone } from './drop-zone';\nimport { ScFile } from './file';\nimport { ScFileCard } from './file-card';\nimport { formatBytes } from './utils';\n\n@Component({\n selector: 'sc-file-uploader',\n imports: [SiUploadIcon, ScFileCard, ScDropZone],\n template: `\n <!-- Dropzone -->\n <div #scDropZone=\"scDropZone\" scDropZone>\n <input\n class=\"absolute left-0 top-0 size-full cursor-pointer opacity-0\"\n [multiple]=\"multiple()\"\n (change)=\"handleFileChange($event)\"\n accept=\"image/*\"\n tabindex=\"-1\"\n type=\"file\"\n />\n\n @if (scDropZone.isDragActive()) {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <p class=\"font-medium text-muted-foreground\">Drop the files here</p>\n </div>\n } @else {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <div class=\"flex flex-col gap-px\">\n <p class=\"font-medium text-muted-foreground\">\n Drag 'n' drop your files here, or click to select files\n </p>\n <p class=\"text-sm text-muted-foreground/70\">You can upload {{ uploadInfo() }}</p>\n </div>\n </div>\n }\n </div>\n <!-- fin Dropzone -->\n\n <div class=\"h-fit w-full px-3\">\n <div class=\"flex max-h-48 flex-col gap-4\">\n @for (file of files(); track $index; let index = $index) {\n <sc-file-card\n [file]=\"file\"\n [index]=\"index\"\n [progress]=\"progresses()?.[file.file.name]\"\n (removed)=\"onRemove($event)\"\n />\n }\n </div>\n </div>\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileUploader {\n readonly class = input<string>('');\n\n protected readonly _class = computed(() =>\n cn('relative flex flex-col gap-6 overflow-hidden', this.class()),\n );\n\n maxSize = input<number>(1024 * 1024 * 2);\n maxFiles = input<number>(1);\n files = signal<ScFile[]>([]);\n\n multiple = computed(() => this.maxFiles() > 1);\n\n progresses = input<Record<string, number>>();\n\n uploadInfo() {\n return this.maxFiles() > 1\n ? ` ${this.maxFiles()} files (up to ${formatBytes(this.maxSize())} each)`\n : ` a file with ${formatBytes(this.maxSize())}`;\n }\n\n onRemove(index: number) {\n if (!this.files) return;\n this.files.update((files) => files.filter((_, i) => i !== index));\n }\n\n handleFileChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n\n const acceptedFiles = Array.from(files);\n\n acceptedFiles.forEach((file) => {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const scFile: ScFile = { file: file, preview: reader.result };\n\n this.files.update((files) => [...files, scFile]);\n };\n reader.readAsDataURL(file);\n });\n }\n}\n","import { HttpEventType, HttpResponse } from '@angular/common/http';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n linkedSignal,\n signal,\n} from '@angular/core';\n\nimport { DataService } from '@semantic-components/supabase';\nimport { cn } from '@semantic-components/utils';\nimport { SiUploadIcon } from '@semantic-icons/lucide-icons';\nimport { catchError, throwError } from 'rxjs';\n\nimport { ScAspectRatio } from '../aspect-ratio';\nimport { ScButton } from '../button';\nimport { ScProgress } from '../progress';\nimport { ScDropZone } from './drop-zone';\nimport { formatBytes } from './utils';\n\n@Component({\n selector: 'sc-single-file-uploader',\n imports: [ScProgress, SiUploadIcon, ScDropZone, ScButton, ScAspectRatio],\n template: `\n @if (!fileUrl()) {\n <!-- Dropzone -->\n <div #scDropZone=\"scDropZone\" scDropZone>\n <input\n class=\"absolute left-0 top-0 size-full cursor-pointer opacity-0\"\n (change)=\"handleFileChange($event)\"\n accept=\"image/*\"\n tabindex=\"-1\"\n type=\"file\"\n />\n\n @if (scDropZone.isDragActive()) {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <p class=\"font-medium text-muted-foreground\">Drop the files here</p>\n </div>\n } @else {\n <div class=\"flex flex-col items-center justify-center gap-4 sm:px-5\">\n <div class=\"rounded-full border border-dashed p-3\">\n <svg class=\"size-7 text-muted-foreground\" si-upload-icon aria-hidden=\"true\"></svg>\n </div>\n <div class=\"flex flex-col gap-px\">\n <p class=\"font-medium text-muted-foreground\">\n Drag 'n' drop your files here, or click to select files\n </p>\n <p class=\"text-sm text-muted-foreground/70\">You can upload {{ uploadInfo() }}</p>\n </div>\n </div>\n }\n </div>\n <!-- fin Dropzone -->\n }\n\n <!-- Start Preview Image -->\n @if (fileUrl()) {\n <sc-aspect-ratio [src]=\"fileUrl() ?? ''\" ratio=\"16 / 9\" alt=\"\" />\n\n <p>{{ file()?.name }}</p>\n\n <sc-progress [value]=\"uploadProgress()\" />\n\n <div class=\"flex justify-start gap-3\">\n <button\n [disabled]=\"status() === 'uploading'\"\n (click)=\"removeFile()\"\n sc-button\n variant=\"destructive\"\n type=\"button\"\n >\n Remove\n </button>\n\n @if (status() === 'init' || status() === 'error') {\n <button\n [disabled]=\"status() === 'uploading'\"\n (click)=\"uploadFile()\"\n sc-button\n variant=\"primary\"\n type=\"button\"\n >\n Upload\n </button>\n }\n\n @if (status() === 'uploading') {\n <button sc-button variant=\"secondary\" type=\"button\">Cancel</button>\n }\n </div>\n }\n <!-- End Preview Image -->\n `,\n host: {\n '[class]': '_class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSingleFileUploader {\n dataService = inject(DataService);\n\n readonly class = input<string>('');\n\n protected readonly _class = computed(() =>\n cn('relative flex flex-col gap-6 overflow-hidden', this.class()),\n );\n\n file = signal<File | null | undefined>(undefined);\n fileUrl = computed<string | null | undefined>(() => {\n const file = this.file();\n if (file) {\n return URL.createObjectURL(file);\n }\n\n // return null or undefined\n return file;\n });\n\n status = linkedSignal<File | null | undefined, 'init' | 'uploading' | 'success' | 'error'>({\n source: this.file,\n computation: () => {\n return 'init';\n },\n });\n\n uploadProgress = signal(0);\n\n maxSize = input<number>(1024 * 1024 * 2);\n\n uploadInfo() {\n return ` a file with ${formatBytes(this.maxSize())}`;\n }\n\n handleFileChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n const file = files[0];\n\n this.file.set(file);\n }\n\n removeFile() {\n this.file.set(null);\n }\n\n uploadFile(): void {\n const file = this.file();\n\n if (!file) {\n //TODO add message error\n return;\n }\n\n this.status.set('uploading');\n\n this.dataService\n .uploadFile(file)\n\n .pipe(\n catchError((error) => {\n this.status.set('error');\n // Quality control catches the problem\n console.error('Delivery problem:', error);\n // Send an apology note or fix the issue\n return throwError(() => new Error('Oops! Something went wrong. Please try again later.'));\n }),\n )\n .subscribe((event) => {\n if (event.type === HttpEventType.UploadProgress) {\n if (event.total) {\n this.uploadProgress.set(Math.round((100 * event.loaded) / event.total));\n } else {\n console.warn('event.total is undefined');\n }\n } else if (event instanceof HttpResponse) {\n this.uploadProgress.set(100);\n this.status.set('success');\n }\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h1[sc-page-title]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageTitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('scroll-m-20 text-3xl font-bold tracking-tight', this.classInput()),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'h2[sc-page-subtitle]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageSubtitle {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn(\n 'font-heading mt-12 scroll-m-20 border-b pb-2 text-2xl font-semibold tracking-tight first:mt-0',\n this.classInput(),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\n@Component({\n selector: 'p[sc-page-description]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScPageDescription {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() =>\n cn('text-base text-muted-foreground', this.classInput()),\n );\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-section',\n imports: [],\n template: `\n <p>section works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Section {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, signal } from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\nimport { SiCookieIcon } from '@semantic-icons/lucide-icons';\n\nimport { ScButton } from '../button';\n\n@Component({\n selector: 'sc-cookie-consent',\n imports: [SiCookieIcon, ScButton],\n template: `\n <div [class]=\"class()\">\n <div class=\"m-3 rounded-lg border border-border bg-background dark:bg-card\">\n <div class=\"flex items-center justify-between p-3\">\n <h1 class=\"text-lg font-medium\">We use cookies</h1>\n <svg class=\"size-[1.2rem]\" si-cookie-icon></svg>\n </div>\n <div class=\"-mt-2 p-3\">\n <p class=\"text-left text-sm text-muted-foreground\">\n We use cookies to ensure you get the best experience on our website. For more\n information on how we use cookies, please see our cookie policy.\n </p>\n </div>\n <div class=\"mt-2 flex items-center gap-2 border-t p-3\">\n <button class=\"h-9 w-full rounded-full\" (click)=\"accept()\" sc-button>accept</button>\n <button class=\"h-9 w-full rounded-full\" (click)=\"decline()\" sc-button variant=\"outline\">\n decline\n </button>\n </div>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCookieConsent {\n open = signal(true);\n\n hidden = signal(false);\n\n class = signal(\n cn(\n 'fixed z-[200] bottom-0 left-0 right-0 sm:left-4 sm:bottom-4 w-full sm:max-w-md duration-700',\n !this.open()\n ? 'transition-[opacity,transform] translate-y-8 opacity-0'\n : 'transition-[opacity,transform] translate-y-0 opacity-100',\n this.hidden() && 'hidden',\n ),\n );\n\n accept() {\n console.log('accept');\n }\n\n decline() {\n console.log('decline');\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\n\nimport { ScCommentModel } from './comment-model';\n\n@Component({\n selector: 'sc-comment',\n imports: [DatePipe],\n template: `\n <div class=\"rounded-lg bg-white p-4 shadow-sm\">\n <!-- Comment Header -->\n <div class=\"mb-3 flex items-center gap-3\">\n <img class=\"size-8 rounded-full\" [src]=\"comment().avatar\" alt=\"Comment author avatar\" />\n <div>\n <h4 class=\"font-medium text-gray-900\">{{ comment().author }}</h4>\n <p class=\"text-sm text-gray-500\">\n {{ comment().timestamp | date: 'MMM d, y, h:mm a' }}\n </p>\n </div>\n </div>\n\n <!-- Comment Content -->\n <p class=\"mb-3 text-gray-700\">{{ comment().content }}</p>\n\n <!-- Comment Actions -->\n <div class=\"flex items-center gap-4 text-sm text-gray-500\">\n <button\n class=\"flex items-center gap-1 hover:text-blue-600\"\n (click)=\"likeComment(comment())\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5\"\n />\n </svg>\n {{ comment().likes }}\n </button>\n <button\n class=\"flex items-center gap-1 hover:text-blue-600\"\n (click)=\"toggleReplyForm(comment())\"\n >\n <svg\n class=\"size-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6\"\n />\n </svg>\n Reply\n </button>\n </div>\n\n <!-- Nested Replies -->\n @if (comment().replies.length) {\n <div class=\"ml-8 mt-4 space-y-4\">\n @for (reply of comment().replies; track reply) {\n <div class=\"rounded-lg bg-gray-50 p-3\">\n <div class=\"mb-2 flex items-center gap-3\">\n <img class=\"size-6 rounded-full\" [src]=\"reply.avatar\" alt=\"Reply author avatar\" />\n <div>\n <h5 class=\"font-medium text-gray-900\">{{ reply.author }}</h5>\n <p class=\"text-xs text-gray-500\">\n {{ reply.timestamp | date: 'MMM d, y, h:mm a' }}\n </p>\n </div>\n </div>\n <p class=\"text-sm text-gray-700\">{{ reply.content }}</p>\n </div>\n }\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScComment {\n comment = input.required<ScCommentModel>();\n\n likeComment(comment: ScCommentModel) {\n comment.likes++;\n }\n\n toggleReplyForm(comment: ScCommentModel) {\n // Implement reply form logic here\n console.log('Toggle reply form for comment:', comment.id);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\n\nimport { ScComment } from './comment';\nimport { ScCommentModel, ScUserModel } from './comment-model';\n\n@Component({\n selector: 'sc-comments',\n imports: [ReactiveFormsModule, ScComment],\n template: `\n <div class=\"mx-auto max-w-3xl p-4\">\n <!-- New Comment Form -->\n <form class=\"mb-8\" [formGroup]=\"commentForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"flex gap-4\">\n <img class=\"size-10 rounded-full\" [src]=\"currentUser().avatar\" alt=\"User Avatar\" />\n <div class=\"flex-1\">\n <textarea\n class=\"h-24 w-full resize-none rounded-lg border border-gray-300 px-3 py-2 focus:border-blue-500 focus:ring-2 focus:ring-blue-500\"\n formControlName=\"content\"\n placeholder=\"Write a comment...\"\n ></textarea>\n <div class=\"mt-2 flex justify-end\">\n <button\n class=\"rounded-lg bg-blue-600 px-4 py-2 text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"!commentForm.valid\"\n type=\"submit\"\n >\n Post Comment\n </button>\n </div>\n </div>\n </div>\n </form>\n\n <!-- Comments List -->\n <div class=\"space-y-6\">\n @for (item of comments(); track $index) {\n <sc-comment [comment]=\"item\" />\n }\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScComments {\n private readonly fb = inject(FormBuilder);\n\n comments = input.required<ScCommentModel[]>();\n\n currentUser = input.required<ScUserModel>();\n\n commentForm: FormGroup;\n\n constructor() {\n this.commentForm = this.fb.group({\n content: ['', [Validators.required, Validators.minLength(1)]],\n });\n }\n\n onSubmit() {\n if (this.commentForm.valid) {\n const newComment: ScCommentModel = {\n id: this.comments.length + 1,\n author: this.currentUser.name,\n avatar: this.currentUser().avatar,\n content: this.commentForm.value.content,\n timestamp: new Date(),\n likes: 0,\n replies: [],\n };\n\n this.comments().unshift(newComment);\n this.commentForm.reset();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n input,\n linkedSignal,\n output,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'sc-tags',\n imports: [ReactiveFormsModule],\n template: `\n <div class=\"w-full\">\n <!-- Tags Input -->\n <div\n class=\"min-h-[45px] w-full rounded-lg border border-gray-300 p-2 focus-within:border-blue-500 focus-within:ring-1 focus-within:ring-blue-500\"\n [class.border-red-500]=\"error\"\n >\n <div class=\"flex flex-wrap gap-2\">\n <!-- Existing Tags -->\n @for (tag of tags(); track tag) {\n <span\n class=\"inline-flex items-center gap-1 rounded-full bg-blue-100 px-3 py-1 text-sm text-blue-800\"\n >\n {{ tag }}\n <button\n class=\"hover:text-blue-600 focus:outline-none\"\n (click)=\"removeTag(tag)\"\n type=\"button\"\n aria-label=\"Remove tag\"\n >\n <svg\n class=\"size-4\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n </span>\n }\n\n <!-- Input Field -->\n <input\n class=\"min-w-[120px] grow bg-transparent outline-none\"\n #tagInput\n [formControl]=\"tagControl\"\n [placeholder]=\"tags().length === 0 ? placeholder() : ''\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"addTag()\"\n />\n </div>\n </div>\n\n <!-- Error Message -->\n @if (error) {\n <div class=\"mt-1 text-sm text-red-500\">\n {{ error }}\n </div>\n }\n\n <!-- Helper Text -->\n @if (helperText()) {\n <div class=\"mt-1 text-sm text-gray-500\">\n {{ helperText() }}\n </div>\n }\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScTags {\n readonly placeholder = input('Add tags...');\n readonly helperText = input('Press enter or comma to add tags');\n readonly maxTags = input(10);\n readonly minLength = input(2);\n readonly maxLength = input(20);\n\n readonly tagsInput = input<string[]>([], { alias: 'tags' });\n protected readonly tags = linkedSignal(() => this.tagsInput());\n readonly tagsChange = output<string[]>();\n\n tagControl = new FormControl('');\n error = '';\n\n onKeyDown(event: KeyboardEvent): void {\n // Check for Enter key or Comma\n if (event.key === 'Enter' || event.key === ',') {\n event.preventDefault(); // Prevent the comma from being typed\n this.addTag();\n }\n }\n\n addTag(): void {\n const tag = this.tagControl.value?.trim().toLowerCase();\n\n if (!tag) {\n this.tagControl.setValue('');\n return;\n }\n\n // Remove comma if it was added\n const cleanTag = tag.replace(/,/g, '');\n\n if (!cleanTag) {\n this.tagControl.setValue('');\n return;\n }\n\n // Validation\n if (cleanTag.length < this.minLength()) {\n this.error = `Tag must be at least ${this.minLength()} characters long`;\n return;\n }\n\n if (cleanTag.length > this.maxLength()) {\n this.error = `Tag must be less than ${this.maxLength()} characters long`;\n return;\n }\n\n if (this.tags().length >= this.maxTags()) {\n this.error = `Maximum ${this.maxTags()} tags allowed`;\n return;\n }\n\n const tags = this.tags();\n if (tags.includes(cleanTag)) {\n this.error = 'Tag already exists';\n return;\n }\n\n // Add tag\n this.error = '';\n this.tags.update((tags) => [...tags, cleanTag]);\n this.tagsChange.emit(this.tags());\n this.tagControl.setValue('');\n }\n\n removeTag(tagToRemove: string): void {\n this.tags.update((tags) => tags.filter((tag) => tag !== tagToRemove));\n this.tagsChange.emit(this.tags());\n this.error = '';\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n OnInit,\n Output,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'sc-combobox',\n imports: [ReactiveFormsModule, NgTemplateOutlet],\n template: `\n <div class=\"relative w-full\" #container>\n <!-- Label -->\n @if (label()) {\n <label class=\"mb-1 block text-sm font-medium text-gray-700\" [for]=\"id()\">\n {{ label() }}\n </label>\n }\n\n <!-- Input Group -->\n <div class=\"relative\">\n <input\n class=\"w-full rounded-lg border px-4 py-2 focus:border-blue-500 focus:ring-2 focus:ring-blue-500\"\n [id]=\"id()\"\n [formControl]=\"searchControl\"\n [placeholder]=\"placeholder()\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-activedescendant]=\"activeId\"\n [attr.aria-controls]=\"listboxId\"\n [attr.aria-owns]=\"listboxId\"\n [attr.aria-autocomplete]=\"'list'\"\n [attr.aria-haspopup]=\"'listbox'\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n type=\"text\"\n role=\"combobox\"\n />\n\n <!-- Dropdown button -->\n <button\n class=\"absolute inset-y-0 right-0 flex items-center px-2\"\n [attr.aria-label]=\"isOpen ? 'Close options' : 'Open options'\"\n (keydown)=\"onButtonKeyDown($event)\"\n (click)=\"handleButtonInteraction($event)\"\n type=\"button\"\n tabindex=\"0\"\n >\n <svg class=\"size-5 text-gray-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n </div>\n\n <!-- Dropdown -->\n @if (isOpen) {\n <div\n class=\"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white shadow-lg\"\n [id]=\"listboxId\"\n [attr.aria-label]=\"label() || 'Options'\"\n role=\"listbox\"\n >\n @if (loading()) {\n <div class=\"p-4 text-center text-gray-500\" role=\"status\">Loading...</div>\n }\n @if (!loading() && filteredOptions.length === 0) {\n <div class=\"p-4 text-center text-gray-500\" role=\"status\">No results found</div>\n }\n @if (!loading() && filteredOptions.length > 0) {\n <ul>\n @for (option of filteredOptions; track option; let i = $index) {\n <li\n class=\"cursor-pointer px-4 py-2 outline-none\"\n [id]=\"id() + '-option-' + i\"\n [attr.aria-selected]=\"i === activeIndex\"\n [class.bg-blue-100]=\"i === activeIndex\"\n (click)=\"handleOptionClick($event, option)\"\n (keydown)=\"onOptionKeyDown($event, option)\"\n (mouseenter)=\"setActiveIndex(i)\"\n role=\"option\"\n tabindex=\"0\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n optionTemplate() || defaultOptionTemplate;\n context: { $implicit: option }\n \"\n ></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n\n <!-- Default option template -->\n <ng-template #defaultOptionTemplate let-option>\n {{ getOptionLabel(option) }}\n </ng-template>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCombobox implements OnInit {\n private readonly elementRef = inject(ElementRef);\n\n readonly id = input(`combobox-${Math.random().toString(36).substr(2, 9)}`);\n readonly label = input<string>();\n readonly placeholder = input('Select an option');\n readonly options = input<any[]>([]);\n readonly optionTemplate = input<any>();\n readonly loading = input(false);\n readonly labelKey = input('label');\n\n @Output() optionSelected = new EventEmitter<any>();\n @Output() search = new EventEmitter<string>();\n\n searchControl = new FormControl('');\n isOpen = false;\n activeIndex = -1;\n filteredOptions: any[] = [];\n listboxId = `${this.id()}-listbox`;\n\n private closeTimeout?: any;\n\n get activeId(): string {\n return this.activeIndex >= 0 ? `${this.id()}-option-${this.activeIndex}` : '';\n }\n\n constructor() {\n this.searchControl.valueChanges\n .pipe(debounceTime(300), distinctUntilChanged())\n .subscribe((value) => {\n this.onSearch(value ?? '');\n });\n }\n\n ngOnInit() {\n this.listboxId = `${this.id()}-listbox`;\n }\n\n // Handle button interactions\n handleButtonInteraction(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.toggleDropdown();\n }\n\n onButtonKeyDown(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n event.stopPropagation();\n this.toggleDropdown();\n break;\n }\n }\n\n // Handle option interactions\n handleOptionClick(event: MouseEvent, option: any) {\n event.preventDefault();\n event.stopPropagation();\n this.selectOption(option);\n }\n\n onOptionKeyDown(event: KeyboardEvent, option: any) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n event.stopPropagation();\n this.selectOption(option);\n break;\n case 'ArrowDown':\n event.preventDefault();\n this.moveActiveIndex(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveActiveIndex(-1);\n break;\n case 'Home':\n event.preventDefault();\n this.setActiveIndex(0);\n break;\n case 'End':\n event.preventDefault();\n this.setActiveIndex(this.filteredOptions.length - 1);\n break;\n }\n }\n\n moveActiveIndex(delta: number) {\n const newIndex = this.activeIndex + delta;\n if (newIndex >= 0 && newIndex < this.filteredOptions.length) {\n this.setActiveIndex(newIndex);\n }\n }\n\n setActiveIndex(index: number) {\n this.activeIndex = index;\n this.scrollActiveOptionIntoView();\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event: Event) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n\n toggleDropdown() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.isOpen ? this.close() : this.open();\n }\n\n open() {\n this.isOpen = true;\n this.filterOptions();\n }\n\n close() {\n this.isOpen = false;\n this.activeIndex = -1;\n }\n\n onFocus() {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n }\n\n onBlur() {\n this.closeTimeout = setTimeout(() => this.close(), 200);\n }\n\n onSearch(query: string) {\n this.search.emit(query);\n this.filterOptions();\n }\n\n filterOptions() {\n const query = this.searchControl.value?.toLowerCase() ?? '';\n this.filteredOptions = this.options().filter((option) =>\n this.getOptionLabel(option).toLowerCase().includes(query),\n );\n this.activeIndex = -1;\n }\n\n selectOption(option: any) {\n this.searchControl.setValue(this.getOptionLabel(option), { emitEvent: false });\n this.optionSelected.emit(option);\n this.close();\n }\n\n getOptionLabel(option: any): string {\n return typeof option === 'object' ? option[this.labelKey()] : option.toString();\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isOpen) {\n this.open();\n }\n this.moveActiveIndex(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveActiveIndex(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (this.activeIndex >= 0) {\n this.selectOption(this.filteredOptions[this.activeIndex]);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.close();\n break;\n case 'Tab':\n this.close();\n break;\n }\n }\n\n private scrollActiveOptionIntoView() {\n if (this.activeIndex >= 0) {\n const activeOption = document.getElementById(`${this.id()}-option-${this.activeIndex}`);\n if (activeOption) {\n activeOption.scrollIntoView({ block: 'nearest' });\n }\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-clock-picker',\n imports: [],\n template: `\n <div class=\"inline-block\">\n <!-- Time Display -->\n <div class=\"mb-4 text-center\">\n <span class=\"text-3xl font-bold\">\n {{ formatTime(selectedHour, selectedMinute, selectedPeriod) }}\n </span>\n </div>\n\n <!-- Clock Face -->\n <div class=\"relative size-64 rounded-full border-2 border-gray-200 bg-gray-100\" #clockFace>\n <!-- Hour Markers -->\n @for (hour of hours; track hour) {\n <div\n class=\"pointer-events-none absolute size-full\"\n [style.transform]=\"'rotate(' + hour * 30 + 'deg)'\"\n >\n <div class=\"absolute left-1/2 top-0 h-full -translate-x-1/2\">\n <span class=\"absolute top-2 -translate-x-1/2 font-medium\">\n {{ hour === 0 ? 12 : hour }}\n </span>\n </div>\n </div>\n }\n\n <!-- Clickable Areas -->\n <div\n class=\"absolute inset-0\"\n (mousedown)=\"startMinuteDrag($event)\"\n (touchstart)=\"startMinuteDrag($event)\"\n >\n <div\n class=\"absolute inset-8\"\n (mousedown)=\"startHourDrag($event)\"\n (touchstart)=\"startHourDrag($event)\"\n ></div>\n </div>\n\n <!-- Hour Hand -->\n <div\n class=\"pointer-events-none absolute left-1/2 top-1/2 h-16 w-1 origin-top rounded-full bg-blue-600\"\n [style.transform]=\"'rotate(' + getHourDegrees() + 'deg) translateX(-50%)'\"\n ></div>\n\n <!-- Minute Hand -->\n <div\n class=\"pointer-events-none absolute left-1/2 top-1/2 h-24 w-0.5 origin-top rounded-full bg-blue-400\"\n [style.transform]=\"'rotate(' + getMinuteDegrees() + 'deg) translateX(-50%)'\"\n ></div>\n\n <!-- Center Dot -->\n <div\n class=\"pointer-events-none absolute left-1/2 top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-blue-600\"\n ></div>\n </div>\n\n <!-- AM/PM Toggle -->\n <div class=\"mt-4 flex justify-center gap-2\">\n @for (period of periods; track period) {\n <button\n [class]=\"\n 'px-4 py-2 rounded-lg ' +\n (selectedPeriod === period\n ? 'bg-blue-500 text-white'\n : 'bg-gray-100 hover:bg-gray-200')\n \"\n (click)=\"selectPeriod(period)\"\n >\n {{ period }}\n </button>\n }\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScClockPicker implements OnInit {\n @ViewChild('clockFace') clockFace!: ElementRef;\n readonly initialTime = input<string>();\n @Output() timeSelected = new EventEmitter<string>();\n\n hours = Array.from({ length: 12 }, (_, i) => i);\n periods = ['AM', 'PM'];\n\n selectedHour = 12;\n selectedMinute = 0;\n selectedPeriod = 'AM';\n\n isDragging = false;\n isHourMode = true;\n\n private readonly moveHandler: (event: MouseEvent | TouchEvent) => void;\n private readonly endHandler: () => void;\n\n constructor() {\n this.moveHandler = (event: MouseEvent | TouchEvent) => this.handleMove(event);\n this.endHandler = () => this.stopDrag();\n }\n\n ngOnInit() {\n const initialTime = this.initialTime();\n if (initialTime) {\n this.parseInitialTime(initialTime);\n }\n }\n\n parseInitialTime(time: string) {\n const [timeStr, period] = time.split(' ');\n const [hours, minutes] = timeStr.split(':').map(Number);\n\n this.selectedHour = hours % 12 || 12;\n this.selectedMinute = minutes;\n this.selectedPeriod = period;\n }\n\n startHourDrag(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isHourMode = true;\n this.startDrag(event);\n }\n\n startMinuteDrag(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isHourMode = false;\n this.startDrag(event);\n }\n\n private startDrag(event: MouseEvent | TouchEvent) {\n this.isDragging = true;\n document.addEventListener('mousemove', this.moveHandler);\n document.addEventListener('touchmove', this.moveHandler);\n document.addEventListener('mouseup', this.endHandler);\n document.addEventListener('touchend', this.endHandler);\n this.handleMove(event);\n }\n\n private handleMove(event: MouseEvent | TouchEvent) {\n if (!this.isDragging) return;\n\n const rect = this.clockFace.nativeElement.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n\n let clientX: number, clientY: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX;\n clientY = event.clientY;\n } else {\n clientX = event.touches[0].clientX;\n clientY = event.touches[0].clientY;\n }\n\n const angle = (Math.atan2(clientY - centerY, clientX - centerX) * 180) / Math.PI + 90;\n\n if (this.isHourMode) {\n this.selectedHour = Math.round(((angle + 360) % 360) / 30) % 12 || 12;\n } else {\n this.selectedMinute = Math.round(((angle + 360) % 360) / 6) % 60;\n }\n\n this.emitTimeChange();\n }\n\n private stopDrag() {\n if (!this.isDragging) return;\n\n this.isDragging = false;\n document.removeEventListener('mousemove', this.moveHandler);\n document.removeEventListener('touchmove', this.moveHandler);\n document.removeEventListener('mouseup', this.endHandler);\n document.removeEventListener('touchend', this.endHandler);\n\n this.emitTimeChange();\n }\n\n getHourDegrees(): number {\n return (this.selectedHour % 12) * 30 + (this.selectedMinute / 60) * 30;\n }\n\n getMinuteDegrees(): number {\n return this.selectedMinute * 6;\n }\n\n selectPeriod(period: string) {\n this.selectedPeriod = period;\n this.emitTimeChange();\n }\n\n formatTime(hour: number, minute: number, period: string): string {\n return `${hour}:${minute.toString().padStart(2, '0')} ${period}`;\n }\n\n emitTimeChange() {\n const formattedTime = this.formatTime(\n this.selectedHour,\n this.selectedMinute,\n this.selectedPeriod,\n );\n this.timeSelected.emit(formattedTime);\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'sc-clock-picker2',\n imports: [NgClass],\n template: `\n <div class=\"w-80 rounded-lg bg-white p-5 shadow-lg\">\n <div class=\"mb-5 text-center text-2xl\">{{ formattedHour() }}:{{ formattedMinute() }}</div>\n\n <div class=\"relative mx-auto mb-5 size-52\">\n <!-- Clock face -->\n <div class=\"absolute size-full rounded-full border-2 border-gray-200 bg-gray-100\">\n <!-- Center dot -->\n <div\n class=\"absolute left-1/2 top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-gray-800\"\n ></div>\n\n <!-- Clock hand -->\n <div\n class=\"absolute left-1/2 top-5 h-20 w-0.5 origin-bottom -translate-x-1/2 bg-blue-500\"\n [style.transform]=\"getHandRotation()\"\n ></div>\n\n <!-- Numbers -->\n\n @for (item of generateClockNumbers(); track $index) {\n <button\n class=\"absolute flex size-8 items-center justify-center rounded-full text-sm\"\n [ngClass]=\"\n (isHourMode() && item.number === selectedHour()) ||\n (!isHourMode() && item.number * 5 === selectedMinute())\n ? 'bg-blue-500 text-white'\n : 'hover:bg-gray-200'\n \"\n [style]=\"item.style\"\n (click)=\"handleNumberClick(item.number)\"\n >\n {{ numToDisplay(item.number) }}\n </button>\n }\n </div>\n </div>\n\n <!-- Mode switches -->\n <div class=\"flex justify-center gap-2\">\n <button\n class=\"rounded px-4 py-2 text-white\"\n [ngClass]=\"isHourMode() ? 'bg-blue-600' : 'bg-blue-400'\"\n (click)=\"isHourMode.set(true)\"\n >\n Hours\n </button>\n\n <button\n class=\"rounded px-4 py-2 text-white\"\n [ngClass]=\"!isHourMode() ? 'bg-blue-600' : 'bg-blue-400'\"\n (click)=\"isHourMode.set(false)\"\n >\n Minutes\n </button>\n </div>\n </div>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScClockPicker2 {\n protected readonly isHourMode = signal(true);\n protected readonly selectedHour = signal(12);\n protected readonly selectedMinute = signal(60);\n\n protected numToDisplay(number: number) {\n if (this.isHourMode()) {\n return number;\n }\n const minutes = number * 5;\n if (minutes === 60) {\n return 0;\n }\n return minutes;\n }\n\n protected readonly formattedHour = computed(() => String(this.selectedHour()).padStart(2, '0'));\n protected readonly formattedMinute = computed(() => {\n let minutes = this.selectedMinute();\n if (minutes === 60) {\n minutes = 0;\n }\n\n return String(minutes).padStart(2, '0');\n });\n\n // Generate positions for clock numbers\n generateClockNumbers = computed(() => {\n const numbers = this.isHourMode() ? 12 : 60;\n const step = this.isHourMode() ? 1 : 5;\n const items = [];\n\n for (let i = 1; i <= numbers / step; i++) {\n const angle = i * (360 / (numbers / step)) - 90;\n const radius = 80;\n const x = Math.cos((angle * Math.PI) / 180) * radius;\n const y = Math.sin((angle * Math.PI) / 180) * radius;\n\n //86 because the width of div is 204 and the width of the button is 32\n // 86 = (204 - 32 ) / 2\n items.push({\n number: i,\n style: {\n left: `${x + 86}px`,\n top: `${y + 86}px`,\n },\n });\n }\n\n return items;\n });\n\n handleNumberClick = (num: number) => {\n if (this.isHourMode()) {\n this.selectedHour.set(num);\n } else {\n this.selectedMinute.set(num * 5);\n }\n };\n\n getHandRotation = computed(() => {\n const value = this.isHourMode() ? this.selectedHour() : this.selectedMinute() / 5;\n // Calculate angle, ensuring correct rotation and offset\n const angle = (value % 12) * (360 / 12);\n return `rotate(${angle}deg)`;\n });\n}\n","import { Injectable } from '@angular/core';\n\nimport { Highlighter, createHighlighter } from 'shiki';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ShikiService {\n private highlighter: Highlighter | null = null;\n\n async initializeHighlighter() {\n if (!this.highlighter) {\n this.highlighter = await createHighlighter({\n themes: ['github-dark'],\n langs: ['angular-html', 'typescript'], //TODO provider langs and themes\n });\n }\n return this.highlighter;\n }\n\n async highlightCode(code: string, language: string) {\n const highlighter = await this.initializeHighlighter();\n return highlighter.codeToHtml(code, {\n lang: language,\n theme: 'github-dark',\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ShikiService } from './shiki.service';\n\n@Component({\n selector: 'sc-code-highlighter',\n imports: [],\n template: ``,\n host: {\n '[class]': 'class()',\n '[innerHTML]': 'highlightedCode()',\n },\n styles: `\n pre {\n @apply pb-6 px-4 rounded-md overflow-auto;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCodeHighlighter implements OnInit {\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('block', this.classInput()));\n\n private readonly shikiService = inject(ShikiService);\n private readonly sanitizer = inject(DomSanitizer);\n\n code = input.required<string>();\n language = input<'angular-html' | 'typescript'>('angular-html');\n theme = input('github-dark');\n\n highlightedCode = signal<SafeHtml>('');\n\n async ngOnInit() {\n const highlighted = await this.shikiService.highlightCode(this.code(), this.language());\n this.highlightedCode.set(this.sanitizer.bypassSecurityTrustHtml(highlighted));\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'sc-chat',\n imports: [],\n template: `\n <p>chat works!</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScChat {}\n","// image-placeholder.service.ts\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ImagePlaceholderService {\n generatePlaceholder(width: number, height: number, text?: string): string {\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n\n if (ctx) {\n // Background\n ctx.fillStyle = '#E0E0E0';\n ctx.fillRect(0, 0, width, height);\n\n // Text\n ctx.fillStyle = '#888';\n ctx.font = `${Math.min(width, height) / 10}px Arial`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n const displayText = text ?? `${width}x${height}`;\n ctx.fillText(displayText, width / 2, height / 2);\n }\n\n return canvas.toDataURL();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { cn } from '@semantic-components/utils';\n\nimport { ImagePlaceholderService } from './image-placeholder.service';\n\n@Component({\n selector: 'img[sc-image-placeholder]',\n template: `\n <ng-content />\n `,\n host: {\n '[class]': 'class()',\n '[src]': 'placeholderSrc()',\n '[width]': 'width()',\n '[height]': 'height()',\n '[alt]': 'alt()',\n },\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScImagePlaceholder {\n private readonly placeholderService = inject(ImagePlaceholderService);\n\n readonly classInput = input<string>('', {\n alias: 'class',\n });\n\n protected readonly class = computed(() => cn('object-cover', this.classInput()));\n\n readonly width = input(300);\n readonly height = input(200);\n readonly alt = input('Placeholder');\n\n //TODO use alt instead of text\n readonly text = input('');\n\n protected readonly placeholderSrc = computed(() => {\n return this.placeholderService.generatePlaceholder(this.width(), this.height(), this.text());\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n signal,\n} from '@angular/core';\n\nfunction isRTL(text: string) {\n // Define the Unicode range for RTL scripts\n const rtlRegex = /[\\u0590-\\u08FF]/; // Includes Hebrew, Arabic, Syriac, and others\n return rtlRegex.test(text);\n}\n\n@Component({\n selector: 'sc-rtl',\n imports: [],\n template: `\n <p>isRTL: {{ isRTL() }}</p>\n <p>isRTL2: {{ isRTL2() }}</p>\n `,\n styles: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScRTL {\n text = signal('مرحبا');\n isRTL = computed(() => isRTL(this.text()));\n\n text2 = signal('Bienvenue');\n isRTL2 = computed(() => isRTL(this.text2()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ScCursor","i1.ScPlainInput","i1","debounceTime"],"mappings":"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E,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AAE1B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAE5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5B,YAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IA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"}