@adaptabletools/adaptable 24.0.0 → 24.0.1
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/devtools.d.ts +13 -0
- package/index.css +76 -76
- package/package.json +1 -1
- package/src/env.js +2 -2
- package/src/migration/VersionUpgrade24.d.ts +44 -9
- package/src/migration/VersionUpgrade24.js +97 -25
- package/src/migration/legacyPredicateLowering.d.ts +1 -1
- package/src/migration/legacyPredicateLowering.js +2 -0
- package/src/migration/predicateExpressionMigration.d.ts +49 -12
- package/src/migration/predicateExpressionMigration.js +141 -10
- package/src/setupDevTools.js +106 -170
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/vendor/components/index.css +71 -71
package/devtools.d.ts
CHANGED
|
@@ -255,6 +255,18 @@ export type DevToolsMountPayload = {
|
|
|
255
255
|
primaryKey?: string;
|
|
256
256
|
/** Grouped modules visible in the Settings Panel sidebar for this instance. */
|
|
257
257
|
settingsPanelNavigation?: DevToolsSettingsPanelNavigationGroup[];
|
|
258
|
+
appThemeVars?: DevToolsThemeVars;
|
|
259
|
+
themeVariant?: DevToolsThemeVariant;
|
|
260
|
+
};
|
|
261
|
+
/** Whether the current AdapTable theme is light or dark. */
|
|
262
|
+
export type DevToolsThemeVariant = 'light' | 'dark';
|
|
263
|
+
/**
|
|
264
|
+
* Computed `--ab-*` values of the page for the light and the dark theme: the AdapTable
|
|
265
|
+
* defaults with every app override applied.
|
|
266
|
+
*/
|
|
267
|
+
export type DevToolsThemeVars = {
|
|
268
|
+
light: Record<string, string>;
|
|
269
|
+
dark: Record<string, string>;
|
|
258
270
|
};
|
|
259
271
|
export type DevToolsHostPageLogMessage = {
|
|
260
272
|
type: Extract<DevToolsHostPageMessageType, 'log'>;
|
|
@@ -294,6 +306,7 @@ export type DevToolsHostPageMessage = {
|
|
|
294
306
|
userName?: string;
|
|
295
307
|
primaryKey?: string;
|
|
296
308
|
settingsPanelNavigation?: DevToolsSettingsPanelNavigationGroup[];
|
|
309
|
+
themeVariant?: DevToolsThemeVariant;
|
|
297
310
|
};
|
|
298
311
|
} | {
|
|
299
312
|
type: Extract<DevToolsHostPageMessageType, 'column-info'>;
|
package/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.
|
|
1
|
+
/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
@layer adaptable.reset, adaptable.components, adaptable.utilities, adaptable.theming;
|
|
4
4
|
@property --tw-animation-delay {
|
|
@@ -2438,7 +2438,7 @@
|
|
|
2438
2438
|
}
|
|
2439
2439
|
.twa\:tabular-nums {
|
|
2440
2440
|
--tw-numeric-spacing: tabular-nums;
|
|
2441
|
-
font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
|
|
2441
|
+
font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
|
|
2442
2442
|
}
|
|
2443
2443
|
.twa\:underline-offset-4 {
|
|
2444
2444
|
text-underline-offset: 4px;
|
|
@@ -2489,19 +2489,19 @@
|
|
|
2489
2489
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2490
2490
|
}
|
|
2491
2491
|
.twa\:ring-0 {
|
|
2492
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2492
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2493
2493
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2494
2494
|
}
|
|
2495
2495
|
.twa\:ring-1 {
|
|
2496
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2496
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2497
2497
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2498
2498
|
}
|
|
2499
2499
|
.twa\:ring-2 {
|
|
2500
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2500
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2501
2501
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2502
2502
|
}
|
|
2503
2503
|
.twa\:ring-3 {
|
|
2504
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2504
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2505
2505
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2506
2506
|
}
|
|
2507
2507
|
.twa\:ring-accent {
|
|
@@ -2531,7 +2531,7 @@
|
|
|
2531
2531
|
}
|
|
2532
2532
|
.twa\:ring-offset-1 {
|
|
2533
2533
|
--tw-ring-offset-width: 1px;
|
|
2534
|
-
--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
2534
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
2535
2535
|
}
|
|
2536
2536
|
.twa\:ring-offset-background {
|
|
2537
2537
|
--tw-ring-offset-color: var(--ab-color-background);
|
|
@@ -2556,7 +2556,7 @@
|
|
|
2556
2556
|
.twa\:drop-shadow-\[0_0_1px_rgba\(0\,0\,0\,0\.9\)\] {
|
|
2557
2557
|
--tw-drop-shadow-size: drop-shadow(0 0 1px var(--tw-drop-shadow-color, rgba(0,0,0,0.9)));
|
|
2558
2558
|
--tw-drop-shadow: var(--tw-drop-shadow-size);
|
|
2559
|
-
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
2559
|
+
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
|
|
2560
2560
|
}
|
|
2561
2561
|
.twa\:transition-\(--ab-cmp-simple-button__transition\) {
|
|
2562
2562
|
transition-property: var(--ab-cmp-simple-button__transition);
|
|
@@ -2699,103 +2699,103 @@
|
|
|
2699
2699
|
.twa\:not-focus-within\:\[--ab-focus__box-shadow\:none\]:not(:focus-within) {
|
|
2700
2700
|
--ab-focus__box-shadow: none;
|
|
2701
2701
|
}
|
|
2702
|
-
.twa\:group-focus-within\:shadow-\(--ab-focus__box-shadow\)
|
|
2702
|
+
:is(:where(.twa\:group):focus-within .twa\:group-focus-within\:shadow-\(--ab-focus__box-shadow\)) {
|
|
2703
2703
|
--tw-shadow: var(--ab-focus__box-shadow);
|
|
2704
2704
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2705
2705
|
}
|
|
2706
|
-
.twa\:group
|
|
2706
|
+
:is(:where(.twa\:group\/dropdown-menu-item):focus .twa\:group-focus\/dropdown-menu-item\:text-accent-foreground) {
|
|
2707
2707
|
color: var(--ab-color-accent-foreground);
|
|
2708
2708
|
}
|
|
2709
|
-
|
|
2709
|
+
:is(:where(.twa\:group\/input-group):has([data-slot="combobox-clear"]) .twa\:group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden) {
|
|
2710
2710
|
display: none;
|
|
2711
2711
|
}
|
|
2712
|
-
|
|
2712
|
+
:is(:where(.twa\:group\/input-group):has( > input) .twa\:group-has-\[\>input\]\/input-group\:pt-2) {
|
|
2713
2713
|
padding-top: calc(var(--ab-base-space) * 2);
|
|
2714
2714
|
}
|
|
2715
|
-
|
|
2715
|
+
:is(:where(.twa\:group\/input-group):has( > input) .twa\:group-has-\[\>input\]\/input-group\:pb-2) {
|
|
2716
2716
|
padding-bottom: calc(var(--ab-base-space) * 2);
|
|
2717
2717
|
}
|
|
2718
|
-
|
|
2718
|
+
:is(:where(.twa\:group\/combobox-content)[data-empty] .twa\:group-data-empty\/combobox-content\:flex) {
|
|
2719
2719
|
display: flex;
|
|
2720
2720
|
}
|
|
2721
|
-
|
|
2721
|
+
:is(:where(.twa\:group\/combobox-content)[data-resizable] .twa\:group-data-resizable\/combobox-content\:flex) {
|
|
2722
2722
|
display: flex;
|
|
2723
2723
|
}
|
|
2724
|
-
|
|
2724
|
+
:is(:where(.twa\:group\/combobox-content)[data-resizable] .twa\:group-data-resizable\/combobox-content\:h-auto) {
|
|
2725
2725
|
height: auto;
|
|
2726
2726
|
}
|
|
2727
|
-
|
|
2727
|
+
:is(:where(.twa\:group\/combobox-content)[data-resizable] .twa\:group-data-resizable\/combobox-content\:max-h-none) {
|
|
2728
2728
|
max-height: none;
|
|
2729
2729
|
}
|
|
2730
|
-
|
|
2730
|
+
:is(:where(.twa\:group\/combobox-content)[data-resizable] .twa\:group-data-resizable\/combobox-content\:min-h-0) {
|
|
2731
2731
|
min-height: 0px;
|
|
2732
2732
|
}
|
|
2733
|
-
|
|
2733
|
+
:is(:where(.twa\:group\/combobox-content)[data-resizable] .twa\:group-data-resizable\/combobox-content\:flex-1) {
|
|
2734
2734
|
flex: 1;
|
|
2735
2735
|
}
|
|
2736
|
-
|
|
2736
|
+
:is(:where(.twa\:group\/combobox-content)[data-resizable] .twa\:group-data-resizable\/combobox-content\:flex-col) {
|
|
2737
2737
|
flex-direction: column;
|
|
2738
2738
|
}
|
|
2739
|
-
|
|
2739
|
+
:is(:where(.twa\:group\/tabs)[data-vertical] .twa\:group-data-vertical\/tabs\:w-full) {
|
|
2740
2740
|
width: 100%;
|
|
2741
2741
|
}
|
|
2742
|
-
|
|
2742
|
+
:is(:where(.twa\:group\/tabs)[data-vertical] .twa\:group-data-vertical\/tabs\:justify-start) {
|
|
2743
2743
|
justify-content: flex-start;
|
|
2744
2744
|
}
|
|
2745
|
-
|
|
2745
|
+
:is(:where(.twa\:group\/input-group)[data-disabled="true"] .twa\:group-data-\[disabled\=true\]\/input-group\:opacity-50) {
|
|
2746
2746
|
opacity: 50%;
|
|
2747
2747
|
}
|
|
2748
|
-
|
|
2748
|
+
:is(:where(.twa\:group\/day)[data-focused="true"] .twa\:group-data-\[focused\=true\]\/day\:relative) {
|
|
2749
2749
|
position: relative;
|
|
2750
2750
|
}
|
|
2751
|
-
|
|
2751
|
+
:is(:where(.twa\:group\/day)[data-focused="true"] .twa\:group-data-\[focused\=true\]\/day\:z-10) {
|
|
2752
2752
|
z-index: 10;
|
|
2753
2753
|
}
|
|
2754
|
-
|
|
2754
|
+
:is(:where(.twa\:group\/day)[data-focused="true"] .twa\:group-data-\[focused\=true\]\/day\:border-ring) {
|
|
2755
2755
|
border-color: var(--ab-color-ring);
|
|
2756
2756
|
}
|
|
2757
|
-
|
|
2758
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2757
|
+
:is(:where(.twa\:group\/day)[data-focused="true"] .twa\:group-data-\[focused\=true\]\/day\:ring-\[3px\]) {
|
|
2758
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2759
2759
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2760
2760
|
}
|
|
2761
|
-
|
|
2761
|
+
:is(:where(.twa\:group\/day)[data-focused="true"] .twa\:group-data-\[focused\=true\]\/day\:ring-ring\/50) {
|
|
2762
2762
|
--tw-ring-color: var(--ab-color-ring);
|
|
2763
2763
|
}
|
|
2764
2764
|
@supports (color: color-mix(in lab, red, red)) {
|
|
2765
|
-
|
|
2765
|
+
:is(:where(.twa\:group\/day)[data-focused="true"] .twa\:group-data-\[focused\=true\]\/day\:ring-ring\/50) {
|
|
2766
2766
|
--tw-ring-color: color-mix(in oklab, var(--ab-color-ring) 50%, transparent);
|
|
2767
2767
|
}
|
|
2768
2768
|
}
|
|
2769
|
-
|
|
2769
|
+
:is(:where(.twa\:group\/tabs)[data-orientation="horizontal"] .twa\:group-data-\[orientation\=horizontal\]\/tabs\:h-input) {
|
|
2770
2770
|
height: var(--ab-input-height);
|
|
2771
2771
|
}
|
|
2772
|
-
|
|
2772
|
+
:is(:where(.twa\:group\/tabs)[data-orientation="vertical"] .twa\:group-data-\[orientation\=vertical\]\/tabs\:h-fit) {
|
|
2773
2773
|
height: fit-content;
|
|
2774
2774
|
}
|
|
2775
|
-
|
|
2775
|
+
:is(:where(.twa\:group\/tabs)[data-orientation="vertical"] .twa\:group-data-\[orientation\=vertical\]\/tabs\:flex-col) {
|
|
2776
2776
|
flex-direction: column;
|
|
2777
2777
|
}
|
|
2778
|
-
|
|
2778
|
+
:is(:where(.twa\:group\/alert-dialog-content)[data-size="sm"] .twa\:group-data-\[size\=sm\]\/alert-dialog-content\:grid) {
|
|
2779
2779
|
display: grid;
|
|
2780
2780
|
}
|
|
2781
|
-
|
|
2781
|
+
:is(:where(.twa\:group\/alert-dialog-content)[data-size="sm"] .twa\:group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2) {
|
|
2782
2782
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2783
2783
|
}
|
|
2784
|
-
|
|
2784
|
+
:is(:where(.twa\:group\/tabs-list)[data-variant="line"] .twa\:group-data-\[variant\=line\]\/tabs-list\:bg-transparent) {
|
|
2785
2785
|
background-color: transparent;
|
|
2786
2786
|
}
|
|
2787
|
-
|
|
2787
|
+
:is(:where(.twa\:peer):focus-visible ~ .twa\:peer-focus-visible\:border-ring) {
|
|
2788
2788
|
border-color: var(--ab-color-ring);
|
|
2789
2789
|
}
|
|
2790
|
-
|
|
2791
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2790
|
+
:is(:where(.twa\:peer):focus-visible ~ .twa\:peer-focus-visible\:ring-3) {
|
|
2791
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2792
2792
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2793
2793
|
}
|
|
2794
|
-
|
|
2794
|
+
:is(:where(.twa\:peer):focus-visible ~ .twa\:peer-focus-visible\:ring-ring\/50) {
|
|
2795
2795
|
--tw-ring-color: var(--ab-color-ring);
|
|
2796
2796
|
}
|
|
2797
2797
|
@supports (color: color-mix(in lab, red, red)) {
|
|
2798
|
-
|
|
2798
|
+
:is(:where(.twa\:peer):focus-visible ~ .twa\:peer-focus-visible\:ring-ring\/50) {
|
|
2799
2799
|
--tw-ring-color: color-mix(in oklab, var(--ab-color-ring) 50%, transparent);
|
|
2800
2800
|
}
|
|
2801
2801
|
}
|
|
@@ -3043,27 +3043,27 @@
|
|
|
3043
3043
|
--tw-content: "";
|
|
3044
3044
|
content: var(--tw-content);
|
|
3045
3045
|
}
|
|
3046
|
-
|
|
3046
|
+
:is(:where(.twa\:group\/tabs)[data-horizontal] .twa\:group-data-horizontal\/tabs\:after\:inset-x-0)::after {
|
|
3047
3047
|
content: var(--tw-content);
|
|
3048
3048
|
inset-inline: 0px;
|
|
3049
3049
|
}
|
|
3050
|
-
.twa\:group-data-horizontal\/tabs\:after\:bottom-\[-5px\]
|
|
3050
|
+
:is(:where(.twa\:group\/tabs)[data-horizontal] .twa\:group-data-horizontal\/tabs\:after\:bottom-\[-5px\])::after {
|
|
3051
3051
|
content: var(--tw-content);
|
|
3052
3052
|
bottom: -5px;
|
|
3053
3053
|
}
|
|
3054
|
-
|
|
3054
|
+
:is(:where(.twa\:group\/tabs)[data-horizontal] .twa\:group-data-horizontal\/tabs\:after\:h-0\.5)::after {
|
|
3055
3055
|
content: var(--tw-content);
|
|
3056
3056
|
height: calc(var(--ab-base-space) * 0.5);
|
|
3057
3057
|
}
|
|
3058
|
-
|
|
3058
|
+
:is(:where(.twa\:group\/tabs)[data-vertical] .twa\:group-data-vertical\/tabs\:after\:inset-y-0)::after {
|
|
3059
3059
|
content: var(--tw-content);
|
|
3060
3060
|
inset-block: 0px;
|
|
3061
3061
|
}
|
|
3062
|
-
|
|
3062
|
+
:is(:where(.twa\:group\/tabs)[data-vertical] .twa\:group-data-vertical\/tabs\:after\:-right-1)::after {
|
|
3063
3063
|
content: var(--tw-content);
|
|
3064
3064
|
right: calc(var(--ab-base-space) * -1);
|
|
3065
3065
|
}
|
|
3066
|
-
|
|
3066
|
+
:is(:where(.twa\:group\/tabs)[data-vertical] .twa\:group-data-vertical\/tabs\:after\:w-0\.5)::after {
|
|
3067
3067
|
content: var(--tw-content);
|
|
3068
3068
|
width: calc(var(--ab-base-space) * 0.5);
|
|
3069
3069
|
}
|
|
@@ -3082,7 +3082,7 @@
|
|
|
3082
3082
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3083
3083
|
}
|
|
3084
3084
|
.twa\:focus-within\:ring-3:focus-within {
|
|
3085
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3085
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3086
3086
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3087
3087
|
}
|
|
3088
3088
|
.twa\:focus-within\:ring-ring\/50:focus-within {
|
|
@@ -3115,7 +3115,7 @@
|
|
|
3115
3115
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3116
3116
|
}
|
|
3117
3117
|
:is(.twa\:\*\:focus-within\:ring-3 > *):focus-within {
|
|
3118
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3118
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3119
3119
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3120
3120
|
}
|
|
3121
3121
|
:is(.twa\:\*\:focus-within\:ring-ring\/50 > *):focus-within {
|
|
@@ -3244,7 +3244,7 @@
|
|
|
3244
3244
|
opacity: 100%;
|
|
3245
3245
|
}
|
|
3246
3246
|
.twa\:hover\:ring-2:hover {
|
|
3247
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3247
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3248
3248
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3249
3249
|
}
|
|
3250
3250
|
.twa\:hover\:ring-ring\/40:hover {
|
|
@@ -3282,7 +3282,7 @@
|
|
|
3282
3282
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3283
3283
|
}
|
|
3284
3284
|
.twa\:focus\:ring-3:focus {
|
|
3285
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3285
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3286
3286
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3287
3287
|
}
|
|
3288
3288
|
.twa\:focus\:ring-ring\/50:focus {
|
|
@@ -3329,23 +3329,23 @@
|
|
|
3329
3329
|
border-color: var(--ab-color-ring);
|
|
3330
3330
|
}
|
|
3331
3331
|
.twa\:focus-visible\:ring-0:focus-visible {
|
|
3332
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3332
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3333
3333
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3334
3334
|
}
|
|
3335
3335
|
.twa\:focus-visible\:ring-1:focus-visible {
|
|
3336
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3336
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3337
3337
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3338
3338
|
}
|
|
3339
3339
|
.twa\:focus-visible\:ring-2:focus-visible {
|
|
3340
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3340
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3341
3341
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3342
3342
|
}
|
|
3343
3343
|
.twa\:focus-visible\:ring-3:focus-visible {
|
|
3344
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3344
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3345
3345
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3346
3346
|
}
|
|
3347
3347
|
.twa\:focus-visible\:ring-\[3px\]:focus-visible {
|
|
3348
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3348
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3349
3349
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3350
3350
|
}
|
|
3351
3351
|
.twa\:focus-visible\:ring-accent:focus-visible {
|
|
@@ -3372,7 +3372,7 @@
|
|
|
3372
3372
|
}
|
|
3373
3373
|
.twa\:focus-visible\:ring-offset-1:focus-visible {
|
|
3374
3374
|
--tw-ring-offset-width: 1px;
|
|
3375
|
-
--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
3375
|
+
--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
3376
3376
|
}
|
|
3377
3377
|
.twa\:focus-visible\:outline-hidden:focus-visible {
|
|
3378
3378
|
--tw-outline-style: none;
|
|
@@ -3425,7 +3425,7 @@
|
|
|
3425
3425
|
border-color: inherit;
|
|
3426
3426
|
}
|
|
3427
3427
|
:where([data-slot="combobox-content"]) .twa\:in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within {
|
|
3428
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3428
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3429
3429
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3430
3430
|
}
|
|
3431
3431
|
:where([data-slot="popover-content"]) .twa\:in-data-\[slot\=popover-content\]\:bg-transparent {
|
|
@@ -3444,7 +3444,7 @@
|
|
|
3444
3444
|
border-color: var(--ab-color-destructive);
|
|
3445
3445
|
}
|
|
3446
3446
|
.twa\:has-aria-invalid\:ring-3:has([aria-invalid="true"]) {
|
|
3447
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3447
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3448
3448
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3449
3449
|
}
|
|
3450
3450
|
.twa\:has-aria-invalid\:ring-destructive\/20:has([aria-invalid="true"]) {
|
|
@@ -3498,7 +3498,7 @@
|
|
|
3498
3498
|
border-color: var(--ab-color-ring);
|
|
3499
3499
|
}
|
|
3500
3500
|
.twa\:has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has(:is([data-slot=input-group-control]:focus-visible)) {
|
|
3501
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3501
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3502
3502
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3503
3503
|
}
|
|
3504
3504
|
.twa\:has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has(:is([data-slot=input-group-control]:focus-visible)) {
|
|
@@ -3513,7 +3513,7 @@
|
|
|
3513
3513
|
border-color: var(--ab-color-destructive);
|
|
3514
3514
|
}
|
|
3515
3515
|
.twa\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has(:is([data-slot][aria-invalid=true])) {
|
|
3516
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3516
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3517
3517
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3518
3518
|
}
|
|
3519
3519
|
.twa\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has(:is([data-slot][aria-invalid=true])) {
|
|
@@ -3576,11 +3576,11 @@
|
|
|
3576
3576
|
border-color: var(--ab-color-destructive);
|
|
3577
3577
|
}
|
|
3578
3578
|
.twa\:aria-invalid\:ring-0[aria-invalid="true"] {
|
|
3579
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3579
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3580
3580
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3581
3581
|
}
|
|
3582
3582
|
.twa\:aria-invalid\:ring-3[aria-invalid="true"] {
|
|
3583
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3583
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3584
3584
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3585
3585
|
}
|
|
3586
3586
|
.twa\:aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
|
|
@@ -3642,21 +3642,21 @@
|
|
|
3642
3642
|
.twa\:data-active\:text-accent-foreground[data-active] {
|
|
3643
3643
|
color: var(--ab-color-accent-foreground);
|
|
3644
3644
|
}
|
|
3645
|
-
.twa\:group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm
|
|
3645
|
+
:is(:where(.twa\:group\/tabs-list)[data-variant="default"] .twa\:group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm)[data-active] {
|
|
3646
3646
|
--tw-shadow: var(--ab-shadow-sm);
|
|
3647
3647
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3648
3648
|
}
|
|
3649
|
-
.twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent
|
|
3649
|
+
:is(:where(.twa\:group\/tabs-list)[data-variant="line"] .twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent)[data-active] {
|
|
3650
3650
|
border-color: transparent;
|
|
3651
3651
|
}
|
|
3652
|
-
.twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent
|
|
3652
|
+
:is(:where(.twa\:group\/tabs-list)[data-variant="line"] .twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent)[data-active] {
|
|
3653
3653
|
background-color: transparent;
|
|
3654
3654
|
}
|
|
3655
|
-
.twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none
|
|
3655
|
+
:is(:where(.twa\:group\/tabs-list)[data-variant="line"] .twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none)[data-active] {
|
|
3656
3656
|
--tw-shadow: 0 0 #0000;
|
|
3657
3657
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3658
3658
|
}
|
|
3659
|
-
.twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100
|
|
3659
|
+
:is(:where(.twa\:group\/tabs-list)[data-variant="line"] .twa\:group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100)[data-active]::after {
|
|
3660
3660
|
content: var(--tw-content);
|
|
3661
3661
|
opacity: 100%;
|
|
3662
3662
|
}
|
|
@@ -3942,8 +3942,8 @@
|
|
|
3942
3942
|
@supports (backdrop-filter: var(--tw)) {
|
|
3943
3943
|
.twa\:supports-backdrop-filter\:backdrop-blur-xs {
|
|
3944
3944
|
--tw-backdrop-blur: blur(var(--twa-blur-xs));
|
|
3945
|
-
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
3946
|
-
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
3945
|
+
-webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
|
3946
|
+
backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
|
3947
3947
|
}
|
|
3948
3948
|
}
|
|
3949
3949
|
@media (width >= 40rem) {
|
|
@@ -3956,19 +3956,19 @@
|
|
|
3956
3956
|
.twa\:sm\:justify-end {
|
|
3957
3957
|
justify-content: flex-end;
|
|
3958
3958
|
}
|
|
3959
|
-
.twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2
|
|
3959
|
+
:is(:where(.twa\:group\/alert-dialog-content)[data-size="default"] .twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2) {
|
|
3960
3960
|
grid-row: span 2 / span 2;
|
|
3961
3961
|
}
|
|
3962
|
-
.twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start
|
|
3962
|
+
:is(:where(.twa\:group\/alert-dialog-content)[data-size="default"] .twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start) {
|
|
3963
3963
|
place-items: start;
|
|
3964
3964
|
}
|
|
3965
|
-
|
|
3965
|
+
:is(:where(.twa\:group\/alert-dialog-content)[data-size="default"] .twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left) {
|
|
3966
3966
|
text-align: left;
|
|
3967
3967
|
}
|
|
3968
|
-
.twa\:
|
|
3968
|
+
:is(:where(.twa\:group\/alert-dialog-content):has([data-slot="alert-dialog-media"]) :is(:where(.twa\:group\/alert-dialog-content)[data-size="default"] .twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2)) {
|
|
3969
3969
|
grid-column-start: 2;
|
|
3970
3970
|
}
|
|
3971
|
-
.twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]
|
|
3971
|
+
:is(:where(.twa\:group\/alert-dialog-content)[data-size="default"] .twa\:sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]):has([data-slot="alert-dialog-media"]) {
|
|
3972
3972
|
grid-template-rows: auto 1fr;
|
|
3973
3973
|
}
|
|
3974
3974
|
.twa\:data-\[size\=default\]\:sm\:max-w-lg[data-size="default"] {
|
|
@@ -10628,7 +10628,7 @@
|
|
|
10628
10628
|
}
|
|
10629
10629
|
}
|
|
10630
10630
|
@layer properties {
|
|
10631
|
-
@supports ((-webkit-hyphens: none) and (not (margin-trim:
|
|
10631
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: block))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
10632
10632
|
*, ::before, ::after, ::backdrop {
|
|
10633
10633
|
--tw-animation-delay: 0s;
|
|
10634
10634
|
--tw-animation-direction: normal;
|
package/package.json
CHANGED
package/src/env.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
|
|
3
|
-
PUBLISH_TIMESTAMP:
|
|
4
|
-
VERSION: "24.0.
|
|
3
|
+
PUBLISH_TIMESTAMP: 1793697750309 || Date.now(),
|
|
4
|
+
VERSION: "24.0.1" || '--current-version--',
|
|
5
5
|
};
|
|
@@ -41,6 +41,10 @@ export declare class VersionUpgrade24 extends VersionUpgrade {
|
|
|
41
41
|
constructor(logger: MigrationLogger, options?: {
|
|
42
42
|
layoutTagOptions?: LayoutTagOptions;
|
|
43
43
|
});
|
|
44
|
+
/** Custom function name → where the migration now calls it (one run). */
|
|
45
|
+
private customFunctionUsages;
|
|
46
|
+
/** Objects whose `PercentChange` predicate became `PERCENT_CHANGE(...) > n` (one run). */
|
|
47
|
+
private percentChangeObjects;
|
|
44
48
|
migrateState(state: AdaptableState): AdaptableState;
|
|
45
49
|
/**
|
|
46
50
|
* Step 17. The 20 swatch colours were merged into the palette after its 12
|
|
@@ -76,10 +80,14 @@ export declare class VersionUpgrade24 extends VersionUpgrade {
|
|
|
76
80
|
* Conversion uses the Phase 0 lossless lowering in `predicateExpressionMigration.ts`
|
|
77
81
|
* (`columnFilterPredicatesToExpression` / `columnFilterPredicatesToPreferredFilter`).
|
|
78
82
|
*
|
|
83
|
+
* Custom predicates become calls to the custom function replacing them
|
|
84
|
+
* (`largeNotional` → `LARGE_NOTIONAL([col])`); see
|
|
85
|
+
* {@link VersionUpgrade24.logCustomPredicateFunctions}.
|
|
86
|
+
*
|
|
79
87
|
* Safety rules:
|
|
80
|
-
* - **Never drop a filter.** If any predicate cannot be lowered (custom
|
|
81
|
-
*
|
|
82
|
-
* is logged.
|
|
88
|
+
* - **Never drop a filter.** If any predicate cannot be lowered (a custom id
|
|
89
|
+
* with no valid function name, an incomplete predicate, etc.), legacy
|
|
90
|
+
* `Predicates` are left untouched and a warning is logged.
|
|
83
91
|
* - **Idempotent.** Filters that already have an `Expression` skip conversion and
|
|
84
92
|
* drop any leftover `Predicates` / `PredicatesOperator` / `PreferredFilter`.
|
|
85
93
|
*/
|
|
@@ -135,11 +143,16 @@ export declare class VersionUpgrade24 extends VersionUpgrade {
|
|
|
135
143
|
* Used by Alert, Flashing Cell, and Format Column migrations.
|
|
136
144
|
* Conversion reuses Phase 0 lossless lowering (`rulePredicatesToBooleanExpression`).
|
|
137
145
|
*
|
|
146
|
+
* Custom predicates become calls to the custom function replacing them
|
|
147
|
+
* (`largeNotional` → `LARGE_NOTIONAL($SCOPE)`), recorded under `label`.
|
|
148
|
+
*
|
|
149
|
+
* `PercentChange` becomes the approximate `PERCENT_CHANGE($SCOPE) > n`,
|
|
150
|
+
* recorded under `label` (see {@link VersionUpgrade24.logPercentChangeApproximations}).
|
|
151
|
+
*
|
|
138
152
|
* Safety rules (shared by all predicate-rule modules):
|
|
139
|
-
* - **Never drop a rule.** If any predicate cannot be lowered (
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* (`AnyChange` lowers to `ANY_CHANGE(...)`.)
|
|
153
|
+
* - **Never drop a rule.** If any predicate cannot be lowered (a custom id with
|
|
154
|
+
* no valid function name, or an incomplete predicate), legacy `Predicates`
|
|
155
|
+
* are left untouched. (`AnyChange` lowers to `ANY_CHANGE(...)`.)
|
|
143
156
|
* - **Idempotent.** A rule that already has `BooleanExpression`,
|
|
144
157
|
* `AggregatedBooleanExpression`, or `ObservableExpression` is skipped, and any
|
|
145
158
|
* leftover `Predicates` are removed.
|
|
@@ -185,10 +198,32 @@ export declare class VersionUpgrade24 extends VersionUpgrade {
|
|
|
185
198
|
*/
|
|
186
199
|
private migrateGreenfieldExpressionTexts;
|
|
187
200
|
/**
|
|
188
|
-
* Logs how many predicate rules were migrated
|
|
189
|
-
*
|
|
201
|
+
* Logs how many predicate rules were migrated for a module, and warns about
|
|
202
|
+
* each rule that was not: v24 does not evaluate Predicates, so the warning
|
|
203
|
+
* states what the rule now does.
|
|
204
|
+
*
|
|
205
|
+
* @param preserved one description per unconverted rule (object + Predicate ids)
|
|
190
206
|
*/
|
|
191
207
|
private logPredicateMigrationSummary;
|
|
208
|
+
/** `Alert 'Big moves' (PercentChange)` — the object and its Predicate ids. */
|
|
209
|
+
private describePredicates;
|
|
210
|
+
/** Records where the custom functions of a converted rule are now called. */
|
|
211
|
+
private recordCustomFunctionCalls;
|
|
212
|
+
private recordPercentChange;
|
|
213
|
+
/**
|
|
214
|
+
* Warns where `PercentChange` became `PERCENT_CHANGE(...) > n`. The predicate
|
|
215
|
+
* divided the change by the smaller of the previous and new values,
|
|
216
|
+
* `PERCENT_CHANGE` divides it by the previous value: rises give the same
|
|
217
|
+
* percentage, falls a smaller one.
|
|
218
|
+
*/
|
|
219
|
+
private logPercentChangeApproximations;
|
|
220
|
+
/**
|
|
221
|
+
* Logs, for each custom function the custom predicates were converted to,
|
|
222
|
+
* where it is now called and what the application must define. The
|
|
223
|
+
* migration does not check that the function exists: until it is defined
|
|
224
|
+
* the rules are invalid at runtime (logged, never applied).
|
|
225
|
+
*/
|
|
226
|
+
private logCustomPredicateFunctions;
|
|
192
227
|
/**
|
|
193
228
|
* Unwraps every `Rule` / `Query` expression wrapper into its string, and
|
|
194
229
|
* renames the `Query` properties to `Expression`.
|