@semantic-components/ui 0.69.0 → 0.71.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.
- package/esm2022/lib/components/breadcrumb/breadcrumb-list.js +1 -1
- package/esm2022/lib/components/breadcrumb/breadcrumb-list.js.map +1 -1
- package/esm2022/lib/components/calendar/calendar-day-view.js +2 -2
- package/esm2022/lib/components/calendar/calendar-day-view.js.map +1 -1
- package/esm2022/lib/components/field/field-description.js +1 -1
- package/esm2022/lib/components/field/field-description.js.map +1 -1
- package/esm2022/lib/components/field/field-group.js +1 -1
- package/esm2022/lib/components/field/field-group.js.map +1 -1
- package/esm2022/lib/components/field/field.js +3 -3
- package/esm2022/lib/components/field/field.js.map +1 -1
- package/esm2022/lib/components/file-upload/file-upload-dropzone.js +1 -1
- package/esm2022/lib/components/file-upload/file-upload-dropzone.js.map +1 -1
- package/esm2022/lib/components/file-upload/file-upload-item-progress.js +2 -2
- package/esm2022/lib/components/file-upload/file-upload-item-progress.js.map +1 -1
- package/esm2022/lib/components/index.js +2 -0
- package/esm2022/lib/components/index.js.map +1 -1
- package/esm2022/lib/components/label/label.js +1 -1
- package/esm2022/lib/components/label/label.js.map +1 -1
- package/esm2022/lib/components/menu/menu-trigger.js +3 -7
- package/esm2022/lib/components/menu/menu-trigger.js.map +1 -1
- package/esm2022/lib/components/menu/menu.js +1 -1
- package/esm2022/lib/components/menu/menu.js.map +1 -1
- package/esm2022/lib/components/navigation-menu/navigation-menu-trigger-icon.js +1 -1
- package/esm2022/lib/components/navigation-menu/navigation-menu-trigger-icon.js.map +1 -1
- package/esm2022/lib/components/pagination/pagination.js +2 -2
- package/esm2022/lib/components/pagination/pagination.js.map +1 -1
- package/esm2022/lib/components/range-slider/range-slider-thumb-base.js +2 -2
- package/esm2022/lib/components/range-slider/range-slider-thumb-base.js.map +1 -1
- package/esm2022/lib/components/resizable/index.js +6 -0
- package/esm2022/lib/components/resizable/index.js.map +1 -0
- package/esm2022/lib/components/resizable/resizable-handle-indicator.js +20 -0
- package/esm2022/lib/components/resizable/resizable-handle-indicator.js.map +1 -0
- package/esm2022/lib/components/resizable/resizable-handle.js +116 -0
- package/esm2022/lib/components/resizable/resizable-handle.js.map +1 -0
- package/esm2022/lib/components/resizable/resizable-panel-group.js +38 -0
- package/esm2022/lib/components/resizable/resizable-panel-group.js.map +1 -0
- package/esm2022/lib/components/resizable/resizable-panel.js +39 -0
- package/esm2022/lib/components/resizable/resizable-panel.js.map +1 -0
- package/esm2022/lib/components/resizable/resizable.types.js +1 -0
- package/esm2022/lib/components/resizable/resizable.types.js.map +1 -0
- package/esm2022/lib/components/select/select-label.js +6 -5
- package/esm2022/lib/components/select/select-label.js.map +1 -1
- package/esm2022/lib/components/select/select-trigger.js +1 -1
- package/esm2022/lib/components/select/select-trigger.js.map +1 -1
- package/esm2022/lib/components/select/select.js +0 -2
- package/esm2022/lib/components/select/select.js.map +1 -1
- package/esm2022/lib/components/sidebar/index.js +28 -0
- package/esm2022/lib/components/sidebar/index.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-body.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-body.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-container.js +26 -0
- package/esm2022/lib/components/sidebar/sidebar-container.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-footer.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-footer.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-gap.js +23 -0
- package/esm2022/lib/components/sidebar/sidebar-gap.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-group-action.js +21 -0
- package/esm2022/lib/components/sidebar/sidebar-group-action.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-group-content.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-group-content.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-group-label.js +21 -0
- package/esm2022/lib/components/sidebar/sidebar-group-label.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-group.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-group.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-header.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-header.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-inner.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-inner.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-input.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-input.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-inset.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-inset.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-action.js +24 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-action.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-badge.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-badge.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-button.js +47 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-button.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-item.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-item.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-skeleton.js +45 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-skeleton.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-sub-button.js +31 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-sub-button.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-sub-item.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-sub-item.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-sub.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-menu-sub.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-menu.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-menu.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-provider.js +102 -0
- package/esm2022/lib/components/sidebar/sidebar-provider.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-rail.js +27 -0
- package/esm2022/lib/components/sidebar/sidebar-rail.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-separator.js +20 -0
- package/esm2022/lib/components/sidebar/sidebar-separator.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-state.js +32 -0
- package/esm2022/lib/components/sidebar/sidebar-state.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar-trigger.js +36 -0
- package/esm2022/lib/components/sidebar/sidebar-trigger.js.map +1 -0
- package/esm2022/lib/components/sidebar/sidebar.js +137 -0
- package/esm2022/lib/components/sidebar/sidebar.js.map +1 -0
- package/esm2022/lib/components/slider/slider.js +1 -1
- package/esm2022/lib/components/slider/slider.js.map +1 -1
- package/esm2022/lib/components/switch/switch-field.js +1 -1
- package/esm2022/lib/components/switch/switch-field.js.map +1 -1
- package/esm2022/lib/components/tabs/tab-panel.js +1 -1
- package/esm2022/lib/components/tabs/tab-panel.js.map +1 -1
- package/esm2022/lib/components/tooltip/tooltip.js +2 -10
- package/esm2022/lib/components/tooltip/tooltip.js.map +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/menu/menu-trigger.d.ts +1 -3
- package/lib/components/pagination/pagination.d.ts +1 -1
- package/lib/components/range-slider/range-slider-thumb-base.d.ts +1 -1
- package/lib/components/resizable/index.d.ts +5 -0
- package/lib/components/resizable/resizable-handle-indicator.d.ts +7 -0
- package/lib/components/resizable/resizable-handle.d.ts +18 -0
- package/lib/components/resizable/resizable-panel-group.d.ts +17 -0
- package/lib/components/resizable/resizable-panel.d.ts +16 -0
- package/lib/components/resizable/resizable.types.d.ts +1 -0
- package/lib/components/select/select-label.d.ts +3 -1
- package/lib/components/sidebar/index.d.ts +27 -0
- package/lib/components/sidebar/sidebar-body.d.ts +7 -0
- package/lib/components/sidebar/sidebar-container.d.ts +8 -0
- package/lib/components/sidebar/sidebar-footer.d.ts +7 -0
- package/lib/components/sidebar/sidebar-gap.d.ts +8 -0
- package/lib/components/sidebar/sidebar-group-action.d.ts +8 -0
- package/lib/components/sidebar/sidebar-group-content.d.ts +7 -0
- package/lib/components/sidebar/sidebar-group-label.d.ts +8 -0
- package/lib/components/sidebar/sidebar-group.d.ts +7 -0
- package/lib/components/sidebar/sidebar-header.d.ts +7 -0
- package/lib/components/sidebar/sidebar-inner.d.ts +7 -0
- package/lib/components/sidebar/sidebar-input.d.ts +7 -0
- package/lib/components/sidebar/sidebar-inset.d.ts +7 -0
- package/lib/components/sidebar/sidebar-menu-action.d.ts +9 -0
- package/lib/components/sidebar/sidebar-menu-badge.d.ts +7 -0
- package/lib/components/sidebar/sidebar-menu-button.d.ts +18 -0
- package/lib/components/sidebar/sidebar-menu-item.d.ts +7 -0
- package/lib/components/sidebar/sidebar-menu-skeleton.d.ts +9 -0
- package/lib/components/sidebar/sidebar-menu-sub-button.d.ts +9 -0
- package/lib/components/sidebar/sidebar-menu-sub-item.d.ts +7 -0
- package/lib/components/sidebar/sidebar-menu-sub.d.ts +7 -0
- package/lib/components/sidebar/sidebar-menu.d.ts +7 -0
- package/lib/components/sidebar/sidebar-provider.d.ts +19 -0
- package/lib/components/sidebar/sidebar-rail.d.ts +9 -0
- package/lib/components/sidebar/sidebar-separator.d.ts +7 -0
- package/lib/components/sidebar/sidebar-state.d.ts +14 -0
- package/lib/components/sidebar/sidebar-trigger.d.ts +12 -0
- package/lib/components/sidebar/sidebar.d.ts +11 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { cn } from '../../utils';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ScBreadcrumbList {
|
|
5
5
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
6
|
-
class = computed(() => cn('text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-
|
|
6
|
+
class = computed(() => cn('text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm wrap-break-word sm:gap-2.5', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
7
7
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScBreadcrumbList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
8
8
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScBreadcrumbList, isStandalone: true, selector: "ol[scBreadcrumbList]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "breadcrumb-list" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-list.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,gBAAgB;IAClB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,
|
|
1
|
+
{"version":3,"file":"breadcrumb-list.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/breadcrumb/breadcrumb-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,gBAAgB;IAClB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,8FAA8F,EAC9F,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGARS,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAP5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,IAAI,EAAE;wBACJ,WAAW,EAAE,iBAAiB;wBAC9B,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, input } from '@angular/core';\nimport { cn } from '../../utils';\n\n@Directive({\n selector: 'ol[scBreadcrumbList]',\n host: {\n 'data-slot': 'breadcrumb-list',\n '[class]': 'class()',\n },\n})\nexport class ScBreadcrumbList {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm wrap-break-word sm:gap-2.5',\n this.classInput(),\n ),\n );\n}\n"]}
|
|
@@ -180,7 +180,7 @@ export class ScCalendarDayView {
|
|
|
180
180
|
@for (day of weekDays(); track day) {
|
|
181
181
|
<th
|
|
182
182
|
scope="col"
|
|
183
|
-
class="w-9 rounded-md text-[0.8rem] font-normal
|
|
183
|
+
class="text-muted-foreground w-9 rounded-md text-[0.8rem] font-normal"
|
|
184
184
|
>
|
|
185
185
|
{{ day }}
|
|
186
186
|
</th>
|
|
@@ -259,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
259
259
|
@for (day of weekDays(); track day) {
|
|
260
260
|
<th
|
|
261
261
|
scope="col"
|
|
262
|
-
class="w-9 rounded-md text-[0.8rem] font-normal
|
|
262
|
+
class="text-muted-foreground w-9 rounded-md text-[0.8rem] font-normal"
|
|
263
263
|
>
|
|
264
264
|
{{ day }}
|
|
265
265
|
</th>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-day-view.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/calendar/calendar-day-view.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n output,\n viewChildren,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Grid, GridRow, GridCell, GridCellWidget } from '@angular/aria/grid';\nimport { cn } from '../../utils';\nimport { Temporal } from '@js-temporal/polyfill';\nimport { ScCalendarValue, ScDateRange } from './calendar';\n\ninterface DayInfo {\n date: Temporal.PlainDate;\n isToday: boolean;\n isOutsideMonth: boolean;\n disabled: boolean;\n selected: ReturnType<typeof signal<boolean>>;\n}\n\n@Component({\n selector: '[scCalendarDayView]',\n imports: [Grid, GridRow, GridCell, GridCellWidget],\n template: `\n <table\n ngGrid\n tabindex=\"0\"\n class=\"w-full border-collapse\"\n colWrap=\"continuous\"\n rowWrap=\"nowrap\"\n [enableSelection]=\"mode() !== 'multiple'\"\n selectionMode=\"explicit\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <thead>\n <tr class=\"flex\">\n @for (day of weekDays(); track day) {\n <th\n scope=\"col\"\n class=\"w-9 rounded-md text-[0.8rem] font-normal text-muted-foreground\"\n >\n {{ day }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (week of weeks(); track $index) {\n <tr ngGridRow class=\"mt-2 flex w-full\">\n @for (day of week; track day?.date?.toString() ?? $index) {\n @if (day) {\n <td\n ngGridCell\n class=\"relative p-0 text-center text-sm\"\n [disabled]=\"day.disabled || day.isOutsideMonth\"\n [(selected)]=\"day.selected\"\n >\n <button\n ngGridCellWidget\n type=\"button\"\n [class]=\"getDayClass(day)\"\n [attr.aria-label]=\"\n day.date.toLocaleString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n \"\n [attr.data-today]=\"day.isToday || null\"\n [attr.data-selected]=\"isSelected(day.date) || null\"\n [attr.data-outside]=\"day.isOutsideMonth || null\"\n [attr.data-disabled]=\"day.disabled || null\"\n [attr.data-range-start]=\"isRangeStart(day.date) || null\"\n [attr.data-range-end]=\"isRangeEnd(day.date) || null\"\n [attr.data-range-middle]=\"isRangeMiddle(day.date) || null\"\n [attr.data-day]=\"day.date.day\"\n (click)=\"handleDateClick(day.date)\"\n >\n {{ day.date.day }}\n </button>\n </td>\n } @else {\n <td\n ngGridCell\n class=\"relative p-0 text-center text-sm\"\n disabled\n >\n <span class=\"size-9\"></span>\n </td>\n }\n }\n </tr>\n }\n </tbody>\n </table>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCalendarDayView {\n private readonly _dayButtons = viewChildren(GridCellWidget);\n\n readonly viewDate = input.required<Temporal.PlainDate>();\n readonly mode = input.required<'single' | 'multiple' | 'range'>();\n readonly value = input<ScCalendarValue>(undefined);\n readonly disabled = input<Temporal.PlainDate[]>([]);\n readonly minDate = input<Temporal.PlainDate | undefined>(undefined);\n readonly maxDate = input<Temporal.PlainDate | undefined>(undefined);\n\n readonly dateSelected = output<Temporal.PlainDate>();\n readonly monthScrollUp = output<void>();\n readonly monthScrollDown = output<void>();\n\n readonly weekDays = input(['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']);\n\n protected readonly weeks = computed(() => {\n const date = this.viewDate();\n const year = date.year;\n const month = date.month;\n\n const firstDay = new Temporal.PlainDate(year, month, 1);\n const daysInMonth = firstDay.daysInMonth;\n // dayOfWeek: 1=Mon..7=Sun; %7 gives 0=Sun like JS Date.getDay()\n const firstDayOfWeek = firstDay.dayOfWeek % 7;\n\n const days: (DayInfo | null)[][] = [];\n let currentWeek: (DayInfo | null)[] = [];\n\n // Add days from previous month to fill the first week\n for (let i = 0; i < firstDayOfWeek; i++) {\n const prevDate = firstDay.subtract({ days: firstDayOfWeek - i });\n currentWeek.push(this.createDayInfo(prevDate, true));\n }\n\n // Add days of the month\n for (let day = 1; day <= daysInMonth; day++) {\n const currentDate = new Temporal.PlainDate(year, month, day);\n currentWeek.push(this.createDayInfo(currentDate, false));\n\n if (currentWeek.length === 7) {\n days.push(currentWeek);\n currentWeek = [];\n }\n }\n\n // Add days from next month to fill the last week\n if (currentWeek.length > 0) {\n const nextMonthFirst = firstDay.add({ months: 1 });\n let nextDay = 0;\n while (currentWeek.length < 7) {\n const nextDate = nextMonthFirst.add({ days: nextDay++ });\n currentWeek.push(this.createDayInfo(nextDate, true));\n }\n days.push(currentWeek);\n }\n\n return days;\n });\n\n private createDayInfo(\n date: Temporal.PlainDate,\n isOutsideMonth: boolean,\n ): DayInfo {\n const today = Temporal.Now.plainDateISO();\n const isToday = date.equals(today);\n const disabled = this.isDateDisabled(date);\n\n return {\n date,\n isToday,\n isOutsideMonth,\n disabled,\n selected: signal(this.isSelected(date)),\n };\n }\n\n private isDateDisabled(date: Temporal.PlainDate): boolean {\n const disabledDates = this.disabled();\n const min = this.minDate();\n const max = this.maxDate();\n\n if (min && Temporal.PlainDate.compare(date, min) < 0) return true;\n if (max && Temporal.PlainDate.compare(date, max) > 0) return true;\n\n return disabledDates.some((d) => d.equals(date));\n }\n\n private getRange(): ScDateRange {\n return (\n (this.value() as ScDateRange | undefined) ?? {\n from: undefined,\n to: undefined,\n }\n );\n }\n\n protected isSelected(date: Temporal.PlainDate): boolean {\n const mode = this.mode();\n\n if (mode === 'single') {\n const selected = this.value() as Temporal.PlainDate | undefined;\n return selected ? date.equals(selected) : false;\n }\n\n if (mode === 'multiple') {\n const dates = (this.value() as Temporal.PlainDate[] | undefined) ?? [];\n return dates.some((d) => date.equals(d));\n }\n\n if (mode === 'range') {\n const range = this.getRange();\n if (range.from && date.equals(range.from)) return true;\n if (range.to && date.equals(range.to)) return true;\n if (\n range.from &&\n range.to &&\n Temporal.PlainDate.compare(date, range.from) > 0 &&\n Temporal.PlainDate.compare(date, range.to) < 0\n )\n return true;\n }\n\n return false;\n }\n\n protected isRangeStart(date: Temporal.PlainDate): boolean {\n if (this.mode() !== 'range') return false;\n const range = this.getRange();\n return range.from ? date.equals(range.from) : false;\n }\n\n protected isRangeEnd(date: Temporal.PlainDate): boolean {\n if (this.mode() !== 'range') return false;\n const range = this.getRange();\n return range.to ? date.equals(range.to) : false;\n }\n\n protected isRangeMiddle(date: Temporal.PlainDate): boolean {\n if (this.mode() !== 'range') return false;\n const range = this.getRange();\n if (!range.from || !range.to) return false;\n return (\n Temporal.PlainDate.compare(date, range.from) > 0 &&\n Temporal.PlainDate.compare(date, range.to) < 0\n );\n }\n\n protected getDayClass(day: DayInfo): string {\n const isSelectedDay = this.isSelected(day.date);\n const isRangeMiddleDay = this.isRangeMiddle(day.date);\n\n return cn(\n 'inline-flex size-9 items-center justify-center rounded-md text-sm font-normal',\n 'ring-offset-background transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'hover:bg-accent hover:text-accent-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n day.isToday && !isSelectedDay && 'bg-accent text-accent-foreground',\n isSelectedDay &&\n !isRangeMiddleDay &&\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground',\n isRangeMiddleDay && 'bg-accent text-accent-foreground rounded-none',\n day.isOutsideMonth && 'text-muted-foreground opacity-50',\n day.disabled && 'text-muted-foreground opacity-50',\n );\n }\n\n protected handleDateClick(date: Temporal.PlainDate): void {\n this.dateSelected.emit(date);\n }\n\n protected handleKeyDown(event: KeyboardEvent): void {\n const day = Number((event.target as Element).getAttribute('data-day'));\n if (!day) return;\n\n const viewDate = this.viewDate();\n const daysInMonth = viewDate.daysInMonth;\n\n // Only handle edge cases where we need to scroll to prev/next month\n if (day > 7 && day <= daysInMonth - 7) return;\n\n const arrowLeft = event.key === 'ArrowLeft';\n const arrowRight = event.key === 'ArrowRight';\n const arrowUp = event.key === 'ArrowUp';\n const arrowDown = event.key === 'ArrowDown';\n\n if ((day === 1 && arrowLeft) || (day <= 7 && arrowUp)) {\n this.scrollUp();\n }\n\n if (\n (day === daysInMonth && arrowRight) ||\n (day > daysInMonth - 7 && arrowDown)\n ) {\n this.scrollDown();\n }\n }\n\n private scrollDown(): void {\n this.monthScrollDown.emit();\n setTimeout(() => this._dayButtons()[0]?.element.focus());\n }\n\n private scrollUp(): void {\n this.monthScrollUp.emit();\n setTimeout(() =>\n this._dayButtons()[this._dayButtons().length - 1]?.element.focus(),\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"calendar-day-view.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/calendar/calendar-day-view.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n output,\n viewChildren,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Grid, GridRow, GridCell, GridCellWidget } from '@angular/aria/grid';\nimport { cn } from '../../utils';\nimport { Temporal } from '@js-temporal/polyfill';\nimport { ScCalendarValue, ScDateRange } from './calendar';\n\ninterface DayInfo {\n date: Temporal.PlainDate;\n isToday: boolean;\n isOutsideMonth: boolean;\n disabled: boolean;\n selected: ReturnType<typeof signal<boolean>>;\n}\n\n@Component({\n selector: '[scCalendarDayView]',\n imports: [Grid, GridRow, GridCell, GridCellWidget],\n template: `\n <table\n ngGrid\n tabindex=\"0\"\n class=\"w-full border-collapse\"\n colWrap=\"continuous\"\n rowWrap=\"nowrap\"\n [enableSelection]=\"mode() !== 'multiple'\"\n selectionMode=\"explicit\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <thead>\n <tr class=\"flex\">\n @for (day of weekDays(); track day) {\n <th\n scope=\"col\"\n class=\"text-muted-foreground w-9 rounded-md text-[0.8rem] font-normal\"\n >\n {{ day }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (week of weeks(); track $index) {\n <tr ngGridRow class=\"mt-2 flex w-full\">\n @for (day of week; track day?.date?.toString() ?? $index) {\n @if (day) {\n <td\n ngGridCell\n class=\"relative p-0 text-center text-sm\"\n [disabled]=\"day.disabled || day.isOutsideMonth\"\n [(selected)]=\"day.selected\"\n >\n <button\n ngGridCellWidget\n type=\"button\"\n [class]=\"getDayClass(day)\"\n [attr.aria-label]=\"\n day.date.toLocaleString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n \"\n [attr.data-today]=\"day.isToday || null\"\n [attr.data-selected]=\"isSelected(day.date) || null\"\n [attr.data-outside]=\"day.isOutsideMonth || null\"\n [attr.data-disabled]=\"day.disabled || null\"\n [attr.data-range-start]=\"isRangeStart(day.date) || null\"\n [attr.data-range-end]=\"isRangeEnd(day.date) || null\"\n [attr.data-range-middle]=\"isRangeMiddle(day.date) || null\"\n [attr.data-day]=\"day.date.day\"\n (click)=\"handleDateClick(day.date)\"\n >\n {{ day.date.day }}\n </button>\n </td>\n } @else {\n <td\n ngGridCell\n class=\"relative p-0 text-center text-sm\"\n disabled\n >\n <span class=\"size-9\"></span>\n </td>\n }\n }\n </tr>\n }\n </tbody>\n </table>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScCalendarDayView {\n private readonly _dayButtons = viewChildren(GridCellWidget);\n\n readonly viewDate = input.required<Temporal.PlainDate>();\n readonly mode = input.required<'single' | 'multiple' | 'range'>();\n readonly value = input<ScCalendarValue>(undefined);\n readonly disabled = input<Temporal.PlainDate[]>([]);\n readonly minDate = input<Temporal.PlainDate | undefined>(undefined);\n readonly maxDate = input<Temporal.PlainDate | undefined>(undefined);\n\n readonly dateSelected = output<Temporal.PlainDate>();\n readonly monthScrollUp = output<void>();\n readonly monthScrollDown = output<void>();\n\n readonly weekDays = input(['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']);\n\n protected readonly weeks = computed(() => {\n const date = this.viewDate();\n const year = date.year;\n const month = date.month;\n\n const firstDay = new Temporal.PlainDate(year, month, 1);\n const daysInMonth = firstDay.daysInMonth;\n // dayOfWeek: 1=Mon..7=Sun; %7 gives 0=Sun like JS Date.getDay()\n const firstDayOfWeek = firstDay.dayOfWeek % 7;\n\n const days: (DayInfo | null)[][] = [];\n let currentWeek: (DayInfo | null)[] = [];\n\n // Add days from previous month to fill the first week\n for (let i = 0; i < firstDayOfWeek; i++) {\n const prevDate = firstDay.subtract({ days: firstDayOfWeek - i });\n currentWeek.push(this.createDayInfo(prevDate, true));\n }\n\n // Add days of the month\n for (let day = 1; day <= daysInMonth; day++) {\n const currentDate = new Temporal.PlainDate(year, month, day);\n currentWeek.push(this.createDayInfo(currentDate, false));\n\n if (currentWeek.length === 7) {\n days.push(currentWeek);\n currentWeek = [];\n }\n }\n\n // Add days from next month to fill the last week\n if (currentWeek.length > 0) {\n const nextMonthFirst = firstDay.add({ months: 1 });\n let nextDay = 0;\n while (currentWeek.length < 7) {\n const nextDate = nextMonthFirst.add({ days: nextDay++ });\n currentWeek.push(this.createDayInfo(nextDate, true));\n }\n days.push(currentWeek);\n }\n\n return days;\n });\n\n private createDayInfo(\n date: Temporal.PlainDate,\n isOutsideMonth: boolean,\n ): DayInfo {\n const today = Temporal.Now.plainDateISO();\n const isToday = date.equals(today);\n const disabled = this.isDateDisabled(date);\n\n return {\n date,\n isToday,\n isOutsideMonth,\n disabled,\n selected: signal(this.isSelected(date)),\n };\n }\n\n private isDateDisabled(date: Temporal.PlainDate): boolean {\n const disabledDates = this.disabled();\n const min = this.minDate();\n const max = this.maxDate();\n\n if (min && Temporal.PlainDate.compare(date, min) < 0) return true;\n if (max && Temporal.PlainDate.compare(date, max) > 0) return true;\n\n return disabledDates.some((d) => d.equals(date));\n }\n\n private getRange(): ScDateRange {\n return (\n (this.value() as ScDateRange | undefined) ?? {\n from: undefined,\n to: undefined,\n }\n );\n }\n\n protected isSelected(date: Temporal.PlainDate): boolean {\n const mode = this.mode();\n\n if (mode === 'single') {\n const selected = this.value() as Temporal.PlainDate | undefined;\n return selected ? date.equals(selected) : false;\n }\n\n if (mode === 'multiple') {\n const dates = (this.value() as Temporal.PlainDate[] | undefined) ?? [];\n return dates.some((d) => date.equals(d));\n }\n\n if (mode === 'range') {\n const range = this.getRange();\n if (range.from && date.equals(range.from)) return true;\n if (range.to && date.equals(range.to)) return true;\n if (\n range.from &&\n range.to &&\n Temporal.PlainDate.compare(date, range.from) > 0 &&\n Temporal.PlainDate.compare(date, range.to) < 0\n )\n return true;\n }\n\n return false;\n }\n\n protected isRangeStart(date: Temporal.PlainDate): boolean {\n if (this.mode() !== 'range') return false;\n const range = this.getRange();\n return range.from ? date.equals(range.from) : false;\n }\n\n protected isRangeEnd(date: Temporal.PlainDate): boolean {\n if (this.mode() !== 'range') return false;\n const range = this.getRange();\n return range.to ? date.equals(range.to) : false;\n }\n\n protected isRangeMiddle(date: Temporal.PlainDate): boolean {\n if (this.mode() !== 'range') return false;\n const range = this.getRange();\n if (!range.from || !range.to) return false;\n return (\n Temporal.PlainDate.compare(date, range.from) > 0 &&\n Temporal.PlainDate.compare(date, range.to) < 0\n );\n }\n\n protected getDayClass(day: DayInfo): string {\n const isSelectedDay = this.isSelected(day.date);\n const isRangeMiddleDay = this.isRangeMiddle(day.date);\n\n return cn(\n 'inline-flex size-9 items-center justify-center rounded-md text-sm font-normal',\n 'ring-offset-background transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'hover:bg-accent hover:text-accent-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n day.isToday && !isSelectedDay && 'bg-accent text-accent-foreground',\n isSelectedDay &&\n !isRangeMiddleDay &&\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground',\n isRangeMiddleDay && 'bg-accent text-accent-foreground rounded-none',\n day.isOutsideMonth && 'text-muted-foreground opacity-50',\n day.disabled && 'text-muted-foreground opacity-50',\n );\n }\n\n protected handleDateClick(date: Temporal.PlainDate): void {\n this.dateSelected.emit(date);\n }\n\n protected handleKeyDown(event: KeyboardEvent): void {\n const day = Number((event.target as Element).getAttribute('data-day'));\n if (!day) return;\n\n const viewDate = this.viewDate();\n const daysInMonth = viewDate.daysInMonth;\n\n // Only handle edge cases where we need to scroll to prev/next month\n if (day > 7 && day <= daysInMonth - 7) return;\n\n const arrowLeft = event.key === 'ArrowLeft';\n const arrowRight = event.key === 'ArrowRight';\n const arrowUp = event.key === 'ArrowUp';\n const arrowDown = event.key === 'ArrowDown';\n\n if ((day === 1 && arrowLeft) || (day <= 7 && arrowUp)) {\n this.scrollUp();\n }\n\n if (\n (day === daysInMonth && arrowRight) ||\n (day > daysInMonth - 7 && arrowDown)\n ) {\n this.scrollDown();\n }\n }\n\n private scrollDown(): void {\n this.monthScrollDown.emit();\n setTimeout(() => this._dayButtons()[0]?.element.focus());\n }\n\n private scrollUp(): void {\n this.monthScrollUp.emit();\n setTimeout(() =>\n this._dayButtons()[this._dayButtons().length - 1]?.element.focus(),\n );\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { cn } from '../../utils';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ScFieldDescription {
|
|
5
5
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
6
|
-
class = computed(() => cn('text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-
|
|
6
|
+
class = computed(() => cn('text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance', 'last:mt-0 nth-last-2:-mt-1', '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
7
7
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScFieldDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
8
8
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScFieldDescription, isStandalone: true, selector: "[scFieldDescription]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "field-description" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-description.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/field/field-description.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,kBAAkB;IACpB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,
|
|
1
|
+
{"version":3,"file":"field-description.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/field/field-description.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,kBAAkB;IACpB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,iKAAiK,EACjK,4BAA4B,EAC5B,mEAAmE,EACnE,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGAVS,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAP9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,IAAI,EAAE;wBACJ,WAAW,EAAE,mBAAmB;wBAChC,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, input } from '@angular/core';\nimport { cn } from '../../utils';\n\n@Directive({\n selector: '[scFieldDescription]',\n host: {\n 'data-slot': 'field-description',\n '[class]': 'class()',\n },\n})\nexport class ScFieldDescription {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(\n 'text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance',\n 'last:mt-0 nth-last-2:-mt-1',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n this.classInput(),\n ),\n );\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { cn } from '../../utils';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ScFieldGroup {
|
|
5
5
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
6
|
-
class = computed(() => cn('gap-5 data-[slot=checkbox-group]:gap-3
|
|
6
|
+
class = computed(() => cn('gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
7
7
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScFieldGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
8
8
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScFieldGroup, isStandalone: true, selector: "[scFieldGroup]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "field-group" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-group.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/field/field-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,YAAY;IACd,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,
|
|
1
|
+
{"version":3,"file":"field-group.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/field/field-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,YAAY;IACd,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,sIAAsI,EACtI,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGARS,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAPxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,IAAI,EAAE;wBACJ,WAAW,EAAE,aAAa;wBAC1B,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, input } from '@angular/core';\nimport { cn } from '../../utils';\n\n@Directive({\n selector: '[scFieldGroup]',\n host: {\n 'data-slot': 'field-group',\n '[class]': 'class()',\n },\n})\nexport class ScFieldGroup {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(\n 'gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col',\n this.classInput(),\n ),\n );\n}\n"]}
|
|
@@ -7,9 +7,9 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
const fieldVariants = cva('gap-2 group/field flex w-full data-[invalid=true]:text-destructive', {
|
|
8
8
|
variants: {
|
|
9
9
|
orientation: {
|
|
10
|
-
vertical: 'flex-col
|
|
11
|
-
horizontal: 'flex-row items-center
|
|
12
|
-
responsive: 'flex-col
|
|
10
|
+
vertical: 'flex-col *:w-full [&>.sr-only]:w-auto',
|
|
11
|
+
horizontal: 'flex-row items-center *:data-[slot=label]:flex-auto has-[>[data-slot=field-body]]:items-start has-[>[data-slot=field-body]]:[&>[role=checkbox],[role=radio]]:mt-px',
|
|
12
|
+
responsive: 'flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:*:data-[slot=label]:flex-auto @md/field-group:has-[>[data-slot=field-body]]:items-start @md/field-group:has-[>[data-slot=field-body]]:[&>[role=checkbox],[role=radio]]:mt-px',
|
|
13
13
|
},
|
|
14
14
|
},
|
|
15
15
|
defaultVariants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/field/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,UAAU,EACV,MAAM,EACN,cAAc,EACd,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAEjC,MAAM,aAAa,GAAG,GAAG,CACvB,oEAAoE,EACpE;IACE,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/field/field.ts"],"names":[],"mappings":"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","sourcesContent":["import { _IdGenerator } from '@angular/cdk/a11y';\nimport {\n computed,\n contentChild,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n} from '@angular/core';\nimport { FormField } from '@angular/forms/signals';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils';\n\nconst fieldVariants = cva(\n 'gap-2 group/field flex w-full data-[invalid=true]:text-destructive',\n {\n variants: {\n orientation: {\n vertical: 'flex-col *:w-full [&>.sr-only]:w-auto',\n horizontal:\n 'flex-row items-center *:data-[slot=label]:flex-auto has-[>[data-slot=field-body]]:items-start has-[>[data-slot=field-body]]:[&>[role=checkbox],[role=radio]]:mt-px',\n responsive:\n 'flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:*:data-[slot=label]:flex-auto @md/field-group:has-[>[data-slot=field-body]]:items-start @md/field-group:has-[>[data-slot=field-body]]:[&>[role=checkbox],[role=radio]]:mt-px',\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n },\n);\n\nexport type ScFieldVariants = VariantProps<typeof fieldVariants>;\n\nexport interface ScFieldContext {\n id: () => string;\n}\n\nexport const SC_FIELD = new InjectionToken<ScFieldContext>('SC_FIELD');\n\n@Directive({\n selector: 'div[scField], label[scField]',\n host: {\n '[attr.role]': 'role()',\n 'data-slot': 'field',\n '[attr.id]': 'id()',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-invalid]': 'invalid()',\n '[attr.data-disabled]': 'disabled()',\n '[class]': 'class()',\n },\n providers: [\n {\n provide: SC_FIELD,\n useExisting: ScField,\n },\n ],\n})\nexport class ScField implements ScFieldContext {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n readonly id = input(inject(_IdGenerator).getId('sc-field-'));\n readonly classInput = input<string>('', { alias: 'class' });\n readonly orientation = input<ScFieldVariants['orientation']>('vertical');\n readonly invalidInput = input<boolean>(false, { alias: 'invalid' });\n readonly disabledInput = input<boolean>(false, { alias: 'disabled' });\n\n private readonly formField = contentChild(FormField);\n\n protected readonly role = computed(() => {\n // Only LABEL preserves native semantics, DIV gets role=\"group\"\n const tagName = this.elementRef.nativeElement.tagName;\n return tagName === 'LABEL' ? null : 'group';\n });\n\n readonly invalid = computed(() => {\n if (this.invalidInput()) return true;\n return (\n (this.formField()?.state().touched() &&\n this.formField()?.state().invalid()) ??\n false\n );\n });\n\n readonly disabled = computed(() => {\n if (this.disabledInput()) return true;\n return this.formField()?.state().disabled() ?? false;\n });\n\n protected readonly class = computed(() =>\n cn(fieldVariants({ orientation: this.orientation() }), this.classInput()),\n );\n}\n"]}
|
|
@@ -7,7 +7,7 @@ export class ScFileUploadDropzone {
|
|
|
7
7
|
elementRef = inject(ElementRef);
|
|
8
8
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
9
9
|
isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : []));
|
|
10
|
-
class = computed(() => cn('relative flex min-h-[150px] cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed', 'transition-colors hover:border-primary/50 hover:bg-accent/50', 'data-[dragging=true]:border-primary data-[dragging=true]:bg-accent', 'data-
|
|
10
|
+
class = computed(() => cn('relative flex min-h-[150px] cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed', 'transition-colors hover:border-primary/50 hover:bg-accent/50', 'data-[dragging=true]:border-primary data-[dragging=true]:bg-accent', 'data-disabled:pointer-events-none data-disabled:opacity-50', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
11
11
|
openFilePicker() {
|
|
12
12
|
if (this.fileUpload.disabled())
|
|
13
13
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload-dropzone.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/file-upload/file-upload-dropzone.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;AA6B/C,MAAM,OAAO,oBAAoB;IACtB,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAExC,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IACnD,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC,CAAC;IAEjB,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,mHAAmH,EACnH,8DAA8D,EAC9D,oEAAoE,EACpE,
|
|
1
|
+
{"version":3,"file":"file-upload-dropzone.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/file-upload/file-upload-dropzone.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\nimport { SC_FILE_UPLOAD } from './file-upload';\n\n@Component({\n selector: '[scFileUploadDropzone]',\n template: `\n <input\n #fileInput\n type=\"file\"\n class=\"sr-only\"\n [multiple]=\"fileUpload.multiple()\"\n [accept]=\"fileUpload.accept()\"\n [disabled]=\"fileUpload.disabled()\"\n (change)=\"onFileSelect($event)\"\n />\n <ng-content />\n `,\n host: {\n 'data-slot': 'file-upload-dropzone',\n '[class]': 'class()',\n '[attr.data-dragging]': 'isDragging()',\n '[attr.data-disabled]': 'fileUpload.disabled() || null',\n '(click)': 'openFilePicker()',\n '(dragover)': 'onDragOver($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(drop)': 'onDrop($event)',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileUploadDropzone {\n readonly fileUpload = inject(SC_FILE_UPLOAD);\n private readonly elementRef = inject(ElementRef);\n\n readonly classInput = input<string>('', { alias: 'class' });\n readonly isDragging = signal(false);\n\n protected readonly class = computed(() =>\n cn(\n 'relative flex min-h-[150px] cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed',\n 'transition-colors hover:border-primary/50 hover:bg-accent/50',\n 'data-[dragging=true]:border-primary data-[dragging=true]:bg-accent',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n this.classInput(),\n ),\n );\n\n openFilePicker(): void {\n if (this.fileUpload.disabled()) return;\n const input = this.elementRef.nativeElement.querySelector(\n 'input[type=\"file\"]',\n ) as HTMLInputElement;\n input?.click();\n }\n\n onFileSelect(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n this.fileUpload.addFiles(input.files);\n input.value = '';\n }\n }\n\n onDragOver(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n if (!this.fileUpload.disabled()) {\n this.isDragging.set(true);\n }\n }\n\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isDragging.set(false);\n }\n\n onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isDragging.set(false);\n\n if (this.fileUpload.disabled()) return;\n\n const files = event.dataTransfer?.files;\n if (files && files.length > 0) {\n this.fileUpload.addFiles(files);\n }\n }\n}\n"]}
|
|
@@ -8,7 +8,7 @@ export class ScFileUploadItemProgress {
|
|
|
8
8
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScFileUploadItemProgress, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
9
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: ScFileUploadItemProgress, isStandalone: true, selector: "[scFileUploadItemProgress]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "data-slot": "file-upload-item-progress" }, properties: { "class": "class()" } }, ngImport: i0, template: `
|
|
10
10
|
<div
|
|
11
|
-
class="h-full rounded-full
|
|
11
|
+
class="bg-primary h-full rounded-full transition-all"
|
|
12
12
|
[style.width.%]="file().progress || 0"
|
|
13
13
|
></div>
|
|
14
14
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
@@ -19,7 +19,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
19
19
|
selector: '[scFileUploadItemProgress]',
|
|
20
20
|
template: `
|
|
21
21
|
<div
|
|
22
|
-
class="h-full rounded-full
|
|
22
|
+
class="bg-primary h-full rounded-full transition-all"
|
|
23
23
|
[style.width.%]="file().progress || 0"
|
|
24
24
|
></div>
|
|
25
25
|
`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload-item-progress.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/file-upload/file-upload-item-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAkBjC,MAAM,OAAO,wBAAwB;IAC1B,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IACnD,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAoB,CAAC;IAEhC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,kDAAkD,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDAC1E,CAAC;uGANS,wBAAwB;2FAAxB,wBAAwB,gcAbzB;;;;;GAKT;;2FAQU,wBAAwB;kBAfpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,QAAQ,EAAE;;;;;GAKT;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,2BAA2B;wBACxC,SAAS,EAAE,SAAS;qBACrB;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\nimport { ScFileUploadFile } from './file-upload';\n\n@Component({\n selector: '[scFileUploadItemProgress]',\n template: `\n <div\n class=\"h-full rounded-full
|
|
1
|
+
{"version":3,"file":"file-upload-item-progress.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/file-upload/file-upload-item-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAkBjC,MAAM,OAAO,wBAAwB;IAC1B,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IACnD,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAoB,CAAC;IAEhC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,kDAAkD,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDAC1E,CAAC;uGANS,wBAAwB;2FAAxB,wBAAwB,gcAbzB;;;;;GAKT;;2FAQU,wBAAwB;kBAfpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,QAAQ,EAAE;;;;;GAKT;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,2BAA2B;wBACxC,SAAS,EAAE,SAAS;qBACrB;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\nimport { ScFileUploadFile } from './file-upload';\n\n@Component({\n selector: '[scFileUploadItemProgress]',\n template: `\n <div\n class=\"bg-primary h-full rounded-full transition-all\"\n [style.width.%]=\"file().progress || 0\"\n ></div>\n `,\n host: {\n 'data-slot': 'file-upload-item-progress',\n '[class]': 'class()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScFileUploadItemProgress {\n readonly classInput = input<string>('', { alias: 'class' });\n readonly file = input.required<ScFileUploadFile>();\n\n protected readonly class = computed(() =>\n cn('h-1 w-full overflow-hidden rounded-full bg-muted', this.classInput()),\n );\n}\n"]}
|
|
@@ -34,10 +34,12 @@ export * from './popover';
|
|
|
34
34
|
export * from './progress';
|
|
35
35
|
export * from './radio-group';
|
|
36
36
|
export * from './range-slider';
|
|
37
|
+
export * from './resizable';
|
|
37
38
|
export * from './scroll-area';
|
|
38
39
|
export * from './select';
|
|
39
40
|
export * from './separator';
|
|
40
41
|
export * from './sheet';
|
|
42
|
+
export * from './sidebar';
|
|
41
43
|
export * from './skeleton';
|
|
42
44
|
export * from './slider';
|
|
43
45
|
export * from './spinner';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/ui/src/lib/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC","sourcesContent":["export * from './accordion';\nexport * from './alert';\nexport * from './alert-dialog';\nexport * from './aspect-ratio';\nexport * from './avatar';\nexport * from './backdrop';\nexport * from './badge';\nexport * from './breadcrumb';\nexport * from './button';\nexport * from './button-group';\nexport * from './calendar';\nexport * from './card';\nexport * from './checkbox';\nexport * from './collapsible';\nexport * from './date-picker';\nexport * from './dialog';\nexport * from './drawer';\nexport * from './empty';\nexport * from './field';\nexport * from './file-upload';\nexport * from './hover-card';\nexport * from './input';\nexport * from './input-group';\nexport * from './item';\nexport * from './kbd';\nexport * from './label';\nexport * from './link';\nexport * from './menu';\nexport * from './menu-bar';\nexport * from './native-select';\nexport * from './navigation-menu';\nexport * from './pagination';\nexport * from './popover';\nexport * from './progress';\nexport * from './radio-group';\nexport * from './range-slider';\nexport * from './scroll-area';\nexport * from './select';\nexport * from './separator';\nexport * from './sheet';\nexport * from './skeleton';\nexport * from './slider';\nexport * from './spinner';\nexport * from './switch';\nexport * from './table';\nexport * from './tabs';\nexport * from './textarea';\nexport * from './time-picker';\nexport * from './toast';\nexport * from './toggle';\nexport * from './toggle-group';\nexport * from './toolbar';\nexport * from './tooltip';\nexport * from './typography';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/ui/src/lib/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC","sourcesContent":["export * from './accordion';\nexport * from './alert';\nexport * from './alert-dialog';\nexport * from './aspect-ratio';\nexport * from './avatar';\nexport * from './backdrop';\nexport * from './badge';\nexport * from './breadcrumb';\nexport * from './button';\nexport * from './button-group';\nexport * from './calendar';\nexport * from './card';\nexport * from './checkbox';\nexport * from './collapsible';\nexport * from './date-picker';\nexport * from './dialog';\nexport * from './drawer';\nexport * from './empty';\nexport * from './field';\nexport * from './file-upload';\nexport * from './hover-card';\nexport * from './input';\nexport * from './input-group';\nexport * from './item';\nexport * from './kbd';\nexport * from './label';\nexport * from './link';\nexport * from './menu';\nexport * from './menu-bar';\nexport * from './native-select';\nexport * from './navigation-menu';\nexport * from './pagination';\nexport * from './popover';\nexport * from './progress';\nexport * from './radio-group';\nexport * from './range-slider';\nexport * from './resizable';\nexport * from './scroll-area';\nexport * from './select';\nexport * from './separator';\nexport * from './sheet';\nexport * from './sidebar';\nexport * from './skeleton';\nexport * from './slider';\nexport * from './spinner';\nexport * from './switch';\nexport * from './table';\nexport * from './tabs';\nexport * from './textarea';\nexport * from './time-picker';\nexport * from './toast';\nexport * from './toggle';\nexport * from './toggle-group';\nexport * from './toolbar';\nexport * from './tooltip';\nexport * from './typography';\n"]}
|
|
@@ -11,7 +11,7 @@ export class ScLabel {
|
|
|
11
11
|
const forValue = this.forInput() || this.field?.id();
|
|
12
12
|
return forValue || null;
|
|
13
13
|
}, ...(ngDevMode ? [{ debugName: "for" }] : []));
|
|
14
|
-
class = computed(() => cn('has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border
|
|
14
|
+
class = computed(() => cn('has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 group/label peer/label flex w-fit leading-snug', 'has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
15
15
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
16
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScLabel, isStandalone: true, selector: "label[scLabel]", inputs: { forInput: { classPropertyName: "forInput", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "label" }, properties: { "attr.for": "for()", "class": "class()" } }, ngImport: i0 });
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/label/label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;;AAUpC,MAAM,OAAO,OAAO;IACD,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,QAAQ,GAAG,KAAK,CAAS,EAAE,qDAAI,KAAK,EAAE,KAAK,GAAG,CAAC;IAC/C,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE;QACrC,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;QACrD,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC,+CAAC,CAAC;IAEgB,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/label/label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;;AAUpC,MAAM,OAAO,OAAO;IACD,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,QAAQ,GAAG,KAAK,CAAS,EAAE,qDAAI,KAAK,EAAE,KAAK,GAAG,CAAC;IAC/C,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE;QACrC,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;QACrD,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC,+CAAC,CAAC;IAEgB,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,kSAAkS,EAClS,mEAAmE,EACnE,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGAlBS,OAAO;2FAAP,OAAO;;2FAAP,OAAO;kBARnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,IAAI,EAAE;wBACJ,WAAW,EAAE,OAAO;wBACpB,YAAY,EAAE,OAAO;wBACrB,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, inject, input } from '@angular/core';\nimport { cn } from '../../utils';\nimport { SC_FIELD } from '../field';\n\n@Directive({\n selector: 'label[scLabel]',\n host: {\n 'data-slot': 'label',\n '[attr.for]': 'for()',\n '[class]': 'class()',\n },\n})\nexport class ScLabel {\n private readonly field = inject(SC_FIELD, { optional: true });\n\n readonly forInput = input<string>('', { alias: 'for' });\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly for = computed(() => {\n // Priority: explicit for input > field context\n const forValue = this.forInput() || this.field?.id();\n return forValue || null;\n });\n\n protected readonly class = computed(() =>\n cn(\n 'has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 group/label peer/label flex w-fit leading-snug',\n 'has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col',\n this.classInput(),\n ),\n );\n}\n"]}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
2
|
import { CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
3
3
|
import { MenuTrigger } from '@angular/aria/menu';
|
|
4
|
-
import { cn } from '../../utils';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "@angular/aria/menu";
|
|
7
6
|
import * as i2 from "@angular/cdk/overlay";
|
|
8
7
|
export class ScMenuTrigger {
|
|
9
|
-
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
10
8
|
trigger = inject(MenuTrigger);
|
|
11
9
|
overlayOrigin = inject(CdkOverlayOrigin);
|
|
12
10
|
expanded = this.trigger.expanded;
|
|
13
|
-
class = computed(() => cn('inline-flex cursor-pointer items-center rounded-md border border-input bg-background px-4 py-2 text-sm font-medium shadow-sm hover:bg-accent hover:text-accent-foreground focus-visible:outline-2 focus-visible:outline-ring', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
14
11
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
12
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: ScMenuTrigger, isStandalone: true, selector: "[scMenuTrigger]", host: { attributes: { "data-slot": "menu-trigger" } }, exportAs: ["scMenuTrigger"], hostDirectives: [{ directive: i1.MenuTrigger }, { directive: i2.CdkOverlayOrigin }], ngImport: i0 });
|
|
16
13
|
}
|
|
17
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScMenuTrigger, decorators: [{
|
|
18
15
|
type: Directive,
|
|
@@ -27,8 +24,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
27
24
|
],
|
|
28
25
|
host: {
|
|
29
26
|
'data-slot': 'menu-trigger',
|
|
30
|
-
'[class]': 'class()',
|
|
31
27
|
},
|
|
32
28
|
}]
|
|
33
|
-
}]
|
|
29
|
+
}] });
|
|
34
30
|
//# sourceMappingURL=menu-trigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-trigger.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/menu/menu-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"menu-trigger.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/menu/menu-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;;;;AAejD,MAAM,OAAO,aAAa;IACf,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9B,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;uGAH/B,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBAbzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,eAAe;oBACzB,cAAc,EAAE;wBACd;4BACE,SAAS,EAAE,WAAW;yBACvB;wBACD,gBAAgB;qBACjB;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,cAAc;qBAC5B;iBACF","sourcesContent":["import { Directive, inject } from '@angular/core';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { MenuTrigger } from '@angular/aria/menu';\n\n@Directive({\n selector: '[scMenuTrigger]',\n exportAs: 'scMenuTrigger',\n hostDirectives: [\n {\n directive: MenuTrigger,\n },\n CdkOverlayOrigin,\n ],\n host: {\n 'data-slot': 'menu-trigger',\n },\n})\nexport class ScMenuTrigger {\n readonly trigger = inject(MenuTrigger);\n readonly overlayOrigin = inject(CdkOverlayOrigin);\n readonly expanded = this.trigger.expanded;\n}\n"]}
|
|
@@ -8,7 +8,7 @@ export class ScMenu {
|
|
|
8
8
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
9
9
|
menu = inject(Menu);
|
|
10
10
|
visible = this.menu.visible;
|
|
11
|
-
class = computed(() => cn('bg-popover text-popover-foreground min-w-32 w-
|
|
11
|
+
class = computed(() => cn('bg-popover text-popover-foreground min-w-32 w-60 rounded-lg p-1 shadow-md ring-1 ring-foreground/10 z-50 overflow-x-hidden overflow-y-auto data-[visible=false]:hidden', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
12
12
|
constructor() {
|
|
13
13
|
const portal = inject(ScMenuPortal, { optional: true });
|
|
14
14
|
portal?.menu.set(this.menu);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/menu/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AAiB7C,MAAM,OAAO,MAAM;IACR,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IACnD,IAAI,GAAG,MAAM,CAAU,IAAI,CAAC,CAAC;IAC7B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAElB,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/menu/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AAiB7C,MAAM,OAAO,MAAM;IACR,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IACnD,IAAI,GAAG,MAAM,CAAU,IAAI,CAAC,CAAC;IAC7B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAElB,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,wKAAwK,EACxK,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;IAEF;QACE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAqB,CAAC,CAAC;IAC/C,CAAC;uGAfU,MAAM;2FAAN,MAAM;;2FAAN,MAAM;kBAflB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,QAAQ;oBAClB,cAAc,EAAE;wBACd;4BACE,SAAS,EAAE,IAAI;4BACf,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;4BACtE,OAAO,EAAE,CAAC,cAAc,CAAC;yBAC1B;qBACF;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,MAAM;wBACnB,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, inject, input } from '@angular/core';\nimport { Menu } from '@angular/aria/menu';\nimport { cn } from '../../utils';\nimport { ScMenuPortal } from './menu-portal';\n\n@Directive({\n selector: '[scMenu]',\n exportAs: 'scMenu',\n hostDirectives: [\n {\n directive: Menu,\n inputs: ['id', 'wrap', 'disabled', 'typeaheadDelay', 'expansionDelay'],\n outputs: ['itemSelected'],\n },\n ],\n host: {\n 'data-slot': 'menu',\n '[class]': 'class()',\n },\n})\nexport class ScMenu<V = string> {\n readonly classInput = input<string>('', { alias: 'class' });\n readonly menu = inject<Menu<V>>(Menu);\n readonly visible = this.menu.visible;\n\n protected readonly class = computed(() =>\n cn(\n 'bg-popover text-popover-foreground min-w-32 w-60 rounded-lg p-1 shadow-md ring-1 ring-foreground/10 z-50 overflow-x-hidden overflow-y-auto data-[visible=false]:hidden',\n this.classInput(),\n ),\n );\n\n constructor() {\n const portal = inject(ScMenuPortal, { optional: true });\n portal?.menu.set(this.menu as Menu<unknown>);\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
export class ScNavigationMenuTriggerIcon {
|
|
6
6
|
classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
|
|
7
7
|
menuItem = inject(ScNavigationMenuItem);
|
|
8
|
-
class = computed(() => cn('relative top-
|
|
8
|
+
class = computed(() => cn('relative top-px ml-1 size-3 transition duration-300', this.menuItem.open() && 'rotate-180', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
9
9
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScNavigationMenuTriggerIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
10
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScNavigationMenuTriggerIcon, isStandalone: true, selector: "svg[scNavigationMenuTriggerIcon]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navigation-menu-trigger-icon" }, properties: { "class": "class()" } }, ngImport: i0 });
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-menu-trigger-icon.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu-trigger-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;;AAS9D,MAAM,OAAO,2BAA2B;IAC7B,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAE3C,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEtC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,
|
|
1
|
+
{"version":3,"file":"navigation-menu-trigger-icon.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu-trigger-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;;AAS9D,MAAM,OAAO,2BAA2B;IAC7B,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAE3C,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEtC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,qDAAqD,EACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,YAAY,EACpC,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGAXS,2BAA2B;2FAA3B,2BAA2B;;2FAA3B,2BAA2B;kBAPvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kCAAkC;oBAC5C,IAAI,EAAE;wBACJ,WAAW,EAAE,8BAA8B;wBAC3C,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, inject, input } from '@angular/core';\nimport { cn } from '../../utils';\nimport { ScNavigationMenuItem } from './navigation-menu-item';\n\n@Directive({\n selector: 'svg[scNavigationMenuTriggerIcon]',\n host: {\n 'data-slot': 'navigation-menu-trigger-icon',\n '[class]': 'class()',\n },\n})\nexport class ScNavigationMenuTriggerIcon {\n readonly classInput = input<string>('', { alias: 'class' });\n\n private readonly menuItem = inject(ScNavigationMenuItem);\n\n protected readonly class = computed(() =>\n cn(\n 'relative top-px ml-1 size-3 transition duration-300',\n this.menuItem.open() && 'rotate-180',\n this.classInput(),\n ),\n );\n}\n"]}
|
|
@@ -117,12 +117,12 @@ export class ScPagination {
|
|
|
117
117
|
return pages;
|
|
118
118
|
}
|
|
119
119
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScPagination, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
120
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScPagination, isStandalone: true, selector: "nav[scPagination]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, currentPageInput: { classPropertyName: "currentPageInput", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, pageSizeInput: { classPropertyName: "pageSizeInput", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { attributes: { "data-slot": "pagination", "role": "navigation", "aria-label": "pagination" }, properties: { "class": "class()" } }, exportAs: ["scPagination"], ngImport: i0 });
|
|
120
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: ScPagination, isStandalone: true, selector: "nav[scPagination], div[scPagination]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, currentPageInput: { classPropertyName: "currentPageInput", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, pageSizeInput: { classPropertyName: "pageSizeInput", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { attributes: { "data-slot": "pagination", "role": "navigation", "aria-label": "pagination" }, properties: { "class": "class()" } }, exportAs: ["scPagination"], ngImport: i0 });
|
|
121
121
|
}
|
|
122
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ScPagination, decorators: [{
|
|
123
123
|
type: Directive,
|
|
124
124
|
args: [{
|
|
125
|
-
selector: 'nav[scPagination]',
|
|
125
|
+
selector: 'nav[scPagination], div[scPagination]',
|
|
126
126
|
exportAs: 'scPagination',
|
|
127
127
|
host: {
|
|
128
128
|
'data-slot': 'pagination',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/pagination/pagination.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/pagination/pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n computed,\n Directive,\n input,\n linkedSignal,\n output,\n} from '@angular/core';\nimport { cn } from '../../utils';\n\nexport type ScPaginationPage =\n | { type: 'page'; value: number }\n | { type: 'ellipsis'; value: string };\n\nexport interface ScPaginationChange {\n page: number;\n pageSize: number;\n}\n\n@Directive({\n selector: 'nav[scPagination], div[scPagination]',\n exportAs: 'scPagination',\n host: {\n 'data-slot': 'pagination',\n role: 'navigation',\n 'aria-label': 'pagination',\n '[class]': 'class()',\n },\n})\nexport class ScPagination {\n readonly classInput = input<string>('', { alias: 'class' });\n\n // Smart pagination inputs\n readonly currentPageInput = input<number>(1, { alias: 'currentPage' });\n readonly pageSizeInput = input<number>(10, { alias: 'pageSize' });\n readonly totalItems = input<number>(0);\n readonly pageSizes = input<number[]>([10, 25, 50, 100]); // Available page size options\n\n // Internal state (synced from inputs, writable for programmatic updates)\n readonly currentPage = linkedSignal(() => this.currentPageInput());\n readonly pageSize = linkedSignal(() => this.pageSizeInput());\n\n // Output events\n readonly change = output<ScPaginationChange>();\n\n protected readonly class = computed(() =>\n cn('mx-auto flex w-full justify-center', this.classInput()),\n );\n\n // Computed total pages\n readonly totalPages = computed(() => {\n const total = this.totalItems();\n const size = this.pageSize();\n return Math.ceil(total / size);\n });\n\n // Computed pages array for rendering\n readonly pages = computed(() => {\n const current = this.currentPage();\n const total = this.totalPages();\n\n return this.generatePageNumbers(current, total);\n });\n\n /**\n * Trigger a page change. Called internally by child components.\n * @param page The target page number\n */\n goToPage(page: number): void {\n const total = this.totalPages();\n if (page >= 1 && page <= total && page !== this.currentPage()) {\n this.currentPage.set(page);\n this.change.emit({ page, pageSize: this.pageSize() });\n }\n }\n\n /**\n * Change the page size. Called internally by ScPaginationPageSizeSelect.\n * @param newPageSize The new page size\n */\n changePageSize(newPageSize: number): void {\n if (newPageSize > 0 && newPageSize !== this.pageSize()) {\n // Reset to page 1 when page size changes\n this.currentPage.set(1);\n this.pageSize.set(newPageSize);\n this.change.emit({ page: 1, pageSize: newPageSize });\n }\n }\n\n private generatePageNumbers(\n currentPage: number,\n totalPages: number,\n ): ScPaginationPage[] {\n const siblingCount = 1;\n // If total pages is less than or equal to 7, show all pages\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => ({\n type: 'page' as const,\n value: i + 1,\n }));\n }\n\n // For more than 7 pages, always return exactly 7 items\n const pages: ScPaginationPage[] = [];\n\n // First page\n pages.push({ type: 'page', value: 1 });\n\n // Calculate the range around current page\n let start = Math.max(2, currentPage - siblingCount);\n let end = Math.min(totalPages - 1, currentPage + siblingCount);\n\n // Adjust to ensure we show the right number of pages\n const totalMiddleSlots = 5; // Total slots minus first and last\n const needLeftEllipsis = start > 2;\n const needRightEllipsis = end < totalPages - 1;\n\n // Calculate how many actual page slots we have (excluding ellipsis)\n let pageSlots = totalMiddleSlots;\n if (needLeftEllipsis) pageSlots--;\n if (needRightEllipsis) pageSlots--;\n\n // Adjust range to fit in available slots\n if (!needLeftEllipsis && needRightEllipsis) {\n // Near start: [1, 2, 3, 4, 5, ..., last]\n end = Math.min(pageSlots + 1, totalPages - 1);\n } else if (needLeftEllipsis && !needRightEllipsis) {\n // Near end: [1, ..., n-4, n-3, n-2, n-1, n]\n start = Math.max(2, totalPages - pageSlots);\n } else if (needLeftEllipsis && needRightEllipsis) {\n // Middle: [1, ..., current-1, current, current+1, ..., last]\n const middlePages = pageSlots;\n const halfPages = Math.floor(middlePages / 2);\n start = currentPage - halfPages;\n end = currentPage + (middlePages - halfPages - 1);\n\n // Adjust if we're too close to edges\n if (start < 2) {\n start = 2;\n end = start + middlePages - 1;\n }\n if (end > totalPages - 1) {\n end = totalPages - 1;\n start = end - middlePages + 1;\n }\n }\n\n // Add left ellipsis if needed\n if (start > 2) {\n pages.push({ type: 'ellipsis', value: 'ellipsis-left' });\n }\n\n // Add middle pages\n for (let i = start; i <= end; i++) {\n pages.push({ type: 'page', value: i });\n }\n\n // Add right ellipsis if needed\n if (end < totalPages - 1) {\n pages.push({ type: 'ellipsis', value: 'ellipsis-right' });\n }\n\n // Last page\n pages.push({ type: 'page', value: totalPages });\n\n return pages;\n }\n}\n"]}
|
|
@@ -18,7 +18,7 @@ export const MIN_THUMB_CLASSES = [
|
|
|
18
18
|
export const MAX_THUMB_CLASSES = [
|
|
19
19
|
...SHARED_THUMB_CLASSES,
|
|
20
20
|
'[&::-webkit-slider-thumb]:-mt-1',
|
|
21
|
-
'[&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-[
|
|
22
|
-
'[&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-[
|
|
21
|
+
'[&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-[linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',
|
|
22
|
+
'[&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-[linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',
|
|
23
23
|
];
|
|
24
24
|
//# sourceMappingURL=range-slider-thumb-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-slider-thumb-base.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/range-slider-thumb-base.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG;IAC3B,gGAAgG;IAChG,kDAAkD;IAClD,qRAAqR;IACrR,sFAAsF;IACtF,yPAAyP;IACzP,kFAAkF;IAClF,yHAAyH;IACzH,0FAA0F;CAClF,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,MAAM;IACN,mCAAmC;IACnC,6IAA6I;IAC7I,gEAAgE;CACxD,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,iCAAiC;IACjC
|
|
1
|
+
{"version":3,"file":"range-slider-thumb-base.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/range-slider-thumb-base.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG;IAC3B,gGAAgG;IAChG,kDAAkD;IAClD,qRAAqR;IACrR,sFAAsF;IACtF,yPAAyP;IACzP,kFAAkF;IAClF,yHAAyH;IACzH,0FAA0F;CAClF,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,MAAM;IACN,mCAAmC;IACnC,6IAA6I;IAC7I,gEAAgE;CACxD,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,iCAAiC;IACjC,+QAA+Q;IAC/Q,wOAAwO;CAChO,CAAC","sourcesContent":["const SHARED_THUMB_CLASSES = [\n 'pointer-events-none absolute top-0 h-full w-full cursor-pointer appearance-none bg-transparent',\n 'disabled:pointer-events-none disabled:opacity-50',\n '[&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:size-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-0 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:transition-shadow',\n '[&::-webkit-slider-thumb:hover]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n '[&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-3 [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:transition-shadow',\n '[&::-moz-range-thumb:hover]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n 'focus-visible:outline-none [&:focus-visible::-webkit-slider-thumb]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n '[&:focus-visible::-moz-range-thumb]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n] as const;\n\nexport const MIN_THUMB_CLASSES = [\n ...SHARED_THUMB_CLASSES,\n 'z-10',\n '[&::-webkit-slider-thumb]:-mt-1.5',\n '[&::-webkit-slider-runnable-track]:appearance-none [&::-webkit-slider-runnable-track]:h-0 [&::-webkit-slider-runnable-track]:bg-transparent',\n '[&::-moz-range-track]:h-0 [&::-moz-range-track]:bg-transparent',\n] as const;\n\nexport const MAX_THUMB_CLASSES = [\n ...SHARED_THUMB_CLASSES,\n '[&::-webkit-slider-thumb]:-mt-1',\n '[&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-[linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',\n '[&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-[linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',\n] as const;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/resizable/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC","sourcesContent":["export * from './resizable.types';\nexport * from './resizable-panel-group';\nexport * from './resizable-panel';\nexport * from './resizable-handle';\nexport * from './resizable-handle-indicator';\n"]}
|