@weni/unnnic-system 2.0.0 → 2.0.1
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/.vscode/extensions.json +3 -0
- package/README.md +36 -2
- package/dist/favicon.ico +0 -0
- package/dist/style.css +1 -0
- package/dist/unnnic.mjs +68066 -0
- package/dist/unnnic.umd.js +661 -44367
- package/package.json +76 -65
- package/src/assets/fonts/Material Symbols Rounded Filled.woff2 +0 -0
- package/src/assets/fonts/Material Symbols Rounded.woff2 +0 -0
- package/src/assets/fonts/fonts/icomoon.svg +163 -163
- package/src/assets/fonts/icons.css +582 -582
- package/src/assets/icons/Add1.vue +16 -0
- package/src/assets/icons/AddCircle1.vue +20 -0
- package/src/assets/icons/AlarmBell2.vue +20 -0
- package/src/assets/icons/AlarmBell3.vue +20 -0
- package/src/assets/icons/AlarmBellRing.vue +40 -0
- package/src/assets/icons/AlertCircle1.vue +25 -0
- package/src/assets/icons/AlertCircle11.vue +15 -0
- package/src/assets/icons/AmericanExpress.vue +18 -0
- package/src/assets/icons/AppWindowEdit1.vue +20 -0
- package/src/assets/icons/AppWindowEdit2.vue +45 -0
- package/src/assets/icons/ArrowButtonDown1.vue +15 -0
- package/src/assets/icons/ArrowButtonRight1.vue +15 -0
- package/src/assets/icons/ArrowButtonUp1.vue +15 -0
- package/src/assets/icons/ArrowDown11.vue +14 -0
- package/src/assets/icons/ArrowLeft11.vue +15 -0
- package/src/assets/icons/ArrowRedo.vue +15 -0
- package/src/assets/icons/ArrowRight11.vue +15 -0
- package/src/assets/icons/ArrowUndo.vue +15 -0
- package/src/assets/icons/Attachment.vue +16 -0
- package/src/assets/icons/Bin11.vue +26 -0
- package/src/assets/icons/BookAddress12.vue +20 -0
- package/src/assets/icons/BookAddress2.vue +15 -0
- package/src/assets/icons/BookLibrary1.vue +45 -0
- package/src/assets/icons/BookLibrary2.vue +17 -0
- package/src/assets/icons/Brazil.svg +21 -21
- package/src/assets/icons/Brazil.vue +74 -0
- package/src/assets/icons/Building21.vue +66 -0
- package/src/assets/icons/ButtonPlay1.vue +20 -0
- package/src/assets/icons/ButtonRefreshArrow1.vue +15 -0
- package/src/assets/icons/ButtonRefreshArrows1.vue +20 -0
- package/src/assets/icons/Charger1.vue +21 -0
- package/src/assets/icons/ChatTranslate1.vue +30 -0
- package/src/assets/icons/Check2.vue +16 -0
- package/src/assets/icons/CheckCircle11.vue +20 -0
- package/src/assets/icons/CheckCircle111.vue +15 -0
- package/src/assets/icons/CheckDouble.vue +15 -0
- package/src/assets/icons/CheckSquare1.vue +20 -0
- package/src/assets/icons/CheckSquare2.vue +20 -0
- package/src/assets/icons/CheckboxDefault.vue +19 -0
- package/src/assets/icons/CheckboxDisable.vue +19 -0
- package/src/assets/icons/CheckboxLess.vue +23 -0
- package/src/assets/icons/CheckboxSelect.vue +25 -0
- package/src/assets/icons/Close1.vue +16 -0
- package/src/assets/icons/Cog1.vue +21 -0
- package/src/assets/icons/Cog2.vue +16 -0
- package/src/assets/icons/CommonFileEmpty1.vue +15 -0
- package/src/assets/icons/CommonFileHorizontalImage1.vue +25 -0
- package/src/assets/icons/ControlsPause1.vue +20 -0
- package/src/assets/icons/ControlsPlay1.vue +15 -0
- package/src/assets/icons/CopyPaste1.vue +35 -0
- package/src/assets/icons/CurrencyDollarCircle1.vue +20 -0
- package/src/assets/icons/DefaultAvatar.vue +28 -0
- package/src/assets/icons/Delete1.vue +16 -0
- package/src/assets/icons/Delete11.vue +21 -0
- package/src/assets/icons/Delete21.vue +16 -0
- package/src/assets/icons/DeveloperCommunityGithub11.vue +15 -0
- package/src/assets/icons/DinersClub.vue +26 -0
- package/src/assets/icons/Discover.vue +47 -0
- package/src/assets/icons/DownloadBottom1.vue +20 -0
- package/src/assets/icons/DownloadThickBottom1.vue +20 -0
- package/src/assets/icons/Drag1.vue +27 -0
- package/src/assets/icons/EmailActionUnread1.vue +27 -0
- package/src/assets/icons/EmailActionUnread11.vue +18 -0
- package/src/assets/icons/Emoji.vue +31 -0
- package/src/assets/icons/Expand81.vue +31 -0
- package/src/assets/icons/ExpandFull1.vue +35 -0
- package/src/assets/icons/Export1.vue +26 -0
- package/src/assets/icons/Filter.vue +18 -0
- package/src/assets/icons/FitnessBiceps1.vue +15 -0
- package/src/assets/icons/Flash13.vue +16 -0
- package/src/assets/icons/Flash14.vue +16 -0
- package/src/assets/icons/FloppyDisk1.vue +30 -0
- package/src/assets/icons/Folder1.vue +16 -0
- package/src/assets/icons/Folder2.vue +16 -0
- package/src/assets/icons/GaugeDashboard1.vue +20 -0
- package/src/assets/icons/GaugeDashboard2.vue +40 -0
- package/src/assets/icons/GenericCard.vue +18 -0
- package/src/assets/icons/GraphStats1.vue +15 -0
- package/src/assets/icons/GraphStatsAscend2.vue +15 -0
- package/src/assets/icons/GraphStatsCircle1.vue +20 -0
- package/src/assets/icons/GraphStatsCircle11.vue +20 -0
- package/src/assets/icons/GraphStatsDescend2.vue +17 -0
- package/src/assets/icons/HeadphonesCustomerSupport1.vue +15 -0
- package/src/assets/icons/HeadphonesCustomerSupport2.vue +15 -0
- package/src/assets/icons/HeadphonesCustomerSupportHuman11.vue +20 -0
- package/src/assets/icons/Hierarchy32.vue +16 -0
- package/src/assets/icons/Hierarchy33.vue +16 -0
- package/src/assets/icons/House11.vue +21 -0
- package/src/assets/icons/House22.vue +16 -0
- package/src/assets/icons/Indicator.vue +18 -0
- package/src/assets/icons/InformationCircle4.vue +15 -0
- package/src/assets/icons/InteractionTime.vue +31 -0
- package/src/assets/icons/Jcb.vue +75 -0
- package/src/assets/icons/KeyboardArrowDown1.vue +15 -0
- package/src/assets/icons/KeyboardArrowLeft1.vue +15 -0
- package/src/assets/icons/KeyboardArrowRight1.vue +15 -0
- package/src/assets/icons/KeyboardReturn1.vue +18 -0
- package/src/assets/icons/KeyboardReturn11.vue +14 -0
- package/src/assets/icons/LayoutDashboard1.vue +30 -0
- package/src/assets/icons/LayoutDashboard2.vue +30 -0
- package/src/assets/icons/LayoutModule12.vue +26 -0
- package/src/assets/icons/LoadingCircle1.vue +72 -0
- package/src/assets/icons/Lock21.vue +21 -0
- package/src/assets/icons/Lock22.vue +16 -0
- package/src/assets/icons/LockUnlock11.vue +20 -0
- package/src/assets/icons/Logout11.vue +21 -0
- package/src/assets/icons/Mastercard.vue +27 -0
- package/src/assets/icons/Messages.vue +18 -0
- package/src/assets/icons/MessagesBubble1.vue +15 -0
- package/src/assets/icons/MessagesBubble3.vue +15 -0
- package/src/assets/icons/MessagesBubble4.vue +15 -0
- package/src/assets/icons/MessagingWeChat2.vue +20 -0
- package/src/assets/icons/MessagingWeChat3.vue +40 -0
- package/src/assets/icons/MessagingWhatsapp1.vue +20 -0
- package/src/assets/icons/Microphone.vue +21 -0
- package/src/assets/icons/NavigationMenuVertical1.vue +25 -0
- package/src/assets/icons/Notes1.vue +36 -0
- package/src/assets/icons/OfficeFilePdf11.vue +30 -0
- package/src/assets/icons/PaginateFilterText1.vue +35 -0
- package/src/assets/icons/PencilWrite1.vue +20 -0
- package/src/assets/icons/Phone3.vue +16 -0
- package/src/assets/icons/Phone4.vue +16 -0
- package/src/assets/icons/PhoneCharger1.vue +15 -0
- package/src/assets/icons/PhotographyEquipmentBag1.vue +25 -0
- package/src/assets/icons/PieLineGraph1.vue +35 -0
- package/src/assets/icons/Preferences.vue +74 -0
- package/src/assets/icons/QuestionCircle1.vue +25 -0
- package/src/assets/icons/QuestionCircle2.vue +15 -0
- package/src/assets/icons/RadioDefault.vue +17 -0
- package/src/assets/icons/RadioDisable.vue +17 -0
- package/src/assets/icons/RadioSelected.vue +23 -0
- package/src/assets/icons/RatingStar1.vue +13 -0
- package/src/assets/icons/RatingStar11.vue +15 -0
- package/src/assets/icons/ReadEmailAt1.vue +27 -0
- package/src/assets/icons/ResponseTime.vue +48 -0
- package/src/assets/icons/ScienceFictionRobot1.vue +40 -0
- package/src/assets/icons/ScienceFictionRobot2.vue +25 -0
- package/src/assets/icons/Search1.vue +16 -0
- package/src/assets/icons/SendEmail31.vue +13 -0
- package/src/assets/icons/SingleNeutral2.vue +20 -0
- package/src/assets/icons/SingleNeutralActions1.vue +20 -0
- package/src/assets/icons/SocialInstagram1.vue +15 -0
- package/src/assets/icons/SocialMediaFacebook1.vue +15 -0
- package/src/assets/icons/SocialMediaGoogle1.vue +26 -0
- package/src/assets/icons/SortAsc.vue +19 -0
- package/src/assets/icons/SortDefault.vue +20 -0
- package/src/assets/icons/SortDesc.vue +19 -0
- package/src/assets/icons/Spain.svg +498 -498
- package/src/assets/icons/Spain.vue +1846 -0
- package/src/assets/icons/StudyLightIdea1.vue +50 -0
- package/src/assets/icons/Subtract1.vue +16 -0
- package/src/assets/icons/SubtractCircle1.vue +20 -0
- package/src/assets/icons/SwitchDefault.vue +31 -0
- package/src/assets/icons/SwitchDefaultDisabled.vue +25 -0
- package/src/assets/icons/SwitchSelected.vue +31 -0
- package/src/assets/icons/SwitchSelectedDisabled.vue +23 -0
- package/src/assets/icons/SynchronizeArrowClock4.vue +20 -0
- package/src/assets/icons/SynchronizeArrowClock5.vue +20 -0
- package/src/assets/icons/TaskChecklist1.vue +20 -0
- package/src/assets/icons/TaskListClock1.vue +45 -0
- package/src/assets/icons/TextBold.vue +15 -0
- package/src/assets/icons/TextCenter.vue +35 -0
- package/src/assets/icons/TextItalic.vue +15 -0
- package/src/assets/icons/TextJustified.vue +35 -0
- package/src/assets/icons/TextLeft.vue +35 -0
- package/src/assets/icons/TextRight.vue +35 -0
- package/src/assets/icons/TextUnderline.vue +20 -0
- package/src/assets/icons/Ticket1.vue +39 -0
- package/src/assets/icons/Ticket2.vue +21 -0
- package/src/assets/icons/TimeClockCircle1.vue +20 -0
- package/src/assets/icons/TransferMessage.vue +24 -0
- package/src/assets/icons/Translate1.vue +41 -0
- package/src/assets/icons/Translate2.vue +41 -0
- package/src/assets/icons/Typing1.vue +21 -0
- package/src/assets/icons/USA.svg +28 -28
- package/src/assets/icons/USA.vue +192 -0
- package/src/assets/icons/Unionpay.vue +31 -0
- package/src/assets/icons/UnorderedList.vue +40 -0
- package/src/assets/icons/UploadBottom1.vue +20 -0
- package/src/assets/icons/VideoFileMp41.vue +30 -0
- package/src/assets/icons/View11.vue +21 -0
- package/src/assets/icons/ViewOff1.vue +35 -0
- package/src/assets/icons/VipCrownQueen2.vue +20 -0
- package/src/assets/icons/Visa.vue +35 -0
- package/src/assets/icons/add-1.svg +3 -3
- package/src/assets/icons/add-circle-1.svg +4 -4
- package/src/assets/icons/alarm-bell-ring.svg +8 -8
- package/src/assets/icons/alert-circle-1-1.svg +3 -3
- package/src/assets/icons/alert-circle-1.svg +5 -5
- package/src/assets/icons/american-express.svg +4 -4
- package/src/assets/icons/app-window-edit-1.svg +4 -4
- package/src/assets/icons/app-window-edit-2.svg +9 -9
- package/src/assets/icons/arrow-button-down-1.svg +3 -3
- package/src/assets/icons/arrow-button-up-1.svg +3 -3
- package/src/assets/icons/arrow-down-1-1.svg +3 -3
- package/src/assets/icons/arrow-left-1-1.svg +3 -3
- package/src/assets/icons/arrow-redo.svg +3 -3
- package/src/assets/icons/arrow-right-1-1.svg +3 -3
- package/src/assets/icons/arrow-undo.svg +3 -3
- package/src/assets/icons/attachment.svg +3 -3
- package/src/assets/icons/bin-1-1.svg +5 -5
- package/src/assets/icons/book-address-1-2.svg +4 -4
- package/src/assets/icons/book-address-2.svg +3 -3
- package/src/assets/icons/book-library-1.svg +9 -9
- package/src/assets/icons/book-library-2.svg +3 -3
- package/src/assets/icons/bookmark-tag-1.svg +3 -3
- package/src/assets/icons/bookmarkTag1.vue +17 -0
- package/src/assets/icons/building-2-1.svg +13 -13
- package/src/assets/icons/button-play-1.svg +4 -4
- package/src/assets/icons/button-refresh-arrow-1.svg +3 -3
- package/src/assets/icons/button-refresh-arrows-1.svg +4 -4
- package/src/assets/icons/charger-1.svg +4 -4
- package/src/assets/icons/chat-translate-1.svg +6 -6
- package/src/assets/icons/check-2.svg +3 -3
- package/src/assets/icons/check-circle-1-1-1.svg +3 -3
- package/src/assets/icons/check-circle-1-1.svg +4 -4
- package/src/assets/icons/check-double.svg +3 -3
- package/src/assets/icons/check-square-1.svg +4 -4
- package/src/assets/icons/check-square-2.svg +4 -4
- package/src/assets/icons/checkbox-default.svg +3 -3
- package/src/assets/icons/checkbox-disable.svg +3 -3
- package/src/assets/icons/checkbox-less.svg +4 -4
- package/src/assets/icons/checkbox-select.svg +4 -4
- package/src/assets/icons/close-1.svg +3 -3
- package/src/assets/icons/cog-1.svg +4 -4
- package/src/assets/icons/cog-2.svg +3 -3
- package/src/assets/icons/common-file-empty-1.svg +3 -3
- package/src/assets/icons/common-file-horizontal-image-1.svg +5 -5
- package/src/assets/icons/controls-pause-1.svg +4 -4
- package/src/assets/icons/controls-play-1.svg +3 -3
- package/src/assets/icons/copy-paste-1.svg +7 -7
- package/src/assets/icons/currency-dollar-circle-1.svg +4 -4
- package/src/assets/icons/default-avatar.svg +5 -5
- package/src/assets/icons/delete-1-1.svg +4 -4
- package/src/assets/icons/delete-1.svg +3 -3
- package/src/assets/icons/delete-2-1.svg +3 -3
- package/src/assets/icons/developer-community-github-1-1.svg +3 -3
- package/src/assets/icons/diners-club.svg +6 -6
- package/src/assets/icons/discover.svg +11 -11
- package/src/assets/icons/download-bottom-1.svg +4 -4
- package/src/assets/icons/download-thick-bottom-1.svg +4 -4
- package/src/assets/icons/drag-1.svg +10 -10
- package/src/assets/icons/email-action-unread-1-1.svg +4 -4
- package/src/assets/icons/email-action-unread-1.svg +10 -10
- package/src/assets/icons/emoji.svg +6 -6
- package/src/assets/icons/expand-8-1.svg +6 -6
- package/src/assets/icons/expand-full-1.svg +7 -7
- package/src/assets/icons/export-1.svg +5 -5
- package/src/assets/icons/filter.svg +3 -3
- package/src/assets/icons/fitness-biceps-1.svg +3 -3
- package/src/assets/icons/flash-1-3.svg +3 -3
- package/src/assets/icons/flash-1-4.svg +3 -3
- package/src/assets/icons/floppy-disk-1.svg +6 -6
- package/src/assets/icons/folder-1.svg +3 -3
- package/src/assets/icons/folder-2.svg +3 -3
- package/src/assets/icons/gauge-dashboard-1.svg +4 -4
- package/src/assets/icons/gauge-dashboard-2.svg +8 -8
- package/src/assets/icons/generic-card.svg +4 -4
- package/src/assets/icons/graph-stats-1.svg +3 -3
- package/src/assets/icons/graph-stats-ascend-2.svg +3 -3
- package/src/assets/icons/graph-stats-circle-1-1.svg +4 -4
- package/src/assets/icons/graph-stats-circle-1.svg +4 -4
- package/src/assets/icons/graph-stats-descend-2.svg +4 -4
- package/src/assets/icons/headphones-customer-support-1.svg +3 -3
- package/src/assets/icons/headphones-customer-support-2.svg +3 -3
- package/src/assets/icons/headphones-customer-support-human-1-1.svg +4 -4
- package/src/assets/icons/hierarchy-3-2.svg +3 -3
- package/src/assets/icons/hierarchy-3-3.svg +3 -3
- package/src/assets/icons/house-1-1.svg +4 -4
- package/src/assets/icons/house-2-2.svg +3 -3
- package/src/assets/icons/icon-script.py +27 -27
- package/src/assets/icons/indicator.svg +3 -3
- package/src/assets/icons/information-circle-4.svg +3 -3
- package/src/assets/icons/interaction-time.svg +5 -5
- package/src/assets/icons/jcb.svg +21 -21
- package/src/assets/icons/keyboard-arrow-down-1.svg +3 -3
- package/src/assets/icons/keyboard-arrow-left-1.svg +3 -3
- package/src/assets/icons/keyboard-arrow-right-1.svg +3 -3
- package/src/assets/icons/keyboard-return-1-1.svg +3 -3
- package/src/assets/icons/keyboard-return-1.svg +4 -4
- package/src/assets/icons/layout-dashboard-1.svg +6 -6
- package/src/assets/icons/layout-dashboard-2.svg +6 -6
- package/src/assets/icons/layout-module-1-2.svg +6 -6
- package/src/assets/icons/loading-circle-1.svg +19 -19
- package/src/assets/icons/lock-2-1.svg +4 -4
- package/src/assets/icons/lock-2-2.svg +3 -3
- package/src/assets/icons/lock-unlock-1-1.svg +4 -4
- package/src/assets/icons/logout-1-1.svg +4 -4
- package/src/assets/icons/mastercard.svg +6 -6
- package/src/assets/icons/messages-bubble-1.svg +3 -3
- package/src/assets/icons/messages-bubble-3.svg +3 -3
- package/src/assets/icons/messages-bubble-4.svg +3 -3
- package/src/assets/icons/messages.svg +3 -3
- package/src/assets/icons/messaging-we-chat-2.svg +4 -4
- package/src/assets/icons/messaging-we-chat-3.svg +8 -8
- package/src/assets/icons/messaging-whatsapp-1.svg +4 -4
- package/src/assets/icons/microphone.svg +4 -4
- package/src/assets/icons/move-expand-vertical-1.svg +3 -3
- package/src/assets/icons/moveExpandVertical1.vue +17 -0
- package/src/assets/icons/navigation-menu-vertical-1.svg +5 -5
- package/src/assets/icons/notes-1.svg +7 -7
- package/src/assets/icons/office-file-pdf-1-1.svg +6 -6
- package/src/assets/icons/paginate-filter-text-1.svg +7 -7
- package/src/assets/icons/pencil-write-1.svg +4 -4
- package/src/assets/icons/phone-3.svg +3 -3
- package/src/assets/icons/phone-4.svg +3 -3
- package/src/assets/icons/phone-charger-1.svg +3 -3
- package/src/assets/icons/photography-equipment-bag-1.svg +5 -5
- package/src/assets/icons/pie-line-graph-1.svg +7 -7
- package/src/assets/icons/preferences.svg +11 -11
- package/src/assets/icons/question-circle-1.svg +5 -5
- package/src/assets/icons/question-circle-2.svg +3 -3
- package/src/assets/icons/radio-default.svg +3 -3
- package/src/assets/icons/radio-disable.svg +3 -3
- package/src/assets/icons/radio-selected.svg +4 -4
- package/src/assets/icons/rating-star-1-1.svg +3 -3
- package/src/assets/icons/rating-star-1.svg +3 -3
- package/src/assets/icons/read-email-at-1.svg +10 -10
- package/src/assets/icons/response-time.svg +12 -12
- package/src/assets/icons/science-fiction-robot-1.svg +8 -8
- package/src/assets/icons/science-fiction-robot-2.svg +5 -5
- package/src/assets/icons/script-to-convert-svg-to-vue.js +20 -0
- package/src/assets/icons/search-1.svg +3 -3
- package/src/assets/icons/send-email-3-1.svg +3 -3
- package/src/assets/icons/single-neutral-2.svg +4 -4
- package/src/assets/icons/single-neutral-actions-1.svg +4 -4
- package/src/assets/icons/social-instagram-1.svg +3 -3
- package/src/assets/icons/social-media-facebook-1.svg +3 -3
- package/src/assets/icons/social-media-google-1.svg +6 -6
- package/src/assets/icons/sort-asc.svg +4 -4
- package/src/assets/icons/sort-default.svg +4 -4
- package/src/assets/icons/sort-desc.svg +4 -4
- package/src/assets/icons/study-light-idea-1.svg +10 -10
- package/src/assets/icons/subtract-1.svg +3 -3
- package/src/assets/icons/subtract-circle-1.svg +4 -4
- package/src/assets/icons/switch-default-disabled.svg +4 -4
- package/src/assets/icons/switch-default.svg +11 -11
- package/src/assets/icons/switch-selected-disabled.svg +4 -4
- package/src/assets/icons/switch-selected.svg +11 -11
- package/src/assets/icons/synchronize-arrow-clock-4.svg +4 -4
- package/src/assets/icons/synchronize-arrow-clock-5.svg +4 -4
- package/src/assets/icons/task-checklist-1.svg +4 -4
- package/src/assets/icons/task-list-clock-1.svg +9 -9
- package/src/assets/icons/text-bold.svg +3 -3
- package/src/assets/icons/text-center.svg +7 -7
- package/src/assets/icons/text-italic.svg +3 -3
- package/src/assets/icons/text-justified.svg +7 -7
- package/src/assets/icons/text-left.svg +7 -7
- package/src/assets/icons/text-right.svg +7 -7
- package/src/assets/icons/text-underline.svg +4 -4
- package/src/assets/icons/ticket-1.svg +9 -9
- package/src/assets/icons/ticket-2.svg +4 -4
- package/src/assets/icons/time-clock-circle-1.svg +4 -4
- package/src/assets/icons/transfer-message.svg +4 -4
- package/src/assets/icons/translate-1.svg +8 -8
- package/src/assets/icons/translate-2.svg +8 -8
- package/src/assets/icons/typing-1.svg +4 -4
- package/src/assets/icons/unionpay.svg +7 -7
- package/src/assets/icons/unordered-list.svg +8 -8
- package/src/assets/icons/upload-bottom-1.svg +4 -4
- package/src/assets/icons/video-file-mp4-1.svg +6 -6
- package/src/assets/icons/view-1-1.svg +4 -4
- package/src/assets/icons/view-off-1.svg +7 -7
- package/src/assets/icons/vip-crown-queen-2.svg +4 -4
- package/src/assets/icons/visa.svg +8 -8
- package/src/assets/img/flag/en.svg +28 -28
- package/src/assets/img/flag/pt-br.svg +21 -21
- package/src/assets/scss/colors.scss +241 -241
- package/src/assets/scss/fonts.scss +123 -123
- package/src/assets/scss/grid.scss +51 -51
- package/src/assets/scss/spacing.scss +103 -103
- package/src/assets/scss/unnnic.scss +10 -10
- package/src/components/Accordion/Accordion.vue +17 -10
- package/src/components/Alert/Alert.vue +73 -53
- package/src/components/Alert/AlertCaller.vue +1 -1
- package/src/components/Alert/Version1dot1.vue +196 -77
- package/src/components/AudioRecorder/AudioHandler.vue +16 -18
- package/src/components/AudioRecorder/AudioPlayer.vue +47 -7
- package/src/components/AudioRecorder/AudioRecorder.vue +47 -31
- package/src/components/AvatarIcon/AvatarIcon.vue +33 -16
- package/src/components/Banner/Banner.vue +1 -2
- package/src/components/Banner/InfoBanner.vue +5 -5
- package/src/components/Breadcrumb/Breadcrumb.vue +13 -15
- package/src/components/Button/Button.vue +174 -99
- package/src/components/Button/ButtonIcon.vue +13 -7
- package/src/components/Card/AccountCard.vue +3 -3
- package/src/components/Card/BlankCard.vue +11 -9
- package/src/components/Card/Card.vue +62 -35
- package/src/components/Card/CardCompany.vue +45 -22
- package/src/components/Card/CardData.vue +11 -5
- package/src/components/Card/CardStatusesContainer.vue +45 -14
- package/src/components/Card/ContentCard.vue +15 -5
- package/src/components/Card/DashCard.vue +8 -5
- package/src/components/Card/DefaultCard.vue +11 -5
- package/src/components/Card/MarketplaceCard.vue +19 -6
- package/src/components/Card/StatusCard.vue +12 -3
- package/src/components/Card/TitleCard.vue +9 -5
- package/src/components/CardImage/CardImage.vue +48 -26
- package/src/components/CardInformation/CardInformation.vue +6 -6
- package/src/components/CardNumber/CardNumber.vue +1 -1
- package/src/components/CardProject/CardProject.vue +31 -21
- package/src/components/Carousel/Carousel.vue +13 -15
- package/src/components/Carousel/TagCarousel.vue +27 -16
- package/src/components/ChartBar/ChartBar.vue +101 -64
- package/src/components/ChartLine/ChartLine.vue +64 -40
- package/src/components/ChartMultiLine/ChartMultiLine.vue +328 -0
- package/src/components/ChartMultiLine/Line/Line.vue +170 -0
- package/src/components/ChartRainbow/ChartRainbow.vue +87 -46
- package/src/components/ChatText/ChatText.vue +41 -15
- package/src/components/ChatsContact/ChatsContact.vue +332 -0
- package/src/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue +82 -0
- package/src/components/ChatsHeader/ChatsHeader.vue +320 -0
- package/src/components/ChatsMessage/ChatsMessage.vue +318 -0
- package/src/components/ChatsMessage/ChatsMessageStatusBackdrop.vue +78 -0
- package/src/components/ChatsMessage/ChatsMessageText.vue +80 -0
- package/src/components/{NavbarChats/NavbarChats.vue → ChatsNavbar/ChatsNavbar.vue} +30 -25
- package/src/components/ChatsUserAvatar/ChatsUserAvatar.vue +140 -0
- package/src/components/Checkbox/Checkbox.vue +14 -12
- package/src/components/CircleProgressBar/CircleProgressBar.vue +7 -3
- package/src/components/Collapse/Collapse.vue +141 -0
- package/src/components/DataArea/DataArea.vue +6 -3
- package/src/components/DateFilter/DateFilter.vue +9 -5
- package/src/components/DatePicker/DatePicker.vue +133 -76
- package/src/components/Dropdown/Dropdown.vue +66 -54
- package/src/components/Dropdown/DropdownItem.vue +15 -17
- package/src/components/Dropdown/DropdownSkeleton.vue +15 -8
- package/src/components/Dropdown/LanguageSelect.vue +56 -21
- package/src/components/EmojiPicker/EmojiPicker.vue +83 -0
- package/src/components/Flag.vue +2 -2
- package/src/components/FormElement/FormElement.vue +44 -4
- package/src/components/Icon/OldIconsMap.json +97 -0
- package/src/components/Icon.vue +228 -133
- package/src/components/IconLoading/IconLoading.vue +48 -0
- package/src/components/ImportCard/ImportCard.vue +36 -15
- package/src/components/Indicator/Indicator.vue +4 -2
- package/src/components/Input/BaseInput.vue +9 -22
- package/src/components/Input/Input.vue +30 -26
- package/src/components/Input/TextInput.vue +33 -31
- package/src/components/InputDatePicker/InputDatePicker.vue +38 -22
- package/src/components/Label/Label.vue +1 -1
- package/src/components/Modal/CallModal.vue +1 -1
- package/src/components/Modal/Modal.vue +62 -19
- package/src/components/ModalUpload/ModalUpload.vue +19 -16
- package/src/components/MoodRating/MoodRating.vue +36 -21
- package/src/components/MultiSelect/MultiSelect.vue +48 -25
- package/src/components/Pagination/Pagination.vue +22 -15
- package/src/components/ProgressBar/ProgressBar.vue +30 -17
- package/src/components/Radio/Radio.vue +45 -65
- package/src/components/Select/SelectItem.vue +49 -43
- package/src/components/SelectSmart/SelectSmart.vue +133 -70
- package/src/components/SelectSmart/SelectSmartMultipleHeader.vue +18 -4
- package/src/components/SelectSmart/SelectSmartOption.vue +22 -15
- package/src/components/Sidebar/Sidebar.vue +62 -59
- package/src/components/Sidebar/SidebarItem.vue +47 -36
- package/src/components/Sidebar/SidebarMenu.vue +16 -16
- package/src/components/Sidebar/SidebarPrimary.vue +79 -45
- package/src/components/SkeletonLoading/SkeletonLoading.vue +73 -60
- package/src/components/SkeletonLoading/skeletonTheme.vue +30 -19
- package/src/components/Slider/Slider.vue +25 -12
- package/src/components/StarRating/StarRating.vue +9 -5
- package/src/components/Switch/Switch.vue +23 -16
- package/src/components/Tab/Tab.vue +6 -3
- package/src/components/Table/Table.vue +14 -5
- package/src/components/Table/TableRow.vue +5 -4
- package/src/components/TabsExpanded/TabsExpanded.vue +29 -16
- package/src/components/Tag/BrandTag.vue +7 -4
- package/src/components/Tag/DefaultTag.vue +39 -41
- package/src/components/Tag/IndicatorTag.vue +9 -6
- package/src/components/Tag/Tag.vue +16 -20
- package/src/components/TextArea/TextArea.vue +22 -8
- package/src/components/ToolTip/ToolTip.vue +82 -64
- package/src/components/TransitionRipple/TransitionRipple.vue +126 -0
- package/src/components/UploadArea/UploadArea.vue +31 -14
- package/src/components/config.js +0 -1
- package/src/components/grid/Grid.vue +16 -11
- package/src/components/icons/IconCommunity.vue +12 -0
- package/src/components/icons/IconDocumentation.vue +12 -0
- package/src/components/icons/IconEcosystem.vue +12 -0
- package/src/components/icons/IconSupport.vue +12 -0
- package/src/components/icons/IconTooling.vue +19 -0
- package/src/components/index.js +48 -32
- package/src/index.js +10 -0
- package/src/locales/en.json +15 -19
- package/src/locales/es.json +15 -19
- package/src/locales/pt_br.json +15 -19
- package/src/main.js +5 -10
- package/src/mixins/i18n.js +60 -0
- package/src/stories/Accordion.stories.js +9 -4
- package/src/stories/Alert.stories.js +79 -4
- package/src/stories/AvatarIcon.stories.js +28 -12
- package/src/stories/Banner.stories.js +28 -21
- package/src/stories/Breadcrumb.stories.js +10 -10
- package/src/stories/Button.stories.js +112 -38
- package/src/stories/ButtonIcon.stories.js +4 -13
- package/src/stories/Card.stories.js +126 -91
- package/src/stories/CardCompany.stories.js +50 -32
- package/src/stories/CardData.stories.js +2 -1
- package/src/stories/CardImage.stories.js +15 -12
- package/src/stories/CardNumber.stories.js +4 -25
- package/src/stories/CardProject.stories.js +1 -1
- package/src/stories/Carousel.stories.js +4 -3
- package/src/stories/ChartBar.stories.js +68 -51
- package/src/stories/ChartLine.stories.js +32 -23
- package/src/stories/ChartMultiLine.stories.js +59 -0
- package/src/stories/ChartRainbow.stories.js +8 -25
- package/src/stories/ChatsContact.stories.js +90 -0
- package/src/stories/ChatsDashboardTagLive.stories.js +24 -0
- package/src/stories/ChatsHeader.stories.js +93 -0
- package/src/stories/ChatsMessage.stories.js +246 -0
- package/src/stories/ChatsNavbar.stories.js +65 -0
- package/src/stories/ChatsUserAvatar.stories.js +35 -0
- package/src/stories/Checkbox.stories.js +24 -17
- package/src/stories/CircleProgressBar.stories.js +1 -7
- package/src/stories/Collapse.stories.js +97 -0
- package/src/stories/Comment.stories.js +13 -10
- package/src/stories/DataArea.stories.js +22 -18
- package/src/stories/DatePicker.stories.js +28 -21
- package/src/stories/Dropdown.stories.js +8 -2
- package/src/stories/EmojiPicker.stories.js +59 -0
- package/src/stories/Grid.stories.js +6 -1
- package/src/stories/Icon.stories.js +4 -13
- package/src/stories/IconLoading.stories.js +126 -0
- package/src/stories/ImportCard.stories.js +6 -1
- package/src/stories/Input.stories.js +13 -7
- package/src/stories/Introduction.mdx +196 -0
- package/src/stories/Label.stories.js +4 -9
- package/src/stories/LanguageSelect.stories.js +3 -1
- package/src/stories/Modal.stories.js +22 -5
- package/src/stories/ModalUpload.stories.js +17 -21
- package/src/stories/MoodRating.stories.js +5 -4
- package/src/stories/MultiSelect.stories.js +2 -1
- package/src/stories/Pagination.stories.js +19 -5
- package/src/stories/ProgressBar.stories.js +1 -1
- package/src/stories/Radio.stories.js +6 -4
- package/src/stories/SelectSmart.mdx +138 -0
- package/src/stories/SelectSmart.stories.js +144 -117
- package/src/stories/Sidebar.stories.js +3 -2
- package/src/stories/SidebarPrimary.stories.js +54 -40
- package/src/stories/SkeletonLoading.stories.js +15 -4
- package/src/stories/Slider.stories.js +6 -8
- package/src/stories/StarRating.stories.js +6 -9
- package/src/stories/Switch.stories.js +2 -1
- package/src/stories/Table.stories.js +1 -1
- package/src/stories/TabsExpanded.stories.js +30 -27
- package/src/stories/Tag.stories.js +23 -24
- package/src/stories/TextArea.stories.js +2 -0
- package/src/stories/ToolTip.stories.js +10 -13
- package/src/stories/TransitionRipple.stories.js +34 -0
- package/src/stories/UploadArea.stories.js +22 -31
- package/src/stories/assets/images/un.png +0 -0
- package/src/stories/assets/images/unnnic.png +0 -0
- package/src/stories/assets/images/unnnicPortrait.png +0 -0
- package/src/stories/assets/videos/weni.mp4 +0 -0
- package/src/utils/call.js +37 -14
- package/src/utils/colorTokens.js +2 -0
- package/src/utils/icons.js +352 -353
- package/src/utils/plugins/i18n.js +2 -7
- package/.eslintrc.js +0 -20
- package/babel.config.js +0 -16
- package/dist/demo.html +0 -10
- package/dist/img/u1F601.0f41115c.png +0 -0
- package/dist/img/u1F610.a415c879.png +0 -0
- package/dist/img/u1F625.01b659bc.png +0 -0
- package/dist/img/u1F641.f740da74.png +0 -0
- package/dist/img/u1F645.1ff7ba1e.png +0 -0
- package/dist/scss/colors.scss +0 -241
- package/dist/scss/fonts.scss +0 -123
- package/dist/scss/grid.scss +0 -52
- package/dist/scss/spacing.scss +0 -103
- package/dist/scss/unnnic.scss +0 -10
- package/dist/unnnic.common.js +0 -44493
- package/dist/unnnic.common.js.map +0 -1
- package/dist/unnnic.css +0 -1
- package/dist/unnnic.umd.js.map +0 -1
- package/dist/unnnic.umd.min.js +0 -292
- package/dist/unnnic.umd.min.js.map +0 -1
- package/jest.config.js +0 -3
- package/package-lock.json +0 -60419
- package/public/index.html +0 -17
- package/src/assets/logo.png +0 -0
- package/src/components/AutocompleteSelect/AutocompleteSelect.vue +0 -338
- package/src/components/CardFlow/CardFlow.vue +0 -175
- package/src/components/Input/Autocomplete.vue +0 -325
- package/src/components/InputNext/InputNext.vue +0 -260
- package/src/components/ModalNext/ModalNext.vue +0 -396
- package/src/components/Select/Select.vue +0 -409
- package/src/components/SelectListItem/SelectListItem.vue +0 -125
- package/src/components/TextEditor/TextEditor.vue +0 -530
- package/src/stories/Autocomplete.stories.js +0 -55
- package/src/stories/AutocompleteSelect.stories.js +0 -45
- package/src/stories/CardFlow.stories.js +0 -44
- package/src/stories/Colors.stories.mdx +0 -91
- package/src/stories/DropdownSkeleton.stories.js +0 -15
- package/src/stories/Font.stories.mdx +0 -80
- package/src/stories/InputNext.stories.js +0 -109
- package/src/stories/Introduction.stories.mdx +0 -207
- package/src/stories/ModalNext.stories.js +0 -171
- package/src/stories/NavbarChats.stories.js +0 -68
- package/src/stories/Select.stories.js +0 -62
- package/src/stories/SelectListItem.stories.js +0 -63
- package/src/stories/TextEditor.stories.js +0 -80
- package/vue.config.js +0 -26
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<div
|
|
3
|
+
@keydown="onKeyDownSelect"
|
|
4
|
+
v-on-click-outside="onClickOutside"
|
|
5
|
+
class="unnnic-select-smart"
|
|
6
|
+
>
|
|
7
|
+
<DropdownSkeleton
|
|
8
|
+
type="manual"
|
|
9
|
+
:modelValue="active || null"
|
|
10
|
+
position="bottom"
|
|
11
|
+
ref="dropdown-skeleton"
|
|
12
|
+
>
|
|
13
|
+
<TextInput
|
|
5
14
|
class="unnnic-select-smart__input"
|
|
6
15
|
ref="selectSmartInput"
|
|
7
|
-
:
|
|
16
|
+
:modelValue="inputValue"
|
|
8
17
|
:placeholder="autocompletePlaceholder || selectedLabel"
|
|
9
18
|
:type="type"
|
|
10
19
|
:size="size"
|
|
11
20
|
:disabled="disabled"
|
|
12
21
|
:readonly="!isAutocompleteAllowed"
|
|
13
|
-
:
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
:iconLeft="
|
|
23
|
+
isAutocompleteAllowed && autocompleteIconLeft ? 'search-1' : ''
|
|
24
|
+
"
|
|
25
|
+
:iconRight="active ? 'arrow-button-up-1' : 'arrow-button-down-1'"
|
|
26
|
+
:iconRightClickable="!disabled"
|
|
16
27
|
@icon-right-click="handleClickInput"
|
|
17
|
-
@click="handleClickInput"
|
|
18
|
-
@
|
|
28
|
+
@click.stop="handleClickInput"
|
|
29
|
+
@update:modelValue="searchValue = $event"
|
|
19
30
|
/>
|
|
20
31
|
|
|
21
|
-
<template
|
|
32
|
+
<template #inside="props">
|
|
22
33
|
<div
|
|
23
34
|
v-if="active"
|
|
24
35
|
:style="{ width: props.width }"
|
|
@@ -29,12 +40,14 @@
|
|
|
29
40
|
}"
|
|
30
41
|
>
|
|
31
42
|
<div :style="{ overflow: 'auto' }">
|
|
32
|
-
<
|
|
43
|
+
<SelectSmartMultipleHeader
|
|
33
44
|
v-if="multiple"
|
|
34
|
-
:selectedOptions="
|
|
45
|
+
:selectedOptions="modelValue"
|
|
35
46
|
:withoutSelectsMessage="multipleWithoutSelectsMessage"
|
|
36
47
|
@clear-selected-options="clearSelectedOptions"
|
|
37
48
|
@unselect-option="unselectOption"
|
|
49
|
+
:locale="locale"
|
|
50
|
+
:translations="translations"
|
|
38
51
|
/>
|
|
39
52
|
<div
|
|
40
53
|
ref="selectSmartOptionsScrollArea"
|
|
@@ -46,14 +59,16 @@
|
|
|
46
59
|
},
|
|
47
60
|
]"
|
|
48
61
|
>
|
|
49
|
-
<
|
|
62
|
+
<SelectSmartOption
|
|
50
63
|
v-for="(option, index) in filterOptions(options)"
|
|
51
64
|
:key="option.value"
|
|
52
65
|
:label="option.label"
|
|
53
66
|
:description="option.description"
|
|
54
67
|
:tabindex="index"
|
|
55
68
|
:size="size"
|
|
56
|
-
:active="
|
|
69
|
+
:active="
|
|
70
|
+
option.value === modelValue || optionIsSelected(option)
|
|
71
|
+
"
|
|
57
72
|
:focused="focusedOption && focusedOption.value === option.value"
|
|
58
73
|
:allowCheckbox="!!multiple"
|
|
59
74
|
@click="handleSelect(option)"
|
|
@@ -62,25 +77,28 @@
|
|
|
62
77
|
v-if="filterOptions(options).length === 0"
|
|
63
78
|
class="unnnic-select-smart__options--no-results"
|
|
64
79
|
>
|
|
65
|
-
{{
|
|
80
|
+
{{ i18n('without_results') }}
|
|
66
81
|
</p>
|
|
67
82
|
</div>
|
|
68
83
|
</div>
|
|
69
84
|
</div>
|
|
70
85
|
</template>
|
|
71
|
-
</
|
|
86
|
+
</DropdownSkeleton>
|
|
72
87
|
</div>
|
|
73
88
|
</template>
|
|
74
89
|
|
|
75
90
|
<script>
|
|
76
|
-
import
|
|
91
|
+
import { vOnClickOutside } from '@vueuse/components';
|
|
92
|
+
|
|
77
93
|
import SelectSmartOption from './SelectSmartOption.vue';
|
|
78
94
|
import SelectSmartMultipleHeader from './SelectSmartMultipleHeader.vue';
|
|
79
95
|
import TextInput from '../Input/TextInput.vue';
|
|
80
96
|
import DropdownSkeleton from '../Dropdown/DropdownSkeleton.vue';
|
|
97
|
+
import UnnnicI18n from '../../mixins/i18n';
|
|
81
98
|
|
|
82
99
|
export default {
|
|
83
100
|
name: 'UnnnicSelectSmart',
|
|
101
|
+
mixins: [UnnnicI18n],
|
|
84
102
|
components: {
|
|
85
103
|
TextInput,
|
|
86
104
|
SelectSmartOption,
|
|
@@ -102,8 +120,9 @@ export default {
|
|
|
102
120
|
},
|
|
103
121
|
],
|
|
104
122
|
},
|
|
105
|
-
|
|
106
|
-
type:
|
|
123
|
+
modelValue: {
|
|
124
|
+
type: Array,
|
|
125
|
+
default: () => [],
|
|
107
126
|
},
|
|
108
127
|
size: {
|
|
109
128
|
type: String,
|
|
@@ -118,7 +137,7 @@ export default {
|
|
|
118
137
|
},
|
|
119
138
|
disabled: {
|
|
120
139
|
type: Boolean,
|
|
121
|
-
default:
|
|
140
|
+
default: null,
|
|
122
141
|
},
|
|
123
142
|
orderedByIndex: {
|
|
124
143
|
type: Boolean,
|
|
@@ -155,8 +174,15 @@ export default {
|
|
|
155
174
|
searchValue: '',
|
|
156
175
|
isAutocompleteAllowed: false,
|
|
157
176
|
|
|
158
|
-
selectedOptions: [],
|
|
159
177
|
multipleSelectedsTags: 2,
|
|
178
|
+
|
|
179
|
+
defaultTranslations: {
|
|
180
|
+
without_results: {
|
|
181
|
+
'pt-br': 'Nenhum resultado encontrado',
|
|
182
|
+
en: 'No results found',
|
|
183
|
+
es: 'Ningún resultado encontrado',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
160
186
|
};
|
|
161
187
|
},
|
|
162
188
|
|
|
@@ -168,13 +194,23 @@ export default {
|
|
|
168
194
|
this.isAutocompleteAllowed = true;
|
|
169
195
|
}
|
|
170
196
|
|
|
171
|
-
if (this.
|
|
172
|
-
this.
|
|
197
|
+
if (this.modelValue?.[0] && this.modelValue?.[0].value) {
|
|
198
|
+
this.modelValue.forEach((option) => this.selectOption(option));
|
|
199
|
+
|
|
200
|
+
if (this.isAutocompleteAllowed) {
|
|
201
|
+
this.$nextTick(() => {
|
|
202
|
+
this.searchValue = this.selectedLabel;
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
} else if (this.options?.[0] && this.options?.[0].value) {
|
|
206
|
+
this.selectOption(this.options?.[0]);
|
|
173
207
|
}
|
|
174
208
|
},
|
|
175
209
|
|
|
176
210
|
watch: {
|
|
177
211
|
active(newValue) {
|
|
212
|
+
this.$refs['dropdown-skeleton'].calculatePosition();
|
|
213
|
+
|
|
178
214
|
this.$nextTick(() => {
|
|
179
215
|
if (newValue && !this.multiple) {
|
|
180
216
|
const activeOptionIndex = this.getOptionIndex('active');
|
|
@@ -186,17 +222,20 @@ export default {
|
|
|
186
222
|
});
|
|
187
223
|
},
|
|
188
224
|
|
|
189
|
-
searchValue() {
|
|
225
|
+
searchValue(newSearchValue, oldSearchValue) {
|
|
190
226
|
this.focusedOption = null;
|
|
191
227
|
|
|
192
|
-
if (!this.active) this.active = true;
|
|
228
|
+
if (!this.active && oldSearchValue) this.active = true;
|
|
193
229
|
},
|
|
194
230
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
231
|
+
modelValue: {
|
|
232
|
+
deep: true,
|
|
233
|
+
handler(newValue) {
|
|
234
|
+
this.$emit('onChange', newValue);
|
|
235
|
+
this.$emit('update:modelValue', newValue);
|
|
198
236
|
|
|
199
|
-
|
|
237
|
+
this.onSelectOption(newValue.at(-1));
|
|
238
|
+
},
|
|
200
239
|
},
|
|
201
240
|
|
|
202
241
|
autocomplete(newAutocomplete) {
|
|
@@ -214,13 +253,14 @@ export default {
|
|
|
214
253
|
}
|
|
215
254
|
|
|
216
255
|
const selected = this.options.find((option) => {
|
|
217
|
-
const isValueMatch = option.value === this.
|
|
256
|
+
const isValueMatch = option.value === this.modelValue;
|
|
218
257
|
|
|
219
258
|
if (this.isAutocompleteAllowed) {
|
|
220
259
|
return isValueMatch && option.value !== '';
|
|
221
260
|
}
|
|
222
261
|
|
|
223
|
-
const isEmptyOption =
|
|
262
|
+
const isEmptyOption =
|
|
263
|
+
option.value === '' && this.modelValue.length === 0;
|
|
224
264
|
return isEmptyOption || isValueMatch;
|
|
225
265
|
});
|
|
226
266
|
|
|
@@ -229,16 +269,18 @@ export default {
|
|
|
229
269
|
}
|
|
230
270
|
|
|
231
271
|
if (this.multiple) {
|
|
232
|
-
const labels = this.
|
|
272
|
+
const labels = this.modelValue.map((item) => item.label);
|
|
233
273
|
return labels.join(', ');
|
|
234
274
|
}
|
|
235
275
|
|
|
236
|
-
const label = this.
|
|
276
|
+
const label = this.modelValue.at(-1)?.label || '';
|
|
237
277
|
return label;
|
|
238
278
|
},
|
|
239
279
|
|
|
240
280
|
hasDescriptionOptions() {
|
|
241
|
-
return this.options.some(
|
|
281
|
+
return this.options.some(
|
|
282
|
+
(item) => typeof item.description !== 'undefined',
|
|
283
|
+
);
|
|
242
284
|
},
|
|
243
285
|
|
|
244
286
|
autocompletePlaceholder() {
|
|
@@ -253,15 +295,13 @@ export default {
|
|
|
253
295
|
},
|
|
254
296
|
|
|
255
297
|
inputValue() {
|
|
256
|
-
const {
|
|
257
|
-
isAutocompleteAllowed, searchValue, multiple, selectedOptions,
|
|
258
|
-
} = this;
|
|
298
|
+
const { isAutocompleteAllowed, searchValue, multiple, modelValue } = this;
|
|
259
299
|
|
|
260
300
|
if (isAutocompleteAllowed || multiple) {
|
|
261
301
|
return searchValue;
|
|
262
302
|
}
|
|
263
|
-
if (!multiple &&
|
|
264
|
-
return
|
|
303
|
+
if (!multiple && modelValue.length !== 0) {
|
|
304
|
+
return modelValue?.[0].label;
|
|
265
305
|
}
|
|
266
306
|
|
|
267
307
|
return '';
|
|
@@ -269,16 +309,18 @@ export default {
|
|
|
269
309
|
},
|
|
270
310
|
|
|
271
311
|
directives: {
|
|
272
|
-
|
|
312
|
+
onClickOutside: vOnClickOutside,
|
|
273
313
|
},
|
|
274
314
|
|
|
275
315
|
methods: {
|
|
276
316
|
optionIsSelected(option) {
|
|
277
|
-
return this.
|
|
317
|
+
return this.modelValue.some(
|
|
318
|
+
(selectedOption) => selectedOption.value === option.value,
|
|
319
|
+
);
|
|
278
320
|
},
|
|
279
321
|
|
|
280
322
|
clearSelectedOptions() {
|
|
281
|
-
this
|
|
323
|
+
this.$emit('update:modelValue', []);
|
|
282
324
|
},
|
|
283
325
|
|
|
284
326
|
handleSelect(option) {
|
|
@@ -312,21 +354,27 @@ export default {
|
|
|
312
354
|
.replace(/[\u0300-\u036f]/g, '')
|
|
313
355
|
.split(' ');
|
|
314
356
|
|
|
315
|
-
const normalizeLabel = (label) =>
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
357
|
+
const normalizeLabel = (label) =>
|
|
358
|
+
label
|
|
359
|
+
.toString()
|
|
360
|
+
.toLowerCase()
|
|
361
|
+
.normalize('NFD')
|
|
362
|
+
.replace(/[\u0300-\u036f]/g, '');
|
|
320
363
|
|
|
321
364
|
const getNumber = (str) => parseInt(str.match(/\d+/)?.[0], 10) || 0;
|
|
322
365
|
|
|
323
|
-
const filteredOptions = options.filter(
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
366
|
+
const filteredOptions = options.filter(
|
|
367
|
+
({ value, label }, index, self) => {
|
|
368
|
+
const labelWithoutAccents = normalizeLabel(label);
|
|
369
|
+
const isValueUnique =
|
|
370
|
+
self.findIndex((option) => option.value === value) === index;
|
|
371
|
+
const matchesSearchTerms = searchTerms.every((term) =>
|
|
372
|
+
labelWithoutAccents.includes(term),
|
|
373
|
+
);
|
|
327
374
|
|
|
328
|
-
|
|
329
|
-
|
|
375
|
+
return isValueUnique && matchesSearchTerms && value;
|
|
376
|
+
},
|
|
377
|
+
);
|
|
330
378
|
|
|
331
379
|
if (this.orderedByIndex) {
|
|
332
380
|
return filteredOptions;
|
|
@@ -359,10 +407,11 @@ export default {
|
|
|
359
407
|
const options = this.filterOptions(this.options);
|
|
360
408
|
let valueByType = '';
|
|
361
409
|
if (type === 'active') {
|
|
362
|
-
valueByType = this.
|
|
410
|
+
valueByType = this.modelValue?.[0]?.value;
|
|
363
411
|
}
|
|
364
412
|
if (type === 'focused') {
|
|
365
|
-
valueByType =
|
|
413
|
+
valueByType =
|
|
414
|
+
this.focusedOption?.value || this.modelValue.at(-1)?.value;
|
|
366
415
|
}
|
|
367
416
|
return options.findIndex((option) => option.value === valueByType);
|
|
368
417
|
},
|
|
@@ -370,7 +419,11 @@ export default {
|
|
|
370
419
|
scrollToOption(optionIndex, scrollBlock = 'nearest') {
|
|
371
420
|
const elementScroll = this.$refs.selectSmartOptionsScrollArea;
|
|
372
421
|
|
|
373
|
-
if (
|
|
422
|
+
if (
|
|
423
|
+
elementScroll &&
|
|
424
|
+
optionIndex >= 0 &&
|
|
425
|
+
optionIndex < elementScroll.childNodes.length
|
|
426
|
+
) {
|
|
374
427
|
const optionElement = elementScroll.childNodes[optionIndex];
|
|
375
428
|
|
|
376
429
|
if (optionElement instanceof HTMLElement) {
|
|
@@ -380,20 +433,24 @@ export default {
|
|
|
380
433
|
},
|
|
381
434
|
|
|
382
435
|
selectOption(option) {
|
|
383
|
-
const selectedOption =
|
|
436
|
+
const selectedOption =
|
|
437
|
+
option.value === null || option.value.length === 0 ? null : option;
|
|
384
438
|
|
|
385
|
-
this
|
|
386
|
-
|
|
387
|
-
: [selectedOption]
|
|
439
|
+
this.$emit(
|
|
440
|
+
'update:modelValue',
|
|
441
|
+
this.multiple ? [...this.modelValue, selectedOption] : [selectedOption],
|
|
442
|
+
);
|
|
388
443
|
},
|
|
389
444
|
|
|
390
445
|
unselectOption(option) {
|
|
391
|
-
const indexToRemove = this.
|
|
392
|
-
(selectedOption) => selectedOption === option,
|
|
446
|
+
const indexToRemove = this.modelValue.findIndex(
|
|
447
|
+
(selectedOption) => selectedOption.value === option.value,
|
|
393
448
|
);
|
|
394
449
|
|
|
395
450
|
if (indexToRemove !== -1) {
|
|
396
|
-
this.
|
|
451
|
+
const newModelValue = this.modelValue;
|
|
452
|
+
newModelValue.splice(indexToRemove, 1);
|
|
453
|
+
this.$emit('update:modelValue', newModelValue);
|
|
397
454
|
}
|
|
398
455
|
|
|
399
456
|
if (this.multiple) {
|
|
@@ -451,9 +508,10 @@ export default {
|
|
|
451
508
|
this.active = true;
|
|
452
509
|
await this.$nextTick();
|
|
453
510
|
}
|
|
454
|
-
newIndex =
|
|
455
|
-
|
|
456
|
-
|
|
511
|
+
newIndex =
|
|
512
|
+
key === 'ArrowUp'
|
|
513
|
+
? Math.max(focusedOptionIndex - 1, 0)
|
|
514
|
+
: Math.min(focusedOptionIndex + 1, options.length - 1);
|
|
457
515
|
if (!this.active) {
|
|
458
516
|
this.handleSelect(options[newIndex]);
|
|
459
517
|
}
|
|
@@ -464,7 +522,8 @@ export default {
|
|
|
464
522
|
this.scrollToOption(newIndex);
|
|
465
523
|
}
|
|
466
524
|
|
|
467
|
-
const newOption =
|
|
525
|
+
const newOption =
|
|
526
|
+
options[newIndex === undefined ? focusedOptionIndex : newIndex];
|
|
468
527
|
this.focusedOption = newOption;
|
|
469
528
|
}
|
|
470
529
|
},
|
|
@@ -562,17 +621,20 @@ export default {
|
|
|
562
621
|
|
|
563
622
|
.unnnic-select-smart__input input {
|
|
564
623
|
// entire class name to have higher priority in styles
|
|
624
|
+
|
|
625
|
+
color: $unnnic-color-neutral-dark;
|
|
626
|
+
|
|
565
627
|
&:read-only {
|
|
566
628
|
cursor: pointer;
|
|
567
629
|
|
|
568
630
|
&::placeholder {
|
|
569
|
-
color: $unnnic-color-neutral-
|
|
631
|
+
color: $unnnic-color-neutral-cloudy;
|
|
570
632
|
}
|
|
571
633
|
}
|
|
572
634
|
|
|
573
635
|
&:not(:read-only :focus) {
|
|
574
636
|
&::placeholder {
|
|
575
|
-
color: $unnnic-color-neutral-
|
|
637
|
+
color: $unnnic-color-neutral-cloudy;
|
|
576
638
|
}
|
|
577
639
|
}
|
|
578
640
|
|
|
@@ -585,7 +647,8 @@ export default {
|
|
|
585
647
|
}
|
|
586
648
|
|
|
587
649
|
&:disabled {
|
|
588
|
-
|
|
650
|
+
box-shadow: inset 0 0 0 $unnnic-border-width-thinner
|
|
651
|
+
$unnnic-color-neutral-cleanest;
|
|
589
652
|
|
|
590
653
|
cursor: not-allowed;
|
|
591
654
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
class="unnnic-select-smart__options__multiple__selecteds__container"
|
|
6
6
|
>
|
|
7
7
|
<div class="unnnic-select-smart__options__multiple__selecteds">
|
|
8
|
-
<
|
|
8
|
+
<Tag
|
|
9
9
|
v-for="option in firstMultipleSelecteds"
|
|
10
10
|
class="unnnic-select-smart__options__multiple__selecteds__option"
|
|
11
11
|
:key="option.value"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
+{{ selectedOptions.length - multipleSelectedsTags }}
|
|
21
21
|
</p>
|
|
22
22
|
</div>
|
|
23
|
-
<
|
|
23
|
+
<IconSvg
|
|
24
24
|
class="unnnic-select-smart__options__multiple__selecteds__clear"
|
|
25
25
|
icon="close-1"
|
|
26
26
|
size="xs"
|
|
@@ -28,8 +28,11 @@
|
|
|
28
28
|
@click="clearSelectedOptions"
|
|
29
29
|
/>
|
|
30
30
|
</div>
|
|
31
|
-
<p
|
|
32
|
-
|
|
31
|
+
<p
|
|
32
|
+
v-if="!selectedOptions[0]"
|
|
33
|
+
class="unnnic-select-smart__options__multiple--without-multiples"
|
|
34
|
+
>
|
|
35
|
+
{{ withoutSelectsMessage || i18n('without_multiple_selected') }}
|
|
33
36
|
</p>
|
|
34
37
|
</div>
|
|
35
38
|
</template>
|
|
@@ -37,9 +40,11 @@
|
|
|
37
40
|
<script>
|
|
38
41
|
import Tag from '../Tag/Tag.vue';
|
|
39
42
|
import IconSvg from '../Icon.vue';
|
|
43
|
+
import UnnnicI18n from '../../mixins/i18n';
|
|
40
44
|
|
|
41
45
|
export default {
|
|
42
46
|
name: 'UnnnicSelectSmartMultipleHeader',
|
|
47
|
+
mixins: [UnnnicI18n],
|
|
43
48
|
components: {
|
|
44
49
|
Tag,
|
|
45
50
|
IconSvg,
|
|
@@ -57,6 +62,14 @@ export default {
|
|
|
57
62
|
data() {
|
|
58
63
|
return {
|
|
59
64
|
multipleSelectedsTags: 2,
|
|
65
|
+
|
|
66
|
+
defaultTranslations: {
|
|
67
|
+
without_multiple_selected: {
|
|
68
|
+
'pt-br': 'Nenhuma opção selecionada',
|
|
69
|
+
en: 'No option selected',
|
|
70
|
+
es: 'Ninguna opción seleccionada',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
60
73
|
};
|
|
61
74
|
},
|
|
62
75
|
computed: {
|
|
@@ -90,6 +103,7 @@ export default {
|
|
|
90
103
|
|
|
91
104
|
&__selecteds {
|
|
92
105
|
display: flex;
|
|
106
|
+
align-items: center;
|
|
93
107
|
|
|
94
108
|
color: $unnnic-color-neutral-dark;
|
|
95
109
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
@click="$emit('click')"
|
|
4
3
|
:class="{
|
|
5
4
|
'unnnic-select-smart-option': true,
|
|
6
5
|
'unnnic-select-smart-option--focused': focused,
|
|
@@ -11,21 +10,29 @@
|
|
|
11
10
|
}"
|
|
12
11
|
:title="label"
|
|
13
12
|
>
|
|
14
|
-
<
|
|
13
|
+
<UnnnicCheckbox
|
|
14
|
+
v-if="allowCheckbox"
|
|
15
|
+
ref="checkbox"
|
|
16
|
+
:modelValue="active"
|
|
17
|
+
:size="size"
|
|
18
|
+
/>
|
|
15
19
|
<div>
|
|
16
20
|
<span
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
:class="[
|
|
22
|
+
'unnnic-select-smart-option__label',
|
|
23
|
+
`unnnic-select-smart-option__label--${size}`,
|
|
24
|
+
]"
|
|
25
|
+
>{{ label }}</span
|
|
26
|
+
>
|
|
27
|
+
<p
|
|
28
|
+
v-if="description"
|
|
29
|
+
:class="[
|
|
30
|
+
'unnnic-select-smart-option__description',
|
|
31
|
+
`unnnic-select-smart-option__description--${size}`,
|
|
32
|
+
]"
|
|
33
|
+
>
|
|
34
|
+
{{ description }}
|
|
35
|
+
</p>
|
|
29
36
|
</div>
|
|
30
37
|
</div>
|
|
31
38
|
</template>
|
|
@@ -61,7 +68,7 @@ export default {
|
|
|
61
68
|
},
|
|
62
69
|
active: {
|
|
63
70
|
type: Boolean,
|
|
64
|
-
default:
|
|
71
|
+
default: null,
|
|
65
72
|
},
|
|
66
73
|
allowCheckbox: {
|
|
67
74
|
type: Boolean,
|