@zenify-omni/chat-ui-react-js 0.1.0
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/LICENSE +21 -0
- package/README.md +92 -0
- package/assets/asset-url.js +6 -0
- package/assets/icons/chatter_agent.js +27 -0
- package/assets/icons/chatter_chatbot.js +43 -0
- package/assets/icons/chatter_contact.js +36 -0
- package/assets/icons/email_icon.png +0 -0
- package/assets/icons/emoji/angry.svg +56 -0
- package/assets/icons/emoji/haha.svg +20 -0
- package/assets/icons/emoji/like.svg +10 -0
- package/assets/icons/emoji/like_out_line.png +0 -0
- package/assets/icons/emoji/love.svg +10 -0
- package/assets/icons/emoji/sad.svg +46 -0
- package/assets/icons/emoji/wow.svg +51 -0
- package/assets/icons/instagram.js +29 -0
- package/assets/icons/not_found.png +0 -0
- package/assets/icons/not_found_template.svg +9 -0
- package/assets/icons/phone_icon.png +0 -0
- package/assets/icons/shopee.js +17 -0
- package/assets/icons/sms_icon.png +0 -0
- package/assets/icons/tiktok.js +17 -0
- package/assets/icons/whatsapp.js +28 -0
- package/assets/icons/zalo.js +17 -0
- package/assets/icons/zalo_icon.png +0 -0
- package/assets/icons/zns_icon.png +0 -0
- package/assets/images/emoji.webp +0 -0
- package/assets/images/error.png +0 -0
- package/assets/images/menu.png +0 -0
- package/assets/images/money.png +0 -0
- package/assets/images/success.png +0 -0
- package/assets/public-urls.js +78 -0
- package/components/campaign-detail-route/select/group.js +38 -0
- package/components/campaign-detail-route/select/multi-groups.js +43 -0
- package/components/chat-route/chat-box/ads-context-card.js +143 -0
- package/components/chat-route/chat-box/chat-drop-file.js +18 -0
- package/components/chat-route/chat-box/chat-feedback/chat-insight.js +214 -0
- package/components/chat-route/chat-box/chat-feedback/index.js +127 -0
- package/components/chat-route/chat-box/chat-header-actions-inline.js +1055 -0
- package/components/chat-route/chat-box/chat-header.js +465 -0
- package/components/chat-route/chat-box/chat-input.js +1164 -0
- package/components/chat-route/chat-box/chat-message-action.js +399 -0
- package/components/chat-route/chat-box/chat-message-list.js +995 -0
- package/components/chat-route/chat-box/chat-message.js +2099 -0
- package/components/chat-route/chat-box/chat-reply-preview.js +317 -0
- package/components/chat-route/chat-box/common-groups-modal.js +430 -0
- package/components/chat-route/chat-box/constants.js +29 -0
- package/components/chat-route/chat-box/contact-card/index.js +87 -0
- package/components/chat-route/chat-box/edit-customer-alias-dialog.js +197 -0
- package/components/chat-route/chat-box/emoji-picker-combined.js +91 -0
- package/components/chat-route/chat-box/emoji-sprite.js +45 -0
- package/components/chat-route/chat-box/emojiMap.js +92 -0
- package/components/chat-route/chat-box/facebook-reconnect-notice.js +49 -0
- package/components/chat-route/chat-box/forward-message-modal.js +659 -0
- package/components/chat-route/chat-box/index.js +165 -0
- package/components/chat-route/chat-box/message-time.js +44 -0
- package/components/chat-route/chat-box/message-viewers.js +114 -0
- package/components/chat-route/chat-box/pasted-file-preview.js +138 -0
- package/components/chat-route/chat-box/pinned-messages.js +255 -0
- package/components/chat-route/chat-box/react-message/react-preview.js +83 -0
- package/components/chat-route/chat-box/react-message/reaction-button.js +200 -0
- package/components/chat-route/chat-box/right-side/chat-history.js +142 -0
- package/components/chat-route/chat-box/right-side/chat-tag-selector.js +232 -0
- package/components/chat-route/chat-box/right-side/create-personal-tag-modal.js +458 -0
- package/components/chat-route/chat-box/right-side/customer/customer-info-item.js +60 -0
- package/components/chat-route/chat-box/right-side/in-room-dialog.js +225 -0
- package/components/chat-route/chat-box/right-side/zalo-group/add-friend-dialog.js +154 -0
- package/components/chat-route/chat-box/right-side/zalo-group/send-message-dialog.js +165 -0
- package/components/chat-route/chat-box/send-contact-card-modal.js +102 -0
- package/components/chat-route/chat-box/send-contact-card.js +80 -0
- package/components/chat-route/chat-box/text-content.js +400 -0
- package/components/chat-route/chat-box/use-facebook-page-invalid.js +22 -0
- package/components/chat-route/chat-box/zalo-emoji-decoration.js +98 -0
- package/components/chat-route/chat-box/zalo-emoji-picker.js +74 -0
- package/components/chat-route/chat-box/zalo-personal-editor.js +590 -0
- package/components/chat-route/chat-box/zalo-reminder/create-zalo-reminder.js +868 -0
- package/components/chat-route/chat-box/zalo-reminder/use-send-zalo-reminder.js +98 -0
- package/components/chat-route/chat-box/zalo-reminder/zalo-reminder-content.js +294 -0
- package/components/chat-route/chat-box/zalo-rtf-utils.js +422 -0
- package/components/chat-route/chat-list/action-chat-item.js +116 -0
- package/components/chat-route/chat-list/assign-agent-dialog.js +170 -0
- package/components/chat-route/chat-list/assign-tag-dialog.js +242 -0
- package/components/chat-route/chat-list/chat-item-tags.js +105 -0
- package/components/chat-route/chat-list/chat-item.js +749 -0
- package/components/chat-route/chat-list/chat-list-item.js +370 -0
- package/components/chat-route/chat-list/chat-list-selection-bar.js +426 -0
- package/components/chat-route/chat-list/chat-search-preview.js +48 -0
- package/components/chat-route/chat-list/chat-sort-menu.js +89 -0
- package/components/chat-route/chat-list/edit-filter-modal.js +468 -0
- package/components/chat-route/chat-list/filter-chat-sources.js +222 -0
- package/components/chat-route/chat-list/filter-chat.js +501 -0
- package/components/chat-route/chat-list/filter-criteria-rows.js +845 -0
- package/components/chat-route/chat-list/filter-group-select.js +66 -0
- package/components/chat-route/chat-list/filter-pin-menu.js +165 -0
- package/components/chat-route/chat-list/friend-request/list-friend-request.js +287 -0
- package/components/chat-route/chat-list/index.js +243 -0
- package/components/chat-route/chat-list/inline-search-results.js +178 -0
- package/components/chat-route/chat-list/post-ids-field.js +104 -0
- package/components/chat-route/chat-list/quick-filter-bar.js +391 -0
- package/components/chat-route/chat-list/save-filter-popover.js +258 -0
- package/components/chat-route/chat-list/search-messages/index.js +225 -0
- package/components/chat-route/chat-list/search-result-header.js +51 -0
- package/components/chat-route/chat-list/util.js +604 -0
- package/components/chat-route/chat-toolbar.js +108 -0
- package/components/chat-route/hooks/use-reassign.js +111 -0
- package/components/chat-route/shared/close-conversation-dialog.js +111 -0
- package/components/chat-route/shared/force-transfer-dialog.js +109 -0
- package/components/chat-route/shared/in-queue-confirm-dialog.js +40 -0
- package/components/chat-route/util.js +146 -0
- package/components/chat-route/zalo/modal-action-zalo.js +76 -0
- package/components/chat-route/zalo/modal-add-friend-zalo.js +277 -0
- package/components/custom/SafeHTML.js +45 -0
- package/components/custom/audio-player.js +81 -0
- package/components/custom/avatar.js +95 -0
- package/components/custom/between-date-picker/index.js +86 -0
- package/components/custom/button-close.js +28 -0
- package/components/custom/button.js +80 -0
- package/components/custom/color-picker.js +81 -0
- package/components/custom/combobox.js +168 -0
- package/components/custom/custom-dialog.js +44 -0
- package/components/custom/custom-select.js +256 -0
- package/components/custom/cycle-value-helpers.js +11 -0
- package/components/custom/cycle-value.js +93 -0
- package/components/custom/date-time-picker/components/date-time-group.js +44 -0
- package/components/custom/date-time-picker/components/date-time-input.js +383 -0
- package/components/custom/date-time-picker/components/date-time-unit-input.js +138 -0
- package/components/custom/date-time-picker/components/month-year-picker.js +232 -0
- package/components/custom/date-time-picker/hooks/use-merge-refs.js +18 -0
- package/components/custom/date-time-picker/hooks/use-scroll-to-center.js +18 -0
- package/components/custom/date-time-picker/index.js +348 -0
- package/components/custom/field-file-upload/files-upload.js +87 -0
- package/components/custom/field-file-upload/image-upload.js +115 -0
- package/components/custom/field-file-upload/preview-images-modal.js +284 -0
- package/components/custom/field-file-upload/preview-list-file.js +134 -0
- package/components/custom/field-file-upload/preview-list-image.js +108 -0
- package/components/custom/field-file-upload/upload-custom.js +222 -0
- package/components/custom/field-generator.js +639 -0
- package/components/custom/field-layout-popover.js +304 -0
- package/components/custom/file-preview-modal.js +351 -0
- package/components/custom/html-edtior.js +100 -0
- package/components/custom/icon.js +49 -0
- package/components/custom/infinite-scroll-combobox.js +253 -0
- package/components/custom/inline-edit-popover.js +90 -0
- package/components/custom/inputs/calendar-input.js +0 -0
- package/components/custom/inputs/chip-input.js +136 -0
- package/components/custom/inputs/file-input.js +71 -0
- package/components/custom/inputs/mask-data/mask-data-input.js +80 -0
- package/components/custom/inputs/mask-data/mask-data-select.js +78 -0
- package/components/custom/inputs/mask-data/mask-data-textarea.js +75 -0
- package/components/custom/inputs/mask-data/reconcile-masked-edit.js +20 -0
- package/components/custom/jxl-decode.js +34 -0
- package/components/custom/jxl-image.js +68 -0
- package/components/custom/jxl-worker.js +12 -0
- package/components/custom/label.js +55 -0
- package/components/custom/layout.js +30 -0
- package/components/custom/multi-select-search-cc.js +179 -0
- package/components/custom/multiple-select-setting-tags.js +404 -0
- package/components/custom/multiple-selector.js +821 -0
- package/components/custom/pagination.js +95 -0
- package/components/custom/popup-confirm.js +120 -0
- package/components/custom/previews/facebook/facebook-appointment-booking-preview.js +83 -0
- package/components/custom/previews/facebook/facebook-audio-preview.js +130 -0
- package/components/custom/previews/facebook/facebook-event-preview.js +72 -0
- package/components/custom/previews/facebook/facebook-file-preview.js +95 -0
- package/components/custom/previews/facebook/facebook-group-preview.js +103 -0
- package/components/custom/previews/facebook/facebook-image-preview.js +81 -0
- package/components/custom/previews/facebook/facebook-page-preview.js +85 -0
- package/components/custom/previews/facebook/facebook-post-preview.js +77 -0
- package/components/custom/previews/facebook/facebook-reel-preview.js +83 -0
- package/components/custom/previews/facebook/facebook-sticker-preview.js +23 -0
- package/components/custom/previews/facebook/facebook-video-preview.js +114 -0
- package/components/custom/previews/facebook/index.js +24 -0
- package/components/custom/previews/file-preview.js +747 -0
- package/components/custom/previews/image-preview.js +288 -0
- package/components/custom/previews/instagram/index.js +4 -0
- package/components/custom/previews/instagram/instagram-share-post-preview.js +77 -0
- package/components/custom/previews/link-preview.js +166 -0
- package/components/custom/previews/product-preview.js +334 -0
- package/components/custom/previews/tiktok-order-preview.js +278 -0
- package/components/custom/previews/tiktok-product-preview.js +321 -0
- package/components/custom/previews/tiktok-voucher-preview.js +151 -0
- package/components/custom/previews/whatsapp/index.js +10 -0
- package/components/custom/previews/whatsapp/whatsapp-contact-card-preview.js +150 -0
- package/components/custom/previews/whatsapp/whatsapp-order-preview.js +38 -0
- package/components/custom/previews/whatsapp/whatsapp-poll-preview.js +29 -0
- package/components/custom/previews/whatsapp/whatsapp-product-preview.js +29 -0
- package/components/custom/retry-image.js +44 -0
- package/components/custom/search-input.js +26 -0
- package/components/custom/separator-with-text.js +14 -0
- package/components/custom/showToast.js +21 -0
- package/components/custom/sortable-header.js +62 -0
- package/components/custom/table-resize-line.js +92 -0
- package/components/custom/time-picker/index.js +73 -0
- package/components/custom/time-picker/time-picker-input.js +159 -0
- package/components/custom/time-picker/time-picker-utils.js +152 -0
- package/components/custom/viewers/audio-player.js +192 -0
- package/components/custom/viewers/code-viewer.js +140 -0
- package/components/custom/viewers/csv-viewer.js +174 -0
- package/components/custom/viewers/docx-viewer.js +145 -0
- package/components/custom/viewers/image-viewer.js +104 -0
- package/components/custom/viewers/markdown-viewer.js +124 -0
- package/components/custom/viewers/pdf-viewer.js +333 -0
- package/components/custom/viewers/spreadsheet-viewer.js +232 -0
- package/components/custom/viewers/unsupported-viewer.js +85 -0
- package/components/custom/viewers/video-player.js +241 -0
- package/components/customers-route/change-owner-modal.js +430 -0
- package/components/customers-route/contact-note-button.js +212 -0
- package/components/customers-route/customer-source.js +37 -0
- package/components/customers-route/table/columns.js +675 -0
- package/components/customers-route/table/edit-fields.js +125 -0
- package/components/customers-route/table/editable-cell.js +218 -0
- package/components/customers-route/table/note-cell.js +77 -0
- package/components/dialogs/invite-agent.js +677 -0
- package/components/error-boundary.js +53 -0
- package/components/leads-route/duplicate-phone-warning-toast.js +96 -0
- package/components/leads-route/table/columns.js +523 -0
- package/components/leads-route/table/contact-cell-name.js +82 -0
- package/components/leads-route/table/edit-fields.js +142 -0
- package/components/leads-route/table/editable-cell.js +228 -0
- package/components/org-tree/group-name-display.js +36 -0
- package/components/org-tree/group-tree-multi-select.js +208 -0
- package/components/org-tree/group-tree-select.js +220 -0
- package/components/posts-route/dialog-select-posts.js +284 -0
- package/components/reports-route/agents/multi-select-agents.js +55 -0
- package/components/reports-route/agents/multi-select-search-agents.js +43 -0
- package/components/settings-route/chat-layout/detail/constants.js +353 -0
- package/components/settings-route/chat-layout/detail/form.js +43 -0
- package/components/settings-route/chat-timeout/channel-multi-select.js +119 -0
- package/components/settings-route/multi-channel/facebook/hooks/use-facebook-sdk.js +3 -0
- package/components/settings-route/object-rule/util.js +79 -0
- package/components/settings-route/routing/settings-dialog.js +561 -0
- package/components/settings-route/switchboard/queue-new/constant.js +9 -0
- package/components/shared/linked-customer-fields/LinkedCustomerFields.js +91 -0
- package/components/shared/linked-customer-fields/use-linked-customer-fields.js +123 -0
- package/components/smartqc-route/qc-form/controls/multi-select-search-agents.js +50 -0
- package/components/ui/alert-dialog.js +112 -0
- package/components/ui/avatar.js +44 -0
- package/components/ui/badge.js +54 -0
- package/components/ui/button.js +48 -0
- package/components/ui/calendar.js +70 -0
- package/components/ui/card.js +58 -0
- package/components/ui/carousel.js +238 -0
- package/components/ui/checkbox.js +27 -0
- package/components/ui/command.js +111 -0
- package/components/ui/context-menu.js +154 -0
- package/components/ui/dialog.js +104 -0
- package/components/ui/dropdown-menu.js +169 -0
- package/components/ui/form.js +104 -0
- package/components/ui/input.js +115 -0
- package/components/ui/label.js +20 -0
- package/components/ui/popover.js +29 -0
- package/components/ui/radio-group.js +53 -0
- package/components/ui/scroll-area.js +38 -0
- package/components/ui/select.js +147 -0
- package/components/ui/separator.js +24 -0
- package/components/ui/sheet.js +113 -0
- package/components/ui/skeleton.js +17 -0
- package/components/ui/slider.js +26 -0
- package/components/ui/sonner.js +76 -0
- package/components/ui/switch.js +54 -0
- package/components/ui/table-v2.js +269 -0
- package/components/ui/table.js +245 -0
- package/components/ui/tabs.js +89 -0
- package/components/ui/textarea.js +33 -0
- package/components/ui/tooltip.js +40 -0
- package/components/workflow-editor/nodes/ticket/picker-field.js +233 -0
- package/components/zalo-login-qr.js +237 -0
- package/components/zalo-login-status-modal.js +45 -0
- package/config/env.js +27 -0
- package/config/hmr.js +8 -0
- package/config/navigation.js +54 -0
- package/config/runtime.js +46 -0
- package/config/theme.js +274 -0
- package/constants/brand-colors.js +32 -0
- package/constants/chat-icon.js +34 -0
- package/dist/chat.css +1 -0
- package/exceptions/throw-exception.js +15 -0
- package/hooks/use-chat-attachments.js +106 -0
- package/hooks/use-chat-configs.js +62 -0
- package/hooks/use-chat-customer.js +33 -0
- package/hooks/use-chat-display-config-sync.js +72 -0
- package/hooks/use-chat-permission.js +68 -0
- package/hooks/use-chat-room-detail.js +44 -0
- package/hooks/use-chat-selection.js +26 -0
- package/hooks/use-chat-sort.js +69 -0
- package/hooks/use-chat-surface.js +8 -0
- package/hooks/use-common-filter-options.js +70 -0
- package/hooks/use-crm-organization-filter-options.js +0 -0
- package/hooks/use-crm-organizations-data.js +23 -0
- package/hooks/use-debounce.js +14 -0
- package/hooks/use-dynamic-fields.js +7 -0
- package/hooks/use-facebook-notice.js +24 -0
- package/hooks/use-feature-flags.js +6 -0
- package/hooks/use-field-layout-override.js +46 -0
- package/hooks/use-file-upload.js +119 -0
- package/hooks/use-file-viewer.js +93 -0
- package/hooks/use-frozen-columns.js +29 -0
- package/hooks/use-horizontal-scroll.js +41 -0
- package/hooks/use-image-preview-queue.js +101 -0
- package/hooks/use-inline-editable-cell.js +97 -0
- package/hooks/use-intersection-observer.js +24 -0
- package/hooks/use-interval.js +20 -0
- package/hooks/use-latest-message-id.js +13 -0
- package/hooks/use-lead-filter-options.js +0 -0
- package/hooks/use-logout-listener.js +43 -0
- package/hooks/use-org-tree.js +43 -0
- package/hooks/use-permission.js +33 -0
- package/hooks/use-quick-filters.js +175 -0
- package/hooks/use-resizable-table.js +0 -0
- package/hooks/use-setting-common.js +389 -0
- package/hooks/use-settings.js +41 -0
- package/hooks/use-sort-bindings.js +24 -0
- package/hooks/use-table-display-config.js +0 -0
- package/hooks/use-tenant-config.js +99 -0
- package/hooks/use-update-user-config.js +150 -0
- package/hooks/use-zalo-connection.js +57 -0
- package/hooks/use-zalo-mention-list.js +31 -0
- package/index.css +624 -0
- package/index.js +100 -0
- package/lib/deal-name.js +27 -0
- package/lib/i18n/react.js +7 -0
- package/lib/i18n/use-language.js +0 -0
- package/lib/query-client.js +34 -0
- package/lib/utils.js +25 -0
- package/package.json +108 -0
- package/provider/chat-context.js +9 -0
- package/provider/chat-provider.js +177 -0
- package/provider/chat-room-context.js +9 -0
- package/provider/chat-room-hooks.js +8 -0
- package/provider/chat-room-provider.js +84 -0
- package/provider/hooks.js +22 -0
- package/provider/index.js +42 -0
- package/public/contact-card-user.svg +25 -0
- package/public/images/icons/facebook.svg +1 -0
- package/public/images/icons/instagram.svg +1 -0
- package/public/images/icons/shopee.svg +1 -0
- package/public/images/icons/whatsapp.svg +1 -0
- package/public/images/icons/zalo.png +0 -0
- package/public/images/images.jpg +0 -0
- package/public/images/ticket_sources/api.png +0 -0
- package/public/images/ticket_sources/email.png +0 -0
- package/public/images/ticket_sources/facebook.png +0 -0
- package/public/images/ticket_sources/hand.png +0 -0
- package/public/images/ticket_sources/instagram.png +0 -0
- package/public/images/ticket_sources/livechat.png +0 -0
- package/public/images/ticket_sources/shopee.svg +1 -0
- package/public/images/ticket_sources/sms.png +0 -0
- package/public/images/ticket_sources/telephone-call-in.png +0 -0
- package/public/images/ticket_sources/telephone-call-out.png +0 -0
- package/public/images/ticket_sources/tiktok.png +0 -0
- package/public/images/ticket_sources/tiktok_shop.png +0 -0
- package/public/images/ticket_sources/whatsapp.png +0 -0
- package/public/images/ticket_sources/whatsapp.svg +1 -0
- package/public/images/ticket_sources/zalo.png +0 -0
- package/public/placeholder.svg +13 -0
- package/store/app-status-store.js +17 -0
- package/store/chat-display-config-store.js +182 -0
- package/store/chat-display-config.resolvers.js +88 -0
- package/store/chat-store-helpers.js +62 -0
- package/store/chat-store.js +931 -0
- package/store/crm-organization-list-filter-store.js +126 -0
- package/store/customer-list-filter-store.js +139 -0
- package/store/devtools.js +9 -0
- package/store/duplicate-phone-warning-store.js +18 -0
- package/store/entity-extract-store.js +72 -0
- package/store/file-preview-store.js +27 -0
- package/store/filter-store.js +289 -0
- package/store/index.js +22 -0
- package/store/knowledge-crawl-store.js +53 -0
- package/store/lead-list-filter-store.js +142 -0
- package/store/list-pagination-state.js +44 -0
- package/store/lumi-learn-from-chat-store.js +69 -0
- package/store/merge-suggestion-store.js +27 -0
- package/store/notification-store.js +63 -0
- package/store/preview-image-store.js +22 -0
- package/store/settings-store/multi-channel/email-list-store.js +20 -0
- package/store/settings-store/multi-channel/facebook-list-store.js +22 -0
- package/store/settings-store/multi-channel/google-list-store.js +20 -0
- package/store/settings-store/multi-channel/instagram-list-store.js +20 -0
- package/store/settings-store/multi-channel/misa-list-store.js +20 -0
- package/store/settings-store/multi-channel/nhanhvn-list-store.js +20 -0
- package/store/settings-store/multi-channel/shopee-list-store.js +20 -0
- package/store/settings-store/multi-channel/shopee-order-list-store.js +20 -0
- package/store/settings-store/multi-channel/sms-list-store.js +20 -0
- package/store/settings-store/multi-channel/tiktok-business-list-store.js +20 -0
- package/store/settings-store/multi-channel/tiktok-list-store.js +20 -0
- package/store/settings-store/multi-channel/zalo-list-store.js +22 -0
- package/store/settings-store/multi-channel/zalo-user-list-store.js +25 -0
- package/store/smart-qc-store/smart-qc-list-filter-store.js +70 -0
- package/store/tenant-config-store.js +21 -0
- package/store/user-detail-store.js +17 -0
- package/store/user-status-store.js +33 -0
- package/store/workflow-store.js +24 -0
- package/store/workspace-store.js +32 -0
- package/tailwind-preset.js +129 -0
- package/utils/chat-actions.js +414 -0
- package/utils/chat_socket.js +1225 -0
- package/utils/extra-columns.js +108 -0
- package/utils/file.js +316 -0
- package/utils/html-to-plain-text.js +12 -0
- package/utils/notification.js +71 -0
- package/utils/replaceZaloSprite.js +64 -0
- package/utils/show-be-error.js +17 -0
- package/utils/typing_socket.js +101 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Zenify
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# @zenify-omni/chat-ui-react-js
|
|
2
|
+
|
|
3
|
+
Giao diện chat của [Zenify](https://zenify.vn) cho React: danh sách hội thoại,
|
|
4
|
+
khung tin nhắn, ô nhập — dùng trọn bộ hoặc tự ghép bố cục.
|
|
5
|
+
|
|
6
|
+
## Cài đặt
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm i @zenify-omni/chat-ui-react-js @zenify-omni/chat-js
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
npm 7+ tự cài các `peerDependencies` (React 18, react-query, i18next, zustand…).
|
|
13
|
+
|
|
14
|
+
**Không cần** Tailwind, PostCSS, alias hay cấu hình bundler nào. Chạy được với
|
|
15
|
+
Vite, webpack 5, Next.js, esbuild.
|
|
16
|
+
|
|
17
|
+
## Dùng
|
|
18
|
+
|
|
19
|
+
```jsx
|
|
20
|
+
import '@zenify-omni/chat-ui-react-js/dist/chat.css'
|
|
21
|
+
import {
|
|
22
|
+
ChatProvider, ChatList, ChatRoomProvider, ChatBox, Toaster, useChatStore,
|
|
23
|
+
} from '@zenify-omni/chat-ui-react-js'
|
|
24
|
+
|
|
25
|
+
function Shell() {
|
|
26
|
+
const roomId = useChatStore((s) => s.currentChatId)
|
|
27
|
+
return (
|
|
28
|
+
<div style={{ display: 'flex', height: '100dvh' }}>
|
|
29
|
+
<div style={{ width: 380 }}><ChatList /></div>
|
|
30
|
+
<div style={{ flex: 1, minWidth: 0 }}>
|
|
31
|
+
{roomId && <ChatBox chatRoomId={roomId} />}
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default function App() {
|
|
38
|
+
return (
|
|
39
|
+
<>
|
|
40
|
+
<ChatProvider initConfig={{ email: 'agent@congty.vn', apiKey: '<API KEY>' }}>
|
|
41
|
+
<Shell />
|
|
42
|
+
</ChatProvider>
|
|
43
|
+
<Toaster richColors />
|
|
44
|
+
</>
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`initConfig` nhận một trong ba cách xác thực: `token` · `email` + `apiKey` ·
|
|
50
|
+
`username` + `password` + `domain`.
|
|
51
|
+
|
|
52
|
+
### Tự ghép bố cục
|
|
53
|
+
|
|
54
|
+
`ChatHeader`, `ChatMessageList`, `ChatInput`, `ChatDropFile` là component thuần
|
|
55
|
+
props; đặt trong `<ChatRoomProvider chatRoomId={id}>` rồi đọc dữ liệu qua
|
|
56
|
+
`useChatRoomContext()` / `useChatComposerContext()` và truyền xuống.
|
|
57
|
+
|
|
58
|
+
### Đổi màu
|
|
59
|
+
|
|
60
|
+
```jsx
|
|
61
|
+
<ChatProvider theme={{ primary: '#0230D3' }} colorScheme="dark" … />
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Theme ghi biến CSS lúc chạy — không phải dựng lại CSS.
|
|
65
|
+
|
|
66
|
+
### Import sâu
|
|
67
|
+
|
|
68
|
+
Ngoài barrel, mọi file đều import được theo đường dẫn, **phải ghi đủ đuôi `.js`**:
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
import { navigate } from '@zenify-omni/chat-ui-react-js/config/navigation.js'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Dùng chung bảng màu với Tailwind của app (tuỳ chọn)
|
|
75
|
+
|
|
76
|
+
```js
|
|
77
|
+
// tailwind.config.js
|
|
78
|
+
import chatPreset from '@zenify-omni/chat-ui-react-js/tailwind-preset.js'
|
|
79
|
+
export default { presets: [chatPreset], content: ['./src/**/*.{js,jsx}'] }
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Next.js
|
|
83
|
+
|
|
84
|
+
SDK dùng `window`/`localStorage` lúc khởi tạo, nên render phía client:
|
|
85
|
+
|
|
86
|
+
```jsx
|
|
87
|
+
const Chat = dynamic(() => import('./chat'), { ssr: false })
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Giấy phép
|
|
91
|
+
|
|
92
|
+
MIT
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const ChatterAgentIcon = ({
|
|
3
|
+
size = 12,
|
|
4
|
+
color = "currentColor",
|
|
5
|
+
className = ""
|
|
6
|
+
}) => /* @__PURE__ */ jsx(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
viewBox: "0 0 12 12",
|
|
11
|
+
width: size,
|
|
12
|
+
height: size,
|
|
13
|
+
fill: color,
|
|
14
|
+
className,
|
|
15
|
+
children: /* @__PURE__ */ jsx(
|
|
16
|
+
"path",
|
|
17
|
+
{
|
|
18
|
+
d: "M6 1C3.23858 1 1 3.23858 1 6V7H2C2.55228 7 3 7.44771 3 8V11C3 11.5523 2.55228 12 2 12H1C0.447715 12 0 11.5523 0 11V6C0 2.68629 2.68629 0 6 0C9.31371 0 12 2.68629 12 6V11C12 11.5523 11.5523 12 11 12H10C9.44771 12 9 11.5523 9 11V8C9 7.44771 9.44772 7 10 7H11V6C11 3.23858 8.76142 1 6 1Z",
|
|
19
|
+
fill: "black"
|
|
20
|
+
}
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
var chatter_agent_default = ChatterAgentIcon;
|
|
25
|
+
export {
|
|
26
|
+
chatter_agent_default as default
|
|
27
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const ChatterChatbotIcon = ({
|
|
3
|
+
size = 12,
|
|
4
|
+
color = "currentColor",
|
|
5
|
+
className = ""
|
|
6
|
+
}) => /* @__PURE__ */ jsxs(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
width: size,
|
|
11
|
+
height: size,
|
|
12
|
+
viewBox: "0 0 16 15",
|
|
13
|
+
fill: color,
|
|
14
|
+
className,
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
"path",
|
|
18
|
+
{
|
|
19
|
+
d: "M6 12.5C6 12.2239 6.22386 12 6.5 12H9.5C9.77614 12 10 12.2239 10 12.5C10 12.7761 9.77614 13 9.5 13H6.5C6.22386 13 6 12.7761 6 12.5Z",
|
|
20
|
+
fill: "black"
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
/* @__PURE__ */ jsx(
|
|
24
|
+
"path",
|
|
25
|
+
{
|
|
26
|
+
d: "M3 8.06155C3 6.76041 4.23471 5.76462 5.53019 5.88584C6.23775 5.95205 7.07092 6 8 6C8.92908 6 9.76225 5.95205 10.4698 5.88584C11.7653 5.76462 13 6.76041 13 8.06155V9.21922C13 9.67809 12.6875 10.075 12.2354 10.1536C11.3904 10.3006 9.8946 10.5 8 10.5C6.1054 10.5 4.60964 10.3006 3.76458 10.1536C3.3125 10.075 3 9.67809 3 9.21922V8.06155ZM7.54195 7.23501C7.46308 7.22158 7.38255 7.24672 7.32532 7.30262L6.40429 8.20222C5.67721 8.15847 5.04611 8.09004 4.53396 8.01982C4.39717 8.00107 4.27107 8.09676 4.25232 8.23355C4.23356 8.37034 4.32925 8.49643 4.46604 8.51519C5.01572 8.59055 5.69797 8.6637 6.48603 8.7078C6.55606 8.71172 6.62451 8.68605 6.67468 8.63704L7.42865 7.90061L8.27598 9.61099C8.31213 9.68395 8.38155 9.73474 8.46203 9.74711C8.54251 9.75947 8.62397 9.73187 8.68036 9.67313L9.6124 8.70211C10.3589 8.65757 11.0073 8.58739 11.534 8.51519C11.6707 8.49643 11.7664 8.37034 11.7477 8.23355C11.7289 8.09676 11.6028 8.00107 11.466 8.01982C10.9283 8.09354 10.2594 8.16531 9.48603 8.20859C9.42289 8.21212 9.36343 8.23945 9.31964 8.28508L8.56605 9.07017L7.72402 7.37048C7.6885 7.29879 7.62082 7.24843 7.54195 7.23501Z",
|
|
27
|
+
fill: "black"
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ jsx(
|
|
31
|
+
"path",
|
|
32
|
+
{
|
|
33
|
+
d: "M8.5 1.86622C8.7989 1.69331 9 1.37014 9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1C7 1.37014 7.2011 1.69331 7.5 1.86622V3H5.5C3.01472 3 1 5.01472 1 7.5V8C0.447715 8 0 8.44771 0 9V11C0 11.5523 0.447715 12 1 12V13C1 14.1046 1.89543 15 3 15H13C14.1046 15 15 14.1046 15 13V12C15.5523 12 16 11.5523 16 11V9C16 8.44771 15.5523 8 15 8V7.5C15 5.01472 12.9853 3 10.5 3H8.5V1.86622ZM14 7.5V13C14 13.5523 13.5523 14 13 14H3C2.44772 14 2 13.5523 2 13V7.5C2 5.567 3.567 4 5.5 4H10.5C12.433 4 14 5.567 14 7.5Z",
|
|
34
|
+
fill: "black"
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
var chatter_chatbot_default = ChatterChatbotIcon;
|
|
41
|
+
export {
|
|
42
|
+
chatter_chatbot_default as default
|
|
43
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const ChatterContactIcon = ({
|
|
3
|
+
size = 12,
|
|
4
|
+
color = "currentColor",
|
|
5
|
+
className = ""
|
|
6
|
+
}) => /* @__PURE__ */ jsxs(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
width: size,
|
|
11
|
+
height: size,
|
|
12
|
+
viewBox: "0 0 12 12",
|
|
13
|
+
fill: color,
|
|
14
|
+
className,
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
"path",
|
|
18
|
+
{
|
|
19
|
+
d: "M6 6C7.65685 6 9 4.65685 9 3C9 1.34315 7.65685 0 6 0C4.34315 0 3 1.34315 3 3C3 4.65685 4.34315 6 6 6ZM8 3C8 4.10457 7.10457 5 6 5C4.89543 5 4 4.10457 4 3C4 1.89543 4.89543 1 6 1C7.10457 1 8 1.89543 8 3Z",
|
|
20
|
+
fill: "black"
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
/* @__PURE__ */ jsx(
|
|
24
|
+
"path",
|
|
25
|
+
{
|
|
26
|
+
d: "M12 11C12 12 11 12 11 12H1C1 12 0 12 0 11C0 10 1 7 6 7C11 7 12 10 12 11ZM11 10.9965C10.9986 10.7497 10.8462 10.0104 10.1679 9.33211C9.51563 8.67985 8.2891 8 5.99999 8C3.71088 8 2.48435 8.67985 1.8321 9.33211C1.15375 10.0104 1.00142 10.7497 1 10.9965H11Z",
|
|
27
|
+
fill: "black"
|
|
28
|
+
}
|
|
29
|
+
)
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
var chatter_contact_default = ChatterContactIcon;
|
|
34
|
+
export {
|
|
35
|
+
chatter_contact_default as default
|
|
36
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" id="angry">
|
|
2
|
+
<path fill="url(#a)" d="M16 8A8 8 0 1 1-.001 8 8 8 0 0 1 16 8"></path>
|
|
3
|
+
<path fill="#000" d="M5.2 13.551c0 .528 1.253.444 2.8.444 1.546 0 2.8.084 2.8-.444 0-.636-1.254-1.051-2.8-1.051-1.547 0-2.8.415-2.8 1.051Z" filter="url(#b)"></path>
|
|
4
|
+
<path fill="url(#c)" d="M5.2 13.551c0 .528 1.253.444 2.8.444 1.546 0 2.8.084 2.8-.444 0-.636-1.254-1.051-2.8-1.051-1.547 0-2.8.415-2.8 1.051Z"></path>
|
|
5
|
+
<path fill="url(#d)" d="M3.6 9.831c0-.79.538-1.43 1.2-1.43.663 0 1.2.64 1.2 1.43 0 .33-.093.633-.252.874a.527.527 0 0 1-.318.22c-.15.036-.373.075-.63.075s-.481-.039-.63-.075a.524.524 0 0 1-.318-.22 1.588 1.588 0 0 1-.252-.874Zm6.4 0c0-.79.537-1.43 1.2-1.43.662 0 1.2.64 1.2 1.43 0 .33-.094.633-.252.874a.524.524 0 0 1-.318.22c-.207.05-.418.075-.63.075-.257 0-.48-.039-.63-.075a.53.53 0 0 1-.32-.22 1.596 1.596 0 0 1-.25-.874Z"></path>
|
|
6
|
+
<path fill="#000" d="M3.6 9.831c0-.79.538-1.43 1.2-1.43.663 0 1.2.64 1.2 1.43 0 .33-.093.633-.252.874a.527.527 0 0 1-.318.22c-.15.036-.373.075-.63.075s-.481-.039-.63-.075a.524.524 0 0 1-.318-.22 1.588 1.588 0 0 1-.252-.874Zm6.4 0c0-.79.537-1.43 1.2-1.43.662 0 1.2.64 1.2 1.43 0 .33-.094.633-.252.874a.524.524 0 0 1-.318.22c-.207.05-.418.075-.63.075-.257 0-.48-.039-.63-.075a.53.53 0 0 1-.32-.22 1.596 1.596 0 0 1-.25-.874Z" filter="url(#e)"></path>
|
|
7
|
+
<path fill="#4F4F67" d="M4.968 9.333a.33.33 0 0 1 .007.07c0 .202-.176.367-.394.367-.217 0-.393-.165-.393-.366 0-.083.03-.16.08-.221.224.053.46.104.7.15Zm5.927.437c-.211 0-.383-.153-.393-.348.258-.038.515-.085.765-.136.014.038.021.078.02.119 0 .2-.175.365-.393.365Z"></path>
|
|
8
|
+
<path fill="#000" d="M9 7.6c0-.446.163-.6.445-.6.28 0 .414.276.506 1.066 1.128 0 3.038-.534 3.222-.534.178 0 .277.085.317.267.035.158-.023.308-.221.4-.621.287-2.443.935-3.984.935-.168 0-.285-.086-.285-.301V7.6Zm-2.951.466C6.14 7.276 6.275 7 6.555 7c.282 0 .445.154.445.6v1.233c0 .215-.117.301-.285.301-1.541 0-3.363-.648-3.984-.935-.198-.092-.256-.242-.221-.4.04-.182.14-.267.317-.267.184 0 2.094.534 3.222.534Z" filter="url(#f)"></path>
|
|
9
|
+
<path fill="url(#g)" d="M9 7.6c0-.446.163-.6.445-.6.28 0 .414.276.506 1.066 1.128 0 3.038-.534 3.222-.534.178 0 .277.085.317.267.035.158-.023.308-.221.4-.621.287-2.443.935-3.984.935-.168 0-.285-.086-.285-.301V7.6Zm-2.951.466C6.14 7.276 6.275 7 6.555 7c.282 0 .445.154.445.6v1.233c0 .215-.117.301-.285.301-1.541 0-3.363-.648-3.984-.935-.198-.092-.256-.242-.221-.4.04-.182.14-.267.317-.267.184 0 2.094.534 3.222.534Z"></path>
|
|
10
|
+
<defs>
|
|
11
|
+
<linearGradient id="a" x1="8" x2="8" y2="10.751" gradientUnits="userSpaceOnUse">
|
|
12
|
+
<stop stop-color="#E04300"></stop>
|
|
13
|
+
<stop offset="1" stop-color="#FFA320"></stop>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<linearGradient id="c" x1="8" x2="8" y1="12.703" y2="14" gradientUnits="userSpaceOnUse">
|
|
16
|
+
<stop stop-color="#3D0D00"></stop>
|
|
17
|
+
<stop offset="1" stop-color="#661C04"></stop>
|
|
18
|
+
</linearGradient>
|
|
19
|
+
<linearGradient id="d" x1="8" x2="8" y1="8.4" y2="11" gradientUnits="userSpaceOnUse">
|
|
20
|
+
<stop stop-color="#191A33"></stop>
|
|
21
|
+
<stop offset=".872" stop-color="#3B426A"></stop>
|
|
22
|
+
</linearGradient>
|
|
23
|
+
<linearGradient id="g" x1="11.615" x2="11.615" y1="9.333" y2="7" gradientUnits="userSpaceOnUse">
|
|
24
|
+
<stop stop-color="#9A2F00"></stop>
|
|
25
|
+
<stop offset="1" stop-color="#D44800"></stop>
|
|
26
|
+
</linearGradient>
|
|
27
|
+
<filter id="b" width="7.6" height="3.5" x="4.2" y="12.5" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
28
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
29
|
+
<feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix>
|
|
30
|
+
<feOffset dy="1"></feOffset>
|
|
31
|
+
<feGaussianBlur stdDeviation=".5"></feGaussianBlur>
|
|
32
|
+
<feColorMatrix values="0 0 0 0 1 0 0 0 0 0.509681 0 0 0 0 0 0 0 0 0.371207 0"></feColorMatrix>
|
|
33
|
+
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"></feBlend>
|
|
34
|
+
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"></feBlend>
|
|
35
|
+
</filter>
|
|
36
|
+
<filter id="e" width="8.8" height="2.6" x="3.6" y="8.4" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
37
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
38
|
+
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend>
|
|
39
|
+
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix>
|
|
40
|
+
<feOffset></feOffset>
|
|
41
|
+
<feGaussianBlur stdDeviation=".5"></feGaussianBlur>
|
|
42
|
+
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"></feComposite>
|
|
43
|
+
<feColorMatrix values="0 0 0 0 0.0387428 0 0 0 0 0.0406183 0 0 0 0 0.0875053 0 0 0 1 0"></feColorMatrix>
|
|
44
|
+
<feBlend in2="shape" result="effect1_innerShadow"></feBlend>
|
|
45
|
+
</filter>
|
|
46
|
+
<filter id="f" width="11.199" height="2.834" x="2.4" y="7" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
47
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
48
|
+
<feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix>
|
|
49
|
+
<feOffset dy=".6"></feOffset>
|
|
50
|
+
<feGaussianBlur stdDeviation=".05"></feGaussianBlur>
|
|
51
|
+
<feColorMatrix values="0 0 0 0 0.565875 0 0 0 0 0.151272 0 0 0 0 0 0 0 0 0.15024 0"></feColorMatrix>
|
|
52
|
+
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"></feBlend>
|
|
53
|
+
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"></feBlend>
|
|
54
|
+
</filter>
|
|
55
|
+
</defs>
|
|
56
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" id="haha">
|
|
2
|
+
<path fill="url(#a)" d="M16 8A8 8 0 1 1-.001 8 8 8 0 0 1 16 8"></path>
|
|
3
|
+
<path fill="url(#b)" d="M3 8.008C3 10.023 4.006 14 8 14c3.993 0 5-3.977 5-5.992C13 7.849 11.39 7 8 7c-3.39 0-5 .849-5 1.008Z"></path>
|
|
4
|
+
<path fill="url(#c)" d="M4.541 12.5c.804.995 1.907 1.5 3.469 1.5 1.563 0 2.655-.505 3.459-1.5-.551-.588-1.599-1.5-3.459-1.5s-2.917.912-3.469 1.5Z"></path>
|
|
5
|
+
<path fill="#2A3755" d="M6.213 4.144c.263.188.502.455.41.788-.071.254-.194.369-.422.37-.78.012-1.708.256-2.506.613-.065.029-.197.088-.332.085-.124-.003-.251-.058-.327-.237-.067-.157-.073-.388.276-.598.545-.33 1.257-.48 1.909-.604-.41-.303-.85-.56-1.315-.768-.427-.194-.38-.457-.323-.6.127-.317.609-.196 1.078.026a9 9 0 0 1 1.552.925Zm3.577 0a8.955 8.955 0 0 1 1.55-.925c.47-.222.95-.343 1.078-.026.057.143.104.406-.323.6a7.028 7.028 0 0 0-1.313.768c.65.123 1.363.274 1.907.604.349.21.342.44.276.598-.077.18-.203.234-.327.237-.135.003-.267-.056-.332-.085-.797-.357-1.725-.6-2.504-.612-.228-.002-.351-.117-.422-.37-.091-.333.147-.6.41-.788v-.001Z"></path>
|
|
6
|
+
<defs>
|
|
7
|
+
<linearGradient id="a" x1="8" x2="8" y1="1.64" y2="16" gradientUnits="userSpaceOnUse">
|
|
8
|
+
<stop stop-color="#FEEA70"></stop>
|
|
9
|
+
<stop offset="1" stop-color="#F69B30"></stop>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="b" x1="8" x2="8" y1="7" y2="14" gradientUnits="userSpaceOnUse">
|
|
12
|
+
<stop stop-color="#472315"></stop>
|
|
13
|
+
<stop offset="1" stop-color="#8B3A0E"></stop>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<linearGradient id="c" x1="8.005" x2="8.005" y1="11" y2="13.457" gradientUnits="userSpaceOnUse">
|
|
16
|
+
<stop stop-color="#FC607C"></stop>
|
|
17
|
+
<stop offset="1" stop-color="#D91F3A"></stop>
|
|
18
|
+
</linearGradient>
|
|
19
|
+
</defs>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" id="like">
|
|
2
|
+
<path fill="url(#a)" d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Z"></path>
|
|
3
|
+
<path fill="#fff" d="M12.162 7.338c.176.123.338.245.338.674 0 .43-.229.604-.474.725.1.163.132.36.089.546-.077.344-.392.611-.672.69.121.194.159.385.015.62-.185.295-.346.407-1.058.407H7.5c-.988 0-1.5-.546-1.5-1V7.665c0-1.23 1.467-2.275 1.467-3.13L7.361 3.47c-.005-.065.008-.224.058-.27.08-.079.301-.2.635-.2.218 0 .363.041.534.123.581.277.732.978.732 1.542 0 .271-.414 1.083-.47 1.364 0 0 .867-.192 1.879-.199 1.061-.006 1.749.19 1.749.842 0 .261-.219.523-.316.666ZM3.6 7h.8a.6.6 0 0 1 .6.6v3.8a.6.6 0 0 1-.6.6h-.8a.6.6 0 0 1-.6-.6V7.6a.6.6 0 0 1 .6-.6Z"></path>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="a" x1="8" x2="8" y2="16" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#18AFFF"></stop>
|
|
7
|
+
<stop offset="1" stop-color="#0062DF"></stop>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" id="love">
|
|
2
|
+
<path fill="url(#a)" d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Z"></path>
|
|
3
|
+
<path fill="#fff" d="M10.473 4C8.275 4 8 5.824 8 5.824S7.726 4 5.528 4c-2.114 0-2.73 2.222-2.472 3.41C3.736 10.55 8 12.75 8 12.75s4.265-2.2 4.945-5.34c.257-1.188-.36-3.41-2.472-3.41Z"></path>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="a" x1="8" x2="8" y2="16" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#FF6680"></stop>
|
|
7
|
+
<stop offset="1" stop-color="#E61739"></stop>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" id="sad">
|
|
2
|
+
<path fill="url(#a)" d="M16 8A8 8 0 1 1-.001 8 8 8 0 0 1 16 8"></path>
|
|
3
|
+
<path fill="url(#b)" d="M5.333 12.765c0 .137.094.235.25.235.351 0 .836-.625 2.417-.625s2.067.625 2.417.625c.156 0 .25-.098.25-.235C10.667 12.368 9.828 11 8 11c-1.828 0-2.667 1.368-2.667 1.765Z"></path>
|
|
4
|
+
<path fill="url(#c)" d="M3.599 8.8c0-.81.509-1.466 1.134-1.466.627 0 1.134.656 1.134 1.466 0 .338-.09.65-.238.898a.492.492 0 0 1-.301.225c-.14.037-.353.077-.595.077-.243 0-.453-.04-.595-.077a.49.49 0 0 1-.3-.225 1.741 1.741 0 0 1-.24-.898Zm6.534 0c0-.81.508-1.466 1.133-1.466.627 0 1.134.656 1.134 1.466 0 .338-.09.65-.238.898a.49.49 0 0 1-.301.225c-.39.101-.8.101-1.19 0a.49.49 0 0 1-.3-.225 1.74 1.74 0 0 1-.238-.898Z"></path>
|
|
5
|
+
<path fill="#000" d="M3.599 8.8c0-.81.509-1.466 1.134-1.466.627 0 1.134.656 1.134 1.466 0 .338-.09.65-.238.898a.492.492 0 0 1-.301.225c-.14.037-.353.077-.595.077-.243 0-.453-.04-.595-.077a.49.49 0 0 1-.3-.225 1.741 1.741 0 0 1-.24-.898Zm6.534 0c0-.81.508-1.466 1.133-1.466.627 0 1.134.656 1.134 1.466 0 .338-.09.65-.238.898a.49.49 0 0 1-.301.225c-.39.101-.8.101-1.19 0a.49.49 0 0 1-.3-.225 1.74 1.74 0 0 1-.238-.898Z" filter="url(#d)"></path>
|
|
6
|
+
<path fill="#4E506A" d="M4.616 7.986c.128.125.136.372.017.55-.12.179-.32.223-.448.097-.128-.125-.135-.372-.017-.55.12-.18.32-.222.448-.097Zm6.489 0c.128.125.136.372.018.55-.12.179-.32.223-.45.097-.127-.125-.134-.372-.015-.55.119-.18.319-.222.447-.097Z"></path>
|
|
7
|
+
<path fill="url(#e)" d="M4.157 5.153c.332-.153.596-.22.801-.22.277 0 .451.12.55.307.175.329.096.4-.198.459-1.106.224-2.217.942-2.699 1.39-.3.28-.589-.03-.436-.274.154-.244.774-1.105 1.982-1.662Zm6.335.087c.1-.187.273-.306.55-.306.206 0 .47.066.801.219 1.208.557 1.828 1.418 1.981 1.662.153.244-.134.554-.435.274-.483-.448-1.593-1.166-2.7-1.39-.294-.058-.37-.13-.197-.46Z"></path>
|
|
8
|
+
<path fill="url(#f)" d="M13.5 16c-.828 0-1.5-.748-1.5-1.671 0-.922.356-1.545.643-2.147.598-1.258.716-1.432.857-1.432.141 0 .259.174.857 1.432.287.602.643 1.225.643 2.147 0 .923-.672 1.671-1.5 1.671Z"></path>
|
|
9
|
+
<path fill="url(#g)" d="M13.5 13.606c-.328 0-.594-.296-.594-.66 0-.366.141-.613.255-.852.236-.498.283-.566.34-.566.055 0 .102.068.338.566.114.24.255.486.255.851s-.266.661-.594.661"></path>
|
|
10
|
+
<defs>
|
|
11
|
+
<linearGradient id="a" x1="8" x2="8" y1="1.64" y2="16" gradientUnits="userSpaceOnUse">
|
|
12
|
+
<stop stop-color="#FEEA70"></stop>
|
|
13
|
+
<stop offset="1" stop-color="#F69B30"></stop>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<linearGradient id="b" x1="8" x2="8" y1="11" y2="13" gradientUnits="userSpaceOnUse">
|
|
16
|
+
<stop stop-color="#472315"></stop>
|
|
17
|
+
<stop offset="1" stop-color="#8B3A0E"></stop>
|
|
18
|
+
</linearGradient>
|
|
19
|
+
<linearGradient id="c" x1="7.999" x2="7.999" y1="7.334" y2="10" gradientUnits="userSpaceOnUse">
|
|
20
|
+
<stop stop-color="#191A33"></stop>
|
|
21
|
+
<stop offset=".872" stop-color="#3B426A"></stop>
|
|
22
|
+
</linearGradient>
|
|
23
|
+
<linearGradient id="e" x1="8" x2="8" y1="4.934" y2="7.199" gradientUnits="userSpaceOnUse">
|
|
24
|
+
<stop stop-color="#E78E0D"></stop>
|
|
25
|
+
<stop offset="1" stop-color="#CB6000"></stop>
|
|
26
|
+
</linearGradient>
|
|
27
|
+
<linearGradient id="f" x1="13.5" x2="13.5" y1="15.05" y2="11.692" gradientUnits="userSpaceOnUse">
|
|
28
|
+
<stop stop-color="#35CAFC"></stop>
|
|
29
|
+
<stop offset="1" stop-color="#007EDB"></stop>
|
|
30
|
+
</linearGradient>
|
|
31
|
+
<linearGradient id="g" x1="13.5" x2="13.5" y1="11.528" y2="13.606" gradientUnits="userSpaceOnUse">
|
|
32
|
+
<stop stop-color="#6AE1FF" stop-opacity=".287"></stop>
|
|
33
|
+
<stop offset="1" stop-color="#A8E3FF" stop-opacity=".799"></stop>
|
|
34
|
+
</linearGradient>
|
|
35
|
+
<filter id="d" width="8.801" height="2.666" x="3.599" y="7.334" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
36
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
37
|
+
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend>
|
|
38
|
+
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix>
|
|
39
|
+
<feOffset></feOffset>
|
|
40
|
+
<feGaussianBlur stdDeviation=".5"></feGaussianBlur>
|
|
41
|
+
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"></feComposite>
|
|
42
|
+
<feColorMatrix values="0 0 0 0 0.0411227 0 0 0 0 0.0430885 0 0 0 0 0.0922353 0 0 0 0.819684 0"></feColorMatrix>
|
|
43
|
+
<feBlend in2="shape" result="effect1_innerShadow"></feBlend>
|
|
44
|
+
</filter>
|
|
45
|
+
</defs>
|
|
46
|
+
</svg>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" id="wow">
|
|
2
|
+
<g clip-path="url(#a)">
|
|
3
|
+
<path fill="url(#b)" d="M16 8A8 8 0 1 1-.001 8 8 8 0 0 1 16 8"></path>
|
|
4
|
+
<path fill="url(#c)" d="M5.643 10.888C5.485 12.733 6.37 14 8 14c1.63 0 2.515-1.267 2.357-3.112C10.2 9.042 9.242 8 8 8c-1.242 0-2.2 1.042-2.357 2.888Z"></path>
|
|
5
|
+
<path fill="url(#d)" d="M3.5 5.5c0-.828.559-1.5 1.25-1.5S6 4.672 6 5.5C6 6.329 5.441 7 4.75 7S3.5 6.329 3.5 5.5Zm6.5 0c0-.828.56-1.5 1.25-1.5.691 0 1.25.672 1.25 1.5 0 .829-.559 1.5-1.25 1.5C10.56 7 10 6.329 10 5.5Z"></path>
|
|
6
|
+
<path fill="#000" d="M3.5 5.5c0-.828.559-1.5 1.25-1.5S6 4.672 6 5.5C6 6.329 5.441 7 4.75 7S3.5 6.329 3.5 5.5Zm6.5 0c0-.828.56-1.5 1.25-1.5.691 0 1.25.672 1.25 1.5 0 .829-.559 1.5-1.25 1.5C10.56 7 10 6.329 10 5.5Z" filter="url(#e)"></path>
|
|
7
|
+
<path fill="#4E506A" d="M4.481 4.567c.186.042.29.252.232.47-.057.217-.254.36-.44.317-.186-.042-.29-.252-.232-.47.057-.216.254-.36.44-.317Zm6.659.063c.205.047.321.28.258.52-.064.243-.282.4-.49.354-.205-.046-.322-.28-.258-.52.063-.243.282-.4.49-.354Z"></path>
|
|
8
|
+
<path fill="#000" d="M11.068 1.696c.052-.005.104-.007.157-.007.487 0 .99.204 1.372.562a.368.368 0 0 1-.087.594.344.344 0 0 1-.387-.06c-.275-.26-.656-.4-.992-.37a.8.8 0 0 0-.59.332.346.346 0 0 1-.49.068.368.368 0 0 1-.068-.507 1.49 1.49 0 0 1 1.085-.612Zm-7.665.555c.371-.353.86-.553 1.372-.562a1.49 1.49 0 0 1 1.242.619.369.369 0 0 1-.066.507.347.347 0 0 1-.492-.068.8.8 0 0 0-.59-.331c-.335-.031-.717.11-.992.369a.344.344 0 0 1-.496-.024.368.368 0 0 1 .022-.51Z" filter="url(#f)"></path>
|
|
9
|
+
<path fill="url(#g)" d="M11.068 1.696c.052-.005.104-.007.157-.007.487 0 .99.204 1.372.562a.368.368 0 0 1-.087.594.344.344 0 0 1-.387-.06c-.275-.26-.656-.4-.992-.37a.8.8 0 0 0-.59.332.346.346 0 0 1-.49.068.368.368 0 0 1-.068-.507 1.49 1.49 0 0 1 1.085-.612Zm-7.665.555c.371-.353.86-.553 1.372-.562a1.49 1.49 0 0 1 1.242.619.369.369 0 0 1-.066.507.347.347 0 0 1-.492-.068.8.8 0 0 0-.59-.331c-.335-.031-.717.11-.992.369a.344.344 0 0 1-.496-.024.368.368 0 0 1 .022-.51Z"></path>
|
|
10
|
+
</g>
|
|
11
|
+
<defs>
|
|
12
|
+
<linearGradient id="b" x1="8" x2="8" y1="1.64" y2="16" gradientUnits="userSpaceOnUse">
|
|
13
|
+
<stop stop-color="#FEEA70"></stop>
|
|
14
|
+
<stop offset="1" stop-color="#F69B30"></stop>
|
|
15
|
+
</linearGradient>
|
|
16
|
+
<linearGradient id="c" x1="8" x2="8" y1="8" y2="14" gradientUnits="userSpaceOnUse">
|
|
17
|
+
<stop stop-color="#472315"></stop>
|
|
18
|
+
<stop offset="1" stop-color="#8B3A0E"></stop>
|
|
19
|
+
</linearGradient>
|
|
20
|
+
<linearGradient id="d" x1="8" x2="8" y1="4" y2="7" gradientUnits="userSpaceOnUse">
|
|
21
|
+
<stop stop-color="#191A33"></stop>
|
|
22
|
+
<stop offset=".872" stop-color="#3B426A"></stop>
|
|
23
|
+
</linearGradient>
|
|
24
|
+
<linearGradient id="g" x1="8" x2="8" y1="1.688" y2="2.888" gradientUnits="userSpaceOnUse">
|
|
25
|
+
<stop stop-color="#E78E0D"></stop>
|
|
26
|
+
<stop offset="1" stop-color="#CB6000"></stop>
|
|
27
|
+
</linearGradient>
|
|
28
|
+
<filter id="e" width="9" height="3" x="3.5" y="4" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
29
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
30
|
+
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend>
|
|
31
|
+
<feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix>
|
|
32
|
+
<feOffset></feOffset>
|
|
33
|
+
<feGaussianBlur stdDeviation=".5"></feGaussianBlur>
|
|
34
|
+
<feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"></feComposite>
|
|
35
|
+
<feColorMatrix values="0 0 0 0 0.0980392 0 0 0 0 0.101961 0 0 0 0 0.2 0 0 0 0.819684 0"></feColorMatrix>
|
|
36
|
+
<feBlend in2="shape" result="effect1_innerShadow"></feBlend>
|
|
37
|
+
</filter>
|
|
38
|
+
<filter id="f" width="15.422" height="7.199" x=".289" y="-.312" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
39
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
40
|
+
<feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix>
|
|
41
|
+
<feOffset dy="1"></feOffset>
|
|
42
|
+
<feGaussianBlur stdDeviation="1.5"></feGaussianBlur>
|
|
43
|
+
<feColorMatrix values="0 0 0 0 0.803922 0 0 0 0 0.388235 0 0 0 0 0.00392157 0 0 0 0.145679 0"></feColorMatrix>
|
|
44
|
+
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"></feBlend>
|
|
45
|
+
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"></feBlend>
|
|
46
|
+
</filter>
|
|
47
|
+
<clipPath id="a">
|
|
48
|
+
<path fill="#fff" d="M0 0h16v16H0z"></path>
|
|
49
|
+
</clipPath>
|
|
50
|
+
</defs>
|
|
51
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const InstagramIcon = ({
|
|
3
|
+
size = 24,
|
|
4
|
+
color = "currentColor",
|
|
5
|
+
className = ""
|
|
6
|
+
}) => /* @__PURE__ */ jsxs(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
width: size,
|
|
11
|
+
height: size,
|
|
12
|
+
fill: "none",
|
|
13
|
+
stroke: color,
|
|
14
|
+
strokeWidth: "2",
|
|
15
|
+
strokeLinecap: "round",
|
|
16
|
+
strokeLinejoin: "round",
|
|
17
|
+
className,
|
|
18
|
+
viewBox: "0 0 24 24",
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ jsx("rect", { x: "2", y: "2", width: "20", height: "20", rx: "5", ry: "5" }),
|
|
21
|
+
/* @__PURE__ */ jsx("path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" }),
|
|
22
|
+
/* @__PURE__ */ jsx("line", { x1: "17.5", y1: "6.5", x2: "17.51", y2: "6.5" })
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
var instagram_default = InstagramIcon;
|
|
27
|
+
export {
|
|
28
|
+
instagram_default as default
|
|
29
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg width="112" height="94" viewBox="0 0 112 94" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
+
<rect width="112" height="94" fill="url(#pattern0_8996_155658)"/>
|
|
3
|
+
<defs>
|
|
4
|
+
<pattern id="pattern0_8996_155658" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
5
|
+
<use xlink:href="#image0_8996_155658" transform="matrix(0.00458626 0 0 0.00546448 -0.00219555 0)"/>
|
|
6
|
+
</pattern>
|
|
7
|
+
<image id="image0_8996_155658" width="219" height="183" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
|
|
8
|
+
</defs>
|
|
9
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const ShopeeIcon = ({ size = 24, color = "currentColor", className = "" }) => /* @__PURE__ */ jsx(
|
|
3
|
+
"svg",
|
|
4
|
+
{
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: size,
|
|
7
|
+
height: size,
|
|
8
|
+
fill: color,
|
|
9
|
+
className,
|
|
10
|
+
viewBox: "0 0 109.59 122.88",
|
|
11
|
+
children: /* @__PURE__ */ jsx("path", { d: "M74.98,91.98C76.15,82.36,69.96,76.22,53.6,71c-7.92-2.7-11.66-6.24-11.57-11.12 c0.33-5.4,5.36-9.34,12.04-9.47c4.63,0.09,9.77,1.22,14.76,4.56c0.59,0.37,1.01,0.32,1.35-0.2c0.46-0.74,1.61-2.53,2-3.17 c0.26-0.42,0.31-0.96-0.35-1.44c-0.95-0.7-3.6-2.13-5.03-2.72c-3.88-1.62-8.23-2.64-12.86-2.63c-9.77,0.04-17.47,6.22-18.12,14.47 c-0.42,5.95,2.53,10.79,8.86,14.47c1.34,0.78,8.6,3.67,11.49,4.57c9.08,2.83,13.8,7.9,12.69,13.81c-1.01,5.36-6.65,8.83-14.43,8.93 c-6.17-0.24-11.71-2.75-16.02-6.1c-0.11-0.08-0.65-0.5-0.72-0.56c-0.53-0.42-1.11-0.39-1.47,0.15c-0.26,0.4-1.92,2.8-2.34,3.43 c-0.39,0.55-0.18,0.86,0.23,1.2c1.8,1.5,4.18,3.14,5.81,3.97c4.47,2.28,9.32,3.53,14.48,3.72c3.32,0.22,7.5-0.49,10.63-1.81 C70.63,102.67,74.25,97.92,74.98,91.98L74.98,91.98z M54.79,7.18c-10.59,0-19.22,9.98-19.62,22.47h39.25 C74.01,17.16,65.38,7.18,54.79,7.18L54.79,7.18z M94.99,122.88l-0.41,0l-80.82-0.01h0c-5.5-0.21-9.54-4.66-10.09-10.19l-0.05-1 l-3.61-79.5v0C0,32.12,0,32.06,0,32c0-1.28,1.03-2.33,2.3-2.35l0,0h25.48C28.41,13.15,40.26,0,54.79,0s26.39,13.15,27.01,29.65 h25.4h0.04c1.3,0,2.35,1.05,2.35,2.35c0,0.04,0,0.08,0,0.12v0l-3.96,79.81l-0.04,0.68C105.12,118.21,100.59,122.73,94.99,122.88 L94.99,122.88z" })
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
var shopee_default = ShopeeIcon;
|
|
15
|
+
export {
|
|
16
|
+
shopee_default as default
|
|
17
|
+
};
|
|
Binary file
|