@bootkit/ng0 0.0.0-alpha.4 → 0.0.0-alpha.41

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 (102) hide show
  1. package/README.md +2 -2
  2. package/common/index.d.ts +263 -7
  3. package/components/accordion/index.d.ts +13 -3
  4. package/components/backdrop/index.d.ts +12 -0
  5. package/components/dropdown/index.d.ts +156 -0
  6. package/components/form-field/index.d.ts +24 -41
  7. package/components/list/index.d.ts +260 -0
  8. package/components/modal/index.d.ts +21 -3
  9. package/components/nav/index.d.ts +23 -19
  10. package/components/offcanvas/index.d.ts +13 -5
  11. package/components/pagination/index.d.ts +34 -8
  12. package/components/select/index.d.ts +160 -0
  13. package/components/sidenav/index.d.ts +125 -0
  14. package/components/table/index.d.ts +191 -59
  15. package/components/tooltip/index.d.ts +20 -11
  16. package/components/vertical-menu/index.d.ts +57 -0
  17. package/data/index.d.ts +103 -38
  18. package/date/index.d.ts +34 -0
  19. package/fesm2022/bootkit-ng0-common.mjs +289 -12
  20. package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
  21. package/fesm2022/bootkit-ng0-components-accordion.mjs +34 -27
  22. package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -1
  23. package/fesm2022/bootkit-ng0-components-backdrop.mjs +46 -0
  24. package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -0
  25. package/fesm2022/bootkit-ng0-components-button.mjs +12 -12
  26. package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -1
  27. package/fesm2022/bootkit-ng0-components-card.mjs +13 -13
  28. package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -1
  29. package/fesm2022/bootkit-ng0-components-code.mjs +10 -10
  30. package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -1
  31. package/fesm2022/bootkit-ng0-components-collapse.mjs +16 -16
  32. package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
  33. package/fesm2022/bootkit-ng0-components-confirmation.mjs +14 -14
  34. package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -1
  35. package/fesm2022/bootkit-ng0-components-dropdown.mjs +308 -0
  36. package/fesm2022/bootkit-ng0-components-dropdown.mjs.map +1 -0
  37. package/fesm2022/bootkit-ng0-components-form-field.mjs +62 -84
  38. package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
  39. package/fesm2022/bootkit-ng0-components-list.mjs +564 -0
  40. package/fesm2022/bootkit-ng0-components-list.mjs.map +1 -0
  41. package/fesm2022/bootkit-ng0-components-modal.mjs +41 -24
  42. package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -1
  43. package/fesm2022/bootkit-ng0-components-nav.mjs +59 -60
  44. package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
  45. package/fesm2022/bootkit-ng0-components-offcanvas.mjs +20 -13
  46. package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -1
  47. package/fesm2022/bootkit-ng0-components-overlay.mjs.map +1 -1
  48. package/fesm2022/bootkit-ng0-components-pagination.mjs +59 -24
  49. package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
  50. package/fesm2022/bootkit-ng0-components-popover.mjs +12 -12
  51. package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -1
  52. package/fesm2022/bootkit-ng0-components-select.mjs +448 -0
  53. package/fesm2022/bootkit-ng0-components-select.mjs.map +1 -0
  54. package/fesm2022/bootkit-ng0-components-sidenav.mjs +290 -0
  55. package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -0
  56. package/fesm2022/bootkit-ng0-components-stepper.mjs +15 -15
  57. package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -1
  58. package/fesm2022/bootkit-ng0-components-table.mjs +303 -159
  59. package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -1
  60. package/fesm2022/bootkit-ng0-components-toast.mjs +7 -7
  61. package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
  62. package/fesm2022/bootkit-ng0-components-tooltip.mjs +41 -22
  63. package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -1
  64. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +148 -0
  65. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -0
  66. package/fesm2022/bootkit-ng0-data.mjs +152 -39
  67. package/fesm2022/bootkit-ng0-data.mjs.map +1 -1
  68. package/fesm2022/bootkit-ng0-date.mjs +50 -0
  69. package/fesm2022/bootkit-ng0-date.mjs.map +1 -0
  70. package/fesm2022/bootkit-ng0-file.mjs.map +1 -1
  71. package/fesm2022/bootkit-ng0-form.mjs +336 -264
  72. package/fesm2022/bootkit-ng0-form.mjs.map +1 -1
  73. package/fesm2022/bootkit-ng0-http.mjs +40 -5
  74. package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
  75. package/fesm2022/bootkit-ng0-layouts-layout1.mjs +317 -0
  76. package/fesm2022/bootkit-ng0-layouts-layout1.mjs.map +1 -0
  77. package/fesm2022/bootkit-ng0-localization-locales.mjs +101 -0
  78. package/fesm2022/bootkit-ng0-localization-locales.mjs.map +1 -0
  79. package/fesm2022/bootkit-ng0-localization.mjs +431 -105
  80. package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
  81. package/fesm2022/bootkit-ng0-platform-browser.mjs +179 -0
  82. package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -0
  83. package/fesm2022/bootkit-ng0-routing.mjs +80 -0
  84. package/fesm2022/bootkit-ng0-routing.mjs.map +1 -0
  85. package/fesm2022/bootkit-ng0-script.mjs +3 -3
  86. package/fesm2022/bootkit-ng0-script.mjs.map +1 -1
  87. package/fesm2022/bootkit-ng0-security.mjs +16 -16
  88. package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
  89. package/fesm2022/bootkit-ng0-utils.mjs +75 -0
  90. package/fesm2022/bootkit-ng0-utils.mjs.map +1 -0
  91. package/fesm2022/bootkit-ng0.mjs +2 -2
  92. package/fesm2022/bootkit-ng0.mjs.map +1 -1
  93. package/form/index.d.ts +94 -62
  94. package/http/index.d.ts +35 -4
  95. package/index.d.ts +2 -2
  96. package/layouts/layout1/index.d.ts +201 -0
  97. package/localization/index.d.ts +231 -42
  98. package/localization/locales/index.d.ts +7 -0
  99. package/package.json +63 -15
  100. package/platform/browser/index.d.ts +88 -0
  101. package/routing/index.d.ts +124 -0
  102. package/utils/index.d.ts +42 -0
@@ -1,7 +1,86 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, PipeTransform } from '@angular/core';
2
+ import { EnvironmentInjector, InjectionToken, PipeTransform } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
- import * as i1 from '@angular/common';
4
+
5
+ /**
6
+ * Object formatter function type.
7
+ * @param obj The object to format.
8
+ * @param params Additional parameters for formatting.
9
+ * @returns The formatted value.
10
+ */
11
+ type ObjectFormatter = (obj: any, ...params: any[]) => any;
12
+ /**
13
+ * Object formatter-like types.
14
+ */
15
+ type ObjectFormatterLike = ObjectFormatter | string | number | Array<any>;
16
+ /**
17
+ * Default object formatter function.
18
+ * @param value The item to format.
19
+ * @returns The formatted string.
20
+ */
21
+ declare function defaultFormatter(obj: any): string;
22
+ /**
23
+ * Creates a field formatter that retrieves the value of a specified field from an object.
24
+ * @param field The field name to retrieve.
25
+ * @returns An ObjectFormatter function.
26
+ */
27
+ declare function createFieldFormatter(field: string): ObjectFormatter;
28
+ /**
29
+ * Creates an index formatter that retrieves the value at a specified index from an array.
30
+ * @param index The index to retrieve (number or boolean).
31
+ * @returns An ObjectFormatter function.
32
+ */
33
+ declare function createIndexFormatter(index: number | boolean): ObjectFormatter;
34
+ /**
35
+ * Creates a number formatter.
36
+ * @param minimumIntegerDigits
37
+ * @param minimumFractionDigits
38
+ * @param maximumFractionDigits
39
+ * @param useGrouping
40
+ * @returns An ObjectFormatter function.
41
+ */
42
+ declare function createNumberFormatter(minimumIntegerDigits?: number, minimumFractionDigits?: number, maximumFractionDigits?: number, useGrouping?: boolean): ObjectFormatter;
43
+ /**
44
+ * Creates a currency formatter.
45
+ * @param minFractions
46
+ * @param maxFractions
47
+ * @returns
48
+ */
49
+ declare function createCurrencyFormatter(minFractions?: number, maxFractions?: number): ObjectFormatter;
50
+ /**
51
+ * Creates a date formatter.
52
+ */
53
+ declare function createDateFormatter(dateStyle?: 'short' | 'medium' | 'long' | 'full', timeStyle?: 'short' | 'medium' | 'long' | 'full', zone?: string[], // zone[0]: name, zone[1]: display ('long' | 'short' | 'shortOffset' | 'longOffset' | 'narrowOffset' | 'longGeneric' | 'shortGeneric')
54
+ calendar?: string): ObjectFormatter;
55
+ declare function createDateFormatter(options?: Intl.DateTimeFormatOptions): ObjectFormatter;
56
+ /**
57
+ * Creates a locale-based formatter.
58
+ * @param locale The Locale object.
59
+ * @param formatterName The format string in the form of "formatterName:param1:param2:..."
60
+ * @returns A ValueFormatterFunction
61
+ * @private
62
+ */
63
+ declare function createLocaleFormatter(formatterName: string): ObjectFormatter;
64
+ /**
65
+ * Creates a composite formatter that applies multiple formatters in sequence.
66
+ * @param formatters The list of ObjectFormatterLike values to compose.
67
+ * @returns An ObjectFormatter function.
68
+ */
69
+ declare function createCompositeFormatter(...formatters: ObjectFormatterLike[]): ObjectFormatter;
70
+ /**
71
+ * Creates an ObjectFormatter from various ObjectFormatterLike types.
72
+ * @param formatter The ObjectFormatterLike value to convert.
73
+ * @param locale Optional locale object for locale-based formatting.
74
+ * @param params Additional parameters for the formatter.
75
+ * @returns An ObjectFormatter function.
76
+ */
77
+ declare function createObjectFormatter(formatter: ObjectFormatterLike, ...params: any[]): ObjectFormatter;
78
+ /**
79
+ * Creates a transform function that converts a ObjectFormatterLike value into a ObjectFormatter.
80
+ * @param injector The EnvironmentInjector to use for dependency injection.
81
+ * @returns A function that takes a ObjectFormatterLike and returns a ObjectFormatter.
82
+ */
83
+ declare function objectFormatterAttribute(injector: EnvironmentInjector): ((v: ObjectFormatterLike) => ObjectFormatter);
5
84
 
6
85
  /** Locale dictionary */
7
86
  type LocaleDictionary = {
@@ -18,6 +97,28 @@ type LocaleValidationErrorTranslator = (error: any) => string;
18
97
  type LocaleValidationErrorTranslators = {
19
98
  [key: string]: LocaleValidationErrorTranslator;
20
99
  };
100
+ /**
101
+ * A function to format the paging info of a table.
102
+ *
103
+ */
104
+ type TableComponentPagingFormatter = (info: {
105
+ /**
106
+ * The first record in the current page.
107
+ */
108
+ firstRecord: number;
109
+ /**
110
+ * The last record in the current page.
111
+ */
112
+ lastRecord: number;
113
+ /**
114
+ * The total number of records.
115
+ */
116
+ totalRecords?: number;
117
+ /**
118
+ * The current page index.
119
+ */
120
+ currentPage: number;
121
+ }) => string;
21
122
  /**
22
123
  * Locale definition
23
124
  */
@@ -35,17 +136,36 @@ interface LocaleDefinition {
35
136
  errors?: LocaleValidationErrorTranslators;
36
137
  };
37
138
  };
38
- }
39
- type LocaleDefinitionExtend = {
40
- dictionary?: LocaleDictionary;
41
- enums?: LocaleEnums;
42
- form?: {
43
- validation?: {
44
- /** Form validation error translators. */
45
- errors?: LocaleValidationErrorTranslators;
139
+ data?: {
140
+ logicalOperators?: {
141
+ [operator: string]: string;
46
142
  };
47
143
  };
48
- };
144
+ components?: {
145
+ table?: {
146
+ /**
147
+ * No records found message.
148
+ */
149
+ noRecords?: string;
150
+ /**
151
+ * Error message displayed when loading data fails.
152
+ */
153
+ loadError?: string;
154
+ /**
155
+ * A format function to format the paging info.
156
+ */
157
+ pagingInfo?: TableComponentPagingFormatter;
158
+ };
159
+ select?: {
160
+ placeholder?: string;
161
+ };
162
+ };
163
+ formatters?: {
164
+ [formatterName: string]: ObjectFormatter | string[] | {
165
+ [value: string]: string;
166
+ };
167
+ };
168
+ }
49
169
 
50
170
  declare class LocalizationService {
51
171
  private _locales;
@@ -53,7 +173,9 @@ declare class LocalizationService {
53
173
  private _changeSubject;
54
174
  readonly change: rxjs.Observable<LocaleChangeEvent>;
55
175
  constructor();
56
- /** Adds a Locale */
176
+ /**
177
+ * Adds a Locale
178
+ */
57
179
  add(locale: Locale): void;
58
180
  /** Adds an array of Locales to this LocaleProvider */
59
181
  add(locales: Locale[]): void;
@@ -65,7 +187,7 @@ declare class LocalizationService {
65
187
  static ɵprov: i0.ɵɵInjectableDeclaration<LocalizationService>;
66
188
  }
67
189
 
68
- declare const LOCALE: InjectionToken<LocalizationService | Locale>;
190
+ declare const LOCALE: InjectionToken<Locale | LocalizationService>;
69
191
  interface TranslatedValidationError {
70
192
  /** Error key */
71
193
  key: string;
@@ -91,16 +213,18 @@ declare class Locale {
91
213
  /**
92
214
  * Translates a key in the dictionary
93
215
  * @param key The key to look up
94
- * @returns The translated string or the key itself if not found
216
+ * @param fallback Optional fallback value if the key is not found
217
+ * @returns The translated string or the fallbackValue if not found
95
218
  */
96
- translate(key: string): string;
219
+ translate(key: string, fallback?: string): string | undefined;
97
220
  /**
98
221
  * Translates an enum value
99
222
  * @param enumName The name of the enum
100
223
  * @param enumValue The value of the enum to translate
224
+ * @param fallback
101
225
  * @returns The translated string or the enum value itself if not found
102
226
  */
103
- translateEnum(enumName: string, enumValue: any): string | undefined;
227
+ translateEnum(enumName: string, enumValue: string | number | null | undefined, fallback?: string): string | undefined;
104
228
  /**
105
229
  * Translates a form validation error
106
230
  * @param errorKey The key of the error to translate
@@ -122,57 +246,122 @@ declare class Locale {
122
246
  /**
123
247
  * Clones and extends this object and returns a new Locale (without modifying this object).
124
248
  */
125
- extend(values?: LocaleDefinitionExtend): Locale;
249
+ extend(definition?: Omit<LocaleDefinition, 'name' | 'rtl'>): Locale;
126
250
  /**
127
251
  *
128
252
  * @param date Date string or timestamp
129
253
  * @returns Formatted date string based on the locale
130
254
  */
131
- formatDate(date: string | number, format: string): string;
255
+ formatDate(date: Date | string | number, format?: string): string;
256
+ format(object: any, formatterName: string, ...params: any[]): string;
132
257
  }
133
258
 
259
+ /**
260
+ * Pipe to translate a dictionary key into a localized string.
261
+ * It uses the LocalizationService to fetch the translation.
262
+ * If the translation is not found, it returns the fallback string if provided.
263
+ */
134
264
  declare class TranslatePipe implements PipeTransform {
135
- private _locale;
136
- private _recompute;
137
- private _value;
138
- constructor(localizationService: LocalizationService);
139
- transform(dictionaryKey: string, ...args: unknown[]): string;
265
+ private _ls;
266
+ constructor(_ls: LocalizationService);
267
+ transform(dictionaryKey: string, fallback?: string): string;
140
268
  static ɵfac: i0.ɵɵFactoryDeclaration<TranslatePipe, never>;
141
269
  static ɵpipe: i0.ɵɵPipeDeclaration<TranslatePipe, "ng0Translate", true>;
142
270
  }
143
271
 
144
- declare class EnumPipe implements PipeTransform {
145
- private _locale;
146
- private _recompute;
147
- private _value;
148
- constructor(localeProvider: LocalizationService);
149
- transform(enumValue?: string | null, ...args: string[]): string;
150
- static ɵfac: i0.ɵɵFactoryDeclaration<EnumPipe, never>;
151
- static ɵpipe: i0.ɵɵPipeDeclaration<EnumPipe, "ng0Enum", true>;
272
+ declare class TranslateEnumPipe implements PipeTransform {
273
+ private _ls;
274
+ constructor(_ls: LocalizationService);
275
+ /**
276
+ *
277
+ * @param enumValue
278
+ * @param enumName
279
+ * @param nullValueKey
280
+ * @param returnEnumAsFallback
281
+ * @param fallbackKey
282
+ * @returns
283
+ */
284
+ transform(enumValue: string | number | null | undefined, enumName: string, fallback?: string): any;
285
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslateEnumPipe, never>;
286
+ static ɵpipe: i0.ɵɵPipeDeclaration<TranslateEnumPipe, "ng0TranslateEnum", true>;
152
287
  }
153
288
 
154
- declare class BooleanPipe implements PipeTransform {
289
+ declare class TranslateBooleanPipe implements PipeTransform {
155
290
  private localeProvider;
156
291
  constructor(localeProvider: LocalizationService);
157
- transform(value: any, falseKey: string | undefined, trueKey: 'false'): string;
158
- static ɵfac: i0.ɵɵFactoryDeclaration<BooleanPipe, never>;
159
- static ɵpipe: i0.ɵɵPipeDeclaration<BooleanPipe, "ng0Bool", true>;
292
+ transform(value: any, falseKey?: string, trueKey?: string): any;
293
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslateBooleanPipe, never>;
294
+ static ɵpipe: i0.ɵɵPipeDeclaration<TranslateBooleanPipe, "ng0TranslateBool", true>;
160
295
  }
161
296
 
162
297
  declare class DatePipe implements PipeTransform {
163
- private _locale;
164
- private _value;
165
- constructor(localeProvider: LocalizationService);
166
- transform(value: number | string): string;
298
+ private _injector;
299
+ transform(value: Date | string | number, dateStyle?: 'short' | 'medium' | 'long' | 'full', timeStyle?: 'short' | 'medium' | 'long' | 'full', zone?: string[], calendar?: string): string;
300
+ transform(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
167
301
  static ɵfac: i0.ɵɵFactoryDeclaration<DatePipe, never>;
168
302
  static ɵpipe: i0.ɵɵPipeDeclaration<DatePipe, "ng0Date", true>;
169
303
  }
170
304
 
305
+ /**
306
+ * Format pipe to format objects using various formatter types.
307
+ */
308
+ declare class FormatPipe implements PipeTransform {
309
+ private _injector;
310
+ transform(obj: any, formatter: ObjectFormatterLike, ...params: any[]): any;
311
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormatPipe, never>;
312
+ static ɵpipe: i0.ɵɵPipeDeclaration<FormatPipe, "ng0Format", true>;
313
+ }
314
+
315
+ declare class LocalizePipe implements PipeTransform {
316
+ private _ls;
317
+ constructor(_ls: LocalizationService);
318
+ transform(dictionaryKey: string): string | undefined;
319
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizePipe, never>;
320
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocalizePipe, "ng0Localize", true>;
321
+ }
322
+
323
+ declare class LocalizeEnumPipe implements PipeTransform {
324
+ private _ls;
325
+ private _recompute;
326
+ private _value?;
327
+ constructor(_ls: LocalizationService);
328
+ /**
329
+ *
330
+ * @param enumValue
331
+ * @param enumName
332
+ * @param nullValueKey
333
+ * @param returnEnumAsFallback
334
+ * @param fallbackKey
335
+ * @returns
336
+ */
337
+ transform(enumValue: string | number | null | undefined, enumName: string, fallback?: string): any;
338
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizeEnumPipe, never>;
339
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocalizeEnumPipe, "ng0LocalizeEnum", true>;
340
+ }
341
+
342
+ declare class LocalizeBooleanPipe implements PipeTransform {
343
+ private _ls;
344
+ constructor(_ls: LocalizationService);
345
+ transform(value: any, falseKey: string | undefined, trueKey: 'false'): string | undefined;
346
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizeBooleanPipe, never>;
347
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocalizeBooleanPipe, "ng0LocalizeBool", true>;
348
+ }
349
+
350
+ declare class LocalizeDatePipe implements PipeTransform {
351
+ private _ls;
352
+ private _value?;
353
+ private _recompute;
354
+ constructor(_ls: LocalizationService);
355
+ transform(value: number | string, format?: string): string | undefined;
356
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizeDatePipe, never>;
357
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocalizeDatePipe, "ng0LocalizeDate", true>;
358
+ }
359
+
171
360
  declare class LocalizationModule {
172
361
  static ɵfac: i0.ɵɵFactoryDeclaration<LocalizationModule, never>;
173
- static ɵmod: i0.ɵɵNgModuleDeclaration<LocalizationModule, never, [typeof i1.CommonModule, typeof TranslatePipe, typeof EnumPipe, typeof BooleanPipe, typeof DatePipe], [typeof TranslatePipe, typeof EnumPipe, typeof BooleanPipe, typeof DatePipe]>;
362
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LocalizationModule, never, [typeof TranslatePipe, typeof TranslateEnumPipe, typeof TranslateBooleanPipe, typeof DatePipe, typeof FormatPipe, typeof LocalizePipe, typeof LocalizeEnumPipe, typeof LocalizeBooleanPipe, typeof LocalizeDatePipe], [typeof TranslatePipe, typeof TranslateEnumPipe, typeof TranslateBooleanPipe, typeof DatePipe, typeof FormatPipe, typeof LocalizePipe, typeof LocalizeEnumPipe, typeof LocalizeBooleanPipe, typeof LocalizeDatePipe]>;
174
363
  static ɵinj: i0.ɵɵInjectorDeclaration<LocalizationModule>;
175
364
  }
176
365
 
177
- export { BooleanPipe, DatePipe, EnumPipe, LOCALE, Locale, LocalizationModule, LocalizationService, TranslatePipe };
178
- export type { LocaleChangeEvent, TranslatedValidationError };
366
+ export { DatePipe, FormatPipe, LOCALE, Locale, LocalizationModule, LocalizationService, LocalizeBooleanPipe, LocalizeDatePipe, LocalizeEnumPipe, LocalizePipe, TranslateBooleanPipe, TranslateEnumPipe, TranslatePipe, createCompositeFormatter, createCurrencyFormatter, createDateFormatter, createFieldFormatter, createIndexFormatter, createLocaleFormatter, createNumberFormatter, createObjectFormatter, defaultFormatter, objectFormatterAttribute };
367
+ export type { LocaleChangeEvent, LocaleDefinition, LocaleDictionary, LocaleEnums, LocaleValidationErrorTranslator, LocaleValidationErrorTranslators, ObjectFormatter, ObjectFormatterLike, TableComponentPagingFormatter, TranslatedValidationError };
@@ -0,0 +1,7 @@
1
+ import { Locale } from '@bootkit/ng0/localization';
2
+
3
+ declare const EN_US_LOCALE: Locale;
4
+
5
+ declare const FA_IR_LOCALE: Locale;
6
+
7
+ export { EN_US_LOCALE, FA_IR_LOCALE };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bootkit/ng0",
3
- "version": "0.0.0-alpha.4",
3
+ "version": "0.0.0-alpha.41",
4
4
  "description": "Angular+Bootstrap Component Library",
5
5
  "homepage": "https://bootkitlib.github.io/",
6
6
  "author": "BootKit",
@@ -17,9 +17,9 @@
17
17
  "component library"
18
18
  ],
19
19
  "peerDependencies": {
20
- "@angular/common": ">=18.0.0",
21
- "@angular/core": ">=18.0.0",
22
- "@angular/cdk": ">=18.0.0"
20
+ "@angular/common": ">=20.2.0",
21
+ "@angular/core": ">=20.2.0",
22
+ "@angular/cdk": ">=20.2.0"
23
23
  },
24
24
  "dependencies": {
25
25
  "tslib": "^2.3.0"
@@ -35,13 +35,17 @@
35
35
  "types": "./index.d.ts",
36
36
  "default": "./fesm2022/bootkit-ng0.mjs"
37
37
  },
38
+ "./data": {
39
+ "types": "./data/index.d.ts",
40
+ "default": "./fesm2022/bootkit-ng0-data.mjs"
41
+ },
38
42
  "./common": {
39
43
  "types": "./common/index.d.ts",
40
44
  "default": "./fesm2022/bootkit-ng0-common.mjs"
41
45
  },
42
- "./data": {
43
- "types": "./data/index.d.ts",
44
- "default": "./fesm2022/bootkit-ng0-data.mjs"
46
+ "./date": {
47
+ "types": "./date/index.d.ts",
48
+ "default": "./fesm2022/bootkit-ng0-date.mjs"
45
49
  },
46
50
  "./file": {
47
51
  "types": "./file/index.d.ts",
@@ -59,6 +63,10 @@
59
63
  "types": "./localization/index.d.ts",
60
64
  "default": "./fesm2022/bootkit-ng0-localization.mjs"
61
65
  },
66
+ "./routing": {
67
+ "types": "./routing/index.d.ts",
68
+ "default": "./fesm2022/bootkit-ng0-routing.mjs"
69
+ },
62
70
  "./script": {
63
71
  "types": "./script/index.d.ts",
64
72
  "default": "./fesm2022/bootkit-ng0-script.mjs"
@@ -67,22 +75,30 @@
67
75
  "types": "./security/index.d.ts",
68
76
  "default": "./fesm2022/bootkit-ng0-security.mjs"
69
77
  },
78
+ "./utils": {
79
+ "types": "./utils/index.d.ts",
80
+ "default": "./fesm2022/bootkit-ng0-utils.mjs"
81
+ },
70
82
  "./components/accordion": {
71
83
  "types": "./components/accordion/index.d.ts",
72
84
  "default": "./fesm2022/bootkit-ng0-components-accordion.mjs"
73
85
  },
86
+ "./components/backdrop": {
87
+ "types": "./components/backdrop/index.d.ts",
88
+ "default": "./fesm2022/bootkit-ng0-components-backdrop.mjs"
89
+ },
74
90
  "./components/button": {
75
91
  "types": "./components/button/index.d.ts",
76
92
  "default": "./fesm2022/bootkit-ng0-components-button.mjs"
77
93
  },
78
- "./components/code": {
79
- "types": "./components/code/index.d.ts",
80
- "default": "./fesm2022/bootkit-ng0-components-code.mjs"
81
- },
82
94
  "./components/card": {
83
95
  "types": "./components/card/index.d.ts",
84
96
  "default": "./fesm2022/bootkit-ng0-components-card.mjs"
85
97
  },
98
+ "./components/code": {
99
+ "types": "./components/code/index.d.ts",
100
+ "default": "./fesm2022/bootkit-ng0-components-code.mjs"
101
+ },
86
102
  "./components/collapse": {
87
103
  "types": "./components/collapse/index.d.ts",
88
104
  "default": "./fesm2022/bootkit-ng0-components-collapse.mjs"
@@ -91,10 +107,18 @@
91
107
  "types": "./components/confirmation/index.d.ts",
92
108
  "default": "./fesm2022/bootkit-ng0-components-confirmation.mjs"
93
109
  },
110
+ "./components/dropdown": {
111
+ "types": "./components/dropdown/index.d.ts",
112
+ "default": "./fesm2022/bootkit-ng0-components-dropdown.mjs"
113
+ },
94
114
  "./components/form-field": {
95
115
  "types": "./components/form-field/index.d.ts",
96
116
  "default": "./fesm2022/bootkit-ng0-components-form-field.mjs"
97
117
  },
118
+ "./components/list": {
119
+ "types": "./components/list/index.d.ts",
120
+ "default": "./fesm2022/bootkit-ng0-components-list.mjs"
121
+ },
98
122
  "./components/modal": {
99
123
  "types": "./components/modal/index.d.ts",
100
124
  "default": "./fesm2022/bootkit-ng0-components-modal.mjs"
@@ -107,18 +131,26 @@
107
131
  "types": "./components/offcanvas/index.d.ts",
108
132
  "default": "./fesm2022/bootkit-ng0-components-offcanvas.mjs"
109
133
  },
110
- "./components/pagination": {
111
- "types": "./components/pagination/index.d.ts",
112
- "default": "./fesm2022/bootkit-ng0-components-pagination.mjs"
113
- },
114
134
  "./components/overlay": {
115
135
  "types": "./components/overlay/index.d.ts",
116
136
  "default": "./fesm2022/bootkit-ng0-components-overlay.mjs"
117
137
  },
138
+ "./components/pagination": {
139
+ "types": "./components/pagination/index.d.ts",
140
+ "default": "./fesm2022/bootkit-ng0-components-pagination.mjs"
141
+ },
118
142
  "./components/popover": {
119
143
  "types": "./components/popover/index.d.ts",
120
144
  "default": "./fesm2022/bootkit-ng0-components-popover.mjs"
121
145
  },
146
+ "./components/select": {
147
+ "types": "./components/select/index.d.ts",
148
+ "default": "./fesm2022/bootkit-ng0-components-select.mjs"
149
+ },
150
+ "./components/sidenav": {
151
+ "types": "./components/sidenav/index.d.ts",
152
+ "default": "./fesm2022/bootkit-ng0-components-sidenav.mjs"
153
+ },
122
154
  "./components/stepper": {
123
155
  "types": "./components/stepper/index.d.ts",
124
156
  "default": "./fesm2022/bootkit-ng0-components-stepper.mjs"
@@ -134,6 +166,22 @@
134
166
  "./components/tooltip": {
135
167
  "types": "./components/tooltip/index.d.ts",
136
168
  "default": "./fesm2022/bootkit-ng0-components-tooltip.mjs"
169
+ },
170
+ "./components/vertical-menu": {
171
+ "types": "./components/vertical-menu/index.d.ts",
172
+ "default": "./fesm2022/bootkit-ng0-components-vertical-menu.mjs"
173
+ },
174
+ "./layouts/layout1": {
175
+ "types": "./layouts/layout1/index.d.ts",
176
+ "default": "./fesm2022/bootkit-ng0-layouts-layout1.mjs"
177
+ },
178
+ "./localization/locales": {
179
+ "types": "./localization/locales/index.d.ts",
180
+ "default": "./fesm2022/bootkit-ng0-localization-locales.mjs"
181
+ },
182
+ "./platform/browser": {
183
+ "types": "./platform/browser/index.d.ts",
184
+ "default": "./fesm2022/bootkit-ng0-platform-browser.mjs"
137
185
  }
138
186
  }
139
187
  }
@@ -0,0 +1,88 @@
1
+ import * as rxjs from 'rxjs';
2
+ import * as _angular_core from '@angular/core';
3
+ import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
4
+
5
+ declare class ClipboardService {
6
+ private _writeSubject;
7
+ readonly write: rxjs.Observable<any>;
8
+ constructor();
9
+ writeText(text: string): void;
10
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClipboardService, never>;
11
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ClipboardService>;
12
+ }
13
+
14
+ declare class ClipboardCopyDirective {
15
+ private clipboardService;
16
+ value: _angular_core.InputSignal<string | undefined>;
17
+ constructor(clipboardService: ClipboardService);
18
+ private _onHostClick;
19
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClipboardCopyDirective, never>;
20
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClipboardCopyDirective, "[ng0-clipboard-copy]", never, { "value": { "alias": "ng0-clipboard-copy"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21
+ }
22
+
23
+ /**
24
+ * Directive that observes the intersection of an element with the viewport and optionally applies CSS classes when the element enters or leaves the viewport.
25
+ * It uses the Intersection Observer API to monitor visibility changes.
26
+ * It can be used to trigger animate-on-scroll (AOS) animations, lazy loading, or other actions based on element visibility.
27
+ */
28
+ declare class IntersectionObserverDirective implements OnInit, OnDestroy {
29
+ private readonly _platformId;
30
+ private readonly _elementRef;
31
+ private readonly _renderer;
32
+ private _entered?;
33
+ private _observer?;
34
+ private _addClass;
35
+ private _removeClass;
36
+ /**
37
+ * Threshold(s) at which to trigger the intersection callback.
38
+ * Can be a single number or an array of numbers between 0 and 1.
39
+ * For example, 0.5 means the callback will be triggered when 50% of the element is visible in the viewport.
40
+ */
41
+ readonly threshold: _angular_core.InputSignal<number | number[] | undefined>;
42
+ /**
43
+ * Root element to use for intersection observation.
44
+ * If not provided, the viewport (browser window) is used as the root.
45
+ */
46
+ readonly root: _angular_core.InputSignal<Document | Element | null | undefined>;
47
+ /**
48
+ * Root margin to apply to the intersection observer.
49
+ * This can be a string similar to the CSS margin property, e.g., '10px 20px 30px 40px'.
50
+ * It defines the margin around the root element (viewport) to consider for intersection.
51
+ */
52
+ readonly rootMargin: _angular_core.InputSignal<string | undefined>;
53
+ /**
54
+ * Css class to apply when the element enters the viewport.
55
+ */
56
+ readonly enterClass: _angular_core.InputSignal<string | undefined>;
57
+ /**
58
+ * Css class to apply when the element leaves the viewport.
59
+ */
60
+ readonly leaveClass: _angular_core.InputSignal<string | undefined>;
61
+ /**
62
+ * Whether to observe only once (true) or continuously (false).
63
+ * If true, the observer will disconnect after the first intersection event.
64
+ * @default true
65
+ */
66
+ readonly once: _angular_core.InputSignalWithTransform<boolean, unknown>;
67
+ /**
68
+ * Event emitted when the element enters the viewport.
69
+ */
70
+ readonly enter: EventEmitter<IntersectionObserverEntry>;
71
+ /**
72
+ * Event emitted when the element leaves the viewport.
73
+ * This event will only be emitted if the element has previously entered the viewport.
74
+ */
75
+ readonly leave: EventEmitter<IntersectionObserverEntry>;
76
+ ngOnInit(): void;
77
+ private _setupObserver;
78
+ /**
79
+ * Disconnects the intersection observer.
80
+ * This stops all observation and releases resources.
81
+ */
82
+ disconnect(): void;
83
+ ngOnDestroy(): void;
84
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IntersectionObserverDirective, never>;
85
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IntersectionObserverDirective, "[ng0IntersectionObserver]", ["ng0IntersectionObserver"], { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "root": { "alias": "root"; "required": false; "isSignal": true; }; "rootMargin": { "alias": "rootMargin"; "required": false; "isSignal": true; }; "enterClass": { "alias": "enterClass"; "required": false; "isSignal": true; }; "leaveClass": { "alias": "leaveClass"; "required": false; "isSignal": true; }; "once": { "alias": "once"; "required": false; "isSignal": true; }; }, { "enter": "enter"; "leave": "leave"; }, never, never, true, never>;
86
+ }
87
+
88
+ export { ClipboardCopyDirective, ClipboardService, IntersectionObserverDirective };