@bootkit/ng0 0.0.0-alpha.39 → 0.0.0-alpha.40
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.
- package/fesm2022/bootkit-ng0-common.mjs +3 -3
- package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-accordion.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-backdrop.mjs +3 -3
- package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-button.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-card.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-code.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-collapse.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-confirmation.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-dropdown.mjs +22 -22
- package/fesm2022/bootkit-ng0-components-dropdown.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-form-field.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-list.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-list.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-modal.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-nav.mjs +19 -19
- package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-offcanvas.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-pagination.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-popover.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-select.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-select.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-sidenav.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-stepper.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-table.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-toast.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-tooltip.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +19 -19
- package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-form.mjs +25 -25
- package/fesm2022/bootkit-ng0-form.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-http.mjs +3 -3
- package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-layouts-layout1.mjs +19 -19
- package/fesm2022/bootkit-ng0-layouts-layout1.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-localization.mjs +34 -34
- package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-platform-browser.mjs +10 -10
- package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-routing.mjs +3 -3
- package/fesm2022/bootkit-ng0-routing.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-script.mjs +3 -3
- package/fesm2022/bootkit-ng0-script.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-security.mjs +13 -13
- package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-utils.mjs +75 -0
- package/fesm2022/bootkit-ng0-utils.mjs.map +1 -0
- package/package.json +24 -20
- package/platform/browser/index.d.ts +1 -1
- package/utils/index.d.ts +42 -0
|
@@ -296,10 +296,10 @@ class IfDirective {
|
|
|
296
296
|
}
|
|
297
297
|
});
|
|
298
298
|
}
|
|
299
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
300
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
299
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: IfDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
300
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.11", type: IfDirective, isStandalone: true, selector: "[ng0If]", inputs: { show: { classPropertyName: "show", publicName: "ng0If", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ng0If"], ngImport: i0 });
|
|
301
301
|
}
|
|
302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: IfDirective, decorators: [{
|
|
303
303
|
type: Directive,
|
|
304
304
|
args: [{
|
|
305
305
|
selector: '[ng0If]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-common.mjs","sources":["../../../projects/ng0/common/types.ts","../../../projects/ng0/common/layout.ts","../../../projects/ng0/common/string-utils.ts","../../../projects/ng0/common/rxjs-utils.ts","../../../projects/ng0/common/array-utils.ts","../../../projects/ng0/common/enum.ts","../../../projects/ng0/common/id-generator.ts","../../../projects/ng0/common/css-class.ts","../../../projects/ng0/common/equality-comparer.ts","../../../projects/ng0/common/value-writer.ts","../../../projects/ng0/common/comparer.ts","../../../projects/ng0/common/filter.ts","../../../projects/ng0/common/track-by.ts","../../../projects/ng0/common/if.directive.ts","../../../projects/ng0/common/bootkit-ng0-common.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const RTL = new InjectionToken<boolean>('RTL Direction');\r\n\r\n","export type Placement = 'start' | 'end' | 'top' | 'bottom';\r\nexport type Alignment = 'start' | 'center' | 'end';\r\n\r\n/**\r\n * Flips the placement direction.\r\n * @param placement The placement direction to flip.\r\n * @returns The flipped placement direction.\r\n */\r\nexport function flipPlacement(placement: Placement) {\r\n switch (placement) {\r\n case 'bottom':\r\n return 'top'\r\n case 'top':\r\n return 'bottom'\r\n case 'start':\r\n return 'end'\r\n case 'end':\r\n return 'start'\r\n }\r\n}\r\n\r\n\r\n","/**\r\n * Formats a string by replacing placeholders with the provided arguments.\r\n * @param str The string to format, containing placeholders in the form of {0}, {1}, etc.\r\n * @param args The values to replace the placeholders with.\r\n * @returns The formatted string.\r\n */\r\nexport function formatString(str: string, ...args: any[]) {\r\n return str.replace(/\\{(\\d+)\\}/g, function (match, index) {\r\n return args[index];\r\n });\r\n}\r\n","import { from, Observable, of } from 'rxjs';\r\n\r\n/**\r\n * Converts a value to an Observable.\r\n * If the value is already an Observable, it returns it directly.\r\n * If the value is a Promise, it converts it to an Observable.\r\n * If the value is neither, it wraps it in an Observable using `of`.\r\n * @param value The value to convert.\r\n * @returns An Observable that emits the value.\r\n */\r\nexport function toObservable<T>(value: T | Observable<T> | Promise<T>): Observable<T> {\r\n if (value instanceof Observable) {\r\n return value;\r\n } else if (value instanceof Promise) {\r\n return from(value);\r\n } else {\r\n return of(value);\r\n }\r\n}\r\n","/**\r\n * Creates an array of numbers within a specified range.\r\n * @param start The starting number of the range (inclusive).\r\n * @param end The ending number of the range (inclusive).\r\n * @returns An array of numbers within the specified range.\r\n */\r\nexport function numberArray(start: number, end: number) {\r\n return Array.from({ length: end - start + 1 }, (_, i) => i + start)\r\n}\r\n\r\n/**\r\n * Deletes multiple entries from an array based on the provided indices.\r\n * @param array \r\n * @param indices \r\n * @private\r\n */\r\nexport function deleteEntries(array: any[], indices: number[]) {\r\n // Sort indices in descending order\r\n // This prevents index shifting issues when removing multiple items\r\n indices.sort((a, b) => b - a); \r\n indices.forEach(index => {\r\n if (index >= 0 && index < array.length) {\r\n array.splice(index, 1);\r\n } else {\r\n throw new Error(`Index out of bounds: ${index}`);\r\n }\r\n });\r\n}\r\n","\r\nexport function getEnumValues(enumClass: Record<string, string | number>): Array<string | number> {\r\n return Object.keys(enumClass)\r\n .filter(k => isNaN(Number(k))) // remove reverse-mapping keys\r\n .map(k => enumClass[k]);\r\n};\r\n","let _idCounter = 0;\r\n\r\n/**\r\n * Type definition for an ID generator function.\r\n * @param item The item for which the ID is to be generated.\r\n * @returns A string representing the generated ID.\r\n */\r\nexport type IdGenerator = (item: any) => string;\r\n\r\n/**\r\n * Type definition for an ID generator which can be a function or a string representing the property name to extract the ID from.\r\n */\r\nexport type IdGeneratorLike = IdGenerator | string;\r\n\r\n/**\r\n * Creates a sequential ID generator function with an optional prefix.\r\n * This function generates unique IDs by incrementing a counter each time it is called.\r\n * @param prefix Optional prefix for the generated IDs.\r\n * @returns A function that generates sequential IDs with the given prefix.\r\n */\r\nexport function sequentialIdGenerator(prefix?: string): IdGenerator {\r\n return (item: any) => `${prefix || ''}${_idCounter++}`;\r\n}\r\n\r\n/**\r\n * Converts an IdGeneratorLike to an IdGenerator function.\r\n * @param v The ID generator to convert.\r\n * @returns An IdGenerator function.\r\n */\r\nexport function IdGeneratorAttribute(v: IdGeneratorLike): IdGenerator {\r\n if (typeof v === 'function')\r\n return v;\r\n else if (typeof v === 'string') {\r\n return (item: any) => item ? item[v] : undefined;\r\n }\r\n\r\n throw Error('invalid id generator');\r\n}\r\n","/**\r\n * CSS class type which can be a string, array of strings, set of strings, or an object with class names as keys.\r\n */\r\nexport type CssClass = string | string[] | Set<string> | { [klass: string]: any } | null | undefined;\r\n\r\n/**\r\n * A function that takes an item and returns a CssClass.\r\n * @param item The item to get the CSS class for.\r\n * @returns The CSS class for the item.\r\n */\r\nexport type CssClassGetter = (obj: any) => CssClass;\r\n\r\n/**\r\n * A type that represents a CSS class or a function that returns a CSS class.\r\n */\r\nexport type CssClassLike = CssClass | CssClassGetter;\r\n\r\n\r\n/**\r\n * Converts a CssClassLike to a CssClassGetter function.\r\n * @param v The CssClassLike to convert.\r\n * @returns A function that returns the desired CSS class.\r\n */\r\nexport function CssClassAttribute(v: CssClassLike): CssClassGetter {\r\n if (v === undefined || v === null) {\r\n return (item: any) => undefined;\r\n } else if (typeof v === 'function')\r\n return v as CssClassGetter;\r\n else if (typeof v === 'string' || Array.isArray(v) || typeof v === 'object') {\r\n return (item: any) => v;\r\n }\r\n\r\n throw Error('invalid css class getter');\r\n}\r\n","/**\r\n * Equality comparer function type.\r\n * @param a First value to compare.\r\n * @param b Second value to compare.\r\n * @returns true if a is considered equal to b else returns false\r\n */\r\nexport type EqualityComparer = (a: any, b: any) => boolean;\r\n\r\n/**\r\n * Equality comparer like type.\r\n * can be a function or a string representing the property name to compare.\r\n */\r\nexport type EqualityComparerLike = EqualityComparer | string;\r\n\r\n/**\r\n * Default equality comparer function.\r\n * @param a First value to compare.\r\n * @param b Second value to compare.\r\n * @returns true if a === b else returns false\r\n */\r\nexport function defaultEqualityComparer(a: any, b: any): boolean {\r\n return a === b;\r\n}\r\n\r\n/**\r\n * Converts an EqualityComparerLike to an EqualityComparer function.\r\n * @param e The EqualityComparerLike to convert.\r\n * @returns The converted EqualityComparer.\r\n */\r\nexport function equalityComparerAttribute(e: EqualityComparerLike): EqualityComparer {\r\n if (typeof e === 'function')\r\n return e;\r\n if (typeof e === 'string') {\r\n return (a: any, b: any) => {\r\n let a2 = a != null && Object.hasOwn(a, e) ? a[e] : a;\r\n let b2 = b != null && Object.hasOwn(b, e) ? b[e] : b;\r\n return a2 === b2;\r\n }\r\n }\r\n\r\n throw Error('invalid equality comparer');\r\n}\r\n","/**\r\n * Value writer function type.\r\n * @param a The input value\r\n * @returns The written value\r\n */\r\nexport type ValueWriter = (a: any) => any;\r\n\r\n/**\r\n * Value writer can be a function or a string representing the property name to extract the value from.\r\n */\r\nexport type ValueWriterLike = ValueWriter | string;\r\n\r\n\r\n/**\r\n * Default value writer function.\r\n * @param a The input value\r\n * @returns the input value (it does not transform it)\r\n */\r\nexport function defaultValueWriter(a: any): any {\r\n return a;\r\n}\r\n\r\n/**\r\n * Converts a ValueWriterLike to a ValueWriterFunction.\r\n * @param v The value writer to convert.\r\n * @returns A ValueWriter function.\r\n */\r\nexport function valueWriterAttribute(v: ValueWriterLike): ValueWriter {\r\n if (typeof v === 'function')\r\n return v;\r\n if (typeof v === 'string') {\r\n return (item: any) => item ? item[v] : undefined;\r\n }\r\n\r\n throw Error('invalid value writer');\r\n}\r\n","/**\r\n * A comparison function type that defines an ordering relation between two values.\r\n * @param a The first value to compare.\r\n * @param b The second value to compare.\r\n * @returns\r\n * - A negative number if `a` should come before `b`\r\n * - A positive number if `a` should come after `b`\r\n * - Zero if `a` and `b` are considered equal\r\n */\r\nexport type Comparer = (a: any, b: any) => number;\r\n\r\n/**\r\n * Value comparer can be a function or a string representing the property name to compare.\r\n */\r\nexport type ComparerLike = Comparer | string;\r\n\r\n/**\r\n * A simple comparer function.\r\n * @param a The first value to compare.\r\n * @param b The second value to compare.\r\n * @returns -1 if a < b, 1 if a > b, 0 if a === b\r\n */\r\nexport function defaultComparer(a: any, b: any): number {\r\n return a === b ? 0 : a < b ? -1 : 1;\r\n}\r\n\r\n/**\r\n * Converts a ComparerLike to a Comparer.\r\n * @param v The comparer to convert.\r\n * @returns A function that compares two values.\r\n */\r\nexport function comparerAttribute(v: ComparerLike): Comparer {\r\n if (typeof v === 'function')\r\n return v;\r\n if (typeof v === 'string') {\r\n return (a: any, b: any) => a?.[v] === b?.[v] ? 0 : a?.[v] < b?.[v] ? -1 : 1;\r\n }\r\n\r\n throw Error('invalid value comparer');\r\n}\r\n\r\n","/**\r\n * Filter predicate function type.\r\n * @param item The item to test against the filter.\r\n * @param params Additional parameters to pass to the filter.\r\n * @returns True if the item matches the filter, false otherwise.\r\n */\r\nexport type FilterPredicate = (item: any, ...params: any[]) => boolean;\r\n\r\n/**\r\n * Filter predicate can be a function or a string representing the property name to filter.\r\n */\r\nexport type FilterPredicateLike = FilterPredicate | string;\r\n\r\n/**\r\n * No-op filter predicate that always returns true.\r\n * @param item The item to test against the filter.\r\n * @returns true\r\n */\r\nexport const noopFilter: FilterPredicate = (item: any, ...params: any[]) => true;\r\n\r\n\r\n/**\r\n * A simple filter predicate that checks if the item's string representation includes the match string.\r\n * @param item The item to test against the filter.\r\n * @param match The string to match.\r\n * @returns True if the item matches the filter, false otherwise.\r\n */\r\nexport const defaultFilter: FilterPredicate = (item: any, match: string) => {\r\n if (match == undefined || match == '') {\r\n return true;\r\n }\r\n\r\n if (item == undefined) {\r\n return false;\r\n }\r\n\r\n return (item as Object).toString().toLowerCase().includes(match.toLowerCase());\r\n}\r\n\r\n\r\n/**\r\n * Converts a FilterPredicateLike to a FilterPredicate function.\r\n * If the input is a string, it creates a predicate that checks the property with that name.\r\n * @param v The FilterPredicateLike to convert.\r\n * @returns The corresponding FilterPredicate function.\r\n */\r\nexport function filterPredicateAttribute(v: FilterPredicateLike): FilterPredicate {\r\n if (typeof v === 'function')\r\n return v;\r\n else if (typeof v === 'string') {\r\n return (item: any, match: string) => \r\n item != null && Object.hasOwn(item, v) ? defaultFilter(item[v], match) : false;\r\n }\r\n\r\n throw Error('invalid filter predicate');\r\n}\r\n","import { TrackByFunction } from \"@angular/core\";\r\n\r\n/**\r\n * An item tracker that can be either a TrackByFunction or a string property name.\r\n */\r\nexport type TrackByLike = TrackByFunction<any> | string;\r\n\r\n/**\r\n * A trackBy function that tracks items by their index.\r\n */\r\nexport const trackByIndex: TrackByFunction<any> = (index: number, item: any) => index;\r\n\r\n/**\r\n * A trackBy function that tracks items by the item itself.\r\n */\r\nexport const trackByItem: TrackByFunction<any> = (index: number, item: any) => item;\r\n\r\n/**\r\n * Converts a TrackByLike to a TrackByFunction.\r\n * @param v The item tracker to convert.\r\n * @returns A TrackByFunction.\r\n */\r\nexport function TrackByAttribute(v: TrackByLike): TrackByFunction<any> {\r\n if (typeof v === 'function')\r\n return v;\r\n else if (typeof v === 'string') {\r\n if(v.startsWith('@item')) {\r\n return trackByItem;\r\n } else if(v.startsWith('@index')) {\r\n return trackByIndex;\r\n } else {\r\n return (index: number, item: any) => item ? item[v] : undefined;\r\n }\r\n }\r\n\r\n throw Error('invalid TrackBy value');\r\n}\r\n","import { input, inject, Directive, TemplateRef, effect, ViewContainerRef, EmbeddedViewRef } from '@angular/core';\r\n\r\n/**\r\n * IfDirective is a structural directive that conditionally includes or excludes a template\r\n * based on the boolean value of the `show` input property.\r\n * \r\n */\r\n@Directive({\r\n selector: '[ng0If]',\r\n exportAs: 'ng0If',\r\n standalone: true,\r\n})\r\nexport class IfDirective {\r\n private readonly _templateRef = inject(TemplateRef<any>);\r\n private _vcr = inject(ViewContainerRef);\r\n private _viewRef?: EmbeddedViewRef<any>;\r\n public readonly show = input(true, { alias: 'ng0If' });\r\n\r\n constructor() {\r\n effect(() => {\r\n if (this.show()) {\r\n if (!this._viewRef) {\r\n this._viewRef = this._vcr.createEmbeddedView(this._templateRef);\r\n }\r\n\r\n if (this._vcr.length === 0) {\r\n this._vcr.insert(this._viewRef);\r\n }\r\n } else {\r\n if (this._vcr.length > 0) {\r\n this._vcr.detach(0);\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAEa,GAAG,GAAG,IAAI,cAAc,CAAU,eAAe;;ACC9D;;;;AAIG;AACG,SAAU,aAAa,CAAC,SAAoB,EAAA;IAC9C,QAAQ,SAAS;AACb,QAAA,KAAK,QAAQ;AACT,YAAA,OAAO,KAAK;AAChB,QAAA,KAAK,KAAK;AACN,YAAA,OAAO,QAAQ;AACnB,QAAA,KAAK,OAAO;AACR,YAAA,OAAO,KAAK;AAChB,QAAA,KAAK,KAAK;AACN,YAAA,OAAO,OAAO;;AAE1B;;ACnBA;;;;;AAKG;SACa,YAAY,CAAC,GAAW,EAAE,GAAG,IAAW,EAAA;IACpD,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,KAAK,EAAE,KAAK,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,IAAA,CAAC,CAAC;AACN;;ACRA;;;;;;;AAOG;AACG,SAAU,YAAY,CAAI,KAAqC,EAAA;AACjE,IAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AAC7B,QAAA,OAAO,KAAK;IAChB;AAAO,SAAA,IAAI,KAAK,YAAY,OAAO,EAAE;AACjC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB;SAAO;AACH,QAAA,OAAO,EAAE,CAAC,KAAK,CAAC;IACpB;AACJ;;AClBA;;;;;AAKG;AACG,SAAU,WAAW,CAAC,KAAa,EAAE,GAAW,EAAA;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACrE;AAEA;;;;;AAKG;AACG,SAAU,aAAa,CAAC,KAAY,EAAE,OAAiB,EAAA;;;AAG3D,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,IAAA,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;QACtB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;AACtC,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACxB;aAAO;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAA,CAAE,CAAC;QAClD;AACF,IAAA,CAAC,CAAC;AACJ;;AC1BM,SAAU,aAAa,CAAC,SAA0C,EAAA;AACpE,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS;AAC3B,SAAA,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B;AAAC;;ACLD,IAAI,UAAU,GAAG,CAAC;AAclB;;;;;AAKG;AACG,SAAU,qBAAqB,CAAC,MAAe,EAAA;AACjD,IAAA,OAAO,CAAC,IAAS,KAAK,CAAA,EAAG,MAAM,IAAI,EAAE,CAAA,EAAG,UAAU,EAAE,EAAE;AAC1D;AAEA;;;;AAIG;AACG,SAAU,oBAAoB,CAAC,CAAkB,EAAA;IACnD,IAAI,OAAO,CAAC,KAAK,UAAU;AACvB,QAAA,OAAO,CAAC;AACP,SAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAC5B,QAAA,OAAO,CAAC,IAAS,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;IACpD;AAEA,IAAA,MAAM,KAAK,CAAC,sBAAsB,CAAC;AACvC;;ACnBA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,CAAe,EAAA;IAC7C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;AAC/B,QAAA,OAAO,CAAC,IAAS,KAAK,SAAS;IACnC;SAAO,IAAI,OAAO,CAAC,KAAK,UAAU;AAC9B,QAAA,OAAO,CAAmB;AACzB,SAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACzE,QAAA,OAAO,CAAC,IAAS,KAAK,CAAC;IAC3B;AAEA,IAAA,MAAM,KAAK,CAAC,0BAA0B,CAAC;AAC3C;;ACnBA;;;;;AAKG;AACG,SAAU,uBAAuB,CAAC,CAAM,EAAE,CAAM,EAAA;IAClD,OAAO,CAAC,KAAK,CAAC;AAClB;AAEA;;;;AAIG;AACG,SAAU,yBAAyB,CAAC,CAAuB,EAAA;IAC7D,IAAI,OAAO,CAAC,KAAK,UAAU;AACvB,QAAA,OAAO,CAAC;AACZ,IAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACvB,QAAA,OAAO,CAAC,CAAM,EAAE,CAAM,KAAI;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACpD,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE;AACpB,QAAA,CAAC;IACL;AAEA,IAAA,MAAM,KAAK,CAAC,2BAA2B,CAAC;AAC5C;;AC5BA;;;;AAIG;AACG,SAAU,kBAAkB,CAAC,CAAM,EAAA;AACrC,IAAA,OAAO,CAAC;AACZ;AAEA;;;;AAIG;AACG,SAAU,oBAAoB,CAAC,CAAkB,EAAA;IACnD,IAAI,OAAO,CAAC,KAAK,UAAU;AACvB,QAAA,OAAO,CAAC;AACZ,IAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACvB,QAAA,OAAO,CAAC,IAAS,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;IACpD;AAEA,IAAA,MAAM,KAAK,CAAC,sBAAsB,CAAC;AACvC;;ACnBA;;;;;AAKG;AACG,SAAU,eAAe,CAAC,CAAM,EAAE,CAAM,EAAA;IAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACvC;AAEA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,CAAe,EAAA;IAC7C,IAAI,OAAO,CAAC,KAAK,UAAU;AACvB,QAAA,OAAO,CAAC;AACZ,IAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACvB,OAAO,CAAC,CAAM,EAAE,CAAM,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC/E;AAEA,IAAA,MAAM,KAAK,CAAC,wBAAwB,CAAC;AACzC;;AC1BA;;;;AAIG;AACI,MAAM,UAAU,GAAoB,CAAC,IAAS,EAAE,GAAG,MAAa,KAAK;AAG5E;;;;;AAKG;MACU,aAAa,GAAoB,CAAC,IAAS,EAAE,KAAa,KAAI;IACvE,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE,EAAE;AACnC,QAAA,OAAO,IAAI;IACf;AAEA,IAAA,IAAI,IAAI,IAAI,SAAS,EAAE;AACnB,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,OAAQ,IAAe,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AAClF;AAGA;;;;;AAKG;AACG,SAAU,wBAAwB,CAAC,CAAsB,EAAA;IAC3D,IAAI,OAAO,CAAC,KAAK,UAAU;AACvB,QAAA,OAAO,CAAC;AACP,SAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAC5B,QAAA,OAAO,CAAC,IAAS,EAAE,KAAa,KAC5B,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK;IACtF;AAEA,IAAA,MAAM,KAAK,CAAC,0BAA0B,CAAC;AAC3C;;AChDA;;AAEG;AACI,MAAM,YAAY,GAAyB,CAAC,KAAa,EAAE,IAAS,KAAK;AAEhF;;AAEG;AACI,MAAM,WAAW,GAAyB,CAAC,KAAa,EAAE,IAAS,KAAK;AAE/E;;;;AAIG;AACG,SAAU,gBAAgB,CAAC,CAAc,EAAA;IAC3C,IAAI,OAAO,CAAC,KAAK,UAAU;AACvB,QAAA,OAAO,CAAC;AACP,SAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAC5B,QAAA,IAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AACtB,YAAA,OAAO,WAAW;QACtB;AAAO,aAAA,IAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC9B,YAAA,OAAO,YAAY;QACvB;aAAO;AACH,YAAA,OAAO,CAAC,KAAa,EAAE,IAAS,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;QACnE;IACJ;AAEA,IAAA,MAAM,KAAK,CAAC,uBAAuB,CAAC;AACxC;;AClCA;;;;AAIG;MAMU,WAAW,CAAA;AACH,IAAA,YAAY,GAAG,MAAM,EAAC,WAAgB,EAAC;AAChD,IAAA,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC/B,IAAA,QAAQ;AACA,IAAA,IAAI,GAAG,KAAK,CAAC,IAAI,wCAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAEtD,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACb,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;gBACnE;gBAEA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACnC;YACJ;iBAAO;gBACH,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,oBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB;YACJ;AACJ,QAAA,CAAC,CAAC;IACN;uGAtBS,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-common.mjs","sources":["../../../projects/ng0/common/types.ts","../../../projects/ng0/common/layout.ts","../../../projects/ng0/common/string-utils.ts","../../../projects/ng0/common/rxjs-utils.ts","../../../projects/ng0/common/array-utils.ts","../../../projects/ng0/common/enum.ts","../../../projects/ng0/common/id-generator.ts","../../../projects/ng0/common/css-class.ts","../../../projects/ng0/common/equality-comparer.ts","../../../projects/ng0/common/value-writer.ts","../../../projects/ng0/common/comparer.ts","../../../projects/ng0/common/filter.ts","../../../projects/ng0/common/track-by.ts","../../../projects/ng0/common/if.directive.ts","../../../projects/ng0/common/bootkit-ng0-common.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const RTL = new InjectionToken<boolean>('RTL Direction');\r\n\r\n","export type Placement = 'start' | 'end' | 'top' | 'bottom';\r\nexport type Alignment = 'start' | 'center' | 'end';\r\n\r\n/**\r\n * Flips the placement direction.\r\n * @param placement The placement direction to flip.\r\n * @returns The flipped placement direction.\r\n */\r\nexport function flipPlacement(placement: Placement) {\r\n switch (placement) {\r\n case 'bottom':\r\n return 'top'\r\n case 'top':\r\n return 'bottom'\r\n case 'start':\r\n return 'end'\r\n case 'end':\r\n return 'start'\r\n }\r\n}\r\n\r\n\r\n","/**\r\n * Formats a string by replacing placeholders with the provided arguments.\r\n * @param str The string to format, containing placeholders in the form of {0}, {1}, etc.\r\n * @param args The values to replace the placeholders with.\r\n * @returns The formatted string.\r\n */\r\nexport function formatString(str: string, ...args: any[]) {\r\n return str.replace(/\\{(\\d+)\\}/g, function (match, index) {\r\n return args[index];\r\n });\r\n}\r\n","import { from, Observable, of } from 'rxjs';\r\n\r\n/**\r\n * Converts a value to an Observable.\r\n * If the value is already an Observable, it returns it directly.\r\n * If the value is a Promise, it converts it to an Observable.\r\n * If the value is neither, it wraps it in an Observable using `of`.\r\n * @param value The value to convert.\r\n * @returns An Observable that emits the value.\r\n */\r\nexport function toObservable<T>(value: T | Observable<T> | Promise<T>): Observable<T> {\r\n if (value instanceof Observable) {\r\n return value;\r\n } else if (value instanceof Promise) {\r\n return from(value);\r\n } else {\r\n return of(value);\r\n }\r\n}\r\n","/**\r\n * Creates an array of numbers within a specified range.\r\n * @param start The starting number of the range (inclusive).\r\n * @param end The ending number of the range (inclusive).\r\n * @returns An array of numbers within the specified range.\r\n */\r\nexport function numberArray(start: number, end: number) {\r\n return Array.from({ length: end - start + 1 }, (_, i) => i + start)\r\n}\r\n\r\n/**\r\n * Deletes multiple entries from an array based on the provided indices.\r\n * @param array \r\n * @param indices \r\n * @private\r\n */\r\nexport function deleteEntries(array: any[], indices: number[]) {\r\n // Sort indices in descending order\r\n // This prevents index shifting issues when removing multiple items\r\n indices.sort((a, b) => b - a); \r\n indices.forEach(index => {\r\n if (index >= 0 && index < array.length) {\r\n array.splice(index, 1);\r\n } else {\r\n throw new Error(`Index out of bounds: ${index}`);\r\n }\r\n });\r\n}\r\n","\r\nexport function getEnumValues(enumClass: Record<string, string | number>): Array<string | number> {\r\n return Object.keys(enumClass)\r\n .filter(k => isNaN(Number(k))) // remove reverse-mapping keys\r\n .map(k => enumClass[k]);\r\n};\r\n","let _idCounter = 0;\r\n\r\n/**\r\n * Type definition for an ID generator function.\r\n * @param item The item for which the ID is to be generated.\r\n * @returns A string representing the generated ID.\r\n */\r\nexport type IdGenerator = (item: any) => string;\r\n\r\n/**\r\n * Type definition for an ID generator which can be a function or a string representing the property name to extract the ID from.\r\n */\r\nexport type IdGeneratorLike = IdGenerator | string;\r\n\r\n/**\r\n * Creates a sequential ID generator function with an optional prefix.\r\n * This function generates unique IDs by incrementing a counter each time it is called.\r\n * @param prefix Optional prefix for the generated IDs.\r\n * @returns A function that generates sequential IDs with the given prefix.\r\n */\r\nexport function sequentialIdGenerator(prefix?: string): IdGenerator {\r\n return (item: any) => `${prefix || ''}${_idCounter++}`;\r\n}\r\n\r\n/**\r\n * Converts an IdGeneratorLike to an IdGenerator function.\r\n * @param v The ID generator to convert.\r\n * @returns An IdGenerator function.\r\n */\r\nexport function IdGeneratorAttribute(v: IdGeneratorLike): IdGenerator {\r\n if (typeof v === 'function')\r\n return v;\r\n else if (typeof v === 'string') {\r\n return (item: any) => item ? item[v] : undefined;\r\n }\r\n\r\n throw Error('invalid id generator');\r\n}\r\n","/**\r\n * CSS class type which can be a string, array of strings, set of strings, or an object with class names as keys.\r\n */\r\nexport type CssClass = string | string[] | Set<string> | { [klass: string]: any } | null | undefined;\r\n\r\n/**\r\n * A function that takes an item and returns a CssClass.\r\n * @param item The item to get the CSS class for.\r\n * @returns The CSS class for the item.\r\n */\r\nexport type CssClassGetter = (obj: any) => CssClass;\r\n\r\n/**\r\n * A type that represents a CSS class or a function that returns a CSS class.\r\n */\r\nexport type CssClassLike = CssClass | CssClassGetter;\r\n\r\n\r\n/**\r\n * Converts a CssClassLike to a CssClassGetter function.\r\n * @param v The CssClassLike to convert.\r\n * @returns A function that returns the desired CSS class.\r\n */\r\nexport function CssClassAttribute(v: CssClassLike): CssClassGetter {\r\n if (v === undefined || v === null) {\r\n return (item: any) => undefined;\r\n } else if (typeof v === 'function')\r\n return v as CssClassGetter;\r\n else if (typeof v === 'string' || Array.isArray(v) || typeof v === 'object') {\r\n return (item: any) => v;\r\n }\r\n\r\n throw Error('invalid css class getter');\r\n}\r\n","/**\r\n * Equality comparer function type.\r\n * @param a First value to compare.\r\n * @param b Second value to compare.\r\n * @returns true if a is considered equal to b else returns false\r\n */\r\nexport type EqualityComparer = (a: any, b: any) => boolean;\r\n\r\n/**\r\n * Equality comparer like type.\r\n * can be a function or a string representing the property name to compare.\r\n */\r\nexport type EqualityComparerLike = EqualityComparer | string;\r\n\r\n/**\r\n * Default equality comparer function.\r\n * @param a First value to compare.\r\n * @param b Second value to compare.\r\n * @returns true if a === b else returns false\r\n */\r\nexport function defaultEqualityComparer(a: any, b: any): boolean {\r\n return a === b;\r\n}\r\n\r\n/**\r\n * Converts an EqualityComparerLike to an EqualityComparer function.\r\n * @param e The EqualityComparerLike to convert.\r\n * @returns The converted EqualityComparer.\r\n */\r\nexport function equalityComparerAttribute(e: EqualityComparerLike): EqualityComparer {\r\n if (typeof e === 'function')\r\n return e;\r\n if (typeof e === 'string') {\r\n return (a: any, b: any) => {\r\n let a2 = a != null && Object.hasOwn(a, e) ? a[e] : a;\r\n let b2 = b != null && Object.hasOwn(b, e) ? b[e] : b;\r\n return a2 === b2;\r\n }\r\n }\r\n\r\n throw Error('invalid equality comparer');\r\n}\r\n","/**\r\n * Value writer function type.\r\n * @param a The input value\r\n * @returns The written value\r\n */\r\nexport type ValueWriter = (a: any) => any;\r\n\r\n/**\r\n * Value writer can be a function or a string representing the property name to extract the value from.\r\n */\r\nexport type ValueWriterLike = ValueWriter | string;\r\n\r\n\r\n/**\r\n * Default value writer function.\r\n * @param a The input value\r\n * @returns the input value (it does not transform it)\r\n */\r\nexport function defaultValueWriter(a: any): any {\r\n return a;\r\n}\r\n\r\n/**\r\n * Converts a ValueWriterLike to a ValueWriterFunction.\r\n * @param v The value writer to convert.\r\n * @returns A ValueWriter function.\r\n */\r\nexport function valueWriterAttribute(v: ValueWriterLike): ValueWriter {\r\n if (typeof v === 'function')\r\n return v;\r\n if (typeof v === 'string') {\r\n return (item: any) => item ? item[v] : undefined;\r\n }\r\n\r\n throw Error('invalid value writer');\r\n}\r\n","/**\r\n * A comparison function type that defines an ordering relation between two values.\r\n * @param a The first value to compare.\r\n * @param b The second value to compare.\r\n * @returns\r\n * - A negative number if `a` should come before `b`\r\n * - A positive number if `a` should come after `b`\r\n * - Zero if `a` and `b` are considered equal\r\n */\r\nexport type Comparer = (a: any, b: any) => number;\r\n\r\n/**\r\n * Value comparer can be a function or a string representing the property name to compare.\r\n */\r\nexport type ComparerLike = Comparer | string;\r\n\r\n/**\r\n * A simple comparer function.\r\n * @param a The first value to compare.\r\n * @param b The second value to compare.\r\n * @returns -1 if a < b, 1 if a > b, 0 if a === b\r\n */\r\nexport function defaultComparer(a: any, b: any): number {\r\n return a === b ? 0 : a < b ? -1 : 1;\r\n}\r\n\r\n/**\r\n * Converts a ComparerLike to a Comparer.\r\n * @param v The comparer to convert.\r\n * @returns A function that compares two values.\r\n */\r\nexport function comparerAttribute(v: ComparerLike): Comparer {\r\n if (typeof v === 'function')\r\n return v;\r\n if (typeof v === 'string') {\r\n return (a: any, b: any) => a?.[v] === b?.[v] ? 0 : a?.[v] < b?.[v] ? -1 : 1;\r\n }\r\n\r\n throw Error('invalid value comparer');\r\n}\r\n\r\n","/**\r\n * Filter predicate function type.\r\n * @param item The item to test against the filter.\r\n * @param params Additional parameters to pass to the filter.\r\n * @returns True if the item matches the filter, false otherwise.\r\n */\r\nexport type FilterPredicate = (item: any, ...params: any[]) => boolean;\r\n\r\n/**\r\n * Filter predicate can be a function or a string representing the property name to filter.\r\n */\r\nexport type FilterPredicateLike = FilterPredicate | string;\r\n\r\n/**\r\n * No-op filter predicate that always returns true.\r\n * @param item The item to test against the filter.\r\n * @returns true\r\n */\r\nexport const noopFilter: FilterPredicate = (item: any, ...params: any[]) => true;\r\n\r\n\r\n/**\r\n * A simple filter predicate that checks if the item's string representation includes the match string.\r\n * @param item The item to test against the filter.\r\n * @param match The string to match.\r\n * @returns True if the item matches the filter, false otherwise.\r\n */\r\nexport const defaultFilter: FilterPredicate = (item: any, match: string) => {\r\n if (match == undefined || match == '') {\r\n return true;\r\n }\r\n\r\n if (item == undefined) {\r\n return false;\r\n }\r\n\r\n return (item as Object).toString().toLowerCase().includes(match.toLowerCase());\r\n}\r\n\r\n\r\n/**\r\n * Converts a FilterPredicateLike to a FilterPredicate function.\r\n * If the input is a string, it creates a predicate that checks the property with that name.\r\n * @param v The FilterPredicateLike to convert.\r\n * @returns The corresponding FilterPredicate function.\r\n */\r\nexport function filterPredicateAttribute(v: FilterPredicateLike): FilterPredicate {\r\n if (typeof v === 'function')\r\n return v;\r\n else if (typeof v === 'string') {\r\n return (item: any, match: string) => \r\n item != null && Object.hasOwn(item, v) ? defaultFilter(item[v], match) : false;\r\n }\r\n\r\n throw Error('invalid filter predicate');\r\n}\r\n","import { TrackByFunction } from \"@angular/core\";\r\n\r\n/**\r\n * An item tracker that can be either a TrackByFunction or a string property name.\r\n */\r\nexport type TrackByLike = TrackByFunction<any> | string;\r\n\r\n/**\r\n * A trackBy function that tracks items by their index.\r\n */\r\nexport const trackByIndex: TrackByFunction<any> = (index: number, item: any) => index;\r\n\r\n/**\r\n * A trackBy function that tracks items by the item itself.\r\n */\r\nexport const trackByItem: TrackByFunction<any> = (index: number, item: any) => item;\r\n\r\n/**\r\n * Converts a TrackByLike to a TrackByFunction.\r\n * @param v The item tracker to convert.\r\n * @returns A TrackByFunction.\r\n */\r\nexport function TrackByAttribute(v: TrackByLike): TrackByFunction<any> {\r\n if (typeof v === 'function')\r\n return v;\r\n else if (typeof v === 'string') {\r\n if(v.startsWith('@item')) {\r\n return trackByItem;\r\n } else if(v.startsWith('@index')) {\r\n return trackByIndex;\r\n } else {\r\n return (index: number, item: any) => item ? item[v] : undefined;\r\n }\r\n }\r\n\r\n throw Error('invalid TrackBy value');\r\n}\r\n","import { input, inject, Directive, TemplateRef, effect, ViewContainerRef, EmbeddedViewRef } from '@angular/core';\r\n\r\n/**\r\n * IfDirective is a structural directive that conditionally includes or excludes a template\r\n * based on the boolean value of the `show` input property.\r\n * \r\n */\r\n@Directive({\r\n selector: '[ng0If]',\r\n exportAs: 'ng0If',\r\n standalone: true,\r\n})\r\nexport class IfDirective {\r\n private readonly _templateRef = inject(TemplateRef<any>);\r\n private _vcr = inject(ViewContainerRef);\r\n private _viewRef?: EmbeddedViewRef<any>;\r\n public readonly show = input(true, { alias: 'ng0If' });\r\n\r\n constructor() {\r\n effect(() => {\r\n if (this.show()) {\r\n if (!this._viewRef) {\r\n this._viewRef = this._vcr.createEmbeddedView(this._templateRef);\r\n }\r\n\r\n if (this._vcr.length === 0) {\r\n this._vcr.insert(this._viewRef);\r\n }\r\n } else {\r\n if (this._vcr.length > 0) {\r\n this._vcr.detach(0);\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -25,10 +25,10 @@ class AccordionItemComponent {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: AccordionItemComponent, isStandalone: true, selector: "ng0-accordion-item", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange" }, exportAs: ["ng0AccordionItem"], ngImport: i0, template: "<h6 class=\"accordion-header\">\r\n <button class=\"accordion-button\" type=\"button\" [class.collapsed]=\"collapsed()\" (click)=\"collapsed.set(!collapsed())\">\r\n {{header()}}\r\n </button>\r\n</h6>\r\n\r\n<ng0-collapse [collapsed]=\"collapsed()\">\r\n <div class=\"accordion-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</ng0-collapse>", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: CollapseComponent, selector: "ng0-collapse", inputs: ["collapsed", "timings"], outputs: ["collapsedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionItemComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{ selector: 'ng0-accordion-item', exportAs: 'ng0AccordionItem', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
34
34
|
CollapseComponent
|
|
@@ -50,10 +50,10 @@ class AccordionComponent {
|
|
|
50
50
|
this._renderer = _renderer;
|
|
51
51
|
this._renderer.addClass(this._element.nativeElement, 'accordion');
|
|
52
52
|
}
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: AccordionComponent, isStandalone: true, selector: "ng0-accordion", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "items", predicate: AccordionItemComponent }], exportAs: ["ng0Accordion"], ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
55
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{ selector: 'ng0-accordion', exportAs: 'ng0Accordion', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", styles: [":host{display:block}\n"] }]
|
|
59
59
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], items: [{
|
|
@@ -62,13 +62,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
62
62
|
}] } });
|
|
63
63
|
|
|
64
64
|
class AccordionModule {
|
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
66
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
65
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
66
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: AccordionModule, imports: [AccordionComponent,
|
|
67
67
|
AccordionItemComponent], exports: [AccordionComponent,
|
|
68
68
|
AccordionItemComponent] });
|
|
69
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
69
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionModule, imports: [AccordionItemComponent] });
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: AccordionModule, decorators: [{
|
|
72
72
|
type: NgModule,
|
|
73
73
|
args: [{
|
|
74
74
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-accordion.mjs","sources":["../../../projects/ng0/components/accordion/accordion-item.component.ts","../../../projects/ng0/components/accordion/accordion-item.component.html","../../../projects/ng0/components/accordion/accordion.component.ts","../../../projects/ng0/components/accordion/accordion.component.html","../../../projects/ng0/components/accordion/accordion.module.ts","../../../projects/ng0/components/accordion/bootkit-ng0-components-accordion.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, model, Renderer2 } from '@angular/core';\r\nimport { CollapseComponent } from '@bootkit/ng0/components/collapse';\r\nimport { AccordionComponent } from './accordion.component';\r\n\r\n@Component({\r\n selector: 'ng0-accordion-item',\r\n exportAs: 'ng0AccordionItem',\r\n templateUrl: './accordion-item.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: `:host {display: block;}`,\r\n imports: [\r\n CollapseComponent\r\n ]\r\n})\r\nexport class AccordionItemComponent {\r\n private _element = inject(ElementRef);\r\n private _renderer = inject(Renderer2);\r\n private _accordion = inject(AccordionComponent);\r\n\r\n /**\r\n * The header text of the accordion item.\r\n */\r\n public header = input<string>();\r\n\r\n /**\r\n * Whether the accordion item is collapsed or expanded.\r\n */\r\n public collapsed = model(true);\r\n\r\n constructor() {\r\n this._renderer.addClass(this._element.nativeElement, 'accordion-item');\r\n\r\n effect(() => {\r\n var collapsed = this.collapsed();\r\n if (this._accordion.mode() == 'single') {\r\n if (!collapsed) {\r\n this._accordion.items.filter(x => x !== this).forEach(x => x.collapsed.update(x => true));\r\n }\r\n }\r\n })\r\n }\r\n}\r\n","<h6 class=\"accordion-header\">\r\n <button class=\"accordion-button\" type=\"button\" [class.collapsed]=\"collapsed()\" (click)=\"collapsed.set(!collapsed())\">\r\n {{header()}}\r\n </button>\r\n</h6>\r\n\r\n<ng0-collapse [collapsed]=\"collapsed()\">\r\n <div class=\"accordion-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</ng0-collapse>","import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, input, QueryList, Renderer2 } from '@angular/core';\r\nimport { AccordionItemComponent } from './accordion-item.component';\r\n\r\n@Component({\r\n selector: 'ng0-accordion',\r\n exportAs: 'ng0Accordion',\r\n templateUrl: './accordion.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: `:host {display: block;}`\r\n})\r\nexport class AccordionComponent {\r\n /**\r\n * The mode of the accordion - 'single' or 'multiple'.\r\n * 'single' mode allows only one item to be expanded at a time.\r\n * 'multiple' mode allows multiple items to be expanded simultaneously.\r\n */\r\n public mode = input<'single' | 'multiple'>('single');\r\n\r\n @ContentChildren(AccordionItemComponent)\r\n public readonly items!: QueryList<AccordionItemComponent>;\r\n\r\n constructor(private _element: ElementRef, private _renderer: Renderer2) {\r\n this._renderer.addClass(this._element.nativeElement, 'accordion');\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { AccordionComponent } from './accordion.component';\r\nimport { AccordionItemComponent } from './accordion-item.component';\r\n\r\n@NgModule({\r\n imports: [\r\n AccordionComponent,\r\n AccordionItemComponent,\r\n ],\r\n exports: [\r\n AccordionComponent,\r\n AccordionItemComponent,\r\n ]\r\n})\r\nexport class AccordionModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAea,sBAAsB,CAAA;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7B,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE/C;;AAEG;IACI,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAE/B;;AAEG;AACI,IAAA,SAAS,GAAG,KAAK,CAAC,IAAI,qDAAC;AAE9B,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAEtE,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE;gBACpC,IAAI,CAAC,SAAS,EAAE;AACZ,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC7F;YACJ;AACJ,QAAA,CAAC,CAAC;IACN;
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-accordion.mjs","sources":["../../../projects/ng0/components/accordion/accordion-item.component.ts","../../../projects/ng0/components/accordion/accordion-item.component.html","../../../projects/ng0/components/accordion/accordion.component.ts","../../../projects/ng0/components/accordion/accordion.component.html","../../../projects/ng0/components/accordion/accordion.module.ts","../../../projects/ng0/components/accordion/bootkit-ng0-components-accordion.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, model, Renderer2 } from '@angular/core';\r\nimport { CollapseComponent } from '@bootkit/ng0/components/collapse';\r\nimport { AccordionComponent } from './accordion.component';\r\n\r\n@Component({\r\n selector: 'ng0-accordion-item',\r\n exportAs: 'ng0AccordionItem',\r\n templateUrl: './accordion-item.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: `:host {display: block;}`,\r\n imports: [\r\n CollapseComponent\r\n ]\r\n})\r\nexport class AccordionItemComponent {\r\n private _element = inject(ElementRef);\r\n private _renderer = inject(Renderer2);\r\n private _accordion = inject(AccordionComponent);\r\n\r\n /**\r\n * The header text of the accordion item.\r\n */\r\n public header = input<string>();\r\n\r\n /**\r\n * Whether the accordion item is collapsed or expanded.\r\n */\r\n public collapsed = model(true);\r\n\r\n constructor() {\r\n this._renderer.addClass(this._element.nativeElement, 'accordion-item');\r\n\r\n effect(() => {\r\n var collapsed = this.collapsed();\r\n if (this._accordion.mode() == 'single') {\r\n if (!collapsed) {\r\n this._accordion.items.filter(x => x !== this).forEach(x => x.collapsed.update(x => true));\r\n }\r\n }\r\n })\r\n }\r\n}\r\n","<h6 class=\"accordion-header\">\r\n <button class=\"accordion-button\" type=\"button\" [class.collapsed]=\"collapsed()\" (click)=\"collapsed.set(!collapsed())\">\r\n {{header()}}\r\n </button>\r\n</h6>\r\n\r\n<ng0-collapse [collapsed]=\"collapsed()\">\r\n <div class=\"accordion-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</ng0-collapse>","import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, input, QueryList, Renderer2 } from '@angular/core';\r\nimport { AccordionItemComponent } from './accordion-item.component';\r\n\r\n@Component({\r\n selector: 'ng0-accordion',\r\n exportAs: 'ng0Accordion',\r\n templateUrl: './accordion.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: `:host {display: block;}`\r\n})\r\nexport class AccordionComponent {\r\n /**\r\n * The mode of the accordion - 'single' or 'multiple'.\r\n * 'single' mode allows only one item to be expanded at a time.\r\n * 'multiple' mode allows multiple items to be expanded simultaneously.\r\n */\r\n public mode = input<'single' | 'multiple'>('single');\r\n\r\n @ContentChildren(AccordionItemComponent)\r\n public readonly items!: QueryList<AccordionItemComponent>;\r\n\r\n constructor(private _element: ElementRef, private _renderer: Renderer2) {\r\n this._renderer.addClass(this._element.nativeElement, 'accordion');\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { AccordionComponent } from './accordion.component';\r\nimport { AccordionItemComponent } from './accordion-item.component';\r\n\r\n@NgModule({\r\n imports: [\r\n AccordionComponent,\r\n AccordionItemComponent,\r\n ],\r\n exports: [\r\n AccordionComponent,\r\n AccordionItemComponent,\r\n ]\r\n})\r\nexport class AccordionModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ import { trigger, transition, style, animate } from '@angular/animations';
|
|
|
7
7
|
*/
|
|
8
8
|
class BackdropComponent {
|
|
9
9
|
fixed = signal(false, ...(ngDevMode ? [{ debugName: "fixed" }] : []));
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
11
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: BackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: BackdropComponent, isStandalone: true, selector: "ng0-backdrop", host: { properties: { "@fade": "", "class.fixed": "fixed()" } }, ngImport: i0, template: '', isInline: true, styles: [":host{--ng0-backdrop-background: rgba(0, 0, 0, .5);position:absolute;inset:0;background:var(--ng0-backdrop-background)}:host.fixed{position:fixed}\n"], animations: [
|
|
12
12
|
trigger('fade', [
|
|
13
13
|
transition(':enter', [
|
|
14
14
|
style({ opacity: 0 }),
|
|
@@ -20,7 +20,7 @@ class BackdropComponent {
|
|
|
20
20
|
]),
|
|
21
21
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: BackdropComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'ng0-backdrop', template: '', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
26
26
|
trigger('fade', [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-backdrop.mjs","sources":["../../../projects/ng0/components/backdrop/backdrop.component.ts","../../../projects/ng0/components/backdrop/bootkit-ng0-components-backdrop.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n} from '@angular/animations';\r\n\r\n/**\r\n * This component is used to display a backdrop behind another component.\r\n */\r\n@Component({\r\n selector: 'ng0-backdrop',\r\n template: '',\r\n styleUrl: 'backdrop.component.scss',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('fade', [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate('100ms ease', style({ opacity: 1 })),\r\n ]),\r\n transition(':leave', [\r\n animate('100ms ease', style({ opacity: 0 })),\r\n ]),\r\n ]),\r\n ],\r\n host: {\r\n '[@fade]': '', // Binds the animation trigger to the host\r\n '[class.fixed]': \"fixed()\"\r\n }\r\n})\r\nexport class BackdropComponent {\r\n public readonly fixed = signal(false);\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAQA;;AAEG;MAuBU,iBAAiB,CAAA;AACZ,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,iDAAC;
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-backdrop.mjs","sources":["../../../projects/ng0/components/backdrop/backdrop.component.ts","../../../projects/ng0/components/backdrop/bootkit-ng0-components-backdrop.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n} from '@angular/animations';\r\n\r\n/**\r\n * This component is used to display a backdrop behind another component.\r\n */\r\n@Component({\r\n selector: 'ng0-backdrop',\r\n template: '',\r\n styleUrl: 'backdrop.component.scss',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('fade', [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate('100ms ease', style({ opacity: 1 })),\r\n ]),\r\n transition(':leave', [\r\n animate('100ms ease', style({ opacity: 0 })),\r\n ]),\r\n ]),\r\n ],\r\n host: {\r\n '[@fade]': '', // Binds the animation trigger to the host\r\n '[class.fixed]': \"fixed()\"\r\n }\r\n})\r\nexport class BackdropComponent {\r\n public readonly fixed = signal(false);\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAQA;;AAEG;MAuBU,iBAAiB,CAAA;AACZ,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,iDAAC;wGAD1B,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApBlB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sJAAA,CAAA,EAAA,UAAA,EAIA;YACV,OAAO,CAAC,MAAM,EAAE;gBACd,UAAU,CAAC,QAAQ,EAAE;AACnB,oBAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7C,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7C,CAAC;aACH,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAMU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAtB7B,SAAS;+BACE,cAAc,EAAA,QAAA,EACd,EAAE,EAAA,UAAA,EAEA,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC;wBACV,OAAO,CAAC,MAAM,EAAE;4BACd,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACrB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC7C,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC7C,CAAC;yBACH,CAAC;qBACH,EAAA,IAAA,EACK;wBACJ,SAAS,EAAE,EAAE;AACb,wBAAA,eAAe,EAAE;AAClB,qBAAA,EAAA,MAAA,EAAA,CAAA,sJAAA,CAAA,EAAA;;;AC/BH;;AAEG;;;;"}
|
|
@@ -76,10 +76,10 @@ class ButtonDirective {
|
|
|
76
76
|
}
|
|
77
77
|
ngOnDestroy() {
|
|
78
78
|
}
|
|
79
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
80
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
79
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.HttpService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
80
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.11", type: ButtonDirective, isStandalone: true, selector: "button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]", inputs: { request: { classPropertyName: "request", publicName: "request", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disableDuringRequest: { classPropertyName: "disableDuringRequest", publicName: "disableDuringRequest", isSignal: true, isRequired: false, transformFunction: null }, loadingIndicator: { classPropertyName: "loadingIndicator", publicName: "loadingIndicator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange" }, host: { properties: { "class.disabled": "disabled()", "prop.disabled": "disabled()", "attr.aria-disabled": "disabled()", "attr.tabindex": "disabled() ? \"-1\" : \"\" " } }, exportAs: ["ng0Button"], ngImport: i0 });
|
|
81
81
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ButtonDirective, decorators: [{
|
|
83
83
|
type: Directive,
|
|
84
84
|
args: [{
|
|
85
85
|
selector: 'button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]',
|
|
@@ -95,11 +95,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
95
95
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.HttpService }, { type: i0.DestroyRef }], propDecorators: { request: [{ type: i0.Input, args: [{ isSignal: true, alias: "request", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], disableDuringRequest: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableDuringRequest", required: false }] }], loadingIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIndicator", required: false }] }] } });
|
|
96
96
|
|
|
97
97
|
class ButtonModule {
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
99
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
100
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
99
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: ButtonModule, imports: [ButtonDirective], exports: [ButtonDirective] });
|
|
100
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ButtonModule });
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ButtonModule, decorators: [{
|
|
103
103
|
type: NgModule,
|
|
104
104
|
args: [{
|
|
105
105
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-button.mjs","sources":["../../../projects/ng0/components/button/button.directive.ts","../../../projects/ng0/components/button/button.module.ts","../../../projects/ng0/components/button/bootkit-ng0-components-button.ts"],"sourcesContent":["import { Directive, Renderer2, ElementRef, OnInit, OnDestroy, input, DestroyRef, model, booleanAttribute } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { HttpService } from '@bootkit/ng0/http';\r\n\r\n@Directive({\r\n selector: 'button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]',\r\n exportAs: 'ng0Button',\r\n standalone: true,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n '[prop.disabled]': 'disabled()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.tabindex]': 'disabled() ? \"-1\" : \"\" ',\r\n }\r\n})\r\nexport class ButtonDirective implements OnInit, OnDestroy {\r\n private _loadingElement: any;\r\n\r\n /**\r\n * The IDs of the HTTP requests that this button listens to.\r\n * If one of these requests is in progress, it will show a loading indicator or will be disabled based on 'showLoading' and 'disableOnLoading' properties.\r\n */\r\n public request = input<string | string[] | undefined>(undefined);\r\n\r\n /** \r\n * Whether the button is disabled or not.\r\n */\r\n public disabled = model<boolean>(false);\r\n\r\n /**\r\n * Whether to wait for the HTTP response before enabling the button again.\r\n * If true, the button will remain disabled until the HTTP request completes.\r\n * This is useful for preventing multiple clicks while waiting for a response.\r\n * Default is true.\r\n */\r\n public disableDuringRequest = input(true, {transform: booleanAttribute});\r\n\r\n /**\r\n * Whether to show a loading indicator when the HTTP request is in progress.\r\n * If true, a loading spinner will be displayed on the button while the request is being processed.\r\n * Default is true.\r\n */\r\n public loadingIndicator = input(false, {transform: booleanAttribute});\r\n\r\n constructor(\r\n private _element: ElementRef,\r\n private _renderer: Renderer2,\r\n private _http: HttpService,\r\n private _destroyRef: DestroyRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._renderer.setStyle(this._element.nativeElement, \"position\", \"relative\");\r\n\r\n if (this.request()) {\r\n this._http.events.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(e => {\r\n var ids = (Array.isArray(this.request()) ? this.request() : [this.request()]) as string[];\r\n\r\n if (ids.includes(e?.options?.id)) {\r\n let requestInProgress = e.type === 'Send' || e.type === 'Progress';\r\n\r\n if (this.disableDuringRequest()) {\r\n this.disabled.set(requestInProgress);\r\n }\r\n\r\n if (this.loadingIndicator()) {\r\n if (requestInProgress) {\r\n this._showLoading();\r\n } else {\r\n this._hideLoading();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n // @HostListener('click', ['$event']) private _onClick(e: MouseEvent): void {\r\n // if (!this._disabled) {\r\n // }\r\n // }\r\n\r\n private _showLoading() {\r\n this._loadingElement = this._renderer.createElement(\"div\");\r\n [\"spinner-grow\", \"spinner-grow-sm\", \"text-warning\"].forEach(s => this._renderer.addClass(this._loadingElement, s));\r\n this._renderer.setStyle(this._loadingElement, \"position\", \"absolute\");\r\n this._renderer.setStyle(this._loadingElement, \"top\", \"-25%\");\r\n this._renderer.setStyle(this._loadingElement, \"left\", \"-5px\");\r\n this._renderer.appendChild(this._element.nativeElement, this._loadingElement);\r\n }\r\n\r\n private _hideLoading() {\r\n this._renderer.removeChild(this._element.nativeElement, this._loadingElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonDirective } from './button.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n ButtonDirective,\r\n ],\r\n exports: [\r\n ButtonDirective,\r\n ]\r\n})\r\nexport class ButtonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-button.mjs","sources":["../../../projects/ng0/components/button/button.directive.ts","../../../projects/ng0/components/button/button.module.ts","../../../projects/ng0/components/button/bootkit-ng0-components-button.ts"],"sourcesContent":["import { Directive, Renderer2, ElementRef, OnInit, OnDestroy, input, DestroyRef, model, booleanAttribute } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { HttpService } from '@bootkit/ng0/http';\r\n\r\n@Directive({\r\n selector: 'button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]',\r\n exportAs: 'ng0Button',\r\n standalone: true,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n '[prop.disabled]': 'disabled()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.tabindex]': 'disabled() ? \"-1\" : \"\" ',\r\n }\r\n})\r\nexport class ButtonDirective implements OnInit, OnDestroy {\r\n private _loadingElement: any;\r\n\r\n /**\r\n * The IDs of the HTTP requests that this button listens to.\r\n * If one of these requests is in progress, it will show a loading indicator or will be disabled based on 'showLoading' and 'disableOnLoading' properties.\r\n */\r\n public request = input<string | string[] | undefined>(undefined);\r\n\r\n /** \r\n * Whether the button is disabled or not.\r\n */\r\n public disabled = model<boolean>(false);\r\n\r\n /**\r\n * Whether to wait for the HTTP response before enabling the button again.\r\n * If true, the button will remain disabled until the HTTP request completes.\r\n * This is useful for preventing multiple clicks while waiting for a response.\r\n * Default is true.\r\n */\r\n public disableDuringRequest = input(true, {transform: booleanAttribute});\r\n\r\n /**\r\n * Whether to show a loading indicator when the HTTP request is in progress.\r\n * If true, a loading spinner will be displayed on the button while the request is being processed.\r\n * Default is true.\r\n */\r\n public loadingIndicator = input(false, {transform: booleanAttribute});\r\n\r\n constructor(\r\n private _element: ElementRef,\r\n private _renderer: Renderer2,\r\n private _http: HttpService,\r\n private _destroyRef: DestroyRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._renderer.setStyle(this._element.nativeElement, \"position\", \"relative\");\r\n\r\n if (this.request()) {\r\n this._http.events.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(e => {\r\n var ids = (Array.isArray(this.request()) ? this.request() : [this.request()]) as string[];\r\n\r\n if (ids.includes(e?.options?.id)) {\r\n let requestInProgress = e.type === 'Send' || e.type === 'Progress';\r\n\r\n if (this.disableDuringRequest()) {\r\n this.disabled.set(requestInProgress);\r\n }\r\n\r\n if (this.loadingIndicator()) {\r\n if (requestInProgress) {\r\n this._showLoading();\r\n } else {\r\n this._hideLoading();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n // @HostListener('click', ['$event']) private _onClick(e: MouseEvent): void {\r\n // if (!this._disabled) {\r\n // }\r\n // }\r\n\r\n private _showLoading() {\r\n this._loadingElement = this._renderer.createElement(\"div\");\r\n [\"spinner-grow\", \"spinner-grow-sm\", \"text-warning\"].forEach(s => this._renderer.addClass(this._loadingElement, s));\r\n this._renderer.setStyle(this._loadingElement, \"position\", \"absolute\");\r\n this._renderer.setStyle(this._loadingElement, \"top\", \"-25%\");\r\n this._renderer.setStyle(this._loadingElement, \"left\", \"-5px\");\r\n this._renderer.appendChild(this._element.nativeElement, this._loadingElement);\r\n }\r\n\r\n private _hideLoading() {\r\n this._renderer.removeChild(this._element.nativeElement, this._loadingElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonDirective } from './button.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n ButtonDirective,\r\n ],\r\n exports: [\r\n ButtonDirective,\r\n ]\r\n})\r\nexport class ButtonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAea,eAAe,CAAA;AA8BhB,IAAA,QAAA;AACA,IAAA,SAAA;AACA,IAAA,KAAA;AACA,IAAA,WAAA;AAhCF,IAAA,eAAe;AAEvB;;;AAGG;AACI,IAAA,OAAO,GAAG,KAAK,CAAgC,SAAS,mDAAC;AAEhE;;AAEG;AACI,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAEvC;;;;;AAKG;AACI,IAAA,oBAAoB,GAAG,KAAK,CAAC,IAAI,wDAAG,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA5B,EAAC,SAAS,EAAE,gBAAgB,EAAC,GAAC;AAExE;;;;AAIG;AACI,IAAA,gBAAgB,GAAG,KAAK,CAAC,KAAK,oDAAG,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA5B,EAAC,SAAS,EAAE,gBAAgB,EAAC,GAAC;AAErE,IAAA,WAAA,CACU,QAAoB,EACpB,SAAoB,EACpB,KAAkB,EAClB,WAAuB,EAAA;QAHvB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,WAAW,GAAX,WAAW;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;AAE5E,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AACzE,gBAAA,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAa;gBAEzF,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE;AAChC,oBAAA,IAAI,iBAAiB,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;AAElE,oBAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAC/B,wBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACtC;AAEA,oBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;wBAC3B,IAAI,iBAAiB,EAAE;4BACrB,IAAI,CAAC,YAAY,EAAE;wBACrB;6BAAO;4BACL,IAAI,CAAC,YAAY,EAAE;wBACrB;oBACF;gBACF;AACF,YAAA,CAAC,CAAC;QACJ;IACF;;;;;IAOQ,YAAY,GAAA;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;QAC1D,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAClH,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;AACrE,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC;AAC5D,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC;AAC7D,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/E;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/E;IAEA,WAAW,GAAA;IACX;wGAjFW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6HAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6HAA6H;AACvI,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,kBAAkB,EAAE,YAAY;AAChC,wBAAA,iBAAiB,EAAE,YAAY;AAC/B,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,iBAAiB,EAAE,yBAAyB;AAC7C;AACF,iBAAA;;;MCHY,YAAY,CAAA;wGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAZ,YAAY,EAAA,OAAA,EAAA,CANrB,eAAe,CAAA,EAAA,OAAA,EAAA,CAGf,eAAe,CAAA,EAAA,CAAA;yGAGN,YAAY,EAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -12,10 +12,10 @@ class CardComponent {
|
|
|
12
12
|
this._renderer = _renderer;
|
|
13
13
|
this._renderer.addClass(this._element.nativeElement, 'card');
|
|
14
14
|
}
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
16
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: CardComponent, isStandalone: true, selector: "ng0-card", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ng0Card"], ngImport: i0, template: "<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ selector: 'ng0-card', exportAs: 'ng0Card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
|
|
21
21
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }] } });
|
|
@@ -27,10 +27,10 @@ class CardHeaderComponent {
|
|
|
27
27
|
this._element = _element;
|
|
28
28
|
this._renderer = _renderer;
|
|
29
29
|
}
|
|
30
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
31
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardHeaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: CardHeaderComponent, isStandalone: true, selector: "ng0-card-header", exportAs: ["ng0CardHeader"], ngImport: i0, template: "<ng-content></ng-content>", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardHeaderComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'ng0-card-header', exportAs: 'ng0CardHeader', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>" }]
|
|
36
36
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
@@ -40,13 +40,13 @@ const DECLARES = [
|
|
|
40
40
|
CardHeaderComponent
|
|
41
41
|
];
|
|
42
42
|
class CardModule {
|
|
43
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
44
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
44
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: CardModule, imports: [CardComponent,
|
|
45
45
|
CardHeaderComponent], exports: [CardComponent,
|
|
46
46
|
CardHeaderComponent] });
|
|
47
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
47
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardModule, imports: [DECLARES] });
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CardModule, decorators: [{
|
|
50
50
|
type: NgModule,
|
|
51
51
|
args: [{
|
|
52
52
|
imports: DECLARES,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-card.mjs","sources":["../../../projects/ng0/components/card/card.component.ts","../../../projects/ng0/components/card/card.component.html","../../../projects/ng0/components/card/card-header.component.ts","../../../projects/ng0/components/card/card-header.component.html","../../../projects/ng0/components/card/card.module.ts","../../../projects/ng0/components/card/bootkit-ng0-components-card.ts"],"sourcesContent":["import { Component, ElementRef, Renderer2, ContentChild, ChangeDetectionStrategy, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-card',\r\n exportAs: 'ng0Card',\r\n templateUrl: 'card.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class CardComponent {\r\n public header = input<string>();\r\n \r\n constructor(private _element: ElementRef, private _renderer: Renderer2) {\r\n this._renderer.addClass(this._element.nativeElement, 'card'); \r\n }\r\n}\r\n","<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-card-header',\r\n exportAs: 'ng0CardHeader',\r\n templateUrl: 'card-header.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class CardHeaderComponent {\r\n constructor(private _element: ElementRef, private _renderer: Renderer2) { \r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CardComponent } from './card.component';\r\nimport { CardHeaderComponent } from './card-header.component';\r\n\r\nconst DECLARES = [\r\n CardComponent,\r\n CardHeaderComponent\r\n];\r\n\r\n@NgModule({\r\n imports: DECLARES,\r\n exports: DECLARES\r\n})\r\nexport class CardModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,aAAa,CAAA;AAGF,IAAA,QAAA;AAA8B,IAAA,SAAA;IAF3C,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAE/B,WAAA,CAAoB,QAAoB,EAAU,SAAoB,EAAA;QAAlD,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAAsB,IAAA,CAAA,SAAS,GAAT,SAAS;AACvD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAChE;
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-card.mjs","sources":["../../../projects/ng0/components/card/card.component.ts","../../../projects/ng0/components/card/card.component.html","../../../projects/ng0/components/card/card-header.component.ts","../../../projects/ng0/components/card/card-header.component.html","../../../projects/ng0/components/card/card.module.ts","../../../projects/ng0/components/card/bootkit-ng0-components-card.ts"],"sourcesContent":["import { Component, ElementRef, Renderer2, ContentChild, ChangeDetectionStrategy, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-card',\r\n exportAs: 'ng0Card',\r\n templateUrl: 'card.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class CardComponent {\r\n public header = input<string>();\r\n \r\n constructor(private _element: ElementRef, private _renderer: Renderer2) {\r\n this._renderer.addClass(this._element.nativeElement, 'card'); \r\n }\r\n}\r\n","<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-card-header',\r\n exportAs: 'ng0CardHeader',\r\n templateUrl: 'card-header.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class CardHeaderComponent {\r\n constructor(private _element: ElementRef, private _renderer: Renderer2) { \r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CardComponent } from './card.component';\r\nimport { CardHeaderComponent } from './card-header.component';\r\n\r\nconst DECLARES = [\r\n CardComponent,\r\n CardHeaderComponent\r\n];\r\n\r\n@NgModule({\r\n imports: DECLARES,\r\n exports: DECLARES\r\n})\r\nexport class CardModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -25,10 +25,10 @@ class CodeFormatters {
|
|
|
25
25
|
find(name) {
|
|
26
26
|
return this._formatters.find(x => x.name == name);
|
|
27
27
|
}
|
|
28
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CodeFormatters, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CodeFormatters, providedIn: 'root' });
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CodeFormatters, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{
|
|
34
34
|
providedIn: 'root'
|
|
@@ -54,10 +54,10 @@ class CodeComponent {
|
|
|
54
54
|
this.formatters = formatters;
|
|
55
55
|
this.domSanitizer = domSanitizer;
|
|
56
56
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CodeComponent, deps: [{ token: CodeFormatters }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.11", type: CodeComponent, isStandalone: true, selector: "ng0-code", inputs: { formatter: { classPropertyName: "formatter", publicName: "formatter", isSignal: true, isRequired: true, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["ng0Code"], ngImport: i0, template: "<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>", styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CodeComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ selector: 'ng0-code', exportAs: 'ng0Code', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>", styles: [":host{display:block}\n"] }]
|
|
63
63
|
}], ctorParameters: () => [{ type: CodeFormatters }, { type: i2.DomSanitizer }], propDecorators: { formatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatter", required: true }] }], code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: true }] }] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-code.mjs","sources":["../../../projects/ng0/components/code/types.ts","../../../projects/ng0/components/code/code-formatters.ts","../../../projects/ng0/components/code/code.component.ts","../../../projects/ng0/components/code/code.component.html","../../../projects/ng0/components/code/bootkit-ng0-components-code.ts"],"sourcesContent":["export type CodeFormatterFunc = (code: string) => string;\r\n\r\nexport class CodeFormatter {\r\n constructor(public readonly name: string, public readonly format: CodeFormatterFunc) {\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CodeFormatter, CodeFormatterFunc } from './types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CodeFormatters {\r\n private _formatters = new Array<CodeFormatter>();\r\n\r\n constructor() { }\r\n\r\n add(name: string, func: CodeFormatterFunc): CodeFormatter {\r\n var formatter = this._formatters.find(x => x.name == name);\r\n if (!formatter) {\r\n formatter = new CodeFormatter(name, func);\r\n this._formatters.push(formatter);\r\n }\r\n\r\n return formatter;\r\n }\r\n\r\n find(name: string) {\r\n return this._formatters.find(x => x.name == name);\r\n }\r\n}\r\n\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CodeFormatters } from './code-formatters';\r\n\r\n@Component({\r\n selector: 'ng0-code',\r\n exportAs: 'ng0Code',\r\n styleUrls: ['./code.component.scss'],\r\n templateUrl: './code.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CodeComponent {\r\n\r\n /** Code formatter name */\r\n formatter = input.required<string>();\r\n\r\n /** Code */\r\n code = input.required<string>();\r\n\r\n protected _safeHtml = computed(() => {\r\n var frmt = this.formatters.find(this.formatter());\r\n\r\n if (frmt == null) {\r\n console.warn(`Code formatter named \"${this.formatter()}\" not found.`)\r\n return undefined;\r\n }\r\n\r\n return this.domSanitizer.bypassSecurityTrustHtml(frmt.format(this.code()));\r\n })\r\n\r\n constructor(private formatters: CodeFormatters, private domSanitizer: DomSanitizer) { }\r\n}\r\n","<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CodeFormatters"],"mappings":";;;;MAEa,aAAa,CAAA;AACM,IAAA,IAAA;AAA8B,IAAA,MAAA;IAA1D,WAAA,CAA4B,IAAY,EAAkB,MAAyB,EAAA;QAAvD,IAAA,CAAA,IAAI,GAAJ,IAAI;QAA0B,IAAA,CAAA,MAAM,GAAN,MAAM;IAChE;AACH;;MCCY,cAAc,CAAA;AACf,IAAA,WAAW,GAAG,IAAI,KAAK,EAAiB;AAEhD,IAAA,WAAA,GAAA,EAAgB;IAEhB,GAAG,CAAC,IAAY,EAAE,IAAuB,EAAA;AACrC,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE;YACZ,SAAS,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;AACzC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QACpC;AAEA,QAAA,OAAO,SAAS;IACpB;AAEA,IAAA,IAAI,CAAC,IAAY,EAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;IACrD;
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-code.mjs","sources":["../../../projects/ng0/components/code/types.ts","../../../projects/ng0/components/code/code-formatters.ts","../../../projects/ng0/components/code/code.component.ts","../../../projects/ng0/components/code/code.component.html","../../../projects/ng0/components/code/bootkit-ng0-components-code.ts"],"sourcesContent":["export type CodeFormatterFunc = (code: string) => string;\r\n\r\nexport class CodeFormatter {\r\n constructor(public readonly name: string, public readonly format: CodeFormatterFunc) {\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CodeFormatter, CodeFormatterFunc } from './types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CodeFormatters {\r\n private _formatters = new Array<CodeFormatter>();\r\n\r\n constructor() { }\r\n\r\n add(name: string, func: CodeFormatterFunc): CodeFormatter {\r\n var formatter = this._formatters.find(x => x.name == name);\r\n if (!formatter) {\r\n formatter = new CodeFormatter(name, func);\r\n this._formatters.push(formatter);\r\n }\r\n\r\n return formatter;\r\n }\r\n\r\n find(name: string) {\r\n return this._formatters.find(x => x.name == name);\r\n }\r\n}\r\n\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CodeFormatters } from './code-formatters';\r\n\r\n@Component({\r\n selector: 'ng0-code',\r\n exportAs: 'ng0Code',\r\n styleUrls: ['./code.component.scss'],\r\n templateUrl: './code.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CodeComponent {\r\n\r\n /** Code formatter name */\r\n formatter = input.required<string>();\r\n\r\n /** Code */\r\n code = input.required<string>();\r\n\r\n protected _safeHtml = computed(() => {\r\n var frmt = this.formatters.find(this.formatter());\r\n\r\n if (frmt == null) {\r\n console.warn(`Code formatter named \"${this.formatter()}\" not found.`)\r\n return undefined;\r\n }\r\n\r\n return this.domSanitizer.bypassSecurityTrustHtml(frmt.format(this.code()));\r\n })\r\n\r\n constructor(private formatters: CodeFormatters, private domSanitizer: DomSanitizer) { }\r\n}\r\n","<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CodeFormatters"],"mappings":";;;;MAEa,aAAa,CAAA;AACM,IAAA,IAAA;AAA8B,IAAA,MAAA;IAA1D,WAAA,CAA4B,IAAY,EAAkB,MAAyB,EAAA;QAAvD,IAAA,CAAA,IAAI,GAAJ,IAAI;QAA0B,IAAA,CAAA,MAAM,GAAN,MAAM;IAChE;AACH;;MCCY,cAAc,CAAA;AACf,IAAA,WAAW,GAAG,IAAI,KAAK,EAAiB;AAEhD,IAAA,WAAA,GAAA,EAAgB;IAEhB,GAAG,CAAC,IAAY,EAAE,IAAuB,EAAA;AACrC,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE;YACZ,SAAS,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;AACzC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QACpC;AAEA,QAAA,OAAO,SAAS;IACpB;AAEA,IAAA,IAAI,CAAC,IAAY,EAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;IACrD;wGAjBS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFX,MAAM,EAAA,CAAA;;4FAET,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCOY,aAAa,CAAA;AAmBJ,IAAA,UAAA;AAAoC,IAAA,YAAA;;AAhBxD,IAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,oDAAU;;AAGpC,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAU;AAErB,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AAClC,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAEjD,QAAA,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAAC,SAAS,EAAE,CAAA,YAAA,CAAc,CAAC;AACrE,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5E,IAAA,CAAC,qDAAC;IAEF,WAAA,CAAoB,UAA0B,EAAU,YAA0B,EAAA;QAA9D,IAAA,CAAA,UAAU,GAAV,UAAU;QAA0B,IAAA,CAAA,YAAY,GAAZ,YAAY;IAAkB;wGAnB3E,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,8VCZ1B,8SAAkS,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDYrR,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,YACV,SAAS,EAAA,UAAA,EAGP,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8SAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;;AEVjD;;AAEG;;;;"}
|
|
@@ -81,10 +81,10 @@ class CollapseDirective {
|
|
|
81
81
|
ngOnDestroy() {
|
|
82
82
|
this._player?.destroy();
|
|
83
83
|
}
|
|
84
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
85
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
84
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
85
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.11", type: CollapseDirective, isStandalone: true, selector: "[ng0Collapse]", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, timings: { classPropertyName: "timings", publicName: "timings", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ng0Collapse"], ngImport: i0 });
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseDirective, decorators: [{
|
|
88
88
|
type: Directive,
|
|
89
89
|
args: [{
|
|
90
90
|
selector: '[ng0Collapse]',
|
|
@@ -109,8 +109,8 @@ class CollapseComponent {
|
|
|
109
109
|
get _collapseExpand() {
|
|
110
110
|
return { value: this.collapsed() ? 'collapsed' : 'expanded', params: { timings: this.timings() } };
|
|
111
111
|
}
|
|
112
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
112
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: CollapseComponent, isStandalone: true, selector: "ng0-collapse", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, timings: { classPropertyName: "timings", publicName: "timings", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange" }, host: { properties: { "@collapseExpand": "this._collapseExpand" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{display:block;overflow:hidden}\n"], animations: [
|
|
114
114
|
trigger('collapseExpand', [
|
|
115
115
|
state('collapsed', style({ height: 0, opacity: 0, })),
|
|
116
116
|
state('expanded', style({ height: '*', opacity: '*', })),
|
|
@@ -120,7 +120,7 @@ class CollapseComponent {
|
|
|
120
120
|
])
|
|
121
121
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseComponent, decorators: [{
|
|
124
124
|
type: Component,
|
|
125
125
|
args: [{ selector: 'ng0-collapse', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
126
126
|
trigger('collapseExpand', [
|
|
@@ -141,13 +141,13 @@ const items = [
|
|
|
141
141
|
CollapseComponent
|
|
142
142
|
];
|
|
143
143
|
class CollapseModule {
|
|
144
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
145
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
145
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: CollapseModule, imports: [CollapseDirective,
|
|
146
146
|
CollapseComponent], exports: [CollapseDirective,
|
|
147
147
|
CollapseComponent] });
|
|
148
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
148
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseModule });
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: CollapseModule, decorators: [{
|
|
151
151
|
type: NgModule,
|
|
152
152
|
args: [{
|
|
153
153
|
imports: items,
|