zignal-stencil-library 1.1.112 → 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-BlPbmOUJ.js → p--m50OaqR.js} +11 -11
- package/dist/components/{p-BlPbmOUJ.js.map → p--m50OaqR.js.map} +1 -1
- package/dist/components/{p-Dtzhm5Pa.js → p-3t2ULKvn.js} +5 -5
- package/dist/components/{p-Dtzhm5Pa.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-C4fbtLks.js → p-B-DQMSNH.js} +3 -3
- package/dist/components/{p-C4fbtLks.js.map → p-B-DQMSNH.js.map} +1 -1
- package/dist/components/{p-Bt-g4GxB.js → p-B2u057C4.js} +3 -3
- package/dist/components/{p-Bt-g4GxB.js.map → p-B2u057C4.js.map} +1 -1
- package/dist/components/{p-odaejdwA.js → p-BBzb0UrZ.js} +13 -13
- package/dist/components/{p-odaejdwA.js.map → p-BBzb0UrZ.js.map} +1 -1
- package/dist/components/{p-CiMfB3dP.js → p-BLI0eD_8.js} +3 -3
- package/dist/components/{p-CiMfB3dP.js.map → p-BLI0eD_8.js.map} +1 -1
- package/dist/components/{p-DUHqYYmX.js → p-BNiehTz-.js} +8 -8
- package/dist/components/{p-DUHqYYmX.js.map → p-BNiehTz-.js.map} +1 -1
- package/dist/components/{p-L97C6UYO.js → p-BQmnx9-0.js} +3 -3
- package/dist/components/{p-L97C6UYO.js.map → p-BQmnx9-0.js.map} +1 -1
- package/dist/components/{p-DFb_40q7.js → p-Bbm_pPzb.js} +4 -4
- package/dist/components/{p-DFb_40q7.js.map → p-Bbm_pPzb.js.map} +1 -1
- package/dist/components/{p-DJ2KkdwP.js → p-BnxxvUCy.js} +5 -5
- package/dist/components/{p-DJ2KkdwP.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-BLQ37Esu.js → p-BypBSjsX.js} +5 -5
- package/dist/components/{p-BLQ37Esu.js.map → p-BypBSjsX.js.map} +1 -1
- package/dist/components/{p-DtADJshZ.js → p-CI0T9mG3.js} +3 -3
- package/dist/components/{p-DtADJshZ.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-KedgTCA1.js → p-CcNDN7nL.js} +4 -4
- package/dist/components/{p-KedgTCA1.js.map → p-CcNDN7nL.js.map} +1 -1
- package/dist/components/{p-BpgguOkG.js → p-CeCnJD_t.js} +3 -3
- package/dist/components/{p-BpgguOkG.js.map → p-CeCnJD_t.js.map} +1 -1
- package/dist/components/{p-Bc8NC50u.js → p-Ch0k98MI.js} +8 -8
- package/dist/components/{p-Bc8NC50u.js.map → p-Ch0k98MI.js.map} +1 -1
- package/dist/components/{p-DkfO3Url.js → p-Cr_TwfMc.js} +3 -3
- package/dist/components/{p-DkfO3Url.js.map → p-Cr_TwfMc.js.map} +1 -1
- package/dist/components/{p-HxECzi7b.js → p-CsRXWqtl.js} +7 -7
- package/dist/components/{p-HxECzi7b.js.map → p-CsRXWqtl.js.map} +1 -1
- package/dist/components/{p-C5i_qaws.js → p-DEGiGqSE.js} +5 -5
- package/dist/components/{p-C5i_qaws.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-CZnSKQhh.js → p-DIaQ5vRT.js} +3 -3
- package/dist/components/{p-CZnSKQhh.js.map → p-DIaQ5vRT.js.map} +1 -1
- package/dist/components/{p-DdQFGe5w.js → p-DQ8HPG_K.js} +11 -11
- package/dist/components/{p-DdQFGe5w.js.map → p-DQ8HPG_K.js.map} +1 -1
- package/dist/components/{p-C_gF8T8r.js → p-DTU4M_6s.js} +8 -8
- package/dist/components/{p-C_gF8T8r.js.map → p-DTU4M_6s.js.map} +1 -1
- package/dist/components/{p-BB1RB9Dr.js → p-DTxusuTj.js} +3 -3
- package/dist/components/{p-BB1RB9Dr.js.map → p-DTxusuTj.js.map} +1 -1
- package/dist/components/{p-2QReMzO8.js → p-DUEwD6QB.js} +6 -6
- package/dist/components/{p-2QReMzO8.js.map → p-DUEwD6QB.js.map} +1 -1
- package/dist/components/{p-CS9zOcMw.js → p-DXJv_Q_2.js} +4 -4
- package/dist/components/{p-CS9zOcMw.js.map → p-DXJv_Q_2.js.map} +1 -1
- package/dist/components/{p-Bvoo3LWo.js → p-DYCfNJWj.js} +5 -5
- package/dist/components/{p-Bvoo3LWo.js.map → p-DYCfNJWj.js.map} +1 -1
- package/dist/components/{p-sa3XE9PE.js → p-DaCqDkRK.js} +17 -17
- package/dist/components/{p-sa3XE9PE.js.map → p-DaCqDkRK.js.map} +1 -1
- package/dist/components/{p-DD6xErUJ.js → p-DaIrHgbG.js} +17 -17
- package/dist/components/{p-DD6xErUJ.js.map → p-DaIrHgbG.js.map} +1 -1
- package/dist/components/{p-BLnHiJOJ.js → p-DaxSdUIk.js} +3 -3
- package/dist/components/{p-BLnHiJOJ.js.map → p-DaxSdUIk.js.map} +1 -1
- package/dist/components/{p-CqgrsdCk.js → p-DkisMbeq.js} +3 -3
- package/dist/components/{p-CqgrsdCk.js.map → p-DkisMbeq.js.map} +1 -1
- package/dist/components/{p-BQHu9-yW.js → p-DmwNXkXf.js} +3 -3
- package/dist/components/{p-BQHu9-yW.js.map → p-DmwNXkXf.js.map} +1 -1
- package/dist/components/{p-CO0rmAnj.js → p-DoZmi5ih.js} +3 -3
- package/dist/components/{p-CO0rmAnj.js.map → p-DoZmi5ih.js.map} +1 -1
- package/dist/components/{p-DIX7oTZv.js → p-Donkg0LL.js} +3 -3
- package/dist/components/{p-DIX7oTZv.js.map → p-Donkg0LL.js.map} +1 -1
- package/dist/components/{p-CRUuP7NU.js → p-Dp3EHSUO.js} +3 -3
- package/dist/components/{p-CRUuP7NU.js.map → p-Dp3EHSUO.js.map} +1 -1
- package/dist/components/{p-DakbQEWw.js → p-DpdkqWPQ.js} +20 -20
- package/dist/components/{p-DakbQEWw.js.map → p-DpdkqWPQ.js.map} +1 -1
- package/dist/components/{p-Cbmk_g-R.js → p-DyatyKQQ.js} +3 -3
- package/dist/components/{p-Cbmk_g-R.js.map → p-DyatyKQQ.js.map} +1 -1
- package/dist/components/{p-BdEkTr1V.js → p-Fr7xN81m.js} +9 -9
- package/dist/components/{p-BdEkTr1V.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-DXwuZde7.js → p-aEvNkqAt.js} +5 -5
- package/dist/components/{p-DXwuZde7.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-4b0cf474.entry.js.map → p-1a660578.entry.js.map} +1 -1
- package/dist/zignal-stencil-library/{p-2fcff9fe.entry.js → p-548e9d88.entry.js} +3 -3
- 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/zignal-stencil-library/p-2fcff9fe.entry.js.map +0 -1
- package/dist/zignal-stencil-library/p-4b0cf474.entry.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-BLQ37Esu.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","showErrorDialog"],"sources":["src/components/quick-message-image/quick-message-image.css?tag=quick-message-image","src/components/quick-message-image/quick-message-image.tsx"],"sourcesContent":[":host {\n position: relative;\n}\n\n.quick-message-image__action-button,\n.quick-message-image__display-switch {\n border: 1px solid rgba(148, 163, 184, 0.4);\n background: transparent;\n}\n\n.quick-message-image__send {\n background: var(--quick-modal-primary);\n color: #fff;\n border: none;\n}\n\n.quick-message-image__thumbnail {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: 0.75rem;\n overflow: hidden;\n background: rgba(148, 163, 184, 0.12);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.quick-message-image__thumbnail-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.quick-message-image__selection-indicator {\n position: absolute;\n top: 0.4rem;\n left: 0.4rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 0.5rem;\n color: #fff;\n box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);\n pointer-events: none;\n}\n\n.quick-message-image__grid-item {\n position: relative;\n}\n\n.quick-message-image__more-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n border-radius: 9999px;\n background: rgba(15, 23, 42, 0.7);\n color: #fff;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s ease;\n}\n\n.quick-message-image__more-button:hover {\n opacity: 0.85;\n}\n\n.quick-message-image__list-more-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n border-radius: 0.5rem;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n margin-left: auto;\n}\n\n.quick-message-image__list-more-button:hover {\n background: rgba(148, 163, 184, 0.12);\n}\n\n.quick-message-image__menu-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.quick-message-image__menu-wrapper:not(.quick-message-image__menu-wrapper--grid) {\n margin-left: auto;\n}\n\n.quick-message-image__menu-wrapper--grid {\n position: absolute;\n top: 0.4rem;\n right: 0.4rem;\n}\n\n.quick-message-image__menu {\n position: absolute;\n top: calc(100% + 0.35rem);\n right: 0;\n display: flex;\n flex-direction: column;\n min-width: 8rem;\n padding: 0.25rem 0;\n border-radius: 0.75rem;\n border: 1px solid rgba(148, 163, 184, 0.18);\n box-shadow: 0 18px 35px rgba(15, 23, 42, 0.22);\n z-index: 40;\n overflow: hidden;\n}\n\n.quick-message-image__menu--list {\n top: calc(100% + 0.5rem);\n}\n\n.quick-message-image__menu-item {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n gap: 0.5rem;\n padding: 0.5rem 0.9rem;\n border: none;\n background: transparent;\n color: inherit;\n font-size: 0.8125rem;\n line-height: 1.2;\n cursor: pointer;\n text-align: left;\n transition: background-color 0.2s ease;\n}\n\n.quick-message-image__menu-item:hover {\n background: rgba(148, 163, 184, 0.14);\n}\n\n.quick-message-image__menu-item--danger {\n color: #ef4444;\n}\n\n.quick-message-image__menu-item--danger:hover {\n background: rgba(239, 68, 68, 0.12);\n}\n\n.quick-message-image__rename-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(15, 23, 42, 0.45);\n padding: 1.5rem;\n z-index: 20;\n}\n\n.quick-message-image__rename-modal {\n width: 100%;\n max-width: 22rem;\n border-radius: 0.75rem;\n box-shadow: 0 20px 45px rgba(15, 23, 42, 0.25);\n padding: 1.5rem;\n}\n\n.quick-message-image__rename-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n\n.quick-message-image__rename-close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: transparent;\n color: inherit;\n border-radius: 0.5rem;\n padding: 0.25rem;\n cursor: pointer;\n}\n\n.quick-message-image__rename-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.quick-message-image__rename-cancel,\n.quick-message-image__rename-save {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n padding: 0.35rem 0.9rem;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s ease;\n}\n\n.quick-message-image__rename-cancel {\n background: transparent;\n color: inherit;\n border: 1px solid rgba(148, 163, 184, 0.4);\n}\n\n.quick-message-image__rename-save {\n background: var(--quick-modal-primary);\n color: #fff;\n}\n\n.quick-message-image__rename-save:disabled,\n.quick-message-image__rename-cancel:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n\n.quick-message-image__rename-input-row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.35rem 0.75rem;\n border-radius: 0.75rem;\n transition:\n border-color 0.2s ease,\n box-shadow 0.2s ease;\n}\n\n.quick-message-image__rename-input-row:focus-within {\n border-color: var(--quick-modal-primary);\n box-shadow: 0 0 0 1px var(--quick-modal-primary);\n}\n\n.quick-message-image__rename-input {\n flex: 1;\n border: none;\n background: transparent;\n padding: 0.35rem 0;\n font-size: 0.875rem;\n color: inherit;\n}\n\n.quick-message-image__rename-input:focus {\n outline: none;\n}\n\n.quick-message-image__rename-extension {\n font-size: 0.875rem;\n font-weight: 500;\n color: inherit;\n opacity: 0.75;\n white-space: nowrap;\n}\n","import { Component, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport { createQuickMessageLibraryFiles, deleteQuickMessageLibraryFile, getQuickMessageLibraryFiles, updateQuickMessageLibraryFileName } from '../../api/quick-message';\nimport type { QuickMessageLibraryFilePayload } from '../../api/type';\nimport { QuickMessageLibraryFile } from '../../store/type';\nimport { configStore } from '../../store/store';\nimport { useTranslation } from '../../utils/utils';\nimport { Icon } from '../internal-component/icon';\nimport { uploadFile } from '../../utils/upload';\nimport { DIALOG_TYPE, handleError as showErrorDialog, openDialog } from '../../store/dialog';\n\n@Component({\n tag: 'quick-message-image',\n styleUrl: 'quick-message-image.css',\n})\nexport class QuickMessageImageComponent {\n @Prop() handleClose?: () => void;\n @Prop() value?: string | QuickMessageLibraryFile[];\n @Prop() isMaster: boolean = false;\n\n @State() private searchImage = '';\n @State() private images: QuickMessageLibraryFile[] = [];\n @State() private imageDisplayMode: 'grid' | 'list' = 'grid';\n @State() private isLoading = false;\n @State() private isLoadingMore = false;\n @State() private isUploading = false;\n @State() private isDeleting = false;\n @State() private totalImages = 0;\n @State() private totalPages = 0;\n @State() private renameTargetId: string | null = null;\n @State() private renameName = '';\n @State() private renameExtension = '';\n @State() private isRenaming = false;\n @State() private openMenuId: string | null = null;\n\n private readonly pageSize = 15;\n private readonly localUploadPrefix = 'uploaded-image-';\n private page = 1;\n private currentSearch = '';\n\n private fileInput?: HTMLInputElement;\n @Event({ bubbles: true, composed: true }) imagesChange!: EventEmitter<QuickMessageLibraryFile[]>;\n @Event({ bubbles: true, composed: true }) sendImages!: EventEmitter<QuickMessageLibraryFile[]>;\n\n private pendingDeleteImageIds: string[] = [];\n\n // Memoization cache for filtered images\n private cachedFilteredImages: QuickMessageLibraryFile[] | null = null;\n private cachedSearchTerm: string = '';\n private cachedImagesLength: number = 0;\n\n @Listen('click', { target: 'document' })\n protected handleDocumentClick(event: Event) {\n const target = event.target as HTMLElement | null;\n\n if (target?.closest('[data-quick-message-image-menu-root]')) {\n return;\n }\n\n this.openMenuId = null;\n }\n\n componentWillLoad() {\n this.syncImagesFromProp(this.value);\n }\n\n async componentDidLoad() {\n await this.fetchImages({ reset: true });\n }\n\n @Watch('value')\n protected handleValueChange(newValue?: string | QuickMessageLibraryFile[]) {\n this.syncImagesFromProp(newValue);\n }\n\n private syncImagesFromProp(value?: string | QuickMessageLibraryFile[]) {\n if (value === undefined || value === null) {\n this.setImages([], false);\n return;\n }\n\n const parsed = this.parseImagesValue(value);\n this.setImages(parsed, false);\n }\n\n private parseImagesValue(value: string | QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n if (typeof value === 'string') {\n try {\n const deserialized = JSON.parse(value) as QuickMessageLibraryFile[];\n return this.cloneImages(deserialized);\n } catch (error: unknown) {\n console.warn('[quick-message-image] Failed to parse images value', error);\n return [];\n }\n }\n\n return this.cloneImages(value);\n }\n\n private cloneImages(images: QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n return (images || []).map(image => ({\n ...image,\n isSelected: image.isSelected ?? false,\n }));\n }\n\n private setImages(next: QuickMessageLibraryFile[], shouldEmit = true) {\n this.images = next;\n if (shouldEmit) {\n const payload = this.cloneImages(next);\n this.imagesChange.emit(payload);\n }\n }\n\n private isLocalUpload(image: QuickMessageLibraryFile): boolean {\n return image.id.startsWith(this.localUploadPrefix);\n }\n\n private getRemoteImageCount(): number {\n return this.images.filter(image => !this.isLocalUpload(image)).length;\n }\n\n private mergeFetchedImages(fetched: QuickMessageLibraryFile[], reset: boolean): QuickMessageLibraryFile[] {\n const localUploads = this.images.filter(image => this.isLocalUpload(image));\n const selectionMap = new Map(this.images.map(image => [image.id, image.isSelected ?? false]));\n\n const normalizedFetched = fetched.map(image => ({\n ...image,\n isSelected: selectionMap.get(image.id) ?? image.isSelected ?? false,\n }));\n\n if (reset) {\n return [...localUploads, ...normalizedFetched];\n }\n\n const existingRemote = this.images.filter(image => !this.isLocalUpload(image));\n const remoteIndexMap = new Map<string, number>();\n existingRemote.forEach((image, index) => {\n remoteIndexMap.set(image.id, index);\n });\n\n const nextRemote = [...existingRemote];\n normalizedFetched.forEach(image => {\n const existingIndex = remoteIndexMap.get(image.id);\n if (existingIndex !== undefined) {\n nextRemote[existingIndex] = image;\n } else {\n remoteIndexMap.set(image.id, nextRemote.length);\n nextRemote.push(image);\n }\n });\n\n return [...localUploads, ...nextRemote];\n }\n\n /**\n * Memoized image filtering - only recalculates when search term or images change\n * Performance: Reduces operations from 60fps to only when user types\n */\n private filterImages(): QuickMessageLibraryFile[] {\n const search = this.searchImage.trim().toLowerCase();\n\n // Quick return for no search\n if (!search) return this.images;\n\n // Check if we can use cached results\n if (this.cachedFilteredImages && search === this.cachedSearchTerm && this.images.length === this.cachedImagesLength) {\n return this.cachedFilteredImages;\n }\n\n // Recalculate filtered results\n const filtered = this.images.filter(image => image.name.toLowerCase().includes(search));\n\n // Update cache\n this.cachedFilteredImages = filtered;\n this.cachedSearchTerm = search;\n this.cachedImagesLength = this.images.length;\n\n return filtered;\n }\n\n private splitFileName(name: string): { base: string; extension: string } {\n const lastDotIndex = name.lastIndexOf('.');\n if (lastDotIndex <= 0 || lastDotIndex === name.length - 1) {\n return { base: name, extension: '' };\n }\n\n return {\n base: name.slice(0, lastDotIndex),\n extension: name.slice(lastDotIndex),\n };\n }\n\n private getRenameTarget(): QuickMessageLibraryFile | undefined {\n if (!this.renameTargetId) {\n return undefined;\n }\n\n return this.images.find(image => image.id === this.renameTargetId);\n }\n\n private openRenameModal(image: QuickMessageLibraryFile, event?: Event) {\n event?.preventDefault();\n event?.stopPropagation();\n\n const { base, extension } = this.splitFileName(image.name);\n this.renameTargetId = image.id;\n this.renameName = base;\n this.renameExtension = extension;\n }\n\n private closeRenameModal(force = false) {\n if (this.isRenaming && !force) {\n return;\n }\n\n this.renameTargetId = null;\n this.renameName = '';\n this.renameExtension = '';\n }\n\n private toggleMenu(imageId: string, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.openMenuId = this.openMenuId === imageId ? null : imageId;\n }\n\n private closeMenu() {\n this.openMenuId = null;\n }\n\n private handleMenuRename(image: QuickMessageLibraryFile, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.closeMenu();\n this.openRenameModal(image, event);\n }\n\n private requestDeleteImage(image: QuickMessageLibraryFile, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isDeleting) {\n return;\n }\n\n this.pendingDeleteImageIds = [image.id];\n this.closeMenu();\n\n const t = useTranslation();\n\n openDialog({\n open: true,\n type: DIALOG_TYPE.WARNING,\n title: t('quick_message.delete_item_confirmation'),\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: () => {\n void this.confirmDeleteSelectedImages();\n },\n onCloseDialog: () => {\n this.pendingDeleteImageIds = [];\n },\n });\n }\n\n private handleRenameInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n if (this.renameExtension && value.toLowerCase().endsWith(this.renameExtension.toLowerCase())) {\n this.renameName = value.slice(0, -this.renameExtension.length);\n return;\n }\n\n this.renameName = value;\n }\n\n private async handleRenameSubmit(event: Event) {\n event.preventDefault();\n\n const target = this.getRenameTarget();\n\n if (!target) {\n return;\n }\n\n const trimmedBase = this.renameName.trim();\n\n if (!trimmedBase) {\n return;\n }\n\n const nextName = this.renameExtension ? `${trimmedBase}${this.renameExtension}` : trimmedBase;\n\n if (nextName === target.name) {\n this.closeRenameModal(true);\n return;\n }\n\n if (this.isLocalUpload(target)) {\n this.setImages(\n this.images.map(image =>\n image.id === target.id\n ? {\n ...image,\n name: nextName,\n }\n : image,\n ),\n );\n\n this.closeRenameModal(true);\n return;\n }\n\n this.isRenaming = true;\n\n try {\n const updated = await updateQuickMessageLibraryFileName({ id: target.id, name: nextName });\n this.setImages(\n this.images.map(image =>\n image.id === target.id\n ? {\n ...image,\n name: updated.name,\n last_updated_at: updated.last_updated_at,\n last_updated_by: updated.last_updated_by,\n }\n : image,\n ),\n );\n this.closeRenameModal(true);\n } catch (error: unknown) {\n showErrorDialog(error, '[quick-message-image] Failed to rename image');\n } finally {\n this.isRenaming = false;\n }\n }\n\n private toggleImageSelection(id: string) {\n this.setImages(this.images.map(image => (image.id === id ? { ...image, isSelected: !image.isSelected } : image)));\n }\n\n private toggleSelectAllImages() {\n const isAllSelected = this.images.length > 0 && this.images.every(image => image.isSelected);\n this.setImages(this.images.map(image => ({ ...image, isSelected: !isAllSelected })));\n }\n\n private triggerImageUpload() {\n this.fileInput?.click();\n }\n\n private handleImageSelection(event: Event) {\n const input = event.target as HTMLInputElement;\n if (!input.files || input.files.length === 0) return;\n\n const files = Array.from(input.files);\n input.value = '';\n\n void this.uploadAndCreateImages(files);\n }\n\n private async uploadAndCreateImages(files: File[]) {\n if (files.length === 0) {\n return;\n }\n\n this.isUploading = true;\n\n try {\n const payload: QuickMessageLibraryFilePayload[] = [];\n\n for (const file of files) {\n const uploadUrl = await uploadFile({\n file,\n filename: file.name.replaceAll(' ', '-'),\n folder: 'zignal/quick-message-library/image',\n });\n\n if (!uploadUrl) {\n continue;\n }\n\n payload.push({\n file_type: 'image',\n name: file.name,\n url: uploadUrl,\n size: file.size,\n });\n }\n\n if (payload.length > 0) {\n await createQuickMessageLibraryFiles({ files: payload });\n await this.fetchImages({ reset: true });\n }\n } catch (error: unknown) {\n showErrorDialog(error, '[quick-message-image] Failed to upload image');\n } finally {\n this.isUploading = false;\n }\n }\n\n private renderFileMeta(size: number, createdAt: string, t: (key: string, values?: Record<string, string>) => string) {\n const sizeKb = Math.round(size / 1024);\n return `${sizeKb} KB · ${t('quick_message.created_at').replace('{date}', dayjs(createdAt).tz().format('DD/MM/YYYY HH:mm'))}`;\n }\n\n private handleSendImages() {\n const selected = this.images.filter(image => image.isSelected);\n if (selected.length === 0) return;\n const payload = this.cloneImages(selected);\n this.sendImages.emit(payload);\n this.handleClose?.();\n }\n\n private requestDeleteSelectedImages() {\n if (this.isDeleting) {\n return;\n }\n\n const selectedIds = this.images.filter(image => image.isSelected).map(image => image.id);\n\n if (selectedIds.length === 0) {\n return;\n }\n\n this.pendingDeleteImageIds = selectedIds;\n\n const t = useTranslation();\n\n openDialog({\n open: true,\n type: DIALOG_TYPE.WARNING,\n title: t('quick_message.delete_selected_items_confirmation'),\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: () => {\n void this.confirmDeleteSelectedImages();\n },\n onCloseDialog: () => {\n this.pendingDeleteImageIds = [];\n },\n });\n }\n\n private async confirmDeleteSelectedImages() {\n if (this.isDeleting) {\n return;\n }\n\n const pendingIds = [...this.pendingDeleteImageIds];\n this.pendingDeleteImageIds = [];\n\n if (pendingIds.length === 0) {\n return;\n }\n\n const pendingSet = new Set(pendingIds);\n const remoteIds = this.images.filter(image => pendingSet.has(image.id) && !this.isLocalUpload(image)).map(image => image.id);\n\n this.isDeleting = true;\n\n try {\n if (remoteIds.length > 0) {\n await deleteQuickMessageLibraryFile({ ids: remoteIds });\n }\n\n const remaining = this.images.filter(image => !pendingSet.has(image.id));\n this.setImages(remaining);\n\n if (remoteIds.length > 0) {\n this.totalImages = Math.max(0, this.totalImages - remoteIds.length);\n await this.fetchImages({ reset: true });\n }\n } catch (error: unknown) {\n showErrorDialog(error, '[quick-message-image] Failed to delete images');\n } finally {\n this.isDeleting = false;\n }\n }\n\n private async fetchImages({ search, reset = true }: { search?: string; reset?: boolean } = {}) {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n\n if (!businessId || !shopId) {\n return;\n }\n\n if (reset ? this.isLoading : this.isLoadingMore) {\n return;\n }\n\n const searchSource = search !== undefined ? search : reset ? this.searchImage : this.currentSearch;\n const trimmedSearch = searchSource?.trim() ?? '';\n const nextPage = reset ? 1 : this.page + 1;\n\n if (search !== undefined) {\n this.searchImage = searchSource ?? '';\n }\n\n if (reset) {\n this.isLoading = true;\n } else {\n this.isLoadingMore = true;\n }\n\n try {\n const response = await getQuickMessageLibraryFiles({\n fileType: 'image',\n search: trimmedSearch ? trimmedSearch : undefined,\n page: nextPage,\n limit: this.pageSize,\n });\n\n const fetched = this.cloneImages(response.files || []);\n const merged = this.mergeFetchedImages(fetched, reset);\n\n this.page = response.page > 0 ? response.page : nextPage;\n const resolvedTotalPages = response.total_pages > 0 ? response.total_pages : fetched.length > 0 ? 1 : 0;\n this.totalPages = resolvedTotalPages;\n this.totalImages = typeof response.total === 'number' ? response.total : fetched.length;\n this.currentSearch = trimmedSearch;\n\n this.setImages(merged);\n } catch (error: unknown) {\n console.error('[quick-message-image] Failed to fetch images', error);\n } finally {\n if (reset) {\n this.isLoading = false;\n } else {\n this.isLoadingMore = false;\n }\n }\n }\n\n private async loadMoreImages() {\n if (this.isLoading || this.isLoadingMore) {\n return;\n }\n\n if (this.totalPages === 0 || this.page >= this.totalPages) {\n return;\n }\n\n if (this.totalImages > 0) {\n const remoteCount = this.getRemoteImageCount();\n if (remoteCount >= this.totalImages) {\n return;\n }\n }\n\n await this.fetchImages({ reset: false });\n }\n\n private handleScroll(event: Event) {\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const remaining = target.scrollHeight - target.scrollTop - target.clientHeight;\n if (remaining < 160) {\n void this.loadMoreImages();\n }\n }\n\n private handleSearchInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.searchImage = value;\n\n if (!value.trim() && this.currentSearch && !this.isLoading && !this.isLoadingMore) {\n void this.fetchImages({ search: '', reset: true });\n }\n }\n\n private async handleSearchSubmit(event?: Event) {\n event?.preventDefault();\n await this.fetchImages({ search: this.searchImage, reset: true });\n }\n\n private clearSearch() {\n if (!this.searchImage) {\n return;\n }\n\n this.searchImage = '';\n if (this.currentSearch) {\n void this.fetchImages({ search: '', reset: true });\n }\n }\n\n private renderRenameModal(theme: string, labels: { renameLabel: string; nameLabel: string; saveLabel: string; cancelLabel: string; closeLabel: string }) {\n const target = this.getRenameTarget();\n\n if (!this.renameTargetId || !target) {\n return null;\n }\n\n const trimmedBase = this.renameName.trim();\n const nextName = this.renameExtension ? `${trimmedBase}${this.renameExtension}` : trimmedBase;\n const isSaveDisabled = this.isRenaming || trimmedBase.length === 0 || nextName === target.name;\n const inputId = `quick-message-image-rename-${target.id}`;\n\n return (\n <div class=\"quick-message-image__rename-overlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"quick-message-image-rename-title\" onClick={() => this.closeRenameModal()}>\n <div class={`quick-message-image__rename-modal z-background-${theme} z-text-${theme}`} onClick={event => event.stopPropagation()}>\n <div class=\"quick-message-image__rename-header\">\n <h3 id=\"quick-message-image-rename-title\" class=\"text-base font-semibold\">\n {labels.renameLabel}\n </h3>\n <button type=\"button\" class=\"quick-message-image__rename-close\" onClick={() => this.closeRenameModal()} aria-label={labels.closeLabel} disabled={this.isRenaming}>\n <Icon name=\"X\" />\n </button>\n </div>\n <form class=\"flex flex-col gap-4\" onSubmit={event => this.handleRenameSubmit(event)}>\n <label class=\"flex flex-col gap-2 text-sm\" htmlFor={inputId}>\n <span class=\"font-medium\">{labels.nameLabel}</span>\n <div class={`quick-message-image__rename-input-row border z-border-divider-${theme} z-background-${theme}`}>\n <input\n id={inputId}\n type=\"text\"\n class={`quick-message-image__rename-input z-text-${theme}`}\n value={this.renameName}\n onInput={event => this.handleRenameInput(event)}\n />\n {this.renameExtension && <span class=\"quick-message-image__rename-extension\">{this.renameExtension}</span>}\n </div>\n </label>\n <div class=\"flex justify-end gap-2 text-sm\">\n <button type=\"button\" class=\"quick-message-image__rename-cancel\" onClick={() => this.closeRenameModal()} disabled={this.isRenaming}>\n {labels.cancelLabel}\n </button>\n <button type=\"submit\" class=\"quick-message-image__rename-save\" disabled={isSaveDisabled}>\n {this.isRenaming ? <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" /> : labels.saveLabel}\n </button>\n </div>\n </form>\n </div>\n </div>\n );\n }\n\n render() {\n const theme = configStore.get('theme');\n const t = useTranslation();\n const filteredImages = this.filterImages();\n const hasSelection = this.images.some(image => image.isSelected);\n const isInitialLoading = this.isLoading && this.images.length === 0;\n const renameLabel = t('quick_message.rename_item');\n const deleteLabel = t('remove');\n const nameLabel = t('quick_message.name');\n const saveLabel = t('save');\n const cancelLabel = t('cancel');\n const closeLabel = t('close');\n\n return (\n <Host class=\"flex min-h-0 flex-1 flex-col gap-4\">\n <form class=\"w-full\" onSubmit={event => this.handleSearchSubmit(event)}>\n <div class=\"relative\">\n <input\n type=\"text\"\n class={`w-full border z-border-divider-${theme} text-sm px-4 py-2 pr-9 rounded-lg ring-primary focus:outline-none focus:border-primary z-background-${theme} z-text-${theme}`}\n placeholder={t('quick_message.search_image')}\n value={this.searchImage}\n onInput={event => this.handleSearchInput(event)}\n />\n {this.searchImage && (\n <button\n type=\"button\"\n class=\"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-gray-400 hover:text-gray-600\"\n onClick={() => this.clearSearch()}\n aria-label={t('clear') || 'Clear'}\n >\n <Icon name=\"X\" />\n </button>\n )}\n </div>\n </form>\n\n <div class=\"flex items-center justify-between\">\n {this.images.length > 0 ? (\n <label class=\"inline-flex items-center gap-2 text-sm\">\n <input type=\"checkbox\" checked={this.images.length > 0 && this.images.every(image => image.isSelected)} onChange={() => this.toggleSelectAllImages()} />\n <span>{t('select_all')}</span>\n </label>\n ) : (\n <span />\n )}\n <div class=\"flex items-center gap-2\">\n <input\n class=\"hidden\"\n type=\"file\"\n accept=\"image/*\"\n multiple\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={event => this.handleImageSelection(event)}\n />\n <button\n type=\"button\"\n class=\"quick-message-image__action-button inline-flex h-9 w-9 items-center justify-center rounded-lg cursor-pointer\"\n onClick={() => !this.isUploading && this.triggerImageUpload()}\n aria-label={t('quick_message.add_image')}\n disabled={this.isUploading}\n >\n {this.isUploading ? <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" /> : <Icon name=\"Plus\" />}\n </button>\n {this.images.length > 0 && (\n <button\n class=\"quick-message-image__action-button quick-message-image__display-switch inline-flex h-9 w-9 items-center justify-center rounded-lg cursor-pointer\"\n type=\"button\"\n onClick={() => (this.imageDisplayMode = this.imageDisplayMode === 'grid' ? 'list' : 'grid')}\n aria-label={this.imageDisplayMode === 'grid' ? t('quick_message.display_list') : t('quick_message.display_grid')}\n >\n <Icon name={this.imageDisplayMode === 'grid' ? 'List' : 'Grid'} />\n </button>\n )}\n </div>\n </div>\n\n {this.isUploading && (\n <div class={`flex items-center gap-2 text-xs z-text-primary-${theme}`}>\n <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" />\n <span>{t('quick_message.uploading') || 'Uploading...'}</span>\n </div>\n )}\n\n {isInitialLoading ? (\n <div class={`flex flex-1 items-center justify-center text-sm z-text-gray-${theme}`}>Loading...</div>\n ) : filteredImages.length === 0 ? (\n <div class={`flex flex-1 items-center justify-center text-sm z-text-gray-${theme}`}>{t('quick_message.image_empty')}</div>\n ) : this.imageDisplayMode === 'grid' ? (\n <div\n class=\"grid flex-1 grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 auto-rows-auto items-start content-start gap-3 overflow-y-auto\"\n onScroll={event => this.handleScroll(event)}\n >\n {filteredImages.map(image => (\n <div class=\"quick-message-image__grid-item\" key={image.id}>\n <button\n type=\"button\"\n class={`flex w-full flex-col items-center gap-2 rounded-xl border border-transparent z-background-${theme} p-1.5 cursor-pointer ${image.isSelected ? `z-border-primary-${theme}` : ''}`}\n onClick={() => this.toggleImageSelection(image.id)}\n >\n <div class=\"quick-message-image__thumbnail\">\n {image.isSelected && (\n <span class={`quick-message-image__selection-indicator z-background-primary-${theme}`} aria-hidden=\"true\">\n <Icon name=\"Check\" addClass=\"size-3 text-white\" />\n </span>\n )}\n <img src={image.url} alt={image.name} class=\"quick-message-image__thumbnail-image\" loading=\"lazy\" />\n </div>\n <div class={`text-center text-xs line-clamp-2 z-text-gray-${theme}`}>{image.name}</div>\n </button>\n <div class=\"quick-message-image__menu-wrapper quick-message-image__menu-wrapper--grid\" data-quick-message-image-menu-root=\"\">\n <button\n type=\"button\"\n class=\"quick-message-image__more-button\"\n onClick={event => this.toggleMenu(image.id, event)}\n aria-haspopup=\"menu\"\n aria-expanded={this.openMenuId === image.id ? 'true' : 'false'}\n aria-label={renameLabel}\n data-quick-message-image-menu-root=\"\"\n >\n <Icon name=\"MoreVertical\" addClass=\"size-4\" />\n </button>\n {this.openMenuId === image.id && (\n <div class={`quick-message-image__menu z-background-${theme} z-text-${theme}`} role=\"menu\" data-quick-message-image-menu-root=\"\">\n <button type=\"button\" class=\"quick-message-image__menu-item\" role=\"menuitem\" onClick={event => this.handleMenuRename(image, event)}>\n {renameLabel}\n </button>\n <button\n type=\"button\"\n class=\"quick-message-image__menu-item quick-message-image__menu-item--danger\"\n role=\"menuitem\"\n onClick={event => this.requestDeleteImage(image, event)}\n >\n {deleteLabel}\n </button>\n </div>\n )}\n </div>\n </div>\n ))}\n {this.isLoadingMore && <div class={`col-span-full py-3 text-center text-xs z-text-gray-${theme}`}>Loading...</div>}\n </div>\n ) : (\n <div class=\"flex flex-1 flex-col gap-2.5 overflow-y-auto\" onScroll={event => this.handleScroll(event)}>\n {filteredImages.map(image => (\n <label class={`flex items-center gap-3 rounded-xl z-background-${theme} px-3 py-2.5`} key={image.id}>\n <input type=\"checkbox\" checked={!!image.isSelected} onChange={() => this.toggleImageSelection(image.id)} />\n <img src={image.url} alt={image.name} class=\"h-16 w-16 rounded-xl object-cover\" loading=\"lazy\" />\n <div class=\"flex flex-1 items-center gap-3 min-w-0\">\n <div class={`flex min-w-0 flex-col gap-1 z-text-gray-${theme}`}>\n <div class=\"text-sm font-medium line-clamp-2 break-words\">{image.name}</div>\n <div class={`text-xs z-text-gray-${theme}`}>{this.renderFileMeta(image.size, image.created_at, t)}</div>\n </div>\n <div class=\"quick-message-image__menu-wrapper\" data-quick-message-image-menu-root=\"\">\n <button\n type=\"button\"\n class=\"quick-message-image__list-more-button\"\n onClick={event => this.toggleMenu(image.id, event)}\n aria-haspopup=\"menu\"\n aria-expanded={this.openMenuId === image.id ? 'true' : 'false'}\n aria-label={renameLabel}\n data-quick-message-image-menu-root=\"\"\n >\n <Icon name=\"MoreVertical\" addClass=\"size-4\" />\n </button>\n {this.openMenuId === image.id && (\n <div\n class={`quick-message-image__menu quick-message-image__menu--list z-background-${theme} z-text-${theme}`}\n role=\"menu\"\n data-quick-message-image-menu-root=\"\"\n >\n <button type=\"button\" class=\"quick-message-image__menu-item\" role=\"menuitem\" onClick={event => this.handleMenuRename(image, event)}>\n {renameLabel}\n </button>\n <button\n type=\"button\"\n class=\"quick-message-image__menu-item quick-message-image__menu-item--danger\"\n role=\"menuitem\"\n onClick={event => this.requestDeleteImage(image, event)}\n >\n {deleteLabel}\n </button>\n </div>\n )}\n </div>\n </div>\n </label>\n ))}\n {this.isLoadingMore && <div class={`py-3 text-center text-xs z-text-gray-${theme}`}>Loading...</div>}\n </div>\n )}\n\n <div class={`mt-auto flex items-center gap-2 pt-2 z-text-gray-${theme}`}>\n {hasSelection && (\n <button\n type=\"button\"\n class={`quick-message-image__action-button inline-flex h-9 w-9 items-center justify-center rounded-lg cursor-pointer disabled:cursor-not-allowed disabled:opacity-40`}\n onClick={() => this.requestDeleteSelectedImages()}\n aria-label={t('remove')}\n disabled={this.isDeleting}\n >\n {this.isDeleting ? <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" /> : <Icon name=\"Trash2\" />}\n </button>\n )}\n {!this.isMaster && (\n <button\n type=\"button\"\n disabled={!hasSelection}\n class={`quick-message-image__send ml-auto inline-flex items-center justify-center rounded-full px-4 py-2 text-xs font-semibold z-background-primary-${theme} text-white disabled:cursor-not-allowed disabled:opacity-40 cursor-pointer`}\n onClick={() => this.handleSendImages()}\n >\n {t('quick_message.send_images')}\n </button>\n )}\n </div>\n {this.renderRenameModal(theme, { renameLabel, nameLabel, saveLabel, cancelLabel, closeLabel })}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BypBSjsX.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","showErrorDialog"],"sources":["src/components/quick-message-image/quick-message-image.css?tag=quick-message-image","src/components/quick-message-image/quick-message-image.tsx"],"sourcesContent":[":host {\n position: relative;\n}\n\n.quick-message-image__action-button,\n.quick-message-image__display-switch {\n border: 1px solid rgba(148, 163, 184, 0.4);\n background: transparent;\n}\n\n.quick-message-image__send {\n background: var(--quick-modal-primary);\n color: #fff;\n border: none;\n}\n\n.quick-message-image__thumbnail {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: 0.75rem;\n overflow: hidden;\n background: rgba(148, 163, 184, 0.12);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.quick-message-image__thumbnail-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.quick-message-image__selection-indicator {\n position: absolute;\n top: 0.4rem;\n left: 0.4rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 0.5rem;\n color: #fff;\n box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);\n pointer-events: none;\n}\n\n.quick-message-image__grid-item {\n position: relative;\n}\n\n.quick-message-image__more-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n border-radius: 9999px;\n background: rgba(15, 23, 42, 0.7);\n color: #fff;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s ease;\n}\n\n.quick-message-image__more-button:hover {\n opacity: 0.85;\n}\n\n.quick-message-image__list-more-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n border-radius: 0.5rem;\n border: none;\n background: transparent;\n color: inherit;\n cursor: pointer;\n margin-left: auto;\n}\n\n.quick-message-image__list-more-button:hover {\n background: rgba(148, 163, 184, 0.12);\n}\n\n.quick-message-image__menu-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.quick-message-image__menu-wrapper:not(.quick-message-image__menu-wrapper--grid) {\n margin-left: auto;\n}\n\n.quick-message-image__menu-wrapper--grid {\n position: absolute;\n top: 0.4rem;\n right: 0.4rem;\n}\n\n.quick-message-image__menu {\n position: absolute;\n top: calc(100% + 0.35rem);\n right: 0;\n display: flex;\n flex-direction: column;\n min-width: 8rem;\n padding: 0.25rem 0;\n border-radius: 0.75rem;\n border: 1px solid rgba(148, 163, 184, 0.18);\n box-shadow: 0 18px 35px rgba(15, 23, 42, 0.22);\n z-index: 40;\n overflow: hidden;\n}\n\n.quick-message-image__menu--list {\n top: calc(100% + 0.5rem);\n}\n\n.quick-message-image__menu-item {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n gap: 0.5rem;\n padding: 0.5rem 0.9rem;\n border: none;\n background: transparent;\n color: inherit;\n font-size: 0.8125rem;\n line-height: 1.2;\n cursor: pointer;\n text-align: left;\n transition: background-color 0.2s ease;\n}\n\n.quick-message-image__menu-item:hover {\n background: rgba(148, 163, 184, 0.14);\n}\n\n.quick-message-image__menu-item--danger {\n color: #ef4444;\n}\n\n.quick-message-image__menu-item--danger:hover {\n background: rgba(239, 68, 68, 0.12);\n}\n\n.quick-message-image__rename-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(15, 23, 42, 0.45);\n padding: 1.5rem;\n z-index: 20;\n}\n\n.quick-message-image__rename-modal {\n width: 100%;\n max-width: 22rem;\n border-radius: 0.75rem;\n box-shadow: 0 20px 45px rgba(15, 23, 42, 0.25);\n padding: 1.5rem;\n}\n\n.quick-message-image__rename-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n\n.quick-message-image__rename-close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: transparent;\n color: inherit;\n border-radius: 0.5rem;\n padding: 0.25rem;\n cursor: pointer;\n}\n\n.quick-message-image__rename-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.quick-message-image__rename-cancel,\n.quick-message-image__rename-save {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n padding: 0.35rem 0.9rem;\n border: none;\n cursor: pointer;\n transition: opacity 0.2s ease;\n}\n\n.quick-message-image__rename-cancel {\n background: transparent;\n color: inherit;\n border: 1px solid rgba(148, 163, 184, 0.4);\n}\n\n.quick-message-image__rename-save {\n background: var(--quick-modal-primary);\n color: #fff;\n}\n\n.quick-message-image__rename-save:disabled,\n.quick-message-image__rename-cancel:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n\n.quick-message-image__rename-input-row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.35rem 0.75rem;\n border-radius: 0.75rem;\n transition:\n border-color 0.2s ease,\n box-shadow 0.2s ease;\n}\n\n.quick-message-image__rename-input-row:focus-within {\n border-color: var(--quick-modal-primary);\n box-shadow: 0 0 0 1px var(--quick-modal-primary);\n}\n\n.quick-message-image__rename-input {\n flex: 1;\n border: none;\n background: transparent;\n padding: 0.35rem 0;\n font-size: 0.875rem;\n color: inherit;\n}\n\n.quick-message-image__rename-input:focus {\n outline: none;\n}\n\n.quick-message-image__rename-extension {\n font-size: 0.875rem;\n font-weight: 500;\n color: inherit;\n opacity: 0.75;\n white-space: nowrap;\n}\n","import { Component, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport { createQuickMessageLibraryFiles, deleteQuickMessageLibraryFile, getQuickMessageLibraryFiles, updateQuickMessageLibraryFileName } from '../../api/quick-message';\nimport type { QuickMessageLibraryFilePayload } from '../../api/type';\nimport { QuickMessageLibraryFile } from '../../store/type';\nimport { configStore } from '../../store/store';\nimport { useTranslation } from '../../utils/utils';\nimport { Icon } from '../internal-component/icon';\nimport { uploadFile } from '../../utils/upload';\nimport { DIALOG_TYPE, handleError as showErrorDialog, openDialog } from '../../store/dialog';\n\n@Component({\n tag: 'quick-message-image',\n styleUrl: 'quick-message-image.css',\n})\nexport class QuickMessageImageComponent {\n @Prop() handleClose?: () => void;\n @Prop() value?: string | QuickMessageLibraryFile[];\n @Prop() isMaster: boolean = false;\n\n @State() private searchImage = '';\n @State() private images: QuickMessageLibraryFile[] = [];\n @State() private imageDisplayMode: 'grid' | 'list' = 'grid';\n @State() private isLoading = false;\n @State() private isLoadingMore = false;\n @State() private isUploading = false;\n @State() private isDeleting = false;\n @State() private totalImages = 0;\n @State() private totalPages = 0;\n @State() private renameTargetId: string | null = null;\n @State() private renameName = '';\n @State() private renameExtension = '';\n @State() private isRenaming = false;\n @State() private openMenuId: string | null = null;\n\n private readonly pageSize = 15;\n private readonly localUploadPrefix = 'uploaded-image-';\n private page = 1;\n private currentSearch = '';\n\n private fileInput?: HTMLInputElement;\n @Event({ bubbles: true, composed: true }) imagesChange!: EventEmitter<QuickMessageLibraryFile[]>;\n @Event({ bubbles: true, composed: true }) sendImages!: EventEmitter<QuickMessageLibraryFile[]>;\n\n private pendingDeleteImageIds: string[] = [];\n\n // Memoization cache for filtered images\n private cachedFilteredImages: QuickMessageLibraryFile[] | null = null;\n private cachedSearchTerm: string = '';\n private cachedImagesLength: number = 0;\n\n @Listen('click', { target: 'document' })\n protected handleDocumentClick(event: Event) {\n const target = event.target as HTMLElement | null;\n\n if (target?.closest('[data-quick-message-image-menu-root]')) {\n return;\n }\n\n this.openMenuId = null;\n }\n\n componentWillLoad() {\n this.syncImagesFromProp(this.value);\n }\n\n async componentDidLoad() {\n await this.fetchImages({ reset: true });\n }\n\n @Watch('value')\n protected handleValueChange(newValue?: string | QuickMessageLibraryFile[]) {\n this.syncImagesFromProp(newValue);\n }\n\n private syncImagesFromProp(value?: string | QuickMessageLibraryFile[]) {\n if (value === undefined || value === null) {\n this.setImages([], false);\n return;\n }\n\n const parsed = this.parseImagesValue(value);\n this.setImages(parsed, false);\n }\n\n private parseImagesValue(value: string | QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n if (typeof value === 'string') {\n try {\n const deserialized = JSON.parse(value) as QuickMessageLibraryFile[];\n return this.cloneImages(deserialized);\n } catch (error: unknown) {\n console.warn('[quick-message-image] Failed to parse images value', error);\n return [];\n }\n }\n\n return this.cloneImages(value);\n }\n\n private cloneImages(images: QuickMessageLibraryFile[]): QuickMessageLibraryFile[] {\n return (images || []).map(image => ({\n ...image,\n isSelected: image.isSelected ?? false,\n }));\n }\n\n private setImages(next: QuickMessageLibraryFile[], shouldEmit = true) {\n this.images = next;\n if (shouldEmit) {\n const payload = this.cloneImages(next);\n this.imagesChange.emit(payload);\n }\n }\n\n private isLocalUpload(image: QuickMessageLibraryFile): boolean {\n return image.id.startsWith(this.localUploadPrefix);\n }\n\n private getRemoteImageCount(): number {\n return this.images.filter(image => !this.isLocalUpload(image)).length;\n }\n\n private mergeFetchedImages(fetched: QuickMessageLibraryFile[], reset: boolean): QuickMessageLibraryFile[] {\n const localUploads = this.images.filter(image => this.isLocalUpload(image));\n const selectionMap = new Map(this.images.map(image => [image.id, image.isSelected ?? false]));\n\n const normalizedFetched = fetched.map(image => ({\n ...image,\n isSelected: selectionMap.get(image.id) ?? image.isSelected ?? false,\n }));\n\n if (reset) {\n return [...localUploads, ...normalizedFetched];\n }\n\n const existingRemote = this.images.filter(image => !this.isLocalUpload(image));\n const remoteIndexMap = new Map<string, number>();\n existingRemote.forEach((image, index) => {\n remoteIndexMap.set(image.id, index);\n });\n\n const nextRemote = [...existingRemote];\n normalizedFetched.forEach(image => {\n const existingIndex = remoteIndexMap.get(image.id);\n if (existingIndex !== undefined) {\n nextRemote[existingIndex] = image;\n } else {\n remoteIndexMap.set(image.id, nextRemote.length);\n nextRemote.push(image);\n }\n });\n\n return [...localUploads, ...nextRemote];\n }\n\n /**\n * Memoized image filtering - only recalculates when search term or images change\n * Performance: Reduces operations from 60fps to only when user types\n */\n private filterImages(): QuickMessageLibraryFile[] {\n const search = this.searchImage.trim().toLowerCase();\n\n // Quick return for no search\n if (!search) return this.images;\n\n // Check if we can use cached results\n if (this.cachedFilteredImages && search === this.cachedSearchTerm && this.images.length === this.cachedImagesLength) {\n return this.cachedFilteredImages;\n }\n\n // Recalculate filtered results\n const filtered = this.images.filter(image => image.name.toLowerCase().includes(search));\n\n // Update cache\n this.cachedFilteredImages = filtered;\n this.cachedSearchTerm = search;\n this.cachedImagesLength = this.images.length;\n\n return filtered;\n }\n\n private splitFileName(name: string): { base: string; extension: string } {\n const lastDotIndex = name.lastIndexOf('.');\n if (lastDotIndex <= 0 || lastDotIndex === name.length - 1) {\n return { base: name, extension: '' };\n }\n\n return {\n base: name.slice(0, lastDotIndex),\n extension: name.slice(lastDotIndex),\n };\n }\n\n private getRenameTarget(): QuickMessageLibraryFile | undefined {\n if (!this.renameTargetId) {\n return undefined;\n }\n\n return this.images.find(image => image.id === this.renameTargetId);\n }\n\n private openRenameModal(image: QuickMessageLibraryFile, event?: Event) {\n event?.preventDefault();\n event?.stopPropagation();\n\n const { base, extension } = this.splitFileName(image.name);\n this.renameTargetId = image.id;\n this.renameName = base;\n this.renameExtension = extension;\n }\n\n private closeRenameModal(force = false) {\n if (this.isRenaming && !force) {\n return;\n }\n\n this.renameTargetId = null;\n this.renameName = '';\n this.renameExtension = '';\n }\n\n private toggleMenu(imageId: string, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.openMenuId = this.openMenuId === imageId ? null : imageId;\n }\n\n private closeMenu() {\n this.openMenuId = null;\n }\n\n private handleMenuRename(image: QuickMessageLibraryFile, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.closeMenu();\n this.openRenameModal(image, event);\n }\n\n private requestDeleteImage(image: QuickMessageLibraryFile, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isDeleting) {\n return;\n }\n\n this.pendingDeleteImageIds = [image.id];\n this.closeMenu();\n\n const t = useTranslation();\n\n openDialog({\n open: true,\n type: DIALOG_TYPE.WARNING,\n title: t('quick_message.delete_item_confirmation'),\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: () => {\n void this.confirmDeleteSelectedImages();\n },\n onCloseDialog: () => {\n this.pendingDeleteImageIds = [];\n },\n });\n }\n\n private handleRenameInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n if (this.renameExtension && value.toLowerCase().endsWith(this.renameExtension.toLowerCase())) {\n this.renameName = value.slice(0, -this.renameExtension.length);\n return;\n }\n\n this.renameName = value;\n }\n\n private async handleRenameSubmit(event: Event) {\n event.preventDefault();\n\n const target = this.getRenameTarget();\n\n if (!target) {\n return;\n }\n\n const trimmedBase = this.renameName.trim();\n\n if (!trimmedBase) {\n return;\n }\n\n const nextName = this.renameExtension ? `${trimmedBase}${this.renameExtension}` : trimmedBase;\n\n if (nextName === target.name) {\n this.closeRenameModal(true);\n return;\n }\n\n if (this.isLocalUpload(target)) {\n this.setImages(\n this.images.map(image =>\n image.id === target.id\n ? {\n ...image,\n name: nextName,\n }\n : image,\n ),\n );\n\n this.closeRenameModal(true);\n return;\n }\n\n this.isRenaming = true;\n\n try {\n const updated = await updateQuickMessageLibraryFileName({ id: target.id, name: nextName });\n this.setImages(\n this.images.map(image =>\n image.id === target.id\n ? {\n ...image,\n name: updated.name,\n last_updated_at: updated.last_updated_at,\n last_updated_by: updated.last_updated_by,\n }\n : image,\n ),\n );\n this.closeRenameModal(true);\n } catch (error: unknown) {\n showErrorDialog(error, '[quick-message-image] Failed to rename image');\n } finally {\n this.isRenaming = false;\n }\n }\n\n private toggleImageSelection(id: string) {\n this.setImages(this.images.map(image => (image.id === id ? { ...image, isSelected: !image.isSelected } : image)));\n }\n\n private toggleSelectAllImages() {\n const isAllSelected = this.images.length > 0 && this.images.every(image => image.isSelected);\n this.setImages(this.images.map(image => ({ ...image, isSelected: !isAllSelected })));\n }\n\n private triggerImageUpload() {\n this.fileInput?.click();\n }\n\n private handleImageSelection(event: Event) {\n const input = event.target as HTMLInputElement;\n if (!input.files || input.files.length === 0) return;\n\n const files = Array.from(input.files);\n input.value = '';\n\n void this.uploadAndCreateImages(files);\n }\n\n private async uploadAndCreateImages(files: File[]) {\n if (files.length === 0) {\n return;\n }\n\n this.isUploading = true;\n\n try {\n const payload: QuickMessageLibraryFilePayload[] = [];\n\n for (const file of files) {\n const uploadUrl = await uploadFile({\n file,\n filename: file.name.replaceAll(' ', '-'),\n folder: 'zignal/quick-message-library/image',\n });\n\n if (!uploadUrl) {\n continue;\n }\n\n payload.push({\n file_type: 'image',\n name: file.name,\n url: uploadUrl,\n size: file.size,\n });\n }\n\n if (payload.length > 0) {\n await createQuickMessageLibraryFiles({ files: payload });\n await this.fetchImages({ reset: true });\n }\n } catch (error: unknown) {\n showErrorDialog(error, '[quick-message-image] Failed to upload image');\n } finally {\n this.isUploading = false;\n }\n }\n\n private renderFileMeta(size: number, createdAt: string, t: (key: string, values?: Record<string, string>) => string) {\n const sizeKb = Math.round(size / 1024);\n return `${sizeKb} KB · ${t('quick_message.created_at').replace('{date}', dayjs(createdAt).tz().format('DD/MM/YYYY HH:mm'))}`;\n }\n\n private handleSendImages() {\n const selected = this.images.filter(image => image.isSelected);\n if (selected.length === 0) return;\n const payload = this.cloneImages(selected);\n this.sendImages.emit(payload);\n this.handleClose?.();\n }\n\n private requestDeleteSelectedImages() {\n if (this.isDeleting) {\n return;\n }\n\n const selectedIds = this.images.filter(image => image.isSelected).map(image => image.id);\n\n if (selectedIds.length === 0) {\n return;\n }\n\n this.pendingDeleteImageIds = selectedIds;\n\n const t = useTranslation();\n\n openDialog({\n open: true,\n type: DIALOG_TYPE.WARNING,\n title: t('quick_message.delete_selected_items_confirmation'),\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: () => {\n void this.confirmDeleteSelectedImages();\n },\n onCloseDialog: () => {\n this.pendingDeleteImageIds = [];\n },\n });\n }\n\n private async confirmDeleteSelectedImages() {\n if (this.isDeleting) {\n return;\n }\n\n const pendingIds = [...this.pendingDeleteImageIds];\n this.pendingDeleteImageIds = [];\n\n if (pendingIds.length === 0) {\n return;\n }\n\n const pendingSet = new Set(pendingIds);\n const remoteIds = this.images.filter(image => pendingSet.has(image.id) && !this.isLocalUpload(image)).map(image => image.id);\n\n this.isDeleting = true;\n\n try {\n if (remoteIds.length > 0) {\n await deleteQuickMessageLibraryFile({ ids: remoteIds });\n }\n\n const remaining = this.images.filter(image => !pendingSet.has(image.id));\n this.setImages(remaining);\n\n if (remoteIds.length > 0) {\n this.totalImages = Math.max(0, this.totalImages - remoteIds.length);\n await this.fetchImages({ reset: true });\n }\n } catch (error: unknown) {\n showErrorDialog(error, '[quick-message-image] Failed to delete images');\n } finally {\n this.isDeleting = false;\n }\n }\n\n private async fetchImages({ search, reset = true }: { search?: string; reset?: boolean } = {}) {\n const businessId = configStore.get('businessId');\n const shopId = configStore.get('shopId');\n\n if (!businessId || !shopId) {\n return;\n }\n\n if (reset ? this.isLoading : this.isLoadingMore) {\n return;\n }\n\n const searchSource = search !== undefined ? search : reset ? this.searchImage : this.currentSearch;\n const trimmedSearch = searchSource?.trim() ?? '';\n const nextPage = reset ? 1 : this.page + 1;\n\n if (search !== undefined) {\n this.searchImage = searchSource ?? '';\n }\n\n if (reset) {\n this.isLoading = true;\n } else {\n this.isLoadingMore = true;\n }\n\n try {\n const response = await getQuickMessageLibraryFiles({\n fileType: 'image',\n search: trimmedSearch ? trimmedSearch : undefined,\n page: nextPage,\n limit: this.pageSize,\n });\n\n const fetched = this.cloneImages(response.files || []);\n const merged = this.mergeFetchedImages(fetched, reset);\n\n this.page = response.page > 0 ? response.page : nextPage;\n const resolvedTotalPages = response.total_pages > 0 ? response.total_pages : fetched.length > 0 ? 1 : 0;\n this.totalPages = resolvedTotalPages;\n this.totalImages = typeof response.total === 'number' ? response.total : fetched.length;\n this.currentSearch = trimmedSearch;\n\n this.setImages(merged);\n } catch (error: unknown) {\n console.error('[quick-message-image] Failed to fetch images', error);\n } finally {\n if (reset) {\n this.isLoading = false;\n } else {\n this.isLoadingMore = false;\n }\n }\n }\n\n private async loadMoreImages() {\n if (this.isLoading || this.isLoadingMore) {\n return;\n }\n\n if (this.totalPages === 0 || this.page >= this.totalPages) {\n return;\n }\n\n if (this.totalImages > 0) {\n const remoteCount = this.getRemoteImageCount();\n if (remoteCount >= this.totalImages) {\n return;\n }\n }\n\n await this.fetchImages({ reset: false });\n }\n\n private handleScroll(event: Event) {\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const remaining = target.scrollHeight - target.scrollTop - target.clientHeight;\n if (remaining < 160) {\n void this.loadMoreImages();\n }\n }\n\n private handleSearchInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.searchImage = value;\n\n if (!value.trim() && this.currentSearch && !this.isLoading && !this.isLoadingMore) {\n void this.fetchImages({ search: '', reset: true });\n }\n }\n\n private async handleSearchSubmit(event?: Event) {\n event?.preventDefault();\n await this.fetchImages({ search: this.searchImage, reset: true });\n }\n\n private clearSearch() {\n if (!this.searchImage) {\n return;\n }\n\n this.searchImage = '';\n if (this.currentSearch) {\n void this.fetchImages({ search: '', reset: true });\n }\n }\n\n private renderRenameModal(theme: string, labels: { renameLabel: string; nameLabel: string; saveLabel: string; cancelLabel: string; closeLabel: string }) {\n const target = this.getRenameTarget();\n\n if (!this.renameTargetId || !target) {\n return null;\n }\n\n const trimmedBase = this.renameName.trim();\n const nextName = this.renameExtension ? `${trimmedBase}${this.renameExtension}` : trimmedBase;\n const isSaveDisabled = this.isRenaming || trimmedBase.length === 0 || nextName === target.name;\n const inputId = `quick-message-image-rename-${target.id}`;\n\n return (\n <div class=\"quick-message-image__rename-overlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"quick-message-image-rename-title\" onClick={() => this.closeRenameModal()}>\n <div class={`quick-message-image__rename-modal z-background-${theme} z-text-${theme}`} onClick={event => event.stopPropagation()}>\n <div class=\"quick-message-image__rename-header\">\n <h3 id=\"quick-message-image-rename-title\" class=\"text-base font-semibold\">\n {labels.renameLabel}\n </h3>\n <button type=\"button\" class=\"quick-message-image__rename-close\" onClick={() => this.closeRenameModal()} aria-label={labels.closeLabel} disabled={this.isRenaming}>\n <Icon name=\"X\" />\n </button>\n </div>\n <form class=\"flex flex-col gap-4\" onSubmit={event => this.handleRenameSubmit(event)}>\n <label class=\"flex flex-col gap-2 text-sm\" htmlFor={inputId}>\n <span class=\"font-medium\">{labels.nameLabel}</span>\n <div class={`quick-message-image__rename-input-row border z-border-divider-${theme} z-background-${theme}`}>\n <input\n id={inputId}\n type=\"text\"\n class={`quick-message-image__rename-input z-text-${theme}`}\n value={this.renameName}\n onInput={event => this.handleRenameInput(event)}\n />\n {this.renameExtension && <span class=\"quick-message-image__rename-extension\">{this.renameExtension}</span>}\n </div>\n </label>\n <div class=\"flex justify-end gap-2 text-sm\">\n <button type=\"button\" class=\"quick-message-image__rename-cancel\" onClick={() => this.closeRenameModal()} disabled={this.isRenaming}>\n {labels.cancelLabel}\n </button>\n <button type=\"submit\" class=\"quick-message-image__rename-save\" disabled={isSaveDisabled}>\n {this.isRenaming ? <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" /> : labels.saveLabel}\n </button>\n </div>\n </form>\n </div>\n </div>\n );\n }\n\n render() {\n const theme = configStore.get('theme');\n const t = useTranslation();\n const filteredImages = this.filterImages();\n const hasSelection = this.images.some(image => image.isSelected);\n const isInitialLoading = this.isLoading && this.images.length === 0;\n const renameLabel = t('quick_message.rename_item');\n const deleteLabel = t('remove');\n const nameLabel = t('quick_message.name');\n const saveLabel = t('save');\n const cancelLabel = t('cancel');\n const closeLabel = t('close');\n\n return (\n <Host class=\"flex min-h-0 flex-1 flex-col gap-4\">\n <form class=\"w-full\" onSubmit={event => this.handleSearchSubmit(event)}>\n <div class=\"relative\">\n <input\n type=\"text\"\n class={`w-full border z-border-divider-${theme} text-sm px-4 py-2 pr-9 rounded-lg ring-primary focus:outline-none focus:border-primary z-background-${theme} z-text-${theme}`}\n placeholder={t('quick_message.search_image')}\n value={this.searchImage}\n onInput={event => this.handleSearchInput(event)}\n />\n {this.searchImage && (\n <button\n type=\"button\"\n class=\"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-gray-400 hover:text-gray-600\"\n onClick={() => this.clearSearch()}\n aria-label={t('clear') || 'Clear'}\n >\n <Icon name=\"X\" />\n </button>\n )}\n </div>\n </form>\n\n <div class=\"flex items-center justify-between\">\n {this.images.length > 0 ? (\n <label class=\"inline-flex items-center gap-2 text-sm\">\n <input type=\"checkbox\" checked={this.images.length > 0 && this.images.every(image => image.isSelected)} onChange={() => this.toggleSelectAllImages()} />\n <span>{t('select_all')}</span>\n </label>\n ) : (\n <span />\n )}\n <div class=\"flex items-center gap-2\">\n <input\n class=\"hidden\"\n type=\"file\"\n accept=\"image/*\"\n multiple\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={event => this.handleImageSelection(event)}\n />\n <button\n type=\"button\"\n class=\"quick-message-image__action-button inline-flex h-9 w-9 items-center justify-center rounded-lg cursor-pointer\"\n onClick={() => !this.isUploading && this.triggerImageUpload()}\n aria-label={t('quick_message.add_image')}\n disabled={this.isUploading}\n >\n {this.isUploading ? <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" /> : <Icon name=\"Plus\" />}\n </button>\n {this.images.length > 0 && (\n <button\n class=\"quick-message-image__action-button quick-message-image__display-switch inline-flex h-9 w-9 items-center justify-center rounded-lg cursor-pointer\"\n type=\"button\"\n onClick={() => (this.imageDisplayMode = this.imageDisplayMode === 'grid' ? 'list' : 'grid')}\n aria-label={this.imageDisplayMode === 'grid' ? t('quick_message.display_list') : t('quick_message.display_grid')}\n >\n <Icon name={this.imageDisplayMode === 'grid' ? 'List' : 'Grid'} />\n </button>\n )}\n </div>\n </div>\n\n {this.isUploading && (\n <div class={`flex items-center gap-2 text-xs z-text-primary-${theme}`}>\n <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" />\n <span>{t('quick_message.uploading') || 'Uploading...'}</span>\n </div>\n )}\n\n {isInitialLoading ? (\n <div class={`flex flex-1 items-center justify-center text-sm z-text-gray-${theme}`}>Loading...</div>\n ) : filteredImages.length === 0 ? (\n <div class={`flex flex-1 items-center justify-center text-sm z-text-gray-${theme}`}>{t('quick_message.image_empty')}</div>\n ) : this.imageDisplayMode === 'grid' ? (\n <div\n class=\"grid flex-1 grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 auto-rows-auto items-start content-start gap-3 overflow-y-auto\"\n onScroll={event => this.handleScroll(event)}\n >\n {filteredImages.map(image => (\n <div class=\"quick-message-image__grid-item\" key={image.id}>\n <button\n type=\"button\"\n class={`flex w-full flex-col items-center gap-2 rounded-xl border border-transparent z-background-${theme} p-1.5 cursor-pointer ${image.isSelected ? `z-border-primary-${theme}` : ''}`}\n onClick={() => this.toggleImageSelection(image.id)}\n >\n <div class=\"quick-message-image__thumbnail\">\n {image.isSelected && (\n <span class={`quick-message-image__selection-indicator z-background-primary-${theme}`} aria-hidden=\"true\">\n <Icon name=\"Check\" addClass=\"size-3 text-white\" />\n </span>\n )}\n <img src={image.url} alt={image.name} class=\"quick-message-image__thumbnail-image\" loading=\"lazy\" />\n </div>\n <div class={`text-center text-xs line-clamp-2 z-text-gray-${theme}`}>{image.name}</div>\n </button>\n <div class=\"quick-message-image__menu-wrapper quick-message-image__menu-wrapper--grid\" data-quick-message-image-menu-root=\"\">\n <button\n type=\"button\"\n class=\"quick-message-image__more-button\"\n onClick={event => this.toggleMenu(image.id, event)}\n aria-haspopup=\"menu\"\n aria-expanded={this.openMenuId === image.id ? 'true' : 'false'}\n aria-label={renameLabel}\n data-quick-message-image-menu-root=\"\"\n >\n <Icon name=\"MoreVertical\" addClass=\"size-4\" />\n </button>\n {this.openMenuId === image.id && (\n <div class={`quick-message-image__menu z-background-${theme} z-text-${theme}`} role=\"menu\" data-quick-message-image-menu-root=\"\">\n <button type=\"button\" class=\"quick-message-image__menu-item\" role=\"menuitem\" onClick={event => this.handleMenuRename(image, event)}>\n {renameLabel}\n </button>\n <button\n type=\"button\"\n class=\"quick-message-image__menu-item quick-message-image__menu-item--danger\"\n role=\"menuitem\"\n onClick={event => this.requestDeleteImage(image, event)}\n >\n {deleteLabel}\n </button>\n </div>\n )}\n </div>\n </div>\n ))}\n {this.isLoadingMore && <div class={`col-span-full py-3 text-center text-xs z-text-gray-${theme}`}>Loading...</div>}\n </div>\n ) : (\n <div class=\"flex flex-1 flex-col gap-2.5 overflow-y-auto\" onScroll={event => this.handleScroll(event)}>\n {filteredImages.map(image => (\n <label class={`flex items-center gap-3 rounded-xl z-background-${theme} px-3 py-2.5`} key={image.id}>\n <input type=\"checkbox\" checked={!!image.isSelected} onChange={() => this.toggleImageSelection(image.id)} />\n <img src={image.url} alt={image.name} class=\"h-16 w-16 rounded-xl object-cover\" loading=\"lazy\" />\n <div class=\"flex flex-1 items-center gap-3 min-w-0\">\n <div class={`flex min-w-0 flex-col gap-1 z-text-gray-${theme}`}>\n <div class=\"text-sm font-medium line-clamp-2 break-words\">{image.name}</div>\n <div class={`text-xs z-text-gray-${theme}`}>{this.renderFileMeta(image.size, image.created_at, t)}</div>\n </div>\n <div class=\"quick-message-image__menu-wrapper\" data-quick-message-image-menu-root=\"\">\n <button\n type=\"button\"\n class=\"quick-message-image__list-more-button\"\n onClick={event => this.toggleMenu(image.id, event)}\n aria-haspopup=\"menu\"\n aria-expanded={this.openMenuId === image.id ? 'true' : 'false'}\n aria-label={renameLabel}\n data-quick-message-image-menu-root=\"\"\n >\n <Icon name=\"MoreVertical\" addClass=\"size-4\" />\n </button>\n {this.openMenuId === image.id && (\n <div\n class={`quick-message-image__menu quick-message-image__menu--list z-background-${theme} z-text-${theme}`}\n role=\"menu\"\n data-quick-message-image-menu-root=\"\"\n >\n <button type=\"button\" class=\"quick-message-image__menu-item\" role=\"menuitem\" onClick={event => this.handleMenuRename(image, event)}>\n {renameLabel}\n </button>\n <button\n type=\"button\"\n class=\"quick-message-image__menu-item quick-message-image__menu-item--danger\"\n role=\"menuitem\"\n onClick={event => this.requestDeleteImage(image, event)}\n >\n {deleteLabel}\n </button>\n </div>\n )}\n </div>\n </div>\n </label>\n ))}\n {this.isLoadingMore && <div class={`py-3 text-center text-xs z-text-gray-${theme}`}>Loading...</div>}\n </div>\n )}\n\n <div class={`mt-auto flex items-center gap-2 pt-2 z-text-gray-${theme}`}>\n {hasSelection && (\n <button\n type=\"button\"\n class={`quick-message-image__action-button inline-flex h-9 w-9 items-center justify-center rounded-lg cursor-pointer disabled:cursor-not-allowed disabled:opacity-40`}\n onClick={() => this.requestDeleteSelectedImages()}\n aria-label={t('remove')}\n disabled={this.isDeleting}\n >\n {this.isDeleting ? <Icon name=\"Loader2\" addClass=\"size-4 animate-spin\" /> : <Icon name=\"Trash2\" />}\n </button>\n )}\n {!this.isMaster && (\n <button\n type=\"button\"\n disabled={!hasSelection}\n class={`quick-message-image__send ml-auto inline-flex items-center justify-center rounded-full px-4 py-2 text-xs font-semibold z-background-primary-${theme} text-white disabled:cursor-not-allowed disabled:opacity-40 cursor-pointer`}\n onClick={() => this.handleSendImages()}\n >\n {t('quick_message.send_images')}\n </button>\n )}\n </div>\n {this.renderRenameModal(theme, { renameLabel, nameLabel, saveLabel, cancelLabel, closeLabel })}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -2,7 +2,7 @@ import { p as proxyCustomElement, H, h, a as Host } from './p-D_ltSEZy.js';
|
|
|
2
2
|
import { I as Icon } from './p-CErcZoEr.js';
|
|
3
3
|
import { c as configStore } from './p-x8gJGTdZ.js';
|
|
4
4
|
|
|
5
|
-
const zAvatarCss = "@layer base{*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-x-reverse:0;--tw-shadow:0 0 #0000;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-alpha:100%;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-drop-shadow-alpha:100%;--tw-border-style:solid;border:0 solid;box-sizing:border-box;margin:0;padding:0}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-x-reverse:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-border-style:solid;--tw-space-y-reverse:0;--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:host,:root{--color-yellow-500:oklch(79.5% .184 86.047);--container-3xs:16rem;--container-sm:24rem;--container-xl:36rem;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--container-xs:20rem;--container-md:28rem;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--color-slate-500:oklch(55.4% .046 257.417);--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--color-yellow-300:oklch(90.5% .182 98.111);--color-red-700:oklch(50.5% .213 27.518);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-blue-500:oklch(62.3% .214 259.815);--color-pink-100:oklch(94.8% .028 342.258);--font-weight-semibold:600;--font-weight-bold:700;--animate-spin:spin 1s linear infinite;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--font-weight-medium:500;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:\"Kanit\",var(--default-font);--default-mono-font-family:var(--font-mono);--default-font:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--color-primary:#e02848;--color-secondary:#023761;--color-background:#fff;--color-primary-dark:#b50f30;--color-secondary-dark:#fff;--color-background-dark:#23292d}}@layer base{::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-meridiem-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-color:oklch(55.1% .027 264.364);border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}:is([type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);border-color:oklch(54.6% .245 262.881);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}select{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}[multiple],[size]:where(select:not([size=\"1\"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;print-color-adjust:unset}[type=checkbox],[type=radio]{appearance:none;color:oklch(54.6% .245 262.881);print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-color:oklch(55.1% .027 264.364);border-width:1px;display:inline-block;flex-shrink:0;height:1rem;padding:0;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E\")}[type=radio]:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E\")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components{.dialog-backdrop{align-items:center;background-color:#0006;display:flex;inset:calc(var(--spacing)*0);justify-content:center;position:fixed;z-index:50}@supports (color:color-mix(in lab,red,red)){.dialog-backdrop{background-color:color-mix(in oklab,var(--color-black)40%,transparent);background-color:color-mix(in srgb,#00040%,transparent)}}.chat-item{border-radius:var(--radius-xl);cursor:pointer;margin-block:calc(var(--spacing)*1);margin-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);align-items:flex-start;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:flex;position:relative}:where(.chat-item>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-pin{position:absolute;right:-12px;top:calc(var(--spacing)*1)}.chat-item .chat-item-pin-icon{fill:currentColor;height:calc(var(--spacing)*3);rotate:45deg;width:calc(var(--spacing)*3)}.chat-item .chat-item-content-container{display:flex;flex-direction:row;width:100%}:where(.chat-item .chat-item-content-container>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-avatar-wrapper{align-self:center;flex-shrink:0;position:relative}.chat-item .chat-item-avatar-badge{bottom:-2px;position:absolute;right:-2px}.chat-item .chat-item-content-wrapper{min-height:calc(var(--spacing)*18);width:100%}.chat-item .chat-item-content-main{align-items:center;display:flex}:where(.chat-item .chat-item-content-main>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*1*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*1*var(--tw-space-x-reverse))}.chat-item .chat-item-content-main-image{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.chat-item .chat-item-content-main-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.chat-item .chat-item-content-main-name,.chat-item .chat-item-content-main-time{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-main-time{color:var(--color-gray-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-secondary{align-items:flex-start;display:flex;flex-direction:row;width:100%}.chat-item .chat-item-content-secondary-nickname{font-size:var(--text-base);-webkit-line-clamp:1;line-height:var(--tw-leading,var(--text-base--line-height));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-secondary-message{color:var(--color-gray-600);font-size:var(--text-sm);-webkit-line-clamp:1;line-height:var(--tw-leading,var(--text-sm--line-height));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-unread{background-color:var(--color-primary);border-radius:3.40282e+38px;color:var(--color-white);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-unread-mark{display:inline-block;height:calc(var(--spacing)*2.5);width:calc(var(--spacing)*2.5)}.chat-item .chat-item-content-unread-count{padding-block:calc(var(--spacing)*.5);padding-inline:calc(var(--spacing)*2)}.z-icon-button{cursor:pointer;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-icon-button:focus{--tw-outline-style:none;outline-style:none}.z-icon-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-icon-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px}.z-icon-button-outlined,.z-icon-button-text{color:var(--color-primary)}.z-icon-button-disabled{cursor:not-allowed;opacity:.5}.z-button{cursor:pointer;--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-button:focus{--tw-outline-style:none;outline-style:none}.z-button-small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2)}.z-button-medium{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3)}.z-button-large{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4)}.z-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px;color:var(--color-primary)}.z-button-disabled{cursor:not-allowed;opacity:.5}.z-button-text{margin-inline:calc(var(--spacing)*2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.z-input-area-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input-area-input,.z-input-area-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input-area-input{border-radius:var(--radius-lg);border-style:var(--tw-border-style);padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);--tw-ring-color:var(--color-primary);border-width:1px;width:100%}.z-input-area-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-area-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-input-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input,.z-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input{border-style:var(--tw-border-style);padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);--tw-ring-color:var(--color-primary);border-radius:3.40282e+38px;border-width:1px;width:100%}.z-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-select-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-tag-or-status-item{align-items:center;border-radius:var(--radius-2xl);gap:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:inline-flex}.z-tag-or-status-item .z-tag-or-status-item-name{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));max-width:calc(var(--spacing)*20)}.z-tag-or-status-item .z-tag-or-status-item-icon{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-context-input{align-items:center;display:flex;flex-direction:row;margin-block:calc(var(--spacing)*1)}.z-context-input-key{border-bottom-left-radius:var(--radius-3xl);border-style:var(--tw-border-style);border-top-left-radius:var(--radius-3xl);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary);border-width:1px;flex:1}.z-context-input-key:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-context-input-value{border-bottom-right-radius:var(--radius-3xl);border-style:var(--tw-border-style);border-top-right-radius:var(--radius-3xl);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));min-height:2.4rem;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary);border-width:1px;flex:2}.z-context-input-value:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-text-with-link{color:var(--color-blue-600);text-decoration-line:underline}}@layer utilities{.mx-auto{margin-inline:auto}.size-18{height:calc(var(--spacing)*18);width:calc(var(--spacing)*18)}}.scroll-container::-webkit-scrollbar{background:#0000001a;height:8px;width:8px}.scroll-container:active::-webkit-scrollbar,.scroll-container:hover::-webkit-scrollbar{background:#0003}.scroll-container:active::-webkit-scrollbar-thumb,.scroll-container:hover::-webkit-scrollbar-thumb{background:#0006;border-radius:4px}.z-text-light{color:var(--color-black)}.z-text-dark{color:var(--color-white)}.z-text-primary-light{color:var(--color-primary)}.z-text-primary-dark{color:var(--color-primary-dark)}.z-text-gray-light{color:var(--color-gray-500)}.z-text-gray-dark{color:var(--color-gray-300)}.z-text-background-light{color:var(--color-background)}.z-text-background-dark{color:var(--color-background-dark)}.z-border-light{border-color:var(--color-black)}.z-border-dark{border-color:var(--color-white)}.z-border-primary-light{border-color:var(--color-primary)}.z-border-primary-dark{border-color:var(--color-primary-dark)}.z-border-divider-light{border-color:var(--color-gray-400)}.z-border-divider-dark{border-color:var(--color-gray-300)}.z-search-input-background-light{background-color:var(--color-gray-200)}.z-search-input-background-dark{background-color:var(--color-gray-500)}.z-chat-input-background-light{background-color:var(--color-white)}.z-chat-input-background-dark{background-color:var(--color-gray-700)}.z-placeholder-light::placeholder{color:var(--color-gray-500)}.z-placeholder-dark::placeholder{color:var(--color-gray-200)}.z-background-primary-light{background-color:var(--color-primary)}.z-background-primary-dark{background-color:var(--color-primary-dark)}.z-background-light{background-color:var(--color-background)}.z-background-dark{background-color:var(--color-background-dark)}.z-paper-light{background-color:var(--color-gray-100)}.z-paper-dark{background-color:var(--color-gray-700)}.z-bg-gray-light{background-color:var(--color-gray-500)}.z-bg-gray-dark{background-color:var(--color-gray-300)}.z-width-100{width:100%}.z-width-90{width:90%}.z-width-75{width:75%}.z-width-50{width:50%}.z-width-25{width:25%}.z-width-0{width:0}.z-animate-width{transition-duration:.5s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.z-animate-grid-template-cols{transition:grid-template-rows .5s}[type=checkbox]{background-color:var(--color-gray-300);border-color:var(--color-gray-300);border-radius:4px;cursor:pointer}[type=checkbox]:checked,[type=checkbox]:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);border-radius:4px;cursor:pointer}[type=checkbox]:focus{offset:0;outline-offset:0;--tw-ring-color:var(--color-primary);outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grid-cols-1{grid-template-columns:1fr}.grid-cols-1_3{grid-template-columns:1fr 3fr}.grid-cols-1_2_1{grid-template-columns:1fr 2fr 1fr}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.flex{display:flex}.hidden{display:none}.resize{resize:both}.relative{position:relative}.container{width:100%}.\\!hidden{display:none!important}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.size-4{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.size-8{height:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.size-16{height:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.size-32{height:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.size-\\[8px\\]{height:8px;width:8px}.size-\\[10px\\]{height:10px;width:10px}.rounded-full{border-radius:3.40282e+38px}.object-cover{object-fit:cover}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.m-2{margin:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-auto{margin-left:auto}.size-3{height:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.size-5{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.w-1\\/2{width:50%}.w-9{width:calc(var(--spacing)*9)}.w-full{width:100%}.max-w-32{max-width:calc(var(--spacing)*32)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0)}.translate-y-0,.translate-y-full{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%}.animate-spin{animation:var(--animate-spin)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-y-1{row-gap:calc(var(--spacing)*1)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-\\[0\\.5px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:.5px}.bg-pink-100{background-color:var(--color-pink-100)}.pt-2{padding-top:calc(var(--spacing)*2)}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-green-500{color:var(--color-green-500)}.text-green-700{color:var(--color-green-700)}.text-primary{color:var(--color-primary)}.text-red-700{color:var(--color-red-700)}.capitalize{text-transform:capitalize}.opacity-0{opacity:0}.opacity-100{opacity:1}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}@keyframes spin{to{transform:rotate(1turn)}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.hidden\\!{display:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.rotate-45{rotate:45deg}.m-auto{margin:auto}.w-xl{width:var(--container-xl)}.w-xs{width:var(--container-xs)}.-top-12{top:calc(var(--spacing)*-12)}.-top-24{top:calc(var(--spacing)*-24)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.inline-block{display:inline-block}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.right-full{right:100%}.-bottom-2{bottom:calc(var(--spacing)*-2)}.left-full{left:100%}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-2\\.5{margin-bottom:calc(var(--spacing)*2.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.size-6{height:calc(var(--spacing)*6);width:calc(var(--spacing)*6)}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.bg-yellow-300{background-color:var(--color-yellow-300)}.text-left{text-align:left}.mt-1{margin-top:calc(var(--spacing)*1)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.max-w-3xs{max-width:var(--container-3xs)}.max-w-sm{max-width:var(--container-sm)}.cursor-pointer{cursor:pointer}.rounded-br-\\[0\\]{border-bottom-right-radius:0}.rounded-bl-\\[0\\]{border-bottom-left-radius:0}.bg-black{background-color:var(--color-black)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-2{padding-block:calc(var(--spacing)*2)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.-right-0\\.5{right:calc(var(--spacing)*-.5)}.-bottom-0\\.5{bottom:calc(var(--spacing)*-.5)}.fill-current{fill:currentColor}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.size-42{height:calc(var(--spacing)*42);width:calc(var(--spacing)*42)}.h-20{height:calc(var(--spacing)*20)}.w-42{width:calc(var(--spacing)*42)}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-3{bottom:calc(var(--spacing)*3)}.left-3{left:calc(var(--spacing)*3)}.z-10{z-index:10}.z-\\[80\\]{z-index:80}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.contents{display:contents}.grid{display:grid}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-12{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12)}.size-14{height:calc(var(--spacing)*14);width:calc(var(--spacing)*14)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-\\[180px\\]{height:180px}.h-\\[220px\\]{height:220px}.h-\\[280px\\]{height:280px}.h-full{height:100%}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-\\[200px\\]{width:200px}.w-\\[250px\\]{width:250px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[18px\\]{border-radius:18px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-\\[1\\.5px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1.5px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-current{border-color:currentColor}.border-red-500{border-color:var(--color-red-500)}.bg-slate-900\\/40{background-color:#0f172b66}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities;/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-slate-900\\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/60{background-color:color-mix(in oklab,var(--color-slate-900)60%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in srgb,#fff90%,transparent);background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.p-1{padding:calc(var(--spacing)*1)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.pr-16{padding-right:calc(var(--spacing)*16)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-\\[13px\\]{font-size:13px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-red-500{color:var(--color-red-500)}.text-slate-700{color:var(--color-slate-700)}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring-primary{--tw-ring-color:var(--color-primary)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all,.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.focus\\:border-red-500:focus{border-color:var(--color-red-500)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\\:ring-0:focus,.focus\\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\\:ring-red-200:focus{--tw-ring-color:var(--color-red-200)}.focus\\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\\:ring-slate-200:focus{--tw-ring-color:var(--color-slate-200)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.top-1\\/2{top:50%}.right-2{right:calc(var(--spacing)*2)}.col-span-full{grid-column:1/-1}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.h-16{height:calc(var(--spacing)*16)}.min-h-0{min-height:calc(var(--spacing)*0)}.w-16{width:calc(var(--spacing)*16)}.min-w-0{min-width:calc(var(--spacing)*0)}.-translate-y-1\\/2{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.auto-rows-auto{grid-auto-rows:auto}.content-start{align-content:flex-start}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.overflow-y-auto{overflow-y:auto}.border-transparent{border-color:#0000}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.pr-9{padding-right:calc(var(--spacing)*9)}.break-words{overflow-wrap:break-word}.text-gray-400{color:var(--color-gray-400)}.focus\\:border-primary:focus{border-color:var(--color-primary)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.h-10{height:calc(var(--spacing)*10)}.w-10{width:calc(var(--spacing)*10)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.size-10{height:calc(var(--spacing)*10);width:calc(var(--spacing)*10)}.h-\\[160px\\]{height:160px}.h-\\[200px\\]{height:200px}.w-\\[240px\\]{width:240px}.shrink-0{flex-shrink:0}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.self-end{align-self:flex-end}.py-1{padding-block:calc(var(--spacing)*1)}.py-10{padding-block:calc(var(--spacing)*10)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.text-slate-500{color:var(--color-slate-500)}.opacity-70{opacity:.7}.shadow-\\[0_8px_24px_rgba\\(15\\,23\\,42\\,0\\.08\\)\\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0f172a14)}.shadow-\\[0_8px_24px_rgba\\(15\\,23\\,42\\,0\\.08\\)\\],.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.text-yellow-500{color:var(--color-yellow-500)}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components{.chat-item .chat-item-content-main-name,.chat-item .chat-item-content-main-time{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.z-icon-button-outlined,.z-icon-button-text{color:var(--color-primary)}.z-input,.z-input-area-input,.z-input-area-label,.z-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@layer utilities{.translate-y-0,.translate-y-full{translate:var(--tw-translate-x)var(--tw-translate-y)}.focus\\:ring-0:focus,.focus\\:ring-2:focus,.shadow,.shadow-\\[0_8px_24px_rgba\\(15\\,23\\,42\\,0\\.08\\)\\],.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}:host{display:block}.z-avatar-error{align-items:center;display:flex;justify-content:center}.z-avatar-2x-small{height:12px;min-height:12px;min-width:12px;width:12px}.z-avatar-x-small{height:calc(var(--spacing)*4);min-height:calc(var(--spacing)*4);min-width:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-avatar-small{height:calc(var(--spacing)*8);min-height:calc(var(--spacing)*8);min-width:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.z-avatar-medium{height:calc(var(--spacing)*16);min-height:calc(var(--spacing)*16);min-width:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.z-avatar-large{height:calc(var(--spacing)*32);min-height:calc(var(--spacing)*32);min-width:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.z-avatar-full{height:100%;width:100%}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{appearance:auto}[type=checkbox]:indeterminate{appearance:auto}[type=checkbox]:checked,[type=checkbox]:indeterminate,[type=radio]:checked{appearance:auto}}@media (hover:hover){.hover\\:brightness-110:hover,.z-button-outlined:hover,.z-button-primary:hover,.z-icon-button-outlined:hover,.z-icon-button-primary:hover,.z-icon-button-text:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-gray-600:hover{color:var(--color-gray-600)}.hover\\:opacity-100:hover{opacity:1}.hover\\:brightness-110:hover,.z-button-outlined:hover,.z-button-primary:hover,.z-icon-button-outlined:hover,.z-icon-button-primary:hover,.z-icon-button-text:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}@media screen and (min-width:0){.z-max-height{height:calc(100vh - 56px)}}@media screen and (min-width:600px){.z-max-height{height:calc(100vh - 64px)}}@media (min-width:40rem){.container{max-width:40rem}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:min-w-0{min-width:calc(var(--spacing)*0)}.sm\\:flex-row{flex-direction:row}}@media (min-width:48rem){.container{max-width:48rem}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.container{max-width:64rem}.lg\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}@media not all and (min-width:40rem){.max-sm\\:hidden{display:none}}";
|
|
5
|
+
const zAvatarCss = "@layer base{*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-x-reverse:0;--tw-shadow:0 0 #0000;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-alpha:100%;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-drop-shadow-alpha:100%;--tw-border-style:solid;border:0 solid;box-sizing:border-box;margin:0;padding:0}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-x-reverse:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-border-style:solid;--tw-space-y-reverse:0;--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:host,:root{--container-xl:36rem;--color-yellow-500:oklch(79.5% .184 86.047);--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--container-xs:20rem;--container-md:28rem;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--color-slate-500:oklch(55.4% .046 257.417);--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--color-yellow-300:oklch(90.5% .182 98.111);--container-3xs:16rem;--container-sm:24rem;--color-red-700:oklch(50.5% .213 27.518);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-blue-500:oklch(62.3% .214 259.815);--color-pink-100:oklch(94.8% .028 342.258);--font-weight-semibold:600;--font-weight-bold:700;--animate-spin:spin 1s linear infinite;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--font-weight-medium:500;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:\"Kanit\",var(--default-font);--default-mono-font-family:var(--font-mono);--default-font:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--color-primary:#e02848;--color-secondary:#023761;--color-background:#fff;--color-primary-dark:#b50f30;--color-secondary-dark:#fff;--color-background-dark:#23292d}}@layer base{::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-meridiem-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-color:oklch(55.1% .027 264.364);border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}:is([type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);border-color:oklch(54.6% .245 262.881);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}select{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}[multiple],[size]:where(select:not([size=\"1\"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;print-color-adjust:unset}[type=checkbox],[type=radio]{appearance:none;color:oklch(54.6% .245 262.881);print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-color:oklch(55.1% .027 264.364);border-width:1px;display:inline-block;flex-shrink:0;height:1rem;padding:0;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E\")}[type=radio]:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E\")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components{.dialog-backdrop{align-items:center;background-color:#0006;display:flex;inset:calc(var(--spacing)*0);justify-content:center;position:fixed;z-index:50}@supports (color:color-mix(in lab,red,red)){.dialog-backdrop{background-color:color-mix(in oklab,var(--color-black)40%,transparent);background-color:color-mix(in srgb,#00040%,transparent)}}.chat-item{border-radius:var(--radius-xl);cursor:pointer;margin-block:calc(var(--spacing)*1);margin-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);align-items:flex-start;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:flex;position:relative}:where(.chat-item>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-pin{position:absolute;right:-12px;top:calc(var(--spacing)*1)}.chat-item .chat-item-pin-icon{fill:currentColor;height:calc(var(--spacing)*3);rotate:45deg;width:calc(var(--spacing)*3)}.chat-item .chat-item-content-container{display:flex;flex-direction:row;width:100%}:where(.chat-item .chat-item-content-container>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-avatar-wrapper{align-self:center;flex-shrink:0;position:relative}.chat-item .chat-item-avatar-badge{bottom:-2px;position:absolute;right:-2px}.chat-item .chat-item-content-wrapper{min-height:calc(var(--spacing)*18);width:100%}.chat-item .chat-item-content-main{align-items:center;display:flex}:where(.chat-item .chat-item-content-main>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*1*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*1*var(--tw-space-x-reverse))}.chat-item .chat-item-content-main-image{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.chat-item .chat-item-content-main-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.chat-item .chat-item-content-main-name,.chat-item .chat-item-content-main-time{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-main-time{color:var(--color-gray-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-secondary{align-items:flex-start;display:flex;flex-direction:row;width:100%}.chat-item .chat-item-content-secondary-nickname{font-size:var(--text-base);-webkit-line-clamp:1;line-height:var(--tw-leading,var(--text-base--line-height));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-secondary-message{color:var(--color-gray-600);font-size:var(--text-sm);-webkit-line-clamp:1;line-height:var(--tw-leading,var(--text-sm--line-height));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-unread{background-color:var(--color-primary);border-radius:3.40282e+38px;color:var(--color-white);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-unread-mark{display:inline-block;height:calc(var(--spacing)*2.5);width:calc(var(--spacing)*2.5)}.chat-item .chat-item-content-unread-count{padding-block:calc(var(--spacing)*.5);padding-inline:calc(var(--spacing)*2)}.z-icon-button{cursor:pointer;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-icon-button:focus{--tw-outline-style:none;outline-style:none}.z-icon-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-icon-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px}.z-icon-button-outlined,.z-icon-button-text{color:var(--color-primary)}.z-icon-button-disabled{cursor:not-allowed;opacity:.5}.z-button{cursor:pointer;--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-button:focus{--tw-outline-style:none;outline-style:none}.z-button-small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2)}.z-button-medium{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3)}.z-button-large{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4)}.z-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px;color:var(--color-primary)}.z-button-disabled{cursor:not-allowed;opacity:.5}.z-button-text{margin-inline:calc(var(--spacing)*2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.z-input-area-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input-area-input,.z-input-area-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input-area-input{border-radius:var(--radius-lg);border-style:var(--tw-border-style);padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);--tw-ring-color:var(--color-primary);border-width:1px;width:100%}.z-input-area-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-area-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-input-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input,.z-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input{border-style:var(--tw-border-style);padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);--tw-ring-color:var(--color-primary);border-radius:3.40282e+38px;border-width:1px;width:100%}.z-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-select-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-tag-or-status-item{align-items:center;border-radius:var(--radius-2xl);gap:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:inline-flex}.z-tag-or-status-item .z-tag-or-status-item-name{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));max-width:calc(var(--spacing)*20)}.z-tag-or-status-item .z-tag-or-status-item-icon{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-context-input{align-items:center;display:flex;flex-direction:row;margin-block:calc(var(--spacing)*1)}.z-context-input-key{border-bottom-left-radius:var(--radius-3xl);border-style:var(--tw-border-style);border-top-left-radius:var(--radius-3xl);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary);border-width:1px;flex:1}.z-context-input-key:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-context-input-value{border-bottom-right-radius:var(--radius-3xl);border-style:var(--tw-border-style);border-top-right-radius:var(--radius-3xl);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));min-height:2.4rem;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary);border-width:1px;flex:2}.z-context-input-value:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-text-with-link{color:var(--color-blue-600);text-decoration-line:underline}}@layer utilities{.mx-auto{margin-inline:auto}.size-18{height:calc(var(--spacing)*18);width:calc(var(--spacing)*18)}}.scroll-container::-webkit-scrollbar{background:#0000001a;height:8px;width:8px}.scroll-container:active::-webkit-scrollbar,.scroll-container:hover::-webkit-scrollbar{background:#0003}.scroll-container:active::-webkit-scrollbar-thumb,.scroll-container:hover::-webkit-scrollbar-thumb{background:#0006;border-radius:4px}.z-text-light{color:var(--color-black)}.z-text-dark{color:var(--color-white)}.z-text-primary-light{color:var(--color-primary)}.z-text-primary-dark{color:var(--color-primary-dark)}.z-text-gray-light{color:var(--color-gray-500)}.z-text-gray-dark{color:var(--color-gray-300)}.z-text-background-light{color:var(--color-background)}.z-text-background-dark{color:var(--color-background-dark)}.z-border-light{border-color:var(--color-black)}.z-border-dark{border-color:var(--color-white)}.z-border-primary-light{border-color:var(--color-primary)}.z-border-primary-dark{border-color:var(--color-primary-dark)}.z-border-divider-light{border-color:var(--color-gray-400)}.z-border-divider-dark{border-color:var(--color-gray-300)}.z-search-input-background-light{background-color:var(--color-gray-200)}.z-search-input-background-dark{background-color:var(--color-gray-500)}.z-chat-input-background-light{background-color:var(--color-white)}.z-chat-input-background-dark{background-color:var(--color-gray-700)}.z-placeholder-light::placeholder{color:var(--color-gray-500)}.z-placeholder-dark::placeholder{color:var(--color-gray-200)}.z-background-primary-light{background-color:var(--color-primary)}.z-background-primary-dark{background-color:var(--color-primary-dark)}.z-background-light{background-color:var(--color-background)}.z-background-dark{background-color:var(--color-background-dark)}.z-paper-light{background-color:var(--color-gray-100)}.z-paper-dark{background-color:var(--color-gray-700)}.z-bg-gray-light{background-color:var(--color-gray-500)}.z-bg-gray-dark{background-color:var(--color-gray-300)}.z-width-100{width:100%}.z-width-90{width:90%}.z-width-75{width:75%}.z-width-50{width:50%}.z-width-25{width:25%}.z-width-0{width:0}.z-animate-width{transition-duration:.5s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.z-animate-grid-template-cols{transition:grid-template-rows .5s}[type=checkbox]{background-color:var(--color-gray-300);border-color:var(--color-gray-300);border-radius:4px;cursor:pointer}[type=checkbox]:checked,[type=checkbox]:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);border-radius:4px;cursor:pointer}[type=checkbox]:focus{offset:0;outline-offset:0;--tw-ring-color:var(--color-primary);outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grid-cols-1{grid-template-columns:1fr}.grid-cols-1_3{grid-template-columns:1fr 3fr}.grid-cols-1_2_1{grid-template-columns:1fr 2fr 1fr}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.flex{display:flex}.hidden{display:none}.resize{resize:both}.container{width:100%}.\\!hidden{display:none!important}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.relative{position:relative}.size-4{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.size-8{height:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.size-16{height:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.size-32{height:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.size-\\[8px\\]{height:8px;width:8px}.size-\\[10px\\]{height:10px;width:10px}.rounded-full{border-radius:3.40282e+38px}.object-cover{object-fit:cover}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.m-2{margin:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-auto{margin-left:auto}.size-3{height:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.size-5{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.w-1\\/2{width:50%}.w-9{width:calc(var(--spacing)*9)}.w-full{width:100%}.max-w-32{max-width:calc(var(--spacing)*32)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0)}.translate-y-0,.translate-y-full{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%}.animate-spin{animation:var(--animate-spin)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-y-1{row-gap:calc(var(--spacing)*1)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-\\[0\\.5px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:.5px}.bg-pink-100{background-color:var(--color-pink-100)}.pt-2{padding-top:calc(var(--spacing)*2)}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-green-500{color:var(--color-green-500)}.text-green-700{color:var(--color-green-700)}.text-primary{color:var(--color-primary)}.text-red-700{color:var(--color-red-700)}.capitalize{text-transform:capitalize}.opacity-0{opacity:0}.opacity-100{opacity:1}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}@keyframes spin{to{transform:rotate(1turn)}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.rotate-45{rotate:45deg}.hidden\\!{display:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.m-auto{margin:auto}.w-xl{width:var(--container-xl)}.w-xs{width:var(--container-xs)}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.my-2{margin-block:calc(var(--spacing)*2)}.-top-12{top:calc(var(--spacing)*-12)}.-top-24{top:calc(var(--spacing)*-24)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.inline-block{display:inline-block}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.mt-1{margin-top:calc(var(--spacing)*1)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.max-w-3xs{max-width:var(--container-3xs)}.max-w-sm{max-width:var(--container-sm)}.cursor-pointer{cursor:pointer}.rounded-br-\\[0\\]{border-bottom-right-radius:0}.rounded-bl-\\[0\\]{border-bottom-left-radius:0}.bg-black{background-color:var(--color-black)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-2{padding-block:calc(var(--spacing)*2)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.right-full{right:100%}.-bottom-2{bottom:calc(var(--spacing)*-2)}.left-full{left:100%}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-2\\.5{margin-bottom:calc(var(--spacing)*2.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.size-6{height:calc(var(--spacing)*6);width:calc(var(--spacing)*6)}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.bg-yellow-300{background-color:var(--color-yellow-300)}.text-left{text-align:left}.size-42{height:calc(var(--spacing)*42);width:calc(var(--spacing)*42)}.h-20{height:calc(var(--spacing)*20)}.w-42{width:calc(var(--spacing)*42)}.-right-0\\.5{right:calc(var(--spacing)*-.5)}.-bottom-0\\.5{bottom:calc(var(--spacing)*-.5)}.fill-current{fill:currentColor}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.border-transparent{border-color:#0000}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.top-1\\/2{top:50%}.right-2{right:calc(var(--spacing)*2)}.col-span-full{grid-column:1/-1}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.grid{display:grid}.inline-flex{display:inline-flex}.h-9{height:calc(var(--spacing)*9)}.h-16{height:calc(var(--spacing)*16)}.min-h-0{min-height:calc(var(--spacing)*0)}.w-16{width:calc(var(--spacing)*16)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.-translate-y-1\\/2{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.auto-rows-auto{grid-auto-rows:auto}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.pr-9{padding-right:calc(var(--spacing)*9)}.text-center{text-align:center}.break-words{overflow-wrap:break-word}.text-gray-400{color:var(--color-gray-400)}.ring-primary{--tw-ring-color:var(--color-primary)}.focus\\:border-primary:focus{border-color:var(--color-primary)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.h-10{height:calc(var(--spacing)*10)}.w-10{width:calc(var(--spacing)*10)}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-3{bottom:calc(var(--spacing)*3)}.left-3{left:calc(var(--spacing)*3)}.z-10{z-index:10}.z-\\[80\\]{z-index:80}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.contents{display:contents}.aspect-square{aspect-ratio:1}.size-12{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12)}.size-14{height:calc(var(--spacing)*14);width:calc(var(--spacing)*14)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-\\[180px\\]{height:180px}.h-\\[220px\\]{height:220px}.h-\\[280px\\]{height:280px}.h-full{height:100%}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-\\[200px\\]{width:200px}.w-\\[250px\\]{width:250px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-shrink-0,.shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.resize-none{resize:none}.items-end{align-items:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[18px\\]{border-radius:18px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-\\[1\\.5px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1.5px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-current{border-color:currentColor}.border-red-500{border-color:var(--color-red-500)}.bg-slate-900\\/40{background-color:#0f172b66}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities;/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-slate-900\\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/60{background-color:color-mix(in oklab,var(--color-slate-900)60%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in srgb,#fff90%,transparent);background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.p-1{padding:calc(var(--spacing)*1)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.pr-16{padding-right:calc(var(--spacing)*16)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-\\[13px\\]{font-size:13px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.text-red-500{color:var(--color-red-500)}.text-slate-700{color:var(--color-slate-700)}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all,.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.focus\\:border-red-500:focus{border-color:var(--color-red-500)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\\:ring-0:focus,.focus\\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\\:ring-red-200:focus{--tw-ring-color:var(--color-red-200)}.focus\\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\\:ring-slate-200:focus{--tw-ring-color:var(--color-slate-200)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.size-10{height:calc(var(--spacing)*10);width:calc(var(--spacing)*10)}.h-\\[160px\\]{height:160px}.h-\\[200px\\]{height:200px}.w-\\[240px\\]{width:240px}.shrink-0{flex-shrink:0}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.self-end{align-self:flex-end}.py-1{padding-block:calc(var(--spacing)*1)}.py-10{padding-block:calc(var(--spacing)*10)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.text-slate-500{color:var(--color-slate-500)}.opacity-70{opacity:.7}.shadow-\\[0_8px_24px_rgba\\(15\\,23\\,42\\,0\\.08\\)\\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0f172a14)}.shadow-\\[0_8px_24px_rgba\\(15\\,23\\,42\\,0\\.08\\)\\],.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.text-yellow-500{color:var(--color-yellow-500)}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities;/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components{.chat-item .chat-item-content-main-name,.chat-item .chat-item-content-main-time{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.z-icon-button-outlined,.z-icon-button-text{color:var(--color-primary)}.z-input,.z-input-area-input,.z-input-area-label,.z-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@layer utilities{.translate-y-0,.translate-y-full{translate:var(--tw-translate-x)var(--tw-translate-y)}.focus\\:ring-0:focus,.focus\\:ring-2:focus,.shadow,.shadow-\\[0_8px_24px_rgba\\(15\\,23\\,42\\,0\\.08\\)\\],.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}:host{display:block}.z-avatar-error{align-items:center;display:flex;justify-content:center}.z-avatar-2x-small{height:12px;min-height:12px;min-width:12px;width:12px}.z-avatar-x-small{height:calc(var(--spacing)*4);min-height:calc(var(--spacing)*4);min-width:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-avatar-small{height:calc(var(--spacing)*8);min-height:calc(var(--spacing)*8);min-width:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.z-avatar-medium{height:calc(var(--spacing)*16);min-height:calc(var(--spacing)*16);min-width:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.z-avatar-large{height:calc(var(--spacing)*32);min-height:calc(var(--spacing)*32);min-width:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.z-avatar-full{height:100%;width:100%}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{appearance:auto}[type=checkbox]:indeterminate{appearance:auto}[type=checkbox]:checked,[type=checkbox]:indeterminate,[type=radio]:checked{appearance:auto}}@media (hover:hover){.hover\\:brightness-110:hover,.z-button-outlined:hover,.z-button-primary:hover,.z-icon-button-outlined:hover,.z-icon-button-primary:hover,.z-icon-button-text:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:text-gray-600:hover{color:var(--color-gray-600)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:opacity-100:hover{opacity:1}.hover\\:brightness-110:hover,.z-button-outlined:hover,.z-button-primary:hover,.z-icon-button-outlined:hover,.z-icon-button-primary:hover,.z-icon-button-text:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}@media screen and (min-width:0){.z-max-height{height:calc(100vh - 56px)}}@media screen and (min-width:600px){.z-max-height{height:calc(100vh - 64px)}}@media (min-width:40rem){.container{max-width:40rem}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:min-w-0{min-width:calc(var(--spacing)*0)}.sm\\:flex-row{flex-direction:row}}@media (min-width:48rem){.container{max-width:48rem}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.container{max-width:64rem}.lg\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}@media not all and (min-width:40rem){.max-sm\\:hidden{display:none}}";
|
|
6
6
|
|
|
7
7
|
const ZAvatar = /*@__PURE__*/ proxyCustomElement(class ZAvatar extends H {
|
|
8
8
|
constructor(registerHost) {
|
|
@@ -96,6 +96,6 @@ function defineCustomElement() {
|
|
|
96
96
|
defineCustomElement();
|
|
97
97
|
|
|
98
98
|
export { ZAvatar as Z, defineCustomElement as d };
|
|
99
|
-
//# sourceMappingURL=p-
|
|
99
|
+
//# sourceMappingURL=p-CI0T9mG3.js.map
|
|
100
100
|
|
|
101
|
-
//# sourceMappingURL=p-
|
|
101
|
+
//# sourceMappingURL=p-CI0T9mG3.js.map
|