@ngneers/controls 0.0.1-next.0
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/ngneers-controls-accordion.mjs +234 -0
- package/fesm2022/ngneers-controls-accordion.mjs.map +1 -0
- package/fesm2022/ngneers-controls-api-ng.mjs +959 -0
- package/fesm2022/ngneers-controls-api-ng.mjs.map +1 -0
- package/fesm2022/ngneers-controls-api-resize.mjs +712 -0
- package/fesm2022/ngneers-controls-api-resize.mjs.map +1 -0
- package/fesm2022/ngneers-controls-api.mjs +347 -0
- package/fesm2022/ngneers-controls-api.mjs.map +1 -0
- package/fesm2022/ngneers-controls-avatar.mjs +77 -0
- package/fesm2022/ngneers-controls-avatar.mjs.map +1 -0
- package/fesm2022/ngneers-controls-base.mjs +620 -0
- package/fesm2022/ngneers-controls-base.mjs.map +1 -0
- package/fesm2022/ngneers-controls-breadcrumb.mjs +100 -0
- package/fesm2022/ngneers-controls-breadcrumb.mjs.map +1 -0
- package/fesm2022/ngneers-controls-button-group.mjs +110 -0
- package/fesm2022/ngneers-controls-button-group.mjs.map +1 -0
- package/fesm2022/ngneers-controls-button.mjs +83 -0
- package/fesm2022/ngneers-controls-button.mjs.map +1 -0
- package/fesm2022/ngneers-controls-calendar-time-CJT5AFlA.mjs +74 -0
- package/fesm2022/ngneers-controls-calendar-time-CJT5AFlA.mjs.map +1 -0
- package/fesm2022/ngneers-controls-calendar.mjs +801 -0
- package/fesm2022/ngneers-controls-calendar.mjs.map +1 -0
- package/fesm2022/ngneers-controls-checkbox.mjs +63 -0
- package/fesm2022/ngneers-controls-checkbox.mjs.map +1 -0
- package/fesm2022/ngneers-controls-chip.mjs +55 -0
- package/fesm2022/ngneers-controls-chip.mjs.map +1 -0
- package/fesm2022/ngneers-controls-default-icons.mjs +82 -0
- package/fesm2022/ngneers-controls-default-icons.mjs.map +1 -0
- package/fesm2022/ngneers-controls-defer.mjs +72 -0
- package/fesm2022/ngneers-controls-defer.mjs.map +1 -0
- package/fesm2022/ngneers-controls-dialog.mjs +407 -0
- package/fesm2022/ngneers-controls-dialog.mjs.map +1 -0
- package/fesm2022/ngneers-controls-directives.mjs +498 -0
- package/fesm2022/ngneers-controls-directives.mjs.map +1 -0
- package/fesm2022/ngneers-controls-drawer.mjs +271 -0
- package/fesm2022/ngneers-controls-drawer.mjs.map +1 -0
- package/fesm2022/ngneers-controls-edit-inplace.mjs +127 -0
- package/fesm2022/ngneers-controls-edit-inplace.mjs.map +1 -0
- package/fesm2022/ngneers-controls-errors.mjs +329 -0
- package/fesm2022/ngneers-controls-errors.mjs.map +1 -0
- package/fesm2022/ngneers-controls-filter.mjs +708 -0
- package/fesm2022/ngneers-controls-filter.mjs.map +1 -0
- package/fesm2022/ngneers-controls-hint.mjs +153 -0
- package/fesm2022/ngneers-controls-hint.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n-translations-de.mjs +170 -0
- package/fesm2022/ngneers-controls-i18n-translations-de.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n-translations-en.mjs +170 -0
- package/fesm2022/ngneers-controls-i18n-translations-en.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n.mjs +57 -0
- package/fesm2022/ngneers-controls-i18n.mjs.map +1 -0
- package/fesm2022/ngneers-controls-icon.mjs +195 -0
- package/fesm2022/ngneers-controls-icon.mjs.map +1 -0
- package/fesm2022/ngneers-controls-inplace.mjs +150 -0
- package/fesm2022/ngneers-controls-inplace.mjs.map +1 -0
- package/fesm2022/ngneers-controls-input-field.mjs +165 -0
- package/fesm2022/ngneers-controls-input-field.mjs.map +1 -0
- package/fesm2022/ngneers-controls-input.mjs +72 -0
- package/fesm2022/ngneers-controls-input.mjs.map +1 -0
- package/fesm2022/ngneers-controls-item-view.mjs +473 -0
- package/fesm2022/ngneers-controls-item-view.mjs.map +1 -0
- package/fesm2022/ngneers-controls-list-box.mjs +281 -0
- package/fesm2022/ngneers-controls-list-box.mjs.map +1 -0
- package/fesm2022/ngneers-controls-mask-input.mjs +888 -0
- package/fesm2022/ngneers-controls-mask-input.mjs.map +1 -0
- package/fesm2022/ngneers-controls-menu.mjs +371 -0
- package/fesm2022/ngneers-controls-menu.mjs.map +1 -0
- package/fesm2022/ngneers-controls-message.mjs +30 -0
- package/fesm2022/ngneers-controls-message.mjs.map +1 -0
- package/fesm2022/ngneers-controls-number-input.mjs +366 -0
- package/fesm2022/ngneers-controls-number-input.mjs.map +1 -0
- package/fesm2022/ngneers-controls-paginator.mjs +129 -0
- package/fesm2022/ngneers-controls-paginator.mjs.map +1 -0
- package/fesm2022/ngneers-controls-popover.mjs +215 -0
- package/fesm2022/ngneers-controls-popover.mjs.map +1 -0
- package/fesm2022/ngneers-controls-progress.mjs +98 -0
- package/fesm2022/ngneers-controls-progress.mjs.map +1 -0
- package/fesm2022/ngneers-controls-radio.mjs +152 -0
- package/fesm2022/ngneers-controls-radio.mjs.map +1 -0
- package/fesm2022/ngneers-controls-roving-focus.mjs +323 -0
- package/fesm2022/ngneers-controls-roving-focus.mjs.map +1 -0
- package/fesm2022/ngneers-controls-scroll-shadow.mjs +65 -0
- package/fesm2022/ngneers-controls-scroll-shadow.mjs.map +1 -0
- package/fesm2022/ngneers-controls-scroller.mjs +308 -0
- package/fesm2022/ngneers-controls-scroller.mjs.map +1 -0
- package/fesm2022/ngneers-controls-select-button.mjs +58 -0
- package/fesm2022/ngneers-controls-select-button.mjs.map +1 -0
- package/fesm2022/ngneers-controls-select.mjs +417 -0
- package/fesm2022/ngneers-controls-select.mjs.map +1 -0
- package/fesm2022/ngneers-controls-slider.mjs +167 -0
- package/fesm2022/ngneers-controls-slider.mjs.map +1 -0
- package/fesm2022/ngneers-controls-snackbar.mjs +414 -0
- package/fesm2022/ngneers-controls-snackbar.mjs.map +1 -0
- package/fesm2022/ngneers-controls-spin-buttons.mjs +126 -0
- package/fesm2022/ngneers-controls-spin-buttons.mjs.map +1 -0
- package/fesm2022/ngneers-controls-spinner.mjs +184 -0
- package/fesm2022/ngneers-controls-spinner.mjs.map +1 -0
- package/fesm2022/ngneers-controls-splitter.mjs +604 -0
- package/fesm2022/ngneers-controls-splitter.mjs.map +1 -0
- package/fesm2022/ngneers-controls-state.mjs +185 -0
- package/fesm2022/ngneers-controls-state.mjs.map +1 -0
- package/fesm2022/ngneers-controls-switch.mjs +39 -0
- package/fesm2022/ngneers-controls-switch.mjs.map +1 -0
- package/fesm2022/ngneers-controls-table.mjs +2634 -0
- package/fesm2022/ngneers-controls-table.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tabs.mjs +336 -0
- package/fesm2022/ngneers-controls-tabs.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tag.mjs +30 -0
- package/fesm2022/ngneers-controls-tag.mjs.map +1 -0
- package/fesm2022/ngneers-controls-toast.mjs +350 -0
- package/fesm2022/ngneers-controls-toast.mjs.map +1 -0
- package/fesm2022/ngneers-controls-toggle-button.mjs +70 -0
- package/fesm2022/ngneers-controls-toggle-button.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tooltip.mjs +506 -0
- package/fesm2022/ngneers-controls-tooltip.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tree.mjs +599 -0
- package/fesm2022/ngneers-controls-tree.mjs.map +1 -0
- package/fesm2022/ngneers-controls-upload.mjs +377 -0
- package/fesm2022/ngneers-controls-upload.mjs.map +1 -0
- package/fesm2022/ngneers-controls-utils-ng.mjs +411 -0
- package/fesm2022/ngneers-controls-utils-ng.mjs.map +1 -0
- package/fesm2022/ngneers-controls-utils.mjs +261 -0
- package/fesm2022/ngneers-controls-utils.mjs.map +1 -0
- package/fesm2022/ngneers-controls.mjs +6 -0
- package/fesm2022/ngneers-controls.mjs.map +1 -0
- package/package.json +302 -0
- package/types/ngneers-controls-accordion.d.ts +139 -0
- package/types/ngneers-controls-api-ng.d.ts +364 -0
- package/types/ngneers-controls-api-resize.d.ts +318 -0
- package/types/ngneers-controls-api.d.ts +145 -0
- package/types/ngneers-controls-avatar.d.ts +54 -0
- package/types/ngneers-controls-base.d.ts +277 -0
- package/types/ngneers-controls-breadcrumb.d.ts +272 -0
- package/types/ngneers-controls-button-group.d.ts +46 -0
- package/types/ngneers-controls-button.d.ts +48 -0
- package/types/ngneers-controls-calendar.d.ts +466 -0
- package/types/ngneers-controls-checkbox.d.ts +40 -0
- package/types/ngneers-controls-chip.d.ts +202 -0
- package/types/ngneers-controls-default-icons.d.ts +5 -0
- package/types/ngneers-controls-defer.d.ts +48 -0
- package/types/ngneers-controls-dialog.d.ts +399 -0
- package/types/ngneers-controls-directives.d.ts +171 -0
- package/types/ngneers-controls-drawer.d.ts +308 -0
- package/types/ngneers-controls-edit-inplace.d.ts +263 -0
- package/types/ngneers-controls-errors.d.ts +155 -0
- package/types/ngneers-controls-filter.d.ts +609 -0
- package/types/ngneers-controls-hint.d.ts +88 -0
- package/types/ngneers-controls-i18n-translations-de.d.ts +164 -0
- package/types/ngneers-controls-i18n-translations-en.d.ts +164 -0
- package/types/ngneers-controls-i18n.d.ts +186 -0
- package/types/ngneers-controls-icon.d.ts +68 -0
- package/types/ngneers-controls-inplace.d.ts +98 -0
- package/types/ngneers-controls-input-field.d.ts +248 -0
- package/types/ngneers-controls-input.d.ts +30 -0
- package/types/ngneers-controls-item-view.d.ts +215 -0
- package/types/ngneers-controls-list-box.d.ts +334 -0
- package/types/ngneers-controls-mask-input.d.ts +434 -0
- package/types/ngneers-controls-menu.d.ts +192 -0
- package/types/ngneers-controls-message.d.ts +21 -0
- package/types/ngneers-controls-number-input.d.ts +146 -0
- package/types/ngneers-controls-paginator.d.ts +255 -0
- package/types/ngneers-controls-popover.d.ts +116 -0
- package/types/ngneers-controls-progress.d.ts +49 -0
- package/types/ngneers-controls-radio.d.ts +91 -0
- package/types/ngneers-controls-roving-focus.d.ts +107 -0
- package/types/ngneers-controls-scroll-shadow.d.ts +25 -0
- package/types/ngneers-controls-scroller.d.ts +151 -0
- package/types/ngneers-controls-select-button.d.ts +51 -0
- package/types/ngneers-controls-select.d.ts +409 -0
- package/types/ngneers-controls-slider.d.ts +57 -0
- package/types/ngneers-controls-snackbar.d.ts +330 -0
- package/types/ngneers-controls-spin-buttons.d.ts +69 -0
- package/types/ngneers-controls-spinner.d.ts +117 -0
- package/types/ngneers-controls-splitter.d.ts +465 -0
- package/types/ngneers-controls-state.d.ts +102 -0
- package/types/ngneers-controls-switch.d.ts +18 -0
- package/types/ngneers-controls-table.d.ts +3127 -0
- package/types/ngneers-controls-tabs.d.ts +118 -0
- package/types/ngneers-controls-tag.d.ts +21 -0
- package/types/ngneers-controls-toast.d.ts +298 -0
- package/types/ngneers-controls-toggle-button.d.ts +48 -0
- package/types/ngneers-controls-tooltip.d.ts +189 -0
- package/types/ngneers-controls-tree.d.ts +409 -0
- package/types/ngneers-controls-upload.d.ts +347 -0
- package/types/ngneers-controls-utils-ng.d.ts +129 -0
- package/types/ngneers-controls-utils.d.ts +130 -0
- package/types/ngneers-controls.d.ts +2 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
function toggleClass(element, className, state) {
|
|
2
|
+
const classes = Array.isArray(className)
|
|
3
|
+
? className.flatMap(x => x.split(' '))
|
|
4
|
+
: className.split(' ');
|
|
5
|
+
classes.forEach(cls => element.classList.toggle(cls, state));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function deepCopy(obj) {
|
|
9
|
+
return JSON.parse(JSON.stringify(obj));
|
|
10
|
+
}
|
|
11
|
+
function objectKeys(obj) {
|
|
12
|
+
return Object.keys(obj);
|
|
13
|
+
}
|
|
14
|
+
function objectEntries(obj) {
|
|
15
|
+
return Object.entries(obj);
|
|
16
|
+
}
|
|
17
|
+
function isObject(item) {
|
|
18
|
+
return item !== null && typeof item === 'object' && !Array.isArray(item);
|
|
19
|
+
}
|
|
20
|
+
function deepMerge(target, source) {
|
|
21
|
+
const output = { ...target };
|
|
22
|
+
for (const key of objectKeys(source)) {
|
|
23
|
+
const value = source[key];
|
|
24
|
+
if (isObject(value) && isObject(output[key])) {
|
|
25
|
+
output[key] = deepMerge(output[key], value);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
output[key] = value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return output;
|
|
32
|
+
}
|
|
33
|
+
function getPropertyIfExists(obj, key) {
|
|
34
|
+
if (key in obj) {
|
|
35
|
+
return obj[key];
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function areObjectsDeepEqual(a, b) {
|
|
41
|
+
if (Object.keys(a).length !== Object.keys(b).length) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return objectKeys(a).every(key => {
|
|
45
|
+
if (typeof a[key] !== typeof b[key]) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (typeof a[key] === 'object') {
|
|
49
|
+
return areObjectsDeepEqual(a[key], b[key]);
|
|
50
|
+
}
|
|
51
|
+
return a[key] === b[key];
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function areArraysDeepEqual(a, b) {
|
|
55
|
+
if (a.length !== b.length) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
for (let i = 0; i < a.length; i++) {
|
|
59
|
+
if (typeof a[i] === 'object' && typeof b[i] === 'object') {
|
|
60
|
+
const res = areObjectsDeepEqual(a[i], b[i]);
|
|
61
|
+
if (!res) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const res = a[i] === b[i];
|
|
67
|
+
if (!res) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function throwExp(moduleName, errorMsg, ...additionalContext) {
|
|
76
|
+
throw new NgnError(moduleName, errorMsg, ...additionalContext);
|
|
77
|
+
}
|
|
78
|
+
class NgnError extends Error {
|
|
79
|
+
additionalContext;
|
|
80
|
+
constructor(area, errorMsg, ...additionalContext) {
|
|
81
|
+
if (typeof window !== 'undefined' && window['__ngn-controls-global__']?.fancyLogging) {
|
|
82
|
+
console.log(`%c💥%c[${area}]`, 'font-size: 24px;', 'color: #ff0042; font-size: 20px; background-color: #000000;', ...additionalContext);
|
|
83
|
+
}
|
|
84
|
+
super(`[${area}] ${errorMsg}`);
|
|
85
|
+
this.name = 'NgnError';
|
|
86
|
+
this.additionalContext = additionalContext;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function maybeCallback(value) {
|
|
91
|
+
return typeof value === 'function' ? value() : value;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function fuzzyMatch(input, search) {
|
|
95
|
+
// Edge cases
|
|
96
|
+
const searchLen = search.length;
|
|
97
|
+
if (searchLen === 0)
|
|
98
|
+
return true;
|
|
99
|
+
const inputLen = input.length;
|
|
100
|
+
if (searchLen > inputLen)
|
|
101
|
+
return false;
|
|
102
|
+
// Micro-optimized main loop
|
|
103
|
+
let searchPos = 0;
|
|
104
|
+
for (let i = 0; i < inputLen && searchPos < searchLen; i++) {
|
|
105
|
+
if (input.charCodeAt(i) === search.charCodeAt(searchPos)) {
|
|
106
|
+
searchPos++;
|
|
107
|
+
// Early exit when remaining input can't contain remaining search
|
|
108
|
+
if (searchLen - searchPos > inputLen - i - 1)
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
// Early exit when remaining lengths match but current chars don't
|
|
112
|
+
else if (searchLen - searchPos === inputLen - i)
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return searchPos === searchLen;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const globalPropertyName = '__ngn-controls-global__';
|
|
119
|
+
|
|
120
|
+
const Logger = new (class {
|
|
121
|
+
logLevel = 'info';
|
|
122
|
+
debug(...args) {
|
|
123
|
+
if (this.logLevel === 'debug') {
|
|
124
|
+
console.debug(...args);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
info(...args) {
|
|
128
|
+
if (this.logLevel === 'debug' || this.logLevel === 'info') {
|
|
129
|
+
console.info(...args);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
warn(...args) {
|
|
133
|
+
if (this.logLevel === 'debug' || this.logLevel === 'info' || this.logLevel === 'warn') {
|
|
134
|
+
console.warn(...args);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
error(...args) {
|
|
138
|
+
if (this.logLevel === 'debug' ||
|
|
139
|
+
this.logLevel === 'info' ||
|
|
140
|
+
this.logLevel === 'warn' ||
|
|
141
|
+
this.logLevel === 'error') {
|
|
142
|
+
console.error(...args);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
})();
|
|
146
|
+
|
|
147
|
+
function notNullish(value) {
|
|
148
|
+
return value !== null && value !== undefined;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function getScrollTop(elementOffsetTop, elementHeight, containerHeight, currentScrollTop, behavior) {
|
|
152
|
+
switch (behavior) {
|
|
153
|
+
case 'start':
|
|
154
|
+
return elementOffsetTop;
|
|
155
|
+
case 'end':
|
|
156
|
+
return elementOffsetTop - containerHeight + elementHeight;
|
|
157
|
+
case 'center':
|
|
158
|
+
return elementOffsetTop - (containerHeight - elementHeight) / 2;
|
|
159
|
+
case 'nearest': {
|
|
160
|
+
const start = elementOffsetTop;
|
|
161
|
+
const end = elementOffsetTop - containerHeight + elementHeight;
|
|
162
|
+
if (currentScrollTop > end && currentScrollTop < start) {
|
|
163
|
+
return currentScrollTop;
|
|
164
|
+
}
|
|
165
|
+
return Math.abs(start - currentScrollTop) < Math.abs(end - currentScrollTop) ? start : end;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const timeSpanRegex = /^(?:(.+)d)?(?:(.+)h)?(?:(.+)m)?(?:([^m]+)s)?(?:(.+)ms)?$/;
|
|
171
|
+
/**
|
|
172
|
+
* Checks if the provided value is a valid TimeSpan.
|
|
173
|
+
* @param value The value to check.
|
|
174
|
+
* @returns `true` if the value is a valid TimeSpan, otherwise `false`.
|
|
175
|
+
*/
|
|
176
|
+
function isTimeSpan(value) {
|
|
177
|
+
if (typeof value === 'number')
|
|
178
|
+
return true;
|
|
179
|
+
if (typeof value === 'string') {
|
|
180
|
+
const match = value.match(timeSpanRegex);
|
|
181
|
+
return !!match && !match.slice(1).some(part => part !== undefined && isNaN(Number(part)));
|
|
182
|
+
}
|
|
183
|
+
if (typeof value === 'object' && value !== null) {
|
|
184
|
+
return ('days' in value ||
|
|
185
|
+
'hours' in value ||
|
|
186
|
+
'minutes' in value ||
|
|
187
|
+
'seconds' in value ||
|
|
188
|
+
'milliseconds' in value);
|
|
189
|
+
}
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Converts a TimeSpan to milliseconds.
|
|
194
|
+
* @param timeSpan The TimeSpan to convert.
|
|
195
|
+
* @returns The equivalent time span in milliseconds.
|
|
196
|
+
*/
|
|
197
|
+
function getTimeSpanMilliseconds(timeSpan) {
|
|
198
|
+
if (typeof timeSpan === 'number')
|
|
199
|
+
return timeSpan;
|
|
200
|
+
if (typeof timeSpan === 'string') {
|
|
201
|
+
const parts = parseTimeSpanString(timeSpan);
|
|
202
|
+
return parts ? toMilliseconds(...parts) : 0;
|
|
203
|
+
}
|
|
204
|
+
const { days, hours, minutes, seconds, milliseconds } = timeSpan;
|
|
205
|
+
return toMilliseconds(days, hours, minutes, seconds, milliseconds);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Converts a TimeSpan to a string representation.
|
|
209
|
+
* @param timeSpan The TimeSpan to convert.
|
|
210
|
+
* @returns A string representation of the time span.
|
|
211
|
+
*/
|
|
212
|
+
function getTimeSpanString(timeSpan) {
|
|
213
|
+
if (typeof timeSpan === 'number')
|
|
214
|
+
return `${timeSpan}ms`;
|
|
215
|
+
if (typeof timeSpan === 'string')
|
|
216
|
+
return timeSpan;
|
|
217
|
+
const { days, hours, minutes, seconds, milliseconds } = timeSpan;
|
|
218
|
+
return ((days ? `${days}d` : '') +
|
|
219
|
+
(hours ? `${hours}h` : '') +
|
|
220
|
+
(minutes ? `${minutes}m` : '') +
|
|
221
|
+
(seconds ? `${seconds}s` : '') +
|
|
222
|
+
(milliseconds ? `${milliseconds}ms` : ''));
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Converts a TimeSpan to an object representation.
|
|
226
|
+
* @param timeSpan The TimeSpan to convert.
|
|
227
|
+
* @returns An object representation of the time span with properties for days, hours, minutes, seconds, and milliseconds.
|
|
228
|
+
*/
|
|
229
|
+
function getTimeSpan(timeSpan) {
|
|
230
|
+
if (typeof timeSpan === 'number') {
|
|
231
|
+
return { milliseconds: timeSpan };
|
|
232
|
+
}
|
|
233
|
+
if (typeof timeSpan === 'string') {
|
|
234
|
+
const parts = parseTimeSpanString(timeSpan);
|
|
235
|
+
if (!parts)
|
|
236
|
+
return {};
|
|
237
|
+
const [days, hours, minutes, seconds, milliseconds] = parts;
|
|
238
|
+
return { days, hours, minutes, seconds, milliseconds };
|
|
239
|
+
}
|
|
240
|
+
return timeSpan;
|
|
241
|
+
}
|
|
242
|
+
function parseTimeSpanString(timeSpan) {
|
|
243
|
+
const match = timeSpan.match(timeSpanRegex);
|
|
244
|
+
if (!match)
|
|
245
|
+
return undefined;
|
|
246
|
+
return match.slice(1).map(part => Number(part) || 0);
|
|
247
|
+
}
|
|
248
|
+
function toMilliseconds(days, hours, minutes, seconds, milliseconds) {
|
|
249
|
+
return ((days || 0) * 86400000 + // 24 * 60 * 60 * 1000
|
|
250
|
+
(hours || 0) * 3600000 + // 60 * 60 * 1000
|
|
251
|
+
(minutes || 0) * 60000 + // 60 * 1000
|
|
252
|
+
(seconds || 0) * 1000 +
|
|
253
|
+
(milliseconds || 0));
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Generated bundle index. Do not edit.
|
|
258
|
+
*/
|
|
259
|
+
|
|
260
|
+
export { Logger, NgnError, areArraysDeepEqual, areObjectsDeepEqual, deepCopy, deepMerge, fuzzyMatch, getPropertyIfExists, getScrollTop, getTimeSpan, getTimeSpanMilliseconds, getTimeSpanString, globalPropertyName, isObject, isTimeSpan, maybeCallback, notNullish, objectEntries, objectKeys, throwExp, toggleClass };
|
|
261
|
+
//# sourceMappingURL=ngneers-controls-utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngneers-controls-utils.mjs","sources":["../../src/utils/dom.ts","../../src/utils/object.ts","../../src/utils/equality.ts","../../src/utils/error.ts","../../src/utils/functions.ts","../../src/utils/fuzzy-match.ts","../../src/utils/globals.ts","../../src/utils/logger.ts","../../src/utils/not-nullish.ts","../../src/utils/positioning.ts","../../src/utils/time-span.ts","../../src/utils/ngneers-controls-utils.ts"],"sourcesContent":["export function toggleClass(element: HTMLElement, className: string | string[], state: boolean) {\n const classes = Array.isArray(className)\n ? className.flatMap(x => x.split(' '))\n : className.split(' ');\n classes.forEach(cls => element.classList.toggle(cls, state));\n}\n","import type { AllKeysOfUnion } from './types';\n\nexport function deepCopy<T>(obj: T): T extends ReadonlyArray<infer U> ? Array<U> : T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport function objectKeys<T extends object>(obj: T): (keyof T)[] {\n return Object.keys(obj) as (keyof T)[];\n}\n\nexport function objectEntries<T extends object>(obj: T): [keyof T, T[keyof T]][] {\n return Object.entries(obj) as [keyof T, T[keyof T]][];\n}\n\nexport function isObject(item: unknown): item is Record<string, unknown> {\n return item !== null && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function deepMerge<T extends Record<string, unknown>, U extends Record<string, unknown>>(\n target: T,\n source: U\n): T & U {\n const output = { ...target } as T & U;\n for (const key of objectKeys(source)) {\n const value = source[key];\n if (isObject(value) && isObject(output[key])) {\n (output[key] as Record<string, unknown>) = deepMerge(\n output[key] as Record<string, unknown>,\n value\n );\n } else {\n (output[key] as U[keyof U]) = value;\n }\n }\n return output;\n}\n\nexport function getPropertyIfExists<T extends object, K extends AllKeysOfUnion<T>>(\n obj: T,\n key: K\n): T[K] | undefined {\n if (key in obj) {\n return obj[key];\n }\n return undefined;\n}\n","import { objectKeys } from './object';\n\nexport function areObjectsDeepEqual<T extends object>(a: T, b: T): boolean {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n return objectKeys(a).every(key => {\n if (typeof a[key] !== typeof b[key]) {\n return false;\n }\n if (typeof a[key] === 'object') {\n return areObjectsDeepEqual(a[key] as object, b[key] as object);\n }\n return a[key] === b[key];\n });\n}\n\nexport function areArraysDeepEqual<T>(a: readonly T[], b: readonly T[]): boolean {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (typeof a[i] === 'object' && typeof b[i] === 'object') {\n const res = areObjectsDeepEqual(a[i] as object, b[i] as object);\n if (!res) {\n return false;\n }\n } else {\n const res = a[i] === b[i];\n if (!res) {\n return false;\n }\n }\n }\n return true;\n}\n","export function throwExp(\n moduleName: string,\n errorMsg: string,\n ...additionalContext: unknown[]\n): never {\n throw new NgnError(moduleName, errorMsg, ...additionalContext);\n}\n\nexport class NgnError extends Error {\n public readonly additionalContext?: unknown[];\n constructor(area: string, errorMsg: string, ...additionalContext: unknown[]) {\n if (typeof window !== 'undefined' && window['__ngn-controls-global__']?.fancyLogging) {\n console.log(\n `%c💥%c[${area}]`,\n 'font-size: 24px;',\n 'color: #ff0042; font-size: 20px; background-color: #000000;',\n ...additionalContext\n );\n }\n\n super(`[${area}] ${errorMsg}`);\n this.name = 'NgnError';\n this.additionalContext = additionalContext;\n }\n}\n","export function maybeCallback<T>(value: T | (() => T)): T {\n return typeof value === 'function' ? (value as () => T)() : value;\n}\n","export function fuzzyMatch(input: string, search: string) {\n // Edge cases\n const searchLen = search.length;\n if (searchLen === 0) return true;\n const inputLen = input.length;\n if (searchLen > inputLen) return false;\n\n // Micro-optimized main loop\n let searchPos = 0;\n\n for (let i = 0; i < inputLen && searchPos < searchLen; i++) {\n if (input.charCodeAt(i) === search.charCodeAt(searchPos)) {\n searchPos++;\n // Early exit when remaining input can't contain remaining search\n if (searchLen - searchPos > inputLen - i - 1) return false;\n }\n // Early exit when remaining lengths match but current chars don't\n else if (searchLen - searchPos === inputLen - i) return false;\n }\n\n return searchPos === searchLen;\n}\n","export const globalPropertyName = '__ngn-controls-global__';\n\nexport interface NgnGlobalType {\n nextElementId: number;\n fancyLogging: boolean;\n}\n\ndeclare global {\n interface Window {\n [globalPropertyName]: NgnGlobalType;\n }\n}\n","export type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\nexport const Logger = new (class {\n public logLevel: LogLevel = 'info';\n\n public debug(...args: unknown[]) {\n if (this.logLevel === 'debug') {\n console.debug(...args);\n }\n }\n\n public info(...args: unknown[]) {\n if (this.logLevel === 'debug' || this.logLevel === 'info') {\n console.info(...args);\n }\n }\n\n public warn(...args: unknown[]) {\n if (this.logLevel === 'debug' || this.logLevel === 'info' || this.logLevel === 'warn') {\n console.warn(...args);\n }\n }\n\n public error(...args: unknown[]) {\n if (\n this.logLevel === 'debug' ||\n this.logLevel === 'info' ||\n this.logLevel === 'warn' ||\n this.logLevel === 'error'\n ) {\n console.error(...args);\n }\n }\n})();\n","export function notNullish<T>(value: T | null | undefined): value is T {\n return value !== null && value !== undefined;\n}\n","export function getScrollTop(\n elementOffsetTop: number,\n elementHeight: number,\n containerHeight: number,\n currentScrollTop: number,\n behavior: ScrollLogicalPosition\n): number {\n switch (behavior) {\n case 'start':\n return elementOffsetTop;\n case 'end':\n return elementOffsetTop - containerHeight + elementHeight;\n case 'center':\n return elementOffsetTop - (containerHeight - elementHeight) / 2;\n case 'nearest': {\n const start = elementOffsetTop;\n const end = elementOffsetTop - containerHeight + elementHeight;\n if (currentScrollTop > end && currentScrollTop < start) {\n return currentScrollTop;\n }\n return Math.abs(start - currentScrollTop) < Math.abs(end - currentScrollTop) ? start : end;\n }\n }\n}\n","const timeSpanRegex = /^(?:(.+)d)?(?:(.+)h)?(?:(.+)m)?(?:([^m]+)s)?(?:(.+)ms)?$/;\n\n/**\n * Represents a time span that can be expressed in various formats:\n * - As a number (milliseconds)\n * - As a string in the format \"XdXhXmXsXms\" where each part is optional (e.g., \"1d2h30m45s500ms\" or \"2h15m\")\n * - As an object with properties for days, hours, minutes, seconds, and milliseconds\n * @example\n * ```typescript\n * // As a number\n * const duration1: TimeSpan = 5000;\n * // As a string\n * const duration2: TimeSpan = \"1d2h30m45s500ms\";\n * // As an object\n * const duration3: TimeSpan = { days: 1, hours: 2, minutes: 30, seconds: 45, milliseconds: 500 };\n * ```\n */\nexport type TimeSpan =\n | number\n | `${`${number}d` | ''}${`${number}h` | ''}${`${number}m` | ''}${`${number}s` | ''}${`${number}ms` | ''}`\n | {\n /**\n * Number of days in the time span.\n */\n days?: number;\n /**\n * Number of hours in the time span.\n */\n hours?: number;\n /**\n * Number of minutes in the time span.\n */\n minutes?: number;\n /**\n * Number of seconds in the time span.\n */\n seconds?: number;\n /**\n * Number of milliseconds in the time span.\n */\n milliseconds?: number;\n };\n\n/**\n * Checks if the provided value is a valid TimeSpan.\n * @param value The value to check.\n * @returns `true` if the value is a valid TimeSpan, otherwise `false`.\n */\nexport function isTimeSpan(value: unknown): value is TimeSpan {\n if (typeof value === 'number') return true;\n if (typeof value === 'string') {\n const match = value.match(timeSpanRegex);\n return !!match && !match.slice(1).some(part => part !== undefined && isNaN(Number(part)));\n }\n if (typeof value === 'object' && value !== null) {\n return (\n 'days' in value ||\n 'hours' in value ||\n 'minutes' in value ||\n 'seconds' in value ||\n 'milliseconds' in value\n );\n }\n return false;\n}\n\n/**\n * Converts a TimeSpan to milliseconds.\n * @param timeSpan The TimeSpan to convert.\n * @returns The equivalent time span in milliseconds.\n */\nexport function getTimeSpanMilliseconds(timeSpan: TimeSpan): number {\n if (typeof timeSpan === 'number') return timeSpan;\n\n if (typeof timeSpan === 'string') {\n const parts = parseTimeSpanString(timeSpan);\n return parts ? toMilliseconds(...parts) : 0;\n }\n\n const { days, hours, minutes, seconds, milliseconds } = timeSpan;\n return toMilliseconds(days, hours, minutes, seconds, milliseconds);\n}\n\n/**\n * Converts a TimeSpan to a string representation.\n * @param timeSpan The TimeSpan to convert.\n * @returns A string representation of the time span.\n */\nexport function getTimeSpanString(timeSpan: TimeSpan): string {\n if (typeof timeSpan === 'number') return `${timeSpan}ms`;\n if (typeof timeSpan === 'string') return timeSpan;\n\n const { days, hours, minutes, seconds, milliseconds } = timeSpan;\n return (\n (days ? `${days}d` : '') +\n (hours ? `${hours}h` : '') +\n (minutes ? `${minutes}m` : '') +\n (seconds ? `${seconds}s` : '') +\n (milliseconds ? `${milliseconds}ms` : '')\n );\n}\n\n/**\n * Converts a TimeSpan to an object representation.\n * @param timeSpan The TimeSpan to convert.\n * @returns An object representation of the time span with properties for days, hours, minutes, seconds, and milliseconds.\n */\nexport function getTimeSpan(timeSpan: TimeSpan): TimeSpan & object {\n if (typeof timeSpan === 'number') {\n return { milliseconds: timeSpan };\n }\n\n if (typeof timeSpan === 'string') {\n const parts = parseTimeSpanString(timeSpan);\n if (!parts) return {};\n const [days, hours, minutes, seconds, milliseconds] = parts;\n return { days, hours, minutes, seconds, milliseconds };\n }\n\n return timeSpan;\n}\n\nfunction parseTimeSpanString(timeSpan: string): number[] | undefined {\n const match = timeSpan.match(timeSpanRegex);\n if (!match) return undefined;\n return match.slice(1).map(part => Number(part) || 0);\n}\n\nfunction toMilliseconds(\n days?: number,\n hours?: number,\n minutes?: number,\n seconds?: number,\n milliseconds?: number\n): number {\n return (\n (days || 0) * 86400000 + // 24 * 60 * 60 * 1000\n (hours || 0) * 3600000 + // 60 * 60 * 1000\n (minutes || 0) * 60000 + // 60 * 1000\n (seconds || 0) * 1000 +\n (milliseconds || 0)\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngneers-controls.mjs","sources":["../../src/index.ts","../../src/ngneers-controls.ts"],"sourcesContent":["export default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,YAAe,EAAE;;ACAjB;;AAEG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ngneers/controls",
|
|
3
|
+
"version": "0.0.1-next.0",
|
|
4
|
+
"description": "Modern, signal-based Angular 22 component library — themeable, accessible, tree-shakeable controls.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://ngneers.dev",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/NGneers/controls.git",
|
|
10
|
+
"directory": "packages/controls"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"angular",
|
|
14
|
+
"components",
|
|
15
|
+
"ui",
|
|
16
|
+
"ui-library",
|
|
17
|
+
"component-library",
|
|
18
|
+
"signals",
|
|
19
|
+
"accessible",
|
|
20
|
+
"themeable",
|
|
21
|
+
"design-system"
|
|
22
|
+
],
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@iconify/types": "^2.0.0",
|
|
28
|
+
"@ngneers/controls-custom-types": "^0.0.1-next.0",
|
|
29
|
+
"tslib": "^2.8.1"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"@angular/common": "22.0.5",
|
|
33
|
+
"@angular/compiler": "22.0.5",
|
|
34
|
+
"@angular/core": "22.0.5",
|
|
35
|
+
"@angular/forms": "22.0.5",
|
|
36
|
+
"@angular/platform-browser": "22.0.5",
|
|
37
|
+
"@angular/router": "22.0.5",
|
|
38
|
+
"@floating-ui/dom": "^1.7.1",
|
|
39
|
+
"@iconify/icons-tabler": "^1.0.0",
|
|
40
|
+
"@ngneers/controls-themes": "^0.0.1-next.0",
|
|
41
|
+
"@ngneers/signal-translate": "^20.0.0",
|
|
42
|
+
"rxjs": "~7.8.0"
|
|
43
|
+
},
|
|
44
|
+
"peerDependenciesMeta": {
|
|
45
|
+
"@iconify/icons-tabler": {
|
|
46
|
+
"optional": true
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"sideEffects": false,
|
|
50
|
+
"module": "fesm2022/ngneers-controls.mjs",
|
|
51
|
+
"typings": "types/ngneers-controls.d.ts",
|
|
52
|
+
"exports": {
|
|
53
|
+
"./package.json": {
|
|
54
|
+
"default": "./package.json"
|
|
55
|
+
},
|
|
56
|
+
".": {
|
|
57
|
+
"types": "./types/ngneers-controls.d.ts",
|
|
58
|
+
"default": "./fesm2022/ngneers-controls.mjs"
|
|
59
|
+
},
|
|
60
|
+
"./accordion": {
|
|
61
|
+
"types": "./types/ngneers-controls-accordion.d.ts",
|
|
62
|
+
"default": "./fesm2022/ngneers-controls-accordion.mjs"
|
|
63
|
+
},
|
|
64
|
+
"./api": {
|
|
65
|
+
"types": "./types/ngneers-controls-api.d.ts",
|
|
66
|
+
"default": "./fesm2022/ngneers-controls-api.mjs"
|
|
67
|
+
},
|
|
68
|
+
"./api/ng": {
|
|
69
|
+
"types": "./types/ngneers-controls-api-ng.d.ts",
|
|
70
|
+
"default": "./fesm2022/ngneers-controls-api-ng.mjs"
|
|
71
|
+
},
|
|
72
|
+
"./api/resize": {
|
|
73
|
+
"types": "./types/ngneers-controls-api-resize.d.ts",
|
|
74
|
+
"default": "./fesm2022/ngneers-controls-api-resize.mjs"
|
|
75
|
+
},
|
|
76
|
+
"./avatar": {
|
|
77
|
+
"types": "./types/ngneers-controls-avatar.d.ts",
|
|
78
|
+
"default": "./fesm2022/ngneers-controls-avatar.mjs"
|
|
79
|
+
},
|
|
80
|
+
"./base": {
|
|
81
|
+
"types": "./types/ngneers-controls-base.d.ts",
|
|
82
|
+
"default": "./fesm2022/ngneers-controls-base.mjs"
|
|
83
|
+
},
|
|
84
|
+
"./breadcrumb": {
|
|
85
|
+
"types": "./types/ngneers-controls-breadcrumb.d.ts",
|
|
86
|
+
"default": "./fesm2022/ngneers-controls-breadcrumb.mjs"
|
|
87
|
+
},
|
|
88
|
+
"./button": {
|
|
89
|
+
"types": "./types/ngneers-controls-button.d.ts",
|
|
90
|
+
"default": "./fesm2022/ngneers-controls-button.mjs"
|
|
91
|
+
},
|
|
92
|
+
"./button-group": {
|
|
93
|
+
"types": "./types/ngneers-controls-button-group.d.ts",
|
|
94
|
+
"default": "./fesm2022/ngneers-controls-button-group.mjs"
|
|
95
|
+
},
|
|
96
|
+
"./calendar": {
|
|
97
|
+
"types": "./types/ngneers-controls-calendar.d.ts",
|
|
98
|
+
"default": "./fesm2022/ngneers-controls-calendar.mjs"
|
|
99
|
+
},
|
|
100
|
+
"./checkbox": {
|
|
101
|
+
"types": "./types/ngneers-controls-checkbox.d.ts",
|
|
102
|
+
"default": "./fesm2022/ngneers-controls-checkbox.mjs"
|
|
103
|
+
},
|
|
104
|
+
"./chip": {
|
|
105
|
+
"types": "./types/ngneers-controls-chip.d.ts",
|
|
106
|
+
"default": "./fesm2022/ngneers-controls-chip.mjs"
|
|
107
|
+
},
|
|
108
|
+
"./default-icons": {
|
|
109
|
+
"types": "./types/ngneers-controls-default-icons.d.ts",
|
|
110
|
+
"default": "./fesm2022/ngneers-controls-default-icons.mjs"
|
|
111
|
+
},
|
|
112
|
+
"./defer": {
|
|
113
|
+
"types": "./types/ngneers-controls-defer.d.ts",
|
|
114
|
+
"default": "./fesm2022/ngneers-controls-defer.mjs"
|
|
115
|
+
},
|
|
116
|
+
"./dialog": {
|
|
117
|
+
"types": "./types/ngneers-controls-dialog.d.ts",
|
|
118
|
+
"default": "./fesm2022/ngneers-controls-dialog.mjs"
|
|
119
|
+
},
|
|
120
|
+
"./directives": {
|
|
121
|
+
"types": "./types/ngneers-controls-directives.d.ts",
|
|
122
|
+
"default": "./fesm2022/ngneers-controls-directives.mjs"
|
|
123
|
+
},
|
|
124
|
+
"./drawer": {
|
|
125
|
+
"types": "./types/ngneers-controls-drawer.d.ts",
|
|
126
|
+
"default": "./fesm2022/ngneers-controls-drawer.mjs"
|
|
127
|
+
},
|
|
128
|
+
"./edit-inplace": {
|
|
129
|
+
"types": "./types/ngneers-controls-edit-inplace.d.ts",
|
|
130
|
+
"default": "./fesm2022/ngneers-controls-edit-inplace.mjs"
|
|
131
|
+
},
|
|
132
|
+
"./errors": {
|
|
133
|
+
"types": "./types/ngneers-controls-errors.d.ts",
|
|
134
|
+
"default": "./fesm2022/ngneers-controls-errors.mjs"
|
|
135
|
+
},
|
|
136
|
+
"./filter": {
|
|
137
|
+
"types": "./types/ngneers-controls-filter.d.ts",
|
|
138
|
+
"default": "./fesm2022/ngneers-controls-filter.mjs"
|
|
139
|
+
},
|
|
140
|
+
"./hint": {
|
|
141
|
+
"types": "./types/ngneers-controls-hint.d.ts",
|
|
142
|
+
"default": "./fesm2022/ngneers-controls-hint.mjs"
|
|
143
|
+
},
|
|
144
|
+
"./i18n": {
|
|
145
|
+
"types": "./types/ngneers-controls-i18n.d.ts",
|
|
146
|
+
"default": "./fesm2022/ngneers-controls-i18n.mjs"
|
|
147
|
+
},
|
|
148
|
+
"./i18n/translations/de": {
|
|
149
|
+
"types": "./types/ngneers-controls-i18n-translations-de.d.ts",
|
|
150
|
+
"default": "./fesm2022/ngneers-controls-i18n-translations-de.mjs"
|
|
151
|
+
},
|
|
152
|
+
"./i18n/translations/en": {
|
|
153
|
+
"types": "./types/ngneers-controls-i18n-translations-en.d.ts",
|
|
154
|
+
"default": "./fesm2022/ngneers-controls-i18n-translations-en.mjs"
|
|
155
|
+
},
|
|
156
|
+
"./icon": {
|
|
157
|
+
"types": "./types/ngneers-controls-icon.d.ts",
|
|
158
|
+
"default": "./fesm2022/ngneers-controls-icon.mjs"
|
|
159
|
+
},
|
|
160
|
+
"./inplace": {
|
|
161
|
+
"types": "./types/ngneers-controls-inplace.d.ts",
|
|
162
|
+
"default": "./fesm2022/ngneers-controls-inplace.mjs"
|
|
163
|
+
},
|
|
164
|
+
"./input": {
|
|
165
|
+
"types": "./types/ngneers-controls-input.d.ts",
|
|
166
|
+
"default": "./fesm2022/ngneers-controls-input.mjs"
|
|
167
|
+
},
|
|
168
|
+
"./input-field": {
|
|
169
|
+
"types": "./types/ngneers-controls-input-field.d.ts",
|
|
170
|
+
"default": "./fesm2022/ngneers-controls-input-field.mjs"
|
|
171
|
+
},
|
|
172
|
+
"./item-view": {
|
|
173
|
+
"types": "./types/ngneers-controls-item-view.d.ts",
|
|
174
|
+
"default": "./fesm2022/ngneers-controls-item-view.mjs"
|
|
175
|
+
},
|
|
176
|
+
"./list-box": {
|
|
177
|
+
"types": "./types/ngneers-controls-list-box.d.ts",
|
|
178
|
+
"default": "./fesm2022/ngneers-controls-list-box.mjs"
|
|
179
|
+
},
|
|
180
|
+
"./mask-input": {
|
|
181
|
+
"types": "./types/ngneers-controls-mask-input.d.ts",
|
|
182
|
+
"default": "./fesm2022/ngneers-controls-mask-input.mjs"
|
|
183
|
+
},
|
|
184
|
+
"./menu": {
|
|
185
|
+
"types": "./types/ngneers-controls-menu.d.ts",
|
|
186
|
+
"default": "./fesm2022/ngneers-controls-menu.mjs"
|
|
187
|
+
},
|
|
188
|
+
"./message": {
|
|
189
|
+
"types": "./types/ngneers-controls-message.d.ts",
|
|
190
|
+
"default": "./fesm2022/ngneers-controls-message.mjs"
|
|
191
|
+
},
|
|
192
|
+
"./number-input": {
|
|
193
|
+
"types": "./types/ngneers-controls-number-input.d.ts",
|
|
194
|
+
"default": "./fesm2022/ngneers-controls-number-input.mjs"
|
|
195
|
+
},
|
|
196
|
+
"./paginator": {
|
|
197
|
+
"types": "./types/ngneers-controls-paginator.d.ts",
|
|
198
|
+
"default": "./fesm2022/ngneers-controls-paginator.mjs"
|
|
199
|
+
},
|
|
200
|
+
"./popover": {
|
|
201
|
+
"types": "./types/ngneers-controls-popover.d.ts",
|
|
202
|
+
"default": "./fesm2022/ngneers-controls-popover.mjs"
|
|
203
|
+
},
|
|
204
|
+
"./progress": {
|
|
205
|
+
"types": "./types/ngneers-controls-progress.d.ts",
|
|
206
|
+
"default": "./fesm2022/ngneers-controls-progress.mjs"
|
|
207
|
+
},
|
|
208
|
+
"./radio": {
|
|
209
|
+
"types": "./types/ngneers-controls-radio.d.ts",
|
|
210
|
+
"default": "./fesm2022/ngneers-controls-radio.mjs"
|
|
211
|
+
},
|
|
212
|
+
"./roving-focus": {
|
|
213
|
+
"types": "./types/ngneers-controls-roving-focus.d.ts",
|
|
214
|
+
"default": "./fesm2022/ngneers-controls-roving-focus.mjs"
|
|
215
|
+
},
|
|
216
|
+
"./scroll-shadow": {
|
|
217
|
+
"types": "./types/ngneers-controls-scroll-shadow.d.ts",
|
|
218
|
+
"default": "./fesm2022/ngneers-controls-scroll-shadow.mjs"
|
|
219
|
+
},
|
|
220
|
+
"./scroller": {
|
|
221
|
+
"types": "./types/ngneers-controls-scroller.d.ts",
|
|
222
|
+
"default": "./fesm2022/ngneers-controls-scroller.mjs"
|
|
223
|
+
},
|
|
224
|
+
"./select": {
|
|
225
|
+
"types": "./types/ngneers-controls-select.d.ts",
|
|
226
|
+
"default": "./fesm2022/ngneers-controls-select.mjs"
|
|
227
|
+
},
|
|
228
|
+
"./select-button": {
|
|
229
|
+
"types": "./types/ngneers-controls-select-button.d.ts",
|
|
230
|
+
"default": "./fesm2022/ngneers-controls-select-button.mjs"
|
|
231
|
+
},
|
|
232
|
+
"./slider": {
|
|
233
|
+
"types": "./types/ngneers-controls-slider.d.ts",
|
|
234
|
+
"default": "./fesm2022/ngneers-controls-slider.mjs"
|
|
235
|
+
},
|
|
236
|
+
"./snackbar": {
|
|
237
|
+
"types": "./types/ngneers-controls-snackbar.d.ts",
|
|
238
|
+
"default": "./fesm2022/ngneers-controls-snackbar.mjs"
|
|
239
|
+
},
|
|
240
|
+
"./spin-buttons": {
|
|
241
|
+
"types": "./types/ngneers-controls-spin-buttons.d.ts",
|
|
242
|
+
"default": "./fesm2022/ngneers-controls-spin-buttons.mjs"
|
|
243
|
+
},
|
|
244
|
+
"./spinner": {
|
|
245
|
+
"types": "./types/ngneers-controls-spinner.d.ts",
|
|
246
|
+
"default": "./fesm2022/ngneers-controls-spinner.mjs"
|
|
247
|
+
},
|
|
248
|
+
"./splitter": {
|
|
249
|
+
"types": "./types/ngneers-controls-splitter.d.ts",
|
|
250
|
+
"default": "./fesm2022/ngneers-controls-splitter.mjs"
|
|
251
|
+
},
|
|
252
|
+
"./state": {
|
|
253
|
+
"types": "./types/ngneers-controls-state.d.ts",
|
|
254
|
+
"default": "./fesm2022/ngneers-controls-state.mjs"
|
|
255
|
+
},
|
|
256
|
+
"./switch": {
|
|
257
|
+
"types": "./types/ngneers-controls-switch.d.ts",
|
|
258
|
+
"default": "./fesm2022/ngneers-controls-switch.mjs"
|
|
259
|
+
},
|
|
260
|
+
"./table": {
|
|
261
|
+
"types": "./types/ngneers-controls-table.d.ts",
|
|
262
|
+
"default": "./fesm2022/ngneers-controls-table.mjs"
|
|
263
|
+
},
|
|
264
|
+
"./tabs": {
|
|
265
|
+
"types": "./types/ngneers-controls-tabs.d.ts",
|
|
266
|
+
"default": "./fesm2022/ngneers-controls-tabs.mjs"
|
|
267
|
+
},
|
|
268
|
+
"./tag": {
|
|
269
|
+
"types": "./types/ngneers-controls-tag.d.ts",
|
|
270
|
+
"default": "./fesm2022/ngneers-controls-tag.mjs"
|
|
271
|
+
},
|
|
272
|
+
"./toast": {
|
|
273
|
+
"types": "./types/ngneers-controls-toast.d.ts",
|
|
274
|
+
"default": "./fesm2022/ngneers-controls-toast.mjs"
|
|
275
|
+
},
|
|
276
|
+
"./toggle-button": {
|
|
277
|
+
"types": "./types/ngneers-controls-toggle-button.d.ts",
|
|
278
|
+
"default": "./fesm2022/ngneers-controls-toggle-button.mjs"
|
|
279
|
+
},
|
|
280
|
+
"./tooltip": {
|
|
281
|
+
"types": "./types/ngneers-controls-tooltip.d.ts",
|
|
282
|
+
"default": "./fesm2022/ngneers-controls-tooltip.mjs"
|
|
283
|
+
},
|
|
284
|
+
"./tree": {
|
|
285
|
+
"types": "./types/ngneers-controls-tree.d.ts",
|
|
286
|
+
"default": "./fesm2022/ngneers-controls-tree.mjs"
|
|
287
|
+
},
|
|
288
|
+
"./upload": {
|
|
289
|
+
"types": "./types/ngneers-controls-upload.d.ts",
|
|
290
|
+
"default": "./fesm2022/ngneers-controls-upload.mjs"
|
|
291
|
+
},
|
|
292
|
+
"./utils": {
|
|
293
|
+
"types": "./types/ngneers-controls-utils.d.ts",
|
|
294
|
+
"default": "./fesm2022/ngneers-controls-utils.mjs"
|
|
295
|
+
},
|
|
296
|
+
"./utils-ng": {
|
|
297
|
+
"types": "./types/ngneers-controls-utils-ng.d.ts",
|
|
298
|
+
"default": "./fesm2022/ngneers-controls-utils-ng.mjs"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"type": "module"
|
|
302
|
+
}
|