@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260722070133 → 0.8.1-dev.20260722072521
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/dist/EnterAnimationClient-4OKXLKSA.mjs +45 -0
- package/dist/EnterAnimationClient-ZN3NLFNO.mjs +47 -0
- package/dist/InputControlClient-AZRPSTUZ.mjs +677 -0
- package/dist/InputControlClient-HIZOJLKW.mjs +677 -0
- package/dist/{InputControlClient-7FJWGZDN.mjs → InputControlClient-QAZKQLFO.mjs} +23 -23
- package/dist/{InputControlClient-5RK7QDZZ.mjs → InputControlClient-QQCQD4EG.mjs} +23 -23
- package/dist/{LinkNodeButton-AOEDCCL7.mjs → LinkNodeButton-LX3KKGZY.mjs} +38 -92
- package/dist/LinkNodeButton-U7T2NP22.mjs +374 -0
- package/dist/{LinkNodeButton-BIZA2NPE.mjs → LinkNodeButton-XA7Z5IDR.mjs} +38 -92
- package/dist/Pagination-6OFACRMQ.mjs +229 -0
- package/dist/Pagination-OQT7Q2XO.mjs +183 -0
- package/dist/chunk-3R4VVVNK.mjs +903 -0
- package/dist/chunk-FI2KJBK2.mjs +110 -0
- package/dist/{chunk-23WJE3YB.mjs → chunk-JKP4XOZB.mjs} +9 -48
- package/dist/chunk-OGGIS4AN.mjs +201 -0
- package/dist/chunk-TVL6KVD5.mjs +229 -0
- package/dist/{chunk-RHVNJMS4.mjs → chunk-YL6E76X2.mjs} +9 -48
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +100 -191
- package/dist/index.mjs +51 -45
- package/dist/server.d.mts +113 -0
- package/dist/server.d.ts +113 -0
- package/dist/server.js +5179 -0
- package/dist/server.mjs +2736 -0
- package/package.json +2 -1
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
import {
|
|
27
27
|
Button_default,
|
|
28
28
|
ClientButton_default
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-JKP4XOZB.mjs";
|
|
30
30
|
import "./chunk-IMNQO57B.mjs";
|
|
31
31
|
|
|
32
32
|
// src/components/controls/edit/InputControlClient.tsx
|
|
@@ -644,32 +644,32 @@ var SwitchInput_default = SwitchInput;
|
|
|
644
644
|
|
|
645
645
|
// src/components/controls/edit/InputControlClient.tsx
|
|
646
646
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
647
|
-
var
|
|
648
|
-
[InputControlType_default.lineTextInput]: LineTextInput_default,
|
|
649
|
-
[InputControlType_default.emailInput]: EmailInput_default,
|
|
650
|
-
[InputControlType_default.multilineTextInput]: MultilineTextInput_default,
|
|
651
|
-
[InputControlType_default.moneyInput]: MoneyInput_default,
|
|
652
|
-
[InputControlType_default.select]: Select_default,
|
|
653
|
-
[InputControlType_default.percentageInput]: PercentageInput_default,
|
|
654
|
-
[InputControlType_default.phoneInput]: PhoneInput_default,
|
|
655
|
-
[InputControlType_default.numberInput]: NumberInput_default,
|
|
656
|
-
[InputControlType_default.checkboxInput]: CheckboxInput_default,
|
|
657
|
-
[InputControlType_default.otpInput]: OtpInput_default,
|
|
658
|
-
[InputControlType_default.datetimeInput]: DateTimeInput_default,
|
|
659
|
-
[InputControlType_default.colorInput]: ColorInput_default,
|
|
660
|
-
[InputControlType_default.selectWithSearchInput]: SelectWithSearchInput_default,
|
|
661
|
-
[InputControlType_default.selectWithSearchPanel]: SelectWithSearchPanel_default,
|
|
662
|
-
[InputControlType_default.booleanSelect]: BooleanSelect_default,
|
|
663
|
-
[InputControlType_default.timeInput]: TimeInput_default,
|
|
664
|
-
[InputControlType_default.asset]: AssetUpload_default,
|
|
665
|
-
[InputControlType_default.switchInput]: SwitchInput_default
|
|
666
|
-
};
|
|
667
|
-
var InputControl = React5.memo(React5.forwardRef(
|
|
647
|
+
var InputControl = React5.forwardRef(
|
|
668
648
|
(props, ref) => {
|
|
649
|
+
const ControlComponents = {
|
|
650
|
+
[InputControlType_default.lineTextInput]: LineTextInput_default,
|
|
651
|
+
[InputControlType_default.emailInput]: EmailInput_default,
|
|
652
|
+
[InputControlType_default.multilineTextInput]: MultilineTextInput_default,
|
|
653
|
+
[InputControlType_default.moneyInput]: MoneyInput_default,
|
|
654
|
+
[InputControlType_default.select]: Select_default,
|
|
655
|
+
[InputControlType_default.percentageInput]: PercentageInput_default,
|
|
656
|
+
[InputControlType_default.phoneInput]: PhoneInput_default,
|
|
657
|
+
[InputControlType_default.numberInput]: NumberInput_default,
|
|
658
|
+
[InputControlType_default.checkboxInput]: CheckboxInput_default,
|
|
659
|
+
[InputControlType_default.otpInput]: OtpInput_default,
|
|
660
|
+
[InputControlType_default.datetimeInput]: DateTimeInput_default,
|
|
661
|
+
[InputControlType_default.colorInput]: ColorInput_default,
|
|
662
|
+
[InputControlType_default.selectWithSearchInput]: SelectWithSearchInput_default,
|
|
663
|
+
[InputControlType_default.selectWithSearchPanel]: SelectWithSearchPanel_default,
|
|
664
|
+
[InputControlType_default.booleanSelect]: BooleanSelect_default,
|
|
665
|
+
[InputControlType_default.timeInput]: TimeInput_default,
|
|
666
|
+
[InputControlType_default.asset]: AssetUpload_default,
|
|
667
|
+
[InputControlType_default.switchInput]: SwitchInput_default
|
|
668
|
+
};
|
|
669
669
|
const SelectedControlComponent = ControlComponents[props.controlType];
|
|
670
670
|
return /* @__PURE__ */ jsx5(React5.Fragment, { children: SelectedControlComponent ? /* @__PURE__ */ jsx5(SelectedControlComponent, { ...props }) : "Control not found" });
|
|
671
671
|
}
|
|
672
|
-
)
|
|
672
|
+
);
|
|
673
673
|
InputControl.displayName = "InputControl";
|
|
674
674
|
var InputControlClient_default = InputControl;
|
|
675
675
|
export {
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
Button_default,
|
|
26
26
|
ClientButton_default
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-YL6E76X2.mjs";
|
|
28
28
|
import "./chunk-56HSDML5.mjs";
|
|
29
29
|
|
|
30
30
|
// src/components/controls/edit/InputControlClient.tsx
|
|
@@ -642,32 +642,32 @@ var SwitchInput_default = SwitchInput;
|
|
|
642
642
|
|
|
643
643
|
// src/components/controls/edit/InputControlClient.tsx
|
|
644
644
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
645
|
-
var
|
|
646
|
-
[InputControlType_default.lineTextInput]: LineTextInput_default,
|
|
647
|
-
[InputControlType_default.emailInput]: EmailInput_default,
|
|
648
|
-
[InputControlType_default.multilineTextInput]: MultilineTextInput_default,
|
|
649
|
-
[InputControlType_default.moneyInput]: MoneyInput_default,
|
|
650
|
-
[InputControlType_default.select]: Select_default,
|
|
651
|
-
[InputControlType_default.percentageInput]: PercentageInput_default,
|
|
652
|
-
[InputControlType_default.phoneInput]: PhoneInput_default,
|
|
653
|
-
[InputControlType_default.numberInput]: NumberInput_default,
|
|
654
|
-
[InputControlType_default.checkboxInput]: CheckboxInput_default,
|
|
655
|
-
[InputControlType_default.otpInput]: OtpInput_default,
|
|
656
|
-
[InputControlType_default.datetimeInput]: DateTimeInput_default,
|
|
657
|
-
[InputControlType_default.colorInput]: ColorInput_default,
|
|
658
|
-
[InputControlType_default.selectWithSearchInput]: SelectWithSearchInput_default,
|
|
659
|
-
[InputControlType_default.selectWithSearchPanel]: SelectWithSearchPanel_default,
|
|
660
|
-
[InputControlType_default.booleanSelect]: BooleanSelect_default,
|
|
661
|
-
[InputControlType_default.timeInput]: TimeInput_default,
|
|
662
|
-
[InputControlType_default.asset]: AssetUpload_default,
|
|
663
|
-
[InputControlType_default.switchInput]: SwitchInput_default
|
|
664
|
-
};
|
|
665
|
-
var InputControl = React5.memo(React5.forwardRef(
|
|
645
|
+
var InputControl = React5.forwardRef(
|
|
666
646
|
(props, ref) => {
|
|
647
|
+
const ControlComponents = {
|
|
648
|
+
[InputControlType_default.lineTextInput]: LineTextInput_default,
|
|
649
|
+
[InputControlType_default.emailInput]: EmailInput_default,
|
|
650
|
+
[InputControlType_default.multilineTextInput]: MultilineTextInput_default,
|
|
651
|
+
[InputControlType_default.moneyInput]: MoneyInput_default,
|
|
652
|
+
[InputControlType_default.select]: Select_default,
|
|
653
|
+
[InputControlType_default.percentageInput]: PercentageInput_default,
|
|
654
|
+
[InputControlType_default.phoneInput]: PhoneInput_default,
|
|
655
|
+
[InputControlType_default.numberInput]: NumberInput_default,
|
|
656
|
+
[InputControlType_default.checkboxInput]: CheckboxInput_default,
|
|
657
|
+
[InputControlType_default.otpInput]: OtpInput_default,
|
|
658
|
+
[InputControlType_default.datetimeInput]: DateTimeInput_default,
|
|
659
|
+
[InputControlType_default.colorInput]: ColorInput_default,
|
|
660
|
+
[InputControlType_default.selectWithSearchInput]: SelectWithSearchInput_default,
|
|
661
|
+
[InputControlType_default.selectWithSearchPanel]: SelectWithSearchPanel_default,
|
|
662
|
+
[InputControlType_default.booleanSelect]: BooleanSelect_default,
|
|
663
|
+
[InputControlType_default.timeInput]: TimeInput_default,
|
|
664
|
+
[InputControlType_default.asset]: AssetUpload_default,
|
|
665
|
+
[InputControlType_default.switchInput]: SwitchInput_default
|
|
666
|
+
};
|
|
667
667
|
const SelectedControlComponent = ControlComponents[props.controlType];
|
|
668
668
|
return /* @__PURE__ */ jsx5(React5.Fragment, { children: SelectedControlComponent ? /* @__PURE__ */ jsx5(SelectedControlComponent, { ...props }) : "Control not found" });
|
|
669
669
|
}
|
|
670
|
-
)
|
|
670
|
+
);
|
|
671
671
|
InputControl.displayName = "InputControl";
|
|
672
672
|
var InputControlClient_default = InputControl;
|
|
673
673
|
export {
|
|
@@ -7,17 +7,15 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
Button_default,
|
|
9
9
|
ToastService_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JKP4XOZB.mjs";
|
|
11
11
|
import "./chunk-IMNQO57B.mjs";
|
|
12
12
|
|
|
13
13
|
// src/components/pageRenderingEngine/nodes/LinkNodeButton.tsx
|
|
14
14
|
import { useCallback, useState } from "react";
|
|
15
|
-
import { jsx
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
16
|
var LinkNodeButton = (props) => {
|
|
17
17
|
const { node, dataitem, children, linkText, linkType, linkUrl } = props;
|
|
18
18
|
const [isLoading, setIsLoading] = useState(false);
|
|
19
|
-
const [successMessage, setSuccessMessage] = useState(null);
|
|
20
|
-
console.log("LinkNodeButton props:", props);
|
|
21
19
|
const extractFieldNames = useCallback((template) => {
|
|
22
20
|
if (!template) return [];
|
|
23
21
|
const regex = /\{(\{\})?([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\}\})?\}/g;
|
|
@@ -25,38 +23,35 @@ var LinkNodeButton = (props) => {
|
|
|
25
23
|
const fieldNames = matches.map((match) => match[2] || match[1]).filter((name, index, self) => self.indexOf(name) === index);
|
|
26
24
|
return fieldNames;
|
|
27
25
|
}, []);
|
|
28
|
-
const replaceTemplateVariables = useCallback(
|
|
29
|
-
(template
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
[props.routeParameters, dataitem, extractFieldNames]
|
|
59
|
-
);
|
|
26
|
+
const replaceTemplateVariables = useCallback((template, responseData) => {
|
|
27
|
+
if (!template) return template;
|
|
28
|
+
let result = template;
|
|
29
|
+
const fieldNames = extractFieldNames(template);
|
|
30
|
+
if (responseData) {
|
|
31
|
+
fieldNames.forEach((fieldName) => {
|
|
32
|
+
const value = getNestedValue(responseData, fieldName);
|
|
33
|
+
if (value !== void 0) {
|
|
34
|
+
const regex1 = new RegExp(`\\{${fieldName}\\}`, "g");
|
|
35
|
+
const regex2 = new RegExp(`\\{\\{${fieldName}\\}\\}`, "g");
|
|
36
|
+
result = result.replace(regex1, String(value));
|
|
37
|
+
result = result.replace(regex2, String(value));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (props.routeParameters) {
|
|
42
|
+
Object.entries(props.routeParameters).forEach(([key, value]) => {
|
|
43
|
+
const regex = new RegExp(`\\{\\{${key}\\}\\}`, "g");
|
|
44
|
+
result = result.replace(regex, String(value));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
if (dataitem) {
|
|
48
|
+
Object.entries(dataitem).forEach(([key, value]) => {
|
|
49
|
+
const regex = new RegExp(`\\{\\{${key}\\}\\}`, "g");
|
|
50
|
+
result = result.replace(regex, String(value));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}, [props.routeParameters, dataitem, extractFieldNames]);
|
|
60
55
|
const getNestedValue = useCallback((obj, path) => {
|
|
61
56
|
if (!obj || !path) return void 0;
|
|
62
57
|
if (obj[path] !== void 0) {
|
|
@@ -74,10 +69,7 @@ var LinkNodeButton = (props) => {
|
|
|
74
69
|
}, []);
|
|
75
70
|
const onClick = useCallback(async () => {
|
|
76
71
|
if (!node.postUrl) {
|
|
77
|
-
return {
|
|
78
|
-
isSuccessful: false,
|
|
79
|
-
message: "No POST URL configured for this button"
|
|
80
|
-
};
|
|
72
|
+
return { isSuccessful: false, message: "No POST URL configured for this button" };
|
|
81
73
|
}
|
|
82
74
|
setIsLoading(true);
|
|
83
75
|
try {
|
|
@@ -103,7 +95,6 @@ var LinkNodeButton = (props) => {
|
|
|
103
95
|
}
|
|
104
96
|
if (response?.message) {
|
|
105
97
|
ToastService_default.showSuccess(response.message);
|
|
106
|
-
setSuccessMessage(response.message);
|
|
107
98
|
}
|
|
108
99
|
if (response && node.redirectUrl) {
|
|
109
100
|
const fieldNames = extractFieldNames(node.redirectUrl);
|
|
@@ -126,9 +117,7 @@ var LinkNodeButton = (props) => {
|
|
|
126
117
|
}
|
|
127
118
|
});
|
|
128
119
|
console.log("Field value map:", fieldValueMap);
|
|
129
|
-
const missingFields = fieldNames.filter(
|
|
130
|
-
(fieldName) => !fieldValueMap[fieldName]
|
|
131
|
-
);
|
|
120
|
+
const missingFields = fieldNames.filter((fieldName) => !fieldValueMap[fieldName]);
|
|
132
121
|
if (missingFields.length > 0) {
|
|
133
122
|
console.warn(`Missing field values for: ${missingFields.join(", ")}`);
|
|
134
123
|
}
|
|
@@ -139,10 +128,7 @@ var LinkNodeButton = (props) => {
|
|
|
139
128
|
resolvedRedirectUrl = resolvedRedirectUrl.replace(regex1, value);
|
|
140
129
|
resolvedRedirectUrl = resolvedRedirectUrl.replace(regex2, value);
|
|
141
130
|
});
|
|
142
|
-
resolvedRedirectUrl = replaceTemplateVariables(
|
|
143
|
-
resolvedRedirectUrl,
|
|
144
|
-
response
|
|
145
|
-
);
|
|
131
|
+
resolvedRedirectUrl = replaceTemplateVariables(resolvedRedirectUrl, response);
|
|
146
132
|
console.log("Final redirect URL:", resolvedRedirectUrl);
|
|
147
133
|
if (resolvedRedirectUrl && !resolvedRedirectUrl.includes("{")) {
|
|
148
134
|
window.location.href = resolvedRedirectUrl;
|
|
@@ -153,27 +139,14 @@ var LinkNodeButton = (props) => {
|
|
|
153
139
|
return { isSuccessful: false, message: errorMessage };
|
|
154
140
|
}
|
|
155
141
|
setIsLoading(false);
|
|
156
|
-
return {
|
|
157
|
-
isSuccessful: true,
|
|
158
|
-
message: response?.message,
|
|
159
|
-
result: response
|
|
160
|
-
};
|
|
142
|
+
return { isSuccessful: true, message: response?.message, result: response };
|
|
161
143
|
} catch (err) {
|
|
162
144
|
console.error("Button API call failed:", err);
|
|
163
145
|
const errorMessage = err.message || "An unexpected error occurred";
|
|
164
146
|
setIsLoading(false);
|
|
165
147
|
return { isSuccessful: false, message: errorMessage };
|
|
166
148
|
}
|
|
167
|
-
}, [
|
|
168
|
-
node.postUrl,
|
|
169
|
-
node.payload,
|
|
170
|
-
node.redirectUrl,
|
|
171
|
-
replaceTemplateVariables,
|
|
172
|
-
extractFieldNames,
|
|
173
|
-
getNestedValue,
|
|
174
|
-
props.apiBaseUrl,
|
|
175
|
-
props.session
|
|
176
|
-
]);
|
|
149
|
+
}, [node.postUrl, node.payload, node.redirectUrl, replaceTemplateVariables, extractFieldNames, getNestedValue, props.apiBaseUrl, props.session]);
|
|
177
150
|
const renderButtonContent = () => {
|
|
178
151
|
if (children) {
|
|
179
152
|
return children;
|
|
@@ -183,41 +156,14 @@ var LinkNodeButton = (props) => {
|
|
|
183
156
|
}
|
|
184
157
|
return node.title || "Button";
|
|
185
158
|
};
|
|
186
|
-
const fontSize = node.children?.[0]?.style?.match(/font-size:\s*([^;]+)/)?.[1];
|
|
187
159
|
return /* @__PURE__ */ jsx("div", { className: "link-button-wrapper", children: /* @__PURE__ */ jsx(
|
|
188
160
|
Button_default,
|
|
189
161
|
{
|
|
190
162
|
ButtonType: linkType,
|
|
191
163
|
onClick,
|
|
192
|
-
disabled: isLoading
|
|
164
|
+
disabled: isLoading,
|
|
193
165
|
className: "w-full",
|
|
194
|
-
children:
|
|
195
|
-
"span",
|
|
196
|
-
{
|
|
197
|
-
style: fontSize ? { fontSize } : void 0,
|
|
198
|
-
className: "inline-flex items-center gap-2",
|
|
199
|
-
children: [
|
|
200
|
-
/* @__PURE__ */ jsx(
|
|
201
|
-
"svg",
|
|
202
|
-
{
|
|
203
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
204
|
-
viewBox: "0 0 20 20",
|
|
205
|
-
fill: "currentColor",
|
|
206
|
-
className: "w-5 h-5",
|
|
207
|
-
children: /* @__PURE__ */ jsx(
|
|
208
|
-
"path",
|
|
209
|
-
{
|
|
210
|
-
fillRule: "evenodd",
|
|
211
|
-
d: "M16.704 5.29a1 1 0 010 1.42l-7.25 7.25a1 1 0 01-1.415 0L3.29 9.21a1 1 0 111.415-1.414l4.042 4.042 6.543-6.543a1 1 0 011.414 0z",
|
|
212
|
-
clipRule: "evenodd"
|
|
213
|
-
}
|
|
214
|
-
)
|
|
215
|
-
}
|
|
216
|
-
),
|
|
217
|
-
/* @__PURE__ */ jsx("span", { children: successMessage })
|
|
218
|
-
]
|
|
219
|
-
}
|
|
220
|
-
) : renderButtonContent()
|
|
166
|
+
children: renderButtonContent()
|
|
221
167
|
}
|
|
222
168
|
) });
|
|
223
169
|
};
|