ngx-tethys 19.1.0-next.0 → 19.1.0-next.10

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 (221) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +0 -1
  3. package/action/action.component.d.ts +7 -8
  4. package/affix/affix.component.d.ts +3 -4
  5. package/arrow-switcher/arrow-switcher.component.d.ts +5 -1
  6. package/badge/badge.component.d.ts +1 -1
  7. package/button/button-group.component.d.ts +5 -12
  8. package/button/button-icon.component.d.ts +14 -28
  9. package/button/button.component.d.ts +17 -27
  10. package/color-picker/coordinates.directive.d.ts +1 -2
  11. package/date-picker/abstract-picker.component.d.ts +50 -52
  12. package/date-picker/abstract-picker.directive.d.ts +15 -40
  13. package/date-picker/base-picker.component.d.ts +12 -40
  14. package/date-picker/date-picker.config.d.ts +3 -0
  15. package/date-picker/lib/calendar/calendar-footer.component.d.ts +24 -19
  16. package/date-picker/lib/calendar/calendar-header.component.d.ts +15 -15
  17. package/date-picker/lib/calendar/calendar-table.component.d.ts +15 -16
  18. package/date-picker/lib/date/date-table-cell.component.d.ts +6 -3
  19. package/date-picker/lib/date/date-table.component.d.ts +2 -3
  20. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +2 -3
  21. package/date-picker/lib/decade/decade-header.component.d.ts +2 -5
  22. package/date-picker/lib/decade/decade-table.component.d.ts +3 -5
  23. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  24. package/date-picker/lib/popups/date-popup.component.d.ts +33 -34
  25. package/date-picker/lib/popups/inner-popup.component.d.ts +22 -29
  26. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -4
  27. package/date-picker/lib/year/year-header.component.d.ts +2 -4
  28. package/date-picker/lib/year/year-table.component.d.ts +2 -4
  29. package/date-picker/month-picker.component.d.ts +2 -2
  30. package/date-picker/picker.component.d.ts +31 -36
  31. package/date-picker/picker.pipes.d.ts +4 -5
  32. package/date-picker/picker.util.d.ts +5 -5
  33. package/date-picker/picker.validators.d.ts +4 -8
  34. package/date-picker/quarter-picker.component.d.ts +2 -3
  35. package/date-picker/styles/calendar.scss +1 -1
  36. package/date-picker/styles/range-picker.scss +1 -0
  37. package/date-picker/styles/week-picker.scss +1 -0
  38. package/date-picker/week-picker.component.d.ts +0 -1
  39. package/date-picker/year-picker.component.d.ts +2 -3
  40. package/dropdown/dropdown-active.directive.d.ts +4 -5
  41. package/dropdown/dropdown-menu-item.directive.d.ts +7 -15
  42. package/dropdown/dropdown-menu.component.d.ts +6 -13
  43. package/dropdown/dropdown-submenu.component.d.ts +2 -4
  44. package/dropdown/dropdown.directive.d.ts +15 -25
  45. package/empty/empty.component.d.ts +2 -1
  46. package/fesm2022/ngx-tethys-action.mjs +15 -16
  47. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  48. package/fesm2022/ngx-tethys-affix.mjs +14 -18
  49. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  50. package/fesm2022/ngx-tethys-arrow-switcher.mjs +15 -3
  51. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  52. package/fesm2022/ngx-tethys-autocomplete.mjs +4 -4
  53. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  54. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-button.mjs +225 -322
  56. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-carousel.mjs +1 -0
  58. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  59. package/fesm2022/ngx-tethys-cascader.mjs +1 -1
  60. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-checkbox.mjs +2 -2
  62. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  63. package/fesm2022/ngx-tethys-collapse.mjs +2 -2
  64. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  65. package/fesm2022/ngx-tethys-color-picker.mjs +4 -6
  66. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  67. package/fesm2022/ngx-tethys-copy.mjs +2 -2
  68. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  69. package/fesm2022/ngx-tethys-date-picker.mjs +861 -1078
  70. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  71. package/fesm2022/ngx-tethys-divider.mjs +5 -5
  72. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  73. package/fesm2022/ngx-tethys-dropdown.mjs +159 -209
  74. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  75. package/fesm2022/ngx-tethys-empty.mjs +5 -2
  76. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-flexible-text.mjs +68 -88
  78. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-grid.mjs +10 -15
  80. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-i18n.mjs +26 -6
  82. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-icon.mjs +44 -59
  84. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-image.mjs +44 -42
  86. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  88. package/fesm2022/ngx-tethys-layout.mjs +291 -334
  89. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  90. package/fesm2022/ngx-tethys-list.mjs +183 -217
  91. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  92. package/fesm2022/ngx-tethys-message.mjs +29 -36
  93. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  94. package/fesm2022/ngx-tethys-notify.mjs +33 -41
  95. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  96. package/fesm2022/ngx-tethys-progress.mjs +7 -11
  97. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  98. package/fesm2022/ngx-tethys-property.mjs +8 -19
  99. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  100. package/fesm2022/ngx-tethys-radio.mjs +46 -58
  101. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  102. package/fesm2022/ngx-tethys-rate.mjs +115 -157
  103. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  104. package/fesm2022/ngx-tethys-resizable.mjs +100 -143
  105. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  106. package/fesm2022/ngx-tethys-segment.mjs +84 -103
  107. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  108. package/fesm2022/ngx-tethys-select.mjs +164 -228
  109. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  110. package/fesm2022/ngx-tethys-shared.mjs +423 -586
  111. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  112. package/fesm2022/ngx-tethys-skeleton.mjs +1 -2
  113. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  114. package/fesm2022/ngx-tethys-slide.mjs +37 -56
  115. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  116. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  117. package/fesm2022/ngx-tethys-space.mjs +2 -8
  118. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  119. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  120. package/fesm2022/ngx-tethys-strength.mjs +52 -66
  121. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  122. package/fesm2022/ngx-tethys-table.mjs +1 -2
  123. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  124. package/fesm2022/ngx-tethys-time-picker.mjs +244 -271
  125. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  126. package/fesm2022/ngx-tethys-tooltip.mjs +109 -93
  127. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  128. package/fesm2022/ngx-tethys-transfer.mjs +98 -119
  129. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-tree-select.mjs +216 -284
  131. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-tree.mjs +281 -401
  133. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  134. package/fesm2022/ngx-tethys-upload.mjs +2 -2
  135. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-vote.mjs +53 -99
  137. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  138. package/fesm2022/ngx-tethys.mjs +1 -1
  139. package/fesm2022/ngx-tethys.mjs.map +1 -1
  140. package/flexible-text/flexible-text.component.d.ts +9 -15
  141. package/grid/flex.d.ts +1 -3
  142. package/grid/thy-row.directive.d.ts +1 -4
  143. package/i18n/i18n.d.ts +7 -2
  144. package/i18n/locales/de-de.d.ts +5 -1
  145. package/i18n/locales/en-us.d.ts +5 -1
  146. package/i18n/locales/ja-jp.d.ts +5 -1
  147. package/i18n/locales/zh-hans.d.ts +5 -1
  148. package/i18n/locales/zh-hant.d.ts +5 -1
  149. package/icon/icon.component.d.ts +10 -18
  150. package/image/image.directive.d.ts +10 -13
  151. package/image/image.token.d.ts +5 -5
  152. package/image/preview/image-preview.component.d.ts +2 -2
  153. package/input-number/input-number.component.d.ts +1 -1
  154. package/layout/header.component.d.ts +15 -19
  155. package/layout/layout.component.d.ts +3 -2
  156. package/layout/sidebar-header.component.d.ts +7 -8
  157. package/layout/sidebar.component.d.ts +32 -62
  158. package/list/list-item-meta.component.d.ts +7 -9
  159. package/list/list-item.component.d.ts +0 -2
  160. package/list/list.component.d.ts +2 -8
  161. package/list/selection/selection-list.d.ts +33 -46
  162. package/message/abstract/abstract-message.component.d.ts +2 -3
  163. package/message/message-container.component.d.ts +0 -1
  164. package/message/message.component.d.ts +1 -3
  165. package/notify/notify-container.component.d.ts +0 -1
  166. package/notify/notify.component.d.ts +7 -12
  167. package/package.json +1 -1
  168. package/progress/progress-circle.component.d.ts +3 -5
  169. package/progress/progress.component.d.ts +2 -4
  170. package/property/properties.component.d.ts +0 -2
  171. package/property/property-item.component.d.ts +3 -10
  172. package/radio/group/radio-group.component.d.ts +5 -9
  173. package/rate/rate-item.component.d.ts +8 -11
  174. package/rate/rate.component.d.ts +18 -29
  175. package/resizable/resizable.directive.d.ts +20 -32
  176. package/resizable/resize-handle.component.d.ts +6 -7
  177. package/resizable/resize-handles.component.d.ts +5 -9
  178. package/schematics/version.d.ts +1 -1
  179. package/schematics/version.js +1 -1
  180. package/segment/segment-item.component.d.ts +9 -15
  181. package/segment/segment.component.d.ts +11 -15
  182. package/segment/segment.token.d.ts +4 -3
  183. package/select/custom-select/custom-select.component.d.ts +33 -56
  184. package/select/native-select/native-select.component.d.ts +7 -13
  185. package/shared/base-form-check.component.d.ts +6 -8
  186. package/shared/directives/string-or-template-outlet.directive.d.ts +5 -6
  187. package/shared/directives/thy-autofocus.directive.d.ts +4 -6
  188. package/shared/directives/thy-contextmenu.directive.d.ts +2 -2
  189. package/shared/directives/thy-ctrl-enter.directive.d.ts +2 -2
  190. package/shared/directives/thy-enter.directive.d.ts +2 -2
  191. package/shared/directives/thy-scroll.directive.d.ts +5 -8
  192. package/shared/directives/thy-show.d.ts +5 -6
  193. package/shared/directives/thy-stop-propagation.directive.d.ts +4 -4
  194. package/shared/directives/view-outlet.directive.d.ts +6 -7
  195. package/shared/ng-transclude.directive.d.ts +2 -3
  196. package/shared/option/group/option-group.component.d.ts +5 -9
  197. package/shared/option/list-option/list-option.component.d.ts +9 -13
  198. package/shared/option/option.component.d.ts +10 -17
  199. package/shared/option/option.token.d.ts +4 -3
  200. package/shared/option/options-container.component.d.ts +1 -1
  201. package/shared/select/select-control/select-control.component.d.ts +38 -53
  202. package/slide/slide-body/slide-body-section.component.d.ts +2 -6
  203. package/slide/slide-header/slide-header.component.d.ts +6 -9
  204. package/space/space.component.d.ts +5 -11
  205. package/stepper/stepper.component.d.ts +1 -1
  206. package/strength/strength.component.d.ts +8 -13
  207. package/table/table-column.component.d.ts +15 -5
  208. package/time-picker/inner/inner-time-picker.class.d.ts +15 -13
  209. package/time-picker/inner/inner-time-picker.component.d.ts +26 -26
  210. package/time-picker/time-picker-panel.component.d.ts +18 -20
  211. package/time-picker/time-picker.component.d.ts +22 -30
  212. package/tooltip/tooltip.directive.d.ts +20 -22
  213. package/transfer/transfer-list.component.d.ts +15 -15
  214. package/transfer/transfer.component.d.ts +20 -23
  215. package/tree/tree-abstract.d.ts +5 -5
  216. package/tree/tree-node.component.d.ts +24 -37
  217. package/tree/tree.class.d.ts +4 -4
  218. package/tree/tree.component.d.ts +47 -75
  219. package/tree/tree.service.d.ts +3 -4
  220. package/tree-select/tree-select.component.d.ts +54 -71
  221. package/vote/vote.component.d.ts +13 -33
@@ -40,11 +40,12 @@ var zhHansLocale = {
40
40
  datePicker: {
41
41
  yearFormat: 'yyyy年', // Used in header of month picker
42
42
  monthFormat: 'MMM', // Used in header of date picker, advanced range picker (2月)
43
- zhMonthFormat: 'MMMM', // Used in month picker (二月)
44
43
  weekFormat: 'EEEEE', // Used in date picker table (六)
45
44
  fullWeekFormat: 'EE', // Used in calendar (周六)
46
45
  weekThFormat: 'yyyy-ww周', // Used in week picker
47
46
  dateFormat: 'yyyy年MM月dd日',
47
+ yearQuarterFormat: "yyyy年 'Q'q",
48
+ yearMonthFormat: 'yyyy年 MM月',
48
49
  yearText: '年份',
49
50
  quarterText: '季度',
50
51
  monthText: '月份',
@@ -178,6 +179,9 @@ var zhHansLocale = {
178
179
  copyError: '复制图片地址失败',
179
180
  prev: '上一张',
180
181
  next: '下一张'
182
+ },
183
+ shared: {
184
+ comma: ','
181
185
  }
182
186
  };
183
187
 
@@ -190,11 +194,12 @@ var zhHantLocale = {
190
194
  datePicker: {
191
195
  yearFormat: 'yyyy年',
192
196
  monthFormat: 'MMM',
193
- zhMonthFormat: 'MMMM',
194
197
  weekFormat: 'EEEEE',
195
198
  fullWeekFormat: 'EE',
196
199
  weekThFormat: 'yyyy-ww週',
197
200
  dateFormat: 'yyyy年MM月dd日',
201
+ yearQuarterFormat: "yyyy年 'Q'q",
202
+ yearMonthFormat: 'yyyy年 MM月',
198
203
  yearText: '年份',
199
204
  quarterText: '季度',
200
205
  monthText: '月份',
@@ -328,6 +333,9 @@ var zhHantLocale = {
328
333
  copyError: '複製圖片地址失敗',
329
334
  prev: '上一張',
330
335
  next: '下一張'
336
+ },
337
+ shared: {
338
+ comma: ','
331
339
  }
332
340
  };
333
341
 
@@ -340,11 +348,12 @@ var enUsLocale = {
340
348
  datePicker: {
341
349
  yearFormat: 'yyyy', // eg. 2025
342
350
  monthFormat: 'MMM', // eg. Sep
343
- zhMonthFormat: 'MMM', // eg. Sep
344
351
  weekFormat: 'EEE', // eg. Tue
345
352
  fullWeekFormat: 'EEE', // eg. Tue
346
353
  weekThFormat: 'yyyy-ww', // eg. 2025-01st、2025-02nd、2025-03rd、2025-27th
347
354
  dateFormat: 'yyyy-MM-dd', // eg. 2025-09-02
355
+ yearQuarterFormat: "yyyy-'Q'q",
356
+ yearMonthFormat: 'yyyy-MM',
348
357
  yearText: 'Year',
349
358
  quarterText: 'Quarter',
350
359
  monthText: 'Month',
@@ -478,6 +487,9 @@ var enUsLocale = {
478
487
  copyError: 'Copy failed',
479
488
  prev: 'Previous',
480
489
  next: 'Next'
490
+ },
491
+ shared: {
492
+ comma: ','
481
493
  }
482
494
  };
483
495
  /**
@@ -511,11 +523,12 @@ var jaJpLocale = {
511
523
  datePicker: {
512
524
  yearFormat: 'yyyy年',
513
525
  monthFormat: 'MMM',
514
- zhMonthFormat: 'MMMM',
515
526
  weekFormat: 'EEEEE',
516
527
  fullWeekFormat: 'EE',
517
528
  weekThFormat: 'yyyy-ww週',
518
529
  dateFormat: 'yyyy年MM月dd日',
530
+ yearQuarterFormat: "yyyy-'Q'q",
531
+ yearMonthFormat: 'yyyy-MM',
519
532
  yearText: '年',
520
533
  quarterText: '四半期',
521
534
  monthText: '月',
@@ -649,6 +662,9 @@ var jaJpLocale = {
649
662
  copyError: '画像のURLをコピーできませんでした',
650
663
  prev: '前の画像',
651
664
  next: '次の画像'
665
+ },
666
+ shared: {
667
+ comma: ','
652
668
  }
653
669
  };
654
670
 
@@ -660,12 +676,13 @@ var deDeLocale = {
660
676
  },
661
677
  datePicker: {
662
678
  yearFormat: 'yyyy',
663
- monthFormat: 'MMM',
664
- zhMonthFormat: 'MMM', // MMM:月份缩写。 MMMM:月份全称。
679
+ monthFormat: 'MMM', // MMM:月份缩写。 MMMM:月份全称。
665
680
  weekFormat: 'EE',
666
681
  fullWeekFormat: 'EE',
667
682
  weekThFormat: 'yyyy-ww',
668
683
  dateFormat: 'yyyy-MM-dd',
684
+ yearQuarterFormat: "yyyy-'Q'q",
685
+ yearMonthFormat: 'yyyy-MM',
669
686
  yearText: 'Jahr',
670
687
  quarterText: 'Quartal',
671
688
  monthText: 'Monat',
@@ -799,6 +816,9 @@ var deDeLocale = {
799
816
  copyError: 'Link kopieren fehlgeschlagen',
800
817
  prev: 'Vorherige',
801
818
  next: 'Nächste'
819
+ },
820
+ shared: {
821
+ comma: ','
802
822
  }
803
823
  };
804
824
 
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-i18n.mjs","sources":["../../../src/i18n/i18n.ts","../../../src/i18n/i18n.token.ts","../../../src/i18n/util.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/i18n.service.ts","../../../src/i18n/locale.ts","../../../src/i18n/ngx-tethys-i18n.ts"],"sourcesContent":["export type ThyModuleType =\n | 'datePicker'\n | 'layout'\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 | 'image';\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 layout: ThyLayoutLocale;\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 image: ThyImageLocale;\n}\n\nexport interface ThyLayoutLocale {\n collapse: string;\n expand: string;\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 order: 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\nexport interface ThyImageLocale {\n zoomOut: string;\n zoomIn: string;\n originalSize: string;\n fitToScreen: string;\n fullScreen: string;\n spin: string;\n download: string;\n viewOriginal: string;\n copyLink: string;\n exitPreview: string;\n exitFullScreen: string;\n copySuccess: string;\n copyError: string;\n prev: string;\n next: string;\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 { ThyLocaleType } from './i18n';\n\nexport function normalizeLocale(localeId: string): ThyLocaleType {\n return localeId?.toLowerCase().replace(/_/g, '-') as ThyLocaleType;\n}\n\nexport function getDefaultLocaleId(): ThyLocaleType {\n let defaultLocaleId = ThyLocaleType.zhHans;\n const allLocales = [ThyLocaleType.zhHans, ThyLocaleType.zhHant, ThyLocaleType.enUs, ThyLocaleType.jaJp, ThyLocaleType.deDe];\n if (typeof window !== 'undefined' && window?.navigator?.language) {\n defaultLocaleId = window.navigator?.language?.toLowerCase() as ThyLocaleType;\n }\n return allLocales.includes(normalizeLocale(defaultLocaleId) as ThyLocaleType) ? defaultLocaleId : ThyLocaleType.zhHans;\n}\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.zhHans,\n layout: {\n expand: '展开',\n collapse: '收起'\n },\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 image: {\n zoomOut: '缩小',\n zoomIn: '放大',\n originalSize: '原始比例',\n fitToScreen: '适应屏幕',\n fullScreen: '全屏显示',\n spin: '旋转',\n download: '下载',\n viewOriginal: '查看原图',\n copyLink: '复制链接',\n exitPreview: '退出预览',\n exitFullScreen: '退出全屏',\n copySuccess: '复制图片地址成功',\n copyError: '复制图片地址失败',\n prev: '上一张',\n next: '下一张'\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.zhHant,\n layout: {\n expand: '展開',\n collapse: '收起'\n },\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 image: {\n zoomOut: '縮小',\n zoomIn: '放大',\n originalSize: '原始比例',\n fitToScreen: '適應屏幕',\n fullScreen: '全屏顯示',\n spin: '旋轉',\n download: '下載',\n viewOriginal: '查看原圖',\n copyLink: '複製連結',\n exitPreview: '退出預覽',\n exitFullScreen: '退出全屏',\n copySuccess: '複製圖片地址成功',\n copyError: '複製圖片地址失敗',\n prev: '上一張',\n next: '下一張'\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.enUs,\n layout: {\n expand: 'Expand',\n collapse: 'Collapse'\n },\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: '7 days',\n lastThirtyDays: '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 available'\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: 'Copy succeeded',\n error: 'Copy failed'\n },\n nav: {\n more: 'More'\n },\n dialog: {\n title: 'Confirm',\n ok: 'Ok',\n cancel: 'Cancel'\n },\n select: {\n placeholder: 'Select',\n empty: 'No data available'\n },\n treeSelect: {\n placeholder: 'Select',\n empty: 'No data available'\n },\n cascader: {\n placeholder: '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 available'\n },\n image: {\n zoomOut: 'Zoom out',\n zoomIn: 'Zoom in',\n originalSize: 'Original size',\n fitToScreen: 'Fit to screen',\n fullScreen: 'Full screen',\n spin: 'Spin',\n download: 'Download',\n viewOriginal: 'View original',\n copyLink: 'Copy link',\n exitPreview: 'Exit preview',\n exitFullScreen: 'Exit full screen',\n copySuccess: 'Copied successfully',\n copyError: 'Copy failed',\n prev: 'Previous',\n next: 'Next'\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 layout: {\n expand: '展開',\n collapse: '折りたたみ'\n },\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 image: {\n zoomOut: '縮小',\n zoomIn: '拡大',\n originalSize: '元のサイズ',\n fitToScreen: '画面に合わせる',\n fullScreen: '全画面表示',\n spin: '回転',\n download: 'ダウンロード',\n viewOriginal: '元の画像を表示',\n copyLink: 'リンクをコピー',\n exitPreview: 'プレビューを終了',\n exitFullScreen: '全画面表示を終了',\n copySuccess: '画像のURLをコピーしました',\n copyError: '画像のURLをコピーできませんでした',\n prev: '前の画像',\n next: '次の画像'\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.deDe,\n layout: {\n expand: 'Aufklappen',\n collapse: 'Zuklappen'\n },\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: 'Noch keine Daten'\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 wählen',\n empty: 'Noch keine Daten'\n },\n treeSelect: {\n placeholder: 'Bitte wählen',\n empty: 'Noch keine Daten'\n },\n cascader: {\n placeholder: 'Bitte wählen',\n empty: 'Noch keine Daten'\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 image: {\n zoomOut: 'Verkleinern',\n zoomIn: 'Vergrößern',\n originalSize: 'Originalgröße',\n fitToScreen: 'An den Bildschirm anpassen',\n fullScreen: 'Vollbild anzeigen',\n spin: 'Drehen',\n download: 'Herunterladen',\n viewOriginal: 'Original anzeigen',\n copyLink: 'Link kopieren',\n exitPreview: 'Vorschau beenden',\n exitFullScreen: 'Vollbildmodus beenden',\n copySuccess: 'Link erfolgreich kopiert',\n copyError: 'Link kopieren fehlgeschlagen',\n prev: 'Vorherige',\n next: 'Nächste'\n }\n};\n","import { inject, Injectable, signal, Signal, WritableSignal } from '@angular/core';\nimport { THY_I18N_LOCALE_ID, THY_I18N_ZH_HANS, THY_I18N_ZH_HANT, THY_I18N_EN_US, THY_I18N_JA_JP, THY_I18N_DE_DE } from './i18n.token';\nimport { ThyLocaleType, ThyI18nLocale } from './i18n';\nimport { normalizeLocale, getDefaultLocaleId } from './util';\nimport { zhHansLocale, zhHantLocale, enUsLocale, jaJpLocale, deDeLocale } from './locales';\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 })) || getDefaultLocaleId();\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] || ({} as ThyI18nLocale));\n }\n\n /**\n * 获取当前语言\n */\n getLocale(): Signal<ThyI18nLocale> {\n return this.locale;\n }\n}\n","import { computed, inject, Signal } from '@angular/core';\nimport { ThyModuleLocaleType, ThyModuleType, ThyI18nLocale } from './i18n';\nimport { ThyI18nService } from './i18n.service';\n\nexport function injectLocale(): Signal<ThyI18nLocale>;\n\nexport function injectLocale<K extends ThyModuleType>(key: K): Signal<ThyModuleLocaleType<K>>;\n\nexport function injectLocale<K extends ThyModuleType>(key?: K): Signal<ThyI18nLocale | ThyModuleLocaleType<K>> {\n const i18n = inject(ThyI18nService);\n const allLocale = i18n.getLocale();\n\n return computed(() => {\n if (key) {\n return allLocale()[key] ?? allLocale();\n }\n return allLocale();\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;IAwBY;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,SAAkB;AAClB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,SAAkB;AAClB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,OAAc;AACd,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,OAAc;AACd,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,OAAc;AAClB,CAAC,EANW,aAAa,KAAb,aAAa,GAMxB,EAAA,CAAA,CAAA;;AC3BD;MACa,kBAAkB,GAAG,IAAI,cAAc,CAAgB,oBAAoB;AAExF;MACa,gBAAgB,GAAG,IAAI,cAAc,CAAgB,kBAAkB;MACvE,gBAAgB,GAAG,IAAI,cAAc,CAAgB,kBAAkB;MACvE,cAAc,GAAG,IAAI,cAAc,CAAgB,gBAAgB;MACnE,cAAc,GAAG,IAAI,cAAc,CAAgB,gBAAgB;MACnE,cAAc,GAAG,IAAI,cAAc,CAAgB,gBAAgB;;ACT1E,SAAU,eAAe,CAAC,QAAgB,EAAA;IAC5C,OAAO,QAAQ,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAkB;AACtE;SAEgB,kBAAkB,GAAA;AAC9B,IAAA,IAAI,eAAe,GAAG,aAAa,CAAC,MAAM;IAC1C,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;IAC3H,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC9D,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAmB;;AAEhF,IAAA,OAAO,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAkB,CAAC,GAAG,eAAe,GAAG,aAAa,CAAC,MAAM;AAC1H;;ACXA,mBAAe;IACX,EAAE,EAAE,aAAa,CAAC,MAAM;AACxB,IAAA,MAAM,EAAE;AACJ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,UAAU,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,MAAM;QACrB,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,UAAU;AACxB,QAAA,UAAU,EAAE,aAAa;AAEzB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,UAAU,EAAE,GAAG;AAEf,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,SAAS,EAAE,KAAK;AAEhB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,IAAI;AAEjB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,MAAM,EAAE,KAAK;AAEb,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,OAAO,EAAE,MAAM;AAEf,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,WAAW,EAAE,MAAM;AAEnB,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,EAAE,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,eAAe,EAAE;AACpB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,YAAY,EAAE,mBAAmB;AACjC,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,eAAe,EAAE,WAAW;AAC5B,QAAA,WAAW,EAAE,OAAO;AACpB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,UAAU,EAAE,WAAW;AACvB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE;AAChB,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,GAAG,EAAE,YAAY;AACjB,QAAA,GAAG,EAAE,iBAAiB;AACtB,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE;AACf,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,IAAI,EAAE;AACT;CACJ;;AC3JD,mBAAe;IACX,EAAE,EAAE,aAAa,CAAC,MAAM;AACxB,IAAA,MAAM,EAAE;AACJ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,UAAU,EAAE,aAAa;AAEzB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,UAAU,EAAE,GAAG;AAEf,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,SAAS,EAAE,KAAK;AAEhB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,IAAI;AAEjB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,MAAM,EAAE,IAAI;AAEZ,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,OAAO,EAAE,MAAM;AAEf,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,WAAW,EAAE,MAAM;AAEnB,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,EAAE,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,eAAe,EAAE;AACpB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,YAAY,EAAE,mBAAmB;AACjC,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,eAAe,EAAE,UAAU;AAC3B,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,UAAU,EAAE,WAAW;AACvB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE;AAChB,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,GAAG,EAAE,YAAY;AACjB,QAAA,GAAG,EAAE,iBAAiB;AACtB,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE;AACf,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,IAAI,EAAE;AACT;CACJ;;AC3JD,iBAAe;IACX,EAAE,EAAE,aAAa,CAAC,IAAI;AACtB,IAAA,MAAM,EAAE;AACJ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,UAAU,EAAE;QACR,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,YAAY;AAExB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,UAAU,EAAE,EAAE;AAEd,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,aAAa,EAAE,gBAAgB;AAC/B,QAAA,SAAS,EAAE,YAAY;AAEvB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,YAAY,EAAE,YAAY;AAC1B,QAAA,WAAW,EAAE,WAAW;AAExB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,MAAM,EAAE,QAAQ;AAEhB,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,OAAO,EAAE,UAAU;AAEnB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,WAAW,EAAE,aAAa;AAE1B,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,WAAW,EAAE,WAAW;AACxB,QAAA,YAAY,EAAE;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,aAAa;AAC1B,QAAA,GAAG,EAAE,KAAK;AACV,QAAA,EAAE,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,SAAS;AAC7B,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,YAAY,EAAE,6BAA6B;AAC3C,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,eAAe,EAAE,4BAA4B;AAC7C,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,WAAW,EAAE;AAChB,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,QAAQ,EAAE,yBAAyB;AACnC,QAAA,SAAS,EAAE,4CAA4C;AACvD,QAAA,SAAS,EAAE,+CAA+C;AAC1D,QAAA,WAAW,EAAE,wCAAwC;AACrD,QAAA,KAAK,EAAE,sBAAsB;AAC7B,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,GAAG,EAAE,oBAAoB;AACzB,QAAA,GAAG,EAAE,oCAAoC;AACzC,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE;AACf,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,IAAI,EAAE;AACT;CACJ;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;;ACjLH,iBAAe;IACX,EAAE,EAAE,aAAa,CAAC,IAAI;AACtB,IAAA,MAAM,EAAE;AACJ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,UAAU,EAAE,aAAa;AAEzB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,UAAU,EAAE,GAAG;AAEf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,SAAS,EAAE,IAAI;AAEf,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,IAAI;AAEjB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,MAAM,EAAE,MAAM;AAEd,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,WAAW,EAAE,OAAO;AAEpB,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,OAAO;AACpB,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,EAAE,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,eAAe,EAAE;AACpB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,YAAY,EAAE,oBAAoB;AAClC,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,eAAe,EAAE,eAAe;AAChC,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,UAAU,EAAE,YAAY;AACxB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,WAAW,EAAE;AAChB,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,SAAS,EAAE,oCAAoC;AAC/C,QAAA,SAAS,EAAE,mCAAmC;AAC9C,QAAA,WAAW,EAAE,wBAAwB;AACrC,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,MAAM,EAAE,gBAAgB;AACxB,QAAA,GAAG,EAAE,gBAAgB;AACrB,QAAA,GAAG,EAAE,2BAA2B;AAChC,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE;AACf,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,IAAI,EAAE;AACT;CACJ;;AC3JD,iBAAe;IACX,EAAE,EAAE,aAAa,CAAC,IAAI;AACtB,IAAA,MAAM,EAAE;AACJ,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;AACpB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,UAAU,EAAE,YAAY;AAExB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,UAAU,EAAE,OAAO;AAEnB,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,aAAa,EAAE,eAAe;AAC9B,QAAA,SAAS,EAAE,gBAAgB;AAE3B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,aAAa,EAAE,eAAe;AAC9B,QAAA,cAAc,EAAE,gBAAgB;AAChC,QAAA,YAAY,EAAE,cAAc;AAC5B,QAAA,WAAW,EAAE,aAAa;AAE1B,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,MAAM,EAAE,mBAAmB;AAE3B,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,OAAO,EAAE,UAAU;AAEnB,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,WAAW,EAAE,iBAAiB;AAE9B,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,MAAM,EAAE,mBAAmB;AAC3B,QAAA,WAAW,EAAE,aAAa;AAC1B,QAAA,YAAY,EAAE;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,GAAG,EAAE,OAAO;AACZ,QAAA,EAAE,EAAE;AACP,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,eAAe,EAAE;AACpB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,uBAAuB;AACjC,QAAA,YAAY,EAAE,oCAAoC;AAClD,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,eAAe,EAAE,oBAAoB;AACrC,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE;AACT,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,EAAE,EAAE,YAAY;AAChB,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,WAAW,EAAE;AAChB,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,QAAQ,EAAE,kCAAkC;AAC5C,QAAA,SAAS,EAAE,uDAAuD;AAClE,QAAA,SAAS,EAAE,wDAAwD;AACnE,QAAA,WAAW,EAAE,+DAA+D;AAC5E,QAAA,KAAK,EAAE,4CAA4C;AACnD,QAAA,OAAO,EAAE,oCAAoC;AAC7C,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,MAAM,EAAE,qCAAqC;AAC7C,QAAA,GAAG,EAAE,iCAAiC;AACtC,QAAA,GAAG,EAAE,qDAAqD;AAC1D,QAAA,GAAG,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE;AACf,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,UAAU,EAAE,mBAAmB;AAC/B,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,YAAY,EAAE,mBAAmB;AACjC,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,cAAc,EAAE,uBAAuB;AACvC,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,SAAS,EAAE,8BAA8B;AACzC,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,IAAI,EAAE;AACT;CACJ;;MCpJY,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,OAAO,GAA8C;AACzD,YAAA,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,YAAY;AACpF,YAAA,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,YAAY;AACpF,YAAA,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,UAAU;AAC9E,YAAA,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,UAAU;AAC9E,YAAA,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI;SACvE;AAEO,QAAA,IAAA,CAAA,eAAe,GAAkB,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,kBAAkB,EAAE;AAExH,QAAA,IAAA,CAAA,MAAM,GAAkC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAsB7F;AApBG;;;AAGG;AACH,IAAA,SAAS,CAAC,EAAU,EAAA;AAChB,QAAA,IAAI,QAAQ,GAAkB,eAAe,CAAC,EAAE,CAAC;AAEjD,QAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,aAAa,CAAC,MAAM,IAAI,QAAQ,KAAK,aAAa,CAAC,MAAM,EAAE;AACnG,YAAA,QAAQ,GAAG,aAAa,CAAC,MAAM;;QAGnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAK,EAAoB,CAAC;;AAG1G;;AAEG;IACH,SAAS,GAAA;QACL,OAAO,IAAI,CAAC,MAAM;;8GA/Bb,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFX,MAAM,EAAA,CAAA,CAAA;;2FAET,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACAK,SAAU,YAAY,CAA0B,GAAO,EAAA;AACzD,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;AACnC,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;IAElC,OAAO,QAAQ,CAAC,MAAK;QACjB,IAAI,GAAG,EAAE;YACL,OAAO,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE;;QAE1C,OAAO,SAAS,EAAE;AACtB,KAAC,CAAC;AACN;;AClBA;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-tethys-i18n.mjs","sources":["../../../src/i18n/i18n.ts","../../../src/i18n/i18n.token.ts","../../../src/i18n/util.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/i18n.service.ts","../../../src/i18n/locale.ts","../../../src/i18n/ngx-tethys-i18n.ts"],"sourcesContent":["export type ThyModuleType =\n | 'datePicker'\n | 'layout'\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 | 'image'\n | 'shared';\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 layout: ThyLayoutLocale;\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 image: ThyImageLocale;\n shared: ThySharedLocale;\n}\n\nexport interface ThyLayoutLocale {\n collapse: string;\n expand: string;\n}\n\nexport interface ThyDatePickerLocale {\n yearFormat: string;\n monthFormat: string;\n weekFormat: string;\n fullWeekFormat: string;\n weekThFormat: string;\n dateFormat: string;\n\n yearQuarterFormat: string;\n yearMonthFormat: 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 order: 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\nexport interface ThyImageLocale {\n zoomOut: string;\n zoomIn: string;\n originalSize: string;\n fitToScreen: string;\n fullScreen: string;\n spin: string;\n download: string;\n viewOriginal: string;\n copyLink: string;\n exitPreview: string;\n exitFullScreen: string;\n copySuccess: string;\n copyError: string;\n prev: string;\n next: string;\n}\n\nexport interface ThySharedLocale {\n comma: string;\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 { ThyLocaleType } from './i18n';\n\nexport function normalizeLocale(localeId: string): ThyLocaleType {\n return localeId?.toLowerCase().replace(/_/g, '-') as ThyLocaleType;\n}\n\nexport function getDefaultLocaleId(): ThyLocaleType {\n let defaultLocaleId = ThyLocaleType.zhHans;\n const allLocales = [ThyLocaleType.zhHans, ThyLocaleType.zhHant, ThyLocaleType.enUs, ThyLocaleType.jaJp, ThyLocaleType.deDe];\n if (typeof window !== 'undefined' && window?.navigator?.language) {\n defaultLocaleId = window.navigator?.language?.toLowerCase() as ThyLocaleType;\n }\n return allLocales.includes(normalizeLocale(defaultLocaleId) as ThyLocaleType) ? defaultLocaleId : ThyLocaleType.zhHans;\n}\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.zhHans,\n layout: {\n expand: '展开',\n collapse: '收起'\n },\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 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 yearQuarterFormat: \"yyyy年 'Q'q\",\n yearMonthFormat: 'yyyy年 MM月',\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 image: {\n zoomOut: '缩小',\n zoomIn: '放大',\n originalSize: '原始比例',\n fitToScreen: '适应屏幕',\n fullScreen: '全屏显示',\n spin: '旋转',\n download: '下载',\n viewOriginal: '查看原图',\n copyLink: '复制链接',\n exitPreview: '退出预览',\n exitFullScreen: '退出全屏',\n copySuccess: '复制图片地址成功',\n copyError: '复制图片地址失败',\n prev: '上一张',\n next: '下一张'\n },\n shared: {\n comma: ','\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.zhHant,\n layout: {\n expand: '展開',\n collapse: '收起'\n },\n datePicker: {\n yearFormat: 'yyyy年',\n monthFormat: 'MMM',\n weekFormat: 'EEEEE',\n fullWeekFormat: 'EE',\n weekThFormat: 'yyyy-ww週',\n dateFormat: 'yyyy年MM月dd日',\n\n yearQuarterFormat: \"yyyy年 'Q'q\",\n yearMonthFormat: 'yyyy年 MM月',\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 image: {\n zoomOut: '縮小',\n zoomIn: '放大',\n originalSize: '原始比例',\n fitToScreen: '適應屏幕',\n fullScreen: '全屏顯示',\n spin: '旋轉',\n download: '下載',\n viewOriginal: '查看原圖',\n copyLink: '複製連結',\n exitPreview: '退出預覽',\n exitFullScreen: '退出全屏',\n copySuccess: '複製圖片地址成功',\n copyError: '複製圖片地址失敗',\n prev: '上一張',\n next: '下一張'\n },\n shared: {\n comma: ','\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.enUs,\n layout: {\n expand: 'Expand',\n collapse: 'Collapse'\n },\n datePicker: {\n yearFormat: 'yyyy', // eg. 2025\n monthFormat: '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 yearQuarterFormat: \"yyyy-'Q'q\",\n yearMonthFormat: 'yyyy-MM',\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: '7 days',\n lastThirtyDays: '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 available'\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: 'Copy succeeded',\n error: 'Copy failed'\n },\n nav: {\n more: 'More'\n },\n dialog: {\n title: 'Confirm',\n ok: 'Ok',\n cancel: 'Cancel'\n },\n select: {\n placeholder: 'Select',\n empty: 'No data available'\n },\n treeSelect: {\n placeholder: 'Select',\n empty: 'No data available'\n },\n cascader: {\n placeholder: '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 available'\n },\n image: {\n zoomOut: 'Zoom out',\n zoomIn: 'Zoom in',\n originalSize: 'Original size',\n fitToScreen: 'Fit to screen',\n fullScreen: 'Full screen',\n spin: 'Spin',\n download: 'Download',\n viewOriginal: 'View original',\n copyLink: 'Copy link',\n exitPreview: 'Exit preview',\n exitFullScreen: 'Exit full screen',\n copySuccess: 'Copied successfully',\n copyError: 'Copy failed',\n prev: 'Previous',\n next: 'Next'\n },\n shared: {\n comma: ','\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 layout: {\n expand: '展開',\n collapse: '折りたたみ'\n },\n datePicker: {\n yearFormat: 'yyyy年',\n monthFormat: 'MMM',\n weekFormat: 'EEEEE',\n fullWeekFormat: 'EE',\n weekThFormat: 'yyyy-ww週',\n dateFormat: 'yyyy年MM月dd日',\n\n yearQuarterFormat: \"yyyy-'Q'q\",\n yearMonthFormat: 'yyyy-MM',\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 image: {\n zoomOut: '縮小',\n zoomIn: '拡大',\n originalSize: '元のサイズ',\n fitToScreen: '画面に合わせる',\n fullScreen: '全画面表示',\n spin: '回転',\n download: 'ダウンロード',\n viewOriginal: '元の画像を表示',\n copyLink: 'リンクをコピー',\n exitPreview: 'プレビューを終了',\n exitFullScreen: '全画面表示を終了',\n copySuccess: '画像のURLをコピーしました',\n copyError: '画像のURLをコピーできませんでした',\n prev: '前の画像',\n next: '次の画像'\n },\n shared: {\n comma: ','\n }\n};\n","import { ThyLocaleType } from '../i18n';\n\nexport default {\n id: ThyLocaleType.deDe,\n layout: {\n expand: 'Aufklappen',\n collapse: 'Zuklappen'\n },\n datePicker: {\n yearFormat: 'yyyy',\n monthFormat: 'MMM', // MMM:月份缩写。 MMMM:月份全称。\n weekFormat: 'EE',\n fullWeekFormat: 'EE',\n weekThFormat: 'yyyy-ww',\n dateFormat: 'yyyy-MM-dd',\n\n yearQuarterFormat: \"yyyy-'Q'q\",\n yearMonthFormat: 'yyyy-MM',\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: 'Noch keine Daten'\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 wählen',\n empty: 'Noch keine Daten'\n },\n treeSelect: {\n placeholder: 'Bitte wählen',\n empty: 'Noch keine Daten'\n },\n cascader: {\n placeholder: 'Bitte wählen',\n empty: 'Noch keine Daten'\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 image: {\n zoomOut: 'Verkleinern',\n zoomIn: 'Vergrößern',\n originalSize: 'Originalgröße',\n fitToScreen: 'An den Bildschirm anpassen',\n fullScreen: 'Vollbild anzeigen',\n spin: 'Drehen',\n download: 'Herunterladen',\n viewOriginal: 'Original anzeigen',\n copyLink: 'Link kopieren',\n exitPreview: 'Vorschau beenden',\n exitFullScreen: 'Vollbildmodus beenden',\n copySuccess: 'Link erfolgreich kopiert',\n copyError: 'Link kopieren fehlgeschlagen',\n prev: 'Vorherige',\n next: 'Nächste'\n },\n shared: {\n comma: ','\n }\n};\n","import { inject, Injectable, signal, Signal, WritableSignal } from '@angular/core';\nimport { THY_I18N_LOCALE_ID, THY_I18N_ZH_HANS, THY_I18N_ZH_HANT, THY_I18N_EN_US, THY_I18N_JA_JP, THY_I18N_DE_DE } from './i18n.token';\nimport { ThyLocaleType, ThyI18nLocale } from './i18n';\nimport { normalizeLocale, getDefaultLocaleId } from './util';\nimport { zhHansLocale, zhHantLocale, enUsLocale, jaJpLocale, deDeLocale } from './locales';\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 })) || getDefaultLocaleId();\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] || ({} as ThyI18nLocale));\n }\n\n /**\n * 获取当前语言\n */\n getLocale(): Signal<ThyI18nLocale> {\n return this.locale;\n }\n}\n","import { computed, inject, Signal } from '@angular/core';\nimport { ThyModuleLocaleType, ThyModuleType, ThyI18nLocale } from './i18n';\nimport { ThyI18nService } from './i18n.service';\n\nexport function injectLocale(): Signal<ThyI18nLocale>;\n\nexport function injectLocale<K extends ThyModuleType>(key: K): Signal<ThyModuleLocaleType<K>>;\n\nexport function injectLocale<K extends ThyModuleType>(key?: K): Signal<ThyI18nLocale | ThyModuleLocaleType<K>> {\n const i18n = inject(ThyI18nService);\n const allLocale = i18n.getLocale();\n\n return computed(() => {\n if (key) {\n return allLocale()[key] ?? allLocale();\n }\n return allLocale();\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, SecurityContext, Injectable, Renderer2, ElementRef, numberAttribute, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { inject, SecurityContext, Injectable, Renderer2, ElementRef, input, numberAttribute, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { DOCUMENT, CommonModule } from '@angular/common';
5
5
  import { finalize, share, map, tap, catchError, take } from 'rxjs/operators';
@@ -363,34 +363,37 @@ class ThyIcon {
363
363
  this.render = inject(Renderer2);
364
364
  this.elementRef = inject(ElementRef);
365
365
  this.iconRegistry = inject(ThyIconRegistry);
366
- this.initialized = false;
367
366
  /**
368
367
  * 图标的类型
369
368
  * @type outline | fill | twotone
370
369
  */
371
- this.iconType = 'outline';
370
+ this.thyIconType = input('outline');
371
+ this.thyTwotoneColor = input();
372
+ /**
373
+ * 图标的名字
374
+ */
375
+ this.thyIconName = input.required();
376
+ /**
377
+ * 图标的旋转角度
378
+ * @default 0
379
+ */
380
+ this.thyIconRotate = input(undefined, { transform: numberAttribute });
381
+ this.thyIconSet = input();
382
+ /**
383
+ * 图标打底色,镂空的图标,会透过颜色来
384
+ */
385
+ this.thyIconLegging = input(false, { transform: coerceBooleanProperty });
386
+ this.thyIconLinearGradient = input(false, { transform: coerceBooleanProperty });
372
387
  this.hostRenderer = useHostRenderer();
373
- }
374
- ngOnInit() {
375
- this.updateClasses();
376
- this.initialized = true;
377
- }
378
- ngOnChanges(changes) {
379
- if (this.initialized) {
380
- if (changes['iconName'] ||
381
- changes['iconSet'] ||
382
- changes['iconTwotoneColor'] ||
383
- changes['iconType'] ||
384
- changes['iconLinearGradient']) {
385
- this.updateClasses();
386
- }
387
- else if (changes['iconRotate']) {
388
- this.setStyleRotate();
389
- }
390
- }
388
+ effect(() => {
389
+ this.updateClasses();
390
+ });
391
+ effect(() => {
392
+ this.setStyleRotate();
393
+ });
391
394
  }
392
395
  updateClasses() {
393
- const [namespace, iconName] = this.iconRegistry.splitIconName(this.iconName);
396
+ const [namespace, iconName] = this.iconRegistry.splitIconName(this.thyIconName());
394
397
  if (iconName) {
395
398
  if (this.iconRegistry.iconMode === 'svg') {
396
399
  this.iconRegistry
@@ -406,16 +409,21 @@ class ThyIcon {
406
409
  this.hostRenderer.updateClass([`thy-icon${namespace ? `-${namespace}` : ``}-${this.buildIconNameByType(iconName)}`]);
407
410
  }
408
411
  else {
409
- const fontSetClass = this.iconSet
410
- ? this.iconRegistry.getFontSetClassByAlias(this.iconSet)
412
+ const fontSetClass = this.thyIconSet()
413
+ ? this.iconRegistry.getFontSetClassByAlias(this.thyIconSet())
411
414
  : this.iconRegistry.getDefaultFontSetClass();
412
- this.hostRenderer.updateClass([fontSetClass, `${fontSetClass}-${this.iconName}`]);
415
+ this.hostRenderer.updateClass([fontSetClass, `${fontSetClass}-${this.thyIconName()}`]);
413
416
  }
414
417
  }
415
418
  }
416
419
  setStyleRotate() {
417
- if (this.iconRotate !== undefined) {
418
- this.render.setStyle(this.elementRef.nativeElement.querySelector('svg'), 'transform', `rotate(${this.iconRotate}deg)`);
420
+ if (this.thyIconRotate() !== undefined) {
421
+ // 基于 effect 无法保证在 setSvgElement 之前执行,所以这里增加判断
422
+ const svg = this.elementRef.nativeElement.querySelector('svg');
423
+ if (!svg) {
424
+ return;
425
+ }
426
+ this.render.setStyle(svg, 'transform', `rotate(${this.thyIconRotate()}deg)`);
419
427
  }
420
428
  }
421
429
  //#region svg element
@@ -428,12 +436,12 @@ class ThyIcon {
428
436
  for (let i = 0; i < styleTags.length; i++) {
429
437
  styleTags[i].textContent += ' ';
430
438
  }
431
- if (this.iconType === 'twotone') {
439
+ if (this.thyIconType() === 'twotone') {
432
440
  const allPaths = svg.querySelectorAll('path');
433
441
  if (allPaths.length > 1) {
434
442
  allPaths.forEach((child, index) => {
435
443
  if (child.getAttribute('id').includes('secondary-color')) {
436
- child.setAttribute('fill', this.iconTwotoneColor);
444
+ child.setAttribute('fill', this.thyTwotoneColor());
437
445
  }
438
446
  });
439
447
  }
@@ -446,7 +454,7 @@ class ThyIcon {
446
454
  // this._cacheChildrenWithExternalReferences(svg);
447
455
  // this._prependPathToReferences(path);
448
456
  // }
449
- if (this.iconLinearGradient) {
457
+ if (this.thyIconLinearGradient()) {
450
458
  this.setBaseUrl(svg);
451
459
  this.clearTitleElement(svg);
452
460
  }
@@ -472,8 +480,8 @@ class ThyIcon {
472
480
  }
473
481
  //#endregion
474
482
  buildIconNameByType(iconName) {
475
- if (this.iconType && ['fill', 'twotone'].indexOf(this.iconType) >= 0) {
476
- const suffix = iconSuffixMap[this.iconType];
483
+ if (this.thyIconType() && ['fill', 'twotone'].indexOf(this.thyIconType()) >= 0) {
484
+ const suffix = iconSuffixMap[this.thyIconType()];
477
485
  return iconName.includes(`-${suffix}`) ? iconName : `${iconName}-${suffix}`;
478
486
  }
479
487
  else {
@@ -500,7 +508,7 @@ class ThyIcon {
500
508
  titleElement && titleElement.remove();
501
509
  }
502
510
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.8", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate", numberAttribute], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging", coerceBooleanProperty], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient", coerceBooleanProperty] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.8", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { thyIconType: { classPropertyName: "thyIconType", publicName: "thyIconType", isSignal: true, isRequired: false, transformFunction: null }, thyTwotoneColor: { classPropertyName: "thyTwotoneColor", publicName: "thyTwotoneColor", isSignal: true, isRequired: false, transformFunction: null }, thyIconName: { classPropertyName: "thyIconName", publicName: "thyIconName", isSignal: true, isRequired: true, transformFunction: null }, thyIconRotate: { classPropertyName: "thyIconRotate", publicName: "thyIconRotate", isSignal: true, isRequired: false, transformFunction: null }, thyIconSet: { classPropertyName: "thyIconSet", publicName: "thyIconSet", isSignal: true, isRequired: false, transformFunction: null }, thyIconLegging: { classPropertyName: "thyIconLegging", publicName: "thyIconLegging", isSignal: true, isRequired: false, transformFunction: null }, thyIconLinearGradient: { classPropertyName: "thyIconLinearGradient", publicName: "thyIconLinearGradient", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-icon-legging": "thyIconLegging()" }, classAttribute: "thy-icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
504
512
  }
505
513
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIcon, decorators: [{
506
514
  type: Component,
@@ -510,34 +518,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
510
518
  changeDetection: ChangeDetectionStrategy.OnPush,
511
519
  encapsulation: ViewEncapsulation.None,
512
520
  host: {
513
- class: 'thy-icon'
521
+ class: 'thy-icon',
522
+ '[class.thy-icon-legging]': 'thyIconLegging()'
514
523
  }
515
524
  }]
516
- }], propDecorators: { iconType: [{
517
- type: Input,
518
- args: ['thyIconType']
519
- }], iconTwotoneColor: [{
520
- type: Input,
521
- args: ['thyTwotoneColor']
522
- }], iconName: [{
523
- type: Input,
524
- args: ['thyIconName']
525
- }], iconRotate: [{
526
- type: Input,
527
- args: [{ alias: 'thyIconRotate', transform: numberAttribute }]
528
- }], iconSet: [{
529
- type: Input,
530
- args: ['thyIconSet']
531
- }], iconLegging: [{
532
- type: HostBinding,
533
- args: [`class.thy-icon-legging`]
534
- }, {
535
- type: Input,
536
- args: [{ alias: 'thyIconLegging', transform: coerceBooleanProperty }]
537
- }], iconLinearGradient: [{
538
- type: Input,
539
- args: [{ alias: 'thyIconLinearGradient', transform: coerceBooleanProperty }]
540
- }] } });
525
+ }], ctorParameters: () => [] });
541
526
 
542
527
  class ThyIconModule {
543
528
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }