ngx-tethys 18.2.0-next.0 → 18.2.0-next.2

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 (173) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/autocomplete/autocomplete.component.d.ts +4 -2
  3. package/calendar/calendar-header.component.d.ts +2 -0
  4. package/cascader/cascader.component.d.ts +3 -1
  5. package/color-picker/color-picker-panel.component.d.ts +3 -1
  6. package/copy/copy.directive.d.ts +1 -0
  7. package/core/overlay/abstract-overlay-ref.d.ts +4 -0
  8. package/core/overlay/abstract-overlay.service.d.ts +1 -1
  9. package/core/theme/store.d.ts +2 -1
  10. package/core/theme/theme.d.ts +2 -0
  11. package/date-picker/abstract-picker.component.d.ts +3 -1
  12. package/date-picker/date-helper.service.d.ts +3 -0
  13. package/date-picker/date-picker.config.d.ts +7 -1
  14. package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -1
  15. package/date-picker/lib/calendar/calendar-header.component.d.ts +3 -1
  16. package/date-picker/lib/calendar/calendar-table.component.d.ts +3 -1
  17. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +4 -1
  18. package/date-picker/lib/popups/date-popup.component.d.ts +3 -1
  19. package/date-picker/lib/popups/inner-popup.component.d.ts +3 -1
  20. package/date-range/date-range.component.d.ts +2 -0
  21. package/date-range/optional-dates/optional-dates.component.d.ts +1 -0
  22. package/dialog/confirm/confirm.component.d.ts +1 -0
  23. package/dialog/confirm.config.d.ts +14 -7
  24. package/dialog/dialog-ref.d.ts +10 -2
  25. package/dialog/dialog.service.d.ts +6 -0
  26. package/empty/empty.component.d.ts +14 -9
  27. package/empty/empty.config.d.ts +3 -0
  28. package/esm2022/autocomplete/autocomplete.component.mjs +9 -5
  29. package/esm2022/calendar/calendar-header.component.mjs +9 -5
  30. package/esm2022/cascader/cascader.component.mjs +9 -6
  31. package/esm2022/checkbox/checkbox.component.mjs +1 -1
  32. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -3
  33. package/esm2022/copy/copy.directive.mjs +7 -5
  34. package/esm2022/core/overlay/abstract-overlay-ref.mjs +2 -2
  35. package/esm2022/core/overlay/abstract-overlay.service.mjs +2 -2
  36. package/esm2022/core/theme/store.mjs +7 -7
  37. package/esm2022/core/theme/theme.mjs +9 -2
  38. package/esm2022/date-picker/abstract-picker.component.mjs +4 -2
  39. package/esm2022/date-picker/base-picker.component.mjs +2 -2
  40. package/esm2022/date-picker/date-helper.service.mjs +4 -2
  41. package/esm2022/date-picker/date-picker.component.mjs +1 -1
  42. package/esm2022/date-picker/date-picker.config.mjs +55 -2
  43. package/esm2022/date-picker/date-picker.directive.mjs +1 -1
  44. package/esm2022/date-picker/date-picker.service.mjs +3 -3
  45. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -3
  46. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +3 -1
  47. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +3 -1
  48. package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -5
  49. package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
  50. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +9 -4
  51. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +3 -3
  52. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  53. package/esm2022/date-picker/lib/month/month-table.component.mjs +3 -2
  54. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +5 -3
  55. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -3
  56. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -3
  57. package/esm2022/date-picker/month-picker.component.mjs +1 -1
  58. package/esm2022/date-picker/quarter-picker.component.mjs +1 -1
  59. package/esm2022/date-picker/range-picker.component.mjs +1 -1
  60. package/esm2022/date-picker/range-picker.directive.mjs +1 -1
  61. package/esm2022/date-picker/week-picker.component.mjs +1 -1
  62. package/esm2022/date-picker/year-picker.component.mjs +1 -1
  63. package/esm2022/date-range/date-range.component.mjs +7 -4
  64. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -2
  65. package/esm2022/dialog/confirm/confirm.component.mjs +14 -3
  66. package/esm2022/dialog/confirm.config.mjs +17 -2
  67. package/esm2022/dialog/dialog-ref.mjs +9 -6
  68. package/esm2022/dialog/dialog.service.mjs +27 -3
  69. package/esm2022/empty/empty.component.mjs +7 -2
  70. package/esm2022/empty/empty.config.mjs +4 -1
  71. package/esm2022/form/form-validator-loader.mjs +17 -15
  72. package/esm2022/guider/guider-hint/guider-hint.component.mjs +5 -3
  73. package/esm2022/i18n/i18n.mjs +9 -0
  74. package/esm2022/i18n/i18n.service.mjs +45 -0
  75. package/esm2022/i18n/i18n.token.mjs +10 -0
  76. package/esm2022/i18n/index.mjs +10 -0
  77. package/esm2022/i18n/locale.mjs +14 -0
  78. package/esm2022/i18n/locales/de-de.mjs +130 -0
  79. package/esm2022/i18n/locales/en-us.mjs +151 -0
  80. package/esm2022/i18n/locales/ja-jp.mjs +130 -0
  81. package/esm2022/i18n/locales/zh-hans.mjs +130 -0
  82. package/esm2022/i18n/locales/zh-hant.mjs +130 -0
  83. package/esm2022/i18n/ngx-tethys-i18n.mjs +5 -0
  84. package/esm2022/nav/nav.component.mjs +5 -3
  85. package/esm2022/pagination/pagination.component.mjs +22 -5
  86. package/esm2022/pagination/pagination.module.mjs +26 -5
  87. package/esm2022/pagination/pagination.pipe.mjs +25 -1
  88. package/esm2022/property/property-item.component.mjs +3 -3
  89. package/esm2022/radio/button/radio-button.component.mjs +1 -1
  90. package/esm2022/radio/radio.component.mjs +1 -1
  91. package/esm2022/select/custom-select/custom-select.component.mjs +13 -6
  92. package/esm2022/strength/strength.component.mjs +21 -20
  93. package/esm2022/time-picker/time-picker-panel.component.mjs +5 -3
  94. package/esm2022/time-picker/time-picker.component.mjs +4 -2
  95. package/esm2022/tooltip/tooltip-ref.mjs +4 -1
  96. package/esm2022/transfer/transfer-list.component.mjs +5 -3
  97. package/esm2022/tree-select/tree-select.component.mjs +9 -6
  98. package/esm2022/version.mjs +2 -2
  99. package/fesm2022/ngx-tethys-autocomplete.mjs +8 -5
  100. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-calendar.mjs +8 -5
  102. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-cascader.mjs +8 -5
  104. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  106. package/fesm2022/ngx-tethys-color-picker.mjs +4 -2
  107. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  108. package/fesm2022/ngx-tethys-copy.mjs +6 -4
  109. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  110. package/fesm2022/ngx-tethys-core.mjs +14 -7
  111. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  112. package/fesm2022/ngx-tethys-date-picker.mjs +95 -30
  113. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  114. package/fesm2022/ngx-tethys-date-range.mjs +8 -4
  115. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  116. package/fesm2022/ngx-tethys-dialog.mjs +61 -10
  117. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  118. package/fesm2022/ngx-tethys-empty.mjs +9 -1
  119. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  120. package/fesm2022/ngx-tethys-form.mjs +16 -14
  121. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  122. package/fesm2022/ngx-tethys-guider.mjs +4 -2
  123. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  124. package/fesm2022/ngx-tethys-i18n.mjs +747 -0
  125. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -0
  126. package/fesm2022/ngx-tethys-nav.mjs +4 -2
  127. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  128. package/fesm2022/ngx-tethys-pagination.mjs +69 -7
  129. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-property.mjs +2 -2
  131. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  133. package/fesm2022/ngx-tethys-select.mjs +12 -5
  134. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  135. package/fesm2022/ngx-tethys-strength.mjs +20 -19
  136. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  137. package/fesm2022/ngx-tethys-time-picker.mjs +6 -3
  138. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  139. package/fesm2022/ngx-tethys-tooltip.mjs +3 -0
  140. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  141. package/fesm2022/ngx-tethys-transfer.mjs +4 -2
  142. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  143. package/fesm2022/ngx-tethys-tree-select.mjs +8 -5
  144. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  145. package/fesm2022/ngx-tethys.mjs +1 -1
  146. package/fesm2022/ngx-tethys.mjs.map +1 -1
  147. package/form/form-validator-loader.d.ts +2 -0
  148. package/guider/guider-hint/guider-hint.component.d.ts +3 -1
  149. package/i18n/i18n.d.ts +154 -0
  150. package/i18n/i18n.service.d.ts +19 -0
  151. package/i18n/i18n.token.d.ts +8 -0
  152. package/i18n/index.d.ts +9 -0
  153. package/i18n/locale.d.ts +4 -0
  154. package/i18n/locales/de-de.d.ts +130 -0
  155. package/i18n/locales/en-us.d.ts +151 -0
  156. package/i18n/locales/ja-jp.d.ts +130 -0
  157. package/i18n/locales/zh-hans.d.ts +130 -0
  158. package/i18n/locales/zh-hant.d.ts +130 -0
  159. package/nav/nav.component.d.ts +3 -1
  160. package/package.json +7 -1
  161. package/pagination/pagination.component.d.ts +4 -1
  162. package/pagination/pagination.module.d.ts +1 -1
  163. package/pagination/pagination.pipe.d.ts +6 -0
  164. package/radio/radio.component.d.ts +0 -2
  165. package/schematics/version.d.ts +1 -1
  166. package/schematics/version.js +1 -1
  167. package/select/custom-select/custom-select.component.d.ts +3 -1
  168. package/strength/strength.component.d.ts +21 -2
  169. package/styles/modules/cdk/drag-drop.scss +1 -1
  170. package/time-picker/time-picker-panel.component.d.ts +3 -1
  171. package/time-picker/time-picker.component.d.ts +3 -1
  172. package/transfer/transfer-list.component.d.ts +3 -1
  173. package/tree-select/tree-select.component.d.ts +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-tethys-i18n.mjs","sources":["../../../src/i18n/i18n.ts","../../../src/i18n/i18n.service.ts","../../../src/i18n/i18n.token.ts","../../../src/i18n/locale.ts","../../../src/i18n/locales/zh-hans.ts","../../../src/i18n/locales/zh-hant.ts","../../../src/i18n/locales/en-us.ts","../../../src/i18n/locales/ja-jp.ts","../../../src/i18n/locales/de-de.ts","../../../src/i18n/ngx-tethys-i18n.ts"],"sourcesContent":["export type ThyModuleType =\n | 'datePicker'\n | 'dateRange'\n | 'timePicker'\n | 'calendar'\n | 'autocomplete'\n | 'transfer'\n | 'colorPicker'\n | 'strength'\n | 'guider'\n | 'copy'\n | 'nav'\n | 'dialog'\n | 'select'\n | 'treeSelect'\n | 'cascader'\n | 'pagination'\n | 'form'\n | 'empty';\n\nexport type ThyModuleLocaleType<K extends ThyModuleType> = ThyI18nLocale[K];\n\nexport enum ThyLocaleType {\n zhHans = 'zh-hans',\n zhHant = 'zh-hant',\n enUs = 'en-us',\n jaJp = 'ja-jp',\n deDe = 'de-de'\n}\n\nexport interface ThyI18nLocale {\n id: ThyLocaleType;\n datePicker: ThyDatePickerLocale;\n dateRange: ThyDateRangeLocale;\n timePicker: ThyTimePickerLocale;\n calendar: ThyCalendarLocale;\n autocomplete: ThyAutoCompleteLocale;\n transfer: ThyTransferLocale;\n colorPicker: ThyColorPickerLocale;\n strength: ThyStrengthLocale;\n guider: ThyGuiderLocale;\n copy: ThyCopyLocale;\n nav: ThyNavLocale;\n dialog: ThyDialogLocale;\n select: ThySelectLocale;\n treeSelect: ThyTreeSelectLocale;\n cascader: ThyCascaderLocale;\n pagination: ThyPaginationLocale;\n form: ThyFormLocale;\n empty: ThyEmptyLocale;\n}\n\nexport interface ThyDatePickerLocale {\n yearFormat: string;\n monthFormat: string;\n zhMonthFormat: string;\n weekFormat: string;\n fullWeekFormat: string;\n weekThFormat: string;\n dateFormat: string;\n\n yearText: string;\n quarterText: string;\n monthText: string;\n week: string;\n prefixWeek: string;\n\n previousYear: string;\n nextYear: string;\n previousMonth: string;\n nextMonth: string;\n\n today: string;\n tomorrow: string;\n nextWeek: string;\n lastSevenDays: string;\n lastThirtyDays: string;\n currentMonth: string;\n currentWeek: string;\n\n advance: string;\n custom: string;\n\n startDate: string;\n endDate: string;\n\n setTime: string;\n placeholder: string;\n\n ok: string;\n clear: string;\n}\n\nexport interface ThyDateRangeLocale {\n custom: string;\n currentWeek: string;\n currentMonth: string;\n}\n\nexport interface ThyTimePickerLocale {\n placeholder: string;\n now: string;\n ok: string;\n}\n\nexport interface ThyCalendarLocale {\n today: string;\n yearMonthFormat: string;\n}\n\nexport interface ThyAutoCompleteLocale {\n empty: string;\n}\n\nexport interface ThyTransferLocale {\n maxLimit: string;\n maxLockLimit: string;\n unlocked: string;\n}\n\nexport interface ThyColorPickerLocale {\n defaultColor: string;\n noFillColor: string;\n recentUsedColor: string;\n customColor: string;\n none: string;\n}\n\nexport interface ThyStrengthLocale {\n highest: string;\n high: string;\n medium: string;\n low: string;\n}\n\nexport interface ThyGuiderLocale {\n skip: string;\n prev: string;\n next: string;\n finish: string;\n}\n\nexport interface ThyCopyLocale {\n tips: string;\n success: string;\n error: string;\n}\n\nexport interface ThyNavLocale {\n more: string;\n}\n\nexport interface ThyDialogLocale {\n title: string;\n ok: string;\n cancel: string;\n}\n\nexport interface ThySelectLocale {\n placeholder: string;\n empty: string;\n}\n\nexport interface ThyTreeSelectLocale {\n placeholder: string;\n empty: string;\n}\n\nexport interface ThyCascaderLocale {\n placeholder: string;\n empty: string;\n}\n\nexport interface ThyPaginationLocale {\n page: string;\n total: string;\n totalCount: string;\n jumpTo: string;\n firstPage: string;\n lastPage: string;\n defaultUnit: string;\n}\n\nexport interface ThyFormLocale {\n required: string;\n maxlength: string;\n minlength: string;\n uniqueCheck: string;\n email: string;\n confirm: string;\n pattern: string;\n number: string;\n url: string;\n max: string;\n min: string;\n}\n\nexport interface ThyEmptyLocale {\n noDataText: string;\n}\n","import { inject, Injectable, signal, Signal, WritableSignal } from '@angular/core';\nimport {\n THY_I18N_LOCALE_ID,\n THY_I18N_ZH_HANS,\n THY_I18N_ZH_HANT,\n THY_I18N_EN_US,\n THY_I18N_JA_JP,\n THY_I18N_DE_DE,\n ThyI18nLocale,\n ThyLocaleType,\n zhHansLocale,\n zhHantLocale,\n enUsLocale,\n jaJpLocale,\n deDeLocale\n} from './index';\n\nfunction normalizeLocale(localeId: string): ThyLocaleType {\n return localeId?.toLowerCase().replace(/_/g, '-') as ThyLocaleType;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyI18nService {\n private locales: { [key in ThyLocaleType]: ThyI18nLocale } = {\n [ThyLocaleType.zhHans]: inject(THY_I18N_ZH_HANS, { optional: true }) || zhHansLocale,\n [ThyLocaleType.zhHant]: inject(THY_I18N_ZH_HANT, { optional: true }) || zhHantLocale,\n [ThyLocaleType.enUs]: inject(THY_I18N_EN_US, { optional: true }) || enUsLocale,\n [ThyLocaleType.jaJp]: inject(THY_I18N_JA_JP, { optional: true }) || jaJpLocale,\n [ThyLocaleType.deDe]: inject(THY_I18N_DE_DE, { optional: true }) || deDeLocale\n };\n\n private defaultLocaleId: ThyLocaleType = normalizeLocale(inject(THY_I18N_LOCALE_ID, { optional: true })) || ThyLocaleType.zhHans;\n\n private locale: WritableSignal<ThyI18nLocale> = signal(this.locales[this.defaultLocaleId]);\n\n /**\n * 设置语言\n * @param id\n */\n setLocale(id: string) {\n let localeId: ThyLocaleType = normalizeLocale(id);\n\n if (localeId.includes('zh') && localeId !== ThyLocaleType.zhHans && localeId !== ThyLocaleType.zhHant) {\n localeId = ThyLocaleType.zhHans;\n }\n\n this.locale.set(this.locales[localeId] || this.locales[this.defaultLocaleId]);\n }\n\n /**\n * 获取当前语言\n */\n getLocale(): Signal<ThyI18nLocale> {\n return this.locale;\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ThyI18nLocale, ThyLocaleType } from './i18n';\n\n// Support configure the default locale id\nexport const THY_I18N_LOCALE_ID = new InjectionToken<ThyLocaleType>('thy-i18n-locale-id');\n\n// Support rewrite language package\nexport const THY_I18N_ZH_HANS = new InjectionToken<ThyI18nLocale>('thy-i18n-zh-hans');\nexport const THY_I18N_ZH_HANT = new InjectionToken<ThyI18nLocale>('thy-i18n-zh-hant');\nexport const THY_I18N_EN_US = new InjectionToken<ThyI18nLocale>('thy-i18n-en-us');\nexport const THY_I18N_JA_JP = new InjectionToken<ThyI18nLocale>('thy-i18n-ja-jp');\nexport const THY_I18N_DE_DE = new InjectionToken<ThyI18nLocale>('thy-i18n-de-de');\n","import { computed, inject, Signal } from '@angular/core';\nimport { ThyModuleType, ThyI18nLocale, ThyI18nService, ThyModuleLocaleType } from './index';\n\nexport function useLocale(): Signal<ThyI18nLocale> {\n const i18n = inject(ThyI18nService);\n return i18n.getLocale();\n}\n\nexport function injectLocale<K extends ThyModuleType>(key: K): Signal<ThyModuleLocaleType<K>> {\n const i18n = inject(ThyI18nService);\n const allLocale = i18n.getLocale();\n\n return computed(() => {\n return allLocale()?.[key] || {};\n }) as Signal<ThyModuleLocaleType<K>>;\n}\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.zhHans,\n datePicker: {\n yearFormat: 'yyyy年', // Used in header of month picker\n monthFormat: 'MMM', // Used in header of date picker, advanced range picker (2月)\n zhMonthFormat: 'MMMM', // Used in month picker (二月)\n weekFormat: 'EEEEE', // Used in date picker table (六)\n fullWeekFormat: 'EE', // Used in calendar (周六)\n weekThFormat: 'yyyy-ww周', // Used in week picker\n dateFormat: 'yyyy年MM月dd日',\n\n yearText: '年份',\n quarterText: '季度',\n monthText: '月份',\n week: '周',\n prefixWeek: '周',\n\n previousYear: '上一年',\n nextYear: '下一年',\n previousMonth: '上个月',\n nextMonth: '下个月',\n\n today: '今天',\n tomorrow: '明天',\n nextWeek: '下周',\n lastSevenDays: '最近 7 天',\n lastThirtyDays: '最近 30 天',\n currentMonth: '本月',\n currentWeek: '本周',\n\n advance: '高级选项',\n custom: '自定义',\n\n startDate: '开始日期',\n endDate: '结束日期',\n\n setTime: '设置时间',\n placeholder: '选择日期',\n\n ok: '确定',\n clear: '清除'\n },\n dateRange: {\n custom: '自定义',\n currentWeek: '本周',\n currentMonth: '本月'\n },\n timePicker: {\n placeholder: '选择时间',\n now: '此刻',\n ok: '确定'\n },\n calendar: {\n today: '今天',\n yearMonthFormat: 'yyyy年MM月'\n },\n autocomplete: {\n empty: '没有任何数据'\n },\n transfer: {\n maxLimit: '(上限{max}个)',\n maxLockLimit: '锁定 (上限{maxLock}个)',\n unlocked: '未锁定'\n },\n colorPicker: {\n defaultColor: '默认颜色',\n noFillColor: '无填充色',\n recentUsedColor: '最近使用自定义颜色',\n customColor: '自定义颜色',\n none: '暂无'\n },\n strength: {\n highest: '最高',\n high: '高',\n medium: '中',\n low: '低'\n },\n guider: {\n skip: '跳过',\n prev: '上一步',\n next: '下一步',\n finish: '完成'\n },\n copy: {\n tips: '点击复制',\n success: '复制成功',\n error: '复制失败'\n },\n nav: {\n more: '更多'\n },\n dialog: {\n title: '确认删除',\n ok: '确定',\n cancel: '取消'\n },\n select: {\n placeholder: '请选择节点',\n empty: '暂时没有数据可选'\n },\n treeSelect: {\n placeholder: '请选择节点',\n empty: '暂时没有数据可选'\n },\n cascader: {\n placeholder: '请选择',\n empty: '暂无可选项'\n },\n pagination: {\n page: '页',\n order: '第',\n total: '共',\n totalCount: '共{total}页',\n jumpTo: '跳至',\n firstPage: '第一页',\n lastPage: '最后一页',\n defaultUnit: '条'\n },\n form: {\n required: '该选项不能为空',\n maxlength: '该选项输入值长度不能大于{maxlength}',\n minlength: '该选项输入值长度不能小于{minlength}',\n uniqueCheck: '输入值已经存在,请重新输入',\n email: '输入邮件的格式不正确',\n confirm: '两次输入不一致',\n pattern: '该选项输入格式不正确',\n number: '必须输入数字',\n url: '输入URL格式不正确',\n max: '该选项输入值不能大于{max}',\n min: '该选项输入值不能小于{min}'\n },\n empty: {\n noDataText: '暂无数据'\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.zhHant,\n datePicker: {\n yearFormat: 'yyyy年',\n monthFormat: 'MMM',\n zhMonthFormat: 'MMMM',\n weekFormat: 'EEEEE',\n fullWeekFormat: 'EE',\n weekThFormat: 'yyyy-ww週',\n dateFormat: 'yyyy年MM月dd日',\n\n yearText: '年份',\n quarterText: '季度',\n monthText: '月份',\n week: '週',\n prefixWeek: '週',\n\n previousYear: '上一年',\n nextYear: '下一年',\n previousMonth: '上個月',\n nextMonth: '下個月',\n\n today: '今天',\n tomorrow: '明天',\n nextWeek: '下週',\n lastSevenDays: '最近 7 天',\n lastThirtyDays: '最近 30 天',\n currentMonth: '本月',\n currentWeek: '本週',\n\n advance: '高級選項',\n custom: '自訂',\n\n startDate: '開始日期',\n endDate: '結束日期',\n\n setTime: '設置時間',\n placeholder: '選擇日期',\n\n ok: '確定',\n clear: '清除'\n },\n dateRange: {\n custom: '自訂',\n currentWeek: '本週',\n currentMonth: '本月'\n },\n timePicker: {\n placeholder: '選擇時間',\n now: '此刻',\n ok: '確定'\n },\n calendar: {\n today: '今天',\n yearMonthFormat: 'yyyy年MM月'\n },\n autocomplete: {\n empty: '沒有任何資料'\n },\n transfer: {\n maxLimit: '(上限{max}個)',\n maxLockLimit: '鎖定 (上限{maxLock}個)',\n unlocked: '未鎖定'\n },\n colorPicker: {\n defaultColor: '預設顏色',\n noFillColor: '無填充色',\n recentUsedColor: '最近使用自訂顏色',\n customColor: '自訂顏色',\n none: '暫無'\n },\n strength: {\n highest: '最高',\n high: '高',\n medium: '中',\n low: '低'\n },\n guider: {\n skip: '跳過',\n prev: '上一步',\n next: '下一步',\n finish: '完成'\n },\n copy: {\n tips: '點擊複製',\n success: '複製成功',\n error: '複製失敗'\n },\n nav: {\n more: '更多'\n },\n dialog: {\n title: '確認刪除',\n ok: '確定',\n cancel: '取消'\n },\n select: {\n placeholder: '請選擇節點',\n empty: '暫時沒有資料可選'\n },\n treeSelect: {\n placeholder: '請選擇節點',\n empty: '暫時沒有資料可選'\n },\n cascader: {\n placeholder: '請選擇',\n empty: '暫無可選項'\n },\n pagination: {\n page: '頁',\n order: '第',\n total: '共',\n totalCount: '共{total}頁',\n jumpTo: '跳至',\n firstPage: '第一頁',\n lastPage: '最後一頁',\n defaultUnit: '個'\n },\n form: {\n required: '該選項不能为空',\n maxlength: '該選項輸入值長度不能大於{maxlength}',\n minlength: '該選項輸入值長度不能小於{minlength}',\n uniqueCheck: '輸入值已經存在,請重新輸入',\n email: '輸入郵件的格式不正確',\n confirm: '兩次輸入不一致',\n pattern: '該選項輸入格式不正確',\n number: '必須輸入數字',\n url: '輸入URL格式不正確',\n max: '該選項輸入值不能大於{max}',\n min: '該選項輸入值不能小於{min}'\n },\n empty: {\n noDataText: '暫無資料'\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.enUs,\n datePicker: {\n yearFormat: 'yyyy', // eg. 2025\n monthFormat: 'MMM', // eg. Sep\n zhMonthFormat: 'MMM', // eg. Sep\n weekFormat: 'EEE', // eg. Tue\n fullWeekFormat: 'EEE', // eg. Tue\n weekThFormat: 'yyyy-ww', // eg. 2025-01st、2025-02nd、2025-03rd、2025-27th\n dateFormat: 'yyyy-MM-dd', // eg. 2025-09-02\n\n yearText: 'Year',\n quarterText: 'Quarter',\n monthText: 'Month',\n week: 'Week',\n prefixWeek: '',\n\n previousYear: 'Previous year',\n nextYear: 'Next year',\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n\n today: 'Today',\n tomorrow: 'Tomorrow',\n nextWeek: 'Next week',\n lastSevenDays: 'Last 7 days',\n lastThirtyDays: 'Last 30 days',\n currentMonth: 'This month',\n currentWeek: 'This week',\n\n advance: 'Advance',\n custom: 'Custom',\n\n startDate: 'Start date',\n endDate: 'End date',\n\n setTime: 'Set time',\n placeholder: 'Select date',\n\n ok: 'Ok',\n clear: 'Clear'\n },\n dateRange: {\n custom: 'Custom',\n currentWeek: 'This week',\n currentMonth: 'This month'\n },\n timePicker: {\n placeholder: 'Select time',\n now: 'Now',\n ok: 'Ok'\n },\n calendar: {\n today: 'Today',\n yearMonthFormat: 'yyyy-MM' // eg. 2025-09\n },\n autocomplete: {\n empty: 'No data'\n },\n transfer: {\n maxLimit: '(Max limit: {max})',\n maxLockLimit: 'Lock (Max limit: {maxLock})',\n unlocked: 'Unlocked'\n },\n colorPicker: {\n defaultColor: 'Default color',\n noFillColor: 'No fill color',\n recentUsedColor: 'Recently used custom color',\n customColor: 'Custom color',\n none: 'None'\n },\n strength: {\n highest: 'Highest',\n high: 'High',\n medium: 'Medium',\n low: 'Low'\n },\n guider: {\n skip: 'Skip',\n prev: 'Previous',\n next: 'Next',\n finish: 'Finish'\n },\n copy: {\n tips: 'Click to copy',\n success: 'Copied',\n error: 'Failed'\n },\n nav: {\n more: 'More'\n },\n dialog: {\n title: 'Confirm',\n ok: 'Ok',\n cancel: 'Cancel'\n },\n select: {\n placeholder: 'Please select',\n empty: 'No data available'\n },\n treeSelect: {\n placeholder: 'Please select',\n empty: 'No data available'\n },\n cascader: {\n placeholder: 'Please select',\n empty: 'No data available'\n },\n pagination: {\n page: 'page',\n order: 'No.',\n total: 'Total: ',\n totalCount: 'Total: {total}',\n jumpTo: 'Go to',\n firstPage: 'First page',\n lastPage: 'Last page',\n defaultUnit: ''\n },\n form: {\n required: 'This option is required',\n maxlength: 'Input cannot exceed {maxlength} characters',\n minlength: 'Input must be at least {minlength} characters',\n uniqueCheck: 'Value already exists, please try again',\n email: 'Invalid email format',\n confirm: 'Inputs do not match',\n pattern: 'Invalid input format',\n number: 'A number is required',\n url: 'Invalid URL format',\n max: 'Input cannot be greater than {max}',\n min: 'Input cannot be less than {min}'\n },\n empty: {\n noDataText: 'No data'\n }\n};\n\n/**\n * Format options:\n * | Field type | Format | Description | Example Value |\n * |--------------------|-------------|--------------------------------------------|---------------------------------|\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | ISO Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n *\n */\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.jaJp,\n datePicker: {\n yearFormat: 'yyyy年',\n monthFormat: 'MMM',\n zhMonthFormat: 'MMMM',\n weekFormat: 'EEEEE',\n fullWeekFormat: 'EE',\n weekThFormat: 'yyyy-ww週',\n dateFormat: 'yyyy年MM月dd日',\n\n yearText: '年',\n quarterText: '四半期',\n monthText: '月',\n week: '週',\n prefixWeek: '週',\n\n previousYear: '昨年',\n nextYear: '来年',\n previousMonth: '先月',\n nextMonth: '来月',\n\n today: '今日',\n tomorrow: '明日',\n nextWeek: '来週',\n lastSevenDays: '過去7日間',\n lastThirtyDays: '過去30日間',\n currentMonth: '今月',\n currentWeek: '今週',\n\n advance: '高度なオプション',\n custom: 'カスタム',\n\n startDate: '開始日',\n endDate: '終了日',\n\n setTime: '時間を設定',\n placeholder: '日付を選択',\n\n ok: '確認',\n clear: 'クリア'\n },\n dateRange: {\n custom: 'カスタム',\n currentWeek: '今週',\n currentMonth: '今月'\n },\n timePicker: {\n placeholder: '時間を選択',\n now: '現在',\n ok: 'もちろん'\n },\n calendar: {\n today: '今日',\n yearMonthFormat: 'yyyy年MM月'\n },\n autocomplete: {\n empty: 'データはありません'\n },\n transfer: {\n maxLimit: '(上限{max}個)',\n maxLockLimit: 'ロック (上限{maxLock}個)',\n unlocked: 'ロック解除'\n },\n colorPicker: {\n defaultColor: 'デフォルトカラー',\n noFillColor: '塗りつぶしなし',\n recentUsedColor: '最近使用したカスタムカラー',\n customColor: 'カスタムカラー',\n none: 'なし'\n },\n strength: {\n highest: '最高',\n high: '高',\n medium: '中',\n low: '低'\n },\n guider: {\n skip: 'スキップ',\n prev: '前へ',\n next: '次へ',\n finish: '完了'\n },\n copy: {\n tips: 'クリックしてコピー',\n success: 'コピー成功',\n error: 'コピー失敗'\n },\n nav: {\n more: 'もっと見る'\n },\n dialog: {\n title: '削除の確認',\n ok: '確認',\n cancel: 'キャンセル'\n },\n select: {\n placeholder: 'ノードを選択してください',\n empty: '選択可能なデータはありません'\n },\n treeSelect: {\n placeholder: 'ノードを選択してください',\n empty: '選択可能なデータはありません'\n },\n cascader: {\n placeholder: '選択してください',\n empty: '選択肢はありません'\n },\n pagination: {\n page: 'ページ',\n order: '第',\n total: '合計',\n totalCount: '合計 {total}',\n jumpTo: 'ジャンプ',\n firstPage: '最初のページ',\n lastPage: '最後のページ',\n defaultUnit: '条'\n },\n form: {\n required: 'この選択肢は空にできません',\n maxlength: 'この選択肢の入力値の長さは{maxlength}を超えてはいけません',\n minlength: 'この選択肢の入力値の長さは{minlength}未満ではいけません',\n uniqueCheck: '入力値はすでに存在します。再入力してください',\n email: 'メールアドレスの形式が正しくありません',\n confirm: '二回の入力が一致しません',\n pattern: 'この選択肢の入力形式が正しくありません',\n number: '数字を入力する必要があります',\n url: 'URL形式が正しくありません',\n max: 'この選択肢の入力値は{max}を超えてはいけません',\n min: 'この選択肢の入力値は{min}未満ではいけません'\n },\n empty: {\n noDataText: 'データはありません'\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.deDe,\n datePicker: {\n yearFormat: 'yyyy',\n monthFormat: 'MMM',\n zhMonthFormat: 'MMM', // MMM:月份缩写。 MMMM:月份全称。\n weekFormat: 'EE',\n fullWeekFormat: 'EE',\n weekThFormat: 'yyyy-ww',\n dateFormat: 'yyyy-MM-dd',\n\n yearText: 'Jahr',\n quarterText: 'Quartal',\n monthText: 'Monat',\n week: 'Woche',\n prefixWeek: 'Woche',\n\n previousYear: 'Vorjahr',\n nextYear: 'Nächstes Jahr',\n previousMonth: 'Letzter Monat',\n nextMonth: 'Nächster Monat',\n\n today: 'Heute',\n tomorrow: 'Morgen',\n nextWeek: 'Nächste Woche',\n lastSevenDays: 'Letzte 7 Tage',\n lastThirtyDays: 'Letzte 30 Tage',\n currentMonth: 'Diesen Monat',\n currentWeek: 'Diese Woche',\n\n advance: 'Erweiterte Optionen',\n custom: 'Benutzerdefiniert',\n\n startDate: 'Startdatum',\n endDate: 'Enddatum',\n\n setTime: 'Zeit einstellen',\n placeholder: 'Datum auswählen',\n\n ok: 'Bestätigen',\n clear: 'Löschen'\n },\n dateRange: {\n custom: 'Benutzerdefiniert',\n currentWeek: 'Diese Woche',\n currentMonth: 'Diesen Monat'\n },\n timePicker: {\n placeholder: 'Zeit auswählen',\n now: 'Jetzt',\n ok: 'Bestätigen'\n },\n calendar: {\n today: 'Heute',\n yearMonthFormat: 'yyyy-MM'\n },\n autocomplete: {\n empty: 'Keine Daten vorhanden'\n },\n transfer: {\n maxLimit: '(Maximal {max} Stück)',\n maxLockLimit: 'Gesperrt (Maximal {maxLock} Stück)',\n unlocked: 'Entsperrt'\n },\n colorPicker: {\n defaultColor: 'Standardfarbe',\n noFillColor: 'Keine Füllfarbe',\n recentUsedColor: 'Kürzlich verwendet',\n customColor: 'Benutzerdefinierte Farbe',\n none: 'Keine'\n },\n strength: {\n highest: 'Höchste',\n high: 'Hoch',\n medium: 'Mittel',\n low: 'Niedrig'\n },\n guider: {\n skip: 'Überspringen',\n prev: 'Zurück',\n next: 'Weiter',\n finish: 'Abschließen'\n },\n copy: {\n tips: 'Klicken Sie, um zu kopieren',\n success: 'Kopieren erfolgreich',\n error: 'Kopieren fehlgeschlagen'\n },\n nav: {\n more: 'Mehr'\n },\n dialog: {\n title: 'Löschbestätigung',\n ok: 'Bestätigen',\n cancel: 'Abbrechen'\n },\n select: {\n placeholder: 'Bitte Knoten auswählen',\n empty: 'Derzeit keine Daten verfügbar'\n },\n treeSelect: {\n placeholder: 'Bitte Knoten auswählen',\n empty: 'Derzeit keine Daten verfügbar'\n },\n cascader: {\n placeholder: 'Bitte auswählen',\n empty: 'Keine Optionen verfügbar'\n },\n pagination: {\n page: 'Seite',\n order: 'Die',\n total: 'Insgesamt',\n totalCount: 'Gesamt {total}',\n jumpTo: 'Springen zu',\n firstPage: 'Erste Seite',\n lastPage: 'Letzte Seite',\n defaultUnit: 'Einträge'\n },\n form: {\n required: 'Dieses Feld darf nicht leer sein',\n maxlength: 'Die Eingabelänge darf {maxlength} nicht überschreiten',\n minlength: 'Die Eingabelänge darf {minlength} nicht unterschreiten',\n uniqueCheck: 'Der eingegebene Wert existiert bereits, bitte erneut eingeben',\n email: 'Das Format der E-Mail-Adresse ist ungültig',\n confirm: 'Die Eingaben stimmen nicht überein',\n pattern: 'Das Eingabeformat ist ungültig',\n number: 'Es muss eine Zahl eingegeben werden',\n url: 'Das Format der URL ist ungültig',\n max: 'Der eingegebene Wert darf {max} nicht überschreiten',\n min: 'Der eingegebene Wert darf {min} nicht unterschreiten'\n },\n empty: {\n noDataText: 'Keine Daten vorhanden'\n }\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { take, debounceTime, tap } from 'rxjs/operators';
11
11
  import { DomSanitizer } from '@angular/platform-browser';
12
12
  import { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemActiveDirective, ThyDropdownModule } from 'ngx-tethys/dropdown';
13
13
  import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
14
+ import { injectLocale } from 'ngx-tethys/i18n';
14
15
 
15
16
  /**
16
17
  * @private
@@ -312,6 +313,7 @@ class ThyNav {
312
313
  this.showMore = true;
313
314
  this.moreBtnOffset = { height: 0, width: 0 };
314
315
  this.hostRenderer = useHostRenderer();
316
+ this.locale = injectLocale('nav');
315
317
  /**
316
318
  * 是否是填充模式
317
319
  */
@@ -557,7 +559,7 @@ class ThyNav {
557
559
  }
558
560
  }
559
561
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
560
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: "thyType", thySize: "thySize", thyHorizontal: "thyHorizontal", thyVertical: ["thyVertical", "thyVertical", coerceBooleanProperty], thyFill: ["thyFill", "thyFill", coerceBooleanProperty], thyResponsive: ["thyResponsive", "thyResponsive", coerceBooleanProperty], thyInsideClosable: ["thyInsideClosable", "thyInsideClosable", coerceBooleanProperty], thyExtra: "thyExtra" }, host: { properties: { "class.thy-nav--vertical": "this.thyVertical", "class.thy-nav--fill": "this.thyFill" }, classAttribute: "thy-nav" }, queries: [{ propertyName: "moreOperation", first: true, predicate: ["more"], descendants: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true }, { propertyName: "extra", first: true, predicate: ["extra"], descendants: true }, { propertyName: "links", predicate: ThyNavItemDirective, descendants: true }, { propertyName: "routers", predicate: RouterLinkActive, descendants: true }], viewQueries: [{ propertyName: "defaultMoreOperation", first: true, predicate: ["moreOperationContainer"], descendants: true }, { propertyName: "inkBar", first: true, predicate: ThyNavInkBarDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n \u66F4\u591A\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n@if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyNavInkBarDirective, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: ["isVertical", "showInkBar"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { kind: "pipe", type: BypassSecurityTrustHtmlPipe, name: "bypassSecurityTrustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
562
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: "thyType", thySize: "thySize", thyHorizontal: "thyHorizontal", thyVertical: ["thyVertical", "thyVertical", coerceBooleanProperty], thyFill: ["thyFill", "thyFill", coerceBooleanProperty], thyResponsive: ["thyResponsive", "thyResponsive", coerceBooleanProperty], thyInsideClosable: ["thyInsideClosable", "thyInsideClosable", coerceBooleanProperty], thyExtra: "thyExtra" }, host: { properties: { "class.thy-nav--vertical": "this.thyVertical", "class.thy-nav--fill": "this.thyFill" }, classAttribute: "thy-nav" }, queries: [{ propertyName: "moreOperation", first: true, predicate: ["more"], descendants: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true }, { propertyName: "extra", first: true, predicate: ["extra"], descendants: true }, { propertyName: "links", predicate: ThyNavItemDirective, descendants: true }, { propertyName: "routers", predicate: RouterLinkActive, descendants: true }], viewQueries: [{ propertyName: "defaultMoreOperation", first: true, predicate: ["moreOperationContainer"], descendants: true }, { propertyName: "inkBar", first: true, predicate: ThyNavInkBarDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n@if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyNavInkBarDirective, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: ["isVertical", "showInkBar"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { kind: "pipe", type: BypassSecurityTrustHtmlPipe, name: "bypassSecurityTrustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
561
563
  }
562
564
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNav, decorators: [{
563
565
  type: Component,
@@ -573,7 +575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
573
575
  ThyDropdownMenuItemDirective,
574
576
  ThyDropdownMenuItemActiveDirective,
575
577
  BypassSecurityTrustHtmlPipe
576
- ], template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n \u66F4\u591A\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n@if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n}\n" }]
578
+ ], template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n@if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n}\n" }]
577
579
  }], propDecorators: { thyType: [{
578
580
  type: Input
579
581
  }], thySize: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-nav.mjs","sources":["../../../src/nav/icon-nav/icon-nav-link.directive.ts","../../../src/nav/icon-nav/icon-nav.component.ts","../../../src/nav/icon-nav/icon-nav.component.html","../../../src/nav/nav-item.directive.ts","../../../src/nav/nav-ink-bar.directive.ts","../../../src/nav/nav.pipe.ts","../../../src/nav/nav.component.ts","../../../src/nav/nav.component.html","../../../src/nav/nav.module.ts","../../../src/nav/ngx-tethys-nav.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @private\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[thyIconNavLink]',\n template: '<ng-content></ng-content>@if (icon) {<thy-icon [thyIconName]=\"icon\"></thy-icon>}',\n standalone: true,\n imports: [ThyIcon]\n})\nexport class ThyIconNavLink {\n @HostBinding('class.active') navLinkActive = false;\n\n @HostBinding('class.thy-icon-nav-link') navLinkClass = true;\n\n icon: string;\n\n @Input()\n set thyIconNavLinkIcon(icon: string) {\n this.icon = icon;\n }\n\n @Input({ transform: coerceBooleanProperty })\n set thyIconNavLinkActive(active: boolean) {\n this.navLinkActive = active;\n }\n}\n","import { Component, OnInit, HostBinding, Input, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { warnDeprecation } from 'ngx-tethys/util';\n\ntype IconNavTypes = 'primary' | 'secondary' | 'individual' | '';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-icon-nav',\n templateUrl: './icon-nav.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyIconNav implements OnInit {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n type: IconNavTypes;\n\n @HostBinding(`class.thy-icon-nav`) isIconNav = true;\n\n @Input() set thyType(type: IconNavTypes) {\n this.type = type;\n this.updateClasses();\n this.changeDetectorRef.markForCheck();\n }\n\n private updateClasses(bypassInitialized?: boolean) {\n if (!bypassInitialized && !this.initialized) {\n return;\n }\n this.hostRenderer.updateClass(this.type ? [`thy-icon-nav-${this.type}`] : []);\n }\n\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n warnDeprecation('thy-icon-nav has been deprecated, please use thyAction and thy-space components instead of it');\n }\n }\n\n ngOnInit(): void {\n this.initialized = true;\n this.updateClasses(true);\n }\n}\n","<ng-content></ng-content>\n","import { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterViewInit,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n QueryList\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyNavLink = '' | 'active';\n\n/**\n * 导航项\n * @name thyNavItem\n * @order 20\n */\n@Directive({\n selector: '[thyNavLink],[thyNavItem]',\n host: {\n class: 'thy-nav-item',\n '[class.active]': 'thyNavItemActive || thyNavLinkActive',\n '[class.disabled]': 'thyNavItemDisabled'\n },\n standalone: true\n})\nexport class ThyNavItemDirective implements AfterViewInit {\n elementRef = inject(ElementRef);\n private routerLinkActive = inject(RouterLinkActive, { optional: true })!;\n private ngZone = inject(NgZone);\n\n /**\n * 是否激活状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavItemActive: boolean;\n\n /**\n * 已经废弃,请使用 thyNavItemActive\n * @deprecated please use thyNavItemActive\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavLinkActive: boolean;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavItemDisabled: boolean;\n\n /**\n * @private\n */\n @ContentChildren(forwardRef(() => ThyNavItemDirective), { descendants: true })\n links: QueryList<ThyNavItemDirective>;\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n // @HostBinding('attr.href') navLinkHref = 'javascript:;';\n\n public offset: {\n width: number;\n height: number;\n left: number;\n top: number;\n } = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n public content: HTMLElement;\n\n public isActive: boolean;\n\n private hostRenderer = useHostRenderer();\n\n private readonly destroyRef = inject(DestroyRef);\n\n ngAfterViewInit() {\n this.setOffset();\n\n this.content = this.elementRef.nativeElement.outerHTML;\n\n this.ngZone.onStable.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isActive = this.linkIsActive();\n });\n }\n\n setOffset() {\n this.offset = {\n width: this.elementRef.nativeElement.offsetWidth,\n height: this.elementRef.nativeElement.offsetHeight,\n left: this.elementRef.nativeElement.offsetLeft,\n top: this.elementRef.nativeElement.offsetTop\n };\n }\n\n linkIsActive() {\n return (\n this.thyNavItemActive ||\n this.thyNavLinkActive ||\n (this.routerLinkActive && this.routerLinkActive.isActive) ||\n this.routers.some(router => router.isActive) ||\n this.links.some(item => item.thyNavItemActive) ||\n this.links.some(item => item.thyNavLinkActive)\n );\n }\n\n setNavLinkHidden(value: boolean) {\n if (value) {\n this.hostRenderer.addClass('thy-nav-item-hidden');\n } else {\n this.hostRenderer.removeClass('thy-nav-item-hidden');\n }\n }\n}\n","import { ANIMATION_MODULE_TYPE, Directive, ElementRef, Input, NgZone, inject } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { take } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Directive({\n selector: 'thy-nav-ink-bar, [thyNavInkBar]',\n host: {\n class: 'thy-nav-ink-bar',\n '[class.thy-nav-ink-bar-animated]': 'animated'\n },\n standalone: true\n})\nexport class ThyNavInkBarDirective {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private ngZone = inject(NgZone);\n animationMode? = inject(ANIMATION_MODULE_TYPE, { optional: true });\n\n @Input({ transform: coerceBooleanProperty }) isVertical: boolean;\n\n @Input({ transform: coerceBooleanProperty }) showInkBar: boolean;\n\n get animated(): boolean {\n return this.animationMode !== 'NoopAnimations' && this.showInkBar;\n }\n\n public alignToElement(element: HTMLElement): void {\n this.show();\n this.ngZone.run(() => {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.setStyles(element);\n });\n });\n }\n\n private setStyles(element: HTMLElement): void {\n const inkBar: HTMLElement = this.elementRef.nativeElement;\n if (!this.isVertical) {\n inkBar.style.top = '';\n inkBar.style.bottom = '0px';\n inkBar.style.height = '2px';\n inkBar.style.left = this.getLeftPosition(element);\n inkBar.style.width = this.getElementWidth(element);\n } else {\n inkBar.style.left = '';\n inkBar.style.width = '2px';\n inkBar.style.top = this.getTopPosition(element);\n inkBar.style.height = this.getElementHeight(element);\n }\n }\n\n private getLeftPosition(element: HTMLElement): string {\n return element ? `${element.offsetLeft || 0}px` : '0';\n }\n\n private getElementWidth(element: HTMLElement): string {\n return element ? `${element.offsetWidth || 0}px` : '0';\n }\n\n private getTopPosition(element: HTMLElement): string {\n return element ? `${element.offsetTop || 0}px` : '0';\n }\n\n private getElementHeight(element: HTMLElement): string {\n return element ? `${element.offsetHeight || 0}px` : '0';\n }\n\n private show() {\n this.elementRef.nativeElement.style.visibility = 'visible';\n }\n\n public hide() {\n this.elementRef.nativeElement.style.visibility = 'hidden';\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @private\n */\n@Pipe({\n name: 'bypassSecurityTrustHtml',\n standalone: true\n})\nexport class BypassSecurityTrustHtmlPipe implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n transform(format: string): any {\n return this.sanitizer.bypassSecurityTrustHtml(format);\n }\n}\n","import { ThyPopover } from 'ngx-tethys/popover';\nimport { merge, Observable, of } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport { RouterLinkActive } from '@angular/router';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemActiveDirective } from 'ngx-tethys/dropdown';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyNavType = 'pulled' | 'tabs' | 'pills' | 'lite' | 'primary' | 'secondary' | 'thirdly' | 'secondary-divider';\nexport type ThyNavSize = 'lg' | 'md' | 'sm';\nexport type ThyNavHorizontal = '' | 'start' | 'center' | 'end';\n\nconst navTypeClassesMap = {\n pulled: ['thy-nav-pulled'],\n tabs: ['thy-nav-tabs'],\n pills: ['thy-nav-pills'],\n lite: ['thy-nav-lite'],\n //如下类型已经废弃\n primary: ['thy-nav-primary'],\n secondary: ['thy-nav-secondary'],\n thirdly: ['thy-nav-thirdly'],\n 'secondary-divider': ['thy-nav-secondary-divider']\n};\n\nconst navSizeClassesMap = {\n lg: 'thy-nav-lg',\n md: 'thy-nav-md',\n sm: 'thy-nav-sm'\n};\n\nconst tabItemRight = 20;\n\n/**\n * 导航组件\n * @name thy-nav\n * @order 10\n */\n@Component({\n selector: 'thy-nav',\n templateUrl: './nav.component.html',\n host: {\n class: 'thy-nav'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n NgTemplateOutlet,\n ThyNavItemDirective,\n ThyIcon,\n ThyNavInkBarDirective,\n ThyDropdownMenuComponent,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemActiveDirective,\n BypassSecurityTrustHtmlPipe\n ]\n})\nexport class ThyNav implements OnInit, AfterViewInit, AfterContentInit, AfterContentChecked, OnChanges {\n private elementRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n private popover = inject(ThyPopover);\n\n private readonly destroyRef = inject(DestroyRef);\n\n private type: ThyNavType = 'pulled';\n private size: ThyNavSize = 'md';\n public initialized = false;\n\n public horizontal: ThyNavHorizontal;\n public wrapperOffset: { height: number; width: number; left: number; top: number } = {\n height: 0,\n width: 0,\n left: 0,\n top: 0\n };\n\n public hiddenItems: ThyNavItemDirective[] = [];\n\n public moreActive: boolean;\n\n public showMore = true;\n\n private moreBtnOffset: { height: number; width: number } = { height: 0, width: 0 };\n\n private hostRenderer = useHostRenderer();\n\n private innerLinks: QueryList<ThyNavItemDirective>;\n\n /**\n * 导航类型\n * @type pulled | tabs | pills | lite | primary | secondary | thirdly | secondary-divider\n * @default pulled\n */\n @Input()\n set thyType(type: ThyNavType) {\n this.type = type || 'pulled';\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 导航大小\n * @type lg | md | sm\n * @default md\n */\n @Input()\n set thySize(size: ThyNavSize) {\n this.size = size;\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 水平排列\n * @type '' | 'start' | 'center' | 'end'\n * @default false\n */\n @Input()\n set thyHorizontal(horizontal: ThyNavHorizontal) {\n this.horizontal = (horizontal as string) === 'right' ? 'end' : horizontal;\n }\n\n /**\n * 是否垂直排列\n * @default false\n */\n @HostBinding('class.thy-nav--vertical')\n @Input({ transform: coerceBooleanProperty })\n thyVertical: boolean;\n\n /**\n * 是否是填充模式\n */\n @HostBinding('class.thy-nav--fill')\n @Input({ transform: coerceBooleanProperty })\n thyFill: boolean = false;\n\n /**\n * 是否响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyResponsive: boolean;\n\n /**\n * 更多操作的菜单点击内部是否可关闭\n */\n @Input({ transform: coerceBooleanProperty })\n thyInsideClosable = true;\n\n /**\n * 右侧额外区域模板\n * @type TemplateRef\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChildren(ThyNavItemDirective, { descendants: true })\n set links(value) {\n this.innerLinks = value;\n this.prevActiveIndex = NaN;\n }\n get links(): QueryList<ThyNavItemDirective> {\n return this.innerLinks;\n }\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n /**\n * 响应式模式下更多操作模板\n * @type TemplateRef\n */\n @ContentChild('more') moreOperation: TemplateRef<unknown>;\n\n /**\n * 响应式模式下更多弹框模板\n * @type TemplateRef\n */\n @ContentChild('morePopover') morePopover: TemplateRef<unknown>;\n\n /**\n * 右侧额外区域模板,支持 thyExtra 传参和 <ng-template #extra></ng-template> 模板\n * @name extra\n * @type TemplateRef\n */\n @ContentChild('extra') extra: TemplateRef<unknown>;\n\n @ViewChild('moreOperationContainer') defaultMoreOperation: ElementRef<HTMLAnchorElement>;\n\n @ViewChild(ThyNavInkBarDirective, { static: true }) inkBar!: ThyNavInkBarDirective;\n\n get showInkBar(): boolean {\n const showTypes: ThyNavType[] = ['pulled', 'tabs'];\n return showTypes.includes(this.type);\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n if (navTypeClassesMap[this.type]) {\n classNames = [...navTypeClassesMap[this.type]];\n }\n if (navSizeClassesMap[this.size]) {\n classNames.push(navSizeClassesMap[this.size]);\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n private curActiveIndex: number;\n\n private prevActiveIndex: number = NaN;\n\n ngOnInit() {\n if (!this.thyResponsive) {\n this.initialized = true;\n }\n\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n if (this.thyResponsive) {\n this.setMoreBtnOffset();\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.links.toArray().forEach(link => link.setOffset());\n this.setHiddenItems();\n });\n }\n this.ngZone.runOutsideAngular(() => {\n merge(\n this.links.changes,\n this.createResizeObserver(this.elementRef.nativeElement).pipe(debounceTime(100)),\n ...this.links.map(item => this.createResizeObserver(item.elementRef.nativeElement).pipe(debounceTime(100))),\n ...(this.routers || []).map(router => router?.isActiveChange)\n )\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n tap(() => {\n if (this.thyResponsive) {\n this.resetSizes();\n this.setHiddenItems();\n this.calculateMoreIsActive();\n }\n })\n )\n .subscribe(() => {\n this.alignInkBarToSelectedTab();\n });\n });\n }\n\n ngAfterContentInit(): void {\n if (this.thyResponsive) {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.resetSizes();\n });\n }\n }\n\n ngAfterContentChecked() {\n this.calculateMoreIsActive();\n\n this.curActiveIndex = this.links && this.links.length ? this.links.toArray().findIndex(item => item.linkIsActive()) : -1;\n if (this.curActiveIndex < 0) {\n this.inkBar.hide();\n } else if (this.curActiveIndex !== this.prevActiveIndex) {\n this.alignInkBarToSelectedTab();\n }\n }\n\n private setMoreBtnOffset() {\n this.moreBtnOffset = {\n height: this.defaultMoreOperation?.nativeElement?.offsetHeight,\n width: this.defaultMoreOperation?.nativeElement?.offsetWidth\n };\n }\n\n createResizeObserver(element: HTMLElement) {\n return typeof ResizeObserver === 'undefined'\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver(entries => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n private calculateMoreIsActive() {\n this.moreActive = this.hiddenItems.some(item => {\n return item.linkIsActive();\n });\n this.changeDetectorRef.detectChanges();\n }\n\n private setHiddenItems() {\n this.moreActive = false;\n const tabs = this.links.toArray();\n if (!tabs.length) {\n this.hiddenItems = [];\n this.showMore = this.hiddenItems.length > 0;\n return;\n }\n\n const endIndex = this.thyVertical ? this.getShowItemsEndIndexWhenVertical(tabs) : this.getShowItemsEndIndexWhenHorizontal(tabs);\n\n const showItems = tabs.slice(0, endIndex + 1);\n (showItems || []).forEach(item => {\n item.setNavLinkHidden(false);\n });\n\n this.hiddenItems = endIndex === tabs.length - 1 ? [] : tabs.slice(endIndex + 1);\n (this.hiddenItems || []).forEach(item => {\n item.setNavLinkHidden(true);\n });\n\n this.showMore = this.hiddenItems.length > 0;\n this.initialized = true;\n }\n\n private getShowItemsEndIndexWhenHorizontal(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalWidth = 0;\n\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalWidth = i === tabsLength - 1 ? totalWidth + tabs[i].offset.width : totalWidth + tabs[i].offset.width + tabItemRight;\n if (_totalWidth > this.wrapperOffset.width) {\n let moreOperationWidth = this.moreBtnOffset.width;\n if (totalWidth + moreOperationWidth <= this.wrapperOffset.width) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalWidth = _totalWidth;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private getShowItemsEndIndexWhenVertical(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalHeight = 0;\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalHeight = totalHeight + tabs[i].offset.height;\n if (_totalHeight > this.wrapperOffset.height) {\n let moreOperationHeight = this.moreBtnOffset.height;\n if (totalHeight + moreOperationHeight <= this.wrapperOffset.height) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalHeight = _totalHeight;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private resetSizes() {\n this.wrapperOffset = {\n height: this.elementRef.nativeElement.offsetHeight || 0,\n width: this.elementRef.nativeElement.offsetWidth || 0,\n left: this.elementRef.nativeElement.offsetLeft || 0,\n top: this.elementRef.nativeElement.offsetTop || 0\n };\n }\n\n openMore(event: Event, template: TemplateRef<any>) {\n this.popover.open(template, {\n origin: event.currentTarget as HTMLElement,\n hasBackdrop: true,\n backdropClosable: true,\n insideClosable: this.thyInsideClosable,\n placement: 'bottom',\n panelClass: 'thy-nav-list-popover',\n originActiveClass: 'thy-nav-origin-active'\n });\n }\n\n navItemClick(item: ThyNavItemDirective) {\n item.elementRef.nativeElement.click();\n }\n\n private alignInkBarToSelectedTab(): void {\n if (!this.showInkBar) {\n this.inkBar.hide();\n return;\n }\n const tabs = this.links?.toArray() ?? [];\n const selectedItem = tabs.find(item => item.linkIsActive());\n let selectedItemElement: HTMLElement = selectedItem && selectedItem.elementRef.nativeElement;\n\n if (selectedItem && this.moreActive) {\n selectedItemElement = this.defaultMoreOperation.nativeElement;\n }\n if (selectedItemElement) {\n this.prevActiveIndex = this.curActiveIndex;\n this.inkBar.alignToElement(selectedItemElement);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyVertical, thyType } = changes;\n\n if (thyType?.currentValue !== thyType?.previousValue || thyVertical?.currentValue !== thyVertical?.previousValue) {\n this.alignInkBarToSelectedTab();\n }\n }\n}\n","<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n 更多\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n@if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n}\n","import { ThyDropdownModule } from 'ngx-tethys/dropdown';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ThyIconNavLink } from './icon-nav/icon-nav-link.directive';\nimport { ThyIconNav } from './icon-nav/icon-nav.component';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { ThyNav } from './nav.component';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyIconModule,\n ThyPopoverModule,\n ThyDropdownModule,\n RouterModule,\n ThyNav,\n ThyNavItemDirective,\n ThyIconNav,\n ThyIconNavLink,\n BypassSecurityTrustHtmlPipe,\n ThyNavInkBarDirective\n ],\n exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe]\n})\nexport class ThyNavModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-nav.mjs","sources":["../../../src/nav/icon-nav/icon-nav-link.directive.ts","../../../src/nav/icon-nav/icon-nav.component.ts","../../../src/nav/icon-nav/icon-nav.component.html","../../../src/nav/nav-item.directive.ts","../../../src/nav/nav-ink-bar.directive.ts","../../../src/nav/nav.pipe.ts","../../../src/nav/nav.component.ts","../../../src/nav/nav.component.html","../../../src/nav/nav.module.ts","../../../src/nav/ngx-tethys-nav.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @private\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[thyIconNavLink]',\n template: '<ng-content></ng-content>@if (icon) {<thy-icon [thyIconName]=\"icon\"></thy-icon>}',\n standalone: true,\n imports: [ThyIcon]\n})\nexport class ThyIconNavLink {\n @HostBinding('class.active') navLinkActive = false;\n\n @HostBinding('class.thy-icon-nav-link') navLinkClass = true;\n\n icon: string;\n\n @Input()\n set thyIconNavLinkIcon(icon: string) {\n this.icon = icon;\n }\n\n @Input({ transform: coerceBooleanProperty })\n set thyIconNavLinkActive(active: boolean) {\n this.navLinkActive = active;\n }\n}\n","import { Component, OnInit, HostBinding, Input, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { warnDeprecation } from 'ngx-tethys/util';\n\ntype IconNavTypes = 'primary' | 'secondary' | 'individual' | '';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-icon-nav',\n templateUrl: './icon-nav.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyIconNav implements OnInit {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n type: IconNavTypes;\n\n @HostBinding(`class.thy-icon-nav`) isIconNav = true;\n\n @Input() set thyType(type: IconNavTypes) {\n this.type = type;\n this.updateClasses();\n this.changeDetectorRef.markForCheck();\n }\n\n private updateClasses(bypassInitialized?: boolean) {\n if (!bypassInitialized && !this.initialized) {\n return;\n }\n this.hostRenderer.updateClass(this.type ? [`thy-icon-nav-${this.type}`] : []);\n }\n\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n warnDeprecation('thy-icon-nav has been deprecated, please use thyAction and thy-space components instead of it');\n }\n }\n\n ngOnInit(): void {\n this.initialized = true;\n this.updateClasses(true);\n }\n}\n","<ng-content></ng-content>\n","import { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterViewInit,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n QueryList\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyNavLink = '' | 'active';\n\n/**\n * 导航项\n * @name thyNavItem\n * @order 20\n */\n@Directive({\n selector: '[thyNavLink],[thyNavItem]',\n host: {\n class: 'thy-nav-item',\n '[class.active]': 'thyNavItemActive || thyNavLinkActive',\n '[class.disabled]': 'thyNavItemDisabled'\n },\n standalone: true\n})\nexport class ThyNavItemDirective implements AfterViewInit {\n elementRef = inject(ElementRef);\n private routerLinkActive = inject(RouterLinkActive, { optional: true })!;\n private ngZone = inject(NgZone);\n\n /**\n * 是否激活状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavItemActive: boolean;\n\n /**\n * 已经废弃,请使用 thyNavItemActive\n * @deprecated please use thyNavItemActive\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavLinkActive: boolean;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavItemDisabled: boolean;\n\n /**\n * @private\n */\n @ContentChildren(forwardRef(() => ThyNavItemDirective), { descendants: true })\n links: QueryList<ThyNavItemDirective>;\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n // @HostBinding('attr.href') navLinkHref = 'javascript:;';\n\n public offset: {\n width: number;\n height: number;\n left: number;\n top: number;\n } = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n public content: HTMLElement;\n\n public isActive: boolean;\n\n private hostRenderer = useHostRenderer();\n\n private readonly destroyRef = inject(DestroyRef);\n\n ngAfterViewInit() {\n this.setOffset();\n\n this.content = this.elementRef.nativeElement.outerHTML;\n\n this.ngZone.onStable.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isActive = this.linkIsActive();\n });\n }\n\n setOffset() {\n this.offset = {\n width: this.elementRef.nativeElement.offsetWidth,\n height: this.elementRef.nativeElement.offsetHeight,\n left: this.elementRef.nativeElement.offsetLeft,\n top: this.elementRef.nativeElement.offsetTop\n };\n }\n\n linkIsActive() {\n return (\n this.thyNavItemActive ||\n this.thyNavLinkActive ||\n (this.routerLinkActive && this.routerLinkActive.isActive) ||\n this.routers.some(router => router.isActive) ||\n this.links.some(item => item.thyNavItemActive) ||\n this.links.some(item => item.thyNavLinkActive)\n );\n }\n\n setNavLinkHidden(value: boolean) {\n if (value) {\n this.hostRenderer.addClass('thy-nav-item-hidden');\n } else {\n this.hostRenderer.removeClass('thy-nav-item-hidden');\n }\n }\n}\n","import { ANIMATION_MODULE_TYPE, Directive, ElementRef, Input, NgZone, inject } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { take } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Directive({\n selector: 'thy-nav-ink-bar, [thyNavInkBar]',\n host: {\n class: 'thy-nav-ink-bar',\n '[class.thy-nav-ink-bar-animated]': 'animated'\n },\n standalone: true\n})\nexport class ThyNavInkBarDirective {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private ngZone = inject(NgZone);\n animationMode? = inject(ANIMATION_MODULE_TYPE, { optional: true });\n\n @Input({ transform: coerceBooleanProperty }) isVertical: boolean;\n\n @Input({ transform: coerceBooleanProperty }) showInkBar: boolean;\n\n get animated(): boolean {\n return this.animationMode !== 'NoopAnimations' && this.showInkBar;\n }\n\n public alignToElement(element: HTMLElement): void {\n this.show();\n this.ngZone.run(() => {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.setStyles(element);\n });\n });\n }\n\n private setStyles(element: HTMLElement): void {\n const inkBar: HTMLElement = this.elementRef.nativeElement;\n if (!this.isVertical) {\n inkBar.style.top = '';\n inkBar.style.bottom = '0px';\n inkBar.style.height = '2px';\n inkBar.style.left = this.getLeftPosition(element);\n inkBar.style.width = this.getElementWidth(element);\n } else {\n inkBar.style.left = '';\n inkBar.style.width = '2px';\n inkBar.style.top = this.getTopPosition(element);\n inkBar.style.height = this.getElementHeight(element);\n }\n }\n\n private getLeftPosition(element: HTMLElement): string {\n return element ? `${element.offsetLeft || 0}px` : '0';\n }\n\n private getElementWidth(element: HTMLElement): string {\n return element ? `${element.offsetWidth || 0}px` : '0';\n }\n\n private getTopPosition(element: HTMLElement): string {\n return element ? `${element.offsetTop || 0}px` : '0';\n }\n\n private getElementHeight(element: HTMLElement): string {\n return element ? `${element.offsetHeight || 0}px` : '0';\n }\n\n private show() {\n this.elementRef.nativeElement.style.visibility = 'visible';\n }\n\n public hide() {\n this.elementRef.nativeElement.style.visibility = 'hidden';\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @private\n */\n@Pipe({\n name: 'bypassSecurityTrustHtml',\n standalone: true\n})\nexport class BypassSecurityTrustHtmlPipe implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n transform(format: string): any {\n return this.sanitizer.bypassSecurityTrustHtml(format);\n }\n}\n","import { ThyPopover } from 'ngx-tethys/popover';\nimport { merge, Observable, of } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n QueryList,\n Signal,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport { RouterLinkActive } from '@angular/router';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemActiveDirective } from 'ngx-tethys/dropdown';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { injectLocale, ThyNavLocale } from 'ngx-tethys/i18n';\n\nexport type ThyNavType = 'pulled' | 'tabs' | 'pills' | 'lite' | 'primary' | 'secondary' | 'thirdly' | 'secondary-divider';\nexport type ThyNavSize = 'lg' | 'md' | 'sm';\nexport type ThyNavHorizontal = '' | 'start' | 'center' | 'end';\n\nconst navTypeClassesMap = {\n pulled: ['thy-nav-pulled'],\n tabs: ['thy-nav-tabs'],\n pills: ['thy-nav-pills'],\n lite: ['thy-nav-lite'],\n //如下类型已经废弃\n primary: ['thy-nav-primary'],\n secondary: ['thy-nav-secondary'],\n thirdly: ['thy-nav-thirdly'],\n 'secondary-divider': ['thy-nav-secondary-divider']\n};\n\nconst navSizeClassesMap = {\n lg: 'thy-nav-lg',\n md: 'thy-nav-md',\n sm: 'thy-nav-sm'\n};\n\nconst tabItemRight = 20;\n\n/**\n * 导航组件\n * @name thy-nav\n * @order 10\n */\n@Component({\n selector: 'thy-nav',\n templateUrl: './nav.component.html',\n host: {\n class: 'thy-nav'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n NgTemplateOutlet,\n ThyNavItemDirective,\n ThyIcon,\n ThyNavInkBarDirective,\n ThyDropdownMenuComponent,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemActiveDirective,\n BypassSecurityTrustHtmlPipe\n ]\n})\nexport class ThyNav implements OnInit, AfterViewInit, AfterContentInit, AfterContentChecked, OnChanges {\n private elementRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n private popover = inject(ThyPopover);\n\n private readonly destroyRef = inject(DestroyRef);\n\n private type: ThyNavType = 'pulled';\n private size: ThyNavSize = 'md';\n public initialized = false;\n\n public horizontal: ThyNavHorizontal;\n public wrapperOffset: { height: number; width: number; left: number; top: number } = {\n height: 0,\n width: 0,\n left: 0,\n top: 0\n };\n\n public hiddenItems: ThyNavItemDirective[] = [];\n\n public moreActive: boolean;\n\n public showMore = true;\n\n private moreBtnOffset: { height: number; width: number } = { height: 0, width: 0 };\n\n private hostRenderer = useHostRenderer();\n\n private innerLinks: QueryList<ThyNavItemDirective>;\n\n locale: Signal<ThyNavLocale> = injectLocale('nav');\n\n /**\n * 导航类型\n * @type pulled | tabs | pills | lite | primary | secondary | thirdly | secondary-divider\n * @default pulled\n */\n @Input()\n set thyType(type: ThyNavType) {\n this.type = type || 'pulled';\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 导航大小\n * @type lg | md | sm\n * @default md\n */\n @Input()\n set thySize(size: ThyNavSize) {\n this.size = size;\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 水平排列\n * @type '' | 'start' | 'center' | 'end'\n * @default false\n */\n @Input()\n set thyHorizontal(horizontal: ThyNavHorizontal) {\n this.horizontal = (horizontal as string) === 'right' ? 'end' : horizontal;\n }\n\n /**\n * 是否垂直排列\n * @default false\n */\n @HostBinding('class.thy-nav--vertical')\n @Input({ transform: coerceBooleanProperty })\n thyVertical: boolean;\n\n /**\n * 是否是填充模式\n */\n @HostBinding('class.thy-nav--fill')\n @Input({ transform: coerceBooleanProperty })\n thyFill: boolean = false;\n\n /**\n * 是否响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyResponsive: boolean;\n\n /**\n * 更多操作的菜单点击内部是否可关闭\n */\n @Input({ transform: coerceBooleanProperty })\n thyInsideClosable = true;\n\n /**\n * 右侧额外区域模板\n * @type TemplateRef\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChildren(ThyNavItemDirective, { descendants: true })\n set links(value) {\n this.innerLinks = value;\n this.prevActiveIndex = NaN;\n }\n get links(): QueryList<ThyNavItemDirective> {\n return this.innerLinks;\n }\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n /**\n * 响应式模式下更多操作模板\n * @type TemplateRef\n */\n @ContentChild('more') moreOperation: TemplateRef<unknown>;\n\n /**\n * 响应式模式下更多弹框模板\n * @type TemplateRef\n */\n @ContentChild('morePopover') morePopover: TemplateRef<unknown>;\n\n /**\n * 右侧额外区域模板,支持 thyExtra 传参和 <ng-template #extra></ng-template> 模板\n * @name extra\n * @type TemplateRef\n */\n @ContentChild('extra') extra: TemplateRef<unknown>;\n\n @ViewChild('moreOperationContainer') defaultMoreOperation: ElementRef<HTMLAnchorElement>;\n\n @ViewChild(ThyNavInkBarDirective, { static: true }) inkBar!: ThyNavInkBarDirective;\n\n get showInkBar(): boolean {\n const showTypes: ThyNavType[] = ['pulled', 'tabs'];\n return showTypes.includes(this.type);\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n if (navTypeClassesMap[this.type]) {\n classNames = [...navTypeClassesMap[this.type]];\n }\n if (navSizeClassesMap[this.size]) {\n classNames.push(navSizeClassesMap[this.size]);\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n private curActiveIndex: number;\n\n private prevActiveIndex: number = NaN;\n\n ngOnInit() {\n if (!this.thyResponsive) {\n this.initialized = true;\n }\n\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n if (this.thyResponsive) {\n this.setMoreBtnOffset();\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.links.toArray().forEach(link => link.setOffset());\n this.setHiddenItems();\n });\n }\n this.ngZone.runOutsideAngular(() => {\n merge(\n this.links.changes,\n this.createResizeObserver(this.elementRef.nativeElement).pipe(debounceTime(100)),\n ...this.links.map(item => this.createResizeObserver(item.elementRef.nativeElement).pipe(debounceTime(100))),\n ...(this.routers || []).map(router => router?.isActiveChange)\n )\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n tap(() => {\n if (this.thyResponsive) {\n this.resetSizes();\n this.setHiddenItems();\n this.calculateMoreIsActive();\n }\n })\n )\n .subscribe(() => {\n this.alignInkBarToSelectedTab();\n });\n });\n }\n\n ngAfterContentInit(): void {\n if (this.thyResponsive) {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.resetSizes();\n });\n }\n }\n\n ngAfterContentChecked() {\n this.calculateMoreIsActive();\n\n this.curActiveIndex = this.links && this.links.length ? this.links.toArray().findIndex(item => item.linkIsActive()) : -1;\n if (this.curActiveIndex < 0) {\n this.inkBar.hide();\n } else if (this.curActiveIndex !== this.prevActiveIndex) {\n this.alignInkBarToSelectedTab();\n }\n }\n\n private setMoreBtnOffset() {\n this.moreBtnOffset = {\n height: this.defaultMoreOperation?.nativeElement?.offsetHeight,\n width: this.defaultMoreOperation?.nativeElement?.offsetWidth\n };\n }\n\n createResizeObserver(element: HTMLElement) {\n return typeof ResizeObserver === 'undefined'\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver(entries => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n private calculateMoreIsActive() {\n this.moreActive = this.hiddenItems.some(item => {\n return item.linkIsActive();\n });\n this.changeDetectorRef.detectChanges();\n }\n\n private setHiddenItems() {\n this.moreActive = false;\n const tabs = this.links.toArray();\n if (!tabs.length) {\n this.hiddenItems = [];\n this.showMore = this.hiddenItems.length > 0;\n return;\n }\n\n const endIndex = this.thyVertical ? this.getShowItemsEndIndexWhenVertical(tabs) : this.getShowItemsEndIndexWhenHorizontal(tabs);\n\n const showItems = tabs.slice(0, endIndex + 1);\n (showItems || []).forEach(item => {\n item.setNavLinkHidden(false);\n });\n\n this.hiddenItems = endIndex === tabs.length - 1 ? [] : tabs.slice(endIndex + 1);\n (this.hiddenItems || []).forEach(item => {\n item.setNavLinkHidden(true);\n });\n\n this.showMore = this.hiddenItems.length > 0;\n this.initialized = true;\n }\n\n private getShowItemsEndIndexWhenHorizontal(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalWidth = 0;\n\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalWidth = i === tabsLength - 1 ? totalWidth + tabs[i].offset.width : totalWidth + tabs[i].offset.width + tabItemRight;\n if (_totalWidth > this.wrapperOffset.width) {\n let moreOperationWidth = this.moreBtnOffset.width;\n if (totalWidth + moreOperationWidth <= this.wrapperOffset.width) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalWidth = _totalWidth;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private getShowItemsEndIndexWhenVertical(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalHeight = 0;\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalHeight = totalHeight + tabs[i].offset.height;\n if (_totalHeight > this.wrapperOffset.height) {\n let moreOperationHeight = this.moreBtnOffset.height;\n if (totalHeight + moreOperationHeight <= this.wrapperOffset.height) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalHeight = _totalHeight;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private resetSizes() {\n this.wrapperOffset = {\n height: this.elementRef.nativeElement.offsetHeight || 0,\n width: this.elementRef.nativeElement.offsetWidth || 0,\n left: this.elementRef.nativeElement.offsetLeft || 0,\n top: this.elementRef.nativeElement.offsetTop || 0\n };\n }\n\n openMore(event: Event, template: TemplateRef<any>) {\n this.popover.open(template, {\n origin: event.currentTarget as HTMLElement,\n hasBackdrop: true,\n backdropClosable: true,\n insideClosable: this.thyInsideClosable,\n placement: 'bottom',\n panelClass: 'thy-nav-list-popover',\n originActiveClass: 'thy-nav-origin-active'\n });\n }\n\n navItemClick(item: ThyNavItemDirective) {\n item.elementRef.nativeElement.click();\n }\n\n private alignInkBarToSelectedTab(): void {\n if (!this.showInkBar) {\n this.inkBar.hide();\n return;\n }\n const tabs = this.links?.toArray() ?? [];\n const selectedItem = tabs.find(item => item.linkIsActive());\n let selectedItemElement: HTMLElement = selectedItem && selectedItem.elementRef.nativeElement;\n\n if (selectedItem && this.moreActive) {\n selectedItemElement = this.defaultMoreOperation.nativeElement;\n }\n if (selectedItemElement) {\n this.prevActiveIndex = this.curActiveIndex;\n this.inkBar.alignToElement(selectedItemElement);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyVertical, thyType } = changes;\n\n if (thyType?.currentValue !== thyType?.previousValue || thyVertical?.currentValue !== thyVertical?.previousValue) {\n this.alignInkBarToSelectedTab();\n }\n }\n}\n","<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n@if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n}\n","import { ThyDropdownModule } from 'ngx-tethys/dropdown';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ThyIconNavLink } from './icon-nav/icon-nav-link.directive';\nimport { ThyIconNav } from './icon-nav/icon-nav.component';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { ThyNav } from './nav.component';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyIconModule,\n ThyPopoverModule,\n ThyDropdownModule,\n RouterModule,\n ThyNav,\n ThyNavItemDirective,\n ThyIconNav,\n ThyIconNavLink,\n BypassSecurityTrustHtmlPipe,\n ThyNavInkBarDirective\n ],\n exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe]\n})\nexport class ThyNavModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}