@useinsider/guido 1.0.3-beta.df46976 → 1.0.3-beta.dfb1fcf
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/README.md +140 -3
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +79 -73
- package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
- package/dist/components/organisms/header/RightSlot.vue.js +11 -11
- package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +21 -20
- package/dist/composables/useBlocksConfig.js +49 -0
- package/dist/composables/useGuidoActions.js +19 -9
- package/dist/composables/useStripo.js +53 -57
- package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
- package/dist/config/migrator/index.js +7 -6
- package/dist/config/migrator/recommendationMigrator.js +293 -0
- package/dist/enums/date.js +4 -14
- package/dist/enums/defaults.js +16 -9
- package/dist/enums/onboarding.js +2 -1
- package/dist/enums/unsubscribe.js +27 -25
- package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
- package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
- package/dist/extensions/Blocks/Recommendation/block.js +6 -3
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +193 -0
- package/dist/extensions/Blocks/Recommendation/constants.js +14 -0
- package/dist/extensions/Blocks/Recommendation/control.js +109 -65
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
- package/dist/extensions/Blocks/Recommendation/controls/index.js +272 -0
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +60 -0
- package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +160 -0
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +18 -7
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +159 -21
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +184 -0
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +189 -0
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +209 -0
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
- package/dist/extensions/Blocks/common-control.js +125 -43
- package/dist/extensions/Blocks/controlFactories.js +234 -0
- package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
- package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +312 -100
- package/dist/package.json.js +7 -0
- package/dist/services/stripoApi.js +1 -1
- package/dist/{@types → src/@types}/generic.d.ts +41 -6
- package/dist/{components → src/components}/Guido.vue.d.ts +3 -2
- package/dist/src/composables/useBlocksConfig.d.ts +11 -0
- package/dist/{composables → src/composables}/useGuidoActions.d.ts +9 -0
- package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
- package/dist/src/enums/date.d.ts +4 -0
- package/dist/src/enums/onboarding.d.ts +2 -0
- package/dist/{extensions → src/extensions}/Blocks/Recommendation/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +79 -0
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +91 -0
- package/dist/{extensions → src/extensions}/Blocks/Recommendation/control.d.ts +11 -2
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +71 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +50 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
- package/dist/{extensions → src/extensions}/Blocks/Recommendation/store/recommendation.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +52 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
- package/dist/{extensions → src/extensions}/Blocks/common-control.d.ts +21 -0
- package/dist/src/extensions/Blocks/controlFactories.d.ts +95 -0
- package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +13 -0
- package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +66 -0
- package/dist/{stores → src/stores}/config.d.ts +9 -2
- package/dist/{stores → src/stores}/dynamic-content.d.ts +3 -3
- package/dist/{stores → src/stores}/editor.d.ts +1 -1
- package/dist/{stores → src/stores}/onboarding.d.ts +1 -1
- package/dist/{stores → src/stores}/preview.d.ts +1 -1
- package/dist/{stores → src/stores}/recommendation.d.ts +1 -1
- package/dist/{stores → src/stores}/save-as-template.d.ts +1 -1
- package/dist/{stores → src/stores}/toaster.d.ts +1 -1
- package/dist/{stores → src/stores}/unsubscribe.d.ts +1 -1
- package/dist/{stores → src/stores}/version-history.d.ts +1 -1
- package/dist/src/utils/dateUtil.d.ts +22 -0
- package/dist/src/utils/environmentUtil.d.ts +5 -0
- package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
- package/dist/static/styles/components/narrow-panel.css.js +10 -0
- package/dist/static/styles/components/wide-panel.css.js +0 -4
- package/dist/static/styles/customEditorStyle.css.js +19 -0
- package/dist/stores/config.js +5 -5
- package/dist/stores/dynamic-content.js +2 -2
- package/dist/stores/editor.js +1 -1
- package/dist/stores/onboarding.js +27 -27
- package/dist/stores/preview.js +1 -1
- package/dist/stores/recommendation.js +3 -3
- package/dist/stores/save-as-template.js +2 -2
- package/dist/stores/toaster.js +1 -1
- package/dist/stores/unsubscribe.js +1 -1
- package/dist/stores/version-history.js +4 -4
- package/dist/utils/dateUtil.js +33 -7
- package/dist/utils/environmentUtil.js +4 -0
- package/dist/utils/genericUtil.js +20 -9
- package/package.json +7 -2
- package/dist/enums/date.d.ts +0 -13
- package/dist/enums/onboarding.d.ts +0 -1
- package/dist/extensions/Blocks/Recommendation/template.d.ts +0 -6
- package/dist/extensions/Blocks/Recommendation/template.js +0 -200
- package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -6
- package/dist/extensions/DynamicContent/dynamic-content.d.ts +0 -16
- package/dist/utils/dateUtil.d.ts +0 -2
- package/dist/{@types → src/@types}/events.d.ts +0 -0
- package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
- package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
- package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/extensions/recommendation/Filters.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/LeftSlot.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/ViewOptions.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/onboarding/TextBlockOnboarding.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -0
- package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -0
- package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +0 -0
- package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +1 -1
- /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
- /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
- /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
- /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
- /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
- /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
- /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
- /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
- /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
- /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
- /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
- /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
- /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
- /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
- /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
- /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
- /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
- /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
- /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
- /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
- /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
- /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
- /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
- /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
- /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
- /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
- /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
- /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
- /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
- /package/dist/{config → src/config}/migrator/couponBlockMigrator.d.ts +0 -0
- /package/dist/{config → src/config}/migrator/index.d.ts +0 -0
- /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
- /package/dist/{config → src/config}/migrator/unsubscribeMigrator.d.ts +0 -0
- /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
- /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
- /package/dist/{enums → src/enums}/extensions/recommendationBlock.d.ts +0 -0
- /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
- /package/dist/{enums → src/enums}/preview.d.ts +0 -0
- /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
- /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
- /package/dist/{enums → src/enums}/unsubscribe.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Checkbox/template.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/block.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/template.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/RadioButton/extension.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Recommendation/extension.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Recommendation/iconsRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Recommendation/settingsPanel.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Recommendation/utils/filterUtil.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/block.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/extension.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/settingsPanel.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/extension.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/settingsPanel.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
- /package/dist/{extensions → src/extensions}/DynamicContent/extension.d.ts +0 -0
- /package/dist/{library.d.ts → src/library.d.ts} +0 -0
- /package/dist/{main.d.ts → src/main.d.ts} +0 -0
- /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/recommendation.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/template-library.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/unsubscribe.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/user-modal-state.d.ts +0 -0
- /package/dist/{mock → src/mock}/api/validator.d.ts +0 -0
- /package/dist/{mock → src/mock}/browser.d.ts +0 -0
- /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
- /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
- /package/dist/{services → src/services}/recommendationApi.d.ts +0 -0
- /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
- /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
- /package/dist/{services → src/services}/unsubscribeApi.d.ts +0 -0
- /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
- /package/dist/{utils → src/utils}/base64.d.ts +0 -0
- /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
- /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
- /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
var
|
|
2
|
-
var C = (
|
|
3
|
-
var
|
|
4
|
-
import { Control as
|
|
5
|
-
class
|
|
1
|
+
var u = Object.defineProperty;
|
|
2
|
+
var C = (o, n, E) => n in o ? u(o, n, { enumerable: !0, configurable: !0, writable: !0, value: E }) : o[n] = E;
|
|
3
|
+
var a = (o, n, E) => C(o, typeof n != "symbol" ? n + "" : n, E);
|
|
4
|
+
import { Control as R, UIElementType as $, UEAttr as e } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
|
+
class N extends R {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
|
-
|
|
8
|
+
a(this, "currentNode");
|
|
9
9
|
}
|
|
10
10
|
getContainer() {
|
|
11
|
-
var
|
|
12
|
-
return (
|
|
11
|
+
var E;
|
|
12
|
+
return (E = document.querySelector("ui-editor")) == null ? void 0 : E.shadowRoot;
|
|
13
13
|
}
|
|
14
|
-
onTemplateNodeUpdated(
|
|
15
|
-
this.currentNode =
|
|
14
|
+
onTemplateNodeUpdated(E) {
|
|
15
|
+
this.currentNode = E;
|
|
16
16
|
}
|
|
17
|
-
_GuLabel({ text:
|
|
17
|
+
_GuLabel({ text: E, name: t = "", position: T = "top" }) {
|
|
18
18
|
return `
|
|
19
19
|
<${$.LABEL}
|
|
20
|
-
style="${
|
|
21
|
-
${
|
|
22
|
-
${
|
|
20
|
+
style="${T === "top" ? "margin-bottom: 8px;" : ""}"
|
|
21
|
+
${e.LABEL.text}="${E}"
|
|
22
|
+
${e.LABEL.name}="${t || `${E} Label`}">
|
|
23
23
|
</${$.LABEL}>
|
|
24
24
|
`;
|
|
25
25
|
}
|
|
26
|
-
_GuToggle(
|
|
26
|
+
_GuToggle(E) {
|
|
27
27
|
return `
|
|
28
28
|
<${$.SWITCHER}
|
|
29
|
-
${
|
|
29
|
+
${e.SWITCHER.name}="${E}">
|
|
30
30
|
</${$.SWITCHER}>
|
|
31
31
|
`;
|
|
32
32
|
}
|
|
33
|
-
_GuSelectItem({ text:
|
|
33
|
+
_GuSelectItem({ text: E, value: t }) {
|
|
34
34
|
return `
|
|
35
35
|
<${$.SELECT_ITEM}
|
|
36
|
-
${
|
|
37
|
-
${
|
|
36
|
+
${e.SELECT_ITEM.text}="${E}"
|
|
37
|
+
${e.SELECT_ITEM.value}="${t}">
|
|
38
38
|
</${$.SELECT_ITEM}>`;
|
|
39
39
|
}
|
|
40
|
-
_GuSelect({ name:
|
|
40
|
+
_GuSelect({ name: E, placeholder: t, options: T, className: r = "es-180w" }) {
|
|
41
41
|
return `
|
|
42
42
|
<${$.SELECTPICKER}
|
|
43
43
|
class="${r}"
|
|
44
|
-
${
|
|
45
|
-
${
|
|
46
|
-
${
|
|
44
|
+
${e.SELECTPICKER.name}="${E}"
|
|
45
|
+
${e.SELECTPICKER.placeholder}="${t}">
|
|
46
|
+
${T.map((O) => this._GuSelectItem(O)).join("")}
|
|
47
47
|
</${$.SELECTPICKER}>
|
|
48
48
|
`;
|
|
49
49
|
}
|
|
50
|
-
_GuTextInput({ name:
|
|
50
|
+
_GuTextInput({ name: E, placeholder: t, className: T = "" }) {
|
|
51
51
|
return `
|
|
52
52
|
<${$.TEXT}
|
|
53
|
-
class=${
|
|
54
|
-
${
|
|
55
|
-
placeholder="${
|
|
53
|
+
class=${T}
|
|
54
|
+
${e.TEXT.name}="${E}"
|
|
55
|
+
placeholder="${t || E}">
|
|
56
56
|
</${$.TEXT}>
|
|
57
57
|
`;
|
|
58
58
|
}
|
|
59
|
-
_GuCounter({ name:
|
|
59
|
+
_GuCounter({ name: E, maxValue: t, minValue: T = 1, step: r = 1 }) {
|
|
60
60
|
return `
|
|
61
61
|
<${$.COUNTER}
|
|
62
|
-
${
|
|
63
|
-
${
|
|
64
|
-
${
|
|
65
|
-
${
|
|
62
|
+
${e.COUNTER.name}="${E}"
|
|
63
|
+
${e.COUNTER.minValue}="${T}"
|
|
64
|
+
${e.COUNTER.maxValue}="${t}"
|
|
65
|
+
${e.COUNTER.step}="${r}">
|
|
66
66
|
</${$.COUNTER}>
|
|
67
67
|
`;
|
|
68
68
|
}
|
|
69
|
-
_GuButton({ name:
|
|
69
|
+
_GuButton({ name: E, label: t, id: T = "" }) {
|
|
70
70
|
return `
|
|
71
71
|
<${$.BUTTON}
|
|
72
|
-
${
|
|
73
|
-
${
|
|
74
|
-
${
|
|
72
|
+
${e.BUTTON.name}="${E}"
|
|
73
|
+
${T ? `id="${T}"` : ""}
|
|
74
|
+
${e.BUTTON.caption}="${t}"}>
|
|
75
75
|
</${$.BUTTON}>
|
|
76
76
|
`;
|
|
77
77
|
}
|
|
@@ -80,23 +80,105 @@ class L extends c {
|
|
|
80
80
|
* @param param0
|
|
81
81
|
* @returns It returns a button with an icon.
|
|
82
82
|
*/
|
|
83
|
-
_GuIconButton({ name:
|
|
83
|
+
_GuIconButton({ name: E, icon: t, className: T = "" }) {
|
|
84
84
|
return `
|
|
85
85
|
<${$.BUTTON}
|
|
86
|
-
class="${
|
|
87
|
-
${
|
|
88
|
-
${
|
|
86
|
+
class="${T}"
|
|
87
|
+
${e.BUTTON.name}="${E}"
|
|
88
|
+
${e.BUTTON.icon}="${t}">
|
|
89
89
|
</${$.BUTTON}>
|
|
90
90
|
`;
|
|
91
91
|
}
|
|
92
|
-
_GuTwoColumns(
|
|
92
|
+
_GuTwoColumns(E) {
|
|
93
93
|
return `
|
|
94
94
|
<div class="checkbox-select-container container two-columns">
|
|
95
|
-
${
|
|
95
|
+
${E.join("")}
|
|
96
96
|
</div>
|
|
97
97
|
`;
|
|
98
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Creates an orderable (sortable) list control
|
|
101
|
+
* @param name - The control name for value binding
|
|
102
|
+
* @param items - Array of item keys/values
|
|
103
|
+
* @param itemLabels - Optional array of objects with key and label properties for display
|
|
104
|
+
* @returns HTML string for the orderable control
|
|
105
|
+
*/
|
|
106
|
+
_GuOrderable(E, t) {
|
|
107
|
+
let T = "";
|
|
108
|
+
t.forEach((O) => {
|
|
109
|
+
const L = e.ORDERABLE_ITEM && "name" in e.ORDERABLE_ITEM ? e.ORDERABLE_ITEM.name : "name";
|
|
110
|
+
T += `
|
|
111
|
+
<${$.ORDERABLE_ITEM} ${L}="${O.key}">
|
|
112
|
+
${O.content}
|
|
113
|
+
</${$.ORDERABLE_ITEM}>
|
|
114
|
+
`;
|
|
115
|
+
});
|
|
116
|
+
const r = e.ORDERABLE && "name" in e.ORDERABLE ? e.ORDERABLE.name : "name";
|
|
117
|
+
return `
|
|
118
|
+
<${$.ORDERABLE} ${r}="${E}">
|
|
119
|
+
${T}
|
|
120
|
+
</${$.ORDERABLE}>
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
_GuNestedControl(E, t) {
|
|
124
|
+
return `
|
|
125
|
+
<${$.NESTED_CONTROL} ${e.NESTED_CONTROL.controlId}="${E}">
|
|
126
|
+
${t}
|
|
127
|
+
</${$.NESTED_CONTROL}>
|
|
128
|
+
`;
|
|
129
|
+
}
|
|
130
|
+
_GuExpandable(E, t) {
|
|
131
|
+
return `
|
|
132
|
+
<${$.EXPANDABLE}>
|
|
133
|
+
<${$.EXPANDABLE_HEADER}>
|
|
134
|
+
<${$.LABEL} ${e.LABEL.text}="${E}"></${$.LABEL}>
|
|
135
|
+
</${$.EXPANDABLE_HEADER}>
|
|
136
|
+
<${$.EXPANDABLE_CONTENT}>
|
|
137
|
+
|
|
138
|
+
${t}
|
|
139
|
+
|
|
140
|
+
</${$.EXPANDABLE_CONTENT}>
|
|
141
|
+
</${$.EXPANDABLE}>
|
|
142
|
+
`;
|
|
143
|
+
}
|
|
144
|
+
_GuColorPicker(E) {
|
|
145
|
+
return `
|
|
146
|
+
<${$.COLOR}
|
|
147
|
+
${e.COLOR.name}="${E}">
|
|
148
|
+
</${$.COLOR}>
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
_GuFontFamily(E, t = "Select Font") {
|
|
152
|
+
return `
|
|
153
|
+
<${$.FONT_FAMILY_SELECT}
|
|
154
|
+
${e.FONT_FAMILY_SELECT.name}="${E}"
|
|
155
|
+
${e.FONT_FAMILY_SELECT.placeholder}="${t}">
|
|
156
|
+
</${$.FONT_FAMILY_SELECT}>
|
|
157
|
+
`;
|
|
158
|
+
}
|
|
159
|
+
_GuRadioButtons(E, t) {
|
|
160
|
+
const T = t.map((r) => `
|
|
161
|
+
<${$.RADIO_ITEM}
|
|
162
|
+
${e.RADIO_ITEM.text}="${r.text}"
|
|
163
|
+
${e.RADIO_ITEM.value}="${r.value}">
|
|
164
|
+
</${$.RADIO_ITEM}>
|
|
165
|
+
`).join("");
|
|
166
|
+
return `
|
|
167
|
+
<${$.RADIO_BUTTONS}
|
|
168
|
+
${e.RADIO_BUTTONS.name}="${E}">
|
|
169
|
+
${T}
|
|
170
|
+
</${$.RADIO_BUTTONS}>
|
|
171
|
+
`;
|
|
172
|
+
}
|
|
173
|
+
_GuCheckbox(E, t) {
|
|
174
|
+
return `
|
|
175
|
+
<${$.CHECKBOX}
|
|
176
|
+
${e.CHECKBOX.name}="${E}"
|
|
177
|
+
${e.CHECKBOX.caption}="${t}">
|
|
178
|
+
</${$.CHECKBOX}>
|
|
179
|
+
`;
|
|
180
|
+
}
|
|
99
181
|
}
|
|
100
182
|
export {
|
|
101
|
-
|
|
183
|
+
N as CommonControl
|
|
102
184
|
};
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { ButtonAlignBuiltInControl as r, ButtonBorderBuiltInControl as l, ButtonBorderRadiusBuiltInControl as s, ButtonColorBuiltInControl as c, ButtonFitToContainerBuiltInControl as u, ButtonFontFamilyBuiltInControl as i, ButtonMarginsBuiltInControl as d, ButtonPaddingsBuiltInControl as a, ButtonTextBuiltInControl as g, ButtonTextSizeBuiltInControl as x, ButtonTextStyleAndFontColorBuiltInControl as C, ImageMarginsBuiltInControl as B, ImageSizeBuiltInControl as I, TextAlignBuiltInControl as T, ButtonBackgroundColorBuiltInControl as m, TextColorBuiltInControl as S, TextFontFamilyBuiltInControl as y, TextLineSpacingBuiltInControl as A, TextPaddingsBuiltInControl as k, TextSizeBuiltInControl as f, TextStyleBuiltInControl as b } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
function N(e, t, n) {
|
|
3
|
+
return class extends T {
|
|
4
|
+
getId() {
|
|
5
|
+
return e;
|
|
6
|
+
}
|
|
7
|
+
getTargetNodes(o) {
|
|
8
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function $(e, t, n = ".ins-recommendation-product-container") {
|
|
13
|
+
return class extends S {
|
|
14
|
+
getId() {
|
|
15
|
+
return e;
|
|
16
|
+
}
|
|
17
|
+
getTargetNodes(o) {
|
|
18
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function p(e, t, n = ".ins-recommendation-product-container") {
|
|
23
|
+
return class extends f {
|
|
24
|
+
getId() {
|
|
25
|
+
return e;
|
|
26
|
+
}
|
|
27
|
+
getTargetNodes(o) {
|
|
28
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function F(e, t, n = ".ins-recommendation-product-container") {
|
|
33
|
+
return class extends b {
|
|
34
|
+
getId() {
|
|
35
|
+
return e;
|
|
36
|
+
}
|
|
37
|
+
getTargetNodes(o) {
|
|
38
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function z(e, t, n = ".ins-recommendation-product-container") {
|
|
43
|
+
return class extends y {
|
|
44
|
+
getId() {
|
|
45
|
+
return e;
|
|
46
|
+
}
|
|
47
|
+
getTargetNodes(o) {
|
|
48
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function M(e, t, n = ".ins-recommendation-product-container") {
|
|
53
|
+
return class extends m {
|
|
54
|
+
getId() {
|
|
55
|
+
return e;
|
|
56
|
+
}
|
|
57
|
+
getTargetNodes(o) {
|
|
58
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function P(e, t, n = ".ins-recommendation-product-container") {
|
|
63
|
+
return class extends k {
|
|
64
|
+
getId() {
|
|
65
|
+
return e;
|
|
66
|
+
}
|
|
67
|
+
getTargetNodes(o) {
|
|
68
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function L(e, t, n = ".ins-recommendation-product-container") {
|
|
73
|
+
return class extends A {
|
|
74
|
+
getId() {
|
|
75
|
+
return e;
|
|
76
|
+
}
|
|
77
|
+
getTargetNodes(o) {
|
|
78
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function R(e, t, n = ".ins-recommendation-product-container") {
|
|
83
|
+
return class extends r {
|
|
84
|
+
getId() {
|
|
85
|
+
return e;
|
|
86
|
+
}
|
|
87
|
+
getTargetNodes(o) {
|
|
88
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function h(e, t, n = ".ins-recommendation-product-container") {
|
|
93
|
+
return class extends c {
|
|
94
|
+
getId() {
|
|
95
|
+
return e;
|
|
96
|
+
}
|
|
97
|
+
getTargetNodes(o) {
|
|
98
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function j(e, t, n = ".ins-recommendation-product-container") {
|
|
103
|
+
return class extends l {
|
|
104
|
+
getId() {
|
|
105
|
+
return e;
|
|
106
|
+
}
|
|
107
|
+
getTargetNodes(o) {
|
|
108
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function v(e, t, n = ".ins-recommendation-product-container") {
|
|
113
|
+
return class extends s {
|
|
114
|
+
getId() {
|
|
115
|
+
return e;
|
|
116
|
+
}
|
|
117
|
+
getTargetNodes(o) {
|
|
118
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function w(e, t, n = ".ins-recommendation-product-container") {
|
|
123
|
+
return class extends i {
|
|
124
|
+
getId() {
|
|
125
|
+
return e;
|
|
126
|
+
}
|
|
127
|
+
getTargetNodes(o) {
|
|
128
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function D(e, t, n = ".ins-recommendation-product-container") {
|
|
133
|
+
return class extends d {
|
|
134
|
+
getId() {
|
|
135
|
+
return e;
|
|
136
|
+
}
|
|
137
|
+
getTargetNodes(o) {
|
|
138
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function E(e, t, n = ".ins-recommendation-product-container") {
|
|
143
|
+
return class extends a {
|
|
144
|
+
getId() {
|
|
145
|
+
return e;
|
|
146
|
+
}
|
|
147
|
+
getTargetNodes(o) {
|
|
148
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function G(e, t, n = ".ins-recommendation-product-container") {
|
|
153
|
+
return class extends g {
|
|
154
|
+
getId() {
|
|
155
|
+
return e;
|
|
156
|
+
}
|
|
157
|
+
getTargetNodes(o) {
|
|
158
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function H(e, t, n = ".ins-recommendation-product-container") {
|
|
163
|
+
return class extends x {
|
|
164
|
+
getId() {
|
|
165
|
+
return e;
|
|
166
|
+
}
|
|
167
|
+
getTargetNodes(o) {
|
|
168
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function J(e, t, n) {
|
|
173
|
+
return class extends C {
|
|
174
|
+
getId() {
|
|
175
|
+
return e;
|
|
176
|
+
}
|
|
177
|
+
getTargetNodes(o) {
|
|
178
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
function K(e, t, n) {
|
|
183
|
+
return class extends u {
|
|
184
|
+
getId() {
|
|
185
|
+
return e;
|
|
186
|
+
}
|
|
187
|
+
getTargetNodes(o) {
|
|
188
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function O(e, t, n) {
|
|
193
|
+
return class extends I {
|
|
194
|
+
getId() {
|
|
195
|
+
return e;
|
|
196
|
+
}
|
|
197
|
+
getTargetNodes(o) {
|
|
198
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
function Q(e, t, n) {
|
|
203
|
+
return class extends B {
|
|
204
|
+
getId() {
|
|
205
|
+
return e;
|
|
206
|
+
}
|
|
207
|
+
getTargetNodes(o) {
|
|
208
|
+
return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
export {
|
|
213
|
+
R as createButtonAlignControl,
|
|
214
|
+
j as createButtonBorderControl,
|
|
215
|
+
v as createButtonBorderRadiusControl,
|
|
216
|
+
h as createButtonColorControl,
|
|
217
|
+
K as createButtonFitToContainerControl,
|
|
218
|
+
w as createButtonFontFamilyControl,
|
|
219
|
+
D as createButtonMarginsControl,
|
|
220
|
+
E as createButtonPaddingsControl,
|
|
221
|
+
G as createButtonTextControl,
|
|
222
|
+
H as createButtonTextSizeControl,
|
|
223
|
+
J as createButtonTextStyleAndFontColorControl,
|
|
224
|
+
Q as createImageMarginsControl,
|
|
225
|
+
O as createImageSizeControl,
|
|
226
|
+
P as createPaddingsControl,
|
|
227
|
+
N as createTextAlignControl,
|
|
228
|
+
M as createTextBackgroundColorControl,
|
|
229
|
+
$ as createTextColorControl,
|
|
230
|
+
z as createTextFontFamilyControl,
|
|
231
|
+
L as createTextLineSpacingControl,
|
|
232
|
+
p as createTextSizeControl,
|
|
233
|
+
F as createTextStyleControl
|
|
234
|
+
};
|
|
@@ -1,27 +1,33 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
class
|
|
1
|
+
var d = Object.defineProperty;
|
|
2
|
+
var m = (t, e, n) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
|
+
var c = (t, e, n) => m(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
|
+
class C {
|
|
5
5
|
constructor() {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
c(this, "selectedDynamicContent", null);
|
|
7
|
+
c(this, "dataSelectCallback", () => {
|
|
8
8
|
});
|
|
9
|
+
c(this, "closeDynamicContentHandler", null);
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Opens the merge tags library modal
|
|
13
|
+
* @param dynamicContent - Currently selected dynamic content (if any)
|
|
14
|
+
* @param onDataSelectCallback - Callback invoked when user selects a merge tag
|
|
15
|
+
* @param position - Optional position data to place the modal
|
|
16
|
+
*/
|
|
17
|
+
openMergeTagsLibrary(e, n, l) {
|
|
18
|
+
this.closeDynamicContentHandler && (document.removeEventListener("dynamic-content:close", this.closeDynamicContentHandler), this.closeDynamicContentHandler = null), this.dataSelectCallback = n, this.selectedDynamicContent = e;
|
|
19
|
+
const o = {
|
|
20
|
+
attribute: e,
|
|
21
|
+
position: l
|
|
22
|
+
}, s = new CustomEvent("dynamic-content:open", {
|
|
23
|
+
detail: o
|
|
16
24
|
});
|
|
17
|
-
document.dispatchEvent(s)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
document.addEventListener("dynamic-content:close", o);
|
|
25
|
+
document.dispatchEvent(s), this.closeDynamicContentHandler = (i) => {
|
|
26
|
+
const a = i.detail;
|
|
27
|
+
this.selectedDynamicContent = a, a.text && a.value && this.dataSelectCallback(a);
|
|
28
|
+
}, document.addEventListener("dynamic-content:close", this.closeDynamicContentHandler);
|
|
23
29
|
}
|
|
24
30
|
}
|
|
25
31
|
export {
|
|
26
|
-
|
|
32
|
+
C as ExternalMergeTagsLibrary
|
|
27
33
|
};
|