@pecb-ui/components 1.1.16 → 1.1.18
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/data-display/index.d.ts +1 -1
- package/fesm2022/pecb-ui-components-data-display.mjs +1 -1
- package/fesm2022/pecb-ui-components-data-display.mjs.map +1 -1
- package/fesm2022/pecb-ui-components.mjs +107 -1
- package/fesm2022/pecb-ui-components.mjs.map +1 -1
- package/index.d.ts +113 -3
- package/package.json +1 -1
package/data-display/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { CodeSnippetComponent, CodeSnippetTheme, CodeSnippetVariant, CourseContentPanelAccent, CourseContentPanelComponent, CourseContentPanelDensity, CourseContentPanelLabels, CourseContentPanelLayout, CourseContentPanelTab, CourseLesson, CourseLessonStatus, CourseLessonType, CourseModule, CourseModuleStats, CoursePlayerComponent, CoursePlayerPanelPosition, CourseProgressStats, CourseTranscriptCue, CredentialCardAction, CredentialCardComponent, CredentialCardMetaRow, CredentialCardProgress, CredentialCardTone, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, MediaComponent, MediaGroup, MediaItem, MediaSize, MediaType, MetricsCardBadgeStatus, MetricsCardComponent, MetricsCardIconBg, MetricsCardOrientation, MetricsCardType, MetricsCardVariation, NoteGroup, NoteItem, NotesPanelComponent, PaymentPlanCardComponent, PaymentScheduleCardAction, PaymentScheduleCardComponent, PaymentScheduleCardMeta, PaymentScheduleCardPeriod, PaymentScheduleCardTone, PaymentSummaryComponent, PaymentSummaryRow, ProfileBadge, ProfileComponent, ProfileGroupComponent, ProfileGroupItem, ProfileGroupSize, ProfileIndicator, ProfileSize, SlideViewerComponent, SlideViewerDay, SlideViewerDayContext, SlideViewerDayDirective, SlideViewerKeyAction, SlideViewerKeyMap, SlideViewerLabels, SlideViewerMoveEvent, SlideViewerPageEvent, SlideViewerSearchEvent, SlideViewerSidebarPosition, SlideViewerSlide, SlideViewerThumbnailContext, SlideViewerThumbnailDirective, SlideViewerTool, SlideViewerToolEvent, TestimonialComponent, TestimonialData, TestimonialVariant, ToolbarBarComponent, ToolbarButton, ToolbarTab, ToolbarVariant, VideoPlayerComponent, VideoPlayerError, VideoPlayerLabels, VideoPlayerPreload, VideoPlayerSource, VideoPlayerTimeEvent, VideoPlayerTrack, clampSlidePage, courseModuleStats, courseProgress, findCourseLesson, findCourseModule, formatCourseDuration, formatCourseTime, formatVideoTime, parseLessonPartTitle, resolveLessonStatus } from '@pecb-ui/components';
|
|
1
|
+
export { CodeSnippetComponent, CodeSnippetTheme, CodeSnippetVariant, CourseContentPanelAccent, CourseContentPanelComponent, CourseContentPanelDensity, CourseContentPanelLabels, CourseContentPanelLayout, CourseContentPanelTab, CourseLesson, CourseLessonStatus, CourseLessonType, CourseModule, CourseModuleStats, CoursePlayerComponent, CoursePlayerPanelPosition, CourseProgressStats, CourseTranscriptCue, CredentialCardAction, CredentialCardComponent, CredentialCardMetaRow, CredentialCardProgress, CredentialCardTone, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, MediaComponent, MediaGroup, MediaItem, MediaSize, MediaType, MetricsCardBadgeStatus, MetricsCardComponent, MetricsCardIconBg, MetricsCardOrientation, MetricsCardType, MetricsCardVariation, NoteGroup, NoteItem, NotesPanelComponent, PaymentPlanCardComponent, PaymentScheduleCardAction, PaymentScheduleCardComponent, PaymentScheduleCardMeta, PaymentScheduleCardPeriod, PaymentScheduleCardTone, PaymentSummaryComponent, PaymentSummaryRow, PreviewCardAction, PreviewCardActionVariant, PreviewCardChipStatus, PreviewCardComponent, ProfileBadge, ProfileComponent, ProfileGroupComponent, ProfileGroupItem, ProfileGroupSize, ProfileIndicator, ProfileSize, SlideViewerComponent, SlideViewerDay, SlideViewerDayContext, SlideViewerDayDirective, SlideViewerKeyAction, SlideViewerKeyMap, SlideViewerLabels, SlideViewerMoveEvent, SlideViewerPageEvent, SlideViewerSearchEvent, SlideViewerSidebarPosition, SlideViewerSlide, SlideViewerThumbnailContext, SlideViewerThumbnailDirective, SlideViewerTool, SlideViewerToolEvent, TestimonialComponent, TestimonialData, TestimonialVariant, TimelineComponent, TimelineItem, TimelineTone, ToolbarBarComponent, ToolbarButton, ToolbarTab, ToolbarVariant, VideoPlayerComponent, VideoPlayerError, VideoPlayerLabels, VideoPlayerPreload, VideoPlayerSource, VideoPlayerTimeEvent, VideoPlayerTrack, clampSlidePage, courseModuleStats, courseProgress, findCourseLesson, findCourseModule, formatCourseDuration, formatCourseTime, formatVideoTime, parseLessonPartTitle, resolveLessonStatus } from '@pecb-ui/components';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CodeSnippetComponent, CourseContentPanelComponent, CoursePlayerComponent, CredentialCardComponent, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, MediaComponent, MetricsCardComponent, NotesPanelComponent, PaymentPlanCardComponent, PaymentScheduleCardComponent, PaymentSummaryComponent, ProfileComponent, ProfileGroupComponent, SlideViewerComponent, SlideViewerDayDirective, SlideViewerThumbnailDirective, TestimonialComponent, ToolbarBarComponent, VideoPlayerComponent, clampSlidePage, courseModuleStats, courseProgress, findCourseLesson, findCourseModule, formatCourseDuration, formatCourseTime, formatVideoTime, parseLessonPartTitle, resolveLessonStatus } from '@pecb-ui/components';
|
|
1
|
+
export { CodeSnippetComponent, CourseContentPanelComponent, CoursePlayerComponent, CredentialCardComponent, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, MediaComponent, MetricsCardComponent, NotesPanelComponent, PaymentPlanCardComponent, PaymentScheduleCardComponent, PaymentSummaryComponent, PreviewCardComponent, ProfileComponent, ProfileGroupComponent, SlideViewerComponent, SlideViewerDayDirective, SlideViewerThumbnailDirective, TestimonialComponent, TimelineComponent, ToolbarBarComponent, VideoPlayerComponent, clampSlidePage, courseModuleStats, courseProgress, findCourseLesson, findCourseModule, formatCourseDuration, formatCourseTime, formatVideoTime, parseLessonPartTitle, resolveLessonStatus } from '@pecb-ui/components';
|
|
2
2
|
|
|
3
3
|
/*
|
|
4
4
|
* @pecb-ui/components/data-display — secondary entry point (audit F18).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pecb-ui-components-data-display.mjs","sources":["../../../projects/ui-components/data-display/src/public-api.ts","../../../projects/ui-components/data-display/src/pecb-ui-components-data-display.ts"],"sourcesContent":["/*\n * @pecb-ui/components/data-display — secondary entry point (audit F18).\n *\n * Re-exports data-display components (profile, media, video-player, course player,\n * slide viewer, testimonial, code-snippet, notes-panel, toolbar-bar) from the primary\n * entry point:\n *\n * import { MetricsCardComponent } from '@pecb-ui/components/data-display';\n *\n * Existing imports from '@pecb-ui/components' continue to work unchanged.\n */\nexport {\n ProfileComponent,\n ProfileGroupComponent,\n MediaComponent,\n VideoPlayerComponent,\n DEFAULT_VIDEO_PLAYER_LABELS,\n DEFAULT_VIDEO_PLAYER_RATES,\n formatVideoTime,\n CourseContentPanelComponent,\n CoursePlayerComponent,\n DEFAULT_COURSE_CONTENT_PANEL_LABELS,\n formatCourseDuration,\n formatCourseTime,\n parseLessonPartTitle,\n resolveLessonStatus,\n courseModuleStats,\n courseProgress,\n findCourseModule,\n findCourseLesson,\n SlideViewerComponent,\n SlideViewerThumbnailDirective,\n SlideViewerDayDirective,\n DEFAULT_SLIDE_VIEWER_LABELS,\n DEFAULT_SLIDE_VIEWER_TOOLS,\n DEFAULT_SLIDE_VIEWER_KEY_MAP,\n DEFAULT_SLIDE_VIEWER_ZOOM_STEPS,\n clampSlidePage,\n MetricsCardComponent,\n CredentialCardComponent,\n PaymentPlanCardComponent,\n PaymentSummaryComponent,\n PaymentScheduleCardComponent,\n TestimonialComponent,\n CodeSnippetComponent,\n NotesPanelComponent,\n ToolbarBarComponent\n} from '@pecb-ui/components';\n\nexport type {\n // Profile\n ProfileBadge,\n ProfileIndicator,\n ProfileSize,\n ProfileGroupItem,\n ProfileGroupSize,\n // Media\n MediaGroup,\n MediaItem,\n MediaSize,\n MediaType,\n // Video player\n VideoPlayerSource,\n VideoPlayerTrack,\n VideoPlayerPreload,\n VideoPlayerTimeEvent,\n VideoPlayerError,\n VideoPlayerLabels,\n // Course panel / player\n CourseLesson,\n CourseLessonType,\n CourseLessonStatus,\n CourseModule,\n CourseModuleStats,\n CourseProgressStats,\n CourseTranscriptCue,\n CourseContentPanelTab,\n CourseContentPanelLayout,\n CourseContentPanelDensity,\n CourseContentPanelAccent,\n CourseContentPanelLabels,\n CoursePlayerPanelPosition,\n // Slide viewer\n SlideViewerDay,\n SlideViewerSlide,\n SlideViewerTool,\n SlideViewerToolEvent,\n SlideViewerPageEvent,\n SlideViewerSearchEvent,\n SlideViewerMoveEvent,\n SlideViewerSidebarPosition,\n SlideViewerKeyAction,\n SlideViewerKeyMap,\n SlideViewerThumbnailContext,\n SlideViewerDayContext,\n SlideViewerLabels,\n // Payment components\n PaymentSummaryRow,\n PaymentScheduleCardPeriod,\n PaymentScheduleCardTone,\n PaymentScheduleCardMeta,\n PaymentScheduleCardAction,\n // Credential card\n CredentialCardTone,\n CredentialCardMetaRow,\n CredentialCardProgress,\n CredentialCardAction,\n // Metrics card\n MetricsCardBadgeStatus,\n MetricsCardIconBg,\n MetricsCardOrientation,\n MetricsCardType,\n MetricsCardVariation,\n // Testimonial\n TestimonialData,\n TestimonialVariant,\n // Code snippet\n CodeSnippetTheme,\n CodeSnippetVariant,\n // Notes panel\n NoteGroup,\n NoteItem,\n // Toolbar\n ToolbarButton,\n ToolbarTab,\n ToolbarVariant\n} from '@pecb-ui/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;AAUG;;ACVH;;AAEG"}
|
|
1
|
+
{"version":3,"file":"pecb-ui-components-data-display.mjs","sources":["../../../projects/ui-components/data-display/src/public-api.ts","../../../projects/ui-components/data-display/src/pecb-ui-components-data-display.ts"],"sourcesContent":["/*\n * @pecb-ui/components/data-display — secondary entry point (audit F18).\n *\n * Re-exports data-display components (profile, media, video-player, course player,\n * slide viewer, testimonial, code-snippet, notes-panel, toolbar-bar) from the primary\n * entry point:\n *\n * import { MetricsCardComponent } from '@pecb-ui/components/data-display';\n *\n * Existing imports from '@pecb-ui/components' continue to work unchanged.\n */\nexport {\n ProfileComponent,\n ProfileGroupComponent,\n MediaComponent,\n VideoPlayerComponent,\n DEFAULT_VIDEO_PLAYER_LABELS,\n DEFAULT_VIDEO_PLAYER_RATES,\n formatVideoTime,\n CourseContentPanelComponent,\n CoursePlayerComponent,\n DEFAULT_COURSE_CONTENT_PANEL_LABELS,\n formatCourseDuration,\n formatCourseTime,\n parseLessonPartTitle,\n resolveLessonStatus,\n courseModuleStats,\n courseProgress,\n findCourseModule,\n findCourseLesson,\n SlideViewerComponent,\n SlideViewerThumbnailDirective,\n SlideViewerDayDirective,\n DEFAULT_SLIDE_VIEWER_LABELS,\n DEFAULT_SLIDE_VIEWER_TOOLS,\n DEFAULT_SLIDE_VIEWER_KEY_MAP,\n DEFAULT_SLIDE_VIEWER_ZOOM_STEPS,\n clampSlidePage,\n MetricsCardComponent,\n CredentialCardComponent,\n PaymentPlanCardComponent,\n PaymentSummaryComponent,\n PaymentScheduleCardComponent,\n TestimonialComponent,\n CodeSnippetComponent,\n NotesPanelComponent,\n ToolbarBarComponent,\n TimelineComponent,\n PreviewCardComponent\n} from '@pecb-ui/components';\n\nexport type {\n // Profile\n ProfileBadge,\n ProfileIndicator,\n ProfileSize,\n ProfileGroupItem,\n ProfileGroupSize,\n // Media\n MediaGroup,\n MediaItem,\n MediaSize,\n MediaType,\n // Video player\n VideoPlayerSource,\n VideoPlayerTrack,\n VideoPlayerPreload,\n VideoPlayerTimeEvent,\n VideoPlayerError,\n VideoPlayerLabels,\n // Course panel / player\n CourseLesson,\n CourseLessonType,\n CourseLessonStatus,\n CourseModule,\n CourseModuleStats,\n CourseProgressStats,\n CourseTranscriptCue,\n CourseContentPanelTab,\n CourseContentPanelLayout,\n CourseContentPanelDensity,\n CourseContentPanelAccent,\n CourseContentPanelLabels,\n CoursePlayerPanelPosition,\n // Slide viewer\n SlideViewerDay,\n SlideViewerSlide,\n SlideViewerTool,\n SlideViewerToolEvent,\n SlideViewerPageEvent,\n SlideViewerSearchEvent,\n SlideViewerMoveEvent,\n SlideViewerSidebarPosition,\n SlideViewerKeyAction,\n SlideViewerKeyMap,\n SlideViewerThumbnailContext,\n SlideViewerDayContext,\n SlideViewerLabels,\n // Payment components\n PaymentSummaryRow,\n PaymentScheduleCardPeriod,\n PaymentScheduleCardTone,\n PaymentScheduleCardMeta,\n PaymentScheduleCardAction,\n // Credential card\n CredentialCardTone,\n CredentialCardMetaRow,\n CredentialCardProgress,\n CredentialCardAction,\n // Metrics card\n MetricsCardBadgeStatus,\n MetricsCardIconBg,\n MetricsCardOrientation,\n MetricsCardType,\n MetricsCardVariation,\n // Testimonial\n TestimonialData,\n TestimonialVariant,\n // Code snippet\n CodeSnippetTheme,\n CodeSnippetVariant,\n // Notes panel\n NoteGroup,\n NoteItem,\n // Toolbar\n ToolbarButton,\n ToolbarTab,\n ToolbarVariant,\n // Timeline\n TimelineItem,\n TimelineTone,\n // Preview card\n PreviewCardAction,\n PreviewCardActionVariant,\n PreviewCardChipStatus\n} from '@pecb-ui/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;AAUG;;ACVH;;AAEG"}
|
|
@@ -23031,6 +23031,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
23031
23031
|
args: [{ selector: 'pecb-course-tile', standalone: true, imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isLink()) {\n <a\n class=\"pecb-course-tile\"\n [href]=\"href()\"\n [attr.target]=\"target() || null\"\n [attr.rel]=\"rel()\"\n >\n <ng-container [ngTemplateOutlet]=\"tileContent\"></ng-container>\n </a>\n} @else {\n <div\n class=\"pecb-course-tile\"\n role=\"button\"\n tabindex=\"0\"\n (click)=\"onActivate($event)\"\n (keydown.enter)=\"onActivate($event)\"\n (keydown.space)=\"onActivate($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"tileContent\"></ng-container>\n </div>\n}\n\n<ng-template #tileContent>\n @if (hasThumb()) {\n <span class=\"pecb-course-tile__thumb\" aria-hidden=\"true\">\n @if (icon() && safeThumbSvg()) {\n <span class=\"pecb-course-tile__thumb-svg\" [innerHTML]=\"safeThumbSvg()\"></span>\n } @else if (iconSrc()) {\n <img [src]=\"iconSrc()\" alt=\"\" />\n } @else if (safeThumbSvg()) {\n <span class=\"pecb-course-tile__thumb-svg\" [innerHTML]=\"safeThumbSvg()\"></span>\n }\n </span>\n }\n\n @if (category()) {\n <span class=\"pecb-course-tile__category\">{{ category() }}</span>\n }\n\n <b class=\"pecb-course-tile__title\">{{ title() }}</b>\n\n @if (meta()) {\n <small class=\"pecb-course-tile__meta\">{{ meta() }}</small>\n }\n\n <span class=\"pecb-course-tile__foot\">\n <span class=\"pecb-course-tile__cta\">\n {{ ctaLabel() }}\n <svg\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M5 12h14M13 6l6 6-6 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n </span>\n</ng-template>\n", styles: [":host{display:block;height:100%}.pecb-course-tile{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px;background-color:#fff;border:1px solid #ececec;border-radius:12px;color:#212427;text-decoration:none;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.pecb-course-tile:hover{border-color:#c2c2c2;box-shadow:0 8px 22px -12px #10192833}.pecb-course-tile:focus-visible{outline:2px solid #a11e29;outline-offset:2px}.pecb-course-tile__thumb{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:11px;background-color:#212427;color:#fff;flex:none}.pecb-course-tile__thumb img{display:block;width:22px;height:22px}.pecb-course-tile__thumb-svg{display:flex;align-items:center;justify-content:center}.pecb-course-tile__thumb ::ng-deep svg{display:block;width:22px;height:22px}.pecb-course-tile__thumb ::ng-deep svg [stroke]:not([stroke=none]){stroke:currentColor}.pecb-course-tile__category{font-size:11px;font-weight:600;color:#a11e29;text-transform:uppercase;letter-spacing:.4px}.pecb-course-tile__title{font-size:14.5px;font-weight:600;color:#212427}.pecb-course-tile__meta{font-size:12.5px;line-height:1.45;color:#919191;flex:1}.pecb-course-tile__foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.pecb-course-tile__cta{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#a11e29}.pecb-course-tile__cta svg{display:block;flex:none}\n"] }]
|
|
23032
23032
|
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconSrc", required: false }] }], iconSvg: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconSvg", required: false }] }], category: [{ type: i0.Input, args: [{ isSignal: true, alias: "category", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], ctaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ctaLabel", required: false }] }], href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], cardClick: [{ type: i0.Output, args: ["cardClick"] }] } });
|
|
23033
23033
|
|
|
23034
|
+
// =============================================================================
|
|
23035
|
+
// TIMELINE COMPONENT
|
|
23036
|
+
// =============================================================================
|
|
23037
|
+
/**
|
|
23038
|
+
* Vertical event timeline — a colored dot per event on a connector rail,
|
|
23039
|
+
* with a title, status chip, date, description and an optional action link.
|
|
23040
|
+
* Used for the certificate history page.
|
|
23041
|
+
*
|
|
23042
|
+
* @example
|
|
23043
|
+
* <pecb-timeline [items]="items" (actionClick)="onItemAction($event)" />
|
|
23044
|
+
*/
|
|
23045
|
+
class TimelineComponent {
|
|
23046
|
+
constructor() {
|
|
23047
|
+
/** Events to render, in display order (typically newest first) */
|
|
23048
|
+
this.items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
23049
|
+
/** Emitted with the item's id when its action link is clicked */
|
|
23050
|
+
this.actionClick = output();
|
|
23051
|
+
}
|
|
23052
|
+
tone(item) {
|
|
23053
|
+
return item.tone ?? 'neutral';
|
|
23054
|
+
}
|
|
23055
|
+
onAction(item) {
|
|
23056
|
+
this.actionClick.emit(item.id);
|
|
23057
|
+
}
|
|
23058
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23059
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TimelineComponent, isStandalone: true, selector: "pecb-timeline", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<ol class=\"pecb-timeline\">\n @for (item of items(); track item.id) {\n <li class=\"pecb-timeline__item\">\n <span\n class=\"pecb-timeline__dot pecb-timeline__dot--{{ tone(item) }}\"\n aria-hidden=\"true\"\n ></span>\n <div class=\"pecb-timeline__body\">\n <div class=\"pecb-timeline__head\">\n <b class=\"pecb-timeline__title\">{{ item.title }}</b>\n @if (item.chipLabel) {\n <span class=\"pecb-timeline__chip pecb-timeline__chip--{{ tone(item) }}\">\n {{ item.chipLabel }}\n </span>\n }\n </div>\n @if (item.date) {\n <small class=\"pecb-timeline__date\">{{ item.date }}</small>\n }\n @if (item.description) {\n <p class=\"pecb-timeline__description\">{{ item.description }}</p>\n }\n @if (item.actionLabel) {\n <button\n class=\"pecb-timeline__action\"\n type=\"button\"\n (click)=\"onAction(item)\"\n >\n {{ item.actionLabel }}\n </button>\n }\n </div>\n </li>\n }\n</ol>\n", styles: [":host{display:block}.pecb-timeline{position:relative;list-style:none;margin:0;padding:8px 0 0 12px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pecb-timeline__item{position:relative;padding-left:40px;padding-bottom:28px}.pecb-timeline__item:last-child{padding-bottom:0}.pecb-timeline__item:before{content:\"\";position:absolute;left:9px;top:22px;bottom:-6px;width:2px;background:#ececec}.pecb-timeline__item:last-child:before{display:none}.pecb-timeline__dot{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;display:block;box-shadow:0 0 0 4px #fff;background-image:radial-gradient(circle,#ffffff 4px,transparent 4.5px)}.pecb-timeline__dot--success{background-color:#57bc57}.pecb-timeline__dot--info{background-color:#5eacff}.pecb-timeline__dot--warning{background-color:#ff9c4a}.pecb-timeline__dot--error{background-color:#ff606f}.pecb-timeline__dot--neutral{background-color:#c2c2c2}.pecb-timeline__body{min-width:0}.pecb-timeline__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pecb-timeline__title{font-size:17px;font-weight:700;color:#212427}.pecb-timeline__chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:9999px;white-space:nowrap}.pecb-timeline__chip--success{background:#e6f4ea;color:#57bc57}.pecb-timeline__chip--info{background:#e8f1ff;color:#5eacff}.pecb-timeline__chip--warning{background:#fff4e5;color:#ff9c4a}.pecb-timeline__chip--error{background:#fdecea;color:#ff606f}.pecb-timeline__chip--neutral{background:#ececec;color:#919191}.pecb-timeline__date{display:block;color:#919191;font-size:13px;margin:4px 0 8px}.pecb-timeline__description{font-size:14px;color:#616161;line-height:1.55;margin:0;max-width:640px}.pecb-timeline__action{display:inline-block;margin-top:8px;border:0;background:none;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:600;color:#a11e29;cursor:pointer}.pecb-timeline__action:hover{text-decoration:underline}.pecb-timeline__action:focus-visible{outline:2px solid #a11e29;outline-offset:2px;border-radius:6px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23060
|
+
}
|
|
23061
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TimelineComponent, decorators: [{
|
|
23062
|
+
type: Component,
|
|
23063
|
+
args: [{ selector: 'pecb-timeline', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ol class=\"pecb-timeline\">\n @for (item of items(); track item.id) {\n <li class=\"pecb-timeline__item\">\n <span\n class=\"pecb-timeline__dot pecb-timeline__dot--{{ tone(item) }}\"\n aria-hidden=\"true\"\n ></span>\n <div class=\"pecb-timeline__body\">\n <div class=\"pecb-timeline__head\">\n <b class=\"pecb-timeline__title\">{{ item.title }}</b>\n @if (item.chipLabel) {\n <span class=\"pecb-timeline__chip pecb-timeline__chip--{{ tone(item) }}\">\n {{ item.chipLabel }}\n </span>\n }\n </div>\n @if (item.date) {\n <small class=\"pecb-timeline__date\">{{ item.date }}</small>\n }\n @if (item.description) {\n <p class=\"pecb-timeline__description\">{{ item.description }}</p>\n }\n @if (item.actionLabel) {\n <button\n class=\"pecb-timeline__action\"\n type=\"button\"\n (click)=\"onAction(item)\"\n >\n {{ item.actionLabel }}\n </button>\n }\n </div>\n </li>\n }\n</ol>\n", styles: [":host{display:block}.pecb-timeline{position:relative;list-style:none;margin:0;padding:8px 0 0 12px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pecb-timeline__item{position:relative;padding-left:40px;padding-bottom:28px}.pecb-timeline__item:last-child{padding-bottom:0}.pecb-timeline__item:before{content:\"\";position:absolute;left:9px;top:22px;bottom:-6px;width:2px;background:#ececec}.pecb-timeline__item:last-child:before{display:none}.pecb-timeline__dot{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;display:block;box-shadow:0 0 0 4px #fff;background-image:radial-gradient(circle,#ffffff 4px,transparent 4.5px)}.pecb-timeline__dot--success{background-color:#57bc57}.pecb-timeline__dot--info{background-color:#5eacff}.pecb-timeline__dot--warning{background-color:#ff9c4a}.pecb-timeline__dot--error{background-color:#ff606f}.pecb-timeline__dot--neutral{background-color:#c2c2c2}.pecb-timeline__body{min-width:0}.pecb-timeline__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pecb-timeline__title{font-size:17px;font-weight:700;color:#212427}.pecb-timeline__chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:9999px;white-space:nowrap}.pecb-timeline__chip--success{background:#e6f4ea;color:#57bc57}.pecb-timeline__chip--info{background:#e8f1ff;color:#5eacff}.pecb-timeline__chip--warning{background:#fff4e5;color:#ff9c4a}.pecb-timeline__chip--error{background:#fdecea;color:#ff606f}.pecb-timeline__chip--neutral{background:#ececec;color:#919191}.pecb-timeline__date{display:block;color:#919191;font-size:13px;margin:4px 0 8px}.pecb-timeline__description{font-size:14px;color:#616161;line-height:1.55;margin:0;max-width:640px}.pecb-timeline__action{display:inline-block;margin-top:8px;border:0;background:none;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:600;color:#a11e29;cursor:pointer}.pecb-timeline__action:hover{text-decoration:underline}.pecb-timeline__action:focus-visible{outline:2px solid #a11e29;outline-offset:2px;border-radius:6px}\n"] }]
|
|
23064
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }] } });
|
|
23065
|
+
|
|
23066
|
+
// =============================================================================
|
|
23067
|
+
// PREVIEW CARD COMPONENT
|
|
23068
|
+
// =============================================================================
|
|
23069
|
+
/**
|
|
23070
|
+
* Media preview card — a fixed-size media panel (live iframe embed or image)
|
|
23071
|
+
* beside a title, optional status chip, description and a row of action
|
|
23072
|
+
* buttons. Used for the certificate and digital-badge cards on the
|
|
23073
|
+
* certification details page.
|
|
23074
|
+
*
|
|
23075
|
+
* The media panel shows [embedSrc] in a non-interactive iframe when set
|
|
23076
|
+
* (e.g. a PDF preview URL), otherwise the [imageSrc] image.
|
|
23077
|
+
*
|
|
23078
|
+
* @example
|
|
23079
|
+
* <pecb-preview-card
|
|
23080
|
+
* [embedSrc]="certificatePreviewUrl"
|
|
23081
|
+
* imageSrc="assets/images/certificate.png"
|
|
23082
|
+
* title="Certificate"
|
|
23083
|
+
* description="Your official PECB certificate."
|
|
23084
|
+
* [actions]="actions"
|
|
23085
|
+
* (actionClick)="onAction($event)"
|
|
23086
|
+
* />
|
|
23087
|
+
*/
|
|
23088
|
+
class PreviewCardComponent {
|
|
23089
|
+
constructor() {
|
|
23090
|
+
this.sanitizer = inject(DomSanitizer);
|
|
23091
|
+
/** URL rendered in a non-interactive iframe (e.g. a PDF preview); falls back to [imageSrc] when empty */
|
|
23092
|
+
this.embedSrc = input('', ...(ngDevMode ? [{ debugName: "embedSrc" }] : []));
|
|
23093
|
+
/** Image shown in the media panel when [embedSrc] is empty */
|
|
23094
|
+
this.imageSrc = input('', ...(ngDevMode ? [{ debugName: "imageSrc" }] : []));
|
|
23095
|
+
/** Alt text for the media panel */
|
|
23096
|
+
this.imageAlt = input('', ...(ngDevMode ? [{ debugName: "imageAlt" }] : []));
|
|
23097
|
+
/** Dims the image (grayscale) — e.g. an unclaimed badge */
|
|
23098
|
+
this.imageDimmed = input(false, ...(ngDevMode ? [{ debugName: "imageDimmed" }] : []));
|
|
23099
|
+
/** Card title (required) */
|
|
23100
|
+
this.title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
23101
|
+
/** Small status chip next to the title; hidden when empty */
|
|
23102
|
+
this.chipLabel = input('', ...(ngDevMode ? [{ debugName: "chipLabel" }] : []));
|
|
23103
|
+
/** Chip color theme */
|
|
23104
|
+
this.chipStatus = input('default', ...(ngDevMode ? [{ debugName: "chipStatus" }] : []));
|
|
23105
|
+
/** Description paragraph under the title; hidden when empty */
|
|
23106
|
+
this.description = input('', ...(ngDevMode ? [{ debugName: "description" }] : []));
|
|
23107
|
+
/** Action buttons rendered under the description */
|
|
23108
|
+
this.actions = input([], ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
23109
|
+
/** Emitted with the action's id when one of the buttons is clicked */
|
|
23110
|
+
this.actionClick = output();
|
|
23111
|
+
this.safeEmbedSrc = computed(() => {
|
|
23112
|
+
const src = this.embedSrc();
|
|
23113
|
+
return src ? this.sanitizer.bypassSecurityTrustResourceUrl(src) : null;
|
|
23114
|
+
}, ...(ngDevMode ? [{ debugName: "safeEmbedSrc" }] : []));
|
|
23115
|
+
/** Actions paired with their sanitized icon SVG for the template */
|
|
23116
|
+
this.resolvedActions = computed(() => this.actions().map((action) => ({
|
|
23117
|
+
action,
|
|
23118
|
+
safeIcon: action.icon ? this.sanitizer.bypassSecurityTrustHtml(action.icon) : null
|
|
23119
|
+
})), ...(ngDevMode ? [{ debugName: "resolvedActions" }] : []));
|
|
23120
|
+
}
|
|
23121
|
+
actionClasses(action) {
|
|
23122
|
+
return [
|
|
23123
|
+
'pecb-preview-card__btn',
|
|
23124
|
+
`pecb-preview-card__btn--${action.variant ?? 'primary'}`
|
|
23125
|
+
].join(' ');
|
|
23126
|
+
}
|
|
23127
|
+
onAction(action) {
|
|
23128
|
+
if (action.disabled || action.loading)
|
|
23129
|
+
return;
|
|
23130
|
+
this.actionClick.emit(action.id);
|
|
23131
|
+
}
|
|
23132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PreviewCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: PreviewCardComponent, isStandalone: true, selector: "pecb-preview-card", inputs: { embedSrc: { classPropertyName: "embedSrc", publicName: "embedSrc", isSignal: true, isRequired: false, transformFunction: null }, imageSrc: { classPropertyName: "imageSrc", publicName: "imageSrc", isSignal: true, isRequired: false, transformFunction: null }, imageAlt: { classPropertyName: "imageAlt", publicName: "imageAlt", isSignal: true, isRequired: false, transformFunction: null }, imageDimmed: { classPropertyName: "imageDimmed", publicName: "imageDimmed", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, chipLabel: { classPropertyName: "chipLabel", publicName: "chipLabel", isSignal: true, isRequired: false, transformFunction: null }, chipStatus: { classPropertyName: "chipStatus", publicName: "chipStatus", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<div class=\"pecb-preview-card\">\n <div\n class=\"pecb-preview-card__media\"\n [class.pecb-preview-card__media--dimmed]=\"imageDimmed()\"\n >\n @if (safeEmbedSrc()) {\n <iframe\n class=\"pecb-preview-card__embed\"\n [src]=\"safeEmbedSrc()\"\n [title]=\"imageAlt() || title()\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n ></iframe>\n } @else if (imageSrc()) {\n <img [src]=\"imageSrc()\" [alt]=\"imageAlt()\" />\n }\n </div>\n\n <div class=\"pecb-preview-card__body\">\n <h4 class=\"pecb-preview-card__title\">\n {{ title() }}\n @if (chipLabel()) {\n <span class=\"pecb-preview-card__chip pecb-preview-card__chip--{{ chipStatus() }}\">\n {{ chipLabel() }}\n </span>\n }\n </h4>\n\n @if (description()) {\n <p class=\"pecb-preview-card__description\">{{ description() }}</p>\n }\n\n @if (resolvedActions().length) {\n <div class=\"pecb-preview-card__actions\">\n @for (entry of resolvedActions(); track entry.action.id) {\n <button\n [class]=\"actionClasses(entry.action)\"\n type=\"button\"\n [disabled]=\"entry.action.disabled || entry.action.loading\"\n (click)=\"onAction(entry.action)\"\n >\n @if (entry.action.loading) {\n <span class=\"pecb-preview-card__spinner\" aria-hidden=\"true\"></span>\n } @else if (entry.safeIcon) {\n <span\n class=\"pecb-preview-card__btn-icon\"\n aria-hidden=\"true\"\n [innerHTML]=\"entry.safeIcon\"\n ></span>\n }\n {{ entry.action.label }}\n </button>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;height:100%}.pecb-preview-card{display:flex;gap:16px;height:100%;background-color:#fff;border:1px solid #ececec;border-radius:12px;padding:16px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box}.pecb-preview-card__media{width:168px;height:122px;flex:none;border-radius:8px;background-color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.pecb-preview-card__media img{width:100%;height:100%;object-fit:contain;display:block}.pecb-preview-card__media--dimmed img{filter:grayscale(1) opacity(.55)}.pecb-preview-card__embed{width:100%;height:100%;border:0;display:block;pointer-events:none}.pecb-preview-card__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.pecb-preview-card__title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14.5px;font-weight:700;color:#212427;margin:0 0 6px}.pecb-preview-card__chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:9999px;white-space:nowrap}.pecb-preview-card__chip--success{background:#e6f4ea;color:#57bc57}.pecb-preview-card__chip--info{background:#e8f1ff;color:#5eacff}.pecb-preview-card__chip--warning{background:#fff4e5;color:#ff9c4a}.pecb-preview-card__chip--error{background:#fdecea;color:#ff606f}.pecb-preview-card__chip--default{background:#ececec;color:#919191}.pecb-preview-card__description{font-size:12.5px;color:#616161;line-height:1.5;margin:0 0 12px}.pecb-preview-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.pecb-preview-card__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border:1px solid transparent;border-radius:8px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease-in-out,border-color .15s ease-in-out}.pecb-preview-card__btn:disabled{opacity:.5;cursor:not-allowed}.pecb-preview-card__btn:focus-visible{outline:2px solid #a11e29;outline-offset:2px}.pecb-preview-card__btn--primary{background-color:#212427;color:#fff}.pecb-preview-card__btn--primary:hover:not(:disabled){background-color:#616161}.pecb-preview-card__btn--ghost{background-color:#fff;color:#616161;border-color:#c2c2c2}.pecb-preview-card__btn--ghost:hover:not(:disabled){background-color:#ececec;border-color:#616161}.pecb-preview-card__btn--accent{background-color:#a11e29;color:#fff}.pecb-preview-card__btn--accent:hover:not(:disabled){background-color:#671018}.pecb-preview-card__btn-icon{display:inline-flex;align-items:center;flex:none}.pecb-preview-card__btn-icon ::ng-deep svg{display:block}.pecb-preview-card__spinner{width:14px;height:14px;flex:none;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pecb-preview-card-spin .7s linear infinite}@keyframes pecb-preview-card-spin{to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23134
|
+
}
|
|
23135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PreviewCardComponent, decorators: [{
|
|
23136
|
+
type: Component,
|
|
23137
|
+
args: [{ selector: 'pecb-preview-card', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"pecb-preview-card\">\n <div\n class=\"pecb-preview-card__media\"\n [class.pecb-preview-card__media--dimmed]=\"imageDimmed()\"\n >\n @if (safeEmbedSrc()) {\n <iframe\n class=\"pecb-preview-card__embed\"\n [src]=\"safeEmbedSrc()\"\n [title]=\"imageAlt() || title()\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n ></iframe>\n } @else if (imageSrc()) {\n <img [src]=\"imageSrc()\" [alt]=\"imageAlt()\" />\n }\n </div>\n\n <div class=\"pecb-preview-card__body\">\n <h4 class=\"pecb-preview-card__title\">\n {{ title() }}\n @if (chipLabel()) {\n <span class=\"pecb-preview-card__chip pecb-preview-card__chip--{{ chipStatus() }}\">\n {{ chipLabel() }}\n </span>\n }\n </h4>\n\n @if (description()) {\n <p class=\"pecb-preview-card__description\">{{ description() }}</p>\n }\n\n @if (resolvedActions().length) {\n <div class=\"pecb-preview-card__actions\">\n @for (entry of resolvedActions(); track entry.action.id) {\n <button\n [class]=\"actionClasses(entry.action)\"\n type=\"button\"\n [disabled]=\"entry.action.disabled || entry.action.loading\"\n (click)=\"onAction(entry.action)\"\n >\n @if (entry.action.loading) {\n <span class=\"pecb-preview-card__spinner\" aria-hidden=\"true\"></span>\n } @else if (entry.safeIcon) {\n <span\n class=\"pecb-preview-card__btn-icon\"\n aria-hidden=\"true\"\n [innerHTML]=\"entry.safeIcon\"\n ></span>\n }\n {{ entry.action.label }}\n </button>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;height:100%}.pecb-preview-card{display:flex;gap:16px;height:100%;background-color:#fff;border:1px solid #ececec;border-radius:12px;padding:16px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box}.pecb-preview-card__media{width:168px;height:122px;flex:none;border-radius:8px;background-color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.pecb-preview-card__media img{width:100%;height:100%;object-fit:contain;display:block}.pecb-preview-card__media--dimmed img{filter:grayscale(1) opacity(.55)}.pecb-preview-card__embed{width:100%;height:100%;border:0;display:block;pointer-events:none}.pecb-preview-card__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.pecb-preview-card__title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14.5px;font-weight:700;color:#212427;margin:0 0 6px}.pecb-preview-card__chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:9999px;white-space:nowrap}.pecb-preview-card__chip--success{background:#e6f4ea;color:#57bc57}.pecb-preview-card__chip--info{background:#e8f1ff;color:#5eacff}.pecb-preview-card__chip--warning{background:#fff4e5;color:#ff9c4a}.pecb-preview-card__chip--error{background:#fdecea;color:#ff606f}.pecb-preview-card__chip--default{background:#ececec;color:#919191}.pecb-preview-card__description{font-size:12.5px;color:#616161;line-height:1.5;margin:0 0 12px}.pecb-preview-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.pecb-preview-card__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border:1px solid transparent;border-radius:8px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease-in-out,border-color .15s ease-in-out}.pecb-preview-card__btn:disabled{opacity:.5;cursor:not-allowed}.pecb-preview-card__btn:focus-visible{outline:2px solid #a11e29;outline-offset:2px}.pecb-preview-card__btn--primary{background-color:#212427;color:#fff}.pecb-preview-card__btn--primary:hover:not(:disabled){background-color:#616161}.pecb-preview-card__btn--ghost{background-color:#fff;color:#616161;border-color:#c2c2c2}.pecb-preview-card__btn--ghost:hover:not(:disabled){background-color:#ececec;border-color:#616161}.pecb-preview-card__btn--accent{background-color:#a11e29;color:#fff}.pecb-preview-card__btn--accent:hover:not(:disabled){background-color:#671018}.pecb-preview-card__btn-icon{display:inline-flex;align-items:center;flex:none}.pecb-preview-card__btn-icon ::ng-deep svg{display:block}.pecb-preview-card__spinner{width:14px;height:14px;flex:none;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pecb-preview-card-spin .7s linear infinite}@keyframes pecb-preview-card-spin{to{transform:rotate(360deg)}}\n"] }]
|
|
23138
|
+
}], propDecorators: { embedSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedSrc", required: false }] }], imageSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageSrc", required: false }] }], imageAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageAlt", required: false }] }], imageDimmed: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageDimmed", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], chipLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "chipLabel", required: false }] }], chipStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "chipStatus", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }] } });
|
|
23139
|
+
|
|
23034
23140
|
/*
|
|
23035
23141
|
* Public API Surface of @pecb-ui/components
|
|
23036
23142
|
*
|
|
@@ -23045,5 +23151,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
23045
23151
|
* Generated bundle index. Do not edit.
|
|
23046
23152
|
*/
|
|
23047
23153
|
|
|
23048
|
-
export { APP_HEADER_TRANSLATIONS, APP_SHELL_LOCALES, APP_SIDEBAR_MENU_ICONS, APP_SIDEBAR_MENU_TRANSLATIONS, APP_SIDEBAR_TRANSLATIONS, AccordionItemComponent, AccordionSmallComponent, ActionItemComponent, AddButtonComponent, AdminHeaderComponent, AdminHeaderFieldTemplateDirective, AffixComponent, AlertComponent, AnchorComponent, AppHeaderComponent, AppSidebarComponent, ApplicationStatusBarComponent, AuditorStatusComponent, AuthorDateTimeComponent, BackToTopComponent, BadgeComponent, BlurDirective, BottomSheetComponent, BreadcrumbsComponent, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CancelUpdateButtonsComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CertificateUploadBarComponent, CheckDeleteIconComponent, CheckboxComponent, CheckboxDisplayComponent, CodeInputComponent, CodeSnippetComponent, ColorPaletteComponent, ConfirmationComponent, ContentTypeTagComponent, CourseContentPanelComponent, CoursePlayerComponent, CourseTileComponent, CredentialCardComponent, DEFAULT_APP_HEADER_LABELS, DEFAULT_APP_SIDEBAR_LABELS, DEFAULT_APP_SIDEBAR_LANGUAGES, DEFAULT_APP_SIDEBAR_MENU, DEFAULT_APP_SIDEBAR_ROLES, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_LANGUAGES, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, DashboardGridComponent, DatepickerComponent, DividerComponent, DropdownComponent, EMPTY_STATE_MAX_BUTTONS, EditButtonComponent, EditCoverPhotoComponent, EmptyStateComponent, ExpandableRowTableComponent, FileUploadComponent, FilterColumnsComponent, FloatButtonComponent, FloatButtonItemComponent, FormSectionCardComponent, FullscreenModalComponent, FullscreenModalContentDirective, FullscreenModalFooterDirective, FullscreenModalHeaderDirective, GeneralComponent, GridComponent, GridItemComponent, HeaderActionsComponent, HeaderComponent, HeaderDividerComponent, HeaderLanguageComponent, HeaderSearchComponent, HeaderUserComponent, HierarchicalTableComponent, HorizontalStepsComponent, HubCardComponent, HubCardGridComponent, IconComponent, IconRegistry, IconTagComponent, InformationBoxComponent, InputComponent, LanguageDropdownComponent, LinkButtonComponent, ListItemComponent, LoadingService, MediaComponent, MessageBubbleComponent, MessageItemComponent, MetricsCardComponent, MiniIconButtonComponent, NoResultsComponent, NoteSidebarItemComponent, NotesPanelComponent, NotificationService, NotificationStatusLinkComponent, OutlinedFieldComponent, PECB_COLOR_PALETTE, PECB_CUSTOM_ICONS, PECB_FONT_STYLES, PECB_ICONS, PECB_TYPE_SCALE, PaginationComponent, PaymentPlanCardComponent, PaymentScheduleCardComponent, PaymentSummaryComponent, PeriodPaymentModalComponent, PriceMethodComponent, ProfileComponent, ProfileElementsCardComponent, ProfileGroupComponent, ProgressArcComponent, ProgressBarComponent, ProgressCircleComponent, ProjectLayoutComponent, QuantitySelectorComponent, QuestionTypeTagComponent, RadioComponent, RadioDisplayComponent, RatingNumberComponent, ReasonForReturnComponent, RequestSentByComponent, RequestStatusBarComponent, ResultPageComponent, RightModalComponent, RightModalContentDirective, RightModalFooterDirective, RightModalHeaderDirective, ShadowDirective, SidebarComponent, SkeletonComponent, SlidePointsComponent, SlideViewerComponent, SlideViewerDayDirective, SlideViewerThumbnailDirective, SpacerComponent, SpinnerComponent, StandardsPdfCardComponent, StatisticsCardComponent, StatusComponent, StepperComponent, TabComponent, TableComponent, TagComponent, TagSelectComponent, TestimonialComponent, TextFormFieldComponent, ThemeService, ToggleComponent, ToolbarBarComponent, TooltipComponent, TooltipDirective, TourComponent, TranscriptLineComponent, TypographyComponent, UserWithEmailComponent, VerifyChecklistComponent, VideoPlayerComponent, VideoUploadBarComponent, VirtualTableComponent, addClass, announceToScreenReader, appHeaderLabels, appSidebarLabels, appSidebarMenu, appSidebarRoles, capitalize, clampSlidePage, closestElement, copyToClipboard, courseModuleStats, courseProgress, createAuthError, createAuthorizationError, createConfigError, createError, createNetworkError, createValidationError, disableBodyScroll, escapeHtml, findCourseLesson, findCourseModule, formatCount, formatCourseDuration, formatCourseTime, formatErrorForLog, formatErrorMessage, formatVideoTime, generateLinkedIds, generateUniqueId, getAriaCurrent, getButtonAriaAttributes, getComputedStyleValue, getDialogAriaAttributes, getFocusableElements, getInitials, getInputAriaAttributes, getOptionAriaAttributes, getProgressAriaAttributes, getScrollParent, getTabAriaAttributes, getVisuallyHiddenStyles, handleError, hasClass, isBlank, isBrowser, isElementVisible, isNotBlank, isPecbError, isRecoverableError, matchesSelector, parseLessonPartTitle, pluralize, prefersHighContrast, prefersReducedMotion, registerErrorHandler, removeClass, resolveAppShellLocale, resolveLessonStatus, scrollIntoView, slugify, stripHtml, toCamelCase, toKebabCase, toPascalCase, toSnakeCase, toggleClass, trapFocus, truncate, tryAsync, trySync, wrapError };
|
|
23154
|
+
export { APP_HEADER_TRANSLATIONS, APP_SHELL_LOCALES, APP_SIDEBAR_MENU_ICONS, APP_SIDEBAR_MENU_TRANSLATIONS, APP_SIDEBAR_TRANSLATIONS, AccordionItemComponent, AccordionSmallComponent, ActionItemComponent, AddButtonComponent, AdminHeaderComponent, AdminHeaderFieldTemplateDirective, AffixComponent, AlertComponent, AnchorComponent, AppHeaderComponent, AppSidebarComponent, ApplicationStatusBarComponent, AuditorStatusComponent, AuthorDateTimeComponent, BackToTopComponent, BadgeComponent, BlurDirective, BottomSheetComponent, BreadcrumbsComponent, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CancelUpdateButtonsComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CertificateUploadBarComponent, CheckDeleteIconComponent, CheckboxComponent, CheckboxDisplayComponent, CodeInputComponent, CodeSnippetComponent, ColorPaletteComponent, ConfirmationComponent, ContentTypeTagComponent, CourseContentPanelComponent, CoursePlayerComponent, CourseTileComponent, CredentialCardComponent, DEFAULT_APP_HEADER_LABELS, DEFAULT_APP_SIDEBAR_LABELS, DEFAULT_APP_SIDEBAR_LANGUAGES, DEFAULT_APP_SIDEBAR_MENU, DEFAULT_APP_SIDEBAR_ROLES, DEFAULT_COURSE_CONTENT_PANEL_LABELS, DEFAULT_LANGUAGES, DEFAULT_SLIDE_VIEWER_KEY_MAP, DEFAULT_SLIDE_VIEWER_LABELS, DEFAULT_SLIDE_VIEWER_TOOLS, DEFAULT_SLIDE_VIEWER_ZOOM_STEPS, DEFAULT_VIDEO_PLAYER_LABELS, DEFAULT_VIDEO_PLAYER_RATES, DashboardGridComponent, DatepickerComponent, DividerComponent, DropdownComponent, EMPTY_STATE_MAX_BUTTONS, EditButtonComponent, EditCoverPhotoComponent, EmptyStateComponent, ExpandableRowTableComponent, FileUploadComponent, FilterColumnsComponent, FloatButtonComponent, FloatButtonItemComponent, FormSectionCardComponent, FullscreenModalComponent, FullscreenModalContentDirective, FullscreenModalFooterDirective, FullscreenModalHeaderDirective, GeneralComponent, GridComponent, GridItemComponent, HeaderActionsComponent, HeaderComponent, HeaderDividerComponent, HeaderLanguageComponent, HeaderSearchComponent, HeaderUserComponent, HierarchicalTableComponent, HorizontalStepsComponent, HubCardComponent, HubCardGridComponent, IconComponent, IconRegistry, IconTagComponent, InformationBoxComponent, InputComponent, LanguageDropdownComponent, LinkButtonComponent, ListItemComponent, LoadingService, MediaComponent, MessageBubbleComponent, MessageItemComponent, MetricsCardComponent, MiniIconButtonComponent, NoResultsComponent, NoteSidebarItemComponent, NotesPanelComponent, NotificationService, NotificationStatusLinkComponent, OutlinedFieldComponent, PECB_COLOR_PALETTE, PECB_CUSTOM_ICONS, PECB_FONT_STYLES, PECB_ICONS, PECB_TYPE_SCALE, PaginationComponent, PaymentPlanCardComponent, PaymentScheduleCardComponent, PaymentSummaryComponent, PeriodPaymentModalComponent, PreviewCardComponent, PriceMethodComponent, ProfileComponent, ProfileElementsCardComponent, ProfileGroupComponent, ProgressArcComponent, ProgressBarComponent, ProgressCircleComponent, ProjectLayoutComponent, QuantitySelectorComponent, QuestionTypeTagComponent, RadioComponent, RadioDisplayComponent, RatingNumberComponent, ReasonForReturnComponent, RequestSentByComponent, RequestStatusBarComponent, ResultPageComponent, RightModalComponent, RightModalContentDirective, RightModalFooterDirective, RightModalHeaderDirective, ShadowDirective, SidebarComponent, SkeletonComponent, SlidePointsComponent, SlideViewerComponent, SlideViewerDayDirective, SlideViewerThumbnailDirective, SpacerComponent, SpinnerComponent, StandardsPdfCardComponent, StatisticsCardComponent, StatusComponent, StepperComponent, TabComponent, TableComponent, TagComponent, TagSelectComponent, TestimonialComponent, TextFormFieldComponent, ThemeService, TimelineComponent, ToggleComponent, ToolbarBarComponent, TooltipComponent, TooltipDirective, TourComponent, TranscriptLineComponent, TypographyComponent, UserWithEmailComponent, VerifyChecklistComponent, VideoPlayerComponent, VideoUploadBarComponent, VirtualTableComponent, addClass, announceToScreenReader, appHeaderLabels, appSidebarLabels, appSidebarMenu, appSidebarRoles, capitalize, clampSlidePage, closestElement, copyToClipboard, courseModuleStats, courseProgress, createAuthError, createAuthorizationError, createConfigError, createError, createNetworkError, createValidationError, disableBodyScroll, escapeHtml, findCourseLesson, findCourseModule, formatCount, formatCourseDuration, formatCourseTime, formatErrorForLog, formatErrorMessage, formatVideoTime, generateLinkedIds, generateUniqueId, getAriaCurrent, getButtonAriaAttributes, getComputedStyleValue, getDialogAriaAttributes, getFocusableElements, getInitials, getInputAriaAttributes, getOptionAriaAttributes, getProgressAriaAttributes, getScrollParent, getTabAriaAttributes, getVisuallyHiddenStyles, handleError, hasClass, isBlank, isBrowser, isElementVisible, isNotBlank, isPecbError, isRecoverableError, matchesSelector, parseLessonPartTitle, pluralize, prefersHighContrast, prefersReducedMotion, registerErrorHandler, removeClass, resolveAppShellLocale, resolveLessonStatus, scrollIntoView, slugify, stripHtml, toCamelCase, toKebabCase, toPascalCase, toSnakeCase, toggleClass, trapFocus, truncate, tryAsync, trySync, wrapError };
|
|
23049
23155
|
//# sourceMappingURL=pecb-ui-components.mjs.map
|