@spicainternational/ngx-sds-components 7.1.0 → 7.3.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 (29) hide show
  1. package/esm2020/src/lib/date-picker/date-picker.component.mjs +18 -6
  2. package/esm2020/src/lib/date-picker/date-picker.module.mjs +8 -4
  3. package/esm2020/src/lib/date-pipes/date-compare.pipe.mjs +31 -0
  4. package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +15 -3
  5. package/esm2020/src/lib/date-pipes/public-api.mjs +2 -1
  6. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +6 -11
  7. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +2 -0
  8. package/esm2020/src/lib/navigation/public-api.mjs +2 -1
  9. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +25 -9
  10. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  11. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +43 -3
  12. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  13. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +5 -10
  14. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  15. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +25 -9
  16. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  17. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +43 -3
  18. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  19. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +5 -10
  20. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  21. package/package.json +1 -1
  22. package/src/lib/date-picker/date-picker.component.d.ts +5 -1
  23. package/src/lib/date-picker/date-picker.module.d.ts +2 -1
  24. package/src/lib/date-pipes/date-compare.pipe.d.ts +7 -0
  25. package/src/lib/date-pipes/date-pipes.module.d.ts +3 -2
  26. package/src/lib/date-pipes/public-api.d.ts +1 -0
  27. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +5 -5
  28. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +1 -0
  29. package/src/lib/navigation/public-api.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-date-pipes.mjs","sources":["../../../projects/ngx-sds-components/src/lib/date-pipes/date-period-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-range-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-pipes.module.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-formats.constants.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isSameDay, isSameYear } from 'date-fns';\r\n\r\n@Pipe({\r\n name: 'sdsDatePeriodFormat',\r\n})\r\nexport class SdsDatePeriodFormatPipe implements PipeTransform {\r\n transform(\r\n from: Date,\r\n to: Date,\r\n locales: string | Array<string>,\r\n options?: Intl.DateTimeFormatOptions,\r\n omitRedundantSegments: boolean = false,\r\n periodSeparator: string = '-',\r\n omitCurrentYear: boolean = false\r\n ): string {\r\n if (!from) {\r\n return '';\r\n }\r\n\r\n if (!to) {\r\n return from.toLocaleDateString(locales, options);\r\n }\r\n\r\n\r\n if (isSameDay(from, to)) {\r\n return from.toLocaleDateString(locales, options);\r\n } else {\r\n let fromOptions = {...options};\r\n let toOptions = {...options};\r\n\r\n if (omitRedundantSegments && fromOptions && toOptions) {\r\n\r\n // if both dates are in current year -> remove it from format\r\n const now = new Date();\r\n if (omitCurrentYear && isSameYear(from, now) && isSameYear(to, now)) {\r\n fromOptions.year = undefined;\r\n toOptions.year = undefined;\r\n } \r\n\r\n if (isSameYear(from, to)) {\r\n // if both dates have same year -> remove it from start data\r\n fromOptions.year = undefined;\r\n }\r\n }\r\n\r\n const fromString = from.toLocaleDateString(locales, fromOptions);\r\n const toString = to.toLocaleDateString(locales, toOptions);\r\n\r\n return `${fromString} ${periodSeparator} ${toString}`;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDateFormat',\r\n})\r\nexport class SdsDateFormatPipe implements PipeTransform {\r\n\r\n /**\r\n * Formats date in given locale.\r\n *\r\n * @param date Date to be formatted.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param options An optional Intl.DateTimeFormatOptions parameter that can be used to fine-tune the output.\r\n * @returns A string with formatted date\r\n * @see [Intl docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)\r\n *\r\n * @publicApi\r\n */\r\n public transform(\r\n date: Date | number | string | undefined,\r\n locales: string | Array<string>,\r\n options?: Intl.DateTimeFormatOptions | 'time' | 'date' | 'date-medium' | 'date-long' | 'date-time'\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 (options === 'time'){\r\n return formatDate.toLocaleTimeString(locales, {\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n }); \r\n } else if (options === 'date'){\r\n return formatDate.toLocaleDateString(locales, {\r\n day: 'numeric', \r\n month: 'numeric', \r\n year:'numeric'\r\n }); \r\n } else if (options === 'date-medium'){\r\n return formatDate.toLocaleDateString(locales, {\r\n day: '2-digit', \r\n month: '2-digit', \r\n year:'numeric'\r\n }); \r\n } else if (options === 'date-long'){\r\n return formatDate.toLocaleDateString(locales, {\r\n day: '2-digit', \r\n month: 'short', \r\n year:'numeric'\r\n }); \r\n } else if (options === 'date-time'){\r\n return formatDate.toLocaleDateString(locales, {\r\n weekday: 'short', \r\n day: 'numeric', \r\n month: 'short', \r\n year:'numeric', \r\n hour: 'numeric',\r\n minute: '2-digit'\r\n }); \r\n } else {\r\n return formatDate.toLocaleDateString(locales, options as Intl.DateTimeFormatOptions | undefined);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDateTimeRangeFormat',\r\n})\r\nexport class DateTimeRangeFormatPipe implements PipeTransform {\r\n /**\r\n * Formats a date range using Intl.DateTimeFormat.formatRange\r\n * @param startDate - The start date of the range\r\n * @param endDate - The end date of the range\r\n * @param locales - Locale(s) to use for formatting (optional, defaults to browser locale)\r\n * @param options - Intl.DateTimeFormatOptions for customizing the format\r\n * @returns Formatted date range string\r\n */\r\n transform(\r\n startDate: Date | string | number,\r\n endDate: Date | string | number,\r\n locales: string | string[],\r\n options: Intl.DateTimeFormatOptions\r\n ): string {\r\n if (!startDate || !endDate) {\r\n return '';\r\n }\r\n\r\n try {\r\n const start = new Date(startDate);\r\n const end = new Date(endDate);\r\n\r\n if (!options || isNaN(start.getTime()) || isNaN(end.getTime())) {\r\n return '';\r\n }\r\n\r\n const formatter = new Intl.DateTimeFormat(locales, options);\r\n const formatterWithRange = formatter as any;\r\n\r\n if (typeof formatterWithRange.formatRange === 'function') {\r\n return formatterWithRange.formatRange(start, end);\r\n } else {\r\n return `${formatter.format(start)} - ${formatter.format(end)}`;\r\n }\r\n } catch (error) {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsDatePeriodFormatPipe } from './date-period-format.pipe';\r\nimport { SdsDateFormatPipe } from './date-format.pipe';\r\nimport { DateTimeRangeFormatPipe } from './date-time-range-format.pipe';\r\n\r\n\r\nconst pipes = [SdsDatePeriodFormatPipe, SdsDateFormatPipe, DateTimeRangeFormatPipe];\r\n\r\n@NgModule({\r\n declarations: [\r\n ...pipes\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports:[\r\n ...pipes\r\n ]\r\n})\r\nexport class SdsDatePipesModule { }\r\n","/**\r\n * Common Intl.DateTimeFormatOptions constants for consistent date/time formatting\r\n */\r\n\r\n// Date formats\r\nexport const DATE_NUMERIC_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n year: 'numeric',\r\n month: 'numeric',\r\n day: 'numeric'\r\n};\r\n\r\nexport const DATE_SHORT_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric'\r\n};\r\n\r\nexport const DATE_LONG_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric'\r\n};\r\n\r\nexport const DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n weekday: 'long',\r\n ...DATE_LONG_MONTH_OPTIONS,\r\n};\r\n\r\nexport const DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n weekday: 'short',\r\n ...DATE_LONG_MONTH_OPTIONS,\r\n};\r\n\r\n\r\n// export const SHORT_DATE_WITH_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'short',\r\n// year: 'numeric',\r\n// month: 'short',\r\n// day: 'numeric'\r\n// };\r\n\r\n// // Long date formats\r\n// export const LONG_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'long',\r\n// year: 'numeric',\r\n// month: 'long',\r\n// day: 'numeric'\r\n// };\r\n\r\n\r\n\r\n\r\n\r\n// Time formats\r\nexport const TIME_HOUR_NUMERIC_OPTION: Intl.DateTimeFormatOptions = {\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n};\r\n\r\nexport const TIME_HOUR_2DIGIT_OPTION: Intl.DateTimeFormatOptions = {\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n};\r\n\r\nexport const TIME_HOUR_NUMERIC_SECONDS_OPTION: Intl.DateTimeFormatOptions = {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n};\r\n\r\n// export const TIME_24H_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// hour: '2-digit',\r\n// minute: '2-digit',\r\n// hour12: false\r\n// };\r\n\r\n// export const TIME_WITH_SECONDS_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// hour: '2-digit',\r\n// minute: '2-digit',\r\n// second: '2-digit',\r\n// hour12: false\r\n// };\r\n\r\n// Date and time combinations\r\n// export const SHORT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'short',\r\n// day: 'numeric',\r\n// hour: 'numeric',\r\n// minute: '2-digit',\r\n// hour12: true\r\n// };\r\n\r\n// export const LONG_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'long',\r\n// year: 'numeric',\r\n// month: 'long',\r\n// day: 'numeric',\r\n// hour: 'numeric',\r\n// minute: '2-digit',\r\n// hour12: true\r\n// };\r\n\r\n// export const COMPACT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: '2-digit',\r\n// day: '2-digit',\r\n// hour: '2-digit',\r\n// minute: '2-digit',\r\n// hour12: false\r\n// };\r\n\r\n// Time range specific formats (optimized for ranges)\r\n\r\n\r\n// export const TIME_RANGE_WITH_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// month: 'short',\r\n// day: 'numeric',\r\n// hour: 'numeric',\r\n// minute: '2-digit',\r\n// hour12: true\r\n// };\r\n\r\n// export const DATE_RANGE_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'short',\r\n// day: 'numeric'\r\n// };\r\n\r\n// export const DATE_RANGE_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'long'\r\n// };\r\n\r\n// Special formats\r\n// export const RELATIVE_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'short',\r\n// month: 'short',\r\n// day: 'numeric'\r\n// };\r\n\r\n// export const MONTH_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'long'\r\n// };\r\n\r\n// export const WEEKDAY_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'long'\r\n// };\r\n\r\n// export const YEAR_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric'\r\n// };\r\n\r\n// Utility object for easy access\r\nexport const DATE_TIME_FORMAT_OPTIONS = {\r\n\r\n DATE_NUMERIC_MONTH: DATE_NUMERIC_MONTH_OPTIONS,\r\n DATE_SHORT_MONTH: DATE_SHORT_MONTH_OPTIONS,\r\n DATE_LONG_MONTH: DATE_LONG_MONTH_OPTIONS,\r\n\r\n DATE_LONG_MONTH_LONG_WEEKDAY: DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS,\r\n DATE_LONG_MONTH_SHORT_WEEKDAY: DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS,\r\n\r\n TIME_HOUR_NUMERIC: TIME_HOUR_NUMERIC_OPTION,\r\n TIME_HOUR_2DIGIT: TIME_HOUR_2DIGIT_OPTION,\r\n TIME_HOUR_NUMERIC_SECONDS: TIME_HOUR_NUMERIC_SECONDS_OPTION,\r\n\r\n // SHORT_DATE_WITH_WEEKDAY: SHORT_DATE_WITH_WEEKDAY_OPTIONS,\r\n \r\n // Long formats\r\n// LONG_DATE_WITH_WEEKDAY: LONG_DATE_WITH_WEEKDAY_OPTIONS,\r\n\r\n // Time formats\r\n// TIME_12H: TIME_12H_OPTIONS,\r\n// TIME_24H: TIME_24H_OPTIONS,\r\n// TIME_WITH_SECONDS: TIME_WITH_SECONDS_OPTIONS,\r\n \r\n // DateTime combinations\r\n// SHORT_DATETIME: SHORT_DATETIME_OPTIONS,\r\n// LONG_DATETIME: LONG_DATETIME_OPTIONS,\r\n// COMPACT_DATETIME: COMPACT_DATETIME_OPTIONS,\r\n \r\n // Range specific\r\n \r\n// TIME_RANGE_WITH_DATE: TIME_RANGE_WITH_DATE_OPTIONS,\r\n// DATE_RANGE_MONTH: DATE_RANGE_MONTH_OPTIONS,\r\n// DATE_RANGE_YEAR: DATE_RANGE_YEAR_OPTIONS,\r\n \r\n // Special\r\n// RELATIVE_DATE: RELATIVE_DATE_OPTIONS,\r\n// MONTH_YEAR: MONTH_YEAR_OPTIONS,\r\n// WEEKDAY_ONLY: WEEKDAY_ONLY_OPTIONS,\r\n// YEAR_ONLY: YEAR_ONLY_OPTIONS\r\n} as const;\r\nexport type DateTimeFormatOptionKeys = keyof typeof DATE_TIME_FORMAT_OPTIONS;\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAMa,uBAAuB,CAAA;AAChC,IAAA,SAAS,CACL,IAAU,EACV,EAAQ,EACR,OAA+B,EAC/B,OAAoC,EACpC,qBAAA,GAAiC,KAAK,EACtC,eAAA,GAA0B,GAAG,EAC7B,kBAA2B,KAAK,EAAA;QAEhC,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;QAED,IAAI,CAAC,EAAE,EAAE;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACpD,SAAA;AAGD,QAAA,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACpD,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,WAAW,GAAG,EAAC,GAAG,OAAO,EAAC,CAAC;AAC/B,YAAA,IAAI,SAAS,GAAG,EAAC,GAAG,OAAO,EAAC,CAAC;AAE7B,YAAA,IAAI,qBAAqB,IAAI,WAAW,IAAI,SAAS,EAAE;;AAGnD,gBAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,gBAAA,IAAI,eAAe,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;AACjE,oBAAA,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;AAC7B,oBAAA,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;AAC9B,iBAAA;AAED,gBAAA,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;;AAEtB,oBAAA,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;AAChC,iBAAA;AACJ,aAAA;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAE3D,YAAA,OAAO,GAAG,UAAU,CAAA,CAAA,EAAI,eAAe,CAAI,CAAA,EAAA,QAAQ,EAAE,CAAC;AACzD,SAAA;KACJ;;qHA7CQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mHAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,qBAAqB;AAC9B,iBAAA,CAAA;;;MCAY,iBAAiB,CAAA;AAE1B;;;;;;;;;;AAUG;AACI,IAAA,SAAS,CACZ,IAAwC,EACxC,OAA+B,EAC/B,OAAkG,EAAA;AAElG,QAAA,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;AACrC,YAAA,OAAO,EAAE,CAAA;AACZ,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,cAAc,EAAE;AACzC,YAAA,OAAO,EAAE,CAAA;AACZ,SAAA;QAED,IAAI,OAAO,KAAK,MAAM,EAAC;AACnB,YAAA,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE;AAC1C,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,MAAM,EAAE,SAAS;AACpB,aAAA,CAAC,CAAC;AACN,SAAA;aAAO,IAAI,OAAO,KAAK,MAAM,EAAC;AAC3B,YAAA,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE;AAC1C,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAC,SAAS;AACjB,aAAA,CAAC,CAAC;AACN,SAAA;aAAO,IAAI,OAAO,KAAK,aAAa,EAAC;AAClC,YAAA,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE;AAC1C,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAC,SAAS;AACjB,aAAA,CAAC,CAAC;AACN,SAAA;aAAO,IAAI,OAAO,KAAK,WAAW,EAAC;AAChC,YAAA,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE;AAC1C,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,IAAI,EAAC,SAAS;AACjB,aAAA,CAAC,CAAC;AACN,SAAA;aAAO,IAAI,OAAO,KAAK,WAAW,EAAC;AAChC,YAAA,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE;AAC1C,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,IAAI,EAAC,SAAS;AACd,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,MAAM,EAAE,SAAS;AACpB,aAAA,CAAC,CAAC;AACN,SAAA;AAAM,aAAA;YACH,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAiD,CAAC,CAAC;AACpG,SAAA;KACJ;;+GA9DQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;AACxB,iBAAA,CAAA;;;MCCY,uBAAuB,CAAA;AAChC;;;;;;;AAOG;AACH,IAAA,SAAS,CACL,SAAiC,EACjC,OAA+B,EAC/B,OAA0B,EAC1B,OAAmC,EAAA;AAEnC,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;AACxB,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;QAED,IAAI;AACA,YAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAClC,YAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;AAE9B,YAAA,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE;AAC5D,gBAAA,OAAO,EAAE,CAAC;AACb,aAAA;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,kBAAkB,GAAG,SAAgB,CAAC;AAE5C,YAAA,IAAI,OAAO,kBAAkB,CAAC,WAAW,KAAK,UAAU,EAAE;gBACtD,OAAO,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrD,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,CAAG,EAAA,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAM,GAAA,EAAA,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAClE,aAAA;AACJ,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;KACJ;;qHAtCQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mHAAvB,uBAAuB,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,wBAAwB;AACjC,iBAAA,CAAA;;;ACGD,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;MAavE,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAbhB,YAAA,EAAA,CAAA,uBAAuB,EAAE,iBAAiB,EAAE,uBAAuB,CAO9E,EAAA,OAAA,EAAA,CAAA,YAAY,CAPD,EAAA,OAAA,EAAA,CAAA,uBAAuB,EAAE,iBAAiB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAarE,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAN3B,YAAY,CAAA,EAAA,CAAA,CAAA;4FAMH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;AACZ,wBAAA,GAAG,KAAK;AACT,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAC;AACJ,wBAAA,GAAG,KAAK;AACX,qBAAA;AACF,iBAAA,CAAA;;;ACnBD;;AAEG;AAEH;AACa,MAAA,0BAA0B,GAA+B;AACpE,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,GAAG,EAAE,SAAS;EACd;AAEW,MAAA,wBAAwB,GAA+B;AAClE,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,GAAG,EAAE,SAAS;EACd;AAEW,MAAA,uBAAuB,GAA+B;AACjE,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,GAAG,EAAE,SAAS;EACd;AAEW,MAAA,oCAAoC,GAA+B;AAC5E,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,GAAG,uBAAuB;EAC5B;AAEW,MAAA,qCAAqC,GAA+B;AAC/E,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,GAAG,uBAAuB;EAC1B;AAGF;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACa,MAAA,wBAAwB,GAA+B;AAClE,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,SAAS;EACjB;AAEW,MAAA,uBAAuB,GAA+B;AACjE,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,SAAS;EACjB;AAEW,MAAA,gCAAgC,GAA+B;AAC1E,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,MAAM,EAAE,SAAS;EACjB;AAEF;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACa,MAAA,wBAAwB,GAAG;AAEpC,IAAA,kBAAkB,EAAE,0BAA0B;AAC9C,IAAA,gBAAgB,EAAE,wBAAwB;AAC1C,IAAA,eAAe,EAAE,uBAAuB;AAExC,IAAA,4BAA4B,EAAE,oCAAoC;AAClE,IAAA,6BAA6B,EAAE,qCAAqC;AAEpE,IAAA,iBAAiB,EAAE,wBAAwB;AAC3C,IAAA,gBAAgB,EAAE,uBAAuB;AACzC,IAAA,yBAAyB,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;ACtK/D;;AAEG;;;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-date-pipes.mjs","sources":["../../../projects/ngx-sds-components/src/lib/date-pipes/date-period-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-range-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-compare.pipe.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-pipes.module.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/date-time-formats.constants.ts","../../../projects/ngx-sds-components/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isSameDay, isSameYear } from 'date-fns';\r\n\r\n@Pipe({\r\n name: 'sdsDatePeriodFormat',\r\n})\r\nexport class SdsDatePeriodFormatPipe implements PipeTransform {\r\n transform(\r\n from: Date,\r\n to: Date,\r\n locales: string | Array<string>,\r\n options?: Intl.DateTimeFormatOptions,\r\n omitRedundantSegments: boolean = false,\r\n periodSeparator: string = '-',\r\n omitCurrentYear: boolean = false\r\n ): string {\r\n if (!from) {\r\n return '';\r\n }\r\n\r\n if (!to) {\r\n return from.toLocaleDateString(locales, options);\r\n }\r\n\r\n\r\n if (isSameDay(from, to)) {\r\n return from.toLocaleDateString(locales, options);\r\n } else {\r\n let fromOptions = {...options};\r\n let toOptions = {...options};\r\n\r\n if (omitRedundantSegments && fromOptions && toOptions) {\r\n\r\n // if both dates are in current year -> remove it from format\r\n const now = new Date();\r\n if (omitCurrentYear && isSameYear(from, now) && isSameYear(to, now)) {\r\n fromOptions.year = undefined;\r\n toOptions.year = undefined;\r\n } \r\n\r\n if (isSameYear(from, to)) {\r\n // if both dates have same year -> remove it from start data\r\n fromOptions.year = undefined;\r\n }\r\n }\r\n\r\n const fromString = from.toLocaleDateString(locales, fromOptions);\r\n const toString = to.toLocaleDateString(locales, toOptions);\r\n\r\n return `${fromString} ${periodSeparator} ${toString}`;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDateFormat',\r\n})\r\nexport class SdsDateFormatPipe implements PipeTransform {\r\n\r\n /**\r\n * Formats date in given locale.\r\n *\r\n * @param date Date to be formatted.\r\n * @param locale A locale code for the locale format rules to use.\r\n * @param options An optional Intl.DateTimeFormatOptions parameter that can be used to fine-tune the output.\r\n * @returns A string with formatted date\r\n * @see [Intl docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)\r\n *\r\n * @publicApi\r\n */\r\n public transform(\r\n date: Date | number | string | undefined,\r\n locales: string | Array<string>,\r\n options?: Intl.DateTimeFormatOptions | 'time' | 'date' | 'date-medium' | 'date-long' | 'date-time'\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 (options === 'time'){\r\n return formatDate.toLocaleTimeString(locales, {\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n }); \r\n } else if (options === 'date'){\r\n return formatDate.toLocaleDateString(locales, {\r\n day: 'numeric', \r\n month: 'numeric', \r\n year:'numeric'\r\n }); \r\n } else if (options === 'date-medium'){\r\n return formatDate.toLocaleDateString(locales, {\r\n day: '2-digit', \r\n month: '2-digit', \r\n year:'numeric'\r\n }); \r\n } else if (options === 'date-long'){\r\n return formatDate.toLocaleDateString(locales, {\r\n day: '2-digit', \r\n month: 'short', \r\n year:'numeric'\r\n }); \r\n } else if (options === 'date-time'){\r\n return formatDate.toLocaleDateString(locales, {\r\n weekday: 'short', \r\n day: 'numeric', \r\n month: 'short', \r\n year:'numeric', \r\n hour: 'numeric',\r\n minute: '2-digit'\r\n }); \r\n } else {\r\n return formatDate.toLocaleDateString(locales, options as Intl.DateTimeFormatOptions | undefined);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDateTimeRangeFormat',\r\n})\r\nexport class DateTimeRangeFormatPipe implements PipeTransform {\r\n /**\r\n * Formats a date range using Intl.DateTimeFormat.formatRange\r\n * @param startDate - The start date of the range\r\n * @param endDate - The end date of the range\r\n * @param locales - Locale(s) to use for formatting (optional, defaults to browser locale)\r\n * @param options - Intl.DateTimeFormatOptions for customizing the format\r\n * @returns Formatted date range string\r\n */\r\n transform(\r\n startDate: Date | string | number,\r\n endDate: Date | string | number,\r\n locales: string | string[],\r\n options: Intl.DateTimeFormatOptions\r\n ): string {\r\n if (!startDate || !endDate) {\r\n return '';\r\n }\r\n\r\n try {\r\n const start = new Date(startDate);\r\n const end = new Date(endDate);\r\n\r\n if (!options || isNaN(start.getTime()) || isNaN(end.getTime())) {\r\n return '';\r\n }\r\n\r\n const formatter = new Intl.DateTimeFormat(locales, options);\r\n const formatterWithRange = formatter as any;\r\n\r\n if (typeof formatterWithRange.formatRange === 'function') {\r\n return formatterWithRange.formatRange(start, end);\r\n } else {\r\n return `${formatter.format(start)} - ${formatter.format(end)}`;\r\n }\r\n } catch (error) {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDateCompare',\r\n})\r\nexport class SdsDateComparePipe implements PipeTransform {\r\n transform(\r\n date1: Date | string | number,\r\n date2: Date | string | number,\r\n operator: 'gt' | 'lt' | 'eq' | 'gte' | 'lte'\r\n ): boolean {\r\n const d1 = new Date(date1);\r\n const d2 = new Date(date2);\r\n\r\n switch (operator) {\r\n case 'gt':\r\n return d1 > d2;\r\n case 'lt':\r\n return d1 < d2;\r\n case 'eq':\r\n return d1.getTime() === d2.getTime();\r\n case 'gte':\r\n return d1 >= d2;\r\n case 'lte':\r\n return d1 <= d2;\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsDatePeriodFormatPipe } from './date-period-format.pipe';\r\nimport { SdsDateFormatPipe } from './date-format.pipe';\r\nimport { DateTimeRangeFormatPipe } from './date-time-range-format.pipe';\r\nimport { SdsDateComparePipe } from './date-compare.pipe';\r\n\r\n\r\nconst pipes = [\r\n SdsDatePeriodFormatPipe, \r\n SdsDateFormatPipe, \r\n DateTimeRangeFormatPipe,\r\n SdsDateComparePipe\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n ...pipes\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports:[\r\n ...pipes\r\n ]\r\n})\r\nexport class SdsDatePipesModule { }\r\n","/**\r\n * Common Intl.DateTimeFormatOptions constants for consistent date/time formatting\r\n */\r\n\r\n// Date formats\r\nexport const DATE_NUMERIC_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n year: 'numeric',\r\n month: 'numeric',\r\n day: 'numeric'\r\n};\r\n\r\nexport const DATE_SHORT_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric'\r\n};\r\n\r\nexport const DATE_LONG_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric'\r\n};\r\n\r\nexport const DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n weekday: 'long',\r\n ...DATE_LONG_MONTH_OPTIONS,\r\n};\r\n\r\nexport const DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n weekday: 'short',\r\n ...DATE_LONG_MONTH_OPTIONS,\r\n};\r\n\r\n\r\n// export const SHORT_DATE_WITH_WEEKDAY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'short',\r\n// year: 'numeric',\r\n// month: 'short',\r\n// day: 'numeric'\r\n// };\r\n\r\n// // Long date formats\r\n// export const LONG_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'long',\r\n// year: 'numeric',\r\n// month: 'long',\r\n// day: 'numeric'\r\n// };\r\n\r\n\r\n\r\n\r\n\r\n// Time formats\r\nexport const TIME_HOUR_NUMERIC_OPTION: Intl.DateTimeFormatOptions = {\r\n hour: 'numeric',\r\n minute: '2-digit'\r\n};\r\n\r\nexport const TIME_HOUR_2DIGIT_OPTION: Intl.DateTimeFormatOptions = {\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n};\r\n\r\nexport const TIME_HOUR_NUMERIC_SECONDS_OPTION: Intl.DateTimeFormatOptions = {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n};\r\n\r\n// export const TIME_24H_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// hour: '2-digit',\r\n// minute: '2-digit',\r\n// hour12: false\r\n// };\r\n\r\n// export const TIME_WITH_SECONDS_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// hour: '2-digit',\r\n// minute: '2-digit',\r\n// second: '2-digit',\r\n// hour12: false\r\n// };\r\n\r\n// Date and time combinations\r\n// export const SHORT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'short',\r\n// day: 'numeric',\r\n// hour: 'numeric',\r\n// minute: '2-digit',\r\n// hour12: true\r\n// };\r\n\r\n// export const LONG_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'long',\r\n// year: 'numeric',\r\n// month: 'long',\r\n// day: 'numeric',\r\n// hour: 'numeric',\r\n// minute: '2-digit',\r\n// hour12: true\r\n// };\r\n\r\n// export const COMPACT_DATETIME_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: '2-digit',\r\n// day: '2-digit',\r\n// hour: '2-digit',\r\n// minute: '2-digit',\r\n// hour12: false\r\n// };\r\n\r\n// Time range specific formats (optimized for ranges)\r\n\r\n\r\n// export const TIME_RANGE_WITH_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// month: 'short',\r\n// day: 'numeric',\r\n// hour: 'numeric',\r\n// minute: '2-digit',\r\n// hour12: true\r\n// };\r\n\r\n// export const DATE_RANGE_MONTH_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'short',\r\n// day: 'numeric'\r\n// };\r\n\r\n// export const DATE_RANGE_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'long'\r\n// };\r\n\r\n// Special formats\r\n// export const RELATIVE_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'short',\r\n// month: 'short',\r\n// day: 'numeric'\r\n// };\r\n\r\n// export const MONTH_YEAR_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric',\r\n// month: 'long'\r\n// };\r\n\r\n// export const WEEKDAY_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// weekday: 'long'\r\n// };\r\n\r\n// export const YEAR_ONLY_OPTIONS: Intl.DateTimeFormatOptions = {\r\n// year: 'numeric'\r\n// };\r\n\r\n// Utility object for easy access\r\nexport const DATE_TIME_FORMAT_OPTIONS = {\r\n\r\n DATE_NUMERIC_MONTH: DATE_NUMERIC_MONTH_OPTIONS,\r\n DATE_SHORT_MONTH: DATE_SHORT_MONTH_OPTIONS,\r\n DATE_LONG_MONTH: DATE_LONG_MONTH_OPTIONS,\r\n\r\n DATE_LONG_MONTH_LONG_WEEKDAY: DATE_LONG_MONTH_LONG_WEEKDAY_OPTIONS,\r\n DATE_LONG_MONTH_SHORT_WEEKDAY: DATE_LONG_MONTH_SHORT_WEEKDAY_OPTIONS,\r\n\r\n TIME_HOUR_NUMERIC: TIME_HOUR_NUMERIC_OPTION,\r\n TIME_HOUR_2DIGIT: TIME_HOUR_2DIGIT_OPTION,\r\n TIME_HOUR_NUMERIC_SECONDS: TIME_HOUR_NUMERIC_SECONDS_OPTION,\r\n\r\n // SHORT_DATE_WITH_WEEKDAY: SHORT_DATE_WITH_WEEKDAY_OPTIONS,\r\n \r\n // Long formats\r\n// LONG_DATE_WITH_WEEKDAY: LONG_DATE_WITH_WEEKDAY_OPTIONS,\r\n\r\n // Time formats\r\n// TIME_12H: TIME_12H_OPTIONS,\r\n// TIME_24H: TIME_24H_OPTIONS,\r\n// TIME_WITH_SECONDS: TIME_WITH_SECONDS_OPTIONS,\r\n \r\n // DateTime combinations\r\n// SHORT_DATETIME: SHORT_DATETIME_OPTIONS,\r\n// LONG_DATETIME: LONG_DATETIME_OPTIONS,\r\n// COMPACT_DATETIME: COMPACT_DATETIME_OPTIONS,\r\n \r\n // Range specific\r\n \r\n// TIME_RANGE_WITH_DATE: TIME_RANGE_WITH_DATE_OPTIONS,\r\n// DATE_RANGE_MONTH: DATE_RANGE_MONTH_OPTIONS,\r\n// DATE_RANGE_YEAR: DATE_RANGE_YEAR_OPTIONS,\r\n \r\n // Special\r\n// RELATIVE_DATE: RELATIVE_DATE_OPTIONS,\r\n// MONTH_YEAR: MONTH_YEAR_OPTIONS,\r\n// WEEKDAY_ONLY: WEEKDAY_ONLY_OPTIONS,\r\n// YEAR_ONLY: YEAR_ONLY_OPTIONS\r\n} as const;\r\nexport type DateTimeFormatOptionKeys = keyof typeof DATE_TIME_FORMAT_OPTIONS;\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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"}
@@ -471,19 +471,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
471
471
 
472
472
  class SdsUserProfileSelectorComponent {
473
473
  constructor() {
474
+ this.content = 'profileList';
474
475
  this.profiles = [];
475
- this.selectedProfileId = null;
476
476
  this.selectDefaultProfileText = 'Stop Impersonation';
477
477
  this.switchText = 'Switch to';
478
478
  this.profileIdChange = new EventEmitter();
479
479
  this.isSelectedOneOfProfiles = false;
480
480
  this.SELECT_DEFAULT_PROFILE_ICON = faEyeSlash;
481
481
  }
482
- ngOnChanges(changes) {
483
- if (changes['selectedProfileId']) {
484
- this.isSelectedOneOfProfiles = this.profiles.some(profile => profile.id === this.selectedProfileId);
485
- }
486
- }
487
482
  selectProfile(profileId) {
488
483
  this.profileIdChange.emit(profileId);
489
484
  }
@@ -492,13 +487,13 @@ class SdsUserProfileSelectorComponent {
492
487
  }
493
488
  }
494
489
  SdsUserProfileSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsUserProfileSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
495
- SdsUserProfileSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsUserProfileSelectorComponent, selector: "sds-user-profile-selector", inputs: { profiles: "profiles", selectedProfileId: "selectedProfileId", selectDefaultProfileText: "selectDefaultProfileText", switchText: "switchText" }, outputs: { profileIdChange: "profileIdChange" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"profiles && profiles.length > 0\" class=\"mx-2\"> \r\n <div \r\n *ngIf=\"!isSelectedOneOfProfiles\" \r\n class=\"pt-2 pb-3 mt-1 mb-2 ps-2 border-bottom\">\r\n\r\n <div class=\"sds-fs-75 py-1 mb-2 text-uppercase\">{{switchText}}</div>\r\n\r\n <ul class=\"list-unstyled mb-0 sds-ul-gap-1 ps-2 profile-list sds-scrollbar sds-scrollbar-thin\">\r\n <li\r\n class=\"rounded sds-hoverable-150 pe-2 py-1\"\r\n *ngFor=\"let profile of profiles\"\r\n >\r\n <sds-user-profile-tile\r\n class=\"sds-cursor-pointer\"\r\n [profile]=\"profile\"\r\n [size]=\"'small'\"\r\n [emphasizeName]=\"false\"\r\n (click)=\"selectProfile(profile.id)\"\r\n >\r\n </sds-user-profile-tile>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isSelectedOneOfProfiles\"\r\n class=\"mt-2 mb-1\">\r\n <sds-user-profile-action-button\r\n [text]=\"selectDefaultProfileText\"\r\n [icon]=\"SELECT_DEFAULT_PROFILE_ICON\"\r\n (click)=\"selectDefaultProfile()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </div>\r\n</div>", styles: [".profile-list{max-height:6rem;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SdsUserProfileTileComponent, selector: "sds-user-profile-tile", inputs: ["profile", "emphasizeName", "size"] }, { kind: "component", type: SdsUserProfileActionButtonComponent, selector: "sds-user-profile-action-button", inputs: ["text", "icon"], outputs: ["actionClick"] }] });
490
+ SdsUserProfileSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsUserProfileSelectorComponent, selector: "sds-user-profile-selector", inputs: { content: "content", profiles: "profiles", selectDefaultProfileText: "selectDefaultProfileText", switchText: "switchText" }, outputs: { profileIdChange: "profileIdChange" }, ngImport: i0, template: "<div *ngIf=\"profiles && profiles.length > 0\" class=\"mx-2\"> \r\n <div \r\n *ngIf=\"content === 'profileList'\" \r\n class=\"pt-2 pb-3 mt-1 mb-2 ps-2 border-bottom\">\r\n\r\n <div class=\"sds-fs-75 py-1 mb-2 text-uppercase\">{{switchText}}</div>\r\n\r\n <ul class=\"list-unstyled mb-0 sds-ul-gap-1 ps-2 profile-list sds-scrollbar sds-scrollbar-thin\">\r\n <li\r\n class=\"rounded sds-hoverable-150 pe-2 py-1\"\r\n *ngFor=\"let profile of profiles\"\r\n >\r\n <sds-user-profile-tile\r\n class=\"sds-cursor-pointer\"\r\n [profile]=\"profile\"\r\n [size]=\"'small'\"\r\n [emphasizeName]=\"false\"\r\n (click)=\"selectProfile(profile.id)\"\r\n >\r\n </sds-user-profile-tile>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"content === 'selectDefaultProfile'\"\r\n class=\"mt-2 mb-1\">\r\n <sds-user-profile-action-button\r\n [text]=\"selectDefaultProfileText\"\r\n [icon]=\"SELECT_DEFAULT_PROFILE_ICON\"\r\n (click)=\"selectDefaultProfile()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </div>\r\n</div>", styles: [".profile-list{max-height:6rem;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SdsUserProfileTileComponent, selector: "sds-user-profile-tile", inputs: ["profile", "emphasizeName", "size"] }, { kind: "component", type: SdsUserProfileActionButtonComponent, selector: "sds-user-profile-action-button", inputs: ["text", "icon"], outputs: ["actionClick"] }] });
496
491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsUserProfileSelectorComponent, decorators: [{
497
492
  type: Component,
498
- args: [{ selector: 'sds-user-profile-selector', template: "<div *ngIf=\"profiles && profiles.length > 0\" class=\"mx-2\"> \r\n <div \r\n *ngIf=\"!isSelectedOneOfProfiles\" \r\n class=\"pt-2 pb-3 mt-1 mb-2 ps-2 border-bottom\">\r\n\r\n <div class=\"sds-fs-75 py-1 mb-2 text-uppercase\">{{switchText}}</div>\r\n\r\n <ul class=\"list-unstyled mb-0 sds-ul-gap-1 ps-2 profile-list sds-scrollbar sds-scrollbar-thin\">\r\n <li\r\n class=\"rounded sds-hoverable-150 pe-2 py-1\"\r\n *ngFor=\"let profile of profiles\"\r\n >\r\n <sds-user-profile-tile\r\n class=\"sds-cursor-pointer\"\r\n [profile]=\"profile\"\r\n [size]=\"'small'\"\r\n [emphasizeName]=\"false\"\r\n (click)=\"selectProfile(profile.id)\"\r\n >\r\n </sds-user-profile-tile>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isSelectedOneOfProfiles\"\r\n class=\"mt-2 mb-1\">\r\n <sds-user-profile-action-button\r\n [text]=\"selectDefaultProfileText\"\r\n [icon]=\"SELECT_DEFAULT_PROFILE_ICON\"\r\n (click)=\"selectDefaultProfile()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </div>\r\n</div>", styles: [".profile-list{max-height:6rem;overflow-y:auto}\n"] }]
499
- }], propDecorators: { profiles: [{
493
+ args: [{ selector: 'sds-user-profile-selector', template: "<div *ngIf=\"profiles && profiles.length > 0\" class=\"mx-2\"> \r\n <div \r\n *ngIf=\"content === 'profileList'\" \r\n class=\"pt-2 pb-3 mt-1 mb-2 ps-2 border-bottom\">\r\n\r\n <div class=\"sds-fs-75 py-1 mb-2 text-uppercase\">{{switchText}}</div>\r\n\r\n <ul class=\"list-unstyled mb-0 sds-ul-gap-1 ps-2 profile-list sds-scrollbar sds-scrollbar-thin\">\r\n <li\r\n class=\"rounded sds-hoverable-150 pe-2 py-1\"\r\n *ngFor=\"let profile of profiles\"\r\n >\r\n <sds-user-profile-tile\r\n class=\"sds-cursor-pointer\"\r\n [profile]=\"profile\"\r\n [size]=\"'small'\"\r\n [emphasizeName]=\"false\"\r\n (click)=\"selectProfile(profile.id)\"\r\n >\r\n </sds-user-profile-tile>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"content === 'selectDefaultProfile'\"\r\n class=\"mt-2 mb-1\">\r\n <sds-user-profile-action-button\r\n [text]=\"selectDefaultProfileText\"\r\n [icon]=\"SELECT_DEFAULT_PROFILE_ICON\"\r\n (click)=\"selectDefaultProfile()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </div>\r\n</div>", styles: [".profile-list{max-height:6rem;overflow-y:auto}\n"] }]
494
+ }], propDecorators: { content: [{
500
495
  type: Input
501
- }], selectedProfileId: [{
496
+ }], profiles: [{
502
497
  type: Input
503
498
  }], selectDefaultProfileText: [{
504
499
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-navigation.mjs","sources":["../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/utils/navigation.utils.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/pipes/navigation-route-active.pipe.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation.module.ts","../../../projects/ngx-sds-components/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-separator',\r\n templateUrl: './navigation-separator.component.html',\r\n styleUrls: ['./navigation-separator.component.scss']\r\n})\r\nexport class SdsNavigationSeparatorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"sds-navigation-separator nav-separator\"></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-header',\r\n templateUrl: './navigation-header.component.html',\r\n styleUrls: ['./navigation-header.component.scss'],\r\n})\r\nexport class SdsNavigationHeaderComponent implements OnInit {\r\n @Input() text: string;\r\n\r\n constructor() {\r\n this.text = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-navigation-header\">\r\n {{ text }}\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-route-link',\r\n templateUrl: './navigation-route-link.component.html',\r\n styleUrls: ['./navigation-route-link.component.scss'],\r\n})\r\nexport class SdsNavigationRouteLinkComponent implements OnInit {\r\n /**\r\n * This variable is used as 'routerLink' attribute in the anchor tag.\r\n * \r\n * Is named 'link' to avoid conflict with the 'routerLink' directive.\r\n */\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n\r\n @Input() additionalInfo: string | undefined = undefined;\r\n\r\n @Input() disabled = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- class=\"sds-navigation-router-link sidebar-item-x d-flex justify-content-start align-items-center sidebar-item-x py-1\"> -->\r\n<div \r\n class=\"sds-navigation-router-link sds-navigation-item-container\"\r\n [class.disabled]=\"disabled\"\r\n routerLinkActive=\"active\">\r\n <a class=\"sds-navigation-item-content w-100\" [routerLink]=\"link\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <span *ngIf=\"additionalInfo\"\r\n class=\"sds-navigation-router-link-additional-info badge rounded-pill bg-warning text-body\"\r\n >{{ additionalInfo }}</span\r\n > \r\n </div>\r\n </a>\r\n</div>","export function removeQueryParams(url: string): string {\r\n return url.split('?')[0];\r\n}\r\n\r\nexport function isUrlPartOfNavigationGroup(\r\n currentUrl: string[], \r\n nestedRoutes: string[], \r\n defaultGroupUrl: string): boolean {\r\n\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n \r\n defaultGroupUrl = defaultGroupUrl.replace('/', '');\r\n \r\n if (nestedRoutes?.length > 0) {\r\n // Nested routes are provided. We should find out if current url is on the list of\r\n // the provided nested routes \r\n const currentUrlParts = currentUrl.slice();//.reverse();\r\n const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => {\r\n const routeParts = routeName.split('/');//.reverse();\r\n return isSubsetOrSame(currentUrlParts, routeParts);\r\n });\r\n if (routeItemIsPartOfNestedRoutes) {\r\n return true;\r\n }\r\n }\r\n\r\n const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);\r\n return currentUrlContainsGroupUrl;\r\n }\r\n\r\nfunction isSubsetOrSame(mainArray: string[], subArray: string[]): boolean {\r\n // if we have super wildcard we need to check reversed array\r\n // if (subArray.includes('**')) {\r\n const reversedMainArray = mainArray.slice(); //.reverse();\r\n const reversedSubArray = subArray.slice(); //.reverse();\r\n\r\n for (let i = 0; i < reversedSubArray.length; i++) {\r\n if (reversedSubArray[i] === '**') {\r\n return true;\r\n }\r\n if ((reversedMainArray[i] !== reversedSubArray[i]) && reversedSubArray[i] !== '*') {\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n // } else {\r\n // if (subArray.length > mainArray.length) return false;\r\n\r\n // for (let i = 0; i < subArray.length; i++) {\r\n // if ((mainArray[i] !== subArray[i]) && subArray[i] !== '*') {\r\n // return false;\r\n // }\r\n // }\r\n // return true;\r\n // }\r\n}","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';\r\n\r\nimport { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\nimport { isUrlPartOfNavigationGroup, removeQueryParams } from '../utils/navigation.utils';\r\n\r\n@Component({\r\n selector: 'sds-navigation-group',\r\n templateUrl: './navigation-group.component.html',\r\n styleUrls: ['./navigation-group.component.scss'],\r\n})\r\nexport class SdsNavigationGroupComponent implements OnInit, OnDestroy {\r\n /**\r\n * List of paths allowed/expected within this module.\r\n * These are paths that are not accessible through child navigation\r\n * elements, but through links in other parts of the application (e.g. link\r\n * on form)\r\n */\r\n private _navigationGroupNestedRoutes: string[] = [];\r\n @Input()\r\n set navigationGroupNestedRoutes(value: string[]) {\r\n this._navigationGroupNestedRoutes = value;\r\n }\r\n get navigationGroupNestedRoutes() {\r\n return this._navigationGroupNestedRoutes;\r\n }\r\n\r\n @Input() text: string = '';\r\n @Input() icon: string = '';\r\n @Input() defaultRouterLink: string = '';\r\n @Input() reverse = false;\r\n @Input() ignoreQueryParamsInActiveRoute = false;\r\n @Input() disabled = false;\r\n @Input() showPopover = false;\r\n @Input() showPopoverHeader = false;\r\n\r\n @ContentChildren(SdsNavigationRouteLinkComponent)\r\n routerLinkComponents: QueryList<SdsNavigationRouteLinkComponent> = new QueryList<SdsNavigationRouteLinkComponent>();\r\n\r\n active: boolean = false; \r\n\r\n faAngleUpRegular = faAngleUp;\r\n faAngleDownRegular = faAngleDown;\r\n\r\n /**\r\n * Current app URL (e.g. ['layout-showcase', 'default'])\r\n */\r\n currentUrl: string[] = [];\r\n\r\n private _unsubscribe: Subject<void> = new Subject<void>();\r\n \r\n public isGroupActive: boolean = false;\r\n\r\n\r\n constructor(private _router: Router) {}\r\n\r\n ngOnInit(): void {\r\n this._router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd),\r\n takeUntil(this._unsubscribe)\r\n ).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.url) : event.url;\r\n const route: string[] = activeRoute.split('/').filter(item => item.length > 0);\r\n this.currentUrl = route;\r\n this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n\r\n onHiding(e: any) {\r\n const popoverContent = e.component.content().parentNode;\r\n const isMouseInsidePopover = popoverContent.matches(':hover');\r\n e.cancel = isMouseInsidePopover;\r\n\r\n popoverContent.addEventListener('mouseleave', () => {\r\n popoverContent.removeEventListener('mouseleave', () => {});\r\n e.component.hide();\r\n \r\n });\r\n \r\n }\r\n}\r\n","<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"[defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <div *ngIf=\"isGroupActive\" class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showPopover && !isGroupActive\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-container',\r\n templateUrl: './navigation-container.component.html',\r\n styleUrls: ['./navigation-container.component.scss'],\r\n})\r\nexport class SdsNavigationContainerComponent implements OnInit {\r\n @Input() product: string;\r\n\r\n constructor() {\r\n this.product = 'all-hours';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-navigation-external-link',\r\n templateUrl: './navigation-external-link.component.html',\r\n styleUrls: ['./navigation-external-link.component.scss']\r\n})\r\nexport class SdsNavigationExternalLinkComponent implements OnInit {\r\n\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n @Input() tabName: string = '_blank'\r\n @Input() externalLinkHint = '';\r\n @Input() showExternalLinkIcon = true;\r\n\r\n\r\n public externalLinkIcon = faExternalLink;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLink(){\r\n window.open(this.link, this.tabName);\r\n }\r\n\r\n}\r\n","<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\">\r\n <a class=\"w-100 sds-navigation-item-content\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isUrlPartOfNavigationGroup } from '../utils/navigation.utils';\r\n\r\n@Pipe({\r\n name: 'navigationRouteActive'\r\n})\r\nexport class NavigationRouteActivePipe implements PipeTransform {\r\n\r\n transform(currentUrl: string[], ...args: unknown[]): boolean {\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n const nestedRoutes: string[] = args[0] as string[];\r\n const defaultGroupUrl: string = (args[1] as string).replace('/', '');\r\n\r\n let showWarningForMissingNestedRoutes = false;\r\n if (args.length >= 3) {\r\n showWarningForMissingNestedRoutes = args[2] as boolean;\r\n } \r\n\r\n const isPart = isUrlPartOfNavigationGroup(currentUrl, nestedRoutes, defaultGroupUrl);\r\n\r\n if (showWarningForMissingNestedRoutes) {\r\n console.warn(\r\n `Nested routes were defined in sds-navigation-group component, however route \"${currentUrl}\" is not a part of the nested routes list (${nestedRoutes?.join(', ')}). Maybe you forgot to include it? `\r\n );\r\n }\r\n\r\n return isPart;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\n\r\n\r\n@Component({\r\n selector: 'sds-user-profile-action-button',\r\n templateUrl: './user-profile-action-button.component.html',\r\n styleUrls: ['./user-profile-action-button.component.scss']\r\n})\r\nexport class SdsUserProfileActionButtonComponent {\r\n @Input() text: string = '';\r\n @Input() icon?: IconProp;\r\n\r\n @Output() actionClick = new EventEmitter<void>();\r\n\r\n onActionClick(): void {\r\n this.actionClick.emit();\r\n }\r\n\r\n}\r\n","<a \r\n class=\"d-block text-black sds-navigation-user-profile-action-button sds-hoverable-150 sds-fs-93\"\r\n (click)=\"onActionClick()\" \r\n>\r\n <fa-icon\r\n *ngIf=\"icon\"\r\n class=\"me-2\"\r\n [fixedWidth]=\"true\"\r\n [size]=\"'sm'\"\r\n [icon]=\"icon\">\r\n </fa-icon>\r\n\r\n <span>{{text}}</span>\r\n</a>","import { Component, EventEmitter, Input, OnInit, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from './navigation-profile.model';\r\nimport { faSignOut, faUser } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'sds-navigation-user-profile',\r\n templateUrl: './navigation-user-profile.component.html',\r\n styleUrls: ['./navigation-user-profile.component.scss'],\r\n})\r\nexport class SdsNavigationUserProfileComponent implements OnInit, OnChanges {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() profileInfo: string = '';\r\n\r\n @Input() showSignOut: boolean = true;\r\n @Input() showProfile: boolean = true;\r\n\r\n @Input() signOutText: string = 'Sign out';\r\n @Input() profileText: string = 'Profile';\r\n\r\n @Input() showNotificationBadge: boolean = false;\r\n @Input() newNotificationsText: string = 'New Notifications';\r\n\r\n @Output() profileClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() signOutClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() notificationBadgeClick: EventEmitter<void> = new EventEmitter<void>();\r\n \r\n @Input() showOptions: boolean = false;\r\n @Output() showOptionsChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n protected userProfileIcon = faUser;\r\n protected signOutIcon = faSignOut\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // if (changes['activeProfileId'] || changes['profile'] || changes['additionalProfiles']) {\r\n // if (this.activeProfileId === null) {\r\n // this.activeProfile = this.profile;\r\n // } else if (this.activeProfileId === this.profile?.id) {\r\n // this.activeProfile = this.profile;\r\n // } else {\r\n // this.activeProfile = this.additionalProfiles.find(profile => profile.id === this.activeProfileId) || null;\r\n // }\r\n // }\r\n }\r\n\r\n public onProfileClick(): void {\r\n this.showOptions = false;\r\n this.showOptionsChange.emit(this.showOptions);\r\n this.profileClick.emit();\r\n }\r\n\r\n public onSignOutClick(): void {\r\n this.showOptions = false;\r\n this.showOptionsChange.emit(this.showOptions);\r\n this.signOutClick.emit();\r\n }\r\n\r\n public closeOptions(): void {\r\n this.showOptions = false;\r\n this.showOptionsChange.emit(this.showOptions);\r\n\r\n }\r\n\r\n public openOptions(): void {\r\n this.showOptions = true;\r\n this.showOptionsChange.emit(this.showOptions);\r\n }\r\n\r\n protected toggleOptions(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.showOptions = !this.showOptions;\r\n // console.log(this.showOptions);\r\n this.showOptionsChange.emit(this.showOptions);\r\n }\r\n\r\n public onNotificationBadgeClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.notificationBadgeClick.emit();\r\n }\r\n}\r\n","<div\r\n class=\"\r\n d-flex\r\n flex-row\r\n align-items-center\r\n gap-2\r\n sds-navigation-user-profile-container\r\n user-select-none\r\n \"\r\n (click)=\"toggleOptions($event)\"\r\n>\r\n <div \r\n #popoverTarget\r\n class=\"position-relative\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n >\r\n </sds-avatar>\r\n\r\n <span\r\n *ngIf=\"showNotificationBadge\"\r\n class=\"\r\n position-absolute\r\n notification-badge\r\n translate-middle\r\n bg-danger\r\n border border-light\r\n rounded-circle\r\n \"\r\n (click)=\"onNotificationBadgeClick($event)\"\r\n >\r\n <span class=\"visually-hidden\">{{ newNotificationsText }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"sds-flex-column\">\r\n <span class=\"truncate-two-lines\">\r\n {{ profile?.name }}\r\n </span>\r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{ profileInfo }}\r\n </span>\r\n </div>\r\n</div>\r\n\r\n<dx-popover\r\n [target]=\"popoverTarget\"\r\n [position]=\"{ my: 'left bottom', at: 'left top' }\"\r\n collision=\"fit none\"\r\n minWidth=\"20rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-0'\r\n }\"\r\n>\r\n <div class=\"py-2 pb-3 main-profile-container border-bottom\">\r\n\r\n <div class=\"sds-flex-column align-items-center\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"7\"\r\n >\r\n </sds-avatar>\r\n\r\n <h5 class=\"text-center mt-2 px-3\">\r\n {{profile?.name}}\r\n </h5>\r\n\r\n <div class=\"sds-fw-400 text-center text-gray-800 sds-fs-87 px-3 text-truncate w-100\">\r\n {{profile?.info}}\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ul\r\n class=\"\r\n list-unstyled\r\n sds-navigation-user-profile-actions\r\n mb-0\r\n sds-ul-gap-1\r\n mx-2\r\n mb-2\r\n \"\r\n >\r\n <li *ngIf=\"showProfile\">\r\n <sds-user-profile-action-button\r\n [text]=\"profileText\"\r\n [icon]=\"userProfileIcon\"\r\n (actionClick)=\"onProfileClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n\r\n <li *ngIf=\"showSignOut\">\r\n <sds-user-profile-action-button\r\n [text]=\"signOutText\"\r\n [icon]=\"signOutIcon\"\r\n (actionClick)=\"onSignOutClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n </ul>\r\n</dx-popover>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\n\r\n\r\n@Component({\r\n selector: 'sds-product-home',\r\n templateUrl: './product-home.component.html',\r\n styleUrls: ['./product-home.component.scss'],\r\n})\r\nexport class SdsProductHomeComponent implements OnInit {\r\n\r\n @Input() public logoUrl?: string;\r\n @Input() public logoAltText?: string;\r\n @Input() public moduleTitle?: string;\r\n\r\n @Input() public showAppSwitcher = false;\r\n @Input() public appSwitcherProductCode: Number | undefined;\r\n @Input() public appSwitcherUserProductCodes: Number[] | undefined;\r\n @Input() public appSwitcherTenantProducts: ProductModel[] | undefined;\r\n @Input() public appSwitcherSwitchText: string = '';\r\n @Input() public appSwitcherDiscoverText: string = ''; \r\n\r\n @Input() public allowHeaderClick = false;\r\n\r\n @Output() public productSwitched: EventEmitter<ProductModel> = new EventEmitter<ProductModel>(); \r\n @Output() public headerClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n protected onProductClick(product: ProductModel): void {\r\n this.productSwitched.emit(product);\r\n }\r\n\r\n protected onHeaderClick(): void {\r\n if (this. allowHeaderClick) {\r\n this.headerClick.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { NavigationProfile } from '../../navigation-profile.model';\r\n\r\n@Component({\r\n selector: 'sds-user-profile-tile',\r\n templateUrl: './user-profile-tile.component.html',\r\n styleUrls: ['./user-profile-tile.component.scss'],\r\n})\r\nexport class SdsUserProfileTileComponent {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() emphasizeName: boolean = true;\r\n @Input() size: 'small' | 'medium' = 'medium';\r\n}\r\n","\r\n<div class=\"sds-flex-row-center gap-3\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"size === 'small' ? 2 : 3\"\r\n borderColor=\"white\"\r\n borderWidth=\"2\"\r\n >\r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span \r\n class=\"sds-fs-100 text-truncate\"\r\n [class.sds-fs-100]=\"size === 'medium'\"\r\n [class.sds-fs-95]=\"size === 'small'\"\r\n [class.sds-fw-500]=\"emphasizeName\"\r\n >\r\n {{profile?.name}}\r\n </span>\r\n <div \r\n class=\"sds-fw-400 text-truncate text-gray-800\"\r\n [class.sds-fs-75]=\"size === 'medium'\"\r\n [class.sds-fs-75]=\"size === 'small'\"\r\n >\r\n {{profile?.info}}\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from '../../navigation-profile.model';\r\nimport { faEyeSlash } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-user-profile-selector',\r\n templateUrl: './user-profile-selector.component.html',\r\n styleUrls: ['./user-profile-selector.component.scss']\r\n})\r\nexport class SdsUserProfileSelectorComponent implements OnChanges{\r\n\r\n @Input() profiles: NavigationProfile[] = [];\r\n @Input() selectedProfileId: string | null = null;\r\n @Input() selectDefaultProfileText: string = 'Stop Impersonation';\r\n @Input() switchText: string = 'Switch to';\r\n\r\n @Output() profileIdChange = new EventEmitter<string>();\r\n\r\n protected isSelectedOneOfProfiles: boolean = false;\r\n protected readonly SELECT_DEFAULT_PROFILE_ICON = faEyeSlash\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['selectedProfileId']) {\r\n this.isSelectedOneOfProfiles = this.profiles.some(profile => profile.id === this.selectedProfileId);\r\n }\r\n }\r\n\r\n public selectProfile(profileId: string): void {\r\n this.profileIdChange.emit(profileId);\r\n }\r\n\r\n public selectDefaultProfile(): void {\r\n this.profileIdChange.emit('');\r\n }\r\n\r\n}\r\n","<div *ngIf=\"profiles && profiles.length > 0\" class=\"mx-2\"> \r\n <div \r\n *ngIf=\"!isSelectedOneOfProfiles\" \r\n class=\"pt-2 pb-3 mt-1 mb-2 ps-2 border-bottom\">\r\n\r\n <div class=\"sds-fs-75 py-1 mb-2 text-uppercase\">{{switchText}}</div>\r\n\r\n <ul class=\"list-unstyled mb-0 sds-ul-gap-1 ps-2 profile-list sds-scrollbar sds-scrollbar-thin\">\r\n <li\r\n class=\"rounded sds-hoverable-150 pe-2 py-1\"\r\n *ngFor=\"let profile of profiles\"\r\n >\r\n <sds-user-profile-tile\r\n class=\"sds-cursor-pointer\"\r\n [profile]=\"profile\"\r\n [size]=\"'small'\"\r\n [emphasizeName]=\"false\"\r\n (click)=\"selectProfile(profile.id)\"\r\n >\r\n </sds-user-profile-tile>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isSelectedOneOfProfiles\"\r\n class=\"mt-2 mb-1\">\r\n <sds-user-profile-action-button\r\n [text]=\"selectDefaultProfileText\"\r\n [icon]=\"SELECT_DEFAULT_PROFILE_ICON\"\r\n (click)=\"selectDefaultProfile()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsNavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\nimport { SdsNavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\nimport { SdsNavigationGroupComponent } from './navigation-group/navigation-group.component';\r\nimport { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\nimport { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';\r\nimport { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';\r\nimport { NavigationRouteActivePipe } from './pipes/navigation-route-active.pipe';\r\nimport { SdsNavigationUserProfileComponent } from './navigation-user-profile/navigation-user-profile.component';\r\nimport { SdsAvatarModule } from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { SdsProductHomeComponent } from './product-home/product-home.component';\r\nimport { SdsAppSwitcherModule } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { SdsTooltipModule } from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SdsUserProfileTileComponent } from './navigation-user-profile/components/user-profile-tile/user-profile-tile.component';\r\nimport { SdsUserProfileSelectorComponent } from './navigation-user-profile/components/user-profile-selector/user-profile-selector.component';\r\nimport { SdsUserProfileActionButtonComponent } from './navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component';\r\nimport { A11yModule } from \"@angular/cdk/a11y\";\r\n\r\n\r\n// import { NavigationGroupComponent } from './navigation-group/navigation-group.component';\r\n// import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\n// import { NavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\n// import { NavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\n\r\nconst components = [\r\n SdsNavigationGroupComponent,\r\n SdsNavigationRouteLinkComponent,\r\n SdsNavigationSeparatorComponent,\r\n SdsNavigationHeaderComponent,\r\n SdsNavigationContainerComponent,\r\n SdsNavigationExternalLinkComponent,\r\n SdsNavigationUserProfileComponent,\r\n SdsUserProfileSelectorComponent,\r\n SdsProductHomeComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components,\r\n NavigationRouteActivePipe,\r\n SdsUserProfileTileComponent,\r\n SdsUserProfileActionButtonComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n SdsAvatarModule,\r\n SdsAppSwitcherModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n SdsTooltipModule,\r\n A11yModule\r\n],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsNavigationModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4.SdsUserProfileActionButtonComponent","i2.SdsUserProfileTileComponent","i3.SdsUserProfileActionButtonComponent"],"mappings":"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"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-navigation.mjs","sources":["../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/utils/navigation.utils.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/pipes/navigation-route-active.pipe.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation.module.ts","../../../projects/ngx-sds-components/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-separator',\r\n templateUrl: './navigation-separator.component.html',\r\n styleUrls: ['./navigation-separator.component.scss']\r\n})\r\nexport class SdsNavigationSeparatorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"sds-navigation-separator nav-separator\"></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-header',\r\n templateUrl: './navigation-header.component.html',\r\n styleUrls: ['./navigation-header.component.scss'],\r\n})\r\nexport class SdsNavigationHeaderComponent implements OnInit {\r\n @Input() text: string;\r\n\r\n constructor() {\r\n this.text = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-navigation-header\">\r\n {{ text }}\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-route-link',\r\n templateUrl: './navigation-route-link.component.html',\r\n styleUrls: ['./navigation-route-link.component.scss'],\r\n})\r\nexport class SdsNavigationRouteLinkComponent implements OnInit {\r\n /**\r\n * This variable is used as 'routerLink' attribute in the anchor tag.\r\n * \r\n * Is named 'link' to avoid conflict with the 'routerLink' directive.\r\n */\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n\r\n @Input() additionalInfo: string | undefined = undefined;\r\n\r\n @Input() disabled = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- class=\"sds-navigation-router-link sidebar-item-x d-flex justify-content-start align-items-center sidebar-item-x py-1\"> -->\r\n<div \r\n class=\"sds-navigation-router-link sds-navigation-item-container\"\r\n [class.disabled]=\"disabled\"\r\n routerLinkActive=\"active\">\r\n <a class=\"sds-navigation-item-content w-100\" [routerLink]=\"link\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <span *ngIf=\"additionalInfo\"\r\n class=\"sds-navigation-router-link-additional-info badge rounded-pill bg-warning text-body\"\r\n >{{ additionalInfo }}</span\r\n > \r\n </div>\r\n </a>\r\n</div>","export function removeQueryParams(url: string): string {\r\n return url.split('?')[0];\r\n}\r\n\r\nexport function isUrlPartOfNavigationGroup(\r\n currentUrl: string[], \r\n nestedRoutes: string[], \r\n defaultGroupUrl: string): boolean {\r\n\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n \r\n defaultGroupUrl = defaultGroupUrl.replace('/', '');\r\n \r\n if (nestedRoutes?.length > 0) {\r\n // Nested routes are provided. We should find out if current url is on the list of\r\n // the provided nested routes \r\n const currentUrlParts = currentUrl.slice();//.reverse();\r\n const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => {\r\n const routeParts = routeName.split('/');//.reverse();\r\n return isSubsetOrSame(currentUrlParts, routeParts);\r\n });\r\n if (routeItemIsPartOfNestedRoutes) {\r\n return true;\r\n }\r\n }\r\n\r\n const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);\r\n return currentUrlContainsGroupUrl;\r\n }\r\n\r\nfunction isSubsetOrSame(mainArray: string[], subArray: string[]): boolean {\r\n // if we have super wildcard we need to check reversed array\r\n // if (subArray.includes('**')) {\r\n const reversedMainArray = mainArray.slice(); //.reverse();\r\n const reversedSubArray = subArray.slice(); //.reverse();\r\n\r\n for (let i = 0; i < reversedSubArray.length; i++) {\r\n if (reversedSubArray[i] === '**') {\r\n return true;\r\n }\r\n if ((reversedMainArray[i] !== reversedSubArray[i]) && reversedSubArray[i] !== '*') {\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n // } else {\r\n // if (subArray.length > mainArray.length) return false;\r\n\r\n // for (let i = 0; i < subArray.length; i++) {\r\n // if ((mainArray[i] !== subArray[i]) && subArray[i] !== '*') {\r\n // return false;\r\n // }\r\n // }\r\n // return true;\r\n // }\r\n}","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';\r\n\r\nimport { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\nimport { isUrlPartOfNavigationGroup, removeQueryParams } from '../utils/navigation.utils';\r\n\r\n@Component({\r\n selector: 'sds-navigation-group',\r\n templateUrl: './navigation-group.component.html',\r\n styleUrls: ['./navigation-group.component.scss'],\r\n})\r\nexport class SdsNavigationGroupComponent implements OnInit, OnDestroy {\r\n /**\r\n * List of paths allowed/expected within this module.\r\n * These are paths that are not accessible through child navigation\r\n * elements, but through links in other parts of the application (e.g. link\r\n * on form)\r\n */\r\n private _navigationGroupNestedRoutes: string[] = [];\r\n @Input()\r\n set navigationGroupNestedRoutes(value: string[]) {\r\n this._navigationGroupNestedRoutes = value;\r\n }\r\n get navigationGroupNestedRoutes() {\r\n return this._navigationGroupNestedRoutes;\r\n }\r\n\r\n @Input() text: string = '';\r\n @Input() icon: string = '';\r\n @Input() defaultRouterLink: string = '';\r\n @Input() reverse = false;\r\n @Input() ignoreQueryParamsInActiveRoute = false;\r\n @Input() disabled = false;\r\n @Input() showPopover = false;\r\n @Input() showPopoverHeader = false;\r\n\r\n @ContentChildren(SdsNavigationRouteLinkComponent)\r\n routerLinkComponents: QueryList<SdsNavigationRouteLinkComponent> = new QueryList<SdsNavigationRouteLinkComponent>();\r\n\r\n active: boolean = false; \r\n\r\n faAngleUpRegular = faAngleUp;\r\n faAngleDownRegular = faAngleDown;\r\n\r\n /**\r\n * Current app URL (e.g. ['layout-showcase', 'default'])\r\n */\r\n currentUrl: string[] = [];\r\n\r\n private _unsubscribe: Subject<void> = new Subject<void>();\r\n \r\n public isGroupActive: boolean = false;\r\n\r\n\r\n constructor(private _router: Router) {}\r\n\r\n ngOnInit(): void {\r\n this._router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd),\r\n takeUntil(this._unsubscribe)\r\n ).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.url) : event.url;\r\n const route: string[] = activeRoute.split('/').filter(item => item.length > 0);\r\n this.currentUrl = route;\r\n this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n\r\n onHiding(e: any) {\r\n const popoverContent = e.component.content().parentNode;\r\n const isMouseInsidePopover = popoverContent.matches(':hover');\r\n e.cancel = isMouseInsidePopover;\r\n\r\n popoverContent.addEventListener('mouseleave', () => {\r\n popoverContent.removeEventListener('mouseleave', () => {});\r\n e.component.hide();\r\n \r\n });\r\n \r\n }\r\n}\r\n","<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"[defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <div *ngIf=\"isGroupActive\" class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showPopover && !isGroupActive\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-container',\r\n templateUrl: './navigation-container.component.html',\r\n styleUrls: ['./navigation-container.component.scss'],\r\n})\r\nexport class SdsNavigationContainerComponent implements OnInit {\r\n @Input() product: string;\r\n\r\n constructor() {\r\n this.product = 'all-hours';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-navigation-external-link',\r\n templateUrl: './navigation-external-link.component.html',\r\n styleUrls: ['./navigation-external-link.component.scss']\r\n})\r\nexport class SdsNavigationExternalLinkComponent implements OnInit {\r\n\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n @Input() tabName: string = '_blank'\r\n @Input() externalLinkHint = '';\r\n @Input() showExternalLinkIcon = true;\r\n\r\n\r\n public externalLinkIcon = faExternalLink;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLink(){\r\n window.open(this.link, this.tabName);\r\n }\r\n\r\n}\r\n","<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\">\r\n <a class=\"w-100 sds-navigation-item-content\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isUrlPartOfNavigationGroup } from '../utils/navigation.utils';\r\n\r\n@Pipe({\r\n name: 'navigationRouteActive'\r\n})\r\nexport class NavigationRouteActivePipe implements PipeTransform {\r\n\r\n transform(currentUrl: string[], ...args: unknown[]): boolean {\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n const nestedRoutes: string[] = args[0] as string[];\r\n const defaultGroupUrl: string = (args[1] as string).replace('/', '');\r\n\r\n let showWarningForMissingNestedRoutes = false;\r\n if (args.length >= 3) {\r\n showWarningForMissingNestedRoutes = args[2] as boolean;\r\n } \r\n\r\n const isPart = isUrlPartOfNavigationGroup(currentUrl, nestedRoutes, defaultGroupUrl);\r\n\r\n if (showWarningForMissingNestedRoutes) {\r\n console.warn(\r\n `Nested routes were defined in sds-navigation-group component, however route \"${currentUrl}\" is not a part of the nested routes list (${nestedRoutes?.join(', ')}). Maybe you forgot to include it? `\r\n );\r\n }\r\n\r\n return isPart;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\n\r\n\r\n@Component({\r\n selector: 'sds-user-profile-action-button',\r\n templateUrl: './user-profile-action-button.component.html',\r\n styleUrls: ['./user-profile-action-button.component.scss']\r\n})\r\nexport class SdsUserProfileActionButtonComponent {\r\n @Input() text: string = '';\r\n @Input() icon?: IconProp;\r\n\r\n @Output() actionClick = new EventEmitter<void>();\r\n\r\n onActionClick(): void {\r\n this.actionClick.emit();\r\n }\r\n\r\n}\r\n","<a \r\n class=\"d-block text-black sds-navigation-user-profile-action-button sds-hoverable-150 sds-fs-93\"\r\n (click)=\"onActionClick()\" \r\n>\r\n <fa-icon\r\n *ngIf=\"icon\"\r\n class=\"me-2\"\r\n [fixedWidth]=\"true\"\r\n [size]=\"'sm'\"\r\n [icon]=\"icon\">\r\n </fa-icon>\r\n\r\n <span>{{text}}</span>\r\n</a>","import { Component, EventEmitter, Input, OnInit, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from './navigation-profile.model';\r\nimport { faSignOut, faUser } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'sds-navigation-user-profile',\r\n templateUrl: './navigation-user-profile.component.html',\r\n styleUrls: ['./navigation-user-profile.component.scss'],\r\n})\r\nexport class SdsNavigationUserProfileComponent implements OnInit, OnChanges {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() profileInfo: string = '';\r\n\r\n @Input() showSignOut: boolean = true;\r\n @Input() showProfile: boolean = true;\r\n\r\n @Input() signOutText: string = 'Sign out';\r\n @Input() profileText: string = 'Profile';\r\n\r\n @Input() showNotificationBadge: boolean = false;\r\n @Input() newNotificationsText: string = 'New Notifications';\r\n\r\n @Output() profileClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() signOutClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() notificationBadgeClick: EventEmitter<void> = new EventEmitter<void>();\r\n \r\n @Input() showOptions: boolean = false;\r\n @Output() showOptionsChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n protected userProfileIcon = faUser;\r\n protected signOutIcon = faSignOut\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // if (changes['activeProfileId'] || changes['profile'] || changes['additionalProfiles']) {\r\n // if (this.activeProfileId === null) {\r\n // this.activeProfile = this.profile;\r\n // } else if (this.activeProfileId === this.profile?.id) {\r\n // this.activeProfile = this.profile;\r\n // } else {\r\n // this.activeProfile = this.additionalProfiles.find(profile => profile.id === this.activeProfileId) || null;\r\n // }\r\n // }\r\n }\r\n\r\n public onProfileClick(): void {\r\n this.showOptions = false;\r\n this.showOptionsChange.emit(this.showOptions);\r\n this.profileClick.emit();\r\n }\r\n\r\n public onSignOutClick(): void {\r\n this.showOptions = false;\r\n this.showOptionsChange.emit(this.showOptions);\r\n this.signOutClick.emit();\r\n }\r\n\r\n public closeOptions(): void {\r\n this.showOptions = false;\r\n this.showOptionsChange.emit(this.showOptions);\r\n\r\n }\r\n\r\n public openOptions(): void {\r\n this.showOptions = true;\r\n this.showOptionsChange.emit(this.showOptions);\r\n }\r\n\r\n protected toggleOptions(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.showOptions = !this.showOptions;\r\n // console.log(this.showOptions);\r\n this.showOptionsChange.emit(this.showOptions);\r\n }\r\n\r\n public onNotificationBadgeClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.notificationBadgeClick.emit();\r\n }\r\n}\r\n","<div\r\n class=\"\r\n d-flex\r\n flex-row\r\n align-items-center\r\n gap-2\r\n sds-navigation-user-profile-container\r\n user-select-none\r\n \"\r\n (click)=\"toggleOptions($event)\"\r\n>\r\n <div \r\n #popoverTarget\r\n class=\"position-relative\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n >\r\n </sds-avatar>\r\n\r\n <span\r\n *ngIf=\"showNotificationBadge\"\r\n class=\"\r\n position-absolute\r\n notification-badge\r\n translate-middle\r\n bg-danger\r\n border border-light\r\n rounded-circle\r\n \"\r\n (click)=\"onNotificationBadgeClick($event)\"\r\n >\r\n <span class=\"visually-hidden\">{{ newNotificationsText }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"sds-flex-column\">\r\n <span class=\"truncate-two-lines\">\r\n {{ profile?.name }}\r\n </span>\r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{ profileInfo }}\r\n </span>\r\n </div>\r\n</div>\r\n\r\n<dx-popover\r\n [target]=\"popoverTarget\"\r\n [position]=\"{ my: 'left bottom', at: 'left top' }\"\r\n collision=\"fit none\"\r\n minWidth=\"20rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-0'\r\n }\"\r\n>\r\n <div class=\"py-2 pb-3 main-profile-container border-bottom\">\r\n\r\n <div class=\"sds-flex-column align-items-center\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"7\"\r\n >\r\n </sds-avatar>\r\n\r\n <h5 class=\"text-center mt-2 px-3\">\r\n {{profile?.name}}\r\n </h5>\r\n\r\n <div class=\"sds-fw-400 text-center text-gray-800 sds-fs-87 px-3 text-truncate w-100\">\r\n {{profile?.info}}\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ul\r\n class=\"\r\n list-unstyled\r\n sds-navigation-user-profile-actions\r\n mb-0\r\n sds-ul-gap-1\r\n mx-2\r\n mb-2\r\n \"\r\n >\r\n <li *ngIf=\"showProfile\">\r\n <sds-user-profile-action-button\r\n [text]=\"profileText\"\r\n [icon]=\"userProfileIcon\"\r\n (actionClick)=\"onProfileClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n\r\n <li *ngIf=\"showSignOut\">\r\n <sds-user-profile-action-button\r\n [text]=\"signOutText\"\r\n [icon]=\"signOutIcon\"\r\n (actionClick)=\"onSignOutClick()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </li>\r\n </ul>\r\n</dx-popover>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\n\r\n\r\n@Component({\r\n selector: 'sds-product-home',\r\n templateUrl: './product-home.component.html',\r\n styleUrls: ['./product-home.component.scss'],\r\n})\r\nexport class SdsProductHomeComponent implements OnInit {\r\n\r\n @Input() public logoUrl?: string;\r\n @Input() public logoAltText?: string;\r\n @Input() public moduleTitle?: string;\r\n\r\n @Input() public showAppSwitcher = false;\r\n @Input() public appSwitcherProductCode: Number | undefined;\r\n @Input() public appSwitcherUserProductCodes: Number[] | undefined;\r\n @Input() public appSwitcherTenantProducts: ProductModel[] | undefined;\r\n @Input() public appSwitcherSwitchText: string = '';\r\n @Input() public appSwitcherDiscoverText: string = ''; \r\n\r\n @Input() public allowHeaderClick = false;\r\n\r\n @Output() public productSwitched: EventEmitter<ProductModel> = new EventEmitter<ProductModel>(); \r\n @Output() public headerClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n protected onProductClick(product: ProductModel): void {\r\n this.productSwitched.emit(product);\r\n }\r\n\r\n protected onHeaderClick(): void {\r\n if (this. allowHeaderClick) {\r\n this.headerClick.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { NavigationProfile } from '../../navigation-profile.model';\r\n\r\n@Component({\r\n selector: 'sds-user-profile-tile',\r\n templateUrl: './user-profile-tile.component.html',\r\n styleUrls: ['./user-profile-tile.component.scss'],\r\n})\r\nexport class SdsUserProfileTileComponent {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() emphasizeName: boolean = true;\r\n @Input() size: 'small' | 'medium' = 'medium';\r\n}\r\n","\r\n<div class=\"sds-flex-row-center gap-3\">\r\n <sds-avatar\r\n [text]=\"profile?.name\"\r\n [colorKey]=\"profile?.id\"\r\n [pictureUri]=\"profile?.pictureUri\"\r\n [size]=\"size === 'small' ? 2 : 3\"\r\n borderColor=\"white\"\r\n borderWidth=\"2\"\r\n >\r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span \r\n class=\"sds-fs-100 text-truncate\"\r\n [class.sds-fs-100]=\"size === 'medium'\"\r\n [class.sds-fs-95]=\"size === 'small'\"\r\n [class.sds-fw-500]=\"emphasizeName\"\r\n >\r\n {{profile?.name}}\r\n </span>\r\n <div \r\n class=\"sds-fw-400 text-truncate text-gray-800\"\r\n [class.sds-fs-75]=\"size === 'medium'\"\r\n [class.sds-fs-75]=\"size === 'small'\"\r\n >\r\n {{profile?.info}}\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from '../../navigation-profile.model';\r\nimport { faEyeSlash } from '@fortawesome/pro-regular-svg-icons';\r\nimport { UserProfileSelectorContent } from './user-profile-selector.types';\r\n\r\n@Component({\r\n selector: 'sds-user-profile-selector',\r\n templateUrl: './user-profile-selector.component.html',\r\n styleUrls: ['./user-profile-selector.component.scss']\r\n})\r\nexport class SdsUserProfileSelectorComponent {\r\n\r\n @Input() content: UserProfileSelectorContent = 'profileList';\r\n @Input() profiles: NavigationProfile[] = [];\r\n @Input() selectDefaultProfileText: string = 'Stop Impersonation';\r\n @Input() switchText: string = 'Switch to';\r\n\r\n @Output() profileIdChange = new EventEmitter<string>();\r\n\r\n protected isSelectedOneOfProfiles: boolean = false;\r\n protected readonly SELECT_DEFAULT_PROFILE_ICON = faEyeSlash;\r\n\r\n public selectProfile(profileId: string): void {\r\n this.profileIdChange.emit(profileId);\r\n }\r\n\r\n public selectDefaultProfile(): void {\r\n this.profileIdChange.emit('');\r\n }\r\n\r\n}\r\n","<div *ngIf=\"profiles && profiles.length > 0\" class=\"mx-2\"> \r\n <div \r\n *ngIf=\"content === 'profileList'\" \r\n class=\"pt-2 pb-3 mt-1 mb-2 ps-2 border-bottom\">\r\n\r\n <div class=\"sds-fs-75 py-1 mb-2 text-uppercase\">{{switchText}}</div>\r\n\r\n <ul class=\"list-unstyled mb-0 sds-ul-gap-1 ps-2 profile-list sds-scrollbar sds-scrollbar-thin\">\r\n <li\r\n class=\"rounded sds-hoverable-150 pe-2 py-1\"\r\n *ngFor=\"let profile of profiles\"\r\n >\r\n <sds-user-profile-tile\r\n class=\"sds-cursor-pointer\"\r\n [profile]=\"profile\"\r\n [size]=\"'small'\"\r\n [emphasizeName]=\"false\"\r\n (click)=\"selectProfile(profile.id)\"\r\n >\r\n </sds-user-profile-tile>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"content === 'selectDefaultProfile'\"\r\n class=\"mt-2 mb-1\">\r\n <sds-user-profile-action-button\r\n [text]=\"selectDefaultProfileText\"\r\n [icon]=\"SELECT_DEFAULT_PROFILE_ICON\"\r\n (click)=\"selectDefaultProfile()\"\r\n >\r\n </sds-user-profile-action-button>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsNavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\nimport { SdsNavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\nimport { SdsNavigationGroupComponent } from './navigation-group/navigation-group.component';\r\nimport { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\nimport { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';\r\nimport { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';\r\nimport { NavigationRouteActivePipe } from './pipes/navigation-route-active.pipe';\r\nimport { SdsNavigationUserProfileComponent } from './navigation-user-profile/navigation-user-profile.component';\r\nimport { SdsAvatarModule } from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { SdsProductHomeComponent } from './product-home/product-home.component';\r\nimport { SdsAppSwitcherModule } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { SdsTooltipModule } from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SdsUserProfileTileComponent } from './navigation-user-profile/components/user-profile-tile/user-profile-tile.component';\r\nimport { SdsUserProfileSelectorComponent } from './navigation-user-profile/components/user-profile-selector/user-profile-selector.component';\r\nimport { SdsUserProfileActionButtonComponent } from './navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component';\r\nimport { A11yModule } from \"@angular/cdk/a11y\";\r\n\r\n\r\n// import { NavigationGroupComponent } from './navigation-group/navigation-group.component';\r\n// import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\n// import { NavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\n// import { NavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\n\r\nconst components = [\r\n SdsNavigationGroupComponent,\r\n SdsNavigationRouteLinkComponent,\r\n SdsNavigationSeparatorComponent,\r\n SdsNavigationHeaderComponent,\r\n SdsNavigationContainerComponent,\r\n SdsNavigationExternalLinkComponent,\r\n SdsNavigationUserProfileComponent,\r\n SdsUserProfileSelectorComponent,\r\n SdsProductHomeComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components,\r\n NavigationRouteActivePipe,\r\n SdsUserProfileTileComponent,\r\n SdsUserProfileActionButtonComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n SdsAvatarModule,\r\n SdsAppSwitcherModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n SdsTooltipModule,\r\n A11yModule\r\n],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsNavigationModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4.SdsUserProfileActionButtonComponent","i2.SdsUserProfileTileComponent","i3.SdsUserProfileActionButtonComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spicainternational/ngx-sds-components",
3
- "version": "7.1.0",
3
+ "version": "7.3.0",
4
4
  "license": "MIT",
5
5
  "description": "Spica design system angular components.",
6
6
  "peerDependencies": {
@@ -62,10 +62,13 @@ export declare class SdsDatePickerComponent implements OnInit, OnChanges {
62
62
  * Previous period button aria-label. Defaults to 'Previous period'
63
63
  */
64
64
  previousPeriodAriaLabel: string;
65
+ lockBeforeDate?: Date;
66
+ lockBeforeDateHint?: string;
65
67
  previousPeriodIcon: import("@fortawesome/fontawesome-common-types").IconDefinition;
66
68
  nextPeriodIcon: import("@fortawesome/fontawesome-common-types").IconDefinition;
67
69
  calendarIcon: import("@fortawesome/fontawesome-common-types").IconDefinition;
68
70
  toIcon: import("@fortawesome/fontawesome-common-types").IconDefinition;
71
+ lockIcon: import("@fortawesome/fontawesome-common-types").IconDefinition;
69
72
  predefinedDateRanges: Array<PeriodPickerDateRange>;
70
73
  predefinedDateRangesGeneratedDate: Date | undefined;
71
74
  selectedDateRange: PeriodPickerDateRange;
@@ -136,10 +139,11 @@ export declare class SdsDatePickerComponent implements OnInit, OnChanges {
136
139
  private setSelectedDateRangeText;
137
140
  toggleDateRangeSelectorVisibility(): void;
138
141
  changDateRange(range: PeriodPickerDateRange): void;
142
+ isDateDisabled: (args: any) => boolean;
139
143
  private matchDateRange;
140
144
  private setDateRangeText;
141
145
  private formatDate;
142
146
  private generateDateRanges;
143
147
  static ɵfac: i0.ɵɵFactoryDeclaration<SdsDatePickerComponent, never>;
144
- static ɵcmp: i0.ɵɵComponentDeclaration<SdsDatePickerComponent, "sds-date-picker", never, { "selectionKind": "selectionKind"; "dateRangeDefinitions": "dateRangeDefinitions"; "selectedDate": "selectedDate"; "selectedDateStart": "selectedDateStart"; "singleDayFormatFn": "singleDayFormatFn"; "dateRangeFormatFn": "dateRangeFormatFn"; "selectedDateEnd": "selectedDateEnd"; "minDate": "minDate"; "maxDate": "maxDate"; "locales": "locales"; "disabled": "disabled"; "validationError": "validationError"; "isValid": "isValid"; "disabledDates": "disabledDates"; "applyText": "applyText"; "cancelText": "cancelText"; "translations": "translations"; "firstDayOfWeek": "firstDayOfWeek"; "dateRangeDefinitionsWidth": "dateRangeDefinitionsWidth"; "showPreviousAndNextButtons": "showPreviousAndNextButtons"; "width": "width"; "dropdownWrapperClass": "dropdownWrapperClass"; "dropdownWrapperId": "dropdownWrapperId"; "getPreviousDateCallback": "getPreviousDateCallback"; "getNextDateCallback": "getNextDateCallback"; "getPreviousRangeCallback": "getPreviousRangeCallback"; "getNextRangeCallback": "getNextRangeCallback"; "useCustomDisplayContent": "useCustomDisplayContent"; "displayPredefinedDateRangeName": "displayPredefinedDateRangeName"; "style": "style"; "compactStyleDisplay": "compactStyleDisplay"; "dateInputDisplayFormat": "dateInputDisplayFormat"; "componentAriaLabel": "componentAriaLabel"; "openDateRangeDefinitionsAriaLabel": "openDateRangeDefinitionsAriaLabel"; "nextPeriodAriaLabel": "nextPeriodAriaLabel"; "previousPeriodAriaLabel": "previousPeriodAriaLabel"; }, { "selectedDateChange": "selectedDateChange"; "selectedDateStartChange": "selectedDateStartChange"; "selectedDateEndChange": "selectedDateEndChange"; "periodChange": "periodChange"; }, ["displayContent"], ["display", "display"], false, never>;
148
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdsDatePickerComponent, "sds-date-picker", never, { "selectionKind": "selectionKind"; "dateRangeDefinitions": "dateRangeDefinitions"; "selectedDate": "selectedDate"; "selectedDateStart": "selectedDateStart"; "singleDayFormatFn": "singleDayFormatFn"; "dateRangeFormatFn": "dateRangeFormatFn"; "selectedDateEnd": "selectedDateEnd"; "minDate": "minDate"; "maxDate": "maxDate"; "locales": "locales"; "disabled": "disabled"; "validationError": "validationError"; "isValid": "isValid"; "disabledDates": "disabledDates"; "applyText": "applyText"; "cancelText": "cancelText"; "translations": "translations"; "firstDayOfWeek": "firstDayOfWeek"; "dateRangeDefinitionsWidth": "dateRangeDefinitionsWidth"; "showPreviousAndNextButtons": "showPreviousAndNextButtons"; "width": "width"; "dropdownWrapperClass": "dropdownWrapperClass"; "dropdownWrapperId": "dropdownWrapperId"; "getPreviousDateCallback": "getPreviousDateCallback"; "getNextDateCallback": "getNextDateCallback"; "getPreviousRangeCallback": "getPreviousRangeCallback"; "getNextRangeCallback": "getNextRangeCallback"; "useCustomDisplayContent": "useCustomDisplayContent"; "displayPredefinedDateRangeName": "displayPredefinedDateRangeName"; "style": "style"; "compactStyleDisplay": "compactStyleDisplay"; "dateInputDisplayFormat": "dateInputDisplayFormat"; "componentAriaLabel": "componentAriaLabel"; "openDateRangeDefinitionsAriaLabel": "openDateRangeDefinitionsAriaLabel"; "nextPeriodAriaLabel": "nextPeriodAriaLabel"; "previousPeriodAriaLabel": "previousPeriodAriaLabel"; "lockBeforeDate": "lockBeforeDate"; "lockBeforeDateHint": "lockBeforeDateHint"; }, { "selectedDateChange": "selectedDateChange"; "selectedDateStartChange": "selectedDateStartChange"; "selectedDateEndChange": "selectedDateEndChange"; "periodChange": "periodChange"; }, ["displayContent"], ["display", "display"], false, never>;
145
149
  }
@@ -4,8 +4,9 @@ import * as i2 from "@angular/cdk/a11y";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "@fortawesome/angular-fontawesome";
6
6
  import * as i5 from "devextreme-angular";
7
+ import * as i6 from "@spicainternational/ngx-sds-components/src/lib/date-pipes";
7
8
  export declare class SdsDatePickerModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SdsDatePickerModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SdsDatePickerModule, [typeof i1.SdsDatePickerComponent], [typeof i2.A11yModule, typeof i3.CommonModule, typeof i4.FontAwesomeModule, typeof i5.DxDateBoxModule, typeof i5.DxPopoverModule, typeof i5.DxScrollViewModule, typeof i5.DxCalendarModule, typeof i5.DxDropDownButtonModule, typeof i5.DxDropDownBoxModule, typeof i5.DxSelectBoxModule, typeof i5.DxListModule], [typeof i1.SdsDatePickerComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SdsDatePickerModule, [typeof i1.SdsDatePickerComponent], [typeof i2.A11yModule, typeof i3.CommonModule, typeof i4.FontAwesomeModule, typeof i5.DxDateBoxModule, typeof i5.DxPopoverModule, typeof i5.DxScrollViewModule, typeof i5.DxCalendarModule, typeof i5.DxDropDownButtonModule, typeof i5.DxDropDownBoxModule, typeof i5.DxSelectBoxModule, typeof i5.DxListModule, typeof i6.SdsDatePipesModule], [typeof i1.SdsDatePickerComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<SdsDatePickerModule>;
11
12
  }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SdsDateComparePipe implements PipeTransform {
4
+ transform(date1: Date | string | number, date2: Date | string | number, operator: 'gt' | 'lt' | 'eq' | 'gte' | 'lte'): boolean;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdsDateComparePipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<SdsDateComparePipe, "sdsDateCompare", false>;
7
+ }
@@ -2,9 +2,10 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./date-period-format.pipe";
3
3
  import * as i2 from "./date-format.pipe";
4
4
  import * as i3 from "./date-time-range-format.pipe";
5
- import * as i4 from "@angular/common";
5
+ import * as i4 from "./date-compare.pipe";
6
+ import * as i5 from "@angular/common";
6
7
  export declare class SdsDatePipesModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<SdsDatePipesModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<SdsDatePipesModule, [typeof i1.SdsDatePeriodFormatPipe, typeof i2.SdsDateFormatPipe, typeof i3.DateTimeRangeFormatPipe], [typeof i4.CommonModule], [typeof i1.SdsDatePeriodFormatPipe, typeof i2.SdsDateFormatPipe, typeof i3.DateTimeRangeFormatPipe]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SdsDatePipesModule, [typeof i1.SdsDatePeriodFormatPipe, typeof i2.SdsDateFormatPipe, typeof i3.DateTimeRangeFormatPipe, typeof i4.SdsDateComparePipe], [typeof i5.CommonModule], [typeof i1.SdsDatePeriodFormatPipe, typeof i2.SdsDateFormatPipe, typeof i3.DateTimeRangeFormatPipe, typeof i4.SdsDateComparePipe]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<SdsDatePipesModule>;
10
11
  }
@@ -3,3 +3,4 @@ export * from './date-period-format.pipe';
3
3
  export * from './date-format.pipe';
4
4
  export * from './date-time-range-format.pipe';
5
5
  export * from './date-time-formats.constants';
6
+ export * from './date-compare.pipe';
@@ -1,17 +1,17 @@
1
- import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { NavigationProfile } from '../../navigation-profile.model';
3
+ import { UserProfileSelectorContent } from './user-profile-selector.types';
3
4
  import * as i0 from "@angular/core";
4
- export declare class SdsUserProfileSelectorComponent implements OnChanges {
5
+ export declare class SdsUserProfileSelectorComponent {
6
+ content: UserProfileSelectorContent;
5
7
  profiles: NavigationProfile[];
6
- selectedProfileId: string | null;
7
8
  selectDefaultProfileText: string;
8
9
  switchText: string;
9
10
  profileIdChange: EventEmitter<string>;
10
11
  protected isSelectedOneOfProfiles: boolean;
11
12
  protected readonly SELECT_DEFAULT_PROFILE_ICON: import("@fortawesome/fontawesome-common-types").IconDefinition;
12
- ngOnChanges(changes: SimpleChanges): void;
13
13
  selectProfile(profileId: string): void;
14
14
  selectDefaultProfile(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SdsUserProfileSelectorComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<SdsUserProfileSelectorComponent, "sds-user-profile-selector", never, { "profiles": "profiles"; "selectedProfileId": "selectedProfileId"; "selectDefaultProfileText": "selectDefaultProfileText"; "switchText": "switchText"; }, { "profileIdChange": "profileIdChange"; }, never, never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdsUserProfileSelectorComponent, "sds-user-profile-selector", never, { "content": "content"; "profiles": "profiles"; "selectDefaultProfileText": "selectDefaultProfileText"; "switchText": "switchText"; }, { "profileIdChange": "profileIdChange"; }, never, never, false, never>;
17
17
  }
@@ -0,0 +1 @@
1
+ export type UserProfileSelectorContent = 'profileList' | 'selectDefaultProfile';