zignal-stencil-library 1.1.113 → 1.1.114
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/cjs/autocomplete-address_43.cjs.entry.js +165 -96
- package/dist/cjs/quick-message-app.cjs.entry.js +1 -1
- package/dist/cjs/quick-message-app.entry.cjs.js.map +1 -1
- package/dist/collection/components/autocomplete-address/autocomplete-address.css +1 -1
- package/dist/collection/components/autocomplete-multiple-select/autocomplete-multiple-select.css +1 -1
- package/dist/collection/components/autocomplete-select/autocomplete-select.css +1 -1
- package/dist/collection/components/channel-box/channel-box.css +1 -1
- package/dist/collection/components/chat-app/chat-app.css +1 -1
- package/dist/collection/components/chat-header/chat-header.css +1 -1
- package/dist/collection/components/chat-input/chat-input.css +1 -1
- package/dist/collection/components/chat-input/chat-input.js +1 -1
- package/dist/collection/components/chat-input/chat-input.js.map +1 -1
- package/dist/collection/components/checkbox-list/checkbox-list.css +1 -1
- package/dist/collection/components/dialog-bill-editor/dialog-bill-editor.css +1 -1
- package/dist/collection/components/dialog-editor/dialog-editor.css +1 -1
- package/dist/collection/components/dialog-preview-media/dialog-preview-media.css +1 -1
- package/dist/collection/components/dialog-search/dialog-search.css +1 -1
- package/dist/collection/components/menu-chat-channel/menu-chat-channel.css +1 -1
- package/dist/collection/components/menu-chat-type/menu-chat-type.css +1 -1
- package/dist/collection/components/menu-list/menu-list.css +1 -1
- package/dist/collection/components/message-box/message-box.css +1 -1
- package/dist/collection/components/message-content/message-content.css +1 -1
- package/dist/collection/components/message-item/message-item.css +1 -1
- package/dist/collection/components/message-media/message-media.css +1 -1
- package/dist/collection/components/profile-history/profile-history.css +1 -1
- package/dist/collection/components/profile-info/profile-info.css +1 -1
- package/dist/collection/components/profile-media/profile-media.css +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.css +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.css +1 -1
- package/dist/collection/components/quick-message-app/quick-message-app.css +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.css +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.css +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.css +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.css +1 -1
- package/dist/collection/components/search-box/search-box.css +1 -1
- package/dist/collection/components/status-badge/status-badge.css +1 -1
- package/dist/collection/components/tag-list/tag-list.css +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.css +1 -1
- package/dist/collection/components/tag-popper/tag-popper.css +1 -1
- package/dist/collection/components/typography-clamp/typography-clamp.css +1 -1
- package/dist/collection/components/z-avatar/z-avatar.css +1 -1
- package/dist/collection/components/z-dialog/z-dialog.css +1 -1
- package/dist/components/autocomplete-address.js +1 -1
- package/dist/components/autocomplete-multiple-select.js +1 -1
- package/dist/components/autocomplete-select.js +1 -1
- package/dist/components/channel-box.js +1 -1
- package/dist/components/chat-app.js +40 -40
- package/dist/components/chat-app.js.map +1 -1
- package/dist/components/chat-header.js +1 -1
- package/dist/components/chat-input.js +1 -1
- package/dist/components/checkbox-list.js +1 -1
- package/dist/components/dialog-bill-editor.js +1 -1
- package/dist/components/dialog-editor.js +1 -1
- package/dist/components/dialog-preview-media.js +1 -1
- package/dist/components/dialog-search.js +1 -1
- package/dist/components/menu-chat-channel.js +1 -1
- package/dist/components/menu-chat-type.js +1 -1
- package/dist/components/menu-list.js +1 -1
- package/dist/components/message-box.js +1 -1
- package/dist/components/message-content.js +1 -1
- package/dist/components/message-item.js +1 -1
- package/dist/components/message-media.js +1 -1
- package/dist/components/{p-CvyJbTb9.js → p--m50OaqR.js} +11 -11
- package/dist/components/{p-CvyJbTb9.js.map → p--m50OaqR.js.map} +1 -1
- package/dist/components/{p-nEOSV6qt.js → p-3t2ULKvn.js} +5 -5
- package/dist/components/{p-nEOSV6qt.js.map → p-3t2ULKvn.js.map} +1 -1
- package/dist/components/{p-DRC94y7I.js → p-5QPDcqLV.js} +4 -4
- package/dist/components/{p-DRC94y7I.js.map → p-5QPDcqLV.js.map} +1 -1
- package/dist/components/{p-LQISNowV.js → p-B-DQMSNH.js} +3 -3
- package/dist/components/{p-LQISNowV.js.map → p-B-DQMSNH.js.map} +1 -1
- package/dist/components/{p-Ci1wlgXw.js → p-B2u057C4.js} +3 -3
- package/dist/components/{p-Ci1wlgXw.js.map → p-B2u057C4.js.map} +1 -1
- package/dist/components/{p-BVLGLAQM.js → p-BBzb0UrZ.js} +13 -13
- package/dist/components/{p-BVLGLAQM.js.map → p-BBzb0UrZ.js.map} +1 -1
- package/dist/components/{p-DW8sC5rc.js → p-BLI0eD_8.js} +3 -3
- package/dist/components/{p-DW8sC5rc.js.map → p-BLI0eD_8.js.map} +1 -1
- package/dist/components/{p-3XaRlwMZ.js → p-BNiehTz-.js} +8 -8
- package/dist/components/{p-3XaRlwMZ.js.map → p-BNiehTz-.js.map} +1 -1
- package/dist/components/{p-Dz4G6Q1l.js → p-BQmnx9-0.js} +3 -3
- package/dist/components/{p-Dz4G6Q1l.js.map → p-BQmnx9-0.js.map} +1 -1
- package/dist/components/{p-CrvmYhih.js → p-Bbm_pPzb.js} +4 -4
- package/dist/components/{p-CrvmYhih.js.map → p-Bbm_pPzb.js.map} +1 -1
- package/dist/components/p-BnxxvUCy.js +132 -0
- package/dist/components/{p-DuPV1DzK.js.map → p-BnxxvUCy.js.map} +1 -1
- package/dist/components/{p-CB09ePCJ.js → p-BqirszEW.js} +4 -4
- package/dist/components/{p-CB09ePCJ.js.map → p-BqirszEW.js.map} +1 -1
- package/dist/components/{p-l6ffmvGW.js → p-BssEwLaN.js} +3 -3
- package/dist/components/{p-l6ffmvGW.js.map → p-BssEwLaN.js.map} +1 -1
- package/dist/components/{p-DrW4vKrV.js → p-BypBSjsX.js} +5 -5
- package/dist/components/{p-DrW4vKrV.js.map → p-BypBSjsX.js.map} +1 -1
- package/dist/components/{p-Be5X3t5w.js → p-CI0T9mG3.js} +3 -3
- package/dist/components/{p-Be5X3t5w.js.map → p-CI0T9mG3.js.map} +1 -1
- package/dist/components/{p-5S7W_s42.js → p-CYj5eGUx.js} +4 -4
- package/dist/components/{p-5S7W_s42.js.map → p-CYj5eGUx.js.map} +1 -1
- package/dist/components/{p-DuPV1DzK.js → p-CcNDN7nL.js} +37 -108
- package/dist/components/{p-ZXZKAhiz.js.map → p-CcNDN7nL.js.map} +1 -1
- package/dist/components/{p-yhRJRzUn.js → p-CeCnJD_t.js} +3 -3
- package/dist/components/{p-yhRJRzUn.js.map → p-CeCnJD_t.js.map} +1 -1
- package/dist/components/{p-DkVyQai5.js → p-Ch0k98MI.js} +8 -8
- package/dist/components/{p-DkVyQai5.js.map → p-Ch0k98MI.js.map} +1 -1
- package/dist/components/{p-sBGx8qre.js → p-Cr_TwfMc.js} +3 -3
- package/dist/components/{p-sBGx8qre.js.map → p-Cr_TwfMc.js.map} +1 -1
- package/dist/components/{p-CJAs00I8.js → p-CsRXWqtl.js} +7 -7
- package/dist/components/{p-CJAs00I8.js.map → p-CsRXWqtl.js.map} +1 -1
- package/dist/components/{p-BHr52dZJ.js → p-DEGiGqSE.js} +5 -5
- package/dist/components/{p-BHr52dZJ.js.map → p-DEGiGqSE.js.map} +1 -1
- package/dist/components/{p-CZRPZKJ-.js → p-DFGwDaxI.js} +4 -4
- package/dist/components/{p-CZRPZKJ-.js.map → p-DFGwDaxI.js.map} +1 -1
- package/dist/components/{p-BzogxNIa.js → p-DIaQ5vRT.js} +3 -3
- package/dist/components/{p-BzogxNIa.js.map → p-DIaQ5vRT.js.map} +1 -1
- package/dist/components/{p-ufmeP0E5.js → p-DQ8HPG_K.js} +11 -11
- package/dist/components/{p-ufmeP0E5.js.map → p-DQ8HPG_K.js.map} +1 -1
- package/dist/components/{p-D5h0nLE5.js → p-DTU4M_6s.js} +8 -8
- package/dist/components/{p-D5h0nLE5.js.map → p-DTU4M_6s.js.map} +1 -1
- package/dist/components/{p-CcPJkDzX.js → p-DTxusuTj.js} +3 -3
- package/dist/components/{p-CcPJkDzX.js.map → p-DTxusuTj.js.map} +1 -1
- package/dist/components/{p-Dx0yXDO_.js → p-DUEwD6QB.js} +6 -6
- package/dist/components/{p-Dx0yXDO_.js.map → p-DUEwD6QB.js.map} +1 -1
- package/dist/components/{p-Bt12179Z.js → p-DXJv_Q_2.js} +4 -4
- package/dist/components/{p-Bt12179Z.js.map → p-DXJv_Q_2.js.map} +1 -1
- package/dist/components/{p-Dvfar-8p.js → p-DYCfNJWj.js} +5 -5
- package/dist/components/{p-Dvfar-8p.js.map → p-DYCfNJWj.js.map} +1 -1
- package/dist/components/{p-B19Afqpk.js → p-DaCqDkRK.js} +17 -17
- package/dist/components/{p-B19Afqpk.js.map → p-DaCqDkRK.js.map} +1 -1
- package/dist/components/{p-F1r0ydKy.js → p-DaIrHgbG.js} +17 -17
- package/dist/components/{p-F1r0ydKy.js.map → p-DaIrHgbG.js.map} +1 -1
- package/dist/components/{p-EGKFhNRS.js → p-DaxSdUIk.js} +3 -3
- package/dist/components/{p-EGKFhNRS.js.map → p-DaxSdUIk.js.map} +1 -1
- package/dist/components/{p-DN1ugCly.js → p-DkisMbeq.js} +3 -3
- package/dist/components/{p-DN1ugCly.js.map → p-DkisMbeq.js.map} +1 -1
- package/dist/components/{p-Baq4FLMS.js → p-DmwNXkXf.js} +3 -3
- package/dist/components/{p-Baq4FLMS.js.map → p-DmwNXkXf.js.map} +1 -1
- package/dist/components/{p-CS4KatwS.js → p-DoZmi5ih.js} +3 -3
- package/dist/components/{p-CS4KatwS.js.map → p-DoZmi5ih.js.map} +1 -1
- package/dist/components/{p-ChfkflWC.js → p-Donkg0LL.js} +3 -3
- package/dist/components/{p-ChfkflWC.js.map → p-Donkg0LL.js.map} +1 -1
- package/dist/components/{p-BuZJtX19.js → p-Dp3EHSUO.js} +3 -3
- package/dist/components/{p-BuZJtX19.js.map → p-Dp3EHSUO.js.map} +1 -1
- package/dist/components/{p-BsV8XOdl.js → p-DpdkqWPQ.js} +20 -20
- package/dist/components/{p-BsV8XOdl.js.map → p-DpdkqWPQ.js.map} +1 -1
- package/dist/components/{p-B2ay8yxa.js → p-DyatyKQQ.js} +3 -3
- package/dist/components/{p-B2ay8yxa.js.map → p-DyatyKQQ.js.map} +1 -1
- package/dist/components/{p-jGwKbBta.js → p-Fr7xN81m.js} +9 -9
- package/dist/components/{p-jGwKbBta.js.map → p-Fr7xN81m.js.map} +1 -1
- package/dist/components/{p-C2YAe0Ke.js → p-Heeo8D4P.js} +128 -59
- package/dist/components/p-Heeo8D4P.js.map +1 -0
- package/dist/components/{p-C_rJguGq.js → p-aEvNkqAt.js} +5 -5
- package/dist/components/{p-C_rJguGq.js.map → p-aEvNkqAt.js.map} +1 -1
- package/dist/components/profile-history.js +1 -1
- package/dist/components/profile-info.js +1 -1
- package/dist/components/profile-media.js +1 -1
- package/dist/components/profile-tabs.js +1 -1
- package/dist/components/quick-message-add-template.js +1 -1
- package/dist/components/quick-message-app.js +6 -6
- package/dist/components/quick-message-app.js.map +1 -1
- package/dist/components/quick-message-file.js +1 -1
- package/dist/components/quick-message-image.js +1 -1
- package/dist/components/quick-message-modal.js +1 -1
- package/dist/components/quick-message-template.js +1 -1
- package/dist/components/search-box.js +1 -1
- package/dist/components/status-badge.js +1 -1
- package/dist/components/summarize-message-section.js +1 -1
- package/dist/components/tag-list.js +1 -1
- package/dist/components/tag-or-status-item.js +1 -1
- package/dist/components/tag-popper.js +1 -1
- package/dist/components/typography-clamp.js +1 -1
- package/dist/components/user-info-section.js +1 -1
- package/dist/components/z-avatar.js +1 -1
- package/dist/components/z-dialog.js +1 -1
- package/dist/esm/autocomplete-address_43.entry.js +165 -96
- package/dist/esm/quick-message-app.entry.js +1 -1
- package/dist/esm/quick-message-app.entry.js.map +1 -1
- package/dist/zignal-stencil-library/p-1a660578.entry.js +2 -0
- package/dist/zignal-stencil-library/{p-cdcb0c65.entry.js.map → p-1a660578.entry.js.map} +1 -1
- package/dist/zignal-stencil-library/{p-3cea211f.entry.js → p-548e9d88.entry.js} +168 -168
- package/dist/zignal-stencil-library/p-548e9d88.entry.js.map +1 -0
- package/dist/zignal-stencil-library/quick-message-app.entry.esm.js.map +1 -1
- package/dist/zignal-stencil-library/zignal-stencil-library.esm.js +1 -1
- package/package.json +3 -3
- package/dist/components/p-C2YAe0Ke.js.map +0 -1
- package/dist/components/p-ZXZKAhiz.js +0 -61
- package/dist/zignal-stencil-library/p-3cea211f.entry.js.map +0 -1
- package/dist/zignal-stencil-library/p-cdcb0c65.entry.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-message-app.entry.esm.js","sources":["src/components/quick-message-app/quick-message-app.css?tag=quick-message-app","src/components/quick-message-app/quick-message-app.tsx"],"sourcesContent":[":host,\n.quick-message-app__host {\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-columns: 1fr;\n width: 100%;\n min-height: var(--quick-message-app-min-height, calc(100vh - 120px));\n max-height: var(--quick-message-app-max-height, calc(100vh - 120px));\n overflow: hidden;\n}\n\n.quick-message-app__shell {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n height: 100%;\n overflow: hidden;\n box-sizing: border-box;\n min-height: var(--quick-message-app-min-height, calc(100vh - 120px));\n max-height: var(--quick-message-app-max-height, calc(100vh - 120px));\n --quick-app-primary: var(--color-primary);\n --quick-modal-surface: var(--color-background);\n --quick-modal-primary: var(--quick-app-primary);\n --quick-modal-primary-soft: color-mix(in srgb, var(--quick-modal-primary) 14%, transparent);\n --quick-modal-primary-border: color-mix(in srgb, var(--quick-modal-primary) 55%, transparent);\n --quick-modal-primary-shadow: color-mix(in srgb, var(--quick-modal-primary) 22%, transparent);\n --quick-modal-primary-ghost: color-mix(in srgb, var(--quick-modal-primary) 18%, var(--quick-modal-surface));\n}\n\n.quick-message-app__host.z-background-dark .quick-message-app__shell {\n --quick-app-primary: var(--color-primary-dark);\n --quick-modal-surface: var(--color-background-dark);\n}\n\n.quick-message-app__header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.quick-message-app__header-text h1 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n}\n\n.quick-message-app__header-text p {\n margin: 4px 0 0;\n font-size: 14px;\n opacity: 0.7;\n}\n\n.quick-message-app__stats {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n font-size: 12px;\n opacity: 0.8;\n}\n\n.quick-message-app__tabs {\n display: flex;\n gap: 12px;\n border-bottom: 1px solid rgba(148, 163, 184, 0.35);\n padding-bottom: 8px;\n}\n\n.quick-message-app__tabs button {\n background: transparent;\n border: none;\n padding: 8px 20px;\n border-radius: 9999px;\n font-weight: 600;\n cursor: pointer;\n color: inherit;\n opacity: 0.7;\n transition:\n background 0.2s ease,\n opacity 0.2s ease;\n}\n\n.quick-message-app__tabs button.active {\n background: color-mix(in srgb, var(--quick-app-primary) 14%, transparent);\n color: var(--quick-app-primary);\n opacity: 1;\n}\n\n.quick-message-app__content {\n flex: 1;\n min-height: 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.quick-message-app__content quick-message-template,\n.quick-message-app__content quick-message-image,\n.quick-message-app__content quick-message-file {\n flex: 1;\n min-height: 0;\n min-width: 0;\n}\n\n@media (min-width: 768px) {\n .quick-message-app__header {\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n }\n\n .quick-message-app__header-text {\n max-width: 480px;\n }\n}\n\n@media (max-width: 640px) {\n .quick-message-app__shell {\n padding: 16px;\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport i18n from '../../global/i18n';\nimport { configStore } from '../../store/store';\nimport { QuickMessageLibraryFile, QuickMessageTemplate as QuickMessageTemplateModel } from '../../store/type';\nimport { setDayjsLocale, setDayjsTimeZone } from '../../utils/dayjs';\nimport { useTranslation } from '../../utils/utils';\n\n@Component({\n tag: 'quick-message-app',\n styleUrl: 'quick-message-app.css',\n})\nexport class QuickMessageAppComponent {\n @Prop() languagePref: 'th' | 'en' = 'en';\n @Prop() themeMode: 'dark' | 'light' = 'light';\n @Prop() templateData?: string | QuickMessageTemplateModel[];\n @Prop() imageLibrary?: string | QuickMessageLibraryFile[];\n @Prop() fileLibrary?: string | QuickMessageLibraryFile[];\n @Prop() businessId?: string;\n @Prop() shopId?: string;\n @Prop() accessToken?: string;\n @Prop() isProduction?: string | boolean;\n @Prop() timeZone?: string;\n\n @State() private activeTab: 'template' | 'image' | 'file' = 'template';\n @State() private templates: QuickMessageTemplateModel[] = [];\n @State() private images: QuickMessageLibraryFile[] = [];\n @State() private files: QuickMessageLibraryFile[] = [];\n\n @Event({ bubbles: true, composed: true }) templatesChange!: EventEmitter<QuickMessageTemplateModel[]>;\n @Event({ bubbles: true, composed: true }) imagesChange!: EventEmitter<QuickMessageLibraryFile[]>;\n @Event({ bubbles: true, composed: true }) filesChange!: EventEmitter<QuickMessageLibraryFile[]>;\n\n connectedCallback() {\n this.applyLanguage(this.languagePref);\n this.applyTheme(this.themeMode);\n this.setBusinessId(this.businessId);\n this.setShopId(this.shopId);\n this.setAccessToken(this.accessToken);\n this.setIsProduction(this.toBoolean(this.isProduction));\n this.setTimeZone(this.timeZone);\n }\n\n componentWillLoad() {\n this.templates = this.parseTemplates(this.templateData);\n this.images = this.parseLibrary(this.imageLibrary);\n this.files = this.parseLibrary(this.fileLibrary);\n this.setBusinessId(this.businessId);\n this.setShopId(this.shopId);\n this.setAccessToken(this.accessToken);\n this.setIsProduction(this.toBoolean(this.isProduction));\n this.setTimeZone(this.timeZone);\n }\n\n @Watch('languagePref')\n protected handleLanguageChange(newLang: 'th' | 'en') {\n this.applyLanguage(newLang);\n }\n\n @Watch('themeMode')\n protected handleThemeChange(newTheme: 'dark' | 'light') {\n this.applyTheme(newTheme);\n }\n\n @Watch('templateData')\n protected handleTemplateDataChange(newValue?: string | QuickMessageTemplateModel[]) {\n this.templates = this.parseTemplates(newValue);\n }\n\n @Watch('imageLibrary')\n protected handleImageLibraryChange(newValue?: string | QuickMessageLibraryFile[]) {\n this.images = this.parseLibrary(newValue);\n }\n\n @Watch('fileLibrary')\n protected handleFileLibraryChange(newValue?: string | QuickMessageLibraryFile[]) {\n this.files = this.parseLibrary(newValue);\n }\n\n @Watch('businessId')\n protected handleBusinessIdChange(newValue?: string) {\n this.setBusinessId(newValue);\n }\n\n @Watch('shopId')\n protected handleShopIdChange(newValue?: string) {\n this.setShopId(newValue);\n }\n\n @Watch('accessToken')\n protected handleAccessTokenChange(newValue?: string) {\n this.setAccessToken(newValue);\n }\n\n @Watch('isProduction')\n protected handleIsProductionChange(newValue?: string | boolean) {\n this.setIsProduction(this.toBoolean(newValue));\n }\n\n @Watch('timeZone')\n protected handleTimeZoneChange(newValue?: string) {\n this.setTimeZone(newValue);\n }\n\n private applyLanguage(lang: 'th' | 'en') {\n if (i18n.language !== lang) {\n i18n.changeLanguage(lang);\n }\n configStore.set('language', lang);\n setDayjsLocale(lang);\n }\n\n private applyTheme(theme: 'dark' | 'light') {\n configStore.set('theme', theme);\n }\n\n private setBusinessId(businessId?: string) {\n configStore.set('businessId', businessId || null);\n }\n\n private setShopId(shopId?: string) {\n configStore.set('shopId', shopId || null);\n }\n\n private setAccessToken(accessToken?: string) {\n configStore.set('accessToken', accessToken || null);\n }\n\n private setIsProduction(isProduction: boolean) {\n configStore.set('isProduction', isProduction);\n }\n\n private setTimeZone(timeZone?: string) {\n if (!timeZone || timeZone === 'null') {\n const resolved = Intl.DateTimeFormat().resolvedOptions().timeZone;\n configStore.set('timeZone', resolved);\n setDayjsTimeZone(resolved);\n return;\n }\n\n configStore.set('timeZone', timeZone);\n setDayjsTimeZone(timeZone);\n }\n\n private toBoolean(value?: string | boolean): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'string') {\n return value.toLowerCase() === 'true';\n }\n\n return false;\n }\n\n private parseTemplates(value?: string | QuickMessageTemplateModel[]): QuickMessageTemplateModel[] {\n if (!value) {\n return [];\n }\n\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value) as QuickMessageTemplateModel[];\n return this.cloneTemplates(parsed);\n } catch (error: unknown) {\n console.warn('[quick-message-app] Failed to parse template data', error);\n return [];\n }\n }\n\n return this.cloneTemplates(value);\n }\n\n private parseLibrary(value?: string | QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n if (!value) {\n return [];\n }\n\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value) as QuickMessageLibraryFile[];\n return this.cloneLibrary(parsed);\n } catch (error: unknown) {\n console.warn('[quick-message-app] Failed to parse library data', error);\n return [];\n }\n }\n\n return this.cloneLibrary(value);\n }\n\n private cloneTemplates(templates: QuickMessageTemplateModel[]): QuickMessageTemplateModel[] {\n return (templates || []).map(template => {\n const rawContents = template.contents || [];\n\n const normalizedContents = rawContents.map(content => {\n const rawMenuList = content.menu_list || [];\n const menuList = rawMenuList.map(menu => ({\n ...menu,\n buttons: (menu.buttons || []).map(button => ({ ...button })),\n }));\n\n return {\n ...content,\n buttons: (content.buttons || []).map(button => ({ ...button })),\n menu_list: menuList,\n menuList,\n };\n });\n\n return {\n ...template,\n content: normalizedContents,\n };\n });\n }\n\n private cloneLibrary(library: QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n return (library || []).map(item => ({\n ...item,\n isSelected: item.isSelected ?? false,\n }));\n }\n\n private handleTemplatesChange(event: CustomEvent<QuickMessageTemplateModel[]>) {\n const next = this.cloneTemplates(event.detail || []);\n this.templates = next;\n this.templatesChange.emit(next);\n }\n\n private handleImagesChange(event: CustomEvent<QuickMessageLibraryFile[]>) {\n const next = this.cloneLibrary(event.detail || []);\n this.images = next;\n this.imagesChange.emit(next);\n }\n\n private handleFilesChange(event: CustomEvent<QuickMessageLibraryFile[]>) {\n const next = this.cloneLibrary(event.detail || []);\n this.files = next;\n this.filesChange.emit(next);\n }\n\n private setActiveTab(tab: 'template' | 'image' | 'file') {\n this.activeTab = tab;\n }\n\n render() {\n const t = useTranslation();\n const theme = configStore.get('theme');\n\n return (\n <Host class={`quick-message-app__host z-background-${theme} z-text-${theme}`}>\n <div class=\"quick-message-app__shell px-4\">\n <header class=\"quick-message-app__header\">\n <div class=\"quick-message-app__header-text\">\n <h1>{t('quick_message.title')}</h1>\n </div>\n </header>\n\n <nav class=\"quick-message-app__tabs text-sm\">\n <button type=\"button\" class={this.activeTab === 'template' ? 'active' : ''} onClick={() => this.setActiveTab('template')}>\n {t('quick_message.tab_template')}\n </button>\n <button type=\"button\" class={this.activeTab === 'image' ? 'active' : ''} onClick={() => this.setActiveTab('image')}>\n {t('image')}\n </button>\n <button type=\"button\" class={this.activeTab === 'file' ? 'active' : ''} onClick={() => this.setActiveTab('file')}>\n {t('file')}\n </button>\n </nav>\n\n <section class=\"quick-message-app__content\">\n {this.activeTab === 'template' && <quick-message-template value={this.templates} onTemplatesChange={event => this.handleTemplatesChange(event)} isMaster={true} />}\n {this.activeTab === 'image' && <quick-message-image value={this.images} onImagesChange={event => this.handleImagesChange(event)} isMaster={true} />}\n {this.activeTab === 'file' && <quick-message-file value={this.files} onFilesChange={event => this.handleFilesChange(event)} isMaster={true} />}\n </section>\n </div>\n <z-dialog />\n </Host>\n );\n }\n}\n"],"names":["i18n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quick-message-app.entry.esm.js","sources":["src/components/quick-message-app/quick-message-app.css?tag=quick-message-app","src/components/quick-message-app/quick-message-app.tsx"],"sourcesContent":[":host,\n.quick-message-app__host {\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-columns: 1fr;\n width: 100%;\n min-height: var(--quick-message-app-min-height, calc(100vh - 120px));\n max-height: var(--quick-message-app-max-height, calc(100vh - 120px));\n overflow: hidden;\n}\n\n.quick-message-app__shell {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n height: 100%;\n overflow: hidden;\n box-sizing: border-box;\n min-height: var(--quick-message-app-min-height, calc(100vh - 120px));\n max-height: var(--quick-message-app-max-height, calc(100vh - 120px));\n --quick-app-primary: var(--color-primary);\n --quick-modal-surface: var(--color-background);\n --quick-modal-primary: var(--quick-app-primary);\n --quick-modal-primary-soft: color-mix(in srgb, var(--quick-modal-primary) 14%, transparent);\n --quick-modal-primary-border: color-mix(in srgb, var(--quick-modal-primary) 55%, transparent);\n --quick-modal-primary-shadow: color-mix(in srgb, var(--quick-modal-primary) 22%, transparent);\n --quick-modal-primary-ghost: color-mix(in srgb, var(--quick-modal-primary) 18%, var(--quick-modal-surface));\n}\n\n.quick-message-app__host.z-background-dark .quick-message-app__shell {\n --quick-app-primary: var(--color-primary-dark);\n --quick-modal-surface: var(--color-background-dark);\n}\n\n.quick-message-app__header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.quick-message-app__header-text h1 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n}\n\n.quick-message-app__header-text p {\n margin: 4px 0 0;\n font-size: 14px;\n opacity: 0.7;\n}\n\n.quick-message-app__stats {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n font-size: 12px;\n opacity: 0.8;\n}\n\n.quick-message-app__tabs {\n display: flex;\n gap: 12px;\n border-bottom: 1px solid rgba(148, 163, 184, 0.35);\n padding-bottom: 8px;\n}\n\n.quick-message-app__tabs button {\n background: transparent;\n border: none;\n padding: 8px 20px;\n border-radius: 9999px;\n font-weight: 600;\n cursor: pointer;\n color: inherit;\n opacity: 0.7;\n transition:\n background 0.2s ease,\n opacity 0.2s ease;\n}\n\n.quick-message-app__tabs button.active {\n background: color-mix(in srgb, var(--quick-app-primary) 14%, transparent);\n color: var(--quick-app-primary);\n opacity: 1;\n}\n\n.quick-message-app__content {\n flex: 1;\n min-height: 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.quick-message-app__content quick-message-template,\n.quick-message-app__content quick-message-image,\n.quick-message-app__content quick-message-file {\n flex: 1;\n min-height: 0;\n min-width: 0;\n}\n\n@media (min-width: 768px) {\n .quick-message-app__header {\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n }\n\n .quick-message-app__header-text {\n max-width: 480px;\n }\n}\n\n@media (max-width: 640px) {\n .quick-message-app__shell {\n padding: 16px;\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport i18n from '../../global/i18n';\nimport { configStore } from '../../store/store';\nimport { QuickMessageLibraryFile, QuickMessageTemplate as QuickMessageTemplateModel } from '../../store/type';\nimport { setDayjsLocale, setDayjsTimeZone } from '../../utils/dayjs';\nimport { useTranslation } from '../../utils/utils';\n\n@Component({\n tag: 'quick-message-app',\n styleUrl: 'quick-message-app.css',\n})\nexport class QuickMessageAppComponent {\n @Prop() languagePref: 'th' | 'en' = 'en';\n @Prop() themeMode: 'dark' | 'light' = 'light';\n @Prop() templateData?: string | QuickMessageTemplateModel[];\n @Prop() imageLibrary?: string | QuickMessageLibraryFile[];\n @Prop() fileLibrary?: string | QuickMessageLibraryFile[];\n @Prop() businessId?: string;\n @Prop() shopId?: string;\n @Prop() accessToken?: string;\n @Prop() isProduction?: string | boolean;\n @Prop() timeZone?: string;\n\n @State() private activeTab: 'template' | 'image' | 'file' = 'template';\n @State() private templates: QuickMessageTemplateModel[] = [];\n @State() private images: QuickMessageLibraryFile[] = [];\n @State() private files: QuickMessageLibraryFile[] = [];\n\n @Event({ bubbles: true, composed: true }) templatesChange!: EventEmitter<QuickMessageTemplateModel[]>;\n @Event({ bubbles: true, composed: true }) imagesChange!: EventEmitter<QuickMessageLibraryFile[]>;\n @Event({ bubbles: true, composed: true }) filesChange!: EventEmitter<QuickMessageLibraryFile[]>;\n\n connectedCallback() {\n this.applyLanguage(this.languagePref);\n this.applyTheme(this.themeMode);\n this.setBusinessId(this.businessId);\n this.setShopId(this.shopId);\n this.setAccessToken(this.accessToken);\n this.setIsProduction(this.toBoolean(this.isProduction));\n this.setTimeZone(this.timeZone);\n }\n\n componentWillLoad() {\n this.templates = this.parseTemplates(this.templateData);\n this.images = this.parseLibrary(this.imageLibrary);\n this.files = this.parseLibrary(this.fileLibrary);\n this.setBusinessId(this.businessId);\n this.setShopId(this.shopId);\n this.setAccessToken(this.accessToken);\n this.setIsProduction(this.toBoolean(this.isProduction));\n this.setTimeZone(this.timeZone);\n }\n\n @Watch('languagePref')\n protected handleLanguageChange(newLang: 'th' | 'en') {\n this.applyLanguage(newLang);\n }\n\n @Watch('themeMode')\n protected handleThemeChange(newTheme: 'dark' | 'light') {\n this.applyTheme(newTheme);\n }\n\n @Watch('templateData')\n protected handleTemplateDataChange(newValue?: string | QuickMessageTemplateModel[]) {\n this.templates = this.parseTemplates(newValue);\n }\n\n @Watch('imageLibrary')\n protected handleImageLibraryChange(newValue?: string | QuickMessageLibraryFile[]) {\n this.images = this.parseLibrary(newValue);\n }\n\n @Watch('fileLibrary')\n protected handleFileLibraryChange(newValue?: string | QuickMessageLibraryFile[]) {\n this.files = this.parseLibrary(newValue);\n }\n\n @Watch('businessId')\n protected handleBusinessIdChange(newValue?: string) {\n this.setBusinessId(newValue);\n }\n\n @Watch('shopId')\n protected handleShopIdChange(newValue?: string) {\n this.setShopId(newValue);\n }\n\n @Watch('accessToken')\n protected handleAccessTokenChange(newValue?: string) {\n this.setAccessToken(newValue);\n }\n\n @Watch('isProduction')\n protected handleIsProductionChange(newValue?: string | boolean) {\n this.setIsProduction(this.toBoolean(newValue));\n }\n\n @Watch('timeZone')\n protected handleTimeZoneChange(newValue?: string) {\n this.setTimeZone(newValue);\n }\n\n private applyLanguage(lang: 'th' | 'en') {\n if (i18n.language !== lang) {\n i18n.changeLanguage(lang);\n }\n configStore.set('language', lang);\n setDayjsLocale(lang);\n }\n\n private applyTheme(theme: 'dark' | 'light') {\n configStore.set('theme', theme);\n }\n\n private setBusinessId(businessId?: string) {\n configStore.set('businessId', businessId || null);\n }\n\n private setShopId(shopId?: string) {\n configStore.set('shopId', shopId || null);\n }\n\n private setAccessToken(accessToken?: string) {\n configStore.set('accessToken', accessToken || null);\n }\n\n private setIsProduction(isProduction: boolean) {\n configStore.set('isProduction', isProduction);\n }\n\n private setTimeZone(timeZone?: string) {\n if (!timeZone || timeZone === 'null') {\n const resolved = Intl.DateTimeFormat().resolvedOptions().timeZone;\n configStore.set('timeZone', resolved);\n setDayjsTimeZone(resolved);\n return;\n }\n\n configStore.set('timeZone', timeZone);\n setDayjsTimeZone(timeZone);\n }\n\n private toBoolean(value?: string | boolean): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'string') {\n return value.toLowerCase() === 'true';\n }\n\n return false;\n }\n\n private parseTemplates(value?: string | QuickMessageTemplateModel[]): QuickMessageTemplateModel[] {\n if (!value) {\n return [];\n }\n\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value) as QuickMessageTemplateModel[];\n return this.cloneTemplates(parsed);\n } catch (error: unknown) {\n console.warn('[quick-message-app] Failed to parse template data', error);\n return [];\n }\n }\n\n return this.cloneTemplates(value);\n }\n\n private parseLibrary(value?: string | QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n if (!value) {\n return [];\n }\n\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value) as QuickMessageLibraryFile[];\n return this.cloneLibrary(parsed);\n } catch (error: unknown) {\n console.warn('[quick-message-app] Failed to parse library data', error);\n return [];\n }\n }\n\n return this.cloneLibrary(value);\n }\n\n private cloneTemplates(templates: QuickMessageTemplateModel[]): QuickMessageTemplateModel[] {\n return (templates || []).map(template => {\n const rawContents = template.contents || [];\n\n const normalizedContents = rawContents.map(content => {\n const rawMenuList = content.menu_list || [];\n const menuList = rawMenuList.map(menu => ({\n ...menu,\n buttons: (menu.buttons || []).map(button => ({ ...button })),\n }));\n\n return {\n ...content,\n buttons: (content.buttons || []).map(button => ({ ...button })),\n menu_list: menuList,\n menuList,\n };\n });\n\n return {\n ...template,\n content: normalizedContents,\n };\n });\n }\n\n private cloneLibrary(library: QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n return (library || []).map(item => ({\n ...item,\n isSelected: item.isSelected ?? false,\n }));\n }\n\n private handleTemplatesChange(event: CustomEvent<QuickMessageTemplateModel[]>) {\n const next = this.cloneTemplates(event.detail || []);\n this.templates = next;\n this.templatesChange.emit(next);\n }\n\n private handleImagesChange(event: CustomEvent<QuickMessageLibraryFile[]>) {\n const next = this.cloneLibrary(event.detail || []);\n this.images = next;\n this.imagesChange.emit(next);\n }\n\n private handleFilesChange(event: CustomEvent<QuickMessageLibraryFile[]>) {\n const next = this.cloneLibrary(event.detail || []);\n this.files = next;\n this.filesChange.emit(next);\n }\n\n private setActiveTab(tab: 'template' | 'image' | 'file') {\n this.activeTab = tab;\n }\n\n render() {\n const t = useTranslation();\n const theme = configStore.get('theme');\n\n return (\n <Host class={`quick-message-app__host z-background-${theme} z-text-${theme}`}>\n <div class=\"quick-message-app__shell px-4\">\n <header class=\"quick-message-app__header\">\n <div class=\"quick-message-app__header-text\">\n <h1>{t('quick_message.title')}</h1>\n </div>\n </header>\n\n <nav class=\"quick-message-app__tabs text-sm\">\n <button type=\"button\" class={this.activeTab === 'template' ? 'active' : ''} onClick={() => this.setActiveTab('template')}>\n {t('quick_message.tab_template')}\n </button>\n <button type=\"button\" class={this.activeTab === 'image' ? 'active' : ''} onClick={() => this.setActiveTab('image')}>\n {t('image')}\n </button>\n <button type=\"button\" class={this.activeTab === 'file' ? 'active' : ''} onClick={() => this.setActiveTab('file')}>\n {t('file')}\n </button>\n </nav>\n\n <section class=\"quick-message-app__content\">\n {this.activeTab === 'template' && <quick-message-template value={this.templates} onTemplatesChange={event => this.handleTemplatesChange(event)} isMaster={true} />}\n {this.activeTab === 'image' && <quick-message-image value={this.images} onImagesChange={event => this.handleImagesChange(event)} isMaster={true} />}\n {this.activeTab === 'file' && <quick-message-file value={this.files} onFilesChange={event => this.handleFilesChange(event)} isMaster={true} />}\n </section>\n </div>\n <z-dialog />\n </Host>\n );\n }\n}\n"],"names":["i18n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,b as a}from"./p-DjdYK_gt.js";export{s as setNonce}from"./p-DjdYK_gt.js";import{g as t}from"./p-DQuL1Twl.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await t();return a([["p-
|
|
1
|
+
import{p as e,b as a}from"./p-DjdYK_gt.js";export{s as setNonce}from"./p-DjdYK_gt.js";import{g as t}from"./p-DQuL1Twl.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await t();return a([["p-548e9d88",[[256,"chat-app",{languagePref:[1,"language-pref"],themeMode:[1,"theme-mode"],businessId:[1,"business-id"],shopId:[1,"shop-id"],accessToken:[1,"access-token"],isProduction:[1,"is-production"],timeZone:[1,"time-zone"],translationSettings:[16,"translation-settings"],isNotConnected:[1,"is-not-connected"],connectionList:[16,"connection-list"],memberList:[16,"member-list"],nextKey:[32],isLoading:[32]},[[0,"click","handleClick"]],{languagePref:["handleLanguageChange"],themeMode:["handleThemeChange"],businessId:["handleBusinessIdChange"],shopId:["handleShopIdChange"],accessToken:["handleAccessTokenChange"],isProduction:["handleIsProductionChange"],timeZone:["handleTimeZoneChange"],translationSettings:["handleTranslationSettingsChange"],isNotConnected:["handleIsNotConnectedChange"],connectionList:["handleConnectionListChange"],memberList:["handleMemberListChange"]},null,{translationSettings:["deserializeTranslateSettingsArray"],connectionList:["deserializeTConnectionArray"],memberList:["deserializeChannelMemberArray"]}],[256,"message-box",{isInitial:[32],isLoadingTop:[32],isLoadingBottom:[32],isAtBottom:[32],replyTokenInfo:[32],showReplyTokenBanner:[32],visibleRange:[32]},[[0,"click","handleClick"]]],[256,"profile-tabs",{active:[32]}],[256,"search-box",{query:[32],showDialog:[32],isUnRead:[32],filterSet:[32]}],[256,"channel-box",{nextKey:[32],isLoading:[32]}],[256,"chat-input",{value:[32],originalText:[32],images:[32],isLoading:[32],isFileLoading:[32],isImageLoading:[32],isTranslated:[32],isTranslateLoading:[32],showQuickMessageModal:[32],isQuickMessageLoading:[32]},[[16,"focusRequested","onFocusRequested"]]],[260,"profile-info",{isLoading:[32],isEditStatus:[32],statusId:[32],isEditTag:[32],isAddTag:[32],isMerge:[32],isOpenDrawer:[32],tempDrawerUser:[32],mergeIndex:[32],tempUser:[32],activeTabIndex:[32],tagItems:[32],showDialog:[32],matchUsers:[32],associatedUsers:[32],isEditContext:[32],context:[32],isEditSummarizeMessage:[32],summarizeMessageItems:[32]}],[256,"message-item",{item:[16],replyMessage:[32],isLoading:[32]}],[256,"chat-header",{isPinLoading:[32],isSpamLoading:[32],isReadLoading:[32],isPin:[32],isSpam:[32],isUnRead:[32]}],[256,"profile-history",{isLoading:[32],logs:[32]}],[256,"tag-list",{tags:[16],chatId:[1,"chat-id"],referenceSelector:[1,"reference-selector"],visibleCount:[32]}],[256,"dialog-search",{oldFilter:[16],filter:[32]}],[256,"menu-chat-channel",{referenceSelector:[1,"reference-selector"],isOpen:[32],selected:[32]}],[256,"menu-chat-type",{referenceSelector:[1,"reference-selector"],isOpen:[32],selectedItem:[32]}],[256,"profile-media"],[256,"z-dialog"],[256,"quick-message-modal",{activeTab:[32],templates:[32],images:[32],files:[32]}],[256,"user-info-section",{user:[16],readOnly:[4,"read-only"],isEditStatus:[4,"is-edit-status"],statusId:[1,"status-id"],showDialogBill:[32],isSyncUserLoading:[32]}],[256,"message-content",{item:[16],isReply:[4,"is-reply"],seeTranslate:[32],isClamped:[32],showMore:[32]}],[256,"dialog-editor",{dialogType:[1,"dialog-type"],label:[1],field:[1],value:[1],allowEmpty:[4,"allow-empty"],data:[32],error:[32]}],[256,"autocomplete-multiple-select",{fetchItems:[16],selectedIds:[16],referenceSelector:[1,"reference-selector"],allItems:[32],filteredItems:[32],inputValue:[32],showDropdown:[32],loading:[32]}],[256,"checkbox-list",{itemList:[16],selected:[16]}],[260,"summarize-message-section",{user:[16],readOnly:[4,"read-only"],activeTabIndex:[2,"active-tab-index"],isEditSummarizeMessage:[4,"is-edit-summarize-message"],summarizeMessageItems:[16],items:[32]}],[256,"tag-popper",{tags:[16],referenceSelector:[1,"reference-selector"],isOpen:[32]}],[256,"message-media",{item:[16],messageMediaUrl:[32],showDialog:[32],hasError:[32]}],[256,"autocomplete-address",{field:[1],value:[1],selectedValue:[1,"selected-value"],placeholder:[1],referenceSelector:[1,"reference-selector"],allItems:[32],showDropdown:[32],isLoading:[32]}],[256,"autocomplete-select",{type:[1],value:[1],fetchItems:[16],createItem:[16],selectedIds:[16],referenceSelector:[1,"reference-selector"],allItems:[32],filteredItems:[32],inputValue:[32],showDropdown:[32],loading:[32]}],[256,"dialog-bill-editor",{data:[32],error:[32]}],[256,"status-badge",{status:[1],label:[1],padding:[1],borderWidth:[2,"border-width"],radius:[2],color:[1]}],[256,"quick-message-template",{handleClose:[16],value:[1],isMaster:[4,"is-master"],searchTemplate:[32],templates:[32],showAddTemplateDialog:[32],editingTemplate:[32],dialogMode:[32],isLoading:[32],isLoadingMore:[32],isSavingTemplate:[32],deletingTemplateId:[32],templatePendingDelete:[32],totalTemplates:[32],totalPages:[32]},null,{value:["handleValueChange"]}],[256,"dialog-preview-media",{dialogType:[1,"dialog-type"],url:[1],hasError:[32]}],[256,"quick-message-file",{handleClose:[16],value:[1],isMaster:[4,"is-master"],searchFile:[32],files:[32],isLoading:[32],isLoadingMore:[32],isUploading:[32],isDeleting:[32],totalFiles:[32],totalPages:[32],renameTargetId:[32],renameName:[32],renameExtension:[32],isRenaming:[32],openMenuId:[32]},[[4,"click","handleDocumentClick"]],{value:["handleValueChange"]}],[256,"quick-message-image",{handleClose:[16],value:[1],isMaster:[4,"is-master"],searchImage:[32],images:[32],imageDisplayMode:[32],isLoading:[32],isLoadingMore:[32],isUploading:[32],isDeleting:[32],totalImages:[32],totalPages:[32],renameTargetId:[32],renameName:[32],renameExtension:[32],isRenaming:[32],openMenuId:[32]},[[4,"click","handleDocumentClick"]],{value:["handleValueChange"]}],[256,"typography-clamp",{text:[1],textColor:[1,"text-color"],lines:[2],showMore:[32],isClamped:[32]},null,{text:["onTextChange"],lines:["onLinesChange"]}],[256,"quick-message-add-template",{handleClose:[16],handleSave:[16],handleSend:[16],initialTemplate:[16],mode:[1],isSaving:[4,"is-saving"],draftTemplate:[32]},null,{initialTemplate:["handleInitialTemplateChange"]}],[256,"menu-list",{menuItems:[16],position:[1],referenceSelector:[1,"reference-selector"],iconName:[1,"icon-name"],buttonTitle:[1,"button-title"],variant:[1],noPaddingY:[4,"no-padding-y"],isOpen:[32]}],[256,"tag-or-status-item",{chatId:[1,"chat-id"],item:[16],expandText:[4,"expand-text"],isOpen:[32]}],[256,"quick-message-button-content",{content:[16],maxLength:[2,"max-length"],maxButtonCount:[2,"max-button-count"],maxButtonNameLength:[2,"max-button-name-length"],placeholder:[1],isShowCreateButtonDialog:[32],createButtonLabel:[32],createButtonAction:[32],createButtonType:[32],editingButtonId:[32]}],[256,"quick-message-image-content",{content:[16],maxFileSize:[2,"max-file-size"],errorMessage:[32]}],[256,"quick-message-menu-list-content",{content:[16],maxMenuList:[2,"max-menu-list"],maxFileSize:[2,"max-file-size"],maxTitleLength:[2,"max-title-length"],maxDescriptionLength:[2,"max-description-length"],maxButtonCount:[2,"max-button-count"],maxButtonNameLength:[2,"max-button-name-length"],isButtonDialogOpen:[32],buttonDialogMenuId:[32],buttonDialogLabel:[32],buttonDialogAction:[32],buttonDialogType:[32],editingButtonId:[32],menuErrors:[32]}],[256,"quick-message-text-content",{content:[16],maxLength:[2,"max-length"],placeholder:[1]}],[256,"quick-message-video-content",{content:[16],videoUrl:[32],isDialogOpen:[32],errorMessage:[32]}],[256,"z-avatar",{pictureUrl:[1,"picture-url"],size:[1],isNotRound:[4,"is-not-round"],hasError:[32]},null,{pictureUrl:["watchPictureUrl"]}]]],["p-1a660578",[[256,"quick-message-app",{languagePref:[1,"language-pref"],themeMode:[1,"theme-mode"],templateData:[1,"template-data"],imageLibrary:[1,"image-library"],fileLibrary:[1,"file-library"],businessId:[1,"business-id"],shopId:[1,"shop-id"],accessToken:[1,"access-token"],isProduction:[8,"is-production"],timeZone:[1,"time-zone"],activeTab:[32],templates:[32],images:[32],files:[32]},null,{languagePref:["handleLanguageChange"],themeMode:["handleThemeChange"],templateData:["handleTemplateDataChange"],imageLibrary:["handleImageLibraryChange"],fileLibrary:["handleFileLibraryChange"],businessId:["handleBusinessIdChange"],shopId:["handleShopIdChange"],accessToken:["handleAccessTokenChange"],isProduction:["handleIsProductionChange"],timeZone:["handleTimeZoneChange"]}]]]],e)}));
|
|
2
2
|
//# sourceMappingURL=zignal-stencil-library.esm.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zignal-stencil-library",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.114",
|
|
4
4
|
"description": "Zignal web component library",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -56,10 +56,12 @@
|
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@stencil/core": "^4.27.1",
|
|
58
58
|
"@stencil/react-output-target": "^1.2.0",
|
|
59
|
+
"@stencil/store": "^2.2.1",
|
|
59
60
|
"@stencil/vue-output-target": "^0.11.8",
|
|
60
61
|
"@tailwindcss/forms": "^0.5.10",
|
|
61
62
|
"@tailwindcss/postcss": "^4.1.11",
|
|
62
63
|
"@types/lodash": "^4.17.20",
|
|
64
|
+
"@types/node": "^24.9.1",
|
|
63
65
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
64
66
|
"@typescript-eslint/parser": "^6.21.0",
|
|
65
67
|
"eslint": "^8.57.0",
|
|
@@ -73,8 +75,6 @@
|
|
|
73
75
|
"license": "MIT",
|
|
74
76
|
"dependencies": {
|
|
75
77
|
"@floating-ui/dom": "^1.7.3",
|
|
76
|
-
"@stencil/store": "^2.1.3",
|
|
77
|
-
"@types/node": "^24.0.13",
|
|
78
78
|
"axios": "^1.11.0",
|
|
79
79
|
"dayjs": "^1.11.13",
|
|
80
80
|
"dotenv": "^17.2.2",
|