ngx-semantic 2.0.7-beta.1 → 2.0.9
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/README.md +18 -18
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -13
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-form.mjs +18 -17
- package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-grid.mjs +13 -13
- package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-menu.mjs +28 -19
- package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-message.mjs +16 -16
- package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-table.mjs +16 -16
- package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-base.mjs +3 -3
- package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-button.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-container.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-divider.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-flag.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-header.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-icon.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-image.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-input.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-label.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-list.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-loader.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-placeholder.mjs +19 -19
- package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-rail.mjs +7 -7
- package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-reveal.mjs +10 -10
- package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-segment.mjs +13 -13
- package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-steps.mjs +19 -19
- package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-accordion.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-checkbox.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dimmer.mjs +26 -17
- package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dropdown.mjs +19 -19
- package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-embed.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-modal.mjs +16 -16
- package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-popup.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-progress.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-rating.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-search.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-select.mjs +13 -13
- package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-shape.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sidebar.mjs +16 -16
- package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sticky.mjs +7 -7
- package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-tabs.mjs +10 -10
- package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
- package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
- package/fesm2022/ngx-semantic-modules-visibility.mjs +525 -0
- package/fesm2022/ngx-semantic-modules-visibility.mjs.map +1 -0
- package/fesm2022/ngx-semantic-views-advertisement.mjs +7 -7
- package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-card.mjs +28 -28
- package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-comment.mjs +31 -31
- package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-feed.mjs +28 -28
- package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-items.mjs +28 -28
- package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
- package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
- package/fesm2022/ngx-semantic.mjs +21 -9
- package/fesm2022/ngx-semantic.mjs.map +1 -1
- package/modules/transition/package.json +4 -0
- package/modules/visibility/package.json +4 -0
- package/package.json +9 -1
- package/types/ngx-semantic-modules-transition.d.ts +107 -0
- package/types/ngx-semantic-modules-visibility.d.ts +124 -0
- package/types/ngx-semantic.d.ts +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-transition.mjs","sources":["../../src/modules/transition/transition-util.ts","../../src/modules/transition/transition-animations.ts","../../src/modules/transition/transition.component.ts","../../src/modules/transition/transition.module.ts","../../src/modules/transition/ngx-semantic-modules-transition.ts"],"sourcesContent":["/**\n * Helpers for Semantic UI–style transition names and durations.\n * @see https://semantic-ui.com/modules/transition.html\n */\n\nexport type SuiTransitionDirectionMode = 'auto' | 'in' | 'out';\n\nexport interface ParsedTransitionName {\n /** Normalized animation id, without trailing ` in` / ` out`. */\n baseName: string;\n explicitDirection: 'in' | 'out' | null;\n}\n\nexport function durationToCss(d: number | string): string {\n if (typeof d === 'number') {\n return Number.isFinite(d) ? `${d}ms` : '500ms';\n }\n const s = String(d).trim();\n if (!s) {\n return '500ms';\n }\n if (/^\\d+(\\.\\d+)?(ms|s)$/i.test(s)) {\n return s;\n }\n if (/^\\d+(\\.\\d+)?$/.test(s)) {\n return `${s}ms`;\n }\n return s;\n}\n\nexport function parseTransitionName(raw: string): ParsedTransitionName {\n const s = raw.trim().toLowerCase().replace(/\\s+/g, ' ');\n let explicitDirection: 'in' | 'out' | null = null;\n let base = s;\n if (base.endsWith(' in')) {\n explicitDirection = 'in';\n base = base.slice(0, -3).trim();\n } else if (base.endsWith(' out')) {\n explicitDirection = 'out';\n base = base.slice(0, -4).trim();\n }\n return { baseName: base, explicitDirection };\n}\n\n/**\n * Resolves whether the next run should play an inward or outward transition.\n */\nexport function resolveTransitionDirection(\n explicitFromName: 'in' | 'out' | null,\n mode: SuiTransitionDirectionMode,\n targetVisible: boolean\n): 'in' | 'out' {\n if (explicitFromName === 'in' || explicitFromName === 'out') {\n return explicitFromName;\n }\n if (mode === 'in') {\n return 'in';\n }\n if (mode === 'out') {\n return 'out';\n }\n return targetVisible ? 'in' : 'out';\n}\n\nconst STATIC_NAMES = new Set<string>([\n 'jiggle',\n 'flash',\n 'shake',\n 'pulse',\n 'tada',\n 'bounce',\n 'glow'\n]);\n\nexport function isStaticTransitionName(baseName: string): boolean {\n return STATIC_NAMES.has(baseName);\n}\n","/**\n * Angular animation metadata approximating Semantic UI transition behaviors.\n * @see https://semantic-ui.com/modules/transition.html\n */\n\nimport { animate, AnimationMetadata, keyframes, style } from '@angular/animations';\nimport { isStaticTransitionName } from './transition-util';\n\nconst EASE = 'cubic-bezier(0.4, 0, 0.2, 1)';\n\nexport interface TransitionMotion {\n enter: (duration: string) => AnimationMetadata[];\n leave: (duration: string) => AnimationMetadata[];\n}\n\nconst MOTIONS: Record<string, TransitionMotion> = {\n scale: {\n enter: d => [\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'scale(1)' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'scale(1)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'scale(0)' }))\n ]\n },\n zoom: {\n enter: d => [\n style({ opacity: 0, transform: 'scale(0.35)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'scale(1)' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'scale(1)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'scale(0.35)' }))\n ]\n },\n fade: {\n enter: d => [\n style({ opacity: 0, offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1 }))\n ],\n leave: d => [\n style({ opacity: 1, offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0 }))\n ]\n },\n 'fade up': {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(0.75rem)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(0.75rem)' }))\n ]\n },\n 'fade down': {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(-0.75rem)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(-0.75rem)' }))\n ]\n },\n 'fade left': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(0.75rem)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(0.75rem)' }))\n ]\n },\n 'fade right': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(-0.75rem)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(-0.75rem)' }))\n ]\n },\n 'horizontal flip': {\n enter: d => [\n style({\n opacity: 0,\n transform: 'perspective(600px) rotateY(-90deg)',\n offset: 0\n }),\n animate(\n `${d} ${EASE}`,\n style({ opacity: 1, transform: 'perspective(600px) rotateY(0deg)' })\n )\n ],\n leave: d => [\n style({\n opacity: 1,\n transform: 'perspective(600px) rotateY(0deg)',\n offset: 0\n }),\n animate(\n `${d} ${EASE}`,\n style({ opacity: 0, transform: 'perspective(600px) rotateY(90deg)' })\n )\n ]\n },\n 'vertical flip': {\n enter: d => [\n style({\n opacity: 0,\n transform: 'perspective(600px) rotateX(-90deg)',\n offset: 0\n }),\n animate(\n `${d} ${EASE}`,\n style({ opacity: 1, transform: 'perspective(600px) rotateX(0deg)' })\n )\n ],\n leave: d => [\n style({\n opacity: 1,\n transform: 'perspective(600px) rotateX(0deg)',\n offset: 0\n }),\n animate(\n `${d} ${EASE}`,\n style({ opacity: 0, transform: 'perspective(600px) rotateX(90deg)' })\n )\n ]\n },\n drop: {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(-120%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(-120%)' }))\n ]\n },\n 'fly left': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(120%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(-120%)' }))\n ]\n },\n 'fly right': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(-120%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(120%)' }))\n ]\n },\n 'fly up': {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(120%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(-120%)' }))\n ]\n },\n 'fly down': {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(-120%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(120%)' }))\n ]\n },\n 'swing left': {\n enter: d => [\n style({ opacity: 0, transform: 'rotate(-12deg)', transformOrigin: 'top center', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'rotate(12deg)', transformOrigin: 'top center' }))\n ]\n },\n 'swing right': {\n enter: d => [\n style({ opacity: 0, transform: 'rotate(12deg)', transformOrigin: 'top center', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'rotate(-12deg)', transformOrigin: 'top center' }))\n ]\n },\n 'swing up': {\n enter: d => [\n style({ opacity: 0, transform: 'rotate(-10deg)', transformOrigin: 'bottom center', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'rotate(10deg)', transformOrigin: 'bottom center' }))\n ]\n },\n 'swing down': {\n enter: d => [\n style({ opacity: 0, transform: 'rotate(10deg)', transformOrigin: 'top center', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'rotate(-10deg)', transformOrigin: 'top center' }))\n ]\n },\n browse: {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(-1rem) skewX(-6deg)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(1rem) skewX(6deg)' }))\n ]\n },\n 'browse right': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(1rem) skewX(6deg)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(-1rem) skewX(-6deg)' }))\n ]\n },\n 'slide down': {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(-100%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(-100%)' }))\n ]\n },\n 'slide up': {\n enter: d => [\n style({ opacity: 0, transform: 'translateY(100%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateY(100%)' }))\n ]\n },\n 'slide left': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(100%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(-100%)' }))\n ]\n },\n 'slide right': {\n enter: d => [\n style({ opacity: 0, transform: 'translateX(-100%)', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 1, transform: 'none' }))\n ],\n leave: d => [\n style({ opacity: 1, transform: 'none', offset: 0 }),\n animate(`${d} ${EASE}`, style({ opacity: 0, transform: 'translateX(100%)' }))\n ]\n }\n};\n\nconst DEFAULT_MOTION = MOTIONS.fade;\n\nexport function getMotionForVisibility(baseName: string): TransitionMotion {\n if (isStaticTransitionName(baseName)) {\n return DEFAULT_MOTION;\n }\n return MOTIONS[baseName] ?? DEFAULT_MOTION;\n}\n\nexport function buildEnterSteps(baseName: string, durationCss: string): AnimationMetadata[] {\n return getMotionForVisibility(baseName).enter(durationCss);\n}\n\nexport function buildLeaveSteps(baseName: string, durationCss: string): AnimationMetadata[] {\n return getMotionForVisibility(baseName).leave(durationCss);\n}\n\nexport function buildStaticSteps(baseName: string, durationCss: string): AnimationMetadata[] | null {\n if (!isStaticTransitionName(baseName)) {\n return null;\n }\n switch (baseName) {\n case 'pulse':\n return [\n style({ transform: 'scale(1)', offset: 0 }),\n animate(\n `${durationCss} ${EASE}`,\n keyframes([\n style({ transform: 'scale(1)', offset: 0 }),\n style({ transform: 'scale(1.06)', offset: 0.5 }),\n style({ transform: 'scale(1)', offset: 1 })\n ])\n )\n ];\n case 'shake':\n return [\n animate(\n `${durationCss} ${EASE}`,\n keyframes([\n style({ transform: 'translateX(0)', offset: 0 }),\n style({ transform: 'translateX(-0.5rem)', offset: 0.2 }),\n style({ transform: 'translateX(0.5rem)', offset: 0.4 }),\n style({ transform: 'translateX(-0.35rem)', offset: 0.6 }),\n style({ transform: 'translateX(0.35rem)', offset: 0.8 }),\n style({ transform: 'translateX(0)', offset: 1 })\n ])\n )\n ];\n case 'jiggle':\n return [\n animate(\n `${durationCss} ${EASE}`,\n keyframes([\n style({ transform: 'rotate(0deg)', offset: 0 }),\n style({ transform: 'rotate(-2.5deg)', offset: 0.25 }),\n style({ transform: 'rotate(2.5deg)', offset: 0.5 }),\n style({ transform: 'rotate(-1.5deg)', offset: 0.75 }),\n style({ transform: 'rotate(0deg)', offset: 1 })\n ])\n )\n ];\n case 'flash':\n return [\n animate(\n `${durationCss} linear`,\n keyframes([\n style({ opacity: 1, offset: 0 }),\n style({ opacity: 0.2, offset: 0.5 }),\n style({ opacity: 1, offset: 1 })\n ])\n )\n ];\n case 'tada':\n return [\n animate(\n `${durationCss} ${EASE}`,\n keyframes([\n style({ transform: 'scale(1) rotate(0deg)', offset: 0 }),\n style({ transform: 'scale(0.92) rotate(-2deg)', offset: 0.1 }),\n style({ transform: 'scale(1.08) rotate(2deg)', offset: 0.3 }),\n style({ transform: 'scale(1.02) rotate(-1deg)', offset: 0.5 }),\n style({ transform: 'scale(1) rotate(0deg)', offset: 1 })\n ])\n )\n ];\n case 'bounce':\n return [\n animate(\n `${durationCss} ${EASE}`,\n keyframes([\n style({ transform: 'translateY(0)', offset: 0 }),\n style({ transform: 'translateY(-0.6rem)', offset: 0.35 }),\n style({ transform: 'translateY(0)', offset: 0.55 }),\n style({ transform: 'translateY(-0.25rem)', offset: 0.7 }),\n style({ transform: 'translateY(0)', offset: 0.85 }),\n style({ transform: 'translateY(0)', offset: 1 })\n ])\n )\n ];\n case 'glow':\n return [\n animate(\n `${durationCss} ${EASE}`,\n keyframes([\n style({ boxShadow: '0 0 0 0 rgba(100, 180, 255, 0)', offset: 0 }),\n style({ boxShadow: '0 0 1.25rem 0.25rem rgba(100, 180, 255, 0.45)', offset: 0.5 }),\n style({ boxShadow: '0 0 0 0 rgba(100, 180, 255, 0)', offset: 1 })\n ])\n )\n ];\n default:\n return null;\n }\n}\n\nexport function listRegisteredMotionKeys(): string[] {\n return Object.keys(MOTIONS);\n}\n","/**\n * Semantic UI [Transition](https://semantic-ui.com/modules/transition.html) — Angular port using\n * `@angular/animations` (`AnimationBuilder`). Include Semantic UI transition CSS in your app if you\n * rely on theme classes; motion is driven by this component’s animation metadata.\n */\n\nimport {\n AnimationBuilder,\n AnimationMetadata,\n AnimationPlayer\n} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport {\n buildEnterSteps,\n buildLeaveSteps,\n buildStaticSteps\n} from './transition-animations';\nimport {\n durationToCss,\n isStaticTransitionName,\n parseTransitionName,\n resolveTransitionDirection,\n SuiTransitionDirectionMode\n} from './transition-util';\n\n@Component({\n standalone: true,\n selector: 'sui-transition',\n exportAs: 'suiTransition',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n host: {\n '[class]': 'hostClassList'\n }\n})\nexport class SuiTransitionComponent implements OnChanges, OnDestroy {\n private readonly builder = inject(AnimationBuilder);\n private readonly el = inject(ElementRef<HTMLElement>);\n private readonly renderer = inject(Renderer2);\n private readonly zone = inject(NgZone);\n private readonly cdr = inject(ChangeDetectorRef);\n\n /** Semantic animation name, e.g. `fade up`, `horizontal flip`, `pulse`. Optional ` in` / ` out` suffix. */\n @Input() public suiAnimation = 'fade';\n /** Duration in ms or CSS time string (e.g. `500`, `500ms`, `0.5s`). */\n @Input() public suiDuration: number | string = 500;\n /** When not forced by the animation string, controls automatic in vs out (default mirrors Semantic `auto`). */\n @Input() public suiDirection: SuiTransitionDirectionMode = 'auto';\n /** Whether the host is shown (after transitions complete). Two-way bindable. */\n @Input() @InputBoolean() public suiVisible = true;\n /** Increment to replay the current **static** animation (`pulse`, `shake`, …). */\n @Input() public suiPlay = 0;\n /** Disables animations; visibility updates apply immediately. */\n @Input() @InputBoolean() public suiDisabled = false;\n\n @Output() public readonly suiVisibleChange = new EventEmitter<boolean>();\n /** Fires when a transition begins (visibility or static). */\n @Output() public readonly suiAnimationStart = new EventEmitter<void>();\n /** Fires when a transition finishes. */\n @Output() public readonly suiAnimationComplete = new EventEmitter<void>();\n /** After an inward transition that ends visible. */\n @Output() public readonly suiOnShow = new EventEmitter<void>();\n /** After an outward transition that ends hidden. */\n @Output() public readonly suiOnHide = new EventEmitter<void>();\n\n /** Mirrors Semantic UI state classes. */\n public animating = false;\n /** Final hidden state (opacity/visibility), not necessarily DOM removal. */\n public hidden = false;\n\n public hostClassList = '';\n\n private player: AnimationPlayer | null = null;\n private initialized = false;\n private lastVisible = true;\n private lastPlay = 0;\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['suiPlay']) {\n if (changes['suiPlay'].firstChange) {\n this.lastPlay = this.suiPlay;\n } else if (this.suiPlay !== this.lastPlay) {\n this.lastPlay = this.suiPlay;\n this.runStaticAnimation();\n }\n }\n\n if (changes['suiVisible']) {\n const cur = this.suiVisible;\n if (!this.initialized) {\n this.initialized = true;\n this.lastVisible = cur;\n this.applyImmediateVisibility(cur);\n this.syncHostClasses();\n return;\n }\n if (cur !== this.lastVisible) {\n this.lastVisible = cur;\n this.runVisibilityTransition(cur);\n }\n }\n\n if (\n changes['suiAnimation'] ||\n changes['suiDuration'] ||\n changes['suiDirection'] ||\n changes['suiDisabled']\n ) {\n this.syncHostClasses();\n }\n }\n\n public ngOnDestroy(): void {\n this.destroyPlayer();\n }\n\n /** Show with the current animation settings. */\n public show(): void {\n this.setVisible(true);\n }\n\n /** Hide with the current animation settings. */\n public hide(): void {\n this.setVisible(false);\n }\n\n /** Toggle visibility. */\n public toggle(): void {\n this.setVisible(!this.suiVisible);\n }\n\n /** Stop the active animation (Semantic `stop` / `stop all` style: clears current player). */\n public stop(): void {\n this.destroyPlayer();\n this.animating = false;\n this.syncHostClasses();\n this.cdr.markForCheck();\n }\n\n /** Run a static attention animation if `suiAnimation` is static; no-op otherwise. */\n public playStatic(): void {\n this.runStaticAnimation();\n }\n\n public setVisible(value: boolean): void {\n if (this.suiVisible === value) {\n return;\n }\n this.suiVisible = value;\n this.suiVisibleChange.emit(value);\n if (!this.initialized) {\n this.initialized = true;\n this.lastVisible = value;\n this.applyImmediateVisibility(value);\n this.syncHostClasses();\n this.cdr.markForCheck();\n return;\n }\n this.lastVisible = value;\n this.runVisibilityTransition(value);\n this.cdr.markForCheck();\n }\n\n private runVisibilityTransition(targetVisible: boolean): void {\n if (this.suiDisabled) {\n this.suiAnimationStart.emit();\n this.applyImmediateVisibility(targetVisible);\n this.emitVisibilityCallbacks(targetVisible);\n this.cdr.markForCheck();\n return;\n }\n const { baseName, explicitDirection } = parseTransitionName(this.suiAnimation);\n const direction = resolveTransitionDirection(\n explicitDirection,\n this.suiDirection,\n targetVisible\n );\n const motionBase = isStaticTransitionName(baseName) ? 'fade' : baseName;\n const durationCss = durationToCss(this.suiDuration);\n const steps =\n direction === 'in'\n ? buildEnterSteps(motionBase, durationCss)\n : buildLeaveSteps(motionBase, durationCss);\n this.playSteps(steps, targetVisible);\n }\n\n private runStaticAnimation(): void {\n const { baseName } = parseTransitionName(this.suiAnimation);\n if (!isStaticTransitionName(baseName) || this.suiDisabled) {\n return;\n }\n const steps = buildStaticSteps(baseName, durationToCss(this.suiDuration));\n if (!steps) {\n return;\n }\n this.playSteps(steps, true, true);\n }\n\n private playSteps(\n steps: AnimationMetadata[],\n endingVisible: boolean,\n isStatic = false\n ): void {\n this.destroyPlayer();\n this.animating = true;\n this.suiAnimationStart.emit();\n this.syncHostClasses();\n this.cdr.markForCheck();\n\n const factory = this.builder.build(steps);\n const player = factory.create(this.el.nativeElement);\n this.player = player;\n\n player.onDone(() => {\n this.zone.run(() => {\n this.player = null;\n this.animating = false;\n if (endingVisible) {\n this.applyVisibleEndState();\n this.hidden = false;\n } else {\n this.applyHiddenEndState();\n this.hidden = true;\n }\n this.suiAnimationComplete.emit();\n if (!isStatic) {\n if (endingVisible) {\n this.suiOnShow.emit();\n } else {\n this.suiOnHide.emit();\n }\n }\n this.syncHostClasses();\n this.cdr.markForCheck();\n });\n });\n\n player.play();\n }\n\n private emitVisibilityCallbacks(targetVisible: boolean): void {\n this.suiAnimationComplete.emit();\n if (targetVisible) {\n this.suiOnShow.emit();\n } else {\n this.suiOnHide.emit();\n }\n }\n\n private applyImmediateVisibility(visible: boolean): void {\n this.destroyPlayer();\n this.animating = false;\n if (visible) {\n this.applyVisibleEndState();\n this.hidden = false;\n } else {\n this.applyHiddenEndState();\n this.hidden = true;\n }\n this.syncHostClasses();\n }\n\n private applyVisibleEndState(): void {\n const el = this.el.nativeElement;\n this.renderer.setStyle(el, 'opacity', '1');\n this.renderer.setStyle(el, 'visibility', 'visible');\n this.renderer.removeStyle(el, 'transform');\n this.renderer.removeStyle(el, 'transform-origin');\n this.renderer.removeStyle(el, 'box-shadow');\n }\n\n private applyHiddenEndState(): void {\n const el = this.el.nativeElement;\n this.renderer.setStyle(el, 'opacity', '0');\n this.renderer.setStyle(el, 'visibility', 'hidden');\n this.renderer.removeStyle(el, 'transform');\n this.renderer.removeStyle(el, 'transform-origin');\n }\n\n private destroyPlayer(): void {\n if (this.player) {\n this.player.destroy();\n this.player = null;\n }\n }\n\n private syncHostClasses(): void {\n const { baseName } = parseTransitionName(this.suiAnimation);\n const tokens = ClassUtils.combineToClass([\n 'transition',\n ...baseName.split(' '),\n ClassUtils.getPropClass(this.animating, 'animating'),\n ClassUtils.getPropClass(this.suiDisabled, 'disabled'),\n ClassUtils.getPropClass(!this.hidden, 'visible'),\n ClassUtils.getPropClass(this.hidden, 'hidden')\n ]);\n this.hostClassList = ClassUtils.removeExcessWhitespace(tokens);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiTransitionComponent } from './transition.component';\n\n@NgModule({\n imports: [SuiTransitionComponent],\n exports: [SuiTransitionComponent]\n})\nexport class SuiTransitionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, ElementRef, Renderer2, NgZone, EventEmitter, Output, Input, Directive, NgModule } from '@angular/core';
|
|
5
|
+
import { InputBoolean } from 'ngx-semantic/core/util';
|
|
6
|
+
import { Subject, fromEvent } from 'rxjs';
|
|
7
|
+
import { takeUntil } from 'rxjs/operators';
|
|
8
|
+
|
|
9
|
+
function computeVisibilityCalculations(input) {
|
|
10
|
+
const offset = input.offset || 0;
|
|
11
|
+
let top = input.element.top;
|
|
12
|
+
let bottom = input.element.bottom;
|
|
13
|
+
let height = input.element.height;
|
|
14
|
+
if (input.includeMargin) {
|
|
15
|
+
top -= input.marginTop;
|
|
16
|
+
bottom += input.marginBottom;
|
|
17
|
+
height += input.marginTop + input.marginBottom;
|
|
18
|
+
}
|
|
19
|
+
const screenTop = input.screen.top + offset;
|
|
20
|
+
const screenBottom = input.screen.top + input.screen.height + offset;
|
|
21
|
+
const topVisible = screenBottom >= top;
|
|
22
|
+
const topPassed = screenTop >= top;
|
|
23
|
+
const bottomVisible = screenBottom >= bottom;
|
|
24
|
+
const bottomPassed = screenTop >= bottom;
|
|
25
|
+
const onScreen = topVisible && !bottomPassed;
|
|
26
|
+
const passing = topPassed && !bottomPassed;
|
|
27
|
+
const pixelsPassed = Math.max(0, screenTop - top);
|
|
28
|
+
const percentagePassed = height > 0 ? pixelsPassed / height : 0;
|
|
29
|
+
const direction = input.scrollTop < input.lastScrollTop ? 'up' : 'down';
|
|
30
|
+
return {
|
|
31
|
+
topVisible,
|
|
32
|
+
topPassed,
|
|
33
|
+
bottomVisible,
|
|
34
|
+
bottomPassed,
|
|
35
|
+
passing,
|
|
36
|
+
onScreen,
|
|
37
|
+
offScreen: !onScreen,
|
|
38
|
+
fits: height < input.screen.height,
|
|
39
|
+
width: input.element.width,
|
|
40
|
+
height,
|
|
41
|
+
pixelsPassed,
|
|
42
|
+
percentagePassed,
|
|
43
|
+
direction
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function passedAmounts(config) {
|
|
47
|
+
if (!config) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
if (Array.isArray(config)) {
|
|
51
|
+
return config;
|
|
52
|
+
}
|
|
53
|
+
return Object.keys(config);
|
|
54
|
+
}
|
|
55
|
+
/** Convert `'10%'` / `'200px'` / `'50'` into pixels for the current element height. */
|
|
56
|
+
function passedThresholdPixels(amount, elementHeight) {
|
|
57
|
+
const trimmed = amount.trim();
|
|
58
|
+
if (trimmed.endsWith('%')) {
|
|
59
|
+
return (parseFloat(trimmed) / 100) * elementHeight;
|
|
60
|
+
}
|
|
61
|
+
return parseFloat(trimmed);
|
|
62
|
+
}
|
|
63
|
+
function shouldEmitCondition(current, previous, alreadyOccurred, once, continuous) {
|
|
64
|
+
if (!current) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
if (continuous) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if (once) {
|
|
71
|
+
return !alreadyOccurred;
|
|
72
|
+
}
|
|
73
|
+
return !previous;
|
|
74
|
+
}
|
|
75
|
+
function shouldEmitReverse(current, previous, forwardOccurred, reverseOccurred, once, continuous) {
|
|
76
|
+
if (current || !(forwardOccurred || previous)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (continuous) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
if (once) {
|
|
83
|
+
return !reverseOccurred;
|
|
84
|
+
}
|
|
85
|
+
return previous;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const CONDITION_KEYS = ['onScreen', 'offScreen', 'topVisible', 'topPassed', 'bottomVisible', 'bottomPassed', 'passing'];
|
|
89
|
+
const REVERSE_KEYS = {
|
|
90
|
+
topVisible: 'topVisibleReverse',
|
|
91
|
+
topPassed: 'topPassedReverse',
|
|
92
|
+
bottomVisible: 'bottomVisibleReverse',
|
|
93
|
+
bottomPassed: 'bottomPassedReverse',
|
|
94
|
+
passing: 'passingReverse'
|
|
95
|
+
};
|
|
96
|
+
class SuiVisibilityDirective {
|
|
97
|
+
constructor() {
|
|
98
|
+
this.document = inject(DOCUMENT);
|
|
99
|
+
this.el = inject(ElementRef);
|
|
100
|
+
this.renderer = inject(Renderer2);
|
|
101
|
+
this.zone = inject(NgZone);
|
|
102
|
+
/** Semantic UI `once` — each condition fires once until `refresh()`. */
|
|
103
|
+
this.suiOnce = true;
|
|
104
|
+
/** Fire on every check while the condition holds. */
|
|
105
|
+
this.suiContinuous = false;
|
|
106
|
+
/** Scroll context (`window`, selector, or element). */
|
|
107
|
+
this.suiContext = 'window';
|
|
108
|
+
/** Alias of `suiContext` (sticky-style). Takes precedence when set. */
|
|
109
|
+
this.suiScrollContext = null;
|
|
110
|
+
this.suiOffset = 0;
|
|
111
|
+
this.suiIncludeMargin = false;
|
|
112
|
+
this.suiInitialCheck = true;
|
|
113
|
+
this.suiObserveChanges = false;
|
|
114
|
+
/** Milliseconds to throttle scroll checks; `false` uses `requestAnimationFrame`. */
|
|
115
|
+
this.suiThrottle = false;
|
|
116
|
+
this.suiType = false;
|
|
117
|
+
this.suiPassed = null;
|
|
118
|
+
this.suiZIndex = 1;
|
|
119
|
+
this.suiOnOnScreen = new EventEmitter();
|
|
120
|
+
this.suiOnOffScreen = new EventEmitter();
|
|
121
|
+
this.suiOnTopVisible = new EventEmitter();
|
|
122
|
+
this.suiOnTopPassed = new EventEmitter();
|
|
123
|
+
this.suiOnBottomVisible = new EventEmitter();
|
|
124
|
+
this.suiOnBottomPassed = new EventEmitter();
|
|
125
|
+
this.suiOnPassing = new EventEmitter();
|
|
126
|
+
this.suiOnTopVisibleReverse = new EventEmitter();
|
|
127
|
+
this.suiOnTopPassedReverse = new EventEmitter();
|
|
128
|
+
this.suiOnBottomVisibleReverse = new EventEmitter();
|
|
129
|
+
this.suiOnBottomPassedReverse = new EventEmitter();
|
|
130
|
+
this.suiOnPassingReverse = new EventEmitter();
|
|
131
|
+
this.suiOnUpdate = new EventEmitter();
|
|
132
|
+
this.suiOnPassed = new EventEmitter();
|
|
133
|
+
this.suiOnRefresh = new EventEmitter();
|
|
134
|
+
this.suiOnFixed = new EventEmitter();
|
|
135
|
+
this.suiOnUnfixed = new EventEmitter();
|
|
136
|
+
this.suiOnLoad = new EventEmitter();
|
|
137
|
+
this.lastCalculations = null;
|
|
138
|
+
this.destroy$ = new Subject();
|
|
139
|
+
this.occurred = {};
|
|
140
|
+
this.previous = {};
|
|
141
|
+
this.scrollEl = window;
|
|
142
|
+
this.lastScrollTop = 0;
|
|
143
|
+
this.disabled = false;
|
|
144
|
+
this.mutationObserver = null;
|
|
145
|
+
this.refreshTimer = null;
|
|
146
|
+
this.throttleTimer = null;
|
|
147
|
+
this.rafId = null;
|
|
148
|
+
this.imageLoaded = false;
|
|
149
|
+
this.isFixed = false;
|
|
150
|
+
this.placeholder = null;
|
|
151
|
+
this.emitters = {
|
|
152
|
+
onScreen: this.suiOnOnScreen,
|
|
153
|
+
offScreen: this.suiOnOffScreen,
|
|
154
|
+
topVisible: this.suiOnTopVisible,
|
|
155
|
+
topPassed: this.suiOnTopPassed,
|
|
156
|
+
bottomVisible: this.suiOnBottomVisible,
|
|
157
|
+
bottomPassed: this.suiOnBottomPassed,
|
|
158
|
+
passing: this.suiOnPassing,
|
|
159
|
+
topVisibleReverse: this.suiOnTopVisibleReverse,
|
|
160
|
+
topPassedReverse: this.suiOnTopPassedReverse,
|
|
161
|
+
bottomVisibleReverse: this.suiOnBottomVisibleReverse,
|
|
162
|
+
bottomPassedReverse: this.suiOnBottomPassedReverse,
|
|
163
|
+
passingReverse: this.suiOnPassingReverse
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
ngOnInit() {
|
|
167
|
+
this.bindListeners();
|
|
168
|
+
}
|
|
169
|
+
ngAfterViewInit() {
|
|
170
|
+
if (this.suiObserveChanges && typeof MutationObserver !== 'undefined') {
|
|
171
|
+
this.mutationObserver = new MutationObserver(() => this.scheduleRefresh());
|
|
172
|
+
this.mutationObserver.observe(this.el.nativeElement, { childList: true, subtree: true, attributes: true });
|
|
173
|
+
}
|
|
174
|
+
if (this.suiInitialCheck) {
|
|
175
|
+
queueMicrotask(() => this.check());
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
ngOnDestroy() {
|
|
179
|
+
this.destroy$.next();
|
|
180
|
+
this.destroy$.complete();
|
|
181
|
+
this.mutationObserver?.disconnect();
|
|
182
|
+
if (this.refreshTimer) {
|
|
183
|
+
clearTimeout(this.refreshTimer);
|
|
184
|
+
}
|
|
185
|
+
if (this.throttleTimer) {
|
|
186
|
+
clearTimeout(this.throttleTimer);
|
|
187
|
+
}
|
|
188
|
+
if (this.rafId != null) {
|
|
189
|
+
cancelAnimationFrame(this.rafId);
|
|
190
|
+
}
|
|
191
|
+
this.removePlaceholder();
|
|
192
|
+
}
|
|
193
|
+
/** Mirrors `visibility('refresh')` — clears occurred flags and rechecks. */
|
|
194
|
+
refresh() {
|
|
195
|
+
Object.keys(this.occurred).forEach((key) => {
|
|
196
|
+
delete this.occurred[key];
|
|
197
|
+
});
|
|
198
|
+
Object.keys(this.previous).forEach((key) => {
|
|
199
|
+
delete this.previous[key];
|
|
200
|
+
});
|
|
201
|
+
this.suiOnRefresh.emit();
|
|
202
|
+
this.check();
|
|
203
|
+
}
|
|
204
|
+
disable() {
|
|
205
|
+
this.disabled = true;
|
|
206
|
+
}
|
|
207
|
+
enable() {
|
|
208
|
+
this.disabled = false;
|
|
209
|
+
this.check();
|
|
210
|
+
}
|
|
211
|
+
/** Mirrors `visibility('check')`. */
|
|
212
|
+
check() {
|
|
213
|
+
if (this.disabled) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
this.scrollEl = this.resolveScrollElement();
|
|
217
|
+
const calculations = this.readCalculations();
|
|
218
|
+
this.lastCalculations = calculations;
|
|
219
|
+
this.suiOnUpdate.emit(calculations);
|
|
220
|
+
this.emitConditions(calculations);
|
|
221
|
+
this.emitPassed(calculations);
|
|
222
|
+
this.applyImageType(calculations);
|
|
223
|
+
this.applyFixedType(calculations);
|
|
224
|
+
}
|
|
225
|
+
bindListeners() {
|
|
226
|
+
const win = this.document.defaultView;
|
|
227
|
+
this.scrollEl = this.resolveScrollElement();
|
|
228
|
+
this.zone.runOutsideAngular(() => {
|
|
229
|
+
const scrollTarget = this.scrollEl === window ? win : this.scrollEl;
|
|
230
|
+
fromEvent(scrollTarget, 'scroll', { passive: true })
|
|
231
|
+
.pipe(takeUntil(this.destroy$))
|
|
232
|
+
.subscribe(() => this.scheduleCheck());
|
|
233
|
+
fromEvent(win, 'resize', { passive: true })
|
|
234
|
+
.pipe(takeUntil(this.destroy$))
|
|
235
|
+
.subscribe(() => this.scheduleCheck());
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
scheduleCheck() {
|
|
239
|
+
if (this.disabled) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (typeof this.suiThrottle === 'number' && this.suiThrottle > 0) {
|
|
243
|
+
if (this.throttleTimer != null) {
|
|
244
|
+
clearTimeout(this.throttleTimer);
|
|
245
|
+
}
|
|
246
|
+
this.throttleTimer = setTimeout(() => {
|
|
247
|
+
this.throttleTimer = null;
|
|
248
|
+
this.zone.run(() => this.check());
|
|
249
|
+
}, this.suiThrottle);
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
if (this.rafId != null) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
this.rafId = requestAnimationFrame(() => {
|
|
256
|
+
this.rafId = null;
|
|
257
|
+
this.zone.run(() => this.check());
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
scheduleRefresh() {
|
|
261
|
+
if (this.refreshTimer) {
|
|
262
|
+
clearTimeout(this.refreshTimer);
|
|
263
|
+
}
|
|
264
|
+
this.refreshTimer = setTimeout(() => {
|
|
265
|
+
this.refreshTimer = null;
|
|
266
|
+
this.refresh();
|
|
267
|
+
}, 100);
|
|
268
|
+
}
|
|
269
|
+
resolveScrollElement() {
|
|
270
|
+
const ctx = this.suiScrollContext ?? this.suiContext;
|
|
271
|
+
if (!ctx || ctx === 'window') {
|
|
272
|
+
return window;
|
|
273
|
+
}
|
|
274
|
+
if (typeof ctx !== 'string') {
|
|
275
|
+
return ctx;
|
|
276
|
+
}
|
|
277
|
+
const found = this.document.querySelector(ctx);
|
|
278
|
+
return found || window;
|
|
279
|
+
}
|
|
280
|
+
readScrollTop() {
|
|
281
|
+
return this.scrollEl === window ? window.scrollY : this.scrollEl.scrollTop;
|
|
282
|
+
}
|
|
283
|
+
readCalculations() {
|
|
284
|
+
const host = this.el.nativeElement;
|
|
285
|
+
const elRect = host.getBoundingClientRect();
|
|
286
|
+
const cs = getComputedStyle(host);
|
|
287
|
+
const marginTop = parseFloat(cs.marginTop) || 0;
|
|
288
|
+
const marginBottom = parseFloat(cs.marginBottom) || 0;
|
|
289
|
+
const scrollTop = this.readScrollTop();
|
|
290
|
+
const screen = this.scrollEl === window
|
|
291
|
+
? { top: 0, height: window.innerHeight }
|
|
292
|
+
: (() => {
|
|
293
|
+
const r = this.scrollEl.getBoundingClientRect();
|
|
294
|
+
return { top: r.top, height: r.height };
|
|
295
|
+
})();
|
|
296
|
+
const calculations = computeVisibilityCalculations({
|
|
297
|
+
element: { top: elRect.top, bottom: elRect.bottom, width: elRect.width, height: elRect.height },
|
|
298
|
+
screen,
|
|
299
|
+
offset: this.suiOffset,
|
|
300
|
+
includeMargin: this.suiIncludeMargin,
|
|
301
|
+
marginTop,
|
|
302
|
+
marginBottom,
|
|
303
|
+
lastScrollTop: this.lastScrollTop,
|
|
304
|
+
scrollTop
|
|
305
|
+
});
|
|
306
|
+
this.lastScrollTop = scrollTop;
|
|
307
|
+
return calculations;
|
|
308
|
+
}
|
|
309
|
+
emitConditions(calculations) {
|
|
310
|
+
for (const key of CONDITION_KEYS) {
|
|
311
|
+
const current = calculations[key];
|
|
312
|
+
const previous = !!this.previous[key];
|
|
313
|
+
const reverseKey = REVERSE_KEYS[key];
|
|
314
|
+
if (shouldEmitCondition(current, previous, !!this.occurred[key], this.suiOnce, this.suiContinuous)) {
|
|
315
|
+
this.emitters[key].emit(calculations);
|
|
316
|
+
}
|
|
317
|
+
if (reverseKey && shouldEmitReverse(current, previous, !!this.occurred[key], !!this.occurred[reverseKey], this.suiOnce, this.suiContinuous)) {
|
|
318
|
+
this.emitters[reverseKey].emit(calculations);
|
|
319
|
+
this.occurred[reverseKey] = true;
|
|
320
|
+
}
|
|
321
|
+
if (current) {
|
|
322
|
+
this.occurred[key] = true;
|
|
323
|
+
if (!this.suiOnce && reverseKey) {
|
|
324
|
+
this.occurred[reverseKey] = false;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
else if (!this.suiOnce) {
|
|
328
|
+
this.occurred[key] = false;
|
|
329
|
+
}
|
|
330
|
+
this.previous[key] = current;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
emitPassed(calculations) {
|
|
334
|
+
if (!calculations.topPassed && !calculations.passing) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
for (const amount of passedAmounts(this.suiPassed)) {
|
|
338
|
+
const px = passedThresholdPixels(amount, calculations.height);
|
|
339
|
+
if (Number.isNaN(px) || calculations.pixelsPassed < px) {
|
|
340
|
+
continue;
|
|
341
|
+
}
|
|
342
|
+
const occurredKey = `passed:${amount}`;
|
|
343
|
+
const previous = !!this.previous[occurredKey];
|
|
344
|
+
if (shouldEmitCondition(true, previous, !!this.occurred[occurredKey], this.suiOnce, this.suiContinuous)) {
|
|
345
|
+
this.suiOnPassed.emit({ amount, calculations });
|
|
346
|
+
}
|
|
347
|
+
this.occurred[occurredKey] = true;
|
|
348
|
+
this.previous[occurredKey] = true;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
applyImageType(calculations) {
|
|
352
|
+
if (this.suiType !== 'image' || this.imageLoaded || !calculations.topVisible) {
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
const host = this.el.nativeElement;
|
|
356
|
+
const src = host.getAttribute('data-src');
|
|
357
|
+
if (!src) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
this.renderer.setAttribute(host, 'src', src);
|
|
361
|
+
this.renderer.removeAttribute(host, 'data-src');
|
|
362
|
+
this.imageLoaded = true;
|
|
363
|
+
this.suiOnLoad.emit(calculations);
|
|
364
|
+
}
|
|
365
|
+
applyFixedType(calculations) {
|
|
366
|
+
if (this.suiType !== 'fixed') {
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
if (calculations.topPassed) {
|
|
370
|
+
this.fixElement(calculations);
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
this.unfixElement(calculations);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
fixElement(calculations) {
|
|
377
|
+
if (this.isFixed) {
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
const host = this.el.nativeElement;
|
|
381
|
+
const rect = host.getBoundingClientRect();
|
|
382
|
+
const parent = host.parentNode;
|
|
383
|
+
if (parent) {
|
|
384
|
+
this.placeholder = this.renderer.createElement('div');
|
|
385
|
+
this.renderer.setStyle(this.placeholder, 'display', 'block');
|
|
386
|
+
this.renderer.setStyle(this.placeholder, 'width', `${rect.width}px`);
|
|
387
|
+
this.renderer.setStyle(this.placeholder, 'height', `${rect.height}px`);
|
|
388
|
+
this.renderer.insertBefore(parent, this.placeholder, host);
|
|
389
|
+
}
|
|
390
|
+
this.renderer.addClass(host, 'fixed');
|
|
391
|
+
this.renderer.setStyle(host, 'position', 'fixed');
|
|
392
|
+
this.renderer.setStyle(host, 'top', `${this.suiOffset}px`);
|
|
393
|
+
this.renderer.setStyle(host, 'z-index', String(this.suiZIndex));
|
|
394
|
+
this.isFixed = true;
|
|
395
|
+
this.suiOnFixed.emit(calculations);
|
|
396
|
+
}
|
|
397
|
+
unfixElement(calculations) {
|
|
398
|
+
if (!this.isFixed) {
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
const host = this.el.nativeElement;
|
|
402
|
+
this.renderer.removeClass(host, 'fixed');
|
|
403
|
+
this.renderer.removeStyle(host, 'position');
|
|
404
|
+
this.renderer.removeStyle(host, 'top');
|
|
405
|
+
this.renderer.removeStyle(host, 'z-index');
|
|
406
|
+
this.removePlaceholder();
|
|
407
|
+
this.isFixed = false;
|
|
408
|
+
this.suiOnUnfixed.emit(calculations);
|
|
409
|
+
}
|
|
410
|
+
removePlaceholder() {
|
|
411
|
+
if (!this.placeholder) {
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
const parent = this.placeholder.parentNode;
|
|
415
|
+
if (parent) {
|
|
416
|
+
this.renderer.removeChild(parent, this.placeholder);
|
|
417
|
+
}
|
|
418
|
+
this.placeholder = null;
|
|
419
|
+
}
|
|
420
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiVisibilityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
421
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SuiVisibilityDirective, isStandalone: true, selector: "[suiVisibility]", inputs: { suiOnce: "suiOnce", suiContinuous: "suiContinuous", suiContext: "suiContext", suiScrollContext: "suiScrollContext", suiOffset: "suiOffset", suiIncludeMargin: "suiIncludeMargin", suiInitialCheck: "suiInitialCheck", suiObserveChanges: "suiObserveChanges", suiThrottle: "suiThrottle", suiType: "suiType", suiPassed: "suiPassed", suiZIndex: "suiZIndex" }, outputs: { suiOnOnScreen: "suiOnOnScreen", suiOnOffScreen: "suiOnOffScreen", suiOnTopVisible: "suiOnTopVisible", suiOnTopPassed: "suiOnTopPassed", suiOnBottomVisible: "suiOnBottomVisible", suiOnBottomPassed: "suiOnBottomPassed", suiOnPassing: "suiOnPassing", suiOnTopVisibleReverse: "suiOnTopVisibleReverse", suiOnTopPassedReverse: "suiOnTopPassedReverse", suiOnBottomVisibleReverse: "suiOnBottomVisibleReverse", suiOnBottomPassedReverse: "suiOnBottomPassedReverse", suiOnPassingReverse: "suiOnPassingReverse", suiOnUpdate: "suiOnUpdate", suiOnPassed: "suiOnPassed", suiOnRefresh: "suiOnRefresh", suiOnFixed: "suiOnFixed", suiOnUnfixed: "suiOnUnfixed", suiOnLoad: "suiOnLoad" }, exportAs: ["suiVisibility"], ngImport: i0 }); }
|
|
422
|
+
}
|
|
423
|
+
__decorate([
|
|
424
|
+
InputBoolean()
|
|
425
|
+
], SuiVisibilityDirective.prototype, "suiOnce", void 0);
|
|
426
|
+
__decorate([
|
|
427
|
+
InputBoolean()
|
|
428
|
+
], SuiVisibilityDirective.prototype, "suiContinuous", void 0);
|
|
429
|
+
__decorate([
|
|
430
|
+
InputBoolean()
|
|
431
|
+
], SuiVisibilityDirective.prototype, "suiIncludeMargin", void 0);
|
|
432
|
+
__decorate([
|
|
433
|
+
InputBoolean()
|
|
434
|
+
], SuiVisibilityDirective.prototype, "suiInitialCheck", void 0);
|
|
435
|
+
__decorate([
|
|
436
|
+
InputBoolean()
|
|
437
|
+
], SuiVisibilityDirective.prototype, "suiObserveChanges", void 0);
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiVisibilityDirective, decorators: [{
|
|
439
|
+
type: Directive,
|
|
440
|
+
args: [{
|
|
441
|
+
standalone: true,
|
|
442
|
+
selector: '[suiVisibility]',
|
|
443
|
+
exportAs: 'suiVisibility'
|
|
444
|
+
}]
|
|
445
|
+
}], propDecorators: { suiOnce: [{
|
|
446
|
+
type: Input
|
|
447
|
+
}], suiContinuous: [{
|
|
448
|
+
type: Input
|
|
449
|
+
}], suiContext: [{
|
|
450
|
+
type: Input
|
|
451
|
+
}], suiScrollContext: [{
|
|
452
|
+
type: Input
|
|
453
|
+
}], suiOffset: [{
|
|
454
|
+
type: Input
|
|
455
|
+
}], suiIncludeMargin: [{
|
|
456
|
+
type: Input
|
|
457
|
+
}], suiInitialCheck: [{
|
|
458
|
+
type: Input
|
|
459
|
+
}], suiObserveChanges: [{
|
|
460
|
+
type: Input
|
|
461
|
+
}], suiThrottle: [{
|
|
462
|
+
type: Input
|
|
463
|
+
}], suiType: [{
|
|
464
|
+
type: Input
|
|
465
|
+
}], suiPassed: [{
|
|
466
|
+
type: Input
|
|
467
|
+
}], suiZIndex: [{
|
|
468
|
+
type: Input
|
|
469
|
+
}], suiOnOnScreen: [{
|
|
470
|
+
type: Output
|
|
471
|
+
}], suiOnOffScreen: [{
|
|
472
|
+
type: Output
|
|
473
|
+
}], suiOnTopVisible: [{
|
|
474
|
+
type: Output
|
|
475
|
+
}], suiOnTopPassed: [{
|
|
476
|
+
type: Output
|
|
477
|
+
}], suiOnBottomVisible: [{
|
|
478
|
+
type: Output
|
|
479
|
+
}], suiOnBottomPassed: [{
|
|
480
|
+
type: Output
|
|
481
|
+
}], suiOnPassing: [{
|
|
482
|
+
type: Output
|
|
483
|
+
}], suiOnTopVisibleReverse: [{
|
|
484
|
+
type: Output
|
|
485
|
+
}], suiOnTopPassedReverse: [{
|
|
486
|
+
type: Output
|
|
487
|
+
}], suiOnBottomVisibleReverse: [{
|
|
488
|
+
type: Output
|
|
489
|
+
}], suiOnBottomPassedReverse: [{
|
|
490
|
+
type: Output
|
|
491
|
+
}], suiOnPassingReverse: [{
|
|
492
|
+
type: Output
|
|
493
|
+
}], suiOnUpdate: [{
|
|
494
|
+
type: Output
|
|
495
|
+
}], suiOnPassed: [{
|
|
496
|
+
type: Output
|
|
497
|
+
}], suiOnRefresh: [{
|
|
498
|
+
type: Output
|
|
499
|
+
}], suiOnFixed: [{
|
|
500
|
+
type: Output
|
|
501
|
+
}], suiOnUnfixed: [{
|
|
502
|
+
type: Output
|
|
503
|
+
}], suiOnLoad: [{
|
|
504
|
+
type: Output
|
|
505
|
+
}] } });
|
|
506
|
+
|
|
507
|
+
class SuiVisibilityModule {
|
|
508
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiVisibilityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
509
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: SuiVisibilityModule, imports: [CommonModule, SuiVisibilityDirective], exports: [SuiVisibilityDirective] }); }
|
|
510
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiVisibilityModule, imports: [CommonModule] }); }
|
|
511
|
+
}
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SuiVisibilityModule, decorators: [{
|
|
513
|
+
type: NgModule,
|
|
514
|
+
args: [{
|
|
515
|
+
imports: [CommonModule, SuiVisibilityDirective],
|
|
516
|
+
exports: [SuiVisibilityDirective]
|
|
517
|
+
}]
|
|
518
|
+
}] });
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* Generated bundle index. Do not edit.
|
|
522
|
+
*/
|
|
523
|
+
|
|
524
|
+
export { SuiVisibilityDirective, SuiVisibilityModule };
|
|
525
|
+
//# sourceMappingURL=ngx-semantic-modules-visibility.mjs.map
|