@spicainternational/ngx-sds-components 9.2.0-beta.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +10 -10
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +81 -139
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/ripple/sds-ripple.css +20 -20
- package/types/spicainternational-ngx-sds-components-src-lib-navigation.d.ts +26 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-highlight-text.mjs","sources":["../../../projects/ngx-sds-components/src/lib/highlight-text/utils/highlight-text.utils.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/directives/highlight-text.directive.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/pipes/highlight-text.pipe.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.ts"],"sourcesContent":["import { SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n/**\r\n * @public @function escapeRegex\r\n * @description\r\n * Function responsible for substitution of chars that are a no-go for regex\r\n * @param { string } phrase\r\n * @returns { string }\r\n */\r\nexport const escapeRegex = (phrase: string): string => {\r\n return phrase.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\r\n};\r\n\r\n/**\r\n * @public @function highlightSearchedText\r\n * @description\r\n * Function responsible for returning html string\r\n * with included marker that contains string that matches\r\n * provided search phrase\r\n * @param { string } highlightText\r\n * @param { string } stringToBeChecked\r\n * @param { string } existingHtmlContent\r\n * @param { string } additionalClasses\r\n * @param { string } sanitizer\r\n * @returns { string }\r\n */\r\nexport const highlightSearchedText = (\r\n highlightText: string,\r\n stringToBeChecked: string,\r\n existingHtmlContent: string,\r\n sanitizer: DomSanitizer,\r\n additionalClasses?: string\r\n ): string => {\r\n // If search is empty just return current content\r\n if (highlightText === '') {\r\n return stringToBeChecked;\r\n }\r\n\r\n // Split search string into words\r\n const splittedValue = highlightText.split(' ');\r\n\r\n if (!splittedValue || splittedValue.length === 0) {\r\n return stringToBeChecked;\r\n }\r\n\r\n const splittedStringToBeChecked: string[] = stringToBeChecked\r\n ? stringToBeChecked.split(' ')\r\n : [];\r\n\r\n const searchPhrases: string[] = splittedValue.filter(\r\n phrase => phrase.length > 0\r\n );\r\n\r\n const markedWords: string[] = [];\r\n\r\n // Go through search phrases and validate each string\r\n const newContent = splittedStringToBeChecked\r\n .map((wordToBeChecked: string) => {\r\n const searchMarkRawResult = searchPhrases\r\n .map(phrase => {\r\n const safeString = escapeRegex(phrase);\r\n\r\n const searchRegEx = new RegExp(safeString, 'i');\r\n\r\n const testResult: boolean = searchRegEx.test(wordToBeChecked);\r\n\r\n if (!testResult) {\r\n return wordToBeChecked;\r\n }\r\n\r\n // Prevent text duplication when user enters same word multiple times\r\n const wordIsAlreadyMarked = markedWords.some(alreadyMarkedWord => alreadyMarkedWord === wordToBeChecked)\r\n\r\n if (wordIsAlreadyMarked) {\r\n return wordToBeChecked;\r\n }\r\n\r\n markedWords.push(wordToBeChecked);\r\n\r\n // Prepare content to be replaced with mark text\r\n const markedContent = wordToBeChecked.replace(\r\n searchRegEx,\r\n (match: string) => {\r\n return `<mark class='bg-primary text-white p-0 ${\r\n additionalClasses ?? ''\r\n }'>${match}</mark>`;\r\n }\r\n );\r\n return markedContent;\r\n })\r\n .reduce((accumulator: string[], currentItem: string) => {\r\n const itemAlreadyExists = accumulator.some(\r\n item => item === currentItem\r\n );\r\n\r\n if (!itemAlreadyExists) {\r\n accumulator.push(currentItem);\r\n }\r\n\r\n return accumulator;\r\n }, []);\r\n\r\n /**\r\n * At this point we have correctly marker content, however there can be\r\n * duplicate words in the array. E.g. we have text First Client and user\r\n * types Client First. This will give us two array. First one would be:\r\n * ['First', '<mark class='highlighted-text '>First</mark>']\r\n * Second one would be:\r\n * ['<mark class='highlighted-text '>Client</mark>', 'Client']\r\n * We have to filter out those plain values that are marked\r\n */\r\n const sanitizedMarkedContent = searchMarkRawResult.filter(\r\n markedContentItem => {\r\n const wordIsAlsoMarked = markedWords.some(\r\n word => word === markedContentItem\r\n );\r\n\r\n if (wordIsAlsoMarked) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n );\r\n\r\n return sanitizedMarkedContent;\r\n })\r\n .join(' ');\r\n\r\n /**\r\n * We want to sanitize this before pushing to DOM.\r\n * Just to be on the safe side. Fallback to existing value if\r\n * sanitize returns null\r\n */\r\n const sanitizedContent =\r\n sanitizer.sanitize(SecurityContext.HTML, newContent) ?? existingHtmlContent;\r\n\r\n return sanitizedContent;\r\n};\r\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { highlightSearchedText } from '../utils';\r\n\r\n@Directive({\r\n selector: '[sdsHighlightText]',\r\n standalone: true\r\n})\r\nexport class SdsHighlightTextDirective {\r\n/**\r\n * INPUTS\r\n */\r\n /**\r\n * CSS classes to be appended to the marked text\r\n */\r\n @Input() additionalClasses: string = '';\r\n\r\n /**\r\n * Search term that should be found\r\n */\r\n private _search: string = '';\r\n @Input()\r\n get highlightText(): string {\r\n return this._search;\r\n }\r\n set highlightText(value: string) {\r\n this._search = value;\r\n\r\n // Now process the search value\r\n this.markSearchedText(value);\r\n }\r\n\r\n /**\r\n * OTHER PROPS\r\n */\r\n @HostBinding('innerHtml')\r\n content!: string;\r\n\r\n /**\r\n * For now make this case insensitive. We might change this to\r\n * input latter if needed\r\n */\r\n protected caseSensitive: boolean = false;\r\n\r\n constructor(\r\n private readonly _elementRef: ElementRef,\r\n private readonly _sanitizer: DomSanitizer\r\n ) {}\r\n\r\n protected markSearchedText(highlightText: string): void {\r\n // Make sure that native element is present\r\n if (this._elementRef?.nativeElement) {\r\n const currentHtmlContent = (this._elementRef.nativeElement as HTMLElement)\r\n .innerHTML;\r\n\r\n const text =\r\n (this._elementRef.nativeElement as HTMLElement).textContent ?? '';\r\n\r\n const highlightedText = highlightSearchedText(\r\n highlightText,\r\n text,\r\n currentHtmlContent,\r\n this._sanitizer,\r\n this.additionalClasses\r\n );\r\n\r\n this.content = highlightedText;\r\n }\r\n }\r\n}\r\n","import { ElementRef, Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { highlightSearchedText } from '../utils';\r\n\r\n@Pipe({\r\n name: 'sdsHighlightText',\r\n standalone: true\r\n})\r\nexport class SdsHighlightTextPipe implements PipeTransform {\r\n constructor(\r\n private readonly _elementRef: ElementRef,\r\n private readonly _sanitizer: DomSanitizer\r\n ) {}\r\n\r\n transform(\r\n highlightText: string,\r\n stringToBeChecked: string,\r\n additionalClasses?: string\r\n ): string {\r\n // Make sure that native element is present\r\n if (this._elementRef?.nativeElement) {\r\n const currentHtmlContent = (this._elementRef.nativeElement as HTMLElement)\r\n .innerHTML;\r\n\r\n const highlightedText = highlightSearchedText(\r\n highlightText,\r\n stringToBeChecked,\r\n currentHtmlContent,\r\n this._sanitizer,\r\n additionalClasses\r\n );\r\n\r\n return highlightedText;\r\n }\r\n\r\n return stringToBeChecked;\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-highlight-text.mjs","sources":["../../../projects/ngx-sds-components/src/lib/highlight-text/utils/highlight-text.utils.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/directives/highlight-text.directive.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/pipes/highlight-text.pipe.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.ts"],"sourcesContent":["import { SecurityContext } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @public @function escapeRegex\n * @description\n * Function responsible for substitution of chars that are a no-go for regex\n * @param { string } phrase\n * @returns { string }\n */\nexport const escapeRegex = (phrase: string): string => {\n return phrase.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n};\n\n/**\n * @public @function highlightSearchedText\n * @description\n * Function responsible for returning html string\n * with included marker that contains string that matches\n * provided search phrase\n * @param { string } highlightText\n * @param { string } stringToBeChecked\n * @param { string } existingHtmlContent\n * @param { string } additionalClasses\n * @param { string } sanitizer\n * @returns { string }\n */\nexport const highlightSearchedText = (\n highlightText: string,\n stringToBeChecked: string,\n existingHtmlContent: string,\n sanitizer: DomSanitizer,\n additionalClasses?: string\n ): string => {\n // If search is empty just return current content\n if (highlightText === '') {\n return stringToBeChecked;\n }\n\n // Split search string into words\n const splittedValue = highlightText.split(' ');\n\n if (!splittedValue || splittedValue.length === 0) {\n return stringToBeChecked;\n }\n\n const splittedStringToBeChecked: string[] = stringToBeChecked\n ? stringToBeChecked.split(' ')\n : [];\n\n const searchPhrases: string[] = splittedValue.filter(\n phrase => phrase.length > 0\n );\n\n const markedWords: string[] = [];\n\n // Go through search phrases and validate each string\n const newContent = splittedStringToBeChecked\n .map((wordToBeChecked: string) => {\n const searchMarkRawResult = searchPhrases\n .map(phrase => {\n const safeString = escapeRegex(phrase);\n\n const searchRegEx = new RegExp(safeString, 'i');\n\n const testResult: boolean = searchRegEx.test(wordToBeChecked);\n\n if (!testResult) {\n return wordToBeChecked;\n }\n\n // Prevent text duplication when user enters same word multiple times\n const wordIsAlreadyMarked = markedWords.some(alreadyMarkedWord => alreadyMarkedWord === wordToBeChecked)\n\n if (wordIsAlreadyMarked) {\n return wordToBeChecked;\n }\n\n markedWords.push(wordToBeChecked);\n\n // Prepare content to be replaced with mark text\n const markedContent = wordToBeChecked.replace(\n searchRegEx,\n (match: string) => {\n return `<mark class='bg-primary text-white p-0 ${\n additionalClasses ?? ''\n }'>${match}</mark>`;\n }\n );\n return markedContent;\n })\n .reduce((accumulator: string[], currentItem: string) => {\n const itemAlreadyExists = accumulator.some(\n item => item === currentItem\n );\n\n if (!itemAlreadyExists) {\n accumulator.push(currentItem);\n }\n\n return accumulator;\n }, []);\n\n /**\n * At this point we have correctly marker content, however there can be\n * duplicate words in the array. E.g. we have text First Client and user\n * types Client First. This will give us two array. First one would be:\n * ['First', '<mark class='highlighted-text '>First</mark>']\n * Second one would be:\n * ['<mark class='highlighted-text '>Client</mark>', 'Client']\n * We have to filter out those plain values that are marked\n */\n const sanitizedMarkedContent = searchMarkRawResult.filter(\n markedContentItem => {\n const wordIsAlsoMarked = markedWords.some(\n word => word === markedContentItem\n );\n\n if (wordIsAlsoMarked) {\n return false;\n }\n return true;\n }\n );\n\n return sanitizedMarkedContent;\n })\n .join(' ');\n\n /**\n * We want to sanitize this before pushing to DOM.\n * Just to be on the safe side. Fallback to existing value if\n * sanitize returns null\n */\n const sanitizedContent =\n sanitizer.sanitize(SecurityContext.HTML, newContent) ?? existingHtmlContent;\n\n return sanitizedContent;\n};\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { highlightSearchedText } from '../utils';\n\n@Directive({\n selector: '[sdsHighlightText]',\n standalone: true\n})\nexport class SdsHighlightTextDirective {\n/**\n * INPUTS\n */\n /**\n * CSS classes to be appended to the marked text\n */\n @Input() additionalClasses: string = '';\n\n /**\n * Search term that should be found\n */\n private _search: string = '';\n @Input()\n get highlightText(): string {\n return this._search;\n }\n set highlightText(value: string) {\n this._search = value;\n\n // Now process the search value\n this.markSearchedText(value);\n }\n\n /**\n * OTHER PROPS\n */\n @HostBinding('innerHtml')\n content!: string;\n\n /**\n * For now make this case insensitive. We might change this to\n * input latter if needed\n */\n protected caseSensitive: boolean = false;\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _sanitizer: DomSanitizer\n ) {}\n\n protected markSearchedText(highlightText: string): void {\n // Make sure that native element is present\n if (this._elementRef?.nativeElement) {\n const currentHtmlContent = (this._elementRef.nativeElement as HTMLElement)\n .innerHTML;\n\n const text =\n (this._elementRef.nativeElement as HTMLElement).textContent ?? '';\n\n const highlightedText = highlightSearchedText(\n highlightText,\n text,\n currentHtmlContent,\n this._sanitizer,\n this.additionalClasses\n );\n\n this.content = highlightedText;\n }\n }\n}\n","import { ElementRef, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { highlightSearchedText } from '../utils';\n\n@Pipe({\n name: 'sdsHighlightText',\n standalone: true\n})\nexport class SdsHighlightTextPipe implements PipeTransform {\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _sanitizer: DomSanitizer\n ) {}\n\n transform(\n highlightText: string,\n stringToBeChecked: string,\n additionalClasses?: string\n ): string {\n // Make sure that native element is present\n if (this._elementRef?.nativeElement) {\n const currentHtmlContent = (this._elementRef.nativeElement as HTMLElement)\n .innerHTML;\n\n const highlightedText = highlightSearchedText(\n highlightText,\n stringToBeChecked,\n currentHtmlContent,\n this._sanitizer,\n additionalClasses\n );\n\n return highlightedText;\n }\n\n return stringToBeChecked;\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-intersection.mjs","sources":["../../../projects/ngx-sds-components/src/lib/intersection/services/intersection.service.ts","../../../projects/ngx-sds-components/src/lib/intersection/directives/intersection.directive.ts","../../../projects/ngx-sds-components/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.ts"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-intersection.mjs","sources":["../../../projects/ngx-sds-components/src/lib/intersection/services/intersection.service.ts","../../../projects/ngx-sds-components/src/lib/intersection/directives/intersection.directive.ts","../../../projects/ngx-sds-components/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.ts"],"sourcesContent":["\nimport { ElementRef, Inject, Injectable, DOCUMENT } from '@angular/core';\nimport { Observable, Subscriber, combineLatest, concat, defer, fromEvent, of } from 'rxjs';\nimport { map, mergeMap, distinctUntilChanged } from 'rxjs/operators';\n\n@Injectable()\nexport class SdsIntersectionService {\n private _documentVisible$: Observable<boolean>;\n\n constructor(@Inject(DOCUMENT) document: any) {\n this._documentVisible$ = concat(\n defer(() => of(!document.hidden)),\n fromEvent(document, 'visibilitychange').pipe(map(e => !document.hidden))\n );\n }\n\n /**\n * @description\n * Method responsible for determining if element is visible\n * on screen or not. Please\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API for options meaning\n * @param { ElementRef } element\n * @param { IntersectionObserverInit } options\n * @returns { Observable<boolean> }\n */\n elementInSight$(\n element: ElementRef,\n options?: IntersectionObserverInit\n ): Observable<boolean> {\n const intersectionOptions: IntersectionObserverInit = {\n root: options?.root ?? null,\n rootMargin: options?.rootMargin ?? '0px 0px 0px 0px',\n threshold: options?.threshold ?? 0.5\n };\n\n const elementVisible$ = new Observable(\n (observer: Subscriber<IntersectionObserverEntry[]>) => {\n const intersectionObserver = new IntersectionObserver(entries => {\n observer.next(entries);\n }, intersectionOptions);\n\n intersectionObserver.observe(element.nativeElement);\n\n return () => {\n intersectionObserver.disconnect();\n };\n }\n ).pipe(\n mergeMap((entries: IntersectionObserverEntry[]) => entries),\n map((entry: IntersectionObserverEntry) => entry.isIntersecting),\n distinctUntilChanged()\n );\n\n const elementInSight$ = combineLatest([\n this._documentVisible$,\n elementVisible$\n ]).pipe(\n map(stream => {\n const pageVisible: boolean = stream[0];\n const elementVisible: boolean = stream[1];\n\n const isVisible = pageVisible && elementVisible;\n\n return isVisible;\n }),\n distinctUntilChanged()\n );\n\n return elementInSight$;\n }\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SdsIntersectionService } from '../services';\n\n@Directive({\n selector: '[sdsIntersection]',\n providers: [SdsIntersectionService],\n standalone: true\n})\nexport class SdsIntersectionDirective implements OnInit, OnDestroy, AfterViewInit {\n /**\n *\n */\n @Input()\n get intersectionOptions(): IntersectionObserverInit | undefined {\n return this._intersectionOptions;\n }\n set intersectionOptions(value: IntersectionObserverInit | undefined) {\n this._intersectionOptions = value;\n }\n\n /**\n * Emits current visibility status\n */\n @Output() elementInSight: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _intersectionOptions: IntersectionObserverInit | undefined;\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private readonly _element: ElementRef,\n private readonly _intersectionService: SdsIntersectionService\n ) {}\n\n ngOnInit(): void {\n\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n ngAfterViewInit(): void {\n const intersetionSubscription = this._intersectionService\n .elementInSight$(this._element, this.intersectionOptions)\n .subscribe(visibilityFlag => {\n this.elementInSight.emit(visibilityFlag);\n });\n\n this._subscriptions.push(intersetionSubscription);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SdsIntersectionService"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs","sources":["../../../projects/ngx-sds-components/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.ts","../../../projects/ngx-sds-components/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.ts"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs","sources":["../../../projects/ngx-sds-components/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.ts","../../../projects/ngx-sds-components/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.ts"],"sourcesContent":["\nimport { DestroyRef, Directive, inject, OnInit, output, DOCUMENT } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, groupBy, mergeAll } from 'rxjs';\n\n@Directive({\n selector: '[sdsKeyboardShortcut]',\n standalone: true\n})\nexport class SdsKeyboardShortcutDirective implements OnInit {\n // #region Dependencies\n private readonly _document = inject(DOCUMENT);\n private readonly _destroyRef = inject(DestroyRef);\n // #endregion Dependencies\n\n // #region Outputs\n /**\n * Emitted when user presses Escape\n */\n public closeShortcut = output<void>();\n\n /**\n * Emitted when user presses ctrl+Enter or cmd+Enter\n */\n public saveRecordShortcut = output<void>();\n // #endregion Outputs\n\n ngOnInit(): void {\n fromEvent<KeyboardEvent>(\n this._document,\n 'keydown'\n )\n .pipe(\n groupBy(e => e.code),\n mergeAll(),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((keyboardEvent) => {\n // Define shortcut(s) logic here.\n\n if (keyboardEvent.code === 'Escape') {\n this.closeShortcut.emit();\n }\n\n if (keyboardEvent.code === 'Enter' && (keyboardEvent.ctrlKey || keyboardEvent.metaKey)) {\n // Ctrl+Enter was pressed (Cmd+Enter on Apple HW)\n this.saveRecordShortcut.emit();\n }\n });\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MASa,4BAA4B,CAAA;AAJzC,IAAA,WAAA,GAAA;;AAMqB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;;AAIjD;;AAEG;QACI,IAAA,CAAA,aAAa,GAAG,MAAM,EAAQ;AAErC;;AAEG;QACI,IAAA,CAAA,kBAAkB,GAAG,MAAM,EAAQ;AA0B7C,IAAA;;IAvBG,QAAQ,GAAA;AACJ,QAAA,SAAS,CACL,IAAI,CAAC,SAAS,EACd,SAAS;aAER,IAAI,CACD,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EACpB,QAAQ,EAAE,EACV,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AAEvC,aAAA,SAAS,CAAC,CAAC,aAAa,KAAI;;AAGzB,YAAA,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;AACjC,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YAC7B;AAEA,YAAA,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,KAAK,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;;AAEpF,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAClC;AACJ,QAAA,CAAC,CAAC;IACV;+GAxCS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACRD;;AAEG;;"}
|
|
@@ -7,11 +7,11 @@ class SdsDefaultLayoutComponent {
|
|
|
7
7
|
ngOnInit() {
|
|
8
8
|
}
|
|
9
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsDefaultLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsDefaultLayoutComponent, isStandalone: true, selector: "sds-default-layout", ngImport: i0, template: "<div class=\"container\">\
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsDefaultLayoutComponent, isStandalone: true, selector: "sds-default-layout", ngImport: i0, template: "<div class=\"container\">\n <router-outlet></router-outlet>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
11
11
|
}
|
|
12
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsDefaultLayoutComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
|
-
args: [{ selector: 'sds-default-layout', imports: [RouterOutlet], template: "<div class=\"container\">\
|
|
14
|
+
args: [{ selector: 'sds-default-layout', imports: [RouterOutlet], template: "<div class=\"container\">\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
15
15
|
}], ctorParameters: () => [] });
|
|
16
16
|
|
|
17
17
|
class SdsFluidLayoutComponent {
|
|
@@ -19,11 +19,11 @@ class SdsFluidLayoutComponent {
|
|
|
19
19
|
ngOnInit() {
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsFluidLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsFluidLayoutComponent, isStandalone: true, selector: "sds-fluid-layout", ngImport: i0, template: "<div class=\"container-fluid\">\
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsFluidLayoutComponent, isStandalone: true, selector: "sds-fluid-layout", ngImport: i0, template: "<div class=\"container-fluid\">\n <router-outlet></router-outlet>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
23
23
|
}
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsFluidLayoutComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'sds-fluid-layout', imports: [RouterOutlet], template: "<div class=\"container-fluid\">\
|
|
26
|
+
args: [{ selector: 'sds-fluid-layout', imports: [RouterOutlet], template: "<div class=\"container-fluid\">\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
27
27
|
}], ctorParameters: () => [] });
|
|
28
28
|
|
|
29
29
|
class SdsSmallLayoutComponent {
|
|
@@ -31,11 +31,11 @@ class SdsSmallLayoutComponent {
|
|
|
31
31
|
ngOnInit() {
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsSmallLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsSmallLayoutComponent, isStandalone: true, selector: "sds-small-layout", ngImport: i0, template: "<div class=\"container container-sm\">\
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsSmallLayoutComponent, isStandalone: true, selector: "sds-small-layout", ngImport: i0, template: "<div class=\"container container-sm\">\n <router-outlet></router-outlet>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsSmallLayoutComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
|
-
args: [{ selector: 'sds-small-layout', imports: [RouterOutlet], template: "<div class=\"container container-sm\">\
|
|
38
|
+
args: [{ selector: 'sds-small-layout', imports: [RouterOutlet], template: "<div class=\"container container-sm\">\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
39
39
|
}], ctorParameters: () => [] });
|
|
40
40
|
|
|
41
41
|
class SdsMediumLayoutComponent {
|
|
@@ -43,11 +43,11 @@ class SdsMediumLayoutComponent {
|
|
|
43
43
|
ngOnInit() {
|
|
44
44
|
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsMediumLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsMediumLayoutComponent, isStandalone: true, selector: "sds-medium-layout", ngImport: i0, template: "<div class=\"container container-md\">\
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsMediumLayoutComponent, isStandalone: true, selector: "sds-medium-layout", ngImport: i0, template: "<div class=\"container container-md\">\n <router-outlet></router-outlet>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
47
47
|
}
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsMediumLayoutComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
|
-
args: [{ selector: 'sds-medium-layout', imports: [RouterOutlet], template: "<div class=\"container container-md\">\
|
|
50
|
+
args: [{ selector: 'sds-medium-layout', imports: [RouterOutlet], template: "<div class=\"container container-md\">\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
51
51
|
}], ctorParameters: () => [] });
|
|
52
52
|
|
|
53
53
|
class SdsExtraLargeLayoutComponent {
|
|
@@ -55,11 +55,11 @@ class SdsExtraLargeLayoutComponent {
|
|
|
55
55
|
ngOnInit() {
|
|
56
56
|
}
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsExtraLargeLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsExtraLargeLayoutComponent, isStandalone: true, selector: "sds-extra-large-layout", ngImport: i0, template: "<div class=\"container container-xl\">\
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsExtraLargeLayoutComponent, isStandalone: true, selector: "sds-extra-large-layout", ngImport: i0, template: "<div class=\"container container-xl\">\n <router-outlet></router-outlet>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
59
59
|
}
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsExtraLargeLayoutComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: 'sds-extra-large-layout', imports: [RouterOutlet], template: "<div class=\"container container-xl\">\
|
|
62
|
+
args: [{ selector: 'sds-extra-large-layout', imports: [RouterOutlet], template: "<div class=\"container container-xl\">\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
63
63
|
}], ctorParameters: () => [] });
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-layout.mjs","sources":["../../../projects/ngx-sds-components/src/lib/layout/default-layout/default-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/default-layout/default-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/fluid-layout/fluid-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/fluid-layout/fluid-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/small-layout/small-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/small-layout/small-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/medium-layout/medium-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/medium-layout/medium-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/extra-large-layout/extra-large-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/extra-large-layout/extra-large-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-layout.mjs","sources":["../../../projects/ngx-sds-components/src/lib/layout/default-layout/default-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/default-layout/default-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/fluid-layout/fluid-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/fluid-layout/fluid-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/small-layout/small-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/small-layout/small-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/medium-layout/medium-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/medium-layout/medium-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/extra-large-layout/extra-large-layout.component.ts","../../../projects/ngx-sds-components/src/lib/layout/extra-large-layout/extra-large-layout.component.html","../../../projects/ngx-sds-components/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'sds-default-layout',\n templateUrl: './default-layout.component.html',\n styleUrls: ['./default-layout.component.scss'],\n imports: [RouterOutlet]\n})\nexport class SdsDefaultLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"container\">\n <router-outlet></router-outlet>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'sds-fluid-layout',\n templateUrl: './fluid-layout.component.html',\n styleUrls: ['./fluid-layout.component.scss'],\n imports: [RouterOutlet]\n})\nexport class SdsFluidLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"container-fluid\">\n <router-outlet></router-outlet>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'sds-small-layout',\n templateUrl: './small-layout.component.html',\n styleUrls: ['./small-layout.component.scss'],\n imports: [RouterOutlet]\n})\nexport class SdsSmallLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"container container-sm\">\n <router-outlet></router-outlet>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'sds-medium-layout',\n templateUrl: './medium-layout.component.html',\n styleUrls: ['./medium-layout.component.scss'],\n imports: [RouterOutlet]\n})\nexport class SdsMediumLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"container container-md\">\n <router-outlet></router-outlet>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'sds-extra-large-layout',\n templateUrl: './extra-large-layout.component.html',\n styleUrls: ['./extra-large-layout.component.scss'],\n imports: [RouterOutlet]\n})\nexport class SdsExtraLargeLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"container container-xl\">\n <router-outlet></router-outlet>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -27,11 +27,11 @@ class SdsMessageComponent {
|
|
|
27
27
|
this.actionClick.emit();
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsMessageComponent, isStandalone: true, selector: "sds-message", inputs: { icon: "icon", text: "text", showCloseButton: "showCloseButton", showLearnMoreLink: "showLearnMoreLink", learnMoreLinkText: "learnMoreLinkText", learnMoreLinkUrl: "learnMoreLinkUrl", showAction: "showAction", actionText: "actionText", style: "style" }, outputs: { close: "close", actionClick: "actionClick" }, queries: [{ propertyName: "customContent", first: true, predicate: ["customContent"], descendants: true }], ngImport: i0, template: "<div \
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsMessageComponent, isStandalone: true, selector: "sds-message", inputs: { icon: "icon", text: "text", showCloseButton: "showCloseButton", showLearnMoreLink: "showLearnMoreLink", learnMoreLinkText: "learnMoreLinkText", learnMoreLinkUrl: "learnMoreLinkUrl", showAction: "showAction", actionText: "actionText", style: "style" }, outputs: { close: "close", actionClick: "actionClick" }, queries: [{ propertyName: "customContent", first: true, predicate: ["customContent"], descendants: true }], ngImport: i0, template: "<div \n *ngIf=\"showMessage\"\n class=\"px-3 py-2 d-flex rounded\"\n [class.sds-message-default] = \"style == 'default'\"\n \n [class.sds-message-success] = \"style == 'success'\"\n [class.sds-message-success-subtle] = \"style == 'successSubtle'\"\n \n [class.sds-message-danger] = \"style == 'danger'\"\n [class.sds-message-danger-subtle] = \"style == 'dangerSubtle'\"\n \n [class.sds-message-warning] = \"style == 'warning'\"\n [class.sds-message-warning-subtle] = \"style == 'warningSubtle'\"\n\n [class.sds-message-info] = \"style == 'info'\"\n [class.sds-message-info-subtle] = \"style == 'infoSubtle'\"\n >\n\n <fa-icon \n *ngIf=\"icon\"\n [icon]=\"icon\"\n class=\"me-2\"\n >\n </fa-icon>\n\n <div class=\"flex-grow-1\">\n <div *ngIf=\"!customContent\">\n <span>\n {{text}}\n </span>\n\n <span \n *ngIf=\"showAction\"\n >\n <a \n class=\"link-primary sds-cursor-pointer ml-2 \"\n (click)=\"onActionButtonClick()\"\n >\n {{actionText}}\n </a>\n </span>\n\n <span \n *ngIf=\"showLearnMoreLink\"\n >\n <a \n class=\"\"\n [href]=\"learnMoreLinkUrl\"\n target=\"_learnmore\"\n >\n {{learnMoreLinkText}}\n </a>\n </span>\n </div>\n\n <ng-container *ngIf=\"customContent\" >\n <ng-content select=\"customContent\"></ng-content>\n </ng-container> \n </div>\n\n <div *ngIf=\"showCloseButton\">\n <button \n type=\"button\" \n class=\"btn-close ml-2\" \n aria-label=\"Close\"\n (click)=\"onCloseButtonClick()\"\n >\n </button>\n </div>\n\n</div>\n", styles: [".sds-message-default{color:var(--bs-gray-900);background-color:var(--bs-gray-300)}.sds-message-success-subtle{color:var(--bs-gray-900);background-color:var(--bs-success-bg-subtle)}.sds-message-danger-subtle{color:var(--bs-gray-900);background-color:var(--bs-danger-bg-subtle)}.sds-message-warning-subtle{color:var(--bs-gray-900);background-color:var(--bs-warning-bg-subtle)}.sds-message-info-subtle{color:var(--bs-gray-900);background-color:var(--bs-info-bg-subtle)}.sds-message-success{color:var(--bs-gray-100);background-color:var(--bs-success)}.sds-message-danger{color:var(--bs-gray-100);background-color:var(--bs-danger)}.sds-message-warning{color:var(--bs-gray-900);background-color:var(--bs-warning)}.sds-message-info{color:var(--bs-gray-900);background-color:var(--bs-info)}.btn-close{font-size:.75em}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsMessageComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'sds-message', imports: [NgIf, FaIconComponent], template: "<div \
|
|
34
|
+
args: [{ selector: 'sds-message', imports: [NgIf, FaIconComponent], template: "<div \n *ngIf=\"showMessage\"\n class=\"px-3 py-2 d-flex rounded\"\n [class.sds-message-default] = \"style == 'default'\"\n \n [class.sds-message-success] = \"style == 'success'\"\n [class.sds-message-success-subtle] = \"style == 'successSubtle'\"\n \n [class.sds-message-danger] = \"style == 'danger'\"\n [class.sds-message-danger-subtle] = \"style == 'dangerSubtle'\"\n \n [class.sds-message-warning] = \"style == 'warning'\"\n [class.sds-message-warning-subtle] = \"style == 'warningSubtle'\"\n\n [class.sds-message-info] = \"style == 'info'\"\n [class.sds-message-info-subtle] = \"style == 'infoSubtle'\"\n >\n\n <fa-icon \n *ngIf=\"icon\"\n [icon]=\"icon\"\n class=\"me-2\"\n >\n </fa-icon>\n\n <div class=\"flex-grow-1\">\n <div *ngIf=\"!customContent\">\n <span>\n {{text}}\n </span>\n\n <span \n *ngIf=\"showAction\"\n >\n <a \n class=\"link-primary sds-cursor-pointer ml-2 \"\n (click)=\"onActionButtonClick()\"\n >\n {{actionText}}\n </a>\n </span>\n\n <span \n *ngIf=\"showLearnMoreLink\"\n >\n <a \n class=\"\"\n [href]=\"learnMoreLinkUrl\"\n target=\"_learnmore\"\n >\n {{learnMoreLinkText}}\n </a>\n </span>\n </div>\n\n <ng-container *ngIf=\"customContent\" >\n <ng-content select=\"customContent\"></ng-content>\n </ng-container> \n </div>\n\n <div *ngIf=\"showCloseButton\">\n <button \n type=\"button\" \n class=\"btn-close ml-2\" \n aria-label=\"Close\"\n (click)=\"onCloseButtonClick()\"\n >\n </button>\n </div>\n\n</div>\n", styles: [".sds-message-default{color:var(--bs-gray-900);background-color:var(--bs-gray-300)}.sds-message-success-subtle{color:var(--bs-gray-900);background-color:var(--bs-success-bg-subtle)}.sds-message-danger-subtle{color:var(--bs-gray-900);background-color:var(--bs-danger-bg-subtle)}.sds-message-warning-subtle{color:var(--bs-gray-900);background-color:var(--bs-warning-bg-subtle)}.sds-message-info-subtle{color:var(--bs-gray-900);background-color:var(--bs-info-bg-subtle)}.sds-message-success{color:var(--bs-gray-100);background-color:var(--bs-success)}.sds-message-danger{color:var(--bs-gray-100);background-color:var(--bs-danger)}.sds-message-warning{color:var(--bs-gray-900);background-color:var(--bs-warning)}.sds-message-info{color:var(--bs-gray-900);background-color:var(--bs-info)}.btn-close{font-size:.75em}\n"] }]
|
|
35
35
|
}], ctorParameters: () => [], propDecorators: { icon: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}], text: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-message.mjs","sources":["../../../projects/ngx-sds-components/src/lib/message/message.component.ts","../../../projects/ngx-sds-components/src/lib/message/message.component.html","../../../projects/ngx-sds-components/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.ts"],"sourcesContent":["import { Component, ContentChild, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-message.mjs","sources":["../../../projects/ngx-sds-components/src/lib/message/message.component.ts","../../../projects/ngx-sds-components/src/lib/message/message.component.html","../../../projects/ngx-sds-components/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.ts"],"sourcesContent":["import { Component, ContentChild, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sds-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n imports: [NgIf, FaIconComponent]\n})\nexport class SdsMessageComponent implements OnInit {\n\n @Input() public icon?: IconProp;\n @Input() public text: string = '';\n @Input() public showCloseButton: boolean = false;\n\n @Output() public close: EventEmitter<void> = new EventEmitter();\n\n @Input() public showLearnMoreLink: boolean = false;\n @Input() public learnMoreLinkText: string = 'Learn more';\n @Input() public learnMoreLinkUrl: string = '';\n\n @Input() public showAction: boolean = false;\n @Input() public actionText: string = 'Address this'; \n @Output() public actionClick: EventEmitter<void> = new EventEmitter();\n\n\n @Input() public style: 'default' | 'danger' | 'dangerSubtle' | 'success' | 'successSubtle' | 'warning' | 'warningSubtle' | 'info' | 'infoSubtle' = 'default';\n\n @ContentChild('customContent') customContent: ElementRef = {nativeElement: undefined};\n\n public showMessage: boolean = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n public onCloseButtonClick(): void {\n this.showMessage = false;\n this.close.emit();\n }\n\n public onActionButtonClick(): void {\n this.actionClick.emit();\n }\n\n}\n","<div \n *ngIf=\"showMessage\"\n class=\"px-3 py-2 d-flex rounded\"\n [class.sds-message-default] = \"style == 'default'\"\n \n [class.sds-message-success] = \"style == 'success'\"\n [class.sds-message-success-subtle] = \"style == 'successSubtle'\"\n \n [class.sds-message-danger] = \"style == 'danger'\"\n [class.sds-message-danger-subtle] = \"style == 'dangerSubtle'\"\n \n [class.sds-message-warning] = \"style == 'warning'\"\n [class.sds-message-warning-subtle] = \"style == 'warningSubtle'\"\n\n [class.sds-message-info] = \"style == 'info'\"\n [class.sds-message-info-subtle] = \"style == 'infoSubtle'\"\n >\n\n <fa-icon \n *ngIf=\"icon\"\n [icon]=\"icon\"\n class=\"me-2\"\n >\n </fa-icon>\n\n <div class=\"flex-grow-1\">\n <div *ngIf=\"!customContent\">\n <span>\n {{text}}\n </span>\n\n <span \n *ngIf=\"showAction\"\n >\n <a \n class=\"link-primary sds-cursor-pointer ml-2 \"\n (click)=\"onActionButtonClick()\"\n >\n {{actionText}}\n </a>\n </span>\n\n <span \n *ngIf=\"showLearnMoreLink\"\n >\n <a \n class=\"\"\n [href]=\"learnMoreLinkUrl\"\n target=\"_learnmore\"\n >\n {{learnMoreLinkText}}\n </a>\n </span>\n </div>\n\n <ng-container *ngIf=\"customContent\" >\n <ng-content select=\"customContent\"></ng-content>\n </ng-container> \n </div>\n\n <div *ngIf=\"showCloseButton\">\n <button \n type=\"button\" \n class=\"btn-close ml-2\" \n aria-label=\"Close\"\n (click)=\"onCloseButtonClick()\"\n >\n </button>\n </div>\n\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,mBAAmB,CAAA;AAuB5B,IAAA,WAAA,GAAA;QApBgB,IAAA,CAAA,IAAI,GAAW,EAAE;QACjB,IAAA,CAAA,eAAe,GAAY,KAAK;AAE/B,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,YAAY,EAAE;QAE/C,IAAA,CAAA,iBAAiB,GAAY,KAAK;QAClC,IAAA,CAAA,iBAAiB,GAAW,YAAY;QACxC,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAE7B,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,UAAU,GAAW,cAAc;AAClC,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAE;QAGrD,IAAA,CAAA,KAAK,GAA8H,SAAS;AAE7H,QAAA,IAAA,CAAA,aAAa,GAAe,EAAC,aAAa,EAAE,SAAS,EAAC;QAE9E,IAAA,CAAA,WAAW,GAAY,IAAI;IAEnB;AAEf,IAAA,QAAQ,KAAU;IAEX,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACrB;IAEO,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IAC3B;+GAlCS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXhC,q9DAuEA,EAAA,MAAA,EAAA,CAAA,6yBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED9Dc,IAAI,6FAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEtB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,OAAA,EAGd,CAAC,IAAI,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,q9DAAA,EAAA,MAAA,EAAA,CAAA,6yBAAA,CAAA,EAAA;;sBAI/B;;sBACA;;sBACA;;sBAEA;;sBAEA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBAGA;;sBAEA,YAAY;uBAAC,eAAe;;;AE9BjC;;AAEG;;"}
|
|
@@ -96,7 +96,7 @@ class SdsModalComponent {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: SdsModalComponent, isStandalone: true, selector: "sds-modal", inputs: { modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, modalDialogId: { classPropertyName: "modalDialogId", publicName: "modalDialogId", isSignal: false, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: false, isRequired: false, transformFunction: null }, autoFocusCloseButton: { classPropertyName: "autoFocusCloseButton", publicName: "autoFocusCloseButton", isSignal: false, isRequired: false, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: false, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: false, isRequired: false, transformFunction: null }, isVerticallyCentered: { classPropertyName: "isVerticallyCentered", publicName: "isVerticallyCentered", isSignal: false, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: false, isRequired: false, transformFunction: null }, downSizing: { classPropertyName: "downSizing", publicName: "downSizing", isSignal: false, isRequired: false, transformFunction: null }, isDraggable: { classPropertyName: "isDraggable", publicName: "isDraggable", isSignal: false, isRequired: false, transformFunction: null }, isDragConstrained: { classPropertyName: "isDragConstrained", publicName: "isDragConstrained", isSignal: false, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { modalOpen: "modalOpen", modalClose: "modalClose", closeClick: "closeClick", closeEscapeKeypress: "closeEscapeKeypress", isOpenChange: "isOpenChange" }, queries: [{ propertyName: "headerContent", first: true, predicate: ["header"], descendants: true }], viewQueries: [{ propertyName: "_modal", first: true, predicate: ["modal"], descendants: true }, { propertyName: "_closeButton", first: true, predicate: ["closeButton"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: SdsModalComponent, isStandalone: true, selector: "sds-modal", inputs: { modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, modalDialogId: { classPropertyName: "modalDialogId", publicName: "modalDialogId", isSignal: false, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: false, isRequired: false, transformFunction: null }, autoFocusCloseButton: { classPropertyName: "autoFocusCloseButton", publicName: "autoFocusCloseButton", isSignal: false, isRequired: false, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: false, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: false, isRequired: false, transformFunction: null }, isVerticallyCentered: { classPropertyName: "isVerticallyCentered", publicName: "isVerticallyCentered", isSignal: false, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: false, isRequired: false, transformFunction: null }, downSizing: { classPropertyName: "downSizing", publicName: "downSizing", isSignal: false, isRequired: false, transformFunction: null }, isDraggable: { classPropertyName: "isDraggable", publicName: "isDraggable", isSignal: false, isRequired: false, transformFunction: null }, isDragConstrained: { classPropertyName: "isDragConstrained", publicName: "isDragConstrained", isSignal: false, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { modalOpen: "modalOpen", modalClose: "modalClose", closeClick: "closeClick", closeEscapeKeypress: "closeEscapeKeypress", isOpenChange: "isOpenChange" }, queries: [{ propertyName: "headerContent", first: true, predicate: ["header"], descendants: true }], viewQueries: [{ propertyName: "_modal", first: true, predicate: ["modal"], descendants: true }, { propertyName: "_closeButton", first: true, predicate: ["closeButton"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #modal\n class=\"modal modal-backdrop\"\n (keydown)=\"onKeydown($event)\"\n [cdkTrapFocus]=\"isOpen\"\n [cdkTrapFocusAutoCapture]=\"true\"\n >\n <div\n class=\"modal-dialog\"\n [class.modal-dialog-scrollable] = \"isScrollable\"\n [class.downsize-continuous] = \"downSizing === 'continuous'\"\n [class.modal-dialog-centered] = \"isVerticallyCentered\"\n [attr.id]=\"modalDialogId\"\n [ngClass]=\"'modal-' + size\"\n role=\"document\"\n >\n <div\n class=\"modal-content\"\n cdkDrag [cdkDragDisabled]=\"!isDraggable\" [cdkDragBoundary]=\"isDragConstrained ? '.modal-backdrop' : ''\"\n >\n\n <div *ngIf=\"isDraggable\" class=\"modal-drag-handle\" cdkDragHandle></div>\n\n <div\n *ngIf=\"showHeader && headerContent\"\n class=\"modal-header\"\n >\n <ng-content select='header'></ng-content>\n </div>\n\n <div\n *ngIf=\"showHeader && !headerContent\"\n class=\"modal-header\"\n >\n\n <h5 class=\"modal-title\">{{modalTitle}}</h5>\n <button\n #closeButton\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"btn-close sds-fs-75\"\n [attr.aria-label]=\"closeButtonLabel() ?? translations.close\"\n [title]=\"translations.close ?? ''\"\n (click)=\"onCloseButtonClick()\">\n </button>\n </div>\n\n <div\n class=\"modal-body\"\n [class.pt-0]=\"showHeader\"\n [class.pb-0]=\"showFooter\"\n >\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"showFooter\" class=\"modal-footer\">\n <ng-content select=\"footer\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{background:#00000080}.modal .modal-drag-handle{cursor:move;position:absolute;width:100%;height:1rem}.modal .modal-header button.btn-close{font-size:.75em}.modal .modal-header button.btn-close:hover{background-color:var(--bs-gray-200)}.modal .modal-body{background-color:var(--bs-gray-100);background-image:linear-gradient(var(--bs-gray-100) 30%,rgba(248,249,250,0)),linear-gradient(rgba(248,249,250,0),var(--bs-gray-100) 70%),radial-gradient(farthest-side at 50% 0,#00000026,#0000),radial-gradient(farthest-side at 50% 100%,#00000026,#0000);background-position:center top,center bottom,center top,center bottom;background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 14px,100% 14px;background-attachment:local,local,scroll,scroll}.modal.in{opacity:1}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0)}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}@media(min-width:820px){.modal-820{max-width:820px}}@media(min-width:576px){.modal-dialog.downsize-continuous{width:calc(90vw - 2rem)}.modal-dialog.downsize-continuous.modal-md{max-width:var(--bs-breakpoint-sm)}.modal-dialog.downsize-continuous.modal-lg{max-width:var(--bs-breakpoint-md)}.modal-dialog.downsize-continuous.modal-xl{max-width:var(--bs-breakpoint-lg)}.modal-dialog.downsize-continuous.modal-xxl{max-width:var(--bs-breakpoint-xl)}}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
100
100
|
}
|
|
101
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsModalComponent, decorators: [{
|
|
102
102
|
type: Component,
|
|
@@ -106,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImpo
|
|
|
106
106
|
CdkDrag,
|
|
107
107
|
NgIf,
|
|
108
108
|
CdkDragHandle,
|
|
109
|
-
], template: "<div\
|
|
109
|
+
], template: "<div\n #modal\n class=\"modal modal-backdrop\"\n (keydown)=\"onKeydown($event)\"\n [cdkTrapFocus]=\"isOpen\"\n [cdkTrapFocusAutoCapture]=\"true\"\n >\n <div\n class=\"modal-dialog\"\n [class.modal-dialog-scrollable] = \"isScrollable\"\n [class.downsize-continuous] = \"downSizing === 'continuous'\"\n [class.modal-dialog-centered] = \"isVerticallyCentered\"\n [attr.id]=\"modalDialogId\"\n [ngClass]=\"'modal-' + size\"\n role=\"document\"\n >\n <div\n class=\"modal-content\"\n cdkDrag [cdkDragDisabled]=\"!isDraggable\" [cdkDragBoundary]=\"isDragConstrained ? '.modal-backdrop' : ''\"\n >\n\n <div *ngIf=\"isDraggable\" class=\"modal-drag-handle\" cdkDragHandle></div>\n\n <div\n *ngIf=\"showHeader && headerContent\"\n class=\"modal-header\"\n >\n <ng-content select='header'></ng-content>\n </div>\n\n <div\n *ngIf=\"showHeader && !headerContent\"\n class=\"modal-header\"\n >\n\n <h5 class=\"modal-title\">{{modalTitle}}</h5>\n <button\n #closeButton\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"btn-close sds-fs-75\"\n [attr.aria-label]=\"closeButtonLabel() ?? translations.close\"\n [title]=\"translations.close ?? ''\"\n (click)=\"onCloseButtonClick()\">\n </button>\n </div>\n\n <div\n class=\"modal-body\"\n [class.pt-0]=\"showHeader\"\n [class.pb-0]=\"showFooter\"\n >\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"showFooter\" class=\"modal-footer\">\n <ng-content select=\"footer\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{background:#00000080}.modal .modal-drag-handle{cursor:move;position:absolute;width:100%;height:1rem}.modal .modal-header button.btn-close{font-size:.75em}.modal .modal-header button.btn-close:hover{background-color:var(--bs-gray-200)}.modal .modal-body{background-color:var(--bs-gray-100);background-image:linear-gradient(var(--bs-gray-100) 30%,rgba(248,249,250,0)),linear-gradient(rgba(248,249,250,0),var(--bs-gray-100) 70%),radial-gradient(farthest-side at 50% 0,#00000026,#0000),radial-gradient(farthest-side at 50% 100%,#00000026,#0000);background-position:center top,center bottom,center top,center bottom;background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 14px,100% 14px;background-attachment:local,local,scroll,scroll}.modal.in{opacity:1}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0)}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}@media(min-width:820px){.modal-820{max-width:820px}}@media(min-width:576px){.modal-dialog.downsize-continuous{width:calc(90vw - 2rem)}.modal-dialog.downsize-continuous.modal-md{max-width:var(--bs-breakpoint-sm)}.modal-dialog.downsize-continuous.modal-lg{max-width:var(--bs-breakpoint-md)}.modal-dialog.downsize-continuous.modal-xl{max-width:var(--bs-breakpoint-lg)}.modal-dialog.downsize-continuous.modal-xxl{max-width:var(--bs-breakpoint-xl)}}\n"] }]
|
|
110
110
|
}], ctorParameters: () => [], propDecorators: { headerContent: [{
|
|
111
111
|
type: ContentChild,
|
|
112
112
|
args: ['header']
|
|
@@ -268,11 +268,11 @@ class SdsDialogComponent {
|
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
271
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsDialogComponent, isStandalone: true, selector: "sds-dialog", inputs: { title: "title", dialogTitle: "dialogTitle", closeText: "closeText", size: "size", primaryButtonText: "primaryButtonText", primaryButtonClass: "primaryButtonClass", primaryButtonType: "primaryButtonType", primaryButtonId: "primaryButtonId", primaryButtonDisabled: "primaryButtonDisabled", secondaryButtonText: "secondaryButtonText", secondaryButtonClass: "secondaryButtonClass", secondaryButtonType: "secondaryButtonType", secondaryButtonId: "secondaryButtonId", secondaryButtonDisabled: "secondaryButtonDisabled", closeOnEscape: "closeOnEscape", showHeader: "showHeader", showCloseButton: "showCloseButton", showPrimaryButton: "showPrimaryButton", showSecondaryButton: "showSecondaryButton", autofocusElement: "autofocusElement", modalDialogId: "modalDialogId", isOpen: "isOpen" }, outputs: { dialogOpen: "dialogOpen", dialogClose: "dialogClose", isOpenChange: "isOpenChange", primaryButtonClick: "primaryButtonClick", secondaryButtonClick: "secondaryButtonClick" }, viewQueries: [{ propertyName: "_modal", first: true, predicate: ["modal"], descendants: true, static: true }, { propertyName: "_content", first: true, predicate: ["content"], descendants: true, read: ElementRef, static: true }, { propertyName: "_primaryButton", first: true, predicate: ["primaryButton"], descendants: true, read: ElementRef }, { propertyName: "_secondaryButton", first: true, predicate: ["secondaryButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<sds-modal\
|
|
271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsDialogComponent, isStandalone: true, selector: "sds-dialog", inputs: { title: "title", dialogTitle: "dialogTitle", closeText: "closeText", size: "size", primaryButtonText: "primaryButtonText", primaryButtonClass: "primaryButtonClass", primaryButtonType: "primaryButtonType", primaryButtonId: "primaryButtonId", primaryButtonDisabled: "primaryButtonDisabled", secondaryButtonText: "secondaryButtonText", secondaryButtonClass: "secondaryButtonClass", secondaryButtonType: "secondaryButtonType", secondaryButtonId: "secondaryButtonId", secondaryButtonDisabled: "secondaryButtonDisabled", closeOnEscape: "closeOnEscape", showHeader: "showHeader", showCloseButton: "showCloseButton", showPrimaryButton: "showPrimaryButton", showSecondaryButton: "showSecondaryButton", autofocusElement: "autofocusElement", modalDialogId: "modalDialogId", isOpen: "isOpen" }, outputs: { dialogOpen: "dialogOpen", dialogClose: "dialogClose", isOpenChange: "isOpenChange", primaryButtonClick: "primaryButtonClick", secondaryButtonClick: "secondaryButtonClick" }, viewQueries: [{ propertyName: "_modal", first: true, predicate: ["modal"], descendants: true, static: true }, { propertyName: "_content", first: true, predicate: ["content"], descendants: true, read: ElementRef, static: true }, { propertyName: "_primaryButton", first: true, predicate: ["primaryButton"], descendants: true, read: ElementRef }, { propertyName: "_secondaryButton", first: true, predicate: ["secondaryButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<sds-modal\n #modal\n [modalTitle]=\"dialogTitle || title\"\n [size]=\"size\"\n [modalDialogId]=\"modalDialogId\"\n [showCloseButton]=\"showCloseButton\"\n [showHeader]=\"showHeader\"\n [translations]=\"{ close: closeText}\"\n [autoFocusCloseButton]=\"autofocusElement === 'close'\"\n [closeButtonLabel]=\"closeText\"\n [closeOnEscape]=\"closeOnEscape\"\n (closeClick)=\"onCloseClick()\"\n (closeEscapeKeypress)=\"onCloseEscapeKeypress()\"\n (modalClose)=\"onModalClose()\"\n (modalOpen)=\"onModalOpen()\"\n [(isOpen)]=\"isOpen\"\n>\n\n <div #content [attr.tabindex]=\"autofocusElement === 'content' ? 0 : undefined\" >\n <ng-content></ng-content>\n </div>\n <ng-container #footer ngProjectAs='footer'>\n <button\n #secondaryButton\n *ngIf=\"showSecondaryButton\"\n [attr.id]=\"secondaryButtonId\"\n [attr.type]=\"secondaryButtonType\"\n [disabled]=\"secondaryButtonDisabled\"\n class=\"btn\"\n [class]=\"secondaryButtonClass\"\n (click)=\"onSecondaryClick()\"\n >{{secondaryButtonText}}</button>\n <button\n #primaryButton\n *ngIf=\"showPrimaryButton\"\n [attr.id]=\"primaryButtonId\"\n [attr.type]=\"primaryButtonType\"\n [disabled]=\"primaryButtonDisabled\"\n class=\"btn\"\n [class]=\"primaryButtonClass\"\n (click)=\"onPrimaryClick()\"\n >{{primaryButtonText}}</button>\n </ng-container>\n</sds-modal>\n", styles: [""], dependencies: [{ kind: "component", type: SdsModalComponent, selector: "sds-modal", inputs: ["modalTitle", "showHeader", "showFooter", "size", "modalDialogId", "showCloseButton", "autoFocusCloseButton", "translations", "isScrollable", "isVerticallyCentered", "closeOnEscape", "downSizing", "isDraggable", "isDragConstrained", "closeButtonLabel", "isOpen"], outputs: ["modalOpen", "modalClose", "closeClick", "closeEscapeKeypress", "isOpenChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
272
272
|
}
|
|
273
273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsDialogComponent, decorators: [{
|
|
274
274
|
type: Component,
|
|
275
|
-
args: [{ selector: 'sds-dialog', imports: [SdsModalComponent, NgIf], template: "<sds-modal\
|
|
275
|
+
args: [{ selector: 'sds-dialog', imports: [SdsModalComponent, NgIf], template: "<sds-modal\n #modal\n [modalTitle]=\"dialogTitle || title\"\n [size]=\"size\"\n [modalDialogId]=\"modalDialogId\"\n [showCloseButton]=\"showCloseButton\"\n [showHeader]=\"showHeader\"\n [translations]=\"{ close: closeText}\"\n [autoFocusCloseButton]=\"autofocusElement === 'close'\"\n [closeButtonLabel]=\"closeText\"\n [closeOnEscape]=\"closeOnEscape\"\n (closeClick)=\"onCloseClick()\"\n (closeEscapeKeypress)=\"onCloseEscapeKeypress()\"\n (modalClose)=\"onModalClose()\"\n (modalOpen)=\"onModalOpen()\"\n [(isOpen)]=\"isOpen\"\n>\n\n <div #content [attr.tabindex]=\"autofocusElement === 'content' ? 0 : undefined\" >\n <ng-content></ng-content>\n </div>\n <ng-container #footer ngProjectAs='footer'>\n <button\n #secondaryButton\n *ngIf=\"showSecondaryButton\"\n [attr.id]=\"secondaryButtonId\"\n [attr.type]=\"secondaryButtonType\"\n [disabled]=\"secondaryButtonDisabled\"\n class=\"btn\"\n [class]=\"secondaryButtonClass\"\n (click)=\"onSecondaryClick()\"\n >{{secondaryButtonText}}</button>\n <button\n #primaryButton\n *ngIf=\"showPrimaryButton\"\n [attr.id]=\"primaryButtonId\"\n [attr.type]=\"primaryButtonType\"\n [disabled]=\"primaryButtonDisabled\"\n class=\"btn\"\n [class]=\"primaryButtonClass\"\n (click)=\"onPrimaryClick()\"\n >{{primaryButtonText}}</button>\n </ng-container>\n</sds-modal>\n" }]
|
|
276
276
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
277
277
|
type: Input
|
|
278
278
|
}], dialogTitle: [{
|