@design-factory/angular 21.0.4 → 21.1.0-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/drawer/README.md +54 -0
- package/fesm2022/design-factory-angular-drawer.mjs +202 -67
- package/fesm2022/design-factory-angular-drawer.mjs.map +1 -1
- package/fesm2022/design-factory-angular-internals.mjs +439 -17
- package/fesm2022/design-factory-angular-internals.mjs.map +1 -1
- package/fesm2022/design-factory-angular-sidenav.mjs +223 -210
- package/fesm2022/design-factory-angular-sidenav.mjs.map +1 -1
- package/fesm2022/design-factory-angular-theme.mjs +198 -0
- package/fesm2022/design-factory-angular-theme.mjs.map +1 -0
- package/fesm2022/design-factory-angular-topnav.mjs +1538 -0
- package/fesm2022/design-factory-angular-topnav.mjs.map +1 -0
- package/node_modules/@agnos-ui/core/README.md +5 -0
- package/node_modules/@agnos-ui/core/accordion-BC_9xn23.cjs +314 -0
- package/node_modules/@agnos-ui/core/accordion-Ca_0T8Bc.js +315 -0
- package/node_modules/@agnos-ui/core/alert-AhaliJ17.cjs +9 -0
- package/node_modules/@agnos-ui/core/alert-Cb9FhbFQ.js +10 -0
- package/node_modules/@agnos-ui/core/collapse-COriZO7o.cjs +94 -0
- package/node_modules/@agnos-ui/core/collapse-CP79atna.js +95 -0
- package/node_modules/@agnos-ui/core/common-B5jS-Ih_.cjs +73 -0
- package/node_modules/@agnos-ui/core/common-DFyZvkII.js +74 -0
- package/node_modules/@agnos-ui/core/components/accordion/accordion.d.ts +333 -0
- package/node_modules/@agnos-ui/core/components/accordion/index.cjs +7 -0
- package/node_modules/@agnos-ui/core/components/accordion/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/accordion/index.js +7 -0
- package/node_modules/@agnos-ui/core/components/alert/alert.d.ts +37 -0
- package/node_modules/@agnos-ui/core/components/alert/common.d.ts +138 -0
- package/node_modules/@agnos-ui/core/components/alert/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/alert/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/alert/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/carousel/carousel.d.ts +247 -0
- package/node_modules/@agnos-ui/core/components/carousel/index.cjs +292 -0
- package/node_modules/@agnos-ui/core/components/carousel/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/carousel/index.js +292 -0
- package/node_modules/@agnos-ui/core/components/collapse/collapse.d.ts +135 -0
- package/node_modules/@agnos-ui/core/components/collapse/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/collapse/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/collapse/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/commonProps.d.ts +11 -0
- package/node_modules/@agnos-ui/core/components/drawer/drawer.d.ts +279 -0
- package/node_modules/@agnos-ui/core/components/drawer/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/drawer/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/drawer/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/modal/index.cjs +8 -0
- package/node_modules/@agnos-ui/core/components/modal/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/modal/index.js +8 -0
- package/node_modules/@agnos-ui/core/components/modal/modal.d.ts +245 -0
- package/node_modules/@agnos-ui/core/components/pagination/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/pagination/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/pagination/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/pagination/pagination.d.ts +313 -0
- package/node_modules/@agnos-ui/core/components/progressbar/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/progressbar/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/progressbar/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/progressbar/progressbar.d.ts +91 -0
- package/node_modules/@agnos-ui/core/components/rating/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/rating/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/rating/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/rating/rating.d.ts +191 -0
- package/node_modules/@agnos-ui/core/components/slider/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/slider/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/slider/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/slider/slider-utils.d.ts +25 -0
- package/node_modules/@agnos-ui/core/components/slider/slider.d.ts +383 -0
- package/node_modules/@agnos-ui/core/components/toast/index.cjs +7 -0
- package/node_modules/@agnos-ui/core/components/toast/index.d.ts +2 -0
- package/node_modules/@agnos-ui/core/components/toast/index.js +7 -0
- package/node_modules/@agnos-ui/core/components/toast/toast.d.ts +66 -0
- package/node_modules/@agnos-ui/core/components/toast/toaster.d.ts +128 -0
- package/node_modules/@agnos-ui/core/components/tree/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/tree/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/tree/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/tree/tree.d.ts +143 -0
- package/node_modules/@agnos-ui/core/config.cjs +36 -0
- package/node_modules/@agnos-ui/core/config.d.ts +117 -0
- package/node_modules/@agnos-ui/core/config.js +36 -0
- package/node_modules/@agnos-ui/core/directive-Bsreu2z1.js +523 -0
- package/node_modules/@agnos-ui/core/directive-DCaXmRe_.cjs +522 -0
- package/node_modules/@agnos-ui/core/drawer-BbFAHV07.cjs +328 -0
- package/node_modules/@agnos-ui/core/drawer-C6Qa0xEu.js +329 -0
- package/node_modules/@agnos-ui/core/index.cjs +134 -0
- package/node_modules/@agnos-ui/core/index.d.ts +29 -0
- package/node_modules/@agnos-ui/core/index.js +134 -0
- package/node_modules/@agnos-ui/core/isFocusable-Ckwus82R.js +32 -0
- package/node_modules/@agnos-ui/core/isFocusable-DfzDLeAN.cjs +31 -0
- package/node_modules/@agnos-ui/core/modal-BsNuHhT7.cjs +252 -0
- package/node_modules/@agnos-ui/core/modal-CgzY8ezz.js +253 -0
- package/node_modules/@agnos-ui/core/package.json +57 -0
- package/node_modules/@agnos-ui/core/pagination-ZxGaNWZz.js +255 -0
- package/node_modules/@agnos-ui/core/pagination-xbcOHnhd.cjs +254 -0
- package/node_modules/@agnos-ui/core/progressbar-CRbMKp4b.cjs +86 -0
- package/node_modules/@agnos-ui/core/progressbar-CSEIFnlD.js +87 -0
- package/node_modules/@agnos-ui/core/promise-CxCD3NYv.cjs +118 -0
- package/node_modules/@agnos-ui/core/promise-D-RZVPuv.js +119 -0
- package/node_modules/@agnos-ui/core/rating-BIdiiPUo.js +184 -0
- package/node_modules/@agnos-ui/core/rating-qx1xaBmz.cjs +183 -0
- package/node_modules/@agnos-ui/core/scrollbars-CT87iv_6.cjs +30 -0
- package/node_modules/@agnos-ui/core/scrollbars-CcxSrnCx.js +31 -0
- package/node_modules/@agnos-ui/core/services/extendWidget.cjs +41 -0
- package/node_modules/@agnos-ui/core/services/extendWidget.d.ts +31 -0
- package/node_modules/@agnos-ui/core/services/extendWidget.js +41 -0
- package/node_modules/@agnos-ui/core/services/floatingUI.cjs +111 -0
- package/node_modules/@agnos-ui/core/services/floatingUI.d.ts +76 -0
- package/node_modules/@agnos-ui/core/services/floatingUI.js +111 -0
- package/node_modules/@agnos-ui/core/services/focusElement.cjs +46 -0
- package/node_modules/@agnos-ui/core/services/focusElement.d.ts +9 -0
- package/node_modules/@agnos-ui/core/services/focusElement.js +46 -0
- package/node_modules/@agnos-ui/core/services/focustrack.cjs +47 -0
- package/node_modules/@agnos-ui/core/services/focustrack.d.ts +40 -0
- package/node_modules/@agnos-ui/core/services/focustrack.js +47 -0
- package/node_modules/@agnos-ui/core/services/hash.cjs +15 -0
- package/node_modules/@agnos-ui/core/services/hash.d.ts +3 -0
- package/node_modules/@agnos-ui/core/services/hash.js +15 -0
- package/node_modules/@agnos-ui/core/services/intersection.cjs +53 -0
- package/node_modules/@agnos-ui/core/services/intersection.d.ts +30 -0
- package/node_modules/@agnos-ui/core/services/intersection.js +53 -0
- package/node_modules/@agnos-ui/core/services/matchMedia.cjs +14 -0
- package/node_modules/@agnos-ui/core/services/matchMedia.d.ts +8 -0
- package/node_modules/@agnos-ui/core/services/matchMedia.js +14 -0
- package/node_modules/@agnos-ui/core/services/navManager.cjs +166 -0
- package/node_modules/@agnos-ui/core/services/navManager.d.ts +144 -0
- package/node_modules/@agnos-ui/core/services/navManager.js +166 -0
- package/node_modules/@agnos-ui/core/services/pointerdownPosition.cjs +60 -0
- package/node_modules/@agnos-ui/core/services/pointerdownPosition.d.ts +42 -0
- package/node_modules/@agnos-ui/core/services/pointerdownPosition.js +60 -0
- package/node_modules/@agnos-ui/core/services/portal.cjs +42 -0
- package/node_modules/@agnos-ui/core/services/portal.d.ts +16 -0
- package/node_modules/@agnos-ui/core/services/portal.js +42 -0
- package/node_modules/@agnos-ui/core/services/resizeObserver.cjs +54 -0
- package/node_modules/@agnos-ui/core/services/resizeObserver.d.ts +18 -0
- package/node_modules/@agnos-ui/core/services/resizeObserver.js +54 -0
- package/node_modules/@agnos-ui/core/services/siblingsInert.cjs +44 -0
- package/node_modules/@agnos-ui/core/services/siblingsInert.d.ts +16 -0
- package/node_modules/@agnos-ui/core/services/siblingsInert.js +44 -0
- package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.cjs +186 -0
- package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.d.ts +166 -0
- package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.js +186 -0
- package/node_modules/@agnos-ui/core/services/transitions/collapse.cjs +40 -0
- package/node_modules/@agnos-ui/core/services/transitions/collapse.d.ts +49 -0
- package/node_modules/@agnos-ui/core/services/transitions/collapse.js +40 -0
- package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.cjs +32 -0
- package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.d.ts +25 -0
- package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.js +32 -0
- package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.cjs +37 -0
- package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.d.ts +47 -0
- package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.js +37 -0
- package/node_modules/@agnos-ui/core/slider-B93hE0ag.cjs +807 -0
- package/node_modules/@agnos-ui/core/slider-Cjiq9FgI.js +808 -0
- package/node_modules/@agnos-ui/core/textDirection-cNgt24LJ.js +4 -0
- package/node_modules/@agnos-ui/core/textDirection-zqcZ5-eK.cjs +3 -0
- package/node_modules/@agnos-ui/core/toaster-BQWqxYv-.cjs +190 -0
- package/node_modules/@agnos-ui/core/toaster-BzEkshT2.js +191 -0
- package/node_modules/@agnos-ui/core/tree-DY04XPPg.cjs +228 -0
- package/node_modules/@agnos-ui/core/tree-HwcvZ0_p.js +229 -0
- package/node_modules/@agnos-ui/core/types.cjs +6 -0
- package/node_modules/@agnos-ui/core/types.d.ts +246 -0
- package/node_modules/@agnos-ui/core/types.js +6 -0
- package/node_modules/@agnos-ui/core/utils/directive.cjs +28 -0
- package/node_modules/@agnos-ui/core/utils/directive.d.ts +352 -0
- package/node_modules/@agnos-ui/core/utils/directive.js +28 -0
- package/node_modules/@agnos-ui/core/utils/func.cjs +7 -0
- package/node_modules/@agnos-ui/core/utils/func.d.ts +11 -0
- package/node_modules/@agnos-ui/core/utils/func.js +7 -0
- package/node_modules/@agnos-ui/core/utils/id.cjs +5 -0
- package/node_modules/@agnos-ui/core/utils/id.d.ts +6 -0
- package/node_modules/@agnos-ui/core/utils/id.js +5 -0
- package/node_modules/@agnos-ui/core/utils/internal/assign.d.ts +10 -0
- package/node_modules/@agnos-ui/core/utils/internal/checks.d.ts +57 -0
- package/node_modules/@agnos-ui/core/utils/internal/dom.d.ts +75 -0
- package/node_modules/@agnos-ui/core/utils/internal/isFocusable.d.ts +9 -0
- package/node_modules/@agnos-ui/core/utils/internal/math.d.ts +5 -0
- package/node_modules/@agnos-ui/core/utils/internal/promise.d.ts +98 -0
- package/node_modules/@agnos-ui/core/utils/internal/scrollbars.d.ts +8 -0
- package/node_modules/@agnos-ui/core/utils/internal/sort.d.ts +16 -0
- package/node_modules/@agnos-ui/core/utils/internal/ssrHTMLElement.d.ts +17 -0
- package/node_modules/@agnos-ui/core/utils/internal/textDirection.d.ts +7 -0
- package/node_modules/@agnos-ui/core/utils/internal/traversal.d.ts +54 -0
- package/node_modules/@agnos-ui/core/utils/stores.cjs +172 -0
- package/node_modules/@agnos-ui/core/utils/stores.d.ts +224 -0
- package/node_modules/@agnos-ui/core/utils/stores.js +172 -0
- package/node_modules/@agnos-ui/core/utils/widget.cjs +8 -0
- package/node_modules/@agnos-ui/core/utils/widget.d.ts +11 -0
- package/node_modules/@agnos-ui/core/utils/widget.js +8 -0
- package/node_modules/@agnos-ui/core/utils/writables.cjs +16 -0
- package/node_modules/@agnos-ui/core/utils/writables.d.ts +95 -0
- package/node_modules/@agnos-ui/core/utils/writables.js +16 -0
- package/node_modules/@agnos-ui/core/writables-DYGjj5T3.js +103 -0
- package/node_modules/@agnos-ui/core/writables-Dt68gADJ.cjs +102 -0
- package/package.json +25 -6
- package/schematics/collection.json +1 -1
- package/types/design-factory-angular-drawer.d.ts +71 -13
- package/types/design-factory-angular-internals.d.ts +220 -31
- package/types/design-factory-angular-sidenav.d.ts +15 -7
- package/types/design-factory-angular-theme.d.ts +122 -0
- package/types/design-factory-angular-topnav.d.ts +435 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { readable, equal, asWritable, derived, computed, batch, asReadable, get, writable } from "@amadeus-it-group/tansu";
|
|
2
|
+
import { INVALID_VALUE } from "../types.js";
|
|
3
|
+
import { identity } from "./func.js";
|
|
4
|
+
import { generateId } from "./id.js";
|
|
5
|
+
function createPatch(stores) {
|
|
6
|
+
return function(storesValues) {
|
|
7
|
+
batch(() => {
|
|
8
|
+
for (const [name, value] of Object.entries(storesValues)) {
|
|
9
|
+
stores[`${name}$`]?.set(value);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function findChangedProperties(obj1, obj2) {
|
|
15
|
+
if (obj1 === obj2) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
let hasUpdate = false;
|
|
19
|
+
const changedValues = {};
|
|
20
|
+
const keys = /* @__PURE__ */ new Set([...Object.keys(obj1), ...Object.keys(obj2)]);
|
|
21
|
+
for (const key of keys) {
|
|
22
|
+
const value = obj2[key];
|
|
23
|
+
if (obj1[key] !== value) {
|
|
24
|
+
changedValues[key] = value;
|
|
25
|
+
hasUpdate = true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return hasUpdate ? changedValues : null;
|
|
29
|
+
}
|
|
30
|
+
function writableWithDefault(defValue, config$ = readable(void 0), options = {}, own$ = writable(void 0)) {
|
|
31
|
+
const { normalizeValue = identity, equal: equal2 = Object.is } = options;
|
|
32
|
+
const getDefValue = () => defValue;
|
|
33
|
+
const callNormalizeValue = (value, defValue2 = getDefValue) => {
|
|
34
|
+
const normalizedValue = value === void 0 ? void 0 : normalizeValue(value);
|
|
35
|
+
if (normalizedValue === INVALID_VALUE) {
|
|
36
|
+
console.error("Not using invalid value", value);
|
|
37
|
+
return defValue2();
|
|
38
|
+
}
|
|
39
|
+
if (normalizedValue === void 0) {
|
|
40
|
+
return defValue2();
|
|
41
|
+
}
|
|
42
|
+
return normalizedValue;
|
|
43
|
+
};
|
|
44
|
+
const validatedDefConfig$ = computed(() => callNormalizeValue(config$()), { equal: equal2 });
|
|
45
|
+
const validatedOwnValue$ = computed(() => callNormalizeValue(own$(), validatedDefConfig$), { equal: equal2 });
|
|
46
|
+
return asWritable(validatedOwnValue$, (value) => {
|
|
47
|
+
if (value !== void 0) {
|
|
48
|
+
const normalizedValue = normalizeValue(value);
|
|
49
|
+
if (normalizedValue === INVALID_VALUE) {
|
|
50
|
+
console.error("Not setting invalid value", value);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
value = normalizedValue;
|
|
54
|
+
}
|
|
55
|
+
own$.set(value);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
const isStore = (x) => !!(x && typeof x === "function" && "subscribe" in x);
|
|
59
|
+
const toReadableStore = (x) => isStore(x) ? x : readable(x);
|
|
60
|
+
const toWritableStore = (x) => isStore(x) ? x : writable(x);
|
|
61
|
+
const normalizeConfigStores = (keys, config) => {
|
|
62
|
+
const res = {};
|
|
63
|
+
if (config) {
|
|
64
|
+
const configIsStore = isStore(config);
|
|
65
|
+
for (const key of keys) {
|
|
66
|
+
res[key] = configIsStore ? computed(() => config()[key]) : toReadableStore(config[key]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return res;
|
|
70
|
+
};
|
|
71
|
+
const mergeConfigStores = (keys, config1, config2) => {
|
|
72
|
+
const res = {};
|
|
73
|
+
for (const key of keys) {
|
|
74
|
+
const config1Store = config1?.[key];
|
|
75
|
+
const config2Store = config2?.[key];
|
|
76
|
+
res[key] = config1Store && config2Store ? computed(() => config1Store() ?? config2Store()) : config1Store || config2Store;
|
|
77
|
+
}
|
|
78
|
+
return res;
|
|
79
|
+
};
|
|
80
|
+
const writablesWithDefault = (defConfig, propsConfig, options) => {
|
|
81
|
+
const res = {};
|
|
82
|
+
const keys = Object.keys(defConfig);
|
|
83
|
+
const configStores = normalizeConfigStores(keys, propsConfig?.config);
|
|
84
|
+
const props = propsConfig?.props;
|
|
85
|
+
for (const key of keys) {
|
|
86
|
+
const propValue = props?.[key];
|
|
87
|
+
res[`${key}$`] = writableWithDefault(defConfig[key], configStores[key], options?.[key], toWritableStore(propValue));
|
|
88
|
+
}
|
|
89
|
+
return res;
|
|
90
|
+
};
|
|
91
|
+
const writablesForProps = (defConfig, propsConfig, options) => {
|
|
92
|
+
const stores = writablesWithDefault(defConfig, propsConfig, options);
|
|
93
|
+
return [stores, createPatch(stores)];
|
|
94
|
+
};
|
|
95
|
+
const stateStores = (inputStores) => {
|
|
96
|
+
const storesNames = [];
|
|
97
|
+
const storesArray = [];
|
|
98
|
+
const stores = {};
|
|
99
|
+
for (const [key, store] of Object.entries(inputStores)) {
|
|
100
|
+
if (key.endsWith("$")) {
|
|
101
|
+
storesNames.push(key.substring(0, key.length - 1));
|
|
102
|
+
storesArray.push(store);
|
|
103
|
+
stores[key] = asReadable(store);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
stores,
|
|
108
|
+
state$: computed(() => {
|
|
109
|
+
const values = storesArray.map(get);
|
|
110
|
+
const res = {};
|
|
111
|
+
storesNames.forEach((name, index) => {
|
|
112
|
+
res[name] = values[index];
|
|
113
|
+
});
|
|
114
|
+
return res;
|
|
115
|
+
})
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
const bindableDerived = (onChange$, stores, adjustValue = (arg) => arg[0], equal2 = (currentValue, newValue) => newValue === currentValue) => {
|
|
119
|
+
let currentValue = stores[0]();
|
|
120
|
+
return asWritable(
|
|
121
|
+
derived(stores, {
|
|
122
|
+
derive(values) {
|
|
123
|
+
const newValue = adjustValue(values);
|
|
124
|
+
const rectifiedValue = !equal2(values[0], newValue);
|
|
125
|
+
if (rectifiedValue) {
|
|
126
|
+
stores[0].set(newValue);
|
|
127
|
+
}
|
|
128
|
+
if (rectifiedValue || !equal2(currentValue, newValue)) {
|
|
129
|
+
currentValue = newValue;
|
|
130
|
+
onChange$()(newValue);
|
|
131
|
+
}
|
|
132
|
+
return newValue;
|
|
133
|
+
},
|
|
134
|
+
equal: equal2
|
|
135
|
+
}),
|
|
136
|
+
stores[0].set.bind(stores[0])
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
const bindableProp = (store$, onChange$, adjustValue = identity, equal$1 = equal) => asWritable(
|
|
140
|
+
computed(() => adjustValue(store$()), { equal: equal$1 }),
|
|
141
|
+
(newValue) => {
|
|
142
|
+
const adjustedValue = adjustValue(newValue);
|
|
143
|
+
if (!equal$1(store$(), adjustedValue)) {
|
|
144
|
+
store$.set(adjustedValue);
|
|
145
|
+
onChange$()(adjustedValue);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
);
|
|
149
|
+
function idWithDefault(id$) {
|
|
150
|
+
const autoId$ = computed(() => generateId());
|
|
151
|
+
return computed(() => id$() || autoId$());
|
|
152
|
+
}
|
|
153
|
+
const true$ = readable(true);
|
|
154
|
+
const false$ = readable(false);
|
|
155
|
+
export {
|
|
156
|
+
bindableDerived,
|
|
157
|
+
bindableProp,
|
|
158
|
+
createPatch,
|
|
159
|
+
false$,
|
|
160
|
+
findChangedProperties,
|
|
161
|
+
idWithDefault,
|
|
162
|
+
isStore,
|
|
163
|
+
mergeConfigStores,
|
|
164
|
+
normalizeConfigStores,
|
|
165
|
+
stateStores,
|
|
166
|
+
toReadableStore,
|
|
167
|
+
toWritableStore,
|
|
168
|
+
true$,
|
|
169
|
+
writableWithDefault,
|
|
170
|
+
writablesForProps,
|
|
171
|
+
writablesWithDefault
|
|
172
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const types = require("../types.cjs");
|
|
4
|
+
function createWidgetFactory(widgetName, factory) {
|
|
5
|
+
factory[types.FACTORY_WIDGET_NAME] = widgetName;
|
|
6
|
+
return factory;
|
|
7
|
+
}
|
|
8
|
+
exports.createWidgetFactory = createWidgetFactory;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PropsConfig, Widget, WidgetFactory, WidgetProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Define a widget factory that can be linked with configuration through the provided widget name.
|
|
4
|
+
*
|
|
5
|
+
* @param widgetName - the widget name, used for configuration injection
|
|
6
|
+
* @param factory - the widget factory function
|
|
7
|
+
* @template W - The type of the widget
|
|
8
|
+
* @template T - The type of the widget factory function. Useful when the widget factory has a generic.
|
|
9
|
+
* @returns the widget factory
|
|
10
|
+
*/
|
|
11
|
+
export declare function createWidgetFactory<W extends Widget, T extends (config?: PropsConfig<WidgetProps<W>>) => W = (config?: PropsConfig<WidgetProps<W>>) => W>(widgetName: string, factory: T): WidgetFactory<W, T>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const utils_writables = require("../writables-Dt68gADJ.cjs");
|
|
4
|
+
require("../types.cjs");
|
|
5
|
+
exports.createTypeEnum = utils_writables.createTypeEnum;
|
|
6
|
+
exports.testToNormalizeValue = utils_writables.testToNormalizeValue;
|
|
7
|
+
exports.typeArray = utils_writables.typeArray;
|
|
8
|
+
exports.typeBoolean = utils_writables.typeBoolean;
|
|
9
|
+
exports.typeBooleanOrNull = utils_writables.typeBooleanOrNull;
|
|
10
|
+
exports.typeFunction = utils_writables.typeFunction;
|
|
11
|
+
exports.typeHTMLElementOrNull = utils_writables.typeHTMLElementOrNull;
|
|
12
|
+
exports.typeNumber = utils_writables.typeNumber;
|
|
13
|
+
exports.typeNumberInRangeFactory = utils_writables.typeNumberInRangeFactory;
|
|
14
|
+
exports.typeNumberOrNull = utils_writables.typeNumberOrNull;
|
|
15
|
+
exports.typeString = utils_writables.typeString;
|
|
16
|
+
exports.typeStringOrNull = utils_writables.typeStringOrNull;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { WritableWithDefaultOptions } from '../types';
|
|
2
|
+
import { INVALID_VALUE } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Check if a value respects a provided type guard.
|
|
5
|
+
*
|
|
6
|
+
* @template T - The type that the filter function validates.
|
|
7
|
+
* @param filter - A function that takes a value and returns a boolean indicating
|
|
8
|
+
* whether the value is of type T.
|
|
9
|
+
* @returns A function that takes a value and returns the value if it passes the filter,
|
|
10
|
+
* otherwise returns `INVALID_VALUE`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const testToNormalizeValue: <T>(filter: (value: any) => value is T) => ((value: any) => T | typeof INVALID_VALUE);
|
|
13
|
+
/**
|
|
14
|
+
* A writable object with default options for handling numbers.
|
|
15
|
+
*/
|
|
16
|
+
export declare const typeNumber: WritableWithDefaultOptions<number>;
|
|
17
|
+
/**
|
|
18
|
+
* Options for specifying the behavior of number range validation.
|
|
19
|
+
*/
|
|
20
|
+
export interface TypeNumberInRangeOptions {
|
|
21
|
+
/** If `true`, the range checking will be strict, excluding the minimum and maximum values. Default is `false`. */
|
|
22
|
+
strict?: boolean;
|
|
23
|
+
/** If `true`, values outside the range will be clamped to the minimum or maximum. Default is `true`. */
|
|
24
|
+
useClamp?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Factory function for creating a type constraint for numbers within a specified range.
|
|
28
|
+
*
|
|
29
|
+
* @param min - The minimum value.
|
|
30
|
+
* @param max - The maximum value.
|
|
31
|
+
* @param options - Additional options to customize the behavior.
|
|
32
|
+
*
|
|
33
|
+
* @returns A type guard function that returns the clamp value or INVALID_VALUE depending on the provided options.
|
|
34
|
+
*/
|
|
35
|
+
export declare function typeNumberInRangeFactory(min: number, max: number, options?: TypeNumberInRangeOptions): WritableWithDefaultOptions<number>;
|
|
36
|
+
/**
|
|
37
|
+
* A writable object with default options for boolean values.
|
|
38
|
+
*
|
|
39
|
+
* This object provides a normalized way to handle boolean values
|
|
40
|
+
* using the `WritableWithDefaultOptions` interface. The `normalizeValue`
|
|
41
|
+
* function ensures that the value is properly validated and normalized
|
|
42
|
+
* as a boolean.
|
|
43
|
+
*/
|
|
44
|
+
export declare const typeBoolean: WritableWithDefaultOptions<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* A writable with default options that normalizes its value to a boolean or null.
|
|
47
|
+
*
|
|
48
|
+
* This writable uses a normalization function that allows null values and ensures
|
|
49
|
+
* the value is a boolean.
|
|
50
|
+
*/
|
|
51
|
+
export declare const typeBooleanOrNull: WritableWithDefaultOptions<boolean | null>;
|
|
52
|
+
/**
|
|
53
|
+
* A writable object with default options for string values.
|
|
54
|
+
*
|
|
55
|
+
* This object provides a normalized value for strings using the `testToNormalizeValue` function
|
|
56
|
+
* with the `isString` validator.
|
|
57
|
+
*/
|
|
58
|
+
export declare const typeString: WritableWithDefaultOptions<string>;
|
|
59
|
+
/**
|
|
60
|
+
* A writable with default options that normalizes its value to a string or null.
|
|
61
|
+
*
|
|
62
|
+
* This object provides a normalized value for strings using the `testToNormalizeValue` function
|
|
63
|
+
* with the `isString` validator.
|
|
64
|
+
*/
|
|
65
|
+
export declare const typeStringOrNull: WritableWithDefaultOptions<string | null>;
|
|
66
|
+
/**
|
|
67
|
+
* A writable with default options that normalizes its value to a number or null.
|
|
68
|
+
*
|
|
69
|
+
* This writable uses a normalization function that allows null values and ensures
|
|
70
|
+
* the value is a boolean.
|
|
71
|
+
*/
|
|
72
|
+
export declare const typeNumberOrNull: WritableWithDefaultOptions<number | null>;
|
|
73
|
+
/**
|
|
74
|
+
* A writable object that holds a function type with default options.
|
|
75
|
+
*/
|
|
76
|
+
export declare const typeFunction: WritableWithDefaultOptions<(...args: any[]) => any>;
|
|
77
|
+
/**
|
|
78
|
+
* A writable object with default options for handling values of type `HTMLElement` or `null`.
|
|
79
|
+
*
|
|
80
|
+
* This object provides:
|
|
81
|
+
* - `normalizeValue`: A function to normalize the value, ensuring it is either an `HTMLElement` or `null`.
|
|
82
|
+
* - `equal`: A function to compare two values for equality using `Object.is`.
|
|
83
|
+
*/
|
|
84
|
+
export declare const typeHTMLElementOrNull: WritableWithDefaultOptions<HTMLElement | null>;
|
|
85
|
+
/**
|
|
86
|
+
* A writable object with default options for handling arrays.
|
|
87
|
+
*/
|
|
88
|
+
export declare const typeArray: WritableWithDefaultOptions<any[]>;
|
|
89
|
+
/**
|
|
90
|
+
* Build an enum normalizer
|
|
91
|
+
* @template T - the enum type
|
|
92
|
+
* @param enumList - list of enum values to check
|
|
93
|
+
* @returns the enum normalizer
|
|
94
|
+
*/
|
|
95
|
+
export declare function createTypeEnum<T>(enumList: T[]): WritableWithDefaultOptions<T>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { c, t, a, b, d, e, f, g, h, i, j, k } from "../writables-DYGjj5T3.js";
|
|
2
|
+
import "../types.js";
|
|
3
|
+
export {
|
|
4
|
+
c as createTypeEnum,
|
|
5
|
+
t as testToNormalizeValue,
|
|
6
|
+
a as typeArray,
|
|
7
|
+
b as typeBoolean,
|
|
8
|
+
d as typeBooleanOrNull,
|
|
9
|
+
e as typeFunction,
|
|
10
|
+
f as typeHTMLElementOrNull,
|
|
11
|
+
g as typeNumber,
|
|
12
|
+
h as typeNumberInRangeFactory,
|
|
13
|
+
i as typeNumberOrNull,
|
|
14
|
+
j as typeString,
|
|
15
|
+
k as typeStringOrNull
|
|
16
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { INVALID_VALUE } from "./types.js";
|
|
2
|
+
function isNumber(value) {
|
|
3
|
+
return typeof value === "number" && !isNaN(value) && Number.isFinite(value);
|
|
4
|
+
}
|
|
5
|
+
function isBoolean(value) {
|
|
6
|
+
return value === true || value === false;
|
|
7
|
+
}
|
|
8
|
+
function isFunction(value) {
|
|
9
|
+
return typeof value === "function";
|
|
10
|
+
}
|
|
11
|
+
function isString(value) {
|
|
12
|
+
return typeof value === "string";
|
|
13
|
+
}
|
|
14
|
+
const isArray = Array.isArray;
|
|
15
|
+
function clamp(value, max, min = 0) {
|
|
16
|
+
return Math.max(Math.min(value, max), min);
|
|
17
|
+
}
|
|
18
|
+
const isHTMLElement = (value) => value instanceof HTMLElement;
|
|
19
|
+
const allowNull = (isType) => (value) => value === null || isType(value);
|
|
20
|
+
function isFromEnum(list) {
|
|
21
|
+
return (value) => list.includes(value);
|
|
22
|
+
}
|
|
23
|
+
const testToNormalizeValue = (filter) => (value) => filter(value) ? value : INVALID_VALUE;
|
|
24
|
+
const numberNormalizeFn = testToNormalizeValue(isNumber);
|
|
25
|
+
const typeNumber = {
|
|
26
|
+
normalizeValue: numberNormalizeFn
|
|
27
|
+
};
|
|
28
|
+
function typeNumberInRangeFactory(min, max, options = {}) {
|
|
29
|
+
const { strict = false, useClamp = true } = options;
|
|
30
|
+
return {
|
|
31
|
+
normalizeValue: (value) => {
|
|
32
|
+
let normalizedNumber = numberNormalizeFn(value);
|
|
33
|
+
if (normalizedNumber !== INVALID_VALUE) {
|
|
34
|
+
if (!strict && useClamp) {
|
|
35
|
+
normalizedNumber = clamp(normalizedNumber, max, min);
|
|
36
|
+
}
|
|
37
|
+
if (normalizedNumber >= min && normalizedNumber <= max) {
|
|
38
|
+
if (!strict || normalizedNumber !== min && normalizedNumber !== max) {
|
|
39
|
+
return normalizedNumber;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return INVALID_VALUE;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const typeBoolean = {
|
|
48
|
+
normalizeValue: testToNormalizeValue(isBoolean)
|
|
49
|
+
};
|
|
50
|
+
const typeBooleanOrNull = {
|
|
51
|
+
normalizeValue: testToNormalizeValue(allowNull(isBoolean))
|
|
52
|
+
};
|
|
53
|
+
const typeString = {
|
|
54
|
+
normalizeValue: testToNormalizeValue(isString)
|
|
55
|
+
};
|
|
56
|
+
const typeStringOrNull = {
|
|
57
|
+
normalizeValue: testToNormalizeValue(allowNull(isString))
|
|
58
|
+
};
|
|
59
|
+
const typeNumberOrNull = {
|
|
60
|
+
normalizeValue: testToNormalizeValue(allowNull(isNumber))
|
|
61
|
+
};
|
|
62
|
+
const typeFunction = {
|
|
63
|
+
normalizeValue: testToNormalizeValue(isFunction),
|
|
64
|
+
equal: Object.is
|
|
65
|
+
};
|
|
66
|
+
const typeHTMLElementOrNull = {
|
|
67
|
+
normalizeValue: testToNormalizeValue(allowNull(isHTMLElement)),
|
|
68
|
+
equal: Object.is
|
|
69
|
+
};
|
|
70
|
+
const typeArray = {
|
|
71
|
+
normalizeValue: testToNormalizeValue(isArray),
|
|
72
|
+
equal: (a, b) => {
|
|
73
|
+
if (a === b) {
|
|
74
|
+
return true;
|
|
75
|
+
} else {
|
|
76
|
+
if (a?.length !== b?.length) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return a.every((val, index) => val === b[index]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
function createTypeEnum(enumList) {
|
|
84
|
+
return {
|
|
85
|
+
normalizeValue: testToNormalizeValue(isFromEnum(enumList))
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
typeArray as a,
|
|
90
|
+
typeBoolean as b,
|
|
91
|
+
createTypeEnum as c,
|
|
92
|
+
typeBooleanOrNull as d,
|
|
93
|
+
typeFunction as e,
|
|
94
|
+
typeHTMLElementOrNull as f,
|
|
95
|
+
typeNumber as g,
|
|
96
|
+
typeNumberInRangeFactory as h,
|
|
97
|
+
typeNumberOrNull as i,
|
|
98
|
+
typeString as j,
|
|
99
|
+
typeStringOrNull as k,
|
|
100
|
+
clamp as l,
|
|
101
|
+
isNumber as m,
|
|
102
|
+
testToNormalizeValue as t
|
|
103
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const types = require("./types.cjs");
|
|
3
|
+
function isNumber(value) {
|
|
4
|
+
return typeof value === "number" && !isNaN(value) && Number.isFinite(value);
|
|
5
|
+
}
|
|
6
|
+
function isBoolean(value) {
|
|
7
|
+
return value === true || value === false;
|
|
8
|
+
}
|
|
9
|
+
function isFunction(value) {
|
|
10
|
+
return typeof value === "function";
|
|
11
|
+
}
|
|
12
|
+
function isString(value) {
|
|
13
|
+
return typeof value === "string";
|
|
14
|
+
}
|
|
15
|
+
const isArray = Array.isArray;
|
|
16
|
+
function clamp(value, max, min = 0) {
|
|
17
|
+
return Math.max(Math.min(value, max), min);
|
|
18
|
+
}
|
|
19
|
+
const isHTMLElement = (value) => value instanceof HTMLElement;
|
|
20
|
+
const allowNull = (isType) => (value) => value === null || isType(value);
|
|
21
|
+
function isFromEnum(list) {
|
|
22
|
+
return (value) => list.includes(value);
|
|
23
|
+
}
|
|
24
|
+
const testToNormalizeValue = (filter) => (value) => filter(value) ? value : types.INVALID_VALUE;
|
|
25
|
+
const numberNormalizeFn = testToNormalizeValue(isNumber);
|
|
26
|
+
const typeNumber = {
|
|
27
|
+
normalizeValue: numberNormalizeFn
|
|
28
|
+
};
|
|
29
|
+
function typeNumberInRangeFactory(min, max, options = {}) {
|
|
30
|
+
const { strict = false, useClamp = true } = options;
|
|
31
|
+
return {
|
|
32
|
+
normalizeValue: (value) => {
|
|
33
|
+
let normalizedNumber = numberNormalizeFn(value);
|
|
34
|
+
if (normalizedNumber !== types.INVALID_VALUE) {
|
|
35
|
+
if (!strict && useClamp) {
|
|
36
|
+
normalizedNumber = clamp(normalizedNumber, max, min);
|
|
37
|
+
}
|
|
38
|
+
if (normalizedNumber >= min && normalizedNumber <= max) {
|
|
39
|
+
if (!strict || normalizedNumber !== min && normalizedNumber !== max) {
|
|
40
|
+
return normalizedNumber;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return types.INVALID_VALUE;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const typeBoolean = {
|
|
49
|
+
normalizeValue: testToNormalizeValue(isBoolean)
|
|
50
|
+
};
|
|
51
|
+
const typeBooleanOrNull = {
|
|
52
|
+
normalizeValue: testToNormalizeValue(allowNull(isBoolean))
|
|
53
|
+
};
|
|
54
|
+
const typeString = {
|
|
55
|
+
normalizeValue: testToNormalizeValue(isString)
|
|
56
|
+
};
|
|
57
|
+
const typeStringOrNull = {
|
|
58
|
+
normalizeValue: testToNormalizeValue(allowNull(isString))
|
|
59
|
+
};
|
|
60
|
+
const typeNumberOrNull = {
|
|
61
|
+
normalizeValue: testToNormalizeValue(allowNull(isNumber))
|
|
62
|
+
};
|
|
63
|
+
const typeFunction = {
|
|
64
|
+
normalizeValue: testToNormalizeValue(isFunction),
|
|
65
|
+
equal: Object.is
|
|
66
|
+
};
|
|
67
|
+
const typeHTMLElementOrNull = {
|
|
68
|
+
normalizeValue: testToNormalizeValue(allowNull(isHTMLElement)),
|
|
69
|
+
equal: Object.is
|
|
70
|
+
};
|
|
71
|
+
const typeArray = {
|
|
72
|
+
normalizeValue: testToNormalizeValue(isArray),
|
|
73
|
+
equal: (a, b) => {
|
|
74
|
+
if (a === b) {
|
|
75
|
+
return true;
|
|
76
|
+
} else {
|
|
77
|
+
if (a?.length !== b?.length) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return a.every((val, index) => val === b[index]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
function createTypeEnum(enumList) {
|
|
85
|
+
return {
|
|
86
|
+
normalizeValue: testToNormalizeValue(isFromEnum(enumList))
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
exports.clamp = clamp;
|
|
90
|
+
exports.createTypeEnum = createTypeEnum;
|
|
91
|
+
exports.isNumber = isNumber;
|
|
92
|
+
exports.testToNormalizeValue = testToNormalizeValue;
|
|
93
|
+
exports.typeArray = typeArray;
|
|
94
|
+
exports.typeBoolean = typeBoolean;
|
|
95
|
+
exports.typeBooleanOrNull = typeBooleanOrNull;
|
|
96
|
+
exports.typeFunction = typeFunction;
|
|
97
|
+
exports.typeHTMLElementOrNull = typeHTMLElementOrNull;
|
|
98
|
+
exports.typeNumber = typeNumber;
|
|
99
|
+
exports.typeNumberInRangeFactory = typeNumberInRangeFactory;
|
|
100
|
+
exports.typeNumberOrNull = typeNumberOrNull;
|
|
101
|
+
exports.typeString = typeString;
|
|
102
|
+
exports.typeStringOrNull = typeStringOrNull;
|
package/package.json
CHANGED
|
@@ -2,23 +2,34 @@
|
|
|
2
2
|
"name": "@design-factory/angular",
|
|
3
3
|
"description": "Amadeus design system Angular implementation",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
|
-
"version": "21.0.
|
|
5
|
+
"version": "21.1.0-next.0",
|
|
6
|
+
"bundledDependencies": [
|
|
7
|
+
"@agnos-ui/core"
|
|
8
|
+
],
|
|
6
9
|
"dependencies": {
|
|
10
|
+
"@agnos-ui/core": "0.0.0",
|
|
7
11
|
"tslib": "^2.0.0"
|
|
8
12
|
},
|
|
9
13
|
"peerDependencies": {
|
|
10
|
-
"@agnos-ui/angular-headless": "~0.10.0",
|
|
11
|
-
"@agnos-ui/core-bootstrap": "~0.10.0",
|
|
12
14
|
"@angular/common": "^21.0.0",
|
|
13
15
|
"@angular/core": "^21.0.0",
|
|
14
16
|
"@angular/localize": "^21.0.0",
|
|
15
17
|
"@angular/router": "^21.0.0",
|
|
16
|
-
"@design-factory/
|
|
17
|
-
"@
|
|
18
|
+
"@design-factory/styles": "21.1.0-next.0",
|
|
19
|
+
"@amadeus-it-group/tansu": "^2.0.0",
|
|
20
|
+
"@floating-ui/dom": "^1.6.12",
|
|
21
|
+
"embla-carousel": "^8.5.2",
|
|
22
|
+
"esm-env": "^1.2.1"
|
|
18
23
|
},
|
|
19
24
|
"peerDependenciesMeta": {
|
|
20
25
|
"@angular/router": {
|
|
21
26
|
"optional": true
|
|
27
|
+
},
|
|
28
|
+
"@floating-ui/dom": {
|
|
29
|
+
"optional": true
|
|
30
|
+
},
|
|
31
|
+
"embla-carousel": {
|
|
32
|
+
"optional": true
|
|
22
33
|
}
|
|
23
34
|
},
|
|
24
35
|
"schematics": "./schematics/collection.json",
|
|
@@ -46,7 +57,15 @@
|
|
|
46
57
|
"./sidenav": {
|
|
47
58
|
"types": "./types/design-factory-angular-sidenav.d.ts",
|
|
48
59
|
"default": "./fesm2022/design-factory-angular-sidenav.mjs"
|
|
60
|
+
},
|
|
61
|
+
"./theme": {
|
|
62
|
+
"types": "./types/design-factory-angular-theme.d.ts",
|
|
63
|
+
"default": "./fesm2022/design-factory-angular-theme.mjs"
|
|
64
|
+
},
|
|
65
|
+
"./topnav": {
|
|
66
|
+
"types": "./types/design-factory-angular-topnav.d.ts",
|
|
67
|
+
"default": "./fesm2022/design-factory-angular-topnav.mjs"
|
|
49
68
|
}
|
|
50
69
|
},
|
|
51
70
|
"sideEffects": false
|
|
52
|
-
}
|
|
71
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "../../../../node_modules/@angular-devkit/schematics/collection-schema.json",
|
|
3
3
|
"schematics": {
|
|
4
4
|
"ng-add": {
|
|
5
5
|
"description": "Add design factory angular to the project and install dependencies.",
|