@spicainternational/ngx-sds-components 9.1.1 → 9.2.0-beta.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.
Files changed (61) hide show
  1. package/README.md +16 -16
  2. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +2 -2
  3. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
  4. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
  5. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
  6. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +2 -2
  7. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
  8. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +2 -2
  9. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
  10. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +2 -2
  11. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  12. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
  13. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  14. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  15. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +2 -2
  16. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
  17. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +2 -2
  18. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  19. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
  20. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
  21. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +2 -2
  22. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  23. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
  24. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
  25. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
  26. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +10 -10
  27. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
  28. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +2 -2
  29. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
  30. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
  31. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  32. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +161 -29
  33. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  34. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -2
  35. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  36. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +2 -2
  37. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
  38. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +2 -2
  39. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
  40. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +2 -2
  41. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
  42. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
  43. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +2 -2
  44. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
  45. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +2 -2
  46. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
  47. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +2 -2
  48. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
  49. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +2 -2
  50. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
  51. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +2 -2
  52. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
  53. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
  54. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +2 -2
  55. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
  56. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
  57. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
  58. package/fesm2022/spicainternational-ngx-sds-components.mjs.map +1 -1
  59. package/package.json +1 -1
  60. package/src/lib/ripple/sds-ripple.css +20 -20
  61. package/types/spicainternational-ngx-sds-components-src-lib-navigation.d.ts +111 -4
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-tooltip.mjs","sources":["../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.ts","../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.html","../../../projects/ngx-sds-components/src/lib/tooltip/utils/tooltip.utils.ts","../../../projects/ngx-sds-components/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-sds-components/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { TooltipPosition, TooltipTheme } from '../tooltip.types';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { NgClass, NgIf } from '@angular/common';\n\n@Component({\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n imports: [\n NgClass,\n NgIf,\n FaIconComponent,\n ]\n})\nexport class SdsTooltipComponent implements OnInit {\n\n public tooltip: string = '';\n public left: number = 0;\n public top: number = 0;\n public visible: boolean = false;\n\n public tooltipIcon?: IconProp;\n public tooltipClass?: string;\n\n public position: TooltipPosition = 'above';\n public theme: TooltipTheme = 'dark';\n\n\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"sds-tooltip\"\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\n [class.sds-tooltip-visible]=\"visible\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n >\n <fa-icon class=\"sds-tooltip-icon\"\n *ngIf=\"tooltipIcon\" \n [icon]=\"tooltipIcon\">\n </fa-icon>\n\n <small class=\"sds-tooltip-text\">\n {{ tooltip }}\n </small>\n\n</div>\n","/**\n * Check if device is mobile phone or tablet\n * {@link https://stackoverflow.com/a/11381730 | [SO] Detecting a mobile browser }\n */\nexport const isMobile = function() {\n let check = false;\n (function(a){\n if(\n // RegExp for mobile devices\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\n // preform regex check\n .test(a.substr(0,4))\n ) \n check = true;\n })(navigator.userAgent||navigator.vendor||(window as any).opera);\n return check;\n };\n ","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { SdsTooltipComponent } from './components/tooltip.component';\nimport { TooltipPosition, TooltipTheme } from './tooltip.types';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { isMobile } from './utils';\n\n@Directive({\n selector: '[sdsTooltip]',\n standalone: true,\n})\nexport class SdsTooltipDirective implements OnChanges {\n @Input() tooltip = '';\n @Input() tooltipClass = '';\n @Input() tooltipIcon?: IconProp;\n @Input() position: TooltipPosition = 'above';\n @Input() theme: TooltipTheme = 'dark';\n @Input() showDelay = 0;\n @Input() hideDelay = 0;\n\n private componentRef: ComponentRef<any> | null = null;\n private showTimeout?: number;\n private hideTimeout?: number;\n private touchTimeout?: number;\n\n\n constructor(\n private elementRef: ElementRef,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n // private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n // private renderer2: Renderer2\n ) {\n // this.renderer2.listen('window', 'scroll', (_) => {\n // console.log('scroll');\n // this.setHideTooltipTimeout();\n // });\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tooltip']) {\n if (this.componentRef !== null) {\n this.componentRef.instance.tooltip = this.tooltip;\n } \n }\n\n if (changes['tooltipIcon']) {\n if (this.componentRef !== null) {\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\n } \n } \n \n if (changes['tooltipClass']) {\n if (this.componentRef !== null) {\n this.componentRef.instance.tooltipClass = this.tooltipClass;\n } \n } \n }\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if(isMobile()) return;\n\n this.initializeTooltip();\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if(isMobile()) return;\n\n this.setHideTooltipTimeout();\n }\n\n // @HostListener(\"window:scroll\", [])\n // onWindowScroll() {\n // console.log('scroll');\n // this.setHideTooltipTimeout();\n // }\n\n // @HostListener('window:scroll') onScroll(e: Event): void {\n // console.log((e.target as Element).scrollTop);\n // }\n\n // @HostListener('scroll') onScrollHost(e: Event): void {\n // console.log((e.target as Element).scrollTop);\n // }\n\n @HostListener('mousemove', ['$event'])\n onMouseMove($event: MouseEvent): void {\n if(isMobile()) return;\n\n if (this.componentRef !== null && this.position === 'dynamic') {\n this.componentRef.instance.left = $event.clientX;\n this.componentRef.instance.top = $event.clientY;\n this.componentRef.instance.tooltip = this.tooltip;\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\n this.componentRef.instance.tooltipClass = this.tooltipClass;\n }\n }\n\n @HostListener('touchstart', ['$event'])\n onTouchStart($event: TouchEvent): void {\n // Only triggered on mobile devices, no need to check device type\n \n window.clearTimeout(this.touchTimeout);\n this.touchTimeout = window.setTimeout(this.initializeTooltip.bind(this), 500);\n }\n\n @HostListener('touchend')\n onTouchEnd(): void {\n // Only triggered on mobile devices, no need to check device type\n\n window.clearTimeout(this.touchTimeout);\n this.setHideTooltipTimeout();\n }\n\n private initializeTooltip() {\n if (this.componentRef === null) {\n window.clearInterval(this.hideDelay);\n\n if (this.tooltip) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(SdsTooltipComponent);\n this.componentRef = componentFactory.create(this.injector);\n\n this.appRef.attachView(this.componentRef.hostView);\n const [tooltipDOMElement] = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes;\n\n this.setTooltipComponentProperties();\n\n document.body.appendChild(tooltipDOMElement);\n this.showTimeout = window.setTimeout(this.showTooltip.bind(this), this.showDelay);\n }\n }\n }\n\n private setTooltipComponentProperties() {\n if (this.componentRef !== null) {\n this.componentRef.instance.tooltip = this.tooltip;\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\n this.componentRef.instance.tooltipClass = this.tooltipClass;\n this.componentRef.instance.position = this.position;\n this.componentRef.instance.theme = this.theme;\n\n const { left, right, top, bottom } = this.elementRef.nativeElement.getBoundingClientRect();\n\n switch (this.position) {\n case 'below': {\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\n this.componentRef.instance.top = Math.round(bottom);\n break;\n }\n case 'above': {\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\n this.componentRef.instance.top = Math.round(top);\n break;\n }\n case 'right': {\n this.componentRef.instance.left = Math.round(right);\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\n break;\n }\n case 'left': {\n this.componentRef.instance.left = Math.round(left);\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n\n private showTooltip() {\n if (this.tooltip && this.componentRef !== null) {\n this.componentRef.instance.visible = true;\n }\n }\n\n private setHideTooltipTimeout() {\n this.hideTimeout = window.setTimeout(this.destroy.bind(this), this.hideDelay);\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n\n destroy(): void {\n if (this.componentRef !== null) {\n window.clearInterval(this.showTimeout);\n window.clearInterval(this.hideDelay);\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\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
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-tooltip.mjs","sources":["../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.ts","../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.html","../../../projects/ngx-sds-components/src/lib/tooltip/utils/tooltip.utils.ts","../../../projects/ngx-sds-components/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-sds-components/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { TooltipPosition, TooltipTheme } from '../tooltip.types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { NgClass, NgIf } from '@angular/common';\r\n\r\n@Component({\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n imports: [\r\n NgClass,\r\n NgIf,\r\n FaIconComponent,\r\n ]\r\n})\r\nexport class SdsTooltipComponent implements OnInit {\r\n\r\n public tooltip: string = '';\r\n public left: number = 0;\r\n public top: number = 0;\r\n public visible: boolean = false;\r\n\r\n public tooltipIcon?: IconProp;\r\n public tooltipClass?: string;\r\n\r\n public position: TooltipPosition = 'above';\r\n public theme: TooltipTheme = 'dark';\r\n\r\n\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-tooltip\"\r\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\r\n [class.sds-tooltip-visible]=\"visible\"\r\n [style.left.px]=\"left\"\r\n [style.top.px]=\"top\"\r\n >\r\n <fa-icon class=\"sds-tooltip-icon\"\r\n *ngIf=\"tooltipIcon\" \r\n [icon]=\"tooltipIcon\">\r\n </fa-icon>\r\n\r\n <small class=\"sds-tooltip-text\">\r\n {{ tooltip }}\r\n </small>\r\n\r\n</div>\r\n","/**\r\n * Check if device is mobile phone or tablet\r\n * {@link https://stackoverflow.com/a/11381730 | [SO] Detecting a mobile browser }\r\n */\r\nexport const isMobile = function() {\r\n let check = false;\r\n (function(a){\r\n if(\r\n // RegExp for mobile devices\r\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\r\n // preform regex check\r\n .test(a.substr(0,4))\r\n ) \r\n check = true;\r\n })(navigator.userAgent||navigator.vendor||(window as any).opera);\r\n return check;\r\n };\r\n ","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { SdsTooltipComponent } from './components/tooltip.component';\r\nimport { TooltipPosition, TooltipTheme } from './tooltip.types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { isMobile } from './utils';\r\n\r\n@Directive({\r\n selector: '[sdsTooltip]',\r\n standalone: true,\r\n})\r\nexport class SdsTooltipDirective implements OnChanges {\r\n @Input() tooltip = '';\r\n @Input() tooltipClass = '';\r\n @Input() tooltipIcon?: IconProp;\r\n @Input() position: TooltipPosition = 'above';\r\n @Input() theme: TooltipTheme = 'dark';\r\n @Input() showDelay = 0;\r\n @Input() hideDelay = 0;\r\n\r\n private componentRef: ComponentRef<any> | null = null;\r\n private showTimeout?: number;\r\n private hideTimeout?: number;\r\n private touchTimeout?: number;\r\n\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private appRef: ApplicationRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n // private viewContainerRef: ViewContainerRef,\r\n private injector: Injector,\r\n // private renderer2: Renderer2\r\n ) {\r\n // this.renderer2.listen('window', 'scroll', (_) => {\r\n // console.log('scroll');\r\n // this.setHideTooltipTimeout();\r\n // });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['tooltip']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n } \r\n }\r\n\r\n if (changes['tooltipIcon']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n } \r\n } \r\n \r\n if (changes['tooltipClass']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n } \r\n } \r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter(): void {\r\n if(isMobile()) return;\r\n\r\n this.initializeTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave(): void {\r\n if(isMobile()) return;\r\n\r\n this.setHideTooltipTimeout();\r\n }\r\n\r\n // @HostListener(\"window:scroll\", [])\r\n // onWindowScroll() {\r\n // console.log('scroll');\r\n // this.setHideTooltipTimeout();\r\n // }\r\n\r\n // @HostListener('window:scroll') onScroll(e: Event): void {\r\n // console.log((e.target as Element).scrollTop);\r\n // }\r\n\r\n // @HostListener('scroll') onScrollHost(e: Event): void {\r\n // console.log((e.target as Element).scrollTop);\r\n // }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove($event: MouseEvent): void {\r\n if(isMobile()) return;\r\n\r\n if (this.componentRef !== null && this.position === 'dynamic') {\r\n this.componentRef.instance.left = $event.clientX;\r\n this.componentRef.instance.top = $event.clientY;\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n }\r\n }\r\n\r\n @HostListener('touchstart', ['$event'])\r\n onTouchStart($event: TouchEvent): void {\r\n // Only triggered on mobile devices, no need to check device type\r\n \r\n window.clearTimeout(this.touchTimeout);\r\n this.touchTimeout = window.setTimeout(this.initializeTooltip.bind(this), 500);\r\n }\r\n\r\n @HostListener('touchend')\r\n onTouchEnd(): void {\r\n // Only triggered on mobile devices, no need to check device type\r\n\r\n window.clearTimeout(this.touchTimeout);\r\n this.setHideTooltipTimeout();\r\n }\r\n\r\n private initializeTooltip() {\r\n if (this.componentRef === null) {\r\n window.clearInterval(this.hideDelay);\r\n\r\n if (this.tooltip) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(SdsTooltipComponent);\r\n this.componentRef = componentFactory.create(this.injector);\r\n\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const [tooltipDOMElement] = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes;\r\n\r\n this.setTooltipComponentProperties();\r\n\r\n document.body.appendChild(tooltipDOMElement);\r\n this.showTimeout = window.setTimeout(this.showTooltip.bind(this), this.showDelay);\r\n }\r\n }\r\n }\r\n\r\n private setTooltipComponentProperties() {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n this.componentRef.instance.position = this.position;\r\n this.componentRef.instance.theme = this.theme;\r\n\r\n const { left, right, top, bottom } = this.elementRef.nativeElement.getBoundingClientRect();\r\n\r\n switch (this.position) {\r\n case 'below': {\r\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\r\n this.componentRef.instance.top = Math.round(bottom);\r\n break;\r\n }\r\n case 'above': {\r\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\r\n this.componentRef.instance.top = Math.round(top);\r\n break;\r\n }\r\n case 'right': {\r\n this.componentRef.instance.left = Math.round(right);\r\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\r\n break;\r\n }\r\n case 'left': {\r\n this.componentRef.instance.left = Math.round(left);\r\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private showTooltip() {\r\n if (this.tooltip && this.componentRef !== null) {\r\n this.componentRef.instance.visible = true;\r\n }\r\n }\r\n\r\n private setHideTooltipTimeout() {\r\n this.hideTimeout = window.setTimeout(this.destroy.bind(this), this.hideDelay);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n destroy(): void {\r\n if (this.componentRef !== null) {\r\n window.clearInterval(this.showTimeout);\r\n window.clearInterval(this.hideDelay);\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\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 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs","sources":["../../../projects/ngx-sds-components/src/lib/utils/date-time/intl-date-time-format-options-presets.ts","../../../projects/ngx-sds-components/src/lib/utils/date-time/date-time-format.function.ts","../../../projects/ngx-sds-components/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.ts"],"sourcesContent":["export type IntlDateTimeFormatOptionPresetType = \n 'time' | \n 'time-with-seconds' | \n 'date' | \n 'date-with-month-name' | \n 'date-time';\n\nexport const INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS: { [Key in IntlDateTimeFormatOptionPresetType]: Intl.DateTimeFormatOptions } = {\n 'time': {\n hour: 'numeric',\n minute: '2-digit'\n },\n 'time-with-seconds': {\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit'\n },\n 'date': {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric'\n },\n 'date-with-month-name': {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n },\n 'date-time': {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: '2-digit'\n }\n};","import {\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS,\n IntlDateTimeFormatOptionPresetType,\n} from './intl-date-time-format-options-presets';\n\nexport const formatDateTime = (\n date: Date | number | string | undefined,\n locales: string | Array<string>,\n options?: Intl.DateTimeFormatOptions | IntlDateTimeFormatOptionPresetType\n): string => {\n if (date === null || date === undefined) {\n return '';\n }\n\n const formatDate = new Date(date);\n if (formatDate.toString() == 'Invalid Date') {\n return '';\n }\n\n if (typeof options === 'string') {\n return formatDate.toLocaleDateString(\n locales,\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS[options]\n );\n }\n\n return formatDate.toLocaleDateString(\n locales,\n options as Intl.DateTimeFormatOptions | undefined\n );\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAOO,MAAM,qCAAqC,GAAgF;AAC9H,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,mBAAmB,EAAE;AACjB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,sBAAsB,EAAE;AACpB,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX;;;AC5BE,MAAM,cAAc,GAAG,CAC1B,IAAwC,EACxC,OAA+B,EAC/B,OAAyE,KACjE;IACR,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;AACrC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AACjC,IAAA,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,cAAc,EAAE;AACzC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,qCAAqC,CAAC,OAAO,CAAC,CACjD;IACL;IAEA,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,OAAiD,CACpD;AACL;;AC9BA;;AAEG;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs","sources":["../../../projects/ngx-sds-components/src/lib/utils/date-time/intl-date-time-format-options-presets.ts","../../../projects/ngx-sds-components/src/lib/utils/date-time/date-time-format.function.ts","../../../projects/ngx-sds-components/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.ts"],"sourcesContent":["export type IntlDateTimeFormatOptionPresetType = \r\n 'time' | \r\n 'time-with-seconds' | \r\n 'date' | \r\n 'date-with-month-name' | \r\n 'date-time';\r\n\r\nexport const INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS: { [Key in IntlDateTimeFormatOptionPresetType]: Intl.DateTimeFormatOptions } = {\r\n 'time': {\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n },\r\n 'time-with-seconds': {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n },\r\n 'date': {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric'\r\n },\r\n 'date-with-month-name': {\r\n day: 'numeric',\r\n month: 'long',\r\n year: 'numeric'\r\n },\r\n 'date-time': {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n }\r\n};","import {\r\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS,\r\n IntlDateTimeFormatOptionPresetType,\r\n} from './intl-date-time-format-options-presets';\r\n\r\nexport const formatDateTime = (\r\n date: Date | number | string | undefined,\r\n locales: string | Array<string>,\r\n options?: Intl.DateTimeFormatOptions | IntlDateTimeFormatOptionPresetType\r\n): string => {\r\n if (date === null || date === undefined) {\r\n return '';\r\n }\r\n\r\n const formatDate = new Date(date);\r\n if (formatDate.toString() == 'Invalid Date') {\r\n return '';\r\n }\r\n\r\n if (typeof options === 'string') {\r\n return formatDate.toLocaleDateString(\r\n locales,\r\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS[options]\r\n );\r\n }\r\n\r\n return formatDate.toLocaleDateString(\r\n locales,\r\n options as Intl.DateTimeFormatOptions | undefined\r\n );\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAOO,MAAM,qCAAqC,GAAgF;AAC9H,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,mBAAmB,EAAE;AACjB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,sBAAsB,EAAE;AACpB,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX;;;AC5BE,MAAM,cAAc,GAAG,CAC1B,IAAwC,EACxC,OAA+B,EAC/B,OAAyE,KACjE;IACR,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;AACrC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AACjC,IAAA,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,cAAc,EAAE;AACzC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,qCAAqC,CAAC,OAAO,CAAC,CACjD;IACL;IAEA,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,OAAiD,CACpD;AACL;;AC9BA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-utils.mjs","sources":["../../../projects/ngx-sds-components/src/lib/utils/date-time/intl-date-time-format-options-presets.ts","../../../projects/ngx-sds-components/src/lib/utils/date-time/date-time-format.function.ts","../../../projects/ngx-sds-components/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.ts"],"sourcesContent":["export type IntlDateTimeFormatOptionPresetType = \n 'time' | \n 'time-with-seconds' | \n 'date' | \n 'date-with-month-name' | \n 'date-time';\n\nexport const INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS: { [Key in IntlDateTimeFormatOptionPresetType]: Intl.DateTimeFormatOptions } = {\n 'time': {\n hour: 'numeric',\n minute: '2-digit'\n },\n 'time-with-seconds': {\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit'\n },\n 'date': {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric'\n },\n 'date-with-month-name': {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n },\n 'date-time': {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: '2-digit'\n }\n};","import {\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS,\n IntlDateTimeFormatOptionPresetType,\n} from './intl-date-time-format-options-presets';\n\nexport const formatDateTime = (\n date: Date | number | string | undefined,\n locales: string | Array<string>,\n options?: Intl.DateTimeFormatOptions | IntlDateTimeFormatOptionPresetType\n): string => {\n if (date === null || date === undefined) {\n return '';\n }\n\n const formatDate = new Date(date);\n if (formatDate.toString() == 'Invalid Date') {\n return '';\n }\n\n if (typeof options === 'string') {\n return formatDate.toLocaleDateString(\n locales,\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS[options]\n );\n }\n\n return formatDate.toLocaleDateString(\n locales,\n options as Intl.DateTimeFormatOptions | undefined\n );\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAOO,MAAM,qCAAqC,GAAgF;AAC9H,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,mBAAmB,EAAE;AACjB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,sBAAsB,EAAE;AACpB,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX;;;AC5BE,MAAM,cAAc,GAAG,CAC1B,IAAwC,EACxC,OAA+B,EAC/B,OAAyE,KACjE;IACR,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;AACrC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AACjC,IAAA,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,cAAc,EAAE;AACzC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,qCAAqC,CAAC,OAAO,CAAC,CACjD;IACL;IAEA,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,OAAiD,CACpD;AACL;;AC9BA;;AAEG;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-utils.mjs","sources":["../../../projects/ngx-sds-components/src/lib/utils/date-time/intl-date-time-format-options-presets.ts","../../../projects/ngx-sds-components/src/lib/utils/date-time/date-time-format.function.ts","../../../projects/ngx-sds-components/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.ts"],"sourcesContent":["export type IntlDateTimeFormatOptionPresetType = \r\n 'time' | \r\n 'time-with-seconds' | \r\n 'date' | \r\n 'date-with-month-name' | \r\n 'date-time';\r\n\r\nexport const INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS: { [Key in IntlDateTimeFormatOptionPresetType]: Intl.DateTimeFormatOptions } = {\r\n 'time': {\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n },\r\n 'time-with-seconds': {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n },\r\n 'date': {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric'\r\n },\r\n 'date-with-month-name': {\r\n day: 'numeric',\r\n month: 'long',\r\n year: 'numeric'\r\n },\r\n 'date-time': {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n }\r\n};","import {\r\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS,\r\n IntlDateTimeFormatOptionPresetType,\r\n} from './intl-date-time-format-options-presets';\r\n\r\nexport const formatDateTime = (\r\n date: Date | number | string | undefined,\r\n locales: string | Array<string>,\r\n options?: Intl.DateTimeFormatOptions | IntlDateTimeFormatOptionPresetType\r\n): string => {\r\n if (date === null || date === undefined) {\r\n return '';\r\n }\r\n\r\n const formatDate = new Date(date);\r\n if (formatDate.toString() == 'Invalid Date') {\r\n return '';\r\n }\r\n\r\n if (typeof options === 'string') {\r\n return formatDate.toLocaleDateString(\r\n locales,\r\n INTL_DATE_TIME_FORMAT_OPTIONS_PRESETS[options]\r\n );\r\n }\r\n\r\n return formatDate.toLocaleDateString(\r\n locales,\r\n options as Intl.DateTimeFormatOptions | undefined\r\n );\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAOO,MAAM,qCAAqC,GAAgF;AAC9H,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,mBAAmB,EAAE;AACjB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,sBAAsB,EAAE;AACpB,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE;AACX;;;AC5BE,MAAM,cAAc,GAAG,CAC1B,IAAwC,EACxC,OAA+B,EAC/B,OAAyE,KACjE;IACR,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;AACrC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AACjC,IAAA,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,cAAc,EAAE;AACzC,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,qCAAqC,CAAC,OAAO,CAAC,CACjD;IACL;IAEA,OAAO,UAAU,CAAC,kBAAkB,CAChC,OAAO,EACP,OAAiD,CACpD;AACL;;AC9BA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components.mjs","sources":["../../../projects/ngx-sds-components/src/public-api.ts","../../../projects/ngx-sds-components/src/spicainternational-ngx-sds-components.ts"],"sourcesContent":["/*\n * Public API Surface of ngx-sds-components\n */\n\nexport * from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\nexport * from '@spicainternational/ngx-sds-components/src/lib/avatar';\nexport * from '@spicainternational/ngx-sds-components/src/lib/badge';\nexport * from '@spicainternational/ngx-sds-components/src/lib/callout';\nexport * from '@spicainternational/ngx-sds-components/src/lib/color-picker';\nexport * from '@spicainternational/ngx-sds-components/src/lib/ellipsis';\nexport * from '@spicainternational/ngx-sds-components/src/lib/expansion-panel';\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-picker';\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';\nexport * from '@spicainternational/ngx-sds-components/src/lib/drawer';\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-box';\nexport * from '@spicainternational/ngx-sds-components/src/lib/highlight-text';\nexport * from '@spicainternational/ngx-sds-components/src/lib/intersection';\nexport * from '@spicainternational/ngx-sds-components/src/lib/keyboard-shortcut';\nexport * from '@spicainternational/ngx-sds-components/src/lib/layout';\nexport * from '@spicainternational/ngx-sds-components/src/lib/message';\nexport * from '@spicainternational/ngx-sds-components/src/lib/modal';\nexport * from '@spicainternational/ngx-sds-components/src/lib/navigation';\nexport * from '@spicainternational/ngx-sds-components/src/lib/number-box';\nexport * from '@spicainternational/ngx-sds-components/src/lib/page-header';\nexport * from '@spicainternational/ngx-sds-components/src/lib/pane';\nexport * from '@spicainternational/ngx-sds-components/src/lib/ripple';\nexport * from '@spicainternational/ngx-sds-components/src/lib/quick-info';\nexport * from '@spicainternational/ngx-sds-components/src/lib/segmented-control';\nexport * from '@spicainternational/ngx-sds-components/src/lib/side-bar';\nexport * from '@spicainternational/ngx-sds-components/src/lib/static-value';\nexport * from '@spicainternational/ngx-sds-components/src/lib/timeline';\nexport * from '@spicainternational/ngx-sds-components/src/lib/timer';\nexport * from '@spicainternational/ngx-sds-components/src/lib/tooltip';\nexport * from '@spicainternational/ngx-sds-components/src/lib/table-actions';\n\nexport * from '@spicainternational/ngx-sds-components/src/lib/utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG;;ACFH;;AAEG"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components.mjs","sources":["../../../projects/ngx-sds-components/src/public-api.ts","../../../projects/ngx-sds-components/src/spicainternational-ngx-sds-components.ts"],"sourcesContent":["/*\r\n * Public API Surface of ngx-sds-components\r\n */\r\n\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/badge';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/callout';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/color-picker';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/ellipsis';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/expansion-panel';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-picker';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/drawer';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-box';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/highlight-text';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/intersection';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/keyboard-shortcut';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/layout';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/message';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/modal';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/navigation';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/number-box';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/page-header';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/pane';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/ripple';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/quick-info';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/segmented-control';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/side-bar';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/static-value';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/timeline';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/timer';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/table-actions';\r\n\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/utils';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG;;ACFH;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spicainternational/ngx-sds-components",
3
- "version": "9.1.1",
3
+ "version": "9.2.0-beta.0",
4
4
  "license": "MIT",
5
5
  "description": "Spica design system angular components.",
6
6
  "type": "module",
@@ -1,20 +1,20 @@
1
- .sds-ripple-container {
2
- position: relative;
3
- overflow: hidden;
4
- }
5
-
6
- .sds-ripple {
7
- position: absolute;
8
- border-radius: 50%;
9
- pointer-events: none;
10
- animation: sds-ripple-animation ease-out;
11
- /* animation: sds-ripple-animation 0.6s ease-out; */
12
- transform: scale(0);
13
- }
14
-
15
- @keyframes sds-ripple-animation {
16
- to {
17
- transform: scale(4);
18
- opacity: 0;
19
- }
20
- }
1
+ .sds-ripple-container {
2
+ position: relative;
3
+ overflow: hidden;
4
+ }
5
+
6
+ .sds-ripple {
7
+ position: absolute;
8
+ border-radius: 50%;
9
+ pointer-events: none;
10
+ animation: sds-ripple-animation ease-out;
11
+ /* animation: sds-ripple-animation 0.6s ease-out; */
12
+ transform: scale(0);
13
+ }
14
+
15
+ @keyframes sds-ripple-animation {
16
+ to {
17
+ transform: scale(4);
18
+ opacity: 0;
19
+ }
20
+ }
@@ -1,7 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, OnInit, OnDestroy, OnChanges, QueryList, SimpleChanges, EventEmitter, PipeTransform } from '@angular/core';
3
3
  import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
4
- import { Router } from '@angular/router';
4
+ import { Router, UrlTree } from '@angular/router';
5
+ import { ConnectedPosition } from '@angular/cdk/overlay';
6
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
5
7
  import { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';
6
8
 
7
9
  interface CollapsibleNavigationEntity {
@@ -172,6 +174,110 @@ declare class SdsNavigationUserProfileComponent implements OnInit, OnChanges, Co
172
174
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsNavigationUserProfileComponent, "sds-navigation-user-profile", never, { "profile": { "alias": "profile"; "required": false; }; "profileInfo": { "alias": "profileInfo"; "required": false; }; "showSignOut": { "alias": "showSignOut"; "required": false; }; "showProfile": { "alias": "showProfile"; "required": false; }; "signOutText": { "alias": "signOutText"; "required": false; }; "profileText": { "alias": "profileText"; "required": false; }; "showNotificationBadge": { "alias": "showNotificationBadge"; "required": false; }; "newNotificationsText": { "alias": "newNotificationsText"; "required": false; }; "showOptions": { "alias": "showOptions"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "sideBarInstanceName": { "alias": "sideBarInstanceName"; "required": false; "isSignal": true; }; }, { "profileClick": "profileClick"; "signOutClick": "signOutClick"; "notificationBadgeClick": "notificationBadgeClick"; "showOptionsChange": "showOptionsChange"; "isCollapsed": "isCollapsedChange"; }, never, ["*"], true, never>;
173
175
  }
174
176
 
177
+ /**
178
+ * Color scheme and default icon of the callout:
179
+ * - `info` - base color `--bs-primary`, icon `faCircleInfo`
180
+ * - `warning` - base color `--bs-orange`, icon `faTriangleExclamation`
181
+ * - `danger` - base color `--bs-pink`, icon `faCircleExclamation`
182
+ */
183
+ type SdsNavigationCalloutVariant = 'info' | 'warning' | 'danger';
184
+ /**
185
+ * Behaviour of the callout when the navigation is collapsed:
186
+ * - `hide` - the callout is not rendered at all
187
+ * - `icon` - only the icon is rendered; clicking it opens a popup with the full callout
188
+ */
189
+ type SdsNavigationCalloutCollapsedMode = 'hide' | 'icon';
190
+ /**
191
+ * Generic sidebar message: icon + title + description + an optional action. Carries no
192
+ * knowledge of what it's displaying (trial status, payment issues, announcements, ...) - callers
193
+ * pass in already-resolved text.
194
+ *
195
+ * The action is either a button (handle `actionClicked`) or, when `actionLink` is set, a router
196
+ * link that navigates on its own. When the navigation is collapsed the callout is either hidden
197
+ * or shown as an icon that opens the full callout in a popup (see `collapsedMode`).
198
+ *
199
+ * Colors are CSS custom properties derived from the base color `--sds-navigation-callout-color`
200
+ * (set by `variant`); override the base or any of the derived ones:
201
+ * `--sds-navigation-callout-bg`, `-border`, `-title` (also the icon), `-description`, `-action`.
202
+ *
203
+ * @example
204
+ * <!-- Action button -->
205
+ * <sds-navigation-callout
206
+ * variant="warning"
207
+ * title="Trial ends today"
208
+ * description="Choose a plan to keep using the app."
209
+ * actionText="Upgrade to paid"
210
+ * (actionClicked)="openUpgradeDialog()">
211
+ * </sds-navigation-callout>
212
+ *
213
+ * <!-- Redirect -->
214
+ * <sds-navigation-callout
215
+ * variant="danger"
216
+ * title="Payment failed"
217
+ * description="Pay the invoice to keep your subscription."
218
+ * actionText="Go to billing page"
219
+ * actionLink="/billing">
220
+ * </sds-navigation-callout>
221
+ */
222
+ declare class SdsNavigationCalloutComponent implements CollapsibleNavigationEntity {
223
+ /**
224
+ * Required. Color scheme and default icon:
225
+ * `info` (`--bs-primary`), `warning` (`--bs-orange`) or `danger` (`--bs-pink`).
226
+ */
227
+ variant: _angular_core.InputSignal<SdsNavigationCalloutVariant>;
228
+ /**
229
+ * Font Awesome icon shown next to the title (and as the collapsed icon).
230
+ * Falls back to the default icon of the `variant` when not provided.
231
+ * @default null
232
+ */
233
+ icon: _angular_core.InputSignal<IconProp | null>;
234
+ /** Required. Title shown next to the icon. Displayed as given - pass already translated text. */
235
+ title: _angular_core.InputSignal<string>;
236
+ /** Required. Text shown below the title. Displayed as given - pass already translated text. */
237
+ description: _angular_core.InputSignal<string>;
238
+ /**
239
+ * Text of the action. The action is shown only when this is not empty.
240
+ * @default ''
241
+ */
242
+ actionText: _angular_core.InputSignal<string>;
243
+ /**
244
+ * Route of the action - accepts the same values as `routerLink` (string, commands array or `UrlTree`).
245
+ * When set the action is rendered as a link that navigates to the route, otherwise as a button.
246
+ * Ignored when `actionText` is empty.
247
+ * @default null
248
+ */
249
+ actionLink: _angular_core.InputSignal<string | readonly any[] | UrlTree | null>;
250
+ /**
251
+ * Behaviour when the navigation is collapsed:
252
+ * `icon` shows only the icon, which opens the full callout in a popup; `hide` hides the callout.
253
+ * @default 'icon'
254
+ */
255
+ collapsedMode: _angular_core.InputSignal<SdsNavigationCalloutCollapsedMode>;
256
+ /**
257
+ * Collapsed state of the navigation. Set automatically by `sds-navigation-container` -
258
+ * bind it only when the callout is used outside of a container.
259
+ * @default false
260
+ */
261
+ isCollapsed: _angular_core.ModelSignal<boolean>;
262
+ /**
263
+ * Emitted when the action is clicked, for both buttons and links. For a link it is only a
264
+ * notification - the router navigates on its own. The popup (collapsed mode) is closed first.
265
+ */
266
+ actionClicked: _angular_core.OutputEmitterRef<void>;
267
+ protected resolvedIcon: _angular_core.Signal<IconProp>;
268
+ protected isHidden: _angular_core.Signal<boolean>;
269
+ protected isIconOnly: _angular_core.Signal<boolean>;
270
+ protected isPopupOpen: _angular_core.WritableSignal<boolean>;
271
+ protected popupPositions: ConnectedPosition[];
272
+ constructor();
273
+ protected togglePopup(): void;
274
+ protected onPopupOutsideClick(event: MouseEvent, origin: HTMLElement): void;
275
+ protected onPopupKeydown(event: KeyboardEvent): void;
276
+ protected onActionClick(): void;
277
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsNavigationCalloutComponent, never>;
278
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsNavigationCalloutComponent, "sds-navigation-callout", never, { "variant": { "alias": "variant"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": true; "isSignal": true; }; "actionText": { "alias": "actionText"; "required": false; "isSignal": true; }; "actionLink": { "alias": "actionLink"; "required": false; "isSignal": true; }; "collapsedMode": { "alias": "collapsedMode"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; "actionClicked": "actionClicked"; }, never, never, true, never>;
279
+ }
280
+
175
281
  declare class SdsNavigationContainerComponent implements OnInit, CollapsibleNavigationEntity {
176
282
  isCollapsed: _angular_core.ModelSignal<boolean>;
177
283
  groupComponentChildren: _angular_core.Signal<readonly SdsNavigationGroupComponent[]>;
@@ -181,10 +287,11 @@ declare class SdsNavigationContainerComponent implements OnInit, CollapsibleNavi
181
287
  externalLinkComponentChildren: _angular_core.Signal<readonly SdsNavigationExternalLinkComponent[]>;
182
288
  userProfileComponentChildren: _angular_core.Signal<readonly SdsNavigationUserProfileComponent[]>;
183
289
  collapsibleFrameComponentChildren: _angular_core.Signal<readonly SdsNavigationCollapsibleFrameComponent[]>;
290
+ calloutComponentChildren: _angular_core.Signal<readonly SdsNavigationCalloutComponent[]>;
184
291
  constructor();
185
292
  ngOnInit(): void;
186
293
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsNavigationContainerComponent, never>;
187
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsNavigationContainerComponent, "sds-navigation-container", never, { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, ["groupComponentChildren", "routeLinkComponentChildren", "separatorComponentChildren", "headerComponentChildren", "externalLinkComponentChildren", "userProfileComponentChildren", "collapsibleFrameComponentChildren"], ["*"], true, never>;
294
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsNavigationContainerComponent, "sds-navigation-container", never, { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, ["groupComponentChildren", "routeLinkComponentChildren", "separatorComponentChildren", "headerComponentChildren", "externalLinkComponentChildren", "userProfileComponentChildren", "collapsibleFrameComponentChildren", "calloutComponentChildren"], ["*"], true, never>;
188
295
  }
189
296
 
190
297
  type UserProfileSelectorContent = 'profileList' | 'selectDefaultProfile';
@@ -252,5 +359,5 @@ declare class SdsActiveRoutePatternPipe implements PipeTransform {
252
359
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<SdsActiveRoutePatternPipe, "sdsActiveRoutePattern", true>;
253
360
  }
254
361
 
255
- export { SdsActiveRoutePatternPipe, SdsNavigationCollapsibleFrameComponent, SdsNavigationContainerComponent, SdsNavigationExternalLinkComponent, SdsNavigationGroupComponent, SdsNavigationHeaderComponent, SdsNavigationRouteLinkComponent, SdsNavigationSeparatorComponent, SdsNavigationUserProfileComponent, SdsProductHomeComponent, SdsUserProfileSelectorComponent };
256
- export type { NavigationProfile, UserProfileSelectorContent };
362
+ export { SdsActiveRoutePatternPipe, SdsNavigationCalloutComponent, SdsNavigationCollapsibleFrameComponent, SdsNavigationContainerComponent, SdsNavigationExternalLinkComponent, SdsNavigationGroupComponent, SdsNavigationHeaderComponent, SdsNavigationRouteLinkComponent, SdsNavigationSeparatorComponent, SdsNavigationUserProfileComponent, SdsProductHomeComponent, SdsUserProfileSelectorComponent };
363
+ export type { NavigationProfile, SdsNavigationCalloutCollapsedMode, SdsNavigationCalloutVariant, UserProfileSelectorContent };