@i-cell/ids-angular 0.1.7 → 0.1.9
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/badge/badge-defaults.d.ts +13 -0
- package/badge/badge-limit.pipe.d.ts +7 -0
- package/badge/badge.component.d.ts +17 -0
- package/badge/badge.directive.d.ts +25 -0
- package/badge/index.d.ts +5 -0
- package/badge/public-api.d.ts +5 -0
- package/badge/types/badge-appearance.type.d.ts +4 -0
- package/badge/types/badge-variant.type.d.ts +12 -0
- package/core/public-api.d.ts +1 -1
- package/core/utils/date.d.ts +24 -0
- package/core/utils/number.d.ts +4 -0
- package/datepicker/calendar/calendar-page.d.ts +26 -0
- package/datepicker/calendar/calendar.component.d.ts +40 -0
- package/datepicker/datepicker-defaults.d.ts +7 -0
- package/datepicker/datepicker-intl.d.ts +22 -0
- package/datepicker/datepicker-positions.d.ts +2 -0
- package/datepicker/datepicker.directive.d.ts +58 -0
- package/datepicker/day-selector/day-selector.component.d.ts +26 -0
- package/datepicker/index.d.ts +5 -0
- package/datepicker/month-selector/month-selector.component.d.ts +20 -0
- package/datepicker/public-api.d.ts +7 -0
- package/datepicker/tokens/date-formatter.d.ts +3 -0
- package/datepicker/tokens/date-parser.d.ts +3 -0
- package/datepicker/tokens/datepicker-view.d.ts +6 -0
- package/datepicker/trigger/datepicker-trigger.component.d.ts +12 -0
- package/datepicker/year-selector/year-selector.component.d.ts +20 -0
- package/fesm2022/i-cell-ids-angular-badge.mjs +172 -0
- package/fesm2022/i-cell-ids-angular-badge.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-core.mjs +156 -13
- package/fesm2022/i-cell-ids-angular-core.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-datepicker.mjs +860 -0
- package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -0
- package/fesm2022/i-cell-ids-angular-forms.mjs +81 -68
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-radio.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-select.mjs +8 -63
- package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tab.mjs +5 -5
- package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -1
- package/forms/components/form-field/form-field-control.d.ts +41 -17
- package/forms/components/form-field/form-field.component.d.ts +2 -1
- package/forms/components/form-field/tokens/form-field-control.d.ts +1 -1
- package/forms/components/input/input.directive.d.ts +7 -36
- package/package.json +18 -9
- package/select/select.component.d.ts +8 -37
- package/tab/tab.component.d.ts +1 -1
- package/core/utils/even-odd.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-badge.mjs","sources":["../../../projects/widgets/badge/types/badge-appearance.type.ts","../../../projects/widgets/badge/types/badge-variant.type.ts","../../../projects/widgets/badge/badge-defaults.ts","../../../projects/widgets/badge/badge-limit.pipe.ts","../../../projects/widgets/badge/badge.component.ts","../../../projects/widgets/badge/badge.component.html","../../../projects/widgets/badge/badge.directive.ts","../../../projects/widgets/badge/i-cell-ids-angular-badge.ts"],"sourcesContent":["export const IdsBadgeAppearance = {\n FILLED: 'filled',\n} as const;\n\nexport type IdsBadgeAppearanceType =\n (typeof IdsBadgeAppearance)[keyof typeof IdsBadgeAppearance];\n","export const IdsBadgeVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n BRAND: 'brand',\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n\nexport type IdsBadgeVariantType =\n (typeof IdsBadgeVariant)[keyof typeof IdsBadgeVariant];\n","import { IdsBadgeAppearanceType, IdsBadgeAppearance } from './types/badge-appearance.type';\nimport { IdsBadgeVariantType, IdsBadgeVariant } from './types/badge-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\n\nexport interface IdsBadgeDefaultConfig {\n appearance?: IdsBadgeAppearanceType;\n size?: IdsSizeType;\n variant?: IdsBadgeVariantType;\n showLeadingElement?: boolean;\n label?: string;\n}\n\nexport const IDS_BADGE_DEFAULT_CONFIG = new InjectionToken<IdsBadgeDefaultConfig>(\n 'IDS_BADGE_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_BADGE_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_BADGE_DEFAULT_CONFIG_FACTORY(): Required<IdsBadgeDefaultConfig> {\n return {\n appearance: IdsBadgeAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsBadgeVariant.SURFACE,\n showLeadingElement: false,\n label: '',\n };\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'badgeLimit',\n standalone: true,\n pure: false,\n})\nexport class BadgeLimitPipe implements PipeTransform {\n public transform(value: string, max: number | string | null): string {\n if (value === null || value === undefined || value === '') {\n return '';\n }\n\n if (max === null || max === undefined || max === '') {\n return String(value);\n }\n\n const num = Number(value);\n const maxNum = Number(max);\n\n if (!isNaN(num) && !isNaN(maxNum)) {\n return num > maxNum ? `${maxNum}+` : `${num}`;\n }\n\n return String(value);\n }\n}\n","import { BadgeLimitPipe } from './badge-limit.pipe';\nimport { IdsBadgeAppearanceType } from './types/badge-appearance.type';\nimport { IdsBadgeVariantType } from './types/badge-variant.type';\n\nimport { NgClass } from '@angular/common';\nimport {\n Component,\n computed,\n contentChildren,\n input,\n} from '@angular/core';\nimport { ComponentBase, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\n\n@Component({\n selector: 'ids-badge',\n standalone: true,\n templateUrl: './badge.component.html',\n imports: [\n BadgeLimitPipe,\n NgClass,\n ],\n})\nexport class IdsBadgeComponent extends ComponentBase {\n protected override get _hostName(): string {\n return 'badge';\n }\n\n public appearance = input<IdsBadgeAppearanceType>();\n public variant = input<IdsBadgeVariantType>();\n public label = input<string>('');\n public size = input<IdsSizeType>();\n public limit = input<null | number>(null);\n public showLeadingElement = input<boolean>(false);\n\n protected _iconLeading = contentChildren<IdsIconComponent>('ids-icon[icon-leading]');\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n ]));\n}\n","<div [ngClass]=\"!showLeadingElement() && !label() ? 'ids-badge__container-no-element' : 'ids-badge__container'\">\n @if (_iconLeading()) {\n <ng-content select=\"ids-icon[icon-leading]\"/>\n }\n <span class=\"ids-badge__label\" aria-live=\"polite\">{{ label() | badgeLimit:limit() }}</span>\n</div>\n","import {\n IDS_BADGE_DEFAULT_CONFIG,\n IDS_BADGE_DEFAULT_CONFIG_FACTORY,\n IdsBadgeDefaultConfig,\n} from './badge-defaults';\nimport { IdsBadgeComponent } from './badge.component';\nimport { IdsBadgeAppearanceType } from './types/badge-appearance.type';\nimport { IdsBadgeVariantType } from './types/badge-variant.type';\n\nimport {\n ComponentRef,\n computed,\n Directive, effect, EffectRef,\n ElementRef, inject,\n Injector,\n input, OnDestroy,\n OnInit, runInInjectionContext,\n ViewContainerRef,\n} from '@angular/core';\nimport { DirectiveBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_BADGE_DEFAULT_CONFIG_FACTORY();\n\n@Directive({\n selector: '[idsBadge]',\n standalone: true,\n})\nexport class IdsBadgeDirective extends DirectiveBaseWithDefaults<IdsBadgeDefaultConfig> implements OnInit, OnDestroy {\n private _badgeRef!: ComponentRef<IdsBadgeComponent>;\n private _iconEffectRef?: EffectRef;\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _viewContainerRef = inject(ViewContainerRef);\n private readonly _injector = inject(Injector);\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_BADGE_DEFAULT_CONFIG);\n\n public appearance = input<IdsBadgeAppearanceType>(this._defaultConfig.appearance, { alias: 'badgeAppearance' });\n public label = input<string>('', { alias: 'badgeLabel' });\n public size = input<IdsSizeType>(this._defaultConfig.size, { alias: 'badgeSize' });\n public variant = input<IdsBadgeVariantType>(this._defaultConfig.variant, { alias: 'badgeVariant' });\n public limit = input<number | null>(null, { alias: 'badgeLimit' });\n public showLeadingElement = input<boolean>(this._defaultConfig.showLeadingElement, { alias: 'badgeShowLeadingElement' });\n\n public ngOnInit(): void {\n const originalEl = this._elementRef.nativeElement;\n\n runInInjectionContext(this._injector, () => {\n this._badgeRef = this._viewContainerRef.createComponent(IdsBadgeComponent, {\n injector: this._injector,\n });\n const badgeEl = this._badgeRef.location.nativeElement;\n\n const parent = originalEl.parentElement;\n if (!parent) {\n return;\n }\n\n const placeholder = document.createComment('ids-badge-wrapper');\n parent.replaceChild(placeholder, originalEl);\n badgeEl.appendChild(originalEl);\n parent.replaceChild(badgeEl, placeholder);\n\n effect(() => {\n this._badgeRef.setInput('appearance', this.appearance());\n this._badgeRef.setInput('variant', this.variant());\n this._badgeRef.setInput('label', this.label());\n this._badgeRef.setInput('size', this.size());\n this._badgeRef.setInput('limit', this.limit());\n this._badgeRef.setInput('showLeadingElement', this.showLeadingElement());\n });\n\n this._iconEffectRef = effect(() => {\n if (this.showLeadingElement()) {\n queueMicrotask(() => this._moveIconIfNeeded());\n }\n });\n\n this._moveIconIfNeeded();\n });\n }\n\n private _moveIconIfNeeded(): void {\n const host = this._elementRef.nativeElement;\n const icon = host.querySelector('ids-icon[icon-leading]');\n const badgeEl = this._badgeRef?.location.nativeElement;\n if (!icon || !badgeEl) {\n return;\n }\n const container =\n badgeEl.querySelector('.ids-badge__container') ||\n badgeEl.querySelector('.ids-badge__container-no-element');\n if (container && !container.contains(icon)) {\n container.prepend(icon);\n }\n }\n\n public ngOnDestroy(): void {\n this._iconEffectRef?.destroy();\n this._badgeRef?.destroy();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([]));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -233,8 +233,162 @@ function coerceStringAttribute(value) {
|
|
|
233
233
|
return value ? String(value).trim() : '';
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
+
function isNumber(value) {
|
|
237
|
+
return typeof value === 'number' || value instanceof Number;
|
|
238
|
+
}
|
|
239
|
+
function isNumberEven(val) {
|
|
240
|
+
return val % 2 === 0;
|
|
241
|
+
}
|
|
242
|
+
function isNumberOdd(val) {
|
|
243
|
+
return val % 2 === 1;
|
|
244
|
+
}
|
|
245
|
+
function positiveModulus(num, divisor) {
|
|
246
|
+
return ((num % divisor) + divisor) % divisor;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function isString(value) {
|
|
250
|
+
return typeof value == 'string' || value instanceof String;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* eslint-disable no-magic-numbers */
|
|
254
|
+
const ISO_8601_REGEXP = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
255
|
+
const weekLength = 7;
|
|
256
|
+
function padDigits(num) {
|
|
257
|
+
return num > 9 ? String(num) : `0${num}`;
|
|
258
|
+
}
|
|
259
|
+
function dayOfWeekWithOffset(weekDay, offset) {
|
|
260
|
+
return (weekLength + weekDay.getDay() - offset) % weekLength;
|
|
261
|
+
}
|
|
262
|
+
function isDate(value) {
|
|
263
|
+
return value instanceof Date;
|
|
264
|
+
}
|
|
236
265
|
function isValidDate(value) {
|
|
237
|
-
return value
|
|
266
|
+
return isDate(value) && !isNaN(value.getTime());
|
|
267
|
+
}
|
|
268
|
+
function getValidDateOrNull(value) {
|
|
269
|
+
return isValidDate(value) ? value : null;
|
|
270
|
+
}
|
|
271
|
+
function equalDates(date1, date2) {
|
|
272
|
+
// eslint-disable-next-line eqeqeq
|
|
273
|
+
return date1 && date2 ? Object.is(+startOfDay(date1), +startOfDay(date2)) : date1 == date2;
|
|
274
|
+
}
|
|
275
|
+
function compareDates(date1, date2) {
|
|
276
|
+
return Math.sign(+date1 - +date2);
|
|
277
|
+
}
|
|
278
|
+
function clampDate(date, min, max) {
|
|
279
|
+
if (!isValidDate(date)) {
|
|
280
|
+
return date;
|
|
281
|
+
}
|
|
282
|
+
const dateMillis = date.getTime();
|
|
283
|
+
const minDate = isValidDate(min) ? min.getTime() : dateMillis;
|
|
284
|
+
const maxDate = isValidDate(max) ? max.getTime() : dateMillis;
|
|
285
|
+
return new Date(Math.max(minDate, Math.min(dateMillis, maxDate)));
|
|
286
|
+
}
|
|
287
|
+
function invalidDate() {
|
|
288
|
+
return new Date(NaN);
|
|
289
|
+
}
|
|
290
|
+
function cloneDate(date) {
|
|
291
|
+
return new Date(date);
|
|
292
|
+
}
|
|
293
|
+
function parseDate(value, utc = false) {
|
|
294
|
+
if (!value) {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
if (ISO_8601_REGEXP.test(value)) {
|
|
298
|
+
return new Date(utc ? value : `${value}T00:00:00`);
|
|
299
|
+
}
|
|
300
|
+
return invalidDate();
|
|
301
|
+
}
|
|
302
|
+
function deserializeDate(value) {
|
|
303
|
+
// Numeric timestamp
|
|
304
|
+
if (isNumber(value)) {
|
|
305
|
+
return new Date(value);
|
|
306
|
+
}
|
|
307
|
+
// Empty value -> null
|
|
308
|
+
if (!value) {
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
// value is a Date instance, nothing to process
|
|
312
|
+
if (isDate(value)) {
|
|
313
|
+
return value;
|
|
314
|
+
}
|
|
315
|
+
if (isString(value)) {
|
|
316
|
+
return parseDate(value);
|
|
317
|
+
}
|
|
318
|
+
return invalidDate();
|
|
319
|
+
}
|
|
320
|
+
function formatDate(date) {
|
|
321
|
+
const year = date.getFullYear();
|
|
322
|
+
const month = date.getMonth() + 1;
|
|
323
|
+
const day = date.getDate();
|
|
324
|
+
return `${year}-${padDigits(month)}-${padDigits(day)}`;
|
|
325
|
+
}
|
|
326
|
+
function formatUTCDate(date) {
|
|
327
|
+
return date.toISOString().split('T')[0];
|
|
328
|
+
}
|
|
329
|
+
function addDays(date, days) {
|
|
330
|
+
const clonedDate = cloneDate(date);
|
|
331
|
+
clonedDate.setDate(clonedDate.getDate() + days);
|
|
332
|
+
return clonedDate;
|
|
333
|
+
}
|
|
334
|
+
function addMonths(date, months) {
|
|
335
|
+
const newDate = new Date();
|
|
336
|
+
newDate.setFullYear(date.getFullYear(), date.getMonth() + months, date.getDate());
|
|
337
|
+
newDate.setHours(0, 0, 0, 0);
|
|
338
|
+
const newMonth = newDate.getMonth();
|
|
339
|
+
const desiredMonth = positiveModulus(date.getMonth() + months, 12);
|
|
340
|
+
if (newMonth !== desiredMonth) {
|
|
341
|
+
newDate.setDate(0);
|
|
342
|
+
}
|
|
343
|
+
return newDate;
|
|
344
|
+
}
|
|
345
|
+
function addYears(date, years) {
|
|
346
|
+
return addMonths(date, years * 12);
|
|
347
|
+
}
|
|
348
|
+
function startOfDay(date) {
|
|
349
|
+
const clonedDate = cloneDate(date);
|
|
350
|
+
clonedDate.setHours(0, 0, 0, 0);
|
|
351
|
+
return clonedDate;
|
|
352
|
+
}
|
|
353
|
+
function endOfDay(date) {
|
|
354
|
+
const clonedDate = cloneDate(date);
|
|
355
|
+
clonedDate.setHours(23, 59, 59, 999);
|
|
356
|
+
return clonedDate;
|
|
357
|
+
}
|
|
358
|
+
function startOfWeek(weekDay, offset) {
|
|
359
|
+
return addDays(weekDay, -dayOfWeekWithOffset(weekDay, offset));
|
|
360
|
+
}
|
|
361
|
+
function endOfWeek(weekDay, offset) {
|
|
362
|
+
return addDays(weekDay, 6 - dayOfWeekWithOffset(weekDay, offset));
|
|
363
|
+
}
|
|
364
|
+
function startOfMonth(date) {
|
|
365
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
366
|
+
}
|
|
367
|
+
function endOfMonth(date) {
|
|
368
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
369
|
+
}
|
|
370
|
+
function startOfYear(date) {
|
|
371
|
+
return new Date(date.getFullYear(), 0, 1);
|
|
372
|
+
}
|
|
373
|
+
function endOfYear(date) {
|
|
374
|
+
return new Date(date.getFullYear(), 12, 0);
|
|
375
|
+
}
|
|
376
|
+
function getDatesBetween(startDate, endDate) {
|
|
377
|
+
if (!isValidDate(startDate) || !isValidDate(endDate)) {
|
|
378
|
+
return [];
|
|
379
|
+
}
|
|
380
|
+
let current = startOfDay(startDate);
|
|
381
|
+
const end = startOfDay(endDate);
|
|
382
|
+
const result = [];
|
|
383
|
+
while (current <= end) {
|
|
384
|
+
result.push(new Date(current));
|
|
385
|
+
current = addDays(current, 1);
|
|
386
|
+
}
|
|
387
|
+
return result;
|
|
388
|
+
}
|
|
389
|
+
function createNormalizedDate(year, month, date) {
|
|
390
|
+
const daysInMonth = new Date(year, month + 1, 0).getDate();
|
|
391
|
+
return new Date(year, month, Math.min(date, daysInMonth));
|
|
238
392
|
}
|
|
239
393
|
|
|
240
394
|
function compare(value1, value2) {
|
|
@@ -247,20 +401,9 @@ function compare(value1, value2) {
|
|
|
247
401
|
return String(value1).localeCompare(String(value2));
|
|
248
402
|
}
|
|
249
403
|
|
|
250
|
-
function isNumberEven(val) {
|
|
251
|
-
return val % 2 === 0;
|
|
252
|
-
}
|
|
253
|
-
function isNumberOdd(val) {
|
|
254
|
-
return val % 2 === 1;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
function isString(value) {
|
|
258
|
-
return typeof value == 'string' || value instanceof String;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
404
|
/**
|
|
262
405
|
* Generated bundle index. Do not edit.
|
|
263
406
|
*/
|
|
264
407
|
|
|
265
|
-
export { ComponentBase, ComponentBaseWithDefaults, DirectiveBase, DirectiveBaseWithDefaults, IdsDetectScrollableDirective, IdsExtendedHorizontalPosition, IdsExtendedPosition, IdsExtendedVerticalPosition, IdsHorizontalPosition, IdsOrientation, IdsPosition, IdsSentenceCasePipe, IdsSize, IdsSizeCollection, IdsVerticalPosition, ResizeObserverService, addClassPrefix, coerceBooleanAttribute, coerceNumberAttribute, coerceStringAttribute, compare, createClassList, fallbackValue, isNumberEven, isNumberOdd, isString, isTypeDerivedFrom, isValidDate };
|
|
408
|
+
export { ComponentBase, ComponentBaseWithDefaults, DirectiveBase, DirectiveBaseWithDefaults, IdsDetectScrollableDirective, IdsExtendedHorizontalPosition, IdsExtendedPosition, IdsExtendedVerticalPosition, IdsHorizontalPosition, IdsOrientation, IdsPosition, IdsSentenceCasePipe, IdsSize, IdsSizeCollection, IdsVerticalPosition, ResizeObserverService, addClassPrefix, addDays, addMonths, addYears, clampDate, cloneDate, coerceBooleanAttribute, coerceNumberAttribute, coerceStringAttribute, compare, compareDates, createClassList, createNormalizedDate, deserializeDate, endOfDay, endOfMonth, endOfWeek, endOfYear, equalDates, fallbackValue, formatDate, formatUTCDate, getDatesBetween, getValidDateOrNull, invalidDate, isDate, isNumber, isNumberEven, isNumberOdd, isString, isTypeDerivedFrom, isValidDate, parseDate, positiveModulus, startOfDay, startOfMonth, startOfWeek, startOfYear };
|
|
266
409
|
//# sourceMappingURL=i-cell-ids-angular-core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-core.mjs","sources":["../../../projects/widgets/core/utils/class-prefix.ts","../../../projects/widgets/core/base-classes/directive-base.ts","../../../projects/widgets/core/utils/fallback-value.ts","../../../projects/widgets/core/base-classes/component-base.ts","../../../projects/widgets/core/services/resize-observer.service.ts","../../../projects/widgets/core/directives/detect-scrollable.directive.ts","../../../projects/widgets/core/pipes/sentence-case.pipe.ts","../../../projects/widgets/core/types/orientation.type.ts","../../../projects/widgets/core/types/position.type.ts","../../../projects/widgets/core/types/size-collection.type.ts","../../../projects/widgets/core/types/size.type.ts","../../../projects/widgets/core/utils/class.ts","../../../projects/widgets/core/utils/coercion.ts","../../../projects/widgets/core/utils/date.ts","../../../projects/widgets/core/utils/compare.ts","../../../projects/widgets/core/utils/even-odd.ts","../../../projects/widgets/core/utils/string.ts","../../../projects/widgets/core/i-cell-ids-angular-core.ts"],"sourcesContent":["export function addClassPrefix(\n hostClass: string,\n className: string | Array<string | null | undefined> | null | undefined,\n): string | null {\n if (className == null) {\n return null;\n }\n\n if (Array.isArray(className)) {\n if (className.some((item) => item == null)) {\n return null;\n }\n return `${hostClass}-${className.filter(Boolean).join('-')}`;\n }\n\n return `${hostClass}-${className}`;\n}\n\nexport function createClassList(\n hostClass: string,\n appendableClassNames: Array<string | Array<string | null | undefined> | null | undefined> = [],\n nonAppendableClassNames: Array<string | null> = [],\n): string {\n return [\n hostClass,\n ...appendableClassNames.map((className) => addClassPrefix(hostClass, className)),\n ...nonAppendableClassNames,\n ].filter(Boolean).join(' ');\n}\n","import { createClassList } from '../utils/class-prefix';\n\nimport { DestroyRef, Directive, inject, InjectionToken, Signal } from '@angular/core';\n\n@Directive({\n host: {\n '[class]': '_hostClasses()',\n },\n standalone: false,\n})\nexport abstract class DirectiveBase {\n protected get _hostName(): string {\n return '';\n }\n\n protected readonly _hostClassName = `ids-${this._hostName}`;\n\n protected readonly _destroyRef = inject(DestroyRef);\n\n protected abstract _hostClasses: Signal<string>;\n protected _getHostClasses(\n appendableClassNames: Array<string | Array<string | null | undefined> | null | undefined> = [],\n nonAppendableClassNames: Array<string | null> = [],\n ): string {\n return createClassList(this._hostClassName, appendableClassNames, nonAppendableClassNames);\n }\n\n protected _createHostError(message: string): Error {\n return new Error(`${this._hostClassName}: ${message}`);\n }\n}\n\nexport abstract class DirectiveBaseWithDefaults<D> extends DirectiveBase {\n protected abstract readonly _defaultConfig: D;\n\n protected _getDefaultConfig(defaultConfig: Required<D>, injectionToken: InjectionToken<D>): Required<D> {\n return {\n ...defaultConfig,\n ...inject(injectionToken, { optional: true }),\n };\n }\n}\n","export function fallbackValue<T>(value: T | undefined, fallbackValue: T): T {\n return value ? value : fallbackValue;\n}\n","import { DirectiveBase } from './directive-base';\n\nimport { fallbackValue } from '../utils/fallback-value';\n\nimport { Directive, inject, InjectionToken, input } from '@angular/core';\n\nlet nextUniqueId = 0;\n\n@Directive({\n host: {\n '[id]': 'id()',\n },\n standalone: false,\n})\nexport abstract class ComponentBase extends DirectiveBase {\n protected readonly _uniqueId = `${this._hostClassName}-${++nextUniqueId}`;\n\n public readonly id = input<string, string | undefined>(this._uniqueId, { transform: (val) => fallbackValue(val, this._uniqueId) });\n}\n\nexport abstract class ComponentBaseWithDefaults<D> extends ComponentBase {\n protected abstract readonly _defaultConfig: D;\n\n protected _getDefaultConfig(defaultConfig: Required<D>, injectionToken: InjectionToken<D>): Required<D> {\n return {\n ...defaultConfig,\n ...inject(injectionToken, { optional: true }),\n };\n }\n}\n","import { Injectable, NgZone, OnDestroy, inject } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _zone = inject(NgZone);\n\n private _observers = new Map<Element, Subject<ResizeObserverEntry>>();\n private _resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const observer = this._observers.get(entry.target);\n this._zone.run(() => observer?.next(entry));\n });\n });\n\n public observe(target: Element): Observable<ResizeObserverEntry> {\n if (this._observers.has(target)) {\n return this._observers.get(target)!.asObservable();\n }\n\n const newObserver = new Subject<ResizeObserverEntry>();\n\n this._observers.set(target, newObserver);\n this._resizeObserver.observe(target);\n\n return newObserver.asObservable();\n }\n\n public unobserve(target: Element): void {\n const observer = this._observers.get(target);\n\n if (observer) {\n observer.complete();\n this._observers.delete(target);\n }\n\n this._resizeObserver.unobserve(target);\n }\n\n public ngOnDestroy(): void {\n this._resizeObserver.disconnect();\n }\n}\n","import { ResizeObserverService } from '../services/resize-observer.service';\n\nimport { Directive, ElementRef, OnDestroy, OnInit, inject, signal } from '@angular/core';\n\n@Directive({\n selector: '[idsDetectScrollable]',\n standalone: true,\n exportAs: 'idsDetectScrollable',\n})\nexport class IdsDetectScrollableDirective implements OnInit, OnDestroy {\n private _hostElement = inject(ElementRef).nativeElement;\n private _resizeObserver = inject(ResizeObserverService);\n\n public isScrollable = signal(false);\n\n public ngOnInit(): void {\n this._resizeObserver.observe(this._hostElement).subscribe(() => {\n this.isScrollable.set(this._hostElement.scrollHeight > this._hostElement.clientHeight);\n },\n );\n }\n\n public ngOnDestroy(): void {\n this._resizeObserver.unobserve(this._hostElement);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sentenceCase',\n standalone: true,\n})\nexport class IdsSentenceCasePipe implements PipeTransform {\n public transform(value: string): unknown {\n return value.charAt(0).toUpperCase().concat(value.substring(1));\n }\n\n}\n","export const IdsOrientation = {\n VERTICAL: 'vertical',\n HORIZONTAL: 'horizontal',\n} as const;\n\nexport type IdsOrientationType = (typeof IdsOrientation)[keyof typeof IdsOrientation];\n","export const IdsHorizontalPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsHorizontalPositionType = (typeof IdsHorizontalPosition)[keyof typeof IdsHorizontalPosition];\n\nexport const IdsExtendedHorizontalPosition = {\n ...IdsHorizontalPosition,\n CENTER: 'center',\n} as const;\n\nexport type IdsExtendedHorizontalPositionType = (typeof IdsExtendedHorizontalPosition)[keyof typeof IdsExtendedHorizontalPosition];\n\nexport const IdsVerticalPosition = {\n TOP: 'top',\n BOTTOM: 'bottom',\n} as const;\n\nexport type IdsVerticalPositionType = (typeof IdsVerticalPosition)[keyof typeof IdsVerticalPosition];\n\nexport const IdsExtendedVerticalPosition = {\n ...IdsVerticalPosition,\n CENTER: 'center',\n} as const;\n\nexport type IdsExtendedVerticalPositionType = (typeof IdsExtendedVerticalPosition)[keyof typeof IdsExtendedVerticalPosition];\n\nexport const IdsPosition = {\n ...IdsHorizontalPosition,\n ...IdsVerticalPosition,\n} as const;\n\nexport type IdsPositionType = (typeof IdsPosition)[keyof typeof IdsPosition];\n\nexport type IdsPositionPairType = [IdsHorizontalPositionType, IdsVerticalPositionType];\n\nexport const IdsExtendedPosition = {\n ...IdsExtendedHorizontalPosition,\n ...IdsExtendedVerticalPosition,\n} as const;\n\nexport type IdsExtendedPositionType = (typeof IdsExtendedPosition)[keyof typeof IdsExtendedPosition];\n\nexport type IdsExtendedPositionPairType = [IdsExtendedHorizontalPositionType, IdsExtendedVerticalPositionType];\n","export const IdsSizeCollection = {\n SMALL: 'small',\n BIG: 'big',\n} as const;\n\nexport type IdsSizeCollectionType = (typeof IdsSizeCollection)[keyof typeof IdsSizeCollection];\n","export const IdsSize = {\n DENSE: 'dense',\n COMPACT: 'compact',\n COMFORTABLE: 'comfortable',\n SPACIOUS: 'spacious',\n} as const;\n\nexport type IdsSizeType = (typeof IdsSize)[keyof typeof IdsSize];\n","import { AbstractType, Type } from '@angular/core';\n\nexport function isTypeDerivedFrom<T1, T2>(type: Type<T1> | AbstractType<T1>, ancestorType: Type<T2> | AbstractType<T2>): boolean {\n if (!type || !ancestorType) {\n return false;\n }\n\n const superType = Object.getPrototypeOf(type);\n\n return superType === ancestorType || isTypeDerivedFrom(superType, ancestorType);\n}\n","/** Converts a bound attribute's value to a boolean. */\nexport function coerceBooleanAttribute(value: unknown): boolean {\n return value != null && `${value}` !== 'false';\n}\n\n/** Converts a bound attribute's value to a number. */\nexport function coerceNumberAttribute(value: unknown, fallbackValue = NaN): number {\n const isNumberValue = !isNaN(Number(value));\n return isNumberValue ? Number(value) : fallbackValue;\n}\n\n/** Converts a bound attribute's value to a string and trim. */\nexport function coerceStringAttribute(value: unknown): string {\n return value ? String(value).trim() : '';\n}\n","export function isValidDate(value: unknown): value is Date {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n","import { isValidDate } from './date';\n\nexport function compare(value1: unknown, value2: unknown): number {\n if (Number.isFinite(value1) && Number.isFinite(value2)) {\n return Math.sign((value1 as number) - (value2 as number));\n }\n\n if (isValidDate(value1) && isValidDate(value2)) {\n return compare(value1.valueOf(), value2.valueOf());\n }\n\n return String(value1).localeCompare(String(value2));\n}\n","export function isNumberEven(val: number): boolean {\n return val % 2 === 0;\n}\n\nexport function isNumberOdd(val: number): boolean {\n return val % 2 === 1;\n}\n","export function isString(value: unknown): value is string {\n return typeof value == 'string' || value instanceof String;\n}\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":"i-cell-ids-angular-core.mjs","sources":["../../../projects/widgets/core/utils/class-prefix.ts","../../../projects/widgets/core/base-classes/directive-base.ts","../../../projects/widgets/core/utils/fallback-value.ts","../../../projects/widgets/core/base-classes/component-base.ts","../../../projects/widgets/core/services/resize-observer.service.ts","../../../projects/widgets/core/directives/detect-scrollable.directive.ts","../../../projects/widgets/core/pipes/sentence-case.pipe.ts","../../../projects/widgets/core/types/orientation.type.ts","../../../projects/widgets/core/types/position.type.ts","../../../projects/widgets/core/types/size-collection.type.ts","../../../projects/widgets/core/types/size.type.ts","../../../projects/widgets/core/utils/class.ts","../../../projects/widgets/core/utils/coercion.ts","../../../projects/widgets/core/utils/number.ts","../../../projects/widgets/core/utils/string.ts","../../../projects/widgets/core/utils/date.ts","../../../projects/widgets/core/utils/compare.ts","../../../projects/widgets/core/i-cell-ids-angular-core.ts"],"sourcesContent":["export function addClassPrefix(\n hostClass: string,\n className: string | Array<string | null | undefined> | null | undefined,\n): string | null {\n if (className == null) {\n return null;\n }\n\n if (Array.isArray(className)) {\n if (className.some((item) => item == null)) {\n return null;\n }\n return `${hostClass}-${className.filter(Boolean).join('-')}`;\n }\n\n return `${hostClass}-${className}`;\n}\n\nexport function createClassList(\n hostClass: string,\n appendableClassNames: Array<string | Array<string | null | undefined> | null | undefined> = [],\n nonAppendableClassNames: Array<string | null> = [],\n): string {\n return [\n hostClass,\n ...appendableClassNames.map((className) => addClassPrefix(hostClass, className)),\n ...nonAppendableClassNames,\n ].filter(Boolean).join(' ');\n}\n","import { createClassList } from '../utils/class-prefix';\n\nimport { DestroyRef, Directive, inject, InjectionToken, Signal } from '@angular/core';\n\n@Directive({\n host: {\n '[class]': '_hostClasses()',\n },\n standalone: false,\n})\nexport abstract class DirectiveBase {\n protected get _hostName(): string {\n return '';\n }\n\n protected readonly _hostClassName = `ids-${this._hostName}`;\n\n protected readonly _destroyRef = inject(DestroyRef);\n\n protected abstract _hostClasses: Signal<string>;\n protected _getHostClasses(\n appendableClassNames: Array<string | Array<string | null | undefined> | null | undefined> = [],\n nonAppendableClassNames: Array<string | null> = [],\n ): string {\n return createClassList(this._hostClassName, appendableClassNames, nonAppendableClassNames);\n }\n\n protected _createHostError(message: string): Error {\n return new Error(`${this._hostClassName}: ${message}`);\n }\n}\n\nexport abstract class DirectiveBaseWithDefaults<D> extends DirectiveBase {\n protected abstract readonly _defaultConfig: D;\n\n protected _getDefaultConfig(defaultConfig: Required<D>, injectionToken: InjectionToken<D>): Required<D> {\n return {\n ...defaultConfig,\n ...inject(injectionToken, { optional: true }),\n };\n }\n}\n","export function fallbackValue<T>(value: T | undefined, fallbackValue: T): T {\n return value ? value : fallbackValue;\n}\n","import { DirectiveBase } from './directive-base';\n\nimport { fallbackValue } from '../utils/fallback-value';\n\nimport { Directive, inject, InjectionToken, input } from '@angular/core';\n\nlet nextUniqueId = 0;\n\n@Directive({\n host: {\n '[id]': 'id()',\n },\n standalone: false,\n})\nexport abstract class ComponentBase extends DirectiveBase {\n protected readonly _uniqueId = `${this._hostClassName}-${++nextUniqueId}`;\n\n public readonly id = input<string, string | undefined>(this._uniqueId, { transform: (val) => fallbackValue(val, this._uniqueId) });\n}\n\nexport abstract class ComponentBaseWithDefaults<D> extends ComponentBase {\n protected abstract readonly _defaultConfig: D;\n\n protected _getDefaultConfig(defaultConfig: Required<D>, injectionToken: InjectionToken<D>): Required<D> {\n return {\n ...defaultConfig,\n ...inject(injectionToken, { optional: true }),\n };\n }\n}\n","import { Injectable, NgZone, OnDestroy, inject } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _zone = inject(NgZone);\n\n private _observers = new Map<Element, Subject<ResizeObserverEntry>>();\n private _resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const observer = this._observers.get(entry.target);\n this._zone.run(() => observer?.next(entry));\n });\n });\n\n public observe(target: Element): Observable<ResizeObserverEntry> {\n if (this._observers.has(target)) {\n return this._observers.get(target)!.asObservable();\n }\n\n const newObserver = new Subject<ResizeObserverEntry>();\n\n this._observers.set(target, newObserver);\n this._resizeObserver.observe(target);\n\n return newObserver.asObservable();\n }\n\n public unobserve(target: Element): void {\n const observer = this._observers.get(target);\n\n if (observer) {\n observer.complete();\n this._observers.delete(target);\n }\n\n this._resizeObserver.unobserve(target);\n }\n\n public ngOnDestroy(): void {\n this._resizeObserver.disconnect();\n }\n}\n","import { ResizeObserverService } from '../services/resize-observer.service';\n\nimport { Directive, ElementRef, OnDestroy, OnInit, inject, signal } from '@angular/core';\n\n@Directive({\n selector: '[idsDetectScrollable]',\n standalone: true,\n exportAs: 'idsDetectScrollable',\n})\nexport class IdsDetectScrollableDirective implements OnInit, OnDestroy {\n private _hostElement = inject(ElementRef).nativeElement;\n private _resizeObserver = inject(ResizeObserverService);\n\n public isScrollable = signal(false);\n\n public ngOnInit(): void {\n this._resizeObserver.observe(this._hostElement).subscribe(() => {\n this.isScrollable.set(this._hostElement.scrollHeight > this._hostElement.clientHeight);\n },\n );\n }\n\n public ngOnDestroy(): void {\n this._resizeObserver.unobserve(this._hostElement);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sentenceCase',\n standalone: true,\n})\nexport class IdsSentenceCasePipe implements PipeTransform {\n public transform(value: string): unknown {\n return value.charAt(0).toUpperCase().concat(value.substring(1));\n }\n\n}\n","export const IdsOrientation = {\n VERTICAL: 'vertical',\n HORIZONTAL: 'horizontal',\n} as const;\n\nexport type IdsOrientationType = (typeof IdsOrientation)[keyof typeof IdsOrientation];\n","export const IdsHorizontalPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsHorizontalPositionType = (typeof IdsHorizontalPosition)[keyof typeof IdsHorizontalPosition];\n\nexport const IdsExtendedHorizontalPosition = {\n ...IdsHorizontalPosition,\n CENTER: 'center',\n} as const;\n\nexport type IdsExtendedHorizontalPositionType = (typeof IdsExtendedHorizontalPosition)[keyof typeof IdsExtendedHorizontalPosition];\n\nexport const IdsVerticalPosition = {\n TOP: 'top',\n BOTTOM: 'bottom',\n} as const;\n\nexport type IdsVerticalPositionType = (typeof IdsVerticalPosition)[keyof typeof IdsVerticalPosition];\n\nexport const IdsExtendedVerticalPosition = {\n ...IdsVerticalPosition,\n CENTER: 'center',\n} as const;\n\nexport type IdsExtendedVerticalPositionType = (typeof IdsExtendedVerticalPosition)[keyof typeof IdsExtendedVerticalPosition];\n\nexport const IdsPosition = {\n ...IdsHorizontalPosition,\n ...IdsVerticalPosition,\n} as const;\n\nexport type IdsPositionType = (typeof IdsPosition)[keyof typeof IdsPosition];\n\nexport type IdsPositionPairType = [IdsHorizontalPositionType, IdsVerticalPositionType];\n\nexport const IdsExtendedPosition = {\n ...IdsExtendedHorizontalPosition,\n ...IdsExtendedVerticalPosition,\n} as const;\n\nexport type IdsExtendedPositionType = (typeof IdsExtendedPosition)[keyof typeof IdsExtendedPosition];\n\nexport type IdsExtendedPositionPairType = [IdsExtendedHorizontalPositionType, IdsExtendedVerticalPositionType];\n","export const IdsSizeCollection = {\n SMALL: 'small',\n BIG: 'big',\n} as const;\n\nexport type IdsSizeCollectionType = (typeof IdsSizeCollection)[keyof typeof IdsSizeCollection];\n","export const IdsSize = {\n DENSE: 'dense',\n COMPACT: 'compact',\n COMFORTABLE: 'comfortable',\n SPACIOUS: 'spacious',\n} as const;\n\nexport type IdsSizeType = (typeof IdsSize)[keyof typeof IdsSize];\n","import { AbstractType, Type } from '@angular/core';\n\nexport function isTypeDerivedFrom<T1, T2>(type: Type<T1> | AbstractType<T1>, ancestorType: Type<T2> | AbstractType<T2>): boolean {\n if (!type || !ancestorType) {\n return false;\n }\n\n const superType = Object.getPrototypeOf(type);\n\n return superType === ancestorType || isTypeDerivedFrom(superType, ancestorType);\n}\n","/** Converts a bound attribute's value to a boolean. */\nexport function coerceBooleanAttribute(value: unknown): boolean {\n return value != null && `${value}` !== 'false';\n}\n\n/** Converts a bound attribute's value to a number. */\nexport function coerceNumberAttribute(value: unknown, fallbackValue = NaN): number {\n const isNumberValue = !isNaN(Number(value));\n return isNumberValue ? Number(value) : fallbackValue;\n}\n\n/** Converts a bound attribute's value to a string and trim. */\nexport function coerceStringAttribute(value: unknown): string {\n return value ? String(value).trim() : '';\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number' || value instanceof Number;\n}\n\nexport function isNumberEven(val: number): boolean {\n return val % 2 === 0;\n}\n\nexport function isNumberOdd(val: number): boolean {\n return val % 2 === 1;\n}\n\nexport function positiveModulus(num: number, divisor: number): number {\n return ((num % divisor) + divisor) % divisor;\n}\n","export function isString(value: unknown): value is string {\n return typeof value == 'string' || value instanceof String;\n}\n","/* eslint-disable no-magic-numbers */\n\nimport { isNumber, positiveModulus } from './number';\nimport { isString } from './string';\n\nconst ISO_8601_REGEXP = /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\nconst weekLength = 7;\n\nfunction padDigits(num: number): string {\n return num > 9 ? String(num) : `0${num}`;\n}\n\nfunction dayOfWeekWithOffset(weekDay: Date, offset: number): number {\n return (weekLength + weekDay.getDay() - offset) % weekLength;\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isValidDate(value: unknown): value is Date {\n return isDate(value) && !isNaN(value.getTime());\n}\n\nexport function getValidDateOrNull(value: unknown): Date | null {\n return isValidDate(value) ? value : null;\n}\n\nexport function equalDates(date1: Date | null, date2: Date | null): boolean {\n // eslint-disable-next-line eqeqeq\n return date1 && date2 ? Object.is(+startOfDay(date1), +startOfDay(date2)) : date1 == date2;\n}\n\nexport function compareDates(date1: Date, date2: Date): number {\n return Math.sign(+date1 - +date2);\n}\n\nexport function clampDate(date: Date, min: Date | null, max: Date | null): Date;\nexport function clampDate(date: Date | null, min: Date | null, max: Date | null): Date | null {\n if (!isValidDate(date)) {\n return date;\n }\n\n const dateMillis = date.getTime();\n const minDate = isValidDate(min) ? min.getTime() : dateMillis;\n const maxDate = isValidDate(max) ? max.getTime() : dateMillis;\n\n return new Date(Math.max(minDate, Math.min(dateMillis, maxDate)));\n}\n\nexport function invalidDate(): Date {\n return new Date(NaN);\n}\n\nexport function cloneDate(date: Date): Date {\n return new Date(date);\n}\n\nexport function parseDate(value: string, utc = false): Date | null {\n if (!value) {\n return null;\n }\n if (ISO_8601_REGEXP.test(value)) {\n return new Date(utc ? value : `${value}T00:00:00`);\n }\n return invalidDate();\n}\n\nexport function deserializeDate(value: unknown): Date | null {\n // Numeric timestamp\n if (isNumber(value)) {\n return new Date(value);\n }\n\n // Empty value -> null\n if (!value) {\n return null;\n }\n\n // value is a Date instance, nothing to process\n if (isDate(value)) {\n return value;\n }\n\n if (isString(value)) {\n return parseDate(value);\n }\n\n return invalidDate();\n}\n\nexport function formatDate(date: Date): string {\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const day = date.getDate();\n\n return `${year}-${padDigits(month)}-${padDigits(day)}`;\n}\n\nexport function formatUTCDate(date: Date): string {\n return date.toISOString().split('T')[0];\n}\n\nexport function addDays(date: Date, days: number): Date {\n const clonedDate = cloneDate(date);\n clonedDate.setDate(clonedDate.getDate() + days);\n return clonedDate;\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const newDate = new Date();\n newDate.setFullYear(date.getFullYear(), date.getMonth() + months, date.getDate());\n newDate.setHours(0, 0, 0, 0);\n\n const newMonth = newDate.getMonth();\n const desiredMonth = positiveModulus(date.getMonth() + months, 12);\n\n if (newMonth !== desiredMonth) {\n newDate.setDate(0);\n }\n\n return newDate;\n}\n\nexport function addYears(date: Date, years: number): Date {\n return addMonths(date, years * 12);\n}\n\nexport function startOfDay(date: Date): Date {\n const clonedDate = cloneDate(date);\n clonedDate.setHours(0, 0, 0, 0);\n return clonedDate;\n}\n\nexport function endOfDay(date: Date): Date {\n const clonedDate = cloneDate(date);\n clonedDate.setHours(23, 59, 59, 999);\n return clonedDate;\n}\n\nexport function startOfWeek(weekDay: Date, offset: number): Date {\n return addDays(weekDay, -dayOfWeekWithOffset(weekDay, offset));\n}\n\nexport function endOfWeek(weekDay: Date, offset: number): Date {\n return addDays(weekDay, 6 - dayOfWeekWithOffset(weekDay, offset));\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function endOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n}\n\nexport function startOfYear(date: Date): Date {\n return new Date(date.getFullYear(), 0, 1);\n}\n\nexport function endOfYear(date: Date): Date {\n return new Date(date.getFullYear(), 12, 0);\n}\n\nexport function getDatesBetween(startDate: Date, endDate: Date): Date[] {\n if (!isValidDate(startDate) || !isValidDate(endDate)) {\n return [];\n }\n\n let current = startOfDay(startDate);\n const end = startOfDay(endDate);\n const result = [];\n\n while (current <= end) {\n result.push(new Date(current));\n current = addDays(current, 1);\n }\n\n return result;\n}\n\nexport function createNormalizedDate(year: number, month: number, date: number): Date {\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n return new Date(year, month, Math.min(date, daysInMonth));\n}\n","import { isValidDate } from './date';\n\nexport function compare(value1: unknown, value2: unknown): number {\n if (Number.isFinite(value1) && Number.isFinite(value2)) {\n return Math.sign((value1 as number) - (value2 as number));\n }\n\n if (isValidDate(value1) && isValidDate(value2)) {\n return compare(value1.valueOf(), value2.valueOf());\n }\n\n return String(value1).localeCompare(String(value2));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|