@nyaruka/temba-components 0.48.7 → 0.49.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/CHANGELOG.md +9 -0
- package/dist/3819e8ba.js +6223 -0
- package/dist/index.js +80 -80
- package/dist/static/svg/index.svg +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/templates/components-body.html +1 -1
- package/dist/templates/components-head.html +1 -1
- package/out-tsc/src/list/TembaMenu.js +6 -1
- package/out-tsc/src/list/TembaMenu.js.map +1 -1
- package/out-tsc/src/vectoricon/VectorIcon.js +2 -4
- package/out-tsc/src/vectoricon/VectorIcon.js.map +1 -1
- package/out-tsc/src/vectoricon/index.js +35 -0
- package/out-tsc/src/vectoricon/index.js.map +1 -1
- package/package.json +5 -5
- package/screenshots/truth/menu/menu-focused-with items.png +0 -0
- package/screenshots/truth/menu/menu-refresh-1.png +0 -0
- package/screenshots/truth/menu/menu-refresh-2.png +0 -0
- package/screenshots/truth/menu/menu-root.png +0 -0
- package/screenshots/truth/menu/menu-submenu.png +0 -0
- package/screenshots/truth/menu/menu-tasks-nextup.png +0 -0
- package/screenshots/truth/menu/menu-tasks.png +0 -0
- package/src/list/TembaMenu.ts +10 -1
- package/src/vectoricon/VectorIcon.ts +2 -5
- package/src/vectoricon/index.ts +38 -0
- package/static/svg/index.svg +1 -1
- package/static/svg/work/traced/agent.svg +1 -0
- package/static/svg/work/traced/alert-circle.svg +1 -0
- package/static/svg/work/traced/announcement-01.svg +1 -0
- package/static/svg/work/traced/archive.svg +1 -0
- package/static/svg/work/traced/at-sign.svg +1 -0
- package/static/svg/work/traced/atom-01.svg +1 -0
- package/static/svg/work/traced/bank-note-01.svg +1 -0
- package/static/svg/work/traced/bar-chart-01.svg +1 -0
- package/static/svg/work/traced/bell-01.svg +1 -0
- package/static/svg/work/traced/channel-android.svg +1 -0
- package/static/svg/work/traced/check-square.svg +1 -0
- package/static/svg/work/traced/check-verified-02.svg +1 -0
- package/static/svg/work/traced/check.svg +1 -0
- package/static/svg/work/traced/chevron-down.svg +1 -0
- package/static/svg/work/traced/chevron-left-double.svg +1 -0
- package/static/svg/work/traced/chevron-left.svg +1 -0
- package/static/svg/work/traced/chevron-right.svg +1 -0
- package/static/svg/work/traced/chevron-selector-vertical.svg +1 -0
- package/static/svg/work/traced/chevron-up.svg +1 -0
- package/static/svg/work/traced/clock-refresh.svg +1 -0
- package/static/svg/work/traced/coffee.svg +1 -0
- package/static/svg/work/traced/copy-04.svg +1 -0
- package/static/svg/work/traced/credit-card-02.svg +1 -0
- package/static/svg/work/traced/credit-card-plus.svg +1 -0
- package/static/svg/work/traced/download-01.svg +1 -0
- package/static/svg/work/traced/edit-02.svg +1 -0
- package/static/svg/work/traced/facebook-official.svg +1 -0
- package/static/svg/work/traced/file-02.svg +1 -0
- package/static/svg/work/traced/flag-01.svg +1 -0
- package/static/svg/work/traced/flow.svg +1 -0
- package/static/svg/work/traced/folder.svg +1 -0
- package/static/svg/work/traced/freshchat.svg +1 -0
- package/static/svg/work/traced/git-branch-01.svg +1 -0
- package/static/svg/work/traced/glasses-01.svg +1 -0
- package/static/svg/work/traced/globe-01.svg +1 -0
- package/static/svg/work/traced/hard-drive.svg +1 -0
- package/static/svg/work/traced/help-circle.svg +1 -0
- package/static/svg/work/traced/inbox-01.svg +1 -0
- package/static/svg/work/traced/jiochat.svg +1 -0
- package/static/svg/work/traced/junebug.svg +1 -0
- package/static/svg/work/traced/lightning-01.svg +1 -0
- package/static/svg/work/traced/line.svg +1 -0
- package/static/svg/work/traced/link-04.svg +1 -0
- package/static/svg/work/traced/link-external-01.svg +1 -0
- package/static/svg/work/traced/log-out-04.svg +1 -0
- package/static/svg/work/traced/magic-wand-01.svg +1 -0
- package/static/svg/work/traced/mail-01.svg +1 -0
- package/static/svg/work/traced/maximize-02.svg +1 -0
- package/static/svg/work/traced/menu-01.svg +1 -0
- package/static/svg/work/traced/message-square-02.svg +1 -0
- package/static/svg/work/traced/message-text-circle-02.svg +1 -0
- package/static/svg/work/traced/message-x-square.svg +1 -0
- package/static/svg/work/traced/mtarget.svg +1 -0
- package/static/svg/work/traced/paperclip.svg +1 -0
- package/static/svg/work/traced/phone-call-01.svg +1 -0
- package/static/svg/work/traced/phone-call-02.svg +1 -0
- package/static/svg/work/traced/pie-chart-01.svg +1 -0
- package/static/svg/work/traced/play.svg +1 -0
- package/static/svg/work/traced/plivo.svg +1 -0
- package/static/svg/work/traced/plus.svg +1 -0
- package/static/svg/work/traced/prometheus.svg +1 -0
- package/static/svg/work/traced/refresh-cw-05.svg +1 -0
- package/static/svg/work/traced/rocketchat.svg +1 -0
- package/static/svg/work/traced/rows-03.svg +1 -0
- package/static/svg/work/traced/search-refraction.svg +1 -0
- package/static/svg/work/traced/send-01.svg +1 -0
- package/static/svg/work/traced/settings-02.svg +1 -0
- package/static/svg/work/traced/share-07.svg +1 -0
- package/static/svg/work/traced/shield-01.svg +1 -0
- package/static/svg/work/traced/shield-02.svg +1 -0
- package/static/svg/work/traced/shield-zap.svg +1 -0
- package/static/svg/work/traced/signal-01.svg +1 -0
- package/static/svg/work/traced/signalwire.svg +1 -0
- package/static/svg/work/traced/slash-circle-01.svg +1 -0
- package/static/svg/work/traced/slash-octagon.svg +1 -0
- package/static/svg/work/traced/square.svg +1 -0
- package/static/svg/work/traced/star-01.svg +1 -0
- package/static/svg/work/traced/stars-02.svg +1 -0
- package/static/svg/work/traced/tag-01.svg +1 -0
- package/static/svg/work/traced/telegram.svg +1 -0
- package/static/svg/work/traced/thinq.svg +1 -0
- package/static/svg/work/traced/trash-03.svg +1 -0
- package/static/svg/work/traced/twitter.svg +1 -0
- package/static/svg/work/traced/upload-cloud-01.svg +1 -0
- package/static/svg/work/traced/user-01.svg +1 -0
- package/static/svg/work/traced/user-edit.svg +1 -0
- package/static/svg/work/traced/user-square.svg +1 -0
- package/static/svg/work/traced/users-01.svg +1 -0
- package/static/svg/work/traced/viber.svg +1 -0
- package/static/svg/work/traced/vk.svg +1 -0
- package/static/svg/work/traced/vonage.svg +1 -0
- package/static/svg/work/traced/wechat.svg +1 -0
- package/static/svg/work/traced/whatsapp.svg +1 -0
- package/static/svg/work/traced/wit.svg +1 -0
- package/static/svg/work/traced/x-close.svg +1 -0
- package/static/svg/work/traced/x.svg +1 -0
- package/static/svg/work/traced/zap.svg +1 -0
- package/static/svg/work/traced/zapier.svg +1 -0
- package/static/svg/work/traced/zendesk.svg +1 -0
- package/static/svg/work/used/agent.svg +5 -0
- package/static/svg/work/used/alert-circle.svg +3 -0
- package/static/svg/work/used/announcement-01.svg +3 -0
- package/static/svg/work/used/archive.svg +3 -0
- package/static/svg/work/used/at-sign.svg +3 -0
- package/static/svg/work/used/atom-01.svg +3 -0
- package/static/svg/work/used/bank-note-01.svg +3 -0
- package/static/svg/work/used/bar-chart-01.svg +3 -0
- package/static/svg/work/used/bell-01.svg +3 -0
- package/static/svg/work/used/channel-android.svg +5 -0
- package/static/svg/work/used/check-square.svg +3 -0
- package/static/svg/work/used/check-verified-02.svg +3 -0
- package/static/svg/work/used/check.svg +3 -0
- package/static/svg/work/used/chevron-down.svg +3 -0
- package/static/svg/work/used/chevron-left-double.svg +3 -0
- package/static/svg/work/used/chevron-left.svg +3 -0
- package/static/svg/work/used/chevron-right.svg +3 -0
- package/static/svg/work/used/chevron-selector-vertical.svg +3 -0
- package/static/svg/work/used/chevron-up.svg +3 -0
- package/static/svg/work/used/clock-refresh.svg +3 -0
- package/static/svg/work/used/coffee.svg +5 -0
- package/static/svg/work/used/copy-04.svg +3 -0
- package/static/svg/work/used/credit-card-02.svg +3 -0
- package/static/svg/work/used/credit-card-plus.svg +3 -0
- package/static/svg/work/used/download-01.svg +3 -0
- package/static/svg/work/used/edit-02.svg +3 -0
- package/static/svg/work/used/facebook-official.svg +5 -0
- package/static/svg/work/used/file-02.svg +3 -0
- package/static/svg/work/used/flag-01.svg +3 -0
- package/static/svg/work/used/flow.svg +5 -0
- package/static/svg/work/used/folder.svg +3 -0
- package/static/svg/work/used/freshchat.svg +6 -0
- package/static/svg/work/used/git-branch-01.svg +3 -0
- package/static/svg/work/used/glasses-01.svg +3 -0
- package/static/svg/work/used/globe-01.svg +3 -0
- package/static/svg/work/used/hard-drive.svg +3 -0
- package/static/svg/work/used/help-circle.svg +3 -0
- package/static/svg/work/used/inbox-01.svg +3 -0
- package/static/svg/work/used/jiochat.svg +5 -0
- package/static/svg/work/used/junebug.svg +5 -0
- package/static/svg/work/used/lightning-01.svg +3 -0
- package/static/svg/work/used/line.svg +5 -0
- package/static/svg/work/used/link-04.svg +3 -0
- package/static/svg/work/used/link-external-01.svg +3 -0
- package/static/svg/work/used/log-out-04.svg +3 -0
- package/static/svg/work/used/magic-wand-01.svg +3 -0
- package/static/svg/work/used/mail-01.svg +3 -0
- package/static/svg/work/used/maximize-02.svg +3 -0
- package/static/svg/work/used/menu-01.svg +3 -0
- package/static/svg/work/used/message-square-02.svg +3 -0
- package/static/svg/work/used/message-text-circle-02.svg +3 -0
- package/static/svg/work/used/message-x-square.svg +3 -0
- package/static/svg/work/used/mtarget.svg +5 -0
- package/static/svg/work/used/paperclip.svg +3 -0
- package/static/svg/work/used/phone-call-01.svg +3 -0
- package/static/svg/work/used/phone-call-02.svg +3 -0
- package/static/svg/work/used/pie-chart-01.svg +3 -0
- package/static/svg/work/used/play.svg +3 -0
- package/static/svg/work/used/plivo.svg +5 -0
- package/static/svg/work/used/plus.svg +3 -0
- package/static/svg/work/used/prometheus.svg +5 -0
- package/static/svg/work/used/refresh-cw-05.svg +3 -0
- package/static/svg/work/used/rocketchat.svg +6 -0
- package/static/svg/work/used/rows-03.svg +3 -0
- package/static/svg/work/used/search-refraction.svg +3 -0
- package/static/svg/work/used/send-01.svg +3 -0
- package/static/svg/work/used/settings-02.svg +4 -0
- package/static/svg/work/used/share-07.svg +3 -0
- package/static/svg/work/used/shield-01.svg +3 -0
- package/static/svg/work/used/shield-02.svg +3 -0
- package/static/svg/work/used/shield-zap.svg +3 -0
- package/static/svg/work/used/signal-01.svg +3 -0
- package/static/svg/work/used/signalwire.svg +10 -0
- package/static/svg/work/used/slash-circle-01.svg +3 -0
- package/static/svg/work/used/slash-octagon.svg +3 -0
- package/static/svg/work/used/square.svg +3 -0
- package/static/svg/work/used/star-01.svg +3 -0
- package/static/svg/work/used/stars-02.svg +3 -0
- package/static/svg/work/used/tag-01.svg +3 -0
- package/static/svg/work/used/telegram.svg +5 -0
- package/static/svg/work/used/thinq.svg +6 -0
- package/static/svg/work/used/trash-03.svg +3 -0
- package/static/svg/work/used/twitter.svg +5 -0
- package/static/svg/work/used/upload-cloud-01.svg +3 -0
- package/static/svg/work/used/user-01.svg +3 -0
- package/static/svg/work/used/user-edit.svg +3 -0
- package/static/svg/work/used/user-square.svg +3 -0
- package/static/svg/work/used/users-01.svg +3 -0
- package/static/svg/work/used/viber.svg +5 -0
- package/static/svg/work/used/vk.svg +5 -0
- package/static/svg/work/used/vonage.svg +6 -0
- package/static/svg/work/used/wechat.svg +5 -0
- package/static/svg/work/used/whatsapp.svg +5 -0
- package/static/svg/work/used/wit.svg +9 -0
- package/static/svg/work/used/x-close.svg +3 -0
- package/static/svg/work/used/x.svg +3 -0
- package/static/svg/work/used/zap.svg +3 -0
- package/static/svg/work/used/zapier.svg +6 -0
- package/static/svg/work/used/zendesk.svg +5 -0
- package/svg.js +120 -33
- package/test-assets/menu/menu-root.json +2 -2
- package/dist/22788131.js +0 -6223
- package/static/svg/traced/activity-heart.svg +0 -1
- package/static/svg/traced/activity.svg +0 -1
- package/static/svg/traced/agent.svg +0 -1
- package/static/svg/traced/airplay.svg +0 -1
- package/static/svg/traced/airpods.svg +0 -1
- package/static/svg/traced/alarm-clock-check.svg +0 -1
- package/static/svg/traced/alarm-clock-minus.svg +0 -1
- package/static/svg/traced/alarm-clock-off.svg +0 -1
- package/static/svg/traced/alarm-clock-plus.svg +0 -1
- package/static/svg/traced/alarm-clock.svg +0 -1
- package/static/svg/traced/alert-circle.svg +0 -1
- package/static/svg/traced/alert-hexagon.svg +0 -1
- package/static/svg/traced/alert-octagon.svg +0 -1
- package/static/svg/traced/alert-square.svg +0 -1
- package/static/svg/traced/alert-triangle.svg +0 -1
- package/static/svg/traced/align-bottom-01.svg +0 -1
- package/static/svg/traced/align-bottom-02.svg +0 -1
- package/static/svg/traced/align-center.svg +0 -1
- package/static/svg/traced/align-horizontal-centre-01.svg +0 -1
- package/static/svg/traced/align-horizontal-centre-02.svg +0 -1
- package/static/svg/traced/align-justify.svg +0 -1
- package/static/svg/traced/align-left-01.svg +0 -1
- package/static/svg/traced/align-left-02.svg +0 -1
- package/static/svg/traced/align-left.svg +0 -1
- package/static/svg/traced/align-right-01.svg +0 -1
- package/static/svg/traced/align-right-02.svg +0 -1
- package/static/svg/traced/align-right.svg +0 -1
- package/static/svg/traced/align-top-arrow-01.svg +0 -1
- package/static/svg/traced/align-top-arrow-02.svg +0 -1
- package/static/svg/traced/align-vertical-center-01.svg +0 -1
- package/static/svg/traced/align-vertical-center-02.svg +0 -1
- package/static/svg/traced/anchor.svg +0 -1
- package/static/svg/traced/annotation-alert.svg +0 -1
- package/static/svg/traced/annotation-check.svg +0 -1
- package/static/svg/traced/annotation-dots.svg +0 -1
- package/static/svg/traced/annotation-heart.svg +0 -1
- package/static/svg/traced/annotation-info.svg +0 -1
- package/static/svg/traced/annotation-plus.svg +0 -1
- package/static/svg/traced/annotation-question.svg +0 -1
- package/static/svg/traced/annotation-x.svg +0 -1
- package/static/svg/traced/annotation.svg +0 -1
- package/static/svg/traced/announcement-01.svg +0 -1
- package/static/svg/traced/announcement-02.svg +0 -1
- package/static/svg/traced/announcement-03.svg +0 -1
- package/static/svg/traced/archive.svg +0 -1
- package/static/svg/traced/arrow-block-down.svg +0 -1
- package/static/svg/traced/arrow-block-left.svg +0 -1
- package/static/svg/traced/arrow-block-right.svg +0 -1
- package/static/svg/traced/arrow-block-up.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-down-left.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-down-right.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-down.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-left.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-right.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-up-left.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-up-right.svg +0 -1
- package/static/svg/traced/arrow-circle-broken-up.svg +0 -1
- package/static/svg/traced/arrow-circle-down-left.svg +0 -1
- package/static/svg/traced/arrow-circle-down-right.svg +0 -1
- package/static/svg/traced/arrow-circle-down.svg +0 -1
- package/static/svg/traced/arrow-circle-left.svg +0 -1
- package/static/svg/traced/arrow-circle-right.svg +0 -1
- package/static/svg/traced/arrow-circle-up-left.svg +0 -1
- package/static/svg/traced/arrow-circle-up-right.svg +0 -1
- package/static/svg/traced/arrow-circle-up.svg +0 -1
- package/static/svg/traced/arrow-down-left.svg +0 -1
- package/static/svg/traced/arrow-down-right.svg +0 -1
- package/static/svg/traced/arrow-down.svg +0 -1
- package/static/svg/traced/arrow-left.svg +0 -1
- package/static/svg/traced/arrow-narrow-down-left.svg +0 -1
- package/static/svg/traced/arrow-narrow-down-right.svg +0 -1
- package/static/svg/traced/arrow-narrow-down.svg +0 -1
- package/static/svg/traced/arrow-narrow-left.svg +0 -1
- package/static/svg/traced/arrow-narrow-right.svg +0 -1
- package/static/svg/traced/arrow-narrow-up-left.svg +0 -1
- package/static/svg/traced/arrow-narrow-up-right.svg +0 -1
- package/static/svg/traced/arrow-narrow-up.svg +0 -1
- package/static/svg/traced/arrow-right.svg +0 -1
- package/static/svg/traced/arrow-square-down-left.svg +0 -1
- package/static/svg/traced/arrow-square-down-right.svg +0 -1
- package/static/svg/traced/arrow-square-down.svg +0 -1
- package/static/svg/traced/arrow-square-left.svg +0 -1
- package/static/svg/traced/arrow-square-right.svg +0 -1
- package/static/svg/traced/arrow-square-up-left.svg +0 -1
- package/static/svg/traced/arrow-square-up-right.svg +0 -1
- package/static/svg/traced/arrow-square-up.svg +0 -1
- package/static/svg/traced/arrow-up-left.svg +0 -1
- package/static/svg/traced/arrow-up-right.svg +0 -1
- package/static/svg/traced/arrow-up.svg +0 -1
- package/static/svg/traced/arrows-down.svg +0 -1
- package/static/svg/traced/arrows-left.svg +0 -1
- package/static/svg/traced/arrows-right.svg +0 -1
- package/static/svg/traced/arrows-triangle.svg +0 -1
- package/static/svg/traced/arrows-up.svg +0 -1
- package/static/svg/traced/asterisk-01.svg +0 -1
- package/static/svg/traced/asterisk-02.svg +0 -1
- package/static/svg/traced/at-sign.svg +0 -1
- package/static/svg/traced/atom-01.svg +0 -1
- package/static/svg/traced/atom-02.svg +0 -1
- package/static/svg/traced/attachment-01.svg +0 -1
- package/static/svg/traced/attachment-02.svg +0 -1
- package/static/svg/traced/award-01.svg +0 -1
- package/static/svg/traced/award-02.svg +0 -1
- package/static/svg/traced/award-03.svg +0 -1
- package/static/svg/traced/award-04.svg +0 -1
- package/static/svg/traced/award-05.svg +0 -1
- package/static/svg/traced/backpack.svg +0 -1
- package/static/svg/traced/bank-note-01.svg +0 -1
- package/static/svg/traced/bank-note-02.svg +0 -1
- package/static/svg/traced/bank-note-03.svg +0 -1
- package/static/svg/traced/bank.svg +0 -1
- package/static/svg/traced/bar-chart-01.svg +0 -1
- package/static/svg/traced/bar-chart-02.svg +0 -1
- package/static/svg/traced/bar-chart-03.svg +0 -1
- package/static/svg/traced/bar-chart-04.svg +0 -1
- package/static/svg/traced/bar-chart-05.svg +0 -1
- package/static/svg/traced/bar-chart-06.svg +0 -1
- package/static/svg/traced/bar-chart-07.svg +0 -1
- package/static/svg/traced/bar-chart-08.svg +0 -1
- package/static/svg/traced/bar-chart-09.svg +0 -1
- package/static/svg/traced/bar-chart-10.svg +0 -1
- package/static/svg/traced/bar-chart-11.svg +0 -1
- package/static/svg/traced/bar-chart-12.svg +0 -1
- package/static/svg/traced/bar-chart-circle-01.svg +0 -1
- package/static/svg/traced/bar-chart-circle-02.svg +0 -1
- package/static/svg/traced/bar-chart-circle-03.svg +0 -1
- package/static/svg/traced/bar-chart-square-01.svg +0 -1
- package/static/svg/traced/bar-chart-square-02.svg +0 -1
- package/static/svg/traced/bar-chart-square-03.svg +0 -1
- package/static/svg/traced/bar-chart-square-down.svg +0 -1
- package/static/svg/traced/bar-chart-square-minus.svg +0 -1
- package/static/svg/traced/bar-chart-square-plus.svg +0 -1
- package/static/svg/traced/bar-chart-square-up.svg +0 -1
- package/static/svg/traced/bar-line-chart.svg +0 -1
- package/static/svg/traced/battery-charging-01.svg +0 -1
- package/static/svg/traced/battery-charging-02.svg +0 -1
- package/static/svg/traced/battery-empty.svg +0 -1
- package/static/svg/traced/battery-full.svg +0 -1
- package/static/svg/traced/battery-low.svg +0 -1
- package/static/svg/traced/battery-mid.svg +0 -1
- package/static/svg/traced/beaker-01.svg +0 -1
- package/static/svg/traced/beaker-02.svg +0 -1
- package/static/svg/traced/bell-01.svg +0 -1
- package/static/svg/traced/bell-02.svg +0 -1
- package/static/svg/traced/bell-03.svg +0 -1
- package/static/svg/traced/bell-04.svg +0 -1
- package/static/svg/traced/bell-minus.svg +0 -1
- package/static/svg/traced/bell-off-01.svg +0 -1
- package/static/svg/traced/bell-off-02.svg +0 -1
- package/static/svg/traced/bell-off-03.svg +0 -1
- package/static/svg/traced/bell-plus.svg +0 -1
- package/static/svg/traced/bell-ringing-01.svg +0 -1
- package/static/svg/traced/bell-ringing-02.svg +0 -1
- package/static/svg/traced/bell-ringing-03.svg +0 -1
- package/static/svg/traced/bell-ringing-04.svg +0 -1
- package/static/svg/traced/bezier-curve-01.svg +0 -1
- package/static/svg/traced/bezier-curve-02.svg +0 -1
- package/static/svg/traced/bezier-curve-03.svg +0 -1
- package/static/svg/traced/bluetooth-connect.svg +0 -1
- package/static/svg/traced/bluetooth-off.svg +0 -1
- package/static/svg/traced/bluetooth-on.svg +0 -1
- package/static/svg/traced/bluetooth-signal.svg +0 -1
- package/static/svg/traced/bold-01.svg +0 -1
- package/static/svg/traced/bold-02.svg +0 -1
- package/static/svg/traced/bold-square.svg +0 -1
- package/static/svg/traced/book-closed.svg +0 -1
- package/static/svg/traced/book-open-01.svg +0 -1
- package/static/svg/traced/book-open-02.svg +0 -1
- package/static/svg/traced/bookmark-add.svg +0 -1
- package/static/svg/traced/bookmark-check.svg +0 -1
- package/static/svg/traced/bookmark-minus.svg +0 -1
- package/static/svg/traced/bookmark-x.svg +0 -1
- package/static/svg/traced/bookmark.svg +0 -1
- package/static/svg/traced/bothub.svg +0 -1
- package/static/svg/traced/box.svg +0 -1
- package/static/svg/traced/brackets-check.svg +0 -1
- package/static/svg/traced/brackets-ellipses.svg +0 -1
- package/static/svg/traced/brackets-minus.svg +0 -1
- package/static/svg/traced/brackets-plus.svg +0 -1
- package/static/svg/traced/brackets-slash.svg +0 -1
- package/static/svg/traced/brackets-x.svg +0 -1
- package/static/svg/traced/brackets.svg +0 -1
- package/static/svg/traced/briefcase-01.svg +0 -1
- package/static/svg/traced/briefcase-02.svg +0 -1
- package/static/svg/traced/browser.svg +0 -1
- package/static/svg/traced/brush-01.svg +0 -1
- package/static/svg/traced/brush-02.svg +0 -1
- package/static/svg/traced/brush-03.svg +0 -1
- package/static/svg/traced/building-01.svg +0 -1
- package/static/svg/traced/building-02.svg +0 -1
- package/static/svg/traced/building-03.svg +0 -1
- package/static/svg/traced/building-04.svg +0 -1
- package/static/svg/traced/building-05.svg +0 -1
- package/static/svg/traced/building-06.svg +0 -1
- package/static/svg/traced/building-07.svg +0 -1
- package/static/svg/traced/building-08.svg +0 -1
- package/static/svg/traced/bus.svg +0 -1
- package/static/svg/traced/calculator.svg +0 -1
- package/static/svg/traced/calendar-check-01.svg +0 -1
- package/static/svg/traced/calendar-check-02.svg +0 -1
- package/static/svg/traced/calendar-date.svg +0 -1
- package/static/svg/traced/calendar-heart-01.svg +0 -1
- package/static/svg/traced/calendar-heart-02.svg +0 -1
- package/static/svg/traced/calendar-minus-01.svg +0 -1
- package/static/svg/traced/calendar-minus-02.svg +0 -1
- package/static/svg/traced/calendar-plus-01.svg +0 -1
- package/static/svg/traced/calendar-plus-02.svg +0 -1
- package/static/svg/traced/calendar.svg +0 -1
- package/static/svg/traced/camera-01.svg +0 -1
- package/static/svg/traced/camera-02.svg +0 -1
- package/static/svg/traced/camera-03.svg +0 -1
- package/static/svg/traced/camera-lens.svg +0 -1
- package/static/svg/traced/camera-off.svg +0 -1
- package/static/svg/traced/camera-plus.svg +0 -1
- package/static/svg/traced/certificate-01.svg +0 -1
- package/static/svg/traced/certificate-02.svg +0 -1
- package/static/svg/traced/channel-android.svg +0 -1
- package/static/svg/traced/channel-kannel.svg +0 -1
- package/static/svg/traced/channel-plivo.svg +0 -1
- package/static/svg/traced/channel-twilio.svg +0 -1
- package/static/svg/traced/chart-breakout-circle.svg +0 -1
- package/static/svg/traced/chart-breakout-square.svg +0 -1
- package/static/svg/traced/chatbase.svg +0 -1
- package/static/svg/traced/check-circle-broken.svg +0 -1
- package/static/svg/traced/check-circle.svg +0 -1
- package/static/svg/traced/check-done-01.svg +0 -1
- package/static/svg/traced/check-done-02.svg +0 -1
- package/static/svg/traced/check-heart.svg +0 -1
- package/static/svg/traced/check-square-broken.svg +0 -1
- package/static/svg/traced/check-square.svg +0 -1
- package/static/svg/traced/check-verified-01.svg +0 -1
- package/static/svg/traced/check-verified-02.svg +0 -1
- package/static/svg/traced/check-verified-03.svg +0 -1
- package/static/svg/traced/check.svg +0 -1
- package/static/svg/traced/chevron-down-double.svg +0 -1
- package/static/svg/traced/chevron-down.svg +0 -1
- package/static/svg/traced/chevron-left-double.svg +0 -1
- package/static/svg/traced/chevron-left.svg +0 -1
- package/static/svg/traced/chevron-right-double.svg +0 -1
- package/static/svg/traced/chevron-right.svg +0 -1
- package/static/svg/traced/chevron-selector-horizontal.svg +0 -1
- package/static/svg/traced/chevron-selector-vertical.svg +0 -1
- package/static/svg/traced/chevron-up-double.svg +0 -1
- package/static/svg/traced/chevron-up.svg +0 -1
- package/static/svg/traced/chrome-cast.svg +0 -1
- package/static/svg/traced/circle-cut.svg +0 -1
- package/static/svg/traced/circle.svg +0 -1
- package/static/svg/traced/clapperboard.svg +0 -1
- package/static/svg/traced/clickatell-inverted.svg +0 -1
- package/static/svg/traced/clickatell.svg +0 -1
- package/static/svg/traced/clipboard-attachment.svg +0 -1
- package/static/svg/traced/clipboard-check.svg +0 -1
- package/static/svg/traced/clipboard-download.svg +0 -1
- package/static/svg/traced/clipboard-minus.svg +0 -1
- package/static/svg/traced/clipboard-plus.svg +0 -1
- package/static/svg/traced/clipboard-x.svg +0 -1
- package/static/svg/traced/clipboard.svg +0 -1
- package/static/svg/traced/clock-check.svg +0 -1
- package/static/svg/traced/clock-fast-forward.svg +0 -1
- package/static/svg/traced/clock-plus.svg +0 -1
- package/static/svg/traced/clock-refresh.svg +0 -1
- package/static/svg/traced/clock-rewind.svg +0 -1
- package/static/svg/traced/clock-snooze.svg +0 -1
- package/static/svg/traced/clock-stopwatch.svg +0 -1
- package/static/svg/traced/clock.svg +0 -1
- package/static/svg/traced/cloud-01.svg +0 -1
- package/static/svg/traced/cloud-02.svg +0 -1
- package/static/svg/traced/cloud-03.svg +0 -1
- package/static/svg/traced/cloud-blank-01.svg +0 -1
- package/static/svg/traced/cloud-blank-02.svg +0 -1
- package/static/svg/traced/cloud-lightning.svg +0 -1
- package/static/svg/traced/cloud-moon.svg +0 -1
- package/static/svg/traced/cloud-off.svg +0 -1
- package/static/svg/traced/cloud-raining-01.svg +0 -1
- package/static/svg/traced/cloud-raining-02.svg +0 -1
- package/static/svg/traced/cloud-raining-03.svg +0 -1
- package/static/svg/traced/cloud-raining-04.svg +0 -1
- package/static/svg/traced/cloud-raining-05.svg +0 -1
- package/static/svg/traced/cloud-raining-06.svg +0 -1
- package/static/svg/traced/cloud-snowing-01.svg +0 -1
- package/static/svg/traced/cloud-snowing-02.svg +0 -1
- package/static/svg/traced/cloud-sun-01.svg +0 -1
- package/static/svg/traced/cloud-sun-02.svg +0 -1
- package/static/svg/traced/cloud-sun-03.svg +0 -1
- package/static/svg/traced/code-01.svg +0 -1
- package/static/svg/traced/code-02.svg +0 -1
- package/static/svg/traced/code-browser.svg +0 -1
- package/static/svg/traced/code-circle-01.svg +0 -1
- package/static/svg/traced/code-circle-02.svg +0 -1
- package/static/svg/traced/code-circle-03.svg +0 -1
- package/static/svg/traced/code-snippet-01.svg +0 -1
- package/static/svg/traced/code-snippet-02.svg +0 -1
- package/static/svg/traced/code-square-01.svg +0 -1
- package/static/svg/traced/code-square-02.svg +0 -1
- package/static/svg/traced/codepen.svg +0 -1
- package/static/svg/traced/coffee.svg +0 -1
- package/static/svg/traced/coins-01.svg +0 -1
- package/static/svg/traced/coins-02.svg +0 -1
- package/static/svg/traced/coins-03.svg +0 -1
- package/static/svg/traced/coins-04.svg +0 -1
- package/static/svg/traced/coins-hand.svg +0 -1
- package/static/svg/traced/coins-stacked-01.svg +0 -1
- package/static/svg/traced/coins-stacked-02.svg +0 -1
- package/static/svg/traced/coins-stacked-03.svg +0 -1
- package/static/svg/traced/coins-stacked-04.svg +0 -1
- package/static/svg/traced/coins-swap-01.svg +0 -1
- package/static/svg/traced/coins-swap-02.svg +0 -1
- package/static/svg/traced/colors-1.svg +0 -1
- package/static/svg/traced/colors.svg +0 -1
- package/static/svg/traced/columns-01.svg +0 -1
- package/static/svg/traced/columns-02.svg +0 -1
- package/static/svg/traced/columns-03.svg +0 -1
- package/static/svg/traced/command.svg +0 -1
- package/static/svg/traced/compass-01.svg +0 -1
- package/static/svg/traced/compass-02.svg +0 -1
- package/static/svg/traced/compass-03.svg +0 -1
- package/static/svg/traced/compass.svg +0 -1
- package/static/svg/traced/contact.svg +0 -1
- package/static/svg/traced/container.svg +0 -1
- package/static/svg/traced/contrast-01.svg +0 -1
- package/static/svg/traced/contrast-02.svg +0 -1
- package/static/svg/traced/contrast-03.svg +0 -1
- package/static/svg/traced/copy-01.svg +0 -1
- package/static/svg/traced/copy-02.svg +0 -1
- package/static/svg/traced/copy-03.svg +0 -1
- package/static/svg/traced/copy-04.svg +0 -1
- package/static/svg/traced/copy-05.svg +0 -1
- package/static/svg/traced/copy-06.svg +0 -1
- package/static/svg/traced/copy-07.svg +0 -1
- package/static/svg/traced/corner-down-left.svg +0 -1
- package/static/svg/traced/corner-down-right.svg +0 -1
- package/static/svg/traced/corner-left-down.svg +0 -1
- package/static/svg/traced/corner-left-up.svg +0 -1
- package/static/svg/traced/corner-right-down.svg +0 -1
- package/static/svg/traced/corner-right-up.svg +0 -1
- package/static/svg/traced/corner-up-left.svg +0 -1
- package/static/svg/traced/corner-up-right.svg +0 -1
- package/static/svg/traced/cpu-chip-01.svg +0 -1
- package/static/svg/traced/cpu-chip-02.svg +0 -1
- package/static/svg/traced/credit-card-01.svg +0 -1
- package/static/svg/traced/credit-card-02.svg +0 -1
- package/static/svg/traced/credit-card-check.svg +0 -1
- package/static/svg/traced/credit-card-down.svg +0 -1
- package/static/svg/traced/credit-card-download.svg +0 -1
- package/static/svg/traced/credit-card-edit.svg +0 -1
- package/static/svg/traced/credit-card-lock.svg +0 -1
- package/static/svg/traced/credit-card-minus.svg +0 -1
- package/static/svg/traced/credit-card-plus.svg +0 -1
- package/static/svg/traced/credit-card-refresh.svg +0 -1
- package/static/svg/traced/credit-card-search.svg +0 -1
- package/static/svg/traced/credit-card-shield.svg +0 -1
- package/static/svg/traced/credit-card-up.svg +0 -1
- package/static/svg/traced/credit-card-upload.svg +0 -1
- package/static/svg/traced/credit-card-x.svg +0 -1
- package/static/svg/traced/crop-01.svg +0 -1
- package/static/svg/traced/crop-02.svg +0 -1
- package/static/svg/traced/cryptocurrency-01.svg +0 -1
- package/static/svg/traced/cryptocurrency-02.svg +0 -1
- package/static/svg/traced/cryptocurrency-03.svg +0 -1
- package/static/svg/traced/cryptocurrency-04.svg +0 -1
- package/static/svg/traced/cube-01.svg +0 -1
- package/static/svg/traced/cube-02.svg +0 -1
- package/static/svg/traced/cube-03.svg +0 -1
- package/static/svg/traced/cube-04.svg +0 -1
- package/static/svg/traced/cube-outline.svg +0 -1
- package/static/svg/traced/currency-bitcoin-circle.svg +0 -1
- package/static/svg/traced/currency-bitcoin.svg +0 -1
- package/static/svg/traced/currency-dollar-circle.svg +0 -1
- package/static/svg/traced/currency-dollar.svg +0 -1
- package/static/svg/traced/currency-ethereum-circle.svg +0 -1
- package/static/svg/traced/currency-ethereum.svg +0 -1
- package/static/svg/traced/currency-euro-circle.svg +0 -1
- package/static/svg/traced/currency-euro.svg +0 -1
- package/static/svg/traced/currency-pound-circle.svg +0 -1
- package/static/svg/traced/currency-pound.svg +0 -1
- package/static/svg/traced/currency-ruble-circle.svg +0 -1
- package/static/svg/traced/currency-ruble.svg +0 -1
- package/static/svg/traced/currency-rupee-circle.svg +0 -1
- package/static/svg/traced/currency-rupee.svg +0 -1
- package/static/svg/traced/currency-yen-circle.svg +0 -1
- package/static/svg/traced/currency-yen.svg +0 -1
- package/static/svg/traced/cursor-01.svg +0 -1
- package/static/svg/traced/cursor-02.svg +0 -1
- package/static/svg/traced/cursor-03.svg +0 -1
- package/static/svg/traced/cursor-04.svg +0 -1
- package/static/svg/traced/cursor-box.svg +0 -1
- package/static/svg/traced/cursor-click-01.svg +0 -1
- package/static/svg/traced/cursor-click-02.svg +0 -1
- package/static/svg/traced/data.svg +0 -1
- package/static/svg/traced/database-01.svg +0 -1
- package/static/svg/traced/database-02.svg +0 -1
- package/static/svg/traced/database-03.svg +0 -1
- package/static/svg/traced/dataflow-01.svg +0 -1
- package/static/svg/traced/dataflow-02.svg +0 -1
- package/static/svg/traced/dataflow-03.svg +0 -1
- package/static/svg/traced/dataflow-04.svg +0 -1
- package/static/svg/traced/delete.svg +0 -1
- package/static/svg/traced/diamond-01.svg +0 -1
- package/static/svg/traced/diamond-02.svg +0 -1
- package/static/svg/traced/dice-1.svg +0 -1
- package/static/svg/traced/dice-2.svg +0 -1
- package/static/svg/traced/dice-3.svg +0 -1
- package/static/svg/traced/dice-4.svg +0 -1
- package/static/svg/traced/dice-5.svg +0 -1
- package/static/svg/traced/dice-6.svg +0 -1
- package/static/svg/traced/disc-01.svg +0 -1
- package/static/svg/traced/disc-02.svg +0 -1
- package/static/svg/traced/distribute-spacing-horizontal.svg +0 -1
- package/static/svg/traced/distribute-spacing-vertical.svg +0 -1
- package/static/svg/traced/divide-01.svg +0 -1
- package/static/svg/traced/divide-02.svg +0 -1
- package/static/svg/traced/divide-03.svg +0 -1
- package/static/svg/traced/divider.svg +0 -1
- package/static/svg/traced/dotpoints-01.svg +0 -1
- package/static/svg/traced/dotpoints-02.svg +0 -1
- package/static/svg/traced/dots-grid.svg +0 -1
- package/static/svg/traced/dots-horizontal.svg +0 -1
- package/static/svg/traced/dots-vertical.svg +0 -1
- package/static/svg/traced/download-01.svg +0 -1
- package/static/svg/traced/download-02.svg +0 -1
- package/static/svg/traced/download-03.svg +0 -1
- package/static/svg/traced/download-04.svg +0 -1
- package/static/svg/traced/download-cloud-01.svg +0 -1
- package/static/svg/traced/download-cloud-02.svg +0 -1
- package/static/svg/traced/drop.svg +0 -1
- package/static/svg/traced/droplets-01.svg +0 -1
- package/static/svg/traced/droplets-02.svg +0 -1
- package/static/svg/traced/droplets-03.svg +0 -1
- package/static/svg/traced/dropper.svg +0 -1
- package/static/svg/traced/dtone.svg +0 -1
- package/static/svg/traced/edit-01.svg +0 -1
- package/static/svg/traced/edit-02.svg +0 -1
- package/static/svg/traced/edit-03.svg +0 -1
- package/static/svg/traced/edit-04.svg +0 -1
- package/static/svg/traced/edit-05.svg +0 -1
- package/static/svg/traced/equal-not.svg +0 -1
- package/static/svg/traced/equal.svg +0 -1
- package/static/svg/traced/eraser.svg +0 -1
- package/static/svg/traced/expand-01.svg +0 -1
- package/static/svg/traced/expand-02.svg +0 -1
- package/static/svg/traced/expand-03.svg +0 -1
- package/static/svg/traced/expand-04.svg +0 -1
- package/static/svg/traced/expand-05.svg +0 -1
- package/static/svg/traced/expand-06.svg +0 -1
- package/static/svg/traced/eye-off.svg +0 -1
- package/static/svg/traced/eye.svg +0 -1
- package/static/svg/traced/face-content.svg +0 -1
- package/static/svg/traced/face-frown.svg +0 -1
- package/static/svg/traced/face-happy.svg +0 -1
- package/static/svg/traced/face-id-square.svg +0 -1
- package/static/svg/traced/face-id.svg +0 -1
- package/static/svg/traced/face-neutral.svg +0 -1
- package/static/svg/traced/face-sad.svg +0 -1
- package/static/svg/traced/face-smile.svg +0 -1
- package/static/svg/traced/face-wink.svg +0 -1
- package/static/svg/traced/facebook-official.svg +0 -1
- package/static/svg/traced/fast-backward.svg +0 -1
- package/static/svg/traced/fast-forward.svg +0 -1
- package/static/svg/traced/feather.svg +0 -1
- package/static/svg/traced/figma.svg +0 -1
- package/static/svg/traced/file-01.svg +0 -1
- package/static/svg/traced/file-02.svg +0 -1
- package/static/svg/traced/file-03.svg +0 -1
- package/static/svg/traced/file-04.svg +0 -1
- package/static/svg/traced/file-05.svg +0 -1
- package/static/svg/traced/file-06.svg +0 -1
- package/static/svg/traced/file-07.svg +0 -1
- package/static/svg/traced/file-attachment-01.svg +0 -1
- package/static/svg/traced/file-attachment-02.svg +0 -1
- package/static/svg/traced/file-attachment-03.svg +0 -1
- package/static/svg/traced/file-attachment-04.svg +0 -1
- package/static/svg/traced/file-attachment-05.svg +0 -1
- package/static/svg/traced/file-check-01.svg +0 -1
- package/static/svg/traced/file-check-02.svg +0 -1
- package/static/svg/traced/file-check-03.svg +0 -1
- package/static/svg/traced/file-code-01.svg +0 -1
- package/static/svg/traced/file-code-02.svg +0 -1
- package/static/svg/traced/file-download-01.svg +0 -1
- package/static/svg/traced/file-download-02.svg +0 -1
- package/static/svg/traced/file-download-03.svg +0 -1
- package/static/svg/traced/file-heart-01.svg +0 -1
- package/static/svg/traced/file-heart-02.svg +0 -1
- package/static/svg/traced/file-heart-03.svg +0 -1
- package/static/svg/traced/file-lock-01.svg +0 -1
- package/static/svg/traced/file-lock-02.svg +0 -1
- package/static/svg/traced/file-lock-03.svg +0 -1
- package/static/svg/traced/file-minus-01.svg +0 -1
- package/static/svg/traced/file-minus-02.svg +0 -1
- package/static/svg/traced/file-minus-03.svg +0 -1
- package/static/svg/traced/file-plus-01.svg +0 -1
- package/static/svg/traced/file-plus-02.svg +0 -1
- package/static/svg/traced/file-plus-03.svg +0 -1
- package/static/svg/traced/file-question-01.svg +0 -1
- package/static/svg/traced/file-question-02.svg +0 -1
- package/static/svg/traced/file-question-03.svg +0 -1
- package/static/svg/traced/file-search-01.svg +0 -1
- package/static/svg/traced/file-search-02.svg +0 -1
- package/static/svg/traced/file-search-03.svg +0 -1
- package/static/svg/traced/file-shield-01.svg +0 -1
- package/static/svg/traced/file-shield-02.svg +0 -1
- package/static/svg/traced/file-shield-03.svg +0 -1
- package/static/svg/traced/file-x-01.svg +0 -1
- package/static/svg/traced/file-x-02.svg +0 -1
- package/static/svg/traced/file-x-03.svg +0 -1
- package/static/svg/traced/film-01.svg +0 -1
- package/static/svg/traced/film-02.svg +0 -1
- package/static/svg/traced/film-03.svg +0 -1
- package/static/svg/traced/filter-funnel-01.svg +0 -1
- package/static/svg/traced/filter-funnel-02.svg +0 -1
- package/static/svg/traced/filter-lines.svg +0 -1
- package/static/svg/traced/fingerprint-01.svg +0 -1
- package/static/svg/traced/fingerprint-02.svg +0 -1
- package/static/svg/traced/fingerprint-03.svg +0 -1
- package/static/svg/traced/fingerprint-04.svg +0 -1
- package/static/svg/traced/flag-01.svg +0 -1
- package/static/svg/traced/flag-02.svg +0 -1
- package/static/svg/traced/flag-03.svg +0 -1
- package/static/svg/traced/flag-04.svg +0 -1
- package/static/svg/traced/flag-05.svg +0 -1
- package/static/svg/traced/flag-06.svg +0 -1
- package/static/svg/traced/flash-off.svg +0 -1
- package/static/svg/traced/flash.svg +0 -1
- package/static/svg/traced/flex-align-bottom.svg +0 -1
- package/static/svg/traced/flex-align-left.svg +0 -1
- package/static/svg/traced/flex-align-right.svg +0 -1
- package/static/svg/traced/flex-align-top.svg +0 -1
- package/static/svg/traced/flip-backward.svg +0 -1
- package/static/svg/traced/flip-forward.svg +0 -1
- package/static/svg/traced/flow.svg +0 -1
- package/static/svg/traced/folder-check.svg +0 -1
- package/static/svg/traced/folder-closed.svg +0 -1
- package/static/svg/traced/folder-code.svg +0 -1
- package/static/svg/traced/folder-download.svg +0 -1
- package/static/svg/traced/folder-lock.svg +0 -1
- package/static/svg/traced/folder-minus.svg +0 -1
- package/static/svg/traced/folder-plus.svg +0 -1
- package/static/svg/traced/folder-question.svg +0 -1
- package/static/svg/traced/folder-search.svg +0 -1
- package/static/svg/traced/folder-shield.svg +0 -1
- package/static/svg/traced/folder-x.svg +0 -1
- package/static/svg/traced/folder.svg +0 -1
- package/static/svg/traced/framer.svg +0 -1
- package/static/svg/traced/freshchat.svg +0 -1
- package/static/svg/traced/gaming-pad-01.svg +0 -1
- package/static/svg/traced/gaming-pad-02.svg +0 -1
- package/static/svg/traced/gift-01.svg +0 -1
- package/static/svg/traced/gift-02.svg +0 -1
- package/static/svg/traced/git-branch-01.svg +0 -1
- package/static/svg/traced/git-branch-02.svg +0 -1
- package/static/svg/traced/git-commit.svg +0 -1
- package/static/svg/traced/git-merge.svg +0 -1
- package/static/svg/traced/git-pull-request.svg +0 -1
- package/static/svg/traced/glasses-01.svg +0 -1
- package/static/svg/traced/glasses-02.svg +0 -1
- package/static/svg/traced/globe-01-1.svg +0 -1
- package/static/svg/traced/globe-01.svg +0 -1
- package/static/svg/traced/globe-02-1.svg +0 -1
- package/static/svg/traced/globe-02.svg +0 -1
- package/static/svg/traced/globe-03.svg +0 -1
- package/static/svg/traced/globe-04.svg +0 -1
- package/static/svg/traced/globe-05.svg +0 -1
- package/static/svg/traced/globe-06.svg +0 -1
- package/static/svg/traced/google-chrome.svg +0 -1
- package/static/svg/traced/graduation-hat-01.svg +0 -1
- package/static/svg/traced/graduation-hat-02.svg +0 -1
- package/static/svg/traced/grid-01.svg +0 -1
- package/static/svg/traced/grid-02.svg +0 -1
- package/static/svg/traced/grid-03.svg +0 -1
- package/static/svg/traced/grid-dots-blank.svg +0 -1
- package/static/svg/traced/grid-dots-bottom.svg +0 -1
- package/static/svg/traced/grid-dots-horizontal-center.svg +0 -1
- package/static/svg/traced/grid-dots-left.svg +0 -1
- package/static/svg/traced/grid-dots-outer.svg +0 -1
- package/static/svg/traced/grid-dots-right.svg +0 -1
- package/static/svg/traced/grid-dots-top.svg +0 -1
- package/static/svg/traced/grid-dots-vertical-center.svg +0 -1
- package/static/svg/traced/hand.svg +0 -1
- package/static/svg/traced/hard-drive.svg +0 -1
- package/static/svg/traced/hash-01.svg +0 -1
- package/static/svg/traced/hash-02.svg +0 -1
- package/static/svg/traced/heading-01.svg +0 -1
- package/static/svg/traced/heading-02.svg +0 -1
- package/static/svg/traced/heading-square.svg +0 -1
- package/static/svg/traced/headphones-01.svg +0 -1
- package/static/svg/traced/headphones-02.svg +0 -1
- package/static/svg/traced/heart-circle.svg +0 -1
- package/static/svg/traced/heart-hand.svg +0 -1
- package/static/svg/traced/heart-hexagon.svg +0 -1
- package/static/svg/traced/heart-octagon.svg +0 -1
- package/static/svg/traced/heart-rounded.svg +0 -1
- package/static/svg/traced/heart-square.svg +0 -1
- package/static/svg/traced/heart.svg +0 -1
- package/static/svg/traced/hearts.svg +0 -1
- package/static/svg/traced/help-circle.svg +0 -1
- package/static/svg/traced/help-octagon-1.svg +0 -1
- package/static/svg/traced/help-octagon.svg +0 -1
- package/static/svg/traced/help-square.svg +0 -1
- package/static/svg/traced/hexagon-01.svg +0 -1
- package/static/svg/traced/hexagon-02.svg +0 -1
- package/static/svg/traced/home-01.svg +0 -1
- package/static/svg/traced/home-02.svg +0 -1
- package/static/svg/traced/home-03.svg +0 -1
- package/static/svg/traced/home-04.svg +0 -1
- package/static/svg/traced/home-05.svg +0 -1
- package/static/svg/traced/home-line.svg +0 -1
- package/static/svg/traced/home-smile.svg +0 -1
- package/static/svg/traced/horizontal-bar-chart-01.svg +0 -1
- package/static/svg/traced/horizontal-bar-chart-02.svg +0 -1
- package/static/svg/traced/horizontal-bar-chart-03.svg +0 -1
- package/static/svg/traced/hourglass-01.svg +0 -1
- package/static/svg/traced/hourglass-02.svg +0 -1
- package/static/svg/traced/hourglass-03.svg +0 -1
- package/static/svg/traced/hurricane-01.svg +0 -1
- package/static/svg/traced/hurricane-02.svg +0 -1
- package/static/svg/traced/hurricane-03.svg +0 -1
- package/static/svg/traced/image-01.svg +0 -1
- package/static/svg/traced/image-02.svg +0 -1
- package/static/svg/traced/image-03.svg +0 -1
- package/static/svg/traced/image-04.svg +0 -1
- package/static/svg/traced/image-05.svg +0 -1
- package/static/svg/traced/image-check.svg +0 -1
- package/static/svg/traced/image-down.svg +0 -1
- package/static/svg/traced/image-indent-left.svg +0 -1
- package/static/svg/traced/image-indent-right.svg +0 -1
- package/static/svg/traced/image-left.svg +0 -1
- package/static/svg/traced/image-plus.svg +0 -1
- package/static/svg/traced/image-right.svg +0 -1
- package/static/svg/traced/image-up.svg +0 -1
- package/static/svg/traced/image-user-check.svg +0 -1
- package/static/svg/traced/image-user-down.svg +0 -1
- package/static/svg/traced/image-user-left.svg +0 -1
- package/static/svg/traced/image-user-plus.svg +0 -1
- package/static/svg/traced/image-user-right.svg +0 -1
- package/static/svg/traced/image-user-up.svg +0 -1
- package/static/svg/traced/image-user-x.svg +0 -1
- package/static/svg/traced/image-user.svg +0 -1
- package/static/svg/traced/image-x.svg +0 -1
- package/static/svg/traced/inbox-01.svg +0 -1
- package/static/svg/traced/inbox-02.svg +0 -1
- package/static/svg/traced/infinity.svg +0 -1
- package/static/svg/traced/info-circle.svg +0 -1
- package/static/svg/traced/info-hexagon.svg +0 -1
- package/static/svg/traced/info-octagon.svg +0 -1
- package/static/svg/traced/info-square.svg +0 -1
- package/static/svg/traced/intersect-circle.svg +0 -1
- package/static/svg/traced/intersect-square.svg +0 -1
- package/static/svg/traced/italic-01.svg +0 -1
- package/static/svg/traced/italic-02.svg +0 -1
- package/static/svg/traced/italic-square.svg +0 -1
- package/static/svg/traced/jiochat.svg +0 -1
- package/static/svg/traced/junebug.svg +0 -1
- package/static/svg/traced/key-01.svg +0 -1
- package/static/svg/traced/key-02.svg +0 -1
- package/static/svg/traced/keyboard-01.svg +0 -1
- package/static/svg/traced/keyboard-02.svg +0 -1
- package/static/svg/traced/language.svg +0 -1
- package/static/svg/traced/laptop-01.svg +0 -1
- package/static/svg/traced/laptop-02.svg +0 -1
- package/static/svg/traced/layer-single.svg +0 -1
- package/static/svg/traced/layers-three-01.svg +0 -1
- package/static/svg/traced/layers-three-02.svg +0 -1
- package/static/svg/traced/layers-two-01.svg +0 -1
- package/static/svg/traced/layers-two-02.svg +0 -1
- package/static/svg/traced/layout-alt-01.svg +0 -1
- package/static/svg/traced/layout-alt-02.svg +0 -1
- package/static/svg/traced/layout-alt-03.svg +0 -1
- package/static/svg/traced/layout-alt-04.svg +0 -1
- package/static/svg/traced/layout-bottom.svg +0 -1
- package/static/svg/traced/layout-grid-01.svg +0 -1
- package/static/svg/traced/layout-grid-02.svg +0 -1
- package/static/svg/traced/layout-left.svg +0 -1
- package/static/svg/traced/layout-right.svg +0 -1
- package/static/svg/traced/layout-top.svg +0 -1
- package/static/svg/traced/left-indent-01.svg +0 -1
- package/static/svg/traced/left-indent-02.svg +0 -1
- package/static/svg/traced/letter-spacing-01.svg +0 -1
- package/static/svg/traced/letter-spacing-02.svg +0 -1
- package/static/svg/traced/life-buoy-01.svg +0 -1
- package/static/svg/traced/life-buoy-02.svg +0 -1
- package/static/svg/traced/lightbulb-01.svg +0 -1
- package/static/svg/traced/lightbulb-02.svg +0 -1
- package/static/svg/traced/lightbulb-03.svg +0 -1
- package/static/svg/traced/lightbulb-04.svg +0 -1
- package/static/svg/traced/lightbulb-05.svg +0 -1
- package/static/svg/traced/lightning-01.svg +0 -1
- package/static/svg/traced/lightning-02.svg +0 -1
- package/static/svg/traced/line-chart-down-01.svg +0 -1
- package/static/svg/traced/line-chart-down-02.svg +0 -1
- package/static/svg/traced/line-chart-down-03.svg +0 -1
- package/static/svg/traced/line-chart-down-04.svg +0 -1
- package/static/svg/traced/line-chart-down-05.svg +0 -1
- package/static/svg/traced/line-chart-up-01.svg +0 -1
- package/static/svg/traced/line-chart-up-02.svg +0 -1
- package/static/svg/traced/line-chart-up-03.svg +0 -1
- package/static/svg/traced/line-chart-up-04.svg +0 -1
- package/static/svg/traced/line-chart-up-05.svg +0 -1
- package/static/svg/traced/line-height.svg +0 -1
- package/static/svg/traced/line.svg +0 -1
- package/static/svg/traced/link-01.svg +0 -1
- package/static/svg/traced/link-02.svg +0 -1
- package/static/svg/traced/link-03.svg +0 -1
- package/static/svg/traced/link-04.svg +0 -1
- package/static/svg/traced/link-05.svg +0 -1
- package/static/svg/traced/link-broken-01.svg +0 -1
- package/static/svg/traced/link-broken-02.svg +0 -1
- package/static/svg/traced/link-external-01.svg +0 -1
- package/static/svg/traced/link-external-02.svg +0 -1
- package/static/svg/traced/list.svg +0 -1
- package/static/svg/traced/loading-01.svg +0 -1
- package/static/svg/traced/loading-02.svg +0 -1
- package/static/svg/traced/loading-03.svg +0 -1
- package/static/svg/traced/lock-01.svg +0 -1
- package/static/svg/traced/lock-02.svg +0 -1
- package/static/svg/traced/lock-03.svg +0 -1
- package/static/svg/traced/lock-04.svg +0 -1
- package/static/svg/traced/lock-keyhole-circle.svg +0 -1
- package/static/svg/traced/lock-keyhole-square.svg +0 -1
- package/static/svg/traced/lock-unlocked-01.svg +0 -1
- package/static/svg/traced/lock-unlocked-02.svg +0 -1
- package/static/svg/traced/lock-unlocked-03.svg +0 -1
- package/static/svg/traced/lock-unlocked-04.svg +0 -1
- package/static/svg/traced/lock2.svg +0 -1
- package/static/svg/traced/log-in-01.svg +0 -1
- package/static/svg/traced/log-in-02.svg +0 -1
- package/static/svg/traced/log-in-03.svg +0 -1
- package/static/svg/traced/log-in-04.svg +0 -1
- package/static/svg/traced/log-out-01.svg +0 -1
- package/static/svg/traced/log-out-02.svg +0 -1
- package/static/svg/traced/log-out-03.svg +0 -1
- package/static/svg/traced/log-out-04.svg +0 -1
- package/static/svg/traced/luggage-01.svg +0 -1
- package/static/svg/traced/luggage-02.svg +0 -1
- package/static/svg/traced/luggage-03.svg +0 -1
- package/static/svg/traced/magic-wand-01.svg +0 -1
- package/static/svg/traced/magic-wand-02.svg +0 -1
- package/static/svg/traced/mail-01.svg +0 -1
- package/static/svg/traced/mail-02.svg +0 -1
- package/static/svg/traced/mail-03.svg +0 -1
- package/static/svg/traced/mail-04.svg +0 -1
- package/static/svg/traced/mail-05.svg +0 -1
- package/static/svg/traced/map-01.svg +0 -1
- package/static/svg/traced/map-02.svg +0 -1
- package/static/svg/traced/mark.svg +0 -1
- package/static/svg/traced/marker-pin-01.svg +0 -1
- package/static/svg/traced/marker-pin-02.svg +0 -1
- package/static/svg/traced/marker-pin-03.svg +0 -1
- package/static/svg/traced/marker-pin-04.svg +0 -1
- package/static/svg/traced/marker-pin-05.svg +0 -1
- package/static/svg/traced/marker-pin-06.svg +0 -1
- package/static/svg/traced/maximize-01.svg +0 -1
- package/static/svg/traced/maximize-02.svg +0 -1
- package/static/svg/traced/medical-circle.svg +0 -1
- package/static/svg/traced/medical-cross.svg +0 -1
- package/static/svg/traced/medical-square.svg +0 -1
- package/static/svg/traced/megaphone.svg +0 -1
- package/static/svg/traced/menu-01.svg +0 -1
- package/static/svg/traced/menu-02.svg +0 -1
- package/static/svg/traced/menu-03.svg +0 -1
- package/static/svg/traced/menu-04.svg +0 -1
- package/static/svg/traced/menu-05.svg +0 -1
- package/static/svg/traced/message-alert-circle.svg +0 -1
- package/static/svg/traced/message-alert-square.svg +0 -1
- package/static/svg/traced/message-chat-circle.svg +0 -1
- package/static/svg/traced/message-chat-square.svg +0 -1
- package/static/svg/traced/message-check-circle.svg +0 -1
- package/static/svg/traced/message-check-square.svg +0 -1
- package/static/svg/traced/message-circle-01.svg +0 -1
- package/static/svg/traced/message-circle-02.svg +0 -1
- package/static/svg/traced/message-dots-circle.svg +0 -1
- package/static/svg/traced/message-dots-square.svg +0 -1
- package/static/svg/traced/message-heart-circle.svg +0 -1
- package/static/svg/traced/message-heart-square.svg +0 -1
- package/static/svg/traced/message-notification-circle.svg +0 -1
- package/static/svg/traced/message-notification-square.svg +0 -1
- package/static/svg/traced/message-plus-circle.svg +0 -1
- package/static/svg/traced/message-plus-square.svg +0 -1
- package/static/svg/traced/message-question-circle.svg +0 -1
- package/static/svg/traced/message-question-square.svg +0 -1
- package/static/svg/traced/message-smile-circle.svg +0 -1
- package/static/svg/traced/message-smile-square.svg +0 -1
- package/static/svg/traced/message-square-01.svg +0 -1
- package/static/svg/traced/message-square-02.svg +0 -1
- package/static/svg/traced/message-text-circle-01.svg +0 -1
- package/static/svg/traced/message-text-circle-02.svg +0 -1
- package/static/svg/traced/message-text-square-01.svg +0 -1
- package/static/svg/traced/message-text-square-02.svg +0 -1
- package/static/svg/traced/message-x-circle.svg +0 -1
- package/static/svg/traced/message-x-square.svg +0 -1
- package/static/svg/traced/microphone-01.svg +0 -1
- package/static/svg/traced/microphone-02.svg +0 -1
- package/static/svg/traced/microphone-off-01.svg +0 -1
- package/static/svg/traced/microphone-off-02.svg +0 -1
- package/static/svg/traced/microscope.svg +0 -1
- package/static/svg/traced/minimize-01.svg +0 -1
- package/static/svg/traced/minimize-02.svg +0 -1
- package/static/svg/traced/minus-circle.svg +0 -1
- package/static/svg/traced/minus-square.svg +0 -1
- package/static/svg/traced/minus.svg +0 -1
- package/static/svg/traced/modem-01.svg +0 -1
- package/static/svg/traced/modem-02.svg +0 -1
- package/static/svg/traced/monitor-01.svg +0 -1
- package/static/svg/traced/monitor-02.svg +0 -1
- package/static/svg/traced/monitor-03.svg +0 -1
- package/static/svg/traced/monitor-04.svg +0 -1
- package/static/svg/traced/monitor-05.svg +0 -1
- package/static/svg/traced/moon-01.svg +0 -1
- package/static/svg/traced/moon-02.svg +0 -1
- package/static/svg/traced/moon-eclipse.svg +0 -1
- package/static/svg/traced/moon-star.svg +0 -1
- package/static/svg/traced/mouse.svg +0 -1
- package/static/svg/traced/move.svg +0 -1
- package/static/svg/traced/mtarget.svg +0 -1
- package/static/svg/traced/music-note-01.svg +0 -1
- package/static/svg/traced/music-note-02.svg +0 -1
- package/static/svg/traced/music-note-plus.svg +0 -1
- package/static/svg/traced/navigation-pointer-01.svg +0 -1
- package/static/svg/traced/navigation-pointer-02.svg +0 -1
- package/static/svg/traced/navigation-pointer-off-01.svg +0 -1
- package/static/svg/traced/navigation-pointer-off-02.svg +0 -1
- package/static/svg/traced/notification-box.svg +0 -1
- package/static/svg/traced/notification-message.svg +0 -1
- package/static/svg/traced/notification-text.svg +0 -1
- package/static/svg/traced/octagon.svg +0 -1
- package/static/svg/traced/package-check.svg +0 -1
- package/static/svg/traced/package-minus.svg +0 -1
- package/static/svg/traced/package-plus.svg +0 -1
- package/static/svg/traced/package-search.svg +0 -1
- package/static/svg/traced/package-x.svg +0 -1
- package/static/svg/traced/package.svg +0 -1
- package/static/svg/traced/paint-pour.svg +0 -1
- package/static/svg/traced/paint.svg +0 -1
- package/static/svg/traced/palette.svg +0 -1
- package/static/svg/traced/paperclip.svg +0 -1
- package/static/svg/traced/paragraph-spacing.svg +0 -1
- package/static/svg/traced/paragraph-wrap.svg +0 -1
- package/static/svg/traced/passcode-lock.svg +0 -1
- package/static/svg/traced/passcode.svg +0 -1
- package/static/svg/traced/passport.svg +0 -1
- package/static/svg/traced/pause-circle.svg +0 -1
- package/static/svg/traced/pause-square.svg +0 -1
- package/static/svg/traced/pen-tool-01.svg +0 -1
- package/static/svg/traced/pen-tool-02.svg +0 -1
- package/static/svg/traced/pen-tool-minus.svg +0 -1
- package/static/svg/traced/pen-tool-plus.svg +0 -1
- package/static/svg/traced/pencil-01.svg +0 -1
- package/static/svg/traced/pencil-02.svg +0 -1
- package/static/svg/traced/pencil-line.svg +0 -1
- package/static/svg/traced/pentagon.svg +0 -1
- package/static/svg/traced/percent-01.svg +0 -1
- package/static/svg/traced/percent-02.svg +0 -1
- package/static/svg/traced/percent-03.svg +0 -1
- package/static/svg/traced/perspective-01.svg +0 -1
- package/static/svg/traced/perspective-02.svg +0 -1
- package/static/svg/traced/phone-01.svg +0 -1
- package/static/svg/traced/phone-02.svg +0 -1
- package/static/svg/traced/phone-call-01.svg +0 -1
- package/static/svg/traced/phone-call-02.svg +0 -1
- package/static/svg/traced/phone-hang-up.svg +0 -1
- package/static/svg/traced/phone-incoming-01.svg +0 -1
- package/static/svg/traced/phone-incoming-02.svg +0 -1
- package/static/svg/traced/phone-outgoing-01.svg +0 -1
- package/static/svg/traced/phone-outgoing-02.svg +0 -1
- package/static/svg/traced/phone-pause.svg +0 -1
- package/static/svg/traced/phone-plus.svg +0 -1
- package/static/svg/traced/phone-x.svg +0 -1
- package/static/svg/traced/phone.svg +0 -1
- package/static/svg/traced/pie-chart-01.svg +0 -1
- package/static/svg/traced/pie-chart-02.svg +0 -1
- package/static/svg/traced/pie-chart-03.svg +0 -1
- package/static/svg/traced/pie-chart-04.svg +0 -1
- package/static/svg/traced/piggy-bank-01.svg +0 -1
- package/static/svg/traced/piggy-bank-02.svg +0 -1
- package/static/svg/traced/pilcrow-01.svg +0 -1
- package/static/svg/traced/pilcrow-02.svg +0 -1
- package/static/svg/traced/pilcrow-square.svg +0 -1
- package/static/svg/traced/pin-01.svg +0 -1
- package/static/svg/traced/pin-02.svg +0 -1
- package/static/svg/traced/placeholder.svg +0 -1
- package/static/svg/traced/plane.svg +0 -1
- package/static/svg/traced/play-circle.svg +0 -1
- package/static/svg/traced/play-square.svg +0 -1
- package/static/svg/traced/play.svg +0 -1
- package/static/svg/traced/plivo-inverted.svg +0 -1
- package/static/svg/traced/plivo.svg +0 -1
- package/static/svg/traced/plus-circle.svg +0 -1
- package/static/svg/traced/plus-square.svg +0 -1
- package/static/svg/traced/plus.svg +0 -1
- package/static/svg/traced/podcast.svg +0 -1
- package/static/svg/traced/power-01.svg +0 -1
- package/static/svg/traced/power-02.svg +0 -1
- package/static/svg/traced/power-03.svg +0 -1
- package/static/svg/traced/presentation-chart-01.svg +0 -1
- package/static/svg/traced/presentation-chart-02.svg +0 -1
- package/static/svg/traced/presentation-chart-03.svg +0 -1
- package/static/svg/traced/printer.svg +0 -1
- package/static/svg/traced/prometheus.svg +0 -1
- package/static/svg/traced/puzzle-piece-01.svg +0 -1
- package/static/svg/traced/puzzle-piece-02.svg +0 -1
- package/static/svg/traced/qr-code-01.svg +0 -1
- package/static/svg/traced/qr-code-02.svg +0 -1
- package/static/svg/traced/receipt-check.svg +0 -1
- package/static/svg/traced/receipt.svg +0 -1
- package/static/svg/traced/recording-01.svg +0 -1
- package/static/svg/traced/recording-02.svg +0 -1
- package/static/svg/traced/recording-03.svg +0 -1
- package/static/svg/traced/reflect-01.svg +0 -1
- package/static/svg/traced/reflect-02.svg +0 -1
- package/static/svg/traced/refresh-ccw-01.svg +0 -1
- package/static/svg/traced/refresh-ccw-02.svg +0 -1
- package/static/svg/traced/refresh-ccw-03.svg +0 -1
- package/static/svg/traced/refresh-ccw-04.svg +0 -1
- package/static/svg/traced/refresh-ccw-05.svg +0 -1
- package/static/svg/traced/refresh-cw-01.svg +0 -1
- package/static/svg/traced/refresh-cw-02.svg +0 -1
- package/static/svg/traced/refresh-cw-03.svg +0 -1
- package/static/svg/traced/refresh-cw-04.svg +0 -1
- package/static/svg/traced/refresh-cw-05.svg +0 -1
- package/static/svg/traced/repeat-01.svg +0 -1
- package/static/svg/traced/repeat-02.svg +0 -1
- package/static/svg/traced/repeat-03.svg +0 -1
- package/static/svg/traced/repeat-04.svg +0 -1
- package/static/svg/traced/reverse-left.svg +0 -1
- package/static/svg/traced/reverse-right.svg +0 -1
- package/static/svg/traced/right-indent-01.svg +0 -1
- package/static/svg/traced/right-indent-02.svg +0 -1
- package/static/svg/traced/rocket-01.svg +0 -1
- package/static/svg/traced/rocket-02.svg +0 -1
- package/static/svg/traced/rocketchat.svg +0 -1
- package/static/svg/traced/roller-brush.svg +0 -1
- package/static/svg/traced/route.svg +0 -1
- package/static/svg/traced/rows-01.svg +0 -1
- package/static/svg/traced/rows-02.svg +0 -1
- package/static/svg/traced/rows-03.svg +0 -1
- package/static/svg/traced/rss-01.svg +0 -1
- package/static/svg/traced/rss-02.svg +0 -1
- package/static/svg/traced/ruler.svg +0 -1
- package/static/svg/traced/safe.svg +0 -1
- package/static/svg/traced/sale-01.svg +0 -1
- package/static/svg/traced/sale-02.svg +0 -1
- package/static/svg/traced/sale-03.svg +0 -1
- package/static/svg/traced/sale-04.svg +0 -1
- package/static/svg/traced/save-01.svg +0 -1
- package/static/svg/traced/save-02.svg +0 -1
- package/static/svg/traced/save-03.svg +0 -1
- package/static/svg/traced/scale-01.svg +0 -1
- package/static/svg/traced/scale-02.svg +0 -1
- package/static/svg/traced/scale-03.svg +0 -1
- package/static/svg/traced/scales-01.svg +0 -1
- package/static/svg/traced/scales-02.svg +0 -1
- package/static/svg/traced/scan.svg +0 -1
- package/static/svg/traced/scissors-01.svg +0 -1
- package/static/svg/traced/scissors-02.svg +0 -1
- package/static/svg/traced/scissors-cut-01.svg +0 -1
- package/static/svg/traced/scissors-cut-02.svg +0 -1
- package/static/svg/traced/search-lg.svg +0 -1
- package/static/svg/traced/search-md.svg +0 -1
- package/static/svg/traced/search-refraction.svg +0 -1
- package/static/svg/traced/search-sm.svg +0 -1
- package/static/svg/traced/send-01.svg +0 -1
- package/static/svg/traced/send-02.svg +0 -1
- package/static/svg/traced/send-03.svg +0 -1
- package/static/svg/traced/server-01.svg +0 -1
- package/static/svg/traced/server-02.svg +0 -1
- package/static/svg/traced/server-03.svg +0 -1
- package/static/svg/traced/server-04.svg +0 -1
- package/static/svg/traced/server-05.svg +0 -1
- package/static/svg/traced/server-06.svg +0 -1
- package/static/svg/traced/settings-01.svg +0 -1
- package/static/svg/traced/settings-02.svg +0 -1
- package/static/svg/traced/settings-03.svg +0 -1
- package/static/svg/traced/settings-04.svg +0 -1
- package/static/svg/traced/share-01.svg +0 -1
- package/static/svg/traced/share-02.svg +0 -1
- package/static/svg/traced/share-03.svg +0 -1
- package/static/svg/traced/share-04.svg +0 -1
- package/static/svg/traced/share-05.svg +0 -1
- package/static/svg/traced/share-06.svg +0 -1
- package/static/svg/traced/share-07.svg +0 -1
- package/static/svg/traced/shield-01.svg +0 -1
- package/static/svg/traced/shield-02.svg +0 -1
- package/static/svg/traced/shield-03.svg +0 -1
- package/static/svg/traced/shield-dollar.svg +0 -1
- package/static/svg/traced/shield-off.svg +0 -1
- package/static/svg/traced/shield-plus.svg +0 -1
- package/static/svg/traced/shield-tick.svg +0 -1
- package/static/svg/traced/shield-zap.svg +0 -1
- package/static/svg/traced/shopping-bag-01.svg +0 -1
- package/static/svg/traced/shopping-bag-02.svg +0 -1
- package/static/svg/traced/shopping-bag-03.svg +0 -1
- package/static/svg/traced/shopping-cart-01.svg +0 -1
- package/static/svg/traced/shopping-cart-02.svg +0 -1
- package/static/svg/traced/shopping-cart-03.svg +0 -1
- package/static/svg/traced/shuffle-01.svg +0 -1
- package/static/svg/traced/shuffle-02.svg +0 -1
- package/static/svg/traced/signal-01.svg +0 -1
- package/static/svg/traced/signal-02.svg +0 -1
- package/static/svg/traced/signal-03.svg +0 -1
- package/static/svg/traced/signalwire.svg +0 -1
- package/static/svg/traced/simcard.svg +0 -1
- package/static/svg/traced/skew.svg +0 -1
- package/static/svg/traced/skip-back.svg +0 -1
- package/static/svg/traced/skip-forward.svg +0 -1
- package/static/svg/traced/slash-circle-01.svg +0 -1
- package/static/svg/traced/slash-circle-02.svg +0 -1
- package/static/svg/traced/slash-divider.svg +0 -1
- package/static/svg/traced/slash-octagon.svg +0 -1
- package/static/svg/traced/sliders-01.svg +0 -1
- package/static/svg/traced/sliders-02.svg +0 -1
- package/static/svg/traced/sliders-03.svg +0 -1
- package/static/svg/traced/sliders-04.svg +0 -1
- package/static/svg/traced/snowflake-01.svg +0 -1
- package/static/svg/traced/snowflake-02.svg +0 -1
- package/static/svg/traced/spacing-height-01.svg +0 -1
- package/static/svg/traced/spacing-height-02.svg +0 -1
- package/static/svg/traced/spacing-width-01.svg +0 -1
- package/static/svg/traced/spacing-width-02.svg +0 -1
- package/static/svg/traced/speaker-01.svg +0 -1
- package/static/svg/traced/speaker-02.svg +0 -1
- package/static/svg/traced/speaker-03.svg +0 -1
- package/static/svg/traced/speedometer-01.svg +0 -1
- package/static/svg/traced/speedometer-02.svg +0 -1
- package/static/svg/traced/speedometer-03.svg +0 -1
- package/static/svg/traced/speedometer-04.svg +0 -1
- package/static/svg/traced/square.svg +0 -1
- package/static/svg/traced/stand.svg +0 -1
- package/static/svg/traced/star-01.svg +0 -1
- package/static/svg/traced/star-02.svg +0 -1
- package/static/svg/traced/star-03.svg +0 -1
- package/static/svg/traced/star-04.svg +0 -1
- package/static/svg/traced/star-05.svg +0 -1
- package/static/svg/traced/star-06.svg +0 -1
- package/static/svg/traced/star-07.svg +0 -1
- package/static/svg/traced/stars-01.svg +0 -1
- package/static/svg/traced/stars-02.svg +0 -1
- package/static/svg/traced/stars-03.svg +0 -1
- package/static/svg/traced/sticker-circle.svg +0 -1
- package/static/svg/traced/sticker-square.svg +0 -1
- package/static/svg/traced/stop-circle.svg +0 -1
- package/static/svg/traced/stop-square.svg +0 -1
- package/static/svg/traced/stop.svg +0 -1
- package/static/svg/traced/strikethrough-01.svg +0 -1
- package/static/svg/traced/strikethrough-02.svg +0 -1
- package/static/svg/traced/strikethrough-square.svg +0 -1
- package/static/svg/traced/subscript.svg +0 -1
- package/static/svg/traced/sun-setting-01.svg +0 -1
- package/static/svg/traced/sun-setting-02.svg +0 -1
- package/static/svg/traced/sun-setting-03.svg +0 -1
- package/static/svg/traced/sun.svg +0 -1
- package/static/svg/traced/sunrise.svg +0 -1
- package/static/svg/traced/sunset.svg +0 -1
- package/static/svg/traced/switch-horizontal-01.svg +0 -1
- package/static/svg/traced/switch-horizontal-02.svg +0 -1
- package/static/svg/traced/switch-vertical-01.svg +0 -1
- package/static/svg/traced/switch-vertical-02.svg +0 -1
- package/static/svg/traced/table.svg +0 -1
- package/static/svg/traced/tablet-01.svg +0 -1
- package/static/svg/traced/tablet-02.svg +0 -1
- package/static/svg/traced/tag-01.svg +0 -1
- package/static/svg/traced/tag-02.svg +0 -1
- package/static/svg/traced/tag-03.svg +0 -1
- package/static/svg/traced/target-01.svg +0 -1
- package/static/svg/traced/target-02.svg +0 -1
- package/static/svg/traced/target-03.svg +0 -1
- package/static/svg/traced/target-04.svg +0 -1
- package/static/svg/traced/target-05.svg +0 -1
- package/static/svg/traced/telegram.svg +0 -1
- package/static/svg/traced/telescope.svg +0 -1
- package/static/svg/traced/terminal-browser.svg +0 -1
- package/static/svg/traced/terminal-circle.svg +0 -1
- package/static/svg/traced/terminal-square.svg +0 -1
- package/static/svg/traced/terminal.svg +0 -1
- package/static/svg/traced/text-input.svg +0 -1
- package/static/svg/traced/thermometer-01.svg +0 -1
- package/static/svg/traced/thermometer-02.svg +0 -1
- package/static/svg/traced/thermometer-03.svg +0 -1
- package/static/svg/traced/thermometer-cold.svg +0 -1
- package/static/svg/traced/thermometer-warm.svg +0 -1
- package/static/svg/traced/thinq.svg +0 -1
- package/static/svg/traced/thumbs-down.svg +0 -1
- package/static/svg/traced/thumbs-up.svg +0 -1
- package/static/svg/traced/ticket-01.svg +0 -1
- package/static/svg/traced/ticket-02.svg +0 -1
- package/static/svg/traced/toggle-01-left.svg +0 -1
- package/static/svg/traced/toggle-01-right.svg +0 -1
- package/static/svg/traced/toggle-02-left.svg +0 -1
- package/static/svg/traced/toggle-02-right.svg +0 -1
- package/static/svg/traced/toggle-03-left.svg +0 -1
- package/static/svg/traced/toggle-03-right.svg +0 -1
- package/static/svg/traced/tool-01.svg +0 -1
- package/static/svg/traced/tool-02.svg +0 -1
- package/static/svg/traced/train.svg +0 -1
- package/static/svg/traced/tram.svg +0 -1
- package/static/svg/traced/transform.svg +0 -1
- package/static/svg/traced/translate-01.svg +0 -1
- package/static/svg/traced/translate-02.svg +0 -1
- package/static/svg/traced/trash-01.svg +0 -1
- package/static/svg/traced/trash-02.svg +0 -1
- package/static/svg/traced/trash-03.svg +0 -1
- package/static/svg/traced/trash-04.svg +0 -1
- package/static/svg/traced/trend-down-01.svg +0 -1
- package/static/svg/traced/trend-down-02.svg +0 -1
- package/static/svg/traced/trend-up-01.svg +0 -1
- package/static/svg/traced/trend-up-02.svg +0 -1
- package/static/svg/traced/triangle.svg +0 -1
- package/static/svg/traced/trophy-01.svg +0 -1
- package/static/svg/traced/trophy-02.svg +0 -1
- package/static/svg/traced/truck-01.svg +0 -1
- package/static/svg/traced/truck-02.svg +0 -1
- package/static/svg/traced/tv-01.svg +0 -1
- package/static/svg/traced/tv-02.svg +0 -1
- package/static/svg/traced/tv-03.svg +0 -1
- package/static/svg/traced/twilio_inverted.svg +0 -1
- package/static/svg/traced/twilio_original.svg +0 -1
- package/static/svg/traced/twitter.svg +0 -1
- package/static/svg/traced/type-01.svg +0 -1
- package/static/svg/traced/type-02.svg +0 -1
- package/static/svg/traced/type-square.svg +0 -1
- package/static/svg/traced/type-strikethrough-01.svg +0 -1
- package/static/svg/traced/type-strikethrough-02.svg +0 -1
- package/static/svg/traced/umbrella-01.svg +0 -1
- package/static/svg/traced/umbrella-02.svg +0 -1
- package/static/svg/traced/umbrella-03.svg +0 -1
- package/static/svg/traced/underline-01.svg +0 -1
- package/static/svg/traced/underline-02.svg +0 -1
- package/static/svg/traced/underline-square.svg +0 -1
- package/static/svg/traced/upload-01.svg +0 -1
- package/static/svg/traced/upload-02.svg +0 -1
- package/static/svg/traced/upload-03.svg +0 -1
- package/static/svg/traced/upload-04.svg +0 -1
- package/static/svg/traced/upload-cloud-01.svg +0 -1
- package/static/svg/traced/upload-cloud-02.svg +0 -1
- package/static/svg/traced/usb-flash-drive.svg +0 -1
- package/static/svg/traced/user-01.svg +0 -1
- package/static/svg/traced/user-02.svg +0 -1
- package/static/svg/traced/user-03.svg +0 -1
- package/static/svg/traced/user-check-01.svg +0 -1
- package/static/svg/traced/user-check-02.svg +0 -1
- package/static/svg/traced/user-circle.svg +0 -1
- package/static/svg/traced/user-down-01.svg +0 -1
- package/static/svg/traced/user-down-02.svg +0 -1
- package/static/svg/traced/user-edit.svg +0 -1
- package/static/svg/traced/user-left-01.svg +0 -1
- package/static/svg/traced/user-left-02.svg +0 -1
- package/static/svg/traced/user-minus-01.svg +0 -1
- package/static/svg/traced/user-minus-02.svg +0 -1
- package/static/svg/traced/user-plus-01.svg +0 -1
- package/static/svg/traced/user-plus-02.svg +0 -1
- package/static/svg/traced/user-right-01.svg +0 -1
- package/static/svg/traced/user-right-02.svg +0 -1
- package/static/svg/traced/user-square.svg +0 -1
- package/static/svg/traced/user-up-01.svg +0 -1
- package/static/svg/traced/user-up-02.svg +0 -1
- package/static/svg/traced/user-x-01.svg +0 -1
- package/static/svg/traced/user-x-02.svg +0 -1
- package/static/svg/traced/users-01.svg +0 -1
- package/static/svg/traced/users-02.svg +0 -1
- package/static/svg/traced/users-03.svg +0 -1
- package/static/svg/traced/users-check.svg +0 -1
- package/static/svg/traced/users-down.svg +0 -1
- package/static/svg/traced/users-edit.svg +0 -1
- package/static/svg/traced/users-left.svg +0 -1
- package/static/svg/traced/users-minus.svg +0 -1
- package/static/svg/traced/users-plus.svg +0 -1
- package/static/svg/traced/users-right.svg +0 -1
- package/static/svg/traced/users-up.svg +0 -1
- package/static/svg/traced/users-x.svg +0 -1
- package/static/svg/traced/users1.svg +0 -1
- package/static/svg/traced/variable.svg +0 -1
- package/static/svg/traced/viber.svg +0 -1
- package/static/svg/traced/video-recorder-off.svg +0 -1
- package/static/svg/traced/video-recorder.svg +0 -1
- package/static/svg/traced/virus.svg +0 -1
- package/static/svg/traced/vk.svg +0 -1
- package/static/svg/traced/voicemail.svg +0 -1
- package/static/svg/traced/volume-max.svg +0 -1
- package/static/svg/traced/volume-min.svg +0 -1
- package/static/svg/traced/volume-minus.svg +0 -1
- package/static/svg/traced/volume-plus.svg +0 -1
- package/static/svg/traced/volume-x.svg +0 -1
- package/static/svg/traced/vonage.svg +0 -1
- package/static/svg/traced/wallet-01.svg +0 -1
- package/static/svg/traced/wallet-02.svg +0 -1
- package/static/svg/traced/wallet-03.svg +0 -1
- package/static/svg/traced/wallet-04.svg +0 -1
- package/static/svg/traced/wallet-05.svg +0 -1
- package/static/svg/traced/watch-circle.svg +0 -1
- package/static/svg/traced/watch-square.svg +0 -1
- package/static/svg/traced/waves.svg +0 -1
- package/static/svg/traced/webcam-01.svg +0 -1
- package/static/svg/traced/webcam-02.svg +0 -1
- package/static/svg/traced/wechat.svg +0 -1
- package/static/svg/traced/whatsapp.svg +0 -1
- package/static/svg/traced/wifi-off.svg +0 -1
- package/static/svg/traced/wifi.svg +0 -1
- package/static/svg/traced/wind-01.svg +0 -1
- package/static/svg/traced/wind-02.svg +0 -1
- package/static/svg/traced/wind-03.svg +0 -1
- package/static/svg/traced/wit.svg +0 -1
- package/static/svg/traced/x-circle.svg +0 -1
- package/static/svg/traced/x-close.svg +0 -1
- package/static/svg/traced/x-square.svg +0 -1
- package/static/svg/traced/x.svg +0 -1
- package/static/svg/traced/youtube.svg +0 -1
- package/static/svg/traced/zap-circle.svg +0 -1
- package/static/svg/traced/zap-fast.svg +0 -1
- package/static/svg/traced/zap-off.svg +0 -1
- package/static/svg/traced/zap-square.svg +0 -1
- package/static/svg/traced/zap.svg +0 -1
- package/static/svg/traced/zapier.svg +0 -1
- package/static/svg/traced/zendesk.svg +0 -1
- package/static/svg/traced/zoom-in.svg +0 -1
- package/static/svg/traced/zoom-out.svg +0 -1
package/dist/sw.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
if(!self.define){let e,t={};const o=(o,n)=>(o=new URL(o+".js",n).href,t[o]||new Promise((t=>{if("document"in self){const e=document.createElement("script");e.src=o,e.onload=t,document.head.appendChild(e)}else e=o,importScripts(o),t()})).then((()=>{let e=t[o];if(!e)throw new Error(`Module ${o} didn’t register its module`);return e})));self.define=(n,s)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(t[i])return;let r={};const l=e=>o(e,i),c={module:{uri:i},exports:r,require:l};t[i]=Promise.all(n.map((e=>c[e]||l(e)))).then((e=>(s(...e),r)))}}define(["./workbox-919adfb7"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"
|
|
1
|
+
if(!self.define){let e,t={};const o=(o,n)=>(o=new URL(o+".js",n).href,t[o]||new Promise((t=>{if("document"in self){const e=document.createElement("script");e.src=o,e.onload=t,document.head.appendChild(e)}else e=o,importScripts(o),t()})).then((()=>{let e=t[o];if(!e)throw new Error(`Module ${o} didn’t register its module`);return e})));self.define=(n,s)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(t[i])return;let r={};const l=e=>o(e,i),c={module:{uri:i},exports:r,require:l};t[i]=Promise.all(n.map((e=>c[e]||l(e)))).then((e=>(s(...e),r)))}}define(["./workbox-919adfb7"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"3819e8ba.js",revision:"665d8cb8e1798730f98d34b7773999e8"},{url:"templates/components-body.html",revision:"8500ea907a936162fbcb4ecd5fa19251"},{url:"templates/components-head.html",revision:"1a19855717a0c304b7acee966d835e12"}],{}),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"))),e.registerRoute("polyfills/*.js",new e.CacheFirst,"GET")}));
|
|
2
2
|
//# sourceMappingURL=sw.js.map
|
package/dist/sw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sw.js","sources":["../../../../../tmp/
|
|
1
|
+
{"version":3,"file":"sw.js","sources":["../../../../../tmp/03daedd9e70e1da6e754da7fc631282f/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/temba-components/temba-components/node_modules/workbox-routing/registerRoute.mjs';\nimport {CacheFirst as workbox_strategies_CacheFirst} from '/home/runner/work/temba-components/temba-components/node_modules/workbox-strategies/CacheFirst.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/temba-components/temba-components/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/temba-components/temba-components/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/temba-components/temba-components/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/temba-components/temba-components/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"3819e8ba.js\",\n \"revision\": \"665d8cb8e1798730f98d34b7773999e8\"\n },\n {\n \"url\": \"templates/components-body.html\",\n \"revision\": \"8500ea907a936162fbcb4ecd5fa19251\"\n },\n {\n \"url\": \"templates/components-head.html\",\n \"revision\": \"1a19855717a0c304b7acee966d835e12\"\n }\n], {});\n\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"/index.html\")));\n\n\nworkbox_routing_registerRoute(\"polyfills/*.js\", new workbox_strategies_CacheFirst(), 'GET');\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox","registerRoute","workbox_routing_NavigationRoute","workbox_precaching_createHandlerBoundToURL","workbox_strategies_CacheFirst"],"mappings":"0nBAwBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,qCAEb,CAAE,GAEwBC,EAAAC,cAAC,IAAIC,EAAAA,gBAAgCC,EAAAA,wBAA2C,iBAGhFH,EAAAC,cAAC,iBAAkB,IAAIG,aAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<script type="module" src="{{STATIC_URL}}@nyaruka/temba-components/dist/
|
|
1
|
+
<script type="module" src="{{STATIC_URL}}@nyaruka/temba-components/dist/3819e8ba.js"></script><script>window.TEMBA_COMPONENTS_VERSION="0.49.0"</script>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<link rel="modulepreload" href="{{STATIC_URL}}@nyaruka/temba-components/dist/
|
|
1
|
+
<link rel="modulepreload" href="{{STATIC_URL}}@nyaruka/temba-components/dist/3819e8ba.js" crossorigin="anonymous">
|
|
@@ -577,6 +577,7 @@ export class TembaMenu extends RapidElement {
|
|
|
577
577
|
id="menu-${menuItem.id}"
|
|
578
578
|
class="${itemClasses}"
|
|
579
579
|
@click=${event => {
|
|
580
|
+
event.preventDefault();
|
|
580
581
|
this.pressedItem = null;
|
|
581
582
|
this.handleItemClicked(event, menuItem, parent);
|
|
582
583
|
}}
|
|
@@ -752,6 +753,10 @@ export class TembaMenu extends RapidElement {
|
|
|
752
753
|
}
|
|
753
754
|
handleItemClicked(event, menuItem, parent = null) {
|
|
754
755
|
if (parent && parent.popup) {
|
|
756
|
+
const dropdown = this.shadowRoot.querySelector('temba-dropdown');
|
|
757
|
+
if (dropdown) {
|
|
758
|
+
dropdown.blur();
|
|
759
|
+
}
|
|
755
760
|
if (event) {
|
|
756
761
|
this.fireCustomEvent(CustomEventType.ButtonClicked, {
|
|
757
762
|
item: menuItem,
|
|
@@ -990,7 +995,7 @@ export class TembaMenu extends RapidElement {
|
|
|
990
995
|
|
|
991
996
|
${index == 0 && !this.collapsed
|
|
992
997
|
? html `<temba-icon
|
|
993
|
-
name
|
|
998
|
+
name=${Icon.menu_collapse}
|
|
994
999
|
size="1.1"
|
|
995
1000
|
@click=${this.handleCollapse}
|
|
996
1001
|
></temba-icon>`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TembaMenu.js","sourceRoot":"","sources":["../../../src/list/TembaMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, TemplateResult } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { property } from 'lit/decorators.js';\nimport { CustomEventType } from '../interfaces';\nimport { RapidElement } from '../RapidElement';\nimport { debounce, fetchResults, getClasses, renderAvatar } from '../utils';\nimport { Icon } from '../vectoricon';\nexport interface MenuItem {\n id?: string;\n vanity_id?: string;\n name?: string;\n verbose_name?: string;\n count?: number;\n icon?: string;\n collapsed_icon?: string;\n endpoint?: string;\n loading?: boolean;\n bottom?: boolean;\n level?: number;\n href?: string;\n show_header?: boolean;\n items?: MenuItem[];\n inline?: boolean;\n type?: string;\n on_submit?: string;\n bubble?: string;\n popup?: boolean;\n avatar?: string;\n trigger?: boolean;\n}\n\ninterface MenuItemState {\n collapsed?: string;\n}\n\nconst findItem = (\n items: MenuItem[],\n id: string\n): { item: MenuItem; index: number } => {\n const search = items || [];\n\n const index = search.findIndex((item: MenuItem) => {\n return item.id == id || item.vanity_id == id;\n });\n\n if (index > -1) {\n const item = search[index];\n return { item, index };\n }\n\n return { item: null, index: -1 };\n};\n\nexport class TembaMenu extends RapidElement {\n static get styles() {\n return css`\n :host {\n width: 100%;\n display: block;\n --color-widget-bg-focused: transparent;\n --options-block-shadow: none;\n }\n\n .bubble {\n width: 0.6em;\n height: 0.6em;\n right: 0em;\n bottom: 0em;\n border-radius: 99em;\n border: 0.12em solid rgba(0, 0, 0, 0.1);\n position: absolute;\n }\n\n .bubble.count {\n position: relative;\n width: inherit;\n height: inherit;\n right: inherit;\n bottom: inherit;\n color: #fff;\n line-height: 1em;\n padding: 0.12em;\n min-width: 1em;\n text-align: center;\n }\n\n .section {\n font-size: 1.5em;\n margin-bottom: 0.2em;\n color: var(--color-text-dark);\n }\n\n .collapse-toggle {\n width: 0.5em;\n cursor: pointer;\n display: block;\n margin-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n }\n\n .collapse-toggle:hover {\n background: rgb(100, 100, 100, 0.05);\n }\n\n .item {\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n --icon-color: var(--color-text-dark);\n }\n\n .item.selected,\n .item.pressed {\n background: var(--color-selection);\n color: var(--color-primary-dark);\n --icon-color: var(--color-primary-dark);\n }\n\n .root {\n display: flex;\n flex-direction: row;\n height: 100%;\n }\n\n .level {\n display: flex;\n flex-direction: column;\n }\n\n .level.hidden {\n display: none;\n }\n\n .level-0 > .item,\n .level-0 > temba-dropdown > div[slot='toggle'] > .avatar {\n padding: 0px;\n --icon-color: rgba(255, 255, 255, 0.7);\n flex-direction: column;\n border: 0px solid green;\n width: 100%;\n display: flex;\n align-items: center;\n }\n\n .level-0 > temba-dropdown .icon-wrapper {\n padding: 0.2em 0.4em 0.2em 0.4em;\n }\n\n .level-0 > .item.selected::before,\n .level-0 > .item.selected::after {\n content: ' ';\n height: var(--curvature);\n background: var(--color-primary-dark);\n display: block;\n width: 100%;\n }\n\n .level-0 > .item.selected::before {\n border-bottom-right-radius: var(--curvature);\n }\n\n .level-0 > .item > temba-tip {\n padding: 0.5em;\n }\n\n .level-0 > .item.selected::after {\n border-top-right-radius: var(--curvature);\n }\n\n .level-0 {\n padding-top: var(--menu-padding) !important;\n }\n\n .level-0 > .empty {\n background: var(--color-primary-dark);\n align-self: stretch;\n flex-grow: 1;\n }\n\n .level-0 > .bottom {\n height: 1em;\n background: var(--color-primary-dark);\n }\n\n .level-0 > temba-dropdown.open > div[slot='toggle'] > .avatar {\n background: transparent !important;\n }\n\n .level-0 {\n background: var(--color-primary-dark);\n }\n\n temba-dropdown {\n z-index: 1;\n }\n\n temba-dropdown > div[slot='dropdown'] .avatar > .details {\n margin-left: 0.75em;\n }\n\n temba-dropdown > div[slot='dropdown'] .bubble.count {\n margin-right: 0.75em;\n }\n\n .level-0 > .item > .details,\n .level-0 > temba-dropdown > div[slot='toggle'] > .avatar > .details {\n display: none !important;\n }\n\n .avatar {\n align-items: center;\n }\n\n temba-dropdown > div[slot='dropdown'] .avatar .avatar-circle,\n temba-dropdown > div[slot='dropdown'] .avatar .bubble {\n font-size: 0.7em;\n }\n\n .level-0.expanded {\n background: inherit;\n }\n\n .level-0 > .item.selected {\n background: white;\n --icon-color: var(--color-primary-dark);\n }\n\n .level {\n padding: var(--menu-padding);\n }\n\n .level-0 {\n padding: 0px;\n }\n\n .top {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n .item {\n padding: 0.2em 0.75em;\n margin-top: 0.1em;\n border-radius: var(--curvature);\n display: flex;\n min-width: 12em;\n position: relative;\n }\n\n .item > temba-icon {\n margin-right: 0.5em;\n }\n\n .item > .details > .name {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 0;\n }\n\n .level-0 > .item {\n margin-top: 0em;\n border-radius: 0px;\n min-width: inherit;\n max-width: inherit;\n }\n\n .level-0 > .item > temba-icon {\n margin-right: 0px;\n }\n\n .level-0 > .item > .name {\n min-width: 0px;\n }\n\n .count {\n align-self: center;\n margin-left: 1em;\n font-size: 0.8em;\n font-weight: 400;\n }\n\n .level-0 > .item-top {\n background: var(--color-primary-dark);\n min-height: var(--curvature);\n }\n\n .level-0 > .item-bottom {\n background: var(--color-primary-dark);\n min-height: var(--curvature);\n }\n\n .level-0 > .item-bottom.selected {\n border-top-right-radius: var(--curvature);\n }\n\n .level-0 > .item-top.selected {\n border-bottom-right-radius: var(--curvature);\n }\n\n .level-0 > .item:hover {\n background: rgba(255, 255, 255, 0.15);\n --icon-color: #fff;\n }\n\n .level-0 > .item.selected:hover {\n background: white;\n --icon-color: var(--color-primary-dark);\n cursor: default;\n }\n\n .item.inline {\n border: 0px solid transparent;\n }\n\n .level-1,\n .level-2 {\n border-right: 1px solid rgba(0 0 0 / 8%);\n box-shadow: rgb(0 0 0 / 6%) 4px 0px 6px 1px;\n }\n\n .level-1 {\n transition: opacity 100ms linear, margin 200ms linear;\n overflow-y: scroll;\n }\n\n .level-2 {\n background: #fbfbfb;\n overflow-y: auto;\n }\n\n .level-2 .item .details {\n overflow: hidden;\n }\n\n .level-2 .item {\n min-width: 12em;\n max-width: 12em;\n }\n\n .level-1 .item {\n overflow: hidden;\n max-width: 12em;\n min-width: 12em;\n min-height: 1.5em;\n max-height: 1.5em;\n transition: min-width var(--transition-speed) !important;\n }\n\n .collapsed .item {\n overflow: hidden;\n min-width: 0;\n margin: 0;\n }\n\n .item .details {\n opacity: 1;\n min-height: 1.5em;\n max-height: 1.5em;\n align-items: center;\n }\n\n .collapsed .item {\n margin-bottom: 0.5em;\n }\n\n .collapsed .item .details {\n overflow: hidden;\n max-height: 0em;\n max-width: 0em;\n }\n\n .collapsed .item .details {\n max-height: 0em;\n }\n\n .collapsed .item temba-icon {\n margin-right: 0;\n }\n\n .section {\n max-width: 12em;\n }\n\n .collapsed .section {\n opacity: 0;\n max-width: 0em;\n max-height: 0.6em;\n }\n\n .collapsed.level-1 {\n overflow: hidden;\n padding: 0.5em;\n --icon-color: #999;\n }\n\n .collapsed .item .right {\n flex-grow: 1;\n }\n\n .collapse-icon {\n display: none;\n }\n\n .collapsed .collapse-icon {\n --icon-color: #ccc;\n display: block;\n }\n\n .collapsed .item.iconless {\n max-height: 0em;\n padding: 0em;\n min-height: 0em;\n margin-bottom: 0em;\n }\n\n .divider {\n height: 1px;\n background: #f3f3f3;\n margin: 0.5em 0.75em;\n min-height: 1px;\n }\n\n .space {\n margin: 0.5em;\n }\n\n .collapsed .divider {\n height: 0;\n margin: 0;\n padding: 0;\n min-height: 0px;\n }\n\n .sub-section {\n font-size: 0.9rem;\n color: #888;\n margin-top: 1rem;\n margin-left: 0.3rem;\n }\n\n .fully-collapsed .level-1 {\n margin-left: -208px;\n pointer-events: none;\n border: none;\n overflow: hidden;\n }\n\n .fully-collapsed .level-1 > * {\n opacity: 0;\n }\n\n .fully-collapsed .level-1 .item,\n .fully-collapsed .level-1 .divider {\n opacity: 0;\n }\n\n .fully-collapsed .level-2,\n .fully-collapsed .level-3 {\n display: none;\n }\n\n temba-button {\n margin-top: 0.2em;\n margin-bottom: 0.2em;\n margin-left: 0.75em;\n margin-right: 0.75em;\n }\n\n .expand-icon {\n transform: rotate(180deg);\n --icon-color: rgba(255, 255, 255, 0.5);\n cursor: pointer;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n transition: all 400ms ease-in-out 400ms;\n }\n\n .expand-icon:hover {\n --icon-color: #fff;\n }\n\n .fully-collapsed .expand-icon {\n padding-top: 0.5em;\n max-height: 2em;\n opacity: 1;\n }\n\n .section-header {\n display: flex;\n align-items: center;\n }\n\n .section-header .section {\n flex-grow: 1;\n }\n\n .section-header temba-icon {\n --icon-color: #ddd;\n cursor: pointer;\n padding-bottom: 0.5em;\n padding-right: 0.5em;\n }\n\n .section-header temba-icon:hover {\n --icon-color: var(--color-link-primary);\n }\n\n a {\n text-decoration: none;\n color: var(--color-text-dark);\n }\n\n slot[name='header'] {\n display: none;\n }\n\n slot[name='header'].show-header {\n display: block;\n }\n\n .icon-wrapper {\n position: relative;\n padding: 0.2em 0.4em 0.2em 0em;\n }\n\n .level-0 .icon-wrapper {\n padding: 0.4em;\n }\n `;\n }\n\n @property({ type: Boolean })\n wraps = false;\n\n @property({ type: Boolean })\n wait: boolean;\n\n @property({ type: String })\n endpoint: string;\n\n @property({ type: String })\n expanding: string;\n\n @property({ type: String })\n value: string;\n\n // submenu to constrain to\n @property({ type: String })\n submenu: string;\n\n @property({ type: Boolean })\n collapsed: boolean;\n\n @property({ type: Object })\n pressedItem: MenuItem;\n\n // http promise to monitor for completeness\n public httpComplete: Promise<void>;\n\n root: MenuItem;\n selection: string[] = [];\n state: { [id: string]: MenuItemState } = {};\n\n constructor() {\n super();\n this.doRefresh = this.doRefresh.bind(this);\n }\n\n public setBubble(id: string, color: string) {\n const found = findItem(this.root.items, id);\n if (found && found.item) {\n found.item.bubble = color;\n this.requestUpdate('root');\n return true;\n }\n return false;\n }\n\n private getMenuItemState(id: string): MenuItemState {\n let itemState = {};\n if (id) {\n itemState = this.state[id];\n if (!itemState) {\n itemState = {};\n this.state[id] = itemState;\n }\n }\n return itemState;\n }\n\n public updated(changes: Map<string, any>) {\n if (changes.has('endpoint')) {\n this.root = {\n level: -1,\n endpoint: this.endpoint,\n };\n\n if (!this.wait) {\n this.loadItems(this.root);\n } else {\n this.fireCustomEvent(CustomEventType.Ready);\n }\n }\n\n if (changes.has('root')) {\n if (this.value) {\n this.setFocusedItem(this.value);\n this.value = null;\n }\n }\n }\n\n public reset() {\n this.loadItems(this.root);\n }\n\n public async doRefresh() {\n const path = [...this.selection];\n let item = this.root;\n\n while (path.length > 0) {\n this.loadItems(item);\n // we need to wait until the load is complete before doing the replace\n await this.httpComplete;\n const id = path.shift();\n item = (item.items || []).find(_item => _item.id == id);\n }\n\n this.loadItems(item);\n }\n\n public refresh = debounce(this.doRefresh, 200);\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private loadItems(item: MenuItem, event: MouseEvent = null) {\n if (item && item.endpoint) {\n item.loading = true;\n this.httpComplete = fetchResults(item.endpoint).then(\n (items: MenuItem[]) => {\n items.forEach(newItem => {\n if (!newItem.items) {\n const prevItem = (item.items || []).find(\n prev => prev.id == newItem.id\n );\n if (prevItem && prevItem.items) {\n newItem.items = prevItem.items;\n }\n }\n });\n\n // update our item level\n items.forEach(subItem => {\n subItem.level = item.level + 1;\n // if we came with preset items, set the level for them accordingly\n if (subItem.items) {\n subItem.items.forEach(inlineItem => {\n inlineItem.level = item.level + 2;\n });\n }\n });\n\n item.items = items;\n item.loading = false;\n\n if (this.submenu && this.selection.length == 0) {\n const sub = this.getMenuItemForSelection([this.submenu]);\n this.handleItemClicked(event, sub);\n }\n\n if (!this.wait) {\n this.fireCustomEvent(CustomEventType.Ready);\n this.wait = true;\n }\n\n // once we've set our items check if we need to auto-select\n if (event && item.items.length > 0) {\n this.handleItemClicked(event, item.items[0]);\n }\n\n this.requestUpdate('root');\n this.scrollSelectedIntoView();\n }\n );\n }\n }\n\n private handleItemClicked(\n event: MouseEvent,\n menuItem: MenuItem,\n parent: MenuItem = null\n ) {\n if (parent && parent.popup) {\n if (event) {\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n }\n return;\n }\n\n if (menuItem.popup) {\n if (event) {\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n }\n return;\n }\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n if (event.metaKey && menuItem.href) {\n window.open(menuItem.href, '_blank');\n return;\n }\n }\n\n if (parent && parent.inline) {\n this.handleItemClicked(null, parent);\n }\n\n if (this.collapsed) {\n this.collapsed = false;\n }\n\n if (menuItem.trigger) {\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n return;\n }\n\n // update our selection\n if (menuItem.level >= this.selection.length) {\n this.selection.push(menuItem.vanity_id || menuItem.id);\n } else {\n this.selection.splice(\n menuItem.level,\n this.selection.length - menuItem.level,\n menuItem.vanity_id || menuItem.id\n );\n }\n\n if (menuItem.endpoint) {\n this.loadItems(menuItem, event);\n\n // make sure change events fire for events with hrefs\n if (!menuItem.href) {\n return;\n }\n } else {\n this.requestUpdate();\n }\n\n if (menuItem.href) {\n this.dispatchEvent(new Event('change'));\n }\n\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n }\n\n public scrollSelectedIntoView() {\n // makes sure we are scrolled into view\n window.setTimeout(() => {\n const eles = this.shadowRoot.querySelectorAll('.selected');\n eles.forEach(ele => {\n ele.scrollIntoView({ block: 'end', behavior: 'smooth' });\n });\n }, 0);\n }\n\n public clickItem(id: string): boolean {\n const path = [...this.selection];\n path.splice(path.length - 1, 1, id);\n const item = this.getMenuItemForSelection(path);\n\n if (item) {\n this.handleItemClicked(null, item);\n this.scrollSelectedIntoView();\n return true;\n }\n return false;\n }\n\n public getMenuItem(): MenuItem {\n return this.getMenuItemForSelection([...this.selection]);\n }\n\n public getMenuItemForSelection(selection: string[]) {\n const path = [...selection];\n let items = this.root.items;\n let item = null;\n while (path.length > 0) {\n const step = path.splice(0, 1)[0];\n if (items) {\n item = findItem(items, step).item;\n if (item) {\n items = item.items;\n } else {\n break;\n }\n } else {\n break;\n }\n }\n\n return item;\n }\n\n public getSelection() {\n return this.selection;\n }\n\n public handleExpand() {\n this.collapsed = false;\n }\n\n public handleCollapse() {\n this.collapsed = true;\n }\n\n public async setFocusedItem(path: string) {\n const focusedPath = path.split('/').filter(step => !!step);\n if (!this.root) {\n return;\n }\n\n // if we don't match at the first level, we are a noop\n if (focusedPath.length > 0) {\n const rootItem = findItem(this.root.items, focusedPath[0]).item;\n if (!rootItem) {\n return;\n }\n }\n\n const newPath = [];\n let level = this.root;\n while (focusedPath.length > 0) {\n const nextId = focusedPath.shift();\n if (nextId) {\n if (!level.items) {\n this.loadItems(level);\n await this.httpComplete;\n }\n\n level = findItem(level.items, nextId).item;\n if (!level) {\n focusedPath.splice(0, focusedPath.length);\n } else {\n newPath.push(nextId);\n }\n }\n }\n\n this.selection = newPath;\n this.refresh();\n this.requestUpdate('root');\n }\n\n private isSelected(menuItem: MenuItem) {\n if (menuItem.level < this.selection.length) {\n const selected =\n this.selection[menuItem.level] == (menuItem.vanity_id || menuItem.id);\n return selected;\n }\n return false;\n }\n\n private isExpanded(menuItem: MenuItem) {\n const expanded = !!this.selection.find(\n id => id === menuItem.vanity_id || menuItem.id\n );\n return expanded;\n }\n\n private renderMenuItem = (\n menuItem: MenuItem,\n parent: MenuItem = null\n ): TemplateResult => {\n if (menuItem.type === 'divider') {\n return html`<div class=\"divider\"></div>`;\n }\n\n if (menuItem.type === 'space') {\n return html`<div class=\"space\"></div>`;\n }\n\n if (menuItem.type === 'section' || menuItem.inline) {\n return html`<div class=\"sub-section\">${menuItem.name}</div>`;\n }\n\n if (menuItem.type === 'modax-button') {\n return html`<temba-button\n name=${menuItem.name}\n @click=${event => {\n this.handleItemClicked(event, menuItem);\n }}\n />`;\n }\n\n const isSelected = this.isSelected(menuItem);\n const isChildSelected =\n isSelected && this.selection.length > menuItem.level + 1;\n\n let icon = menuItem.icon\n ? html`<div class=\"icon-wrapper\">\n <temba-icon\n size=\"${menuItem.level === 0 ? '1.5' : '1'}\"\n name=\"${menuItem.icon}\"\n ></temba-icon\n >${menuItem.bubble && !menuItem.count\n ? html`<div\n style=\"background-color: ${menuItem.bubble}\"\n class=\"bubble\"\n ></div>`\n : null}\n </div>`\n : null;\n\n const collapsedIcon = menuItem.collapsed_icon\n ? html`<temba-icon\n size=\"${menuItem.level === 0 ? '1.5' : '1'}\"\n name=\"${menuItem.collapsed_icon}\"\n class=\"collapse-icon\"\n ></temba-icon>`\n : null;\n\n const itemClasses = getClasses({\n ['menu-' + menuItem.id]: true,\n 'child-selected': isChildSelected,\n selected: isSelected,\n item: !(menuItem.avatar && menuItem.level === 0),\n avatar: !!menuItem.avatar,\n inline: menuItem.inline,\n expanding: this.expanding && this.expanding === menuItem.id,\n expanded: this.isExpanded(menuItem),\n iconless: !icon && !collapsedIcon && !menuItem.avatar,\n pressed: this.pressedItem && this.pressedItem.id == menuItem.id,\n });\n\n if (menuItem.avatar) {\n icon = renderAvatar({ name: menuItem.avatar, tip: false });\n if (menuItem.bubble) {\n icon = html`${icon}${menuItem.bubble\n ? html`<div\n style=\"background-color: ${menuItem.bubble}\"\n class=\"bubble\"\n ></div>`\n : null}`;\n }\n icon = html`<div style=\"position:relative; padding: 0em\">${icon}</div>`;\n }\n\n const item = html`\n <a\n href=${ifDefined(menuItem.href ? menuItem.href : undefined)}\n id=\"menu-${menuItem.id}\"\n class=\"${itemClasses}\"\n @click=${event => {\n this.pressedItem = null;\n this.handleItemClicked(event, menuItem, parent);\n }}\n @mousedown=${() => {\n if (menuItem.level > 0) {\n this.pressedItem = menuItem;\n }\n }}\n @mouseleave=${() => {\n this.pressedItem = null;\n }}\n >\n ${menuItem.level === 0\n ? menuItem.avatar\n ? icon\n : html`<temba-tip\n style=\"display:flex;\"\n text=\"${menuItem.name}\"\n position=\"right\"\n >${icon}</temba-tip\n >`\n : html`${icon}${collapsedIcon}`}\n\n <div class=\"details\" style=\"flex-grow:1;display:flex\">\n <div\n class=\"name\"\n style=\"flex-grow:1; flex-shrink:0; white-space: ${this.wraps\n ? 'normal'\n : 'nowrap'};\"\n >\n ${menuItem.name}\n </div>\n ${menuItem.level > 0\n ? menuItem.inline\n ? html`<temba-icon\n name=\"${isSelected || isChildSelected\n ? Icon.arrow_up\n : Icon.arrow_down}\"\n ></temba-icon>`\n : html`${menuItem.count || menuItem.count == 0\n ? html`\n <div\n class=\"count ${menuItem.bubble ? 'bubble' : ''}\"\n style=\"background-color: ${menuItem.bubble}\"\n >\n ${menuItem.count.toLocaleString()}\n </div>\n `\n : html`<div class=\"count\"></div>`}`\n : null}\n </div>\n <div class=\"right\"></div>\n </a>\n `;\n\n if (menuItem.popup) {\n return html`\n <temba-dropdown offsetx=\"10\" arrowoffset=\"8\" arrowSize=\"0\" mask>\n <div slot=\"toggle\">${item}</div>\n <div\n slot=\"dropdown\"\n style=\"width:300px;overflow:hidden;padding-bottom:0.5em\"\n >\n <div style=\"max-height:400px;overflow-y:auto\">\n ${(menuItem.items || []).map((child: MenuItem) => {\n child.level = menuItem.level + 1;\n return html`${this.renderMenuItem(child, menuItem)}`;\n })}\n </div>\n </div>\n </temba-dropdown>\n `;\n }\n return item;\n };\n\n public render(): TemplateResult {\n if (!this.root || !this.root.items) {\n return null;\n }\n\n let items = this.root.items || [];\n const levels = [];\n\n levels.push(\n html`<div class=\"level level-0 ${this.submenu ? 'hidden' : ''}\">\n <div class=\"top\">\n <div class=\"expand-icon\" @click=${this.handleExpand}>\n <temba-icon\n name=\"${Icon.menu_collapse}\"\n class=\"collapse\"\n class=\"expand\"\n size=\"1.4\"\n ></temba-icon>\n </div>\n </div>\n\n ${items\n .filter(item => !item.bottom)\n .map((item: MenuItem) => {\n return this.renderMenuItem(item);\n })}\n\n <div class=\"empty\"></div>\n ${items\n .filter(item => !!item.bottom)\n .map((item: MenuItem) => {\n return this.renderMenuItem(item);\n })}\n <div class=\"bottom\"></div>\n </div>`\n );\n\n this.selection.forEach((id, index) => {\n const selected = findItem(items, id).item;\n\n let collapsed = false;\n if (selected) {\n items = selected.items;\n const itemState = this.getMenuItemState(selected.id);\n // users set an explicit collapse state\n if (itemState.collapsed) {\n collapsed = itemState.collapsed === 'collapsed';\n }\n // otherwise pick a default collapse state\n else {\n if (this.selection.length > selected.level + 2) {\n collapsed = false;\n }\n }\n } else {\n items = null;\n }\n\n if (items && items.length > 0 && !selected.inline) {\n levels.push(\n html`<div\n class=\"${getClasses({\n level: true,\n ['level-' + (index + 1)]: true,\n collapsed,\n })}\"\n >\n ${!this.submenu\n ? html`\n <slot\n class=\"${getClasses({\n 'show-header': selected.show_header,\n })}\"\n name=\"header\"\n ></slot>\n <div class=\"section-header\">\n <div class=\"section\">${selected.name}</div>\n\n ${index == 0 && !this.collapsed\n ? html`<temba-icon\n name=\"${Icon.menu_collapse}\"\n size=\"1.1\"\n @click=${this.handleCollapse}\n ></temba-icon>`\n : null}\n </div>\n `\n : null}\n ${items.map((item: MenuItem) => {\n if (item.inline && item.items) {\n return html`${this.renderMenuItem(item)}\n <div class=\"inline-children\">\n ${(item.items || []).map((child: MenuItem) => {\n return this.renderMenuItem(child, item);\n })}\n </div>`;\n }\n return this.renderMenuItem(item);\n })}\n </div>`\n );\n }\n });\n\n const menu = html`<div\n class=\"${getClasses({\n root: true,\n 'fully-collapsed': this.collapsed,\n })}\"\n >\n ${levels}\n </div>`;\n return html`${menu}`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TembaMenu.js","sourceRoot":"","sources":["../../../src/list/TembaMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, TemplateResult } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { property } from 'lit/decorators.js';\nimport { CustomEventType } from '../interfaces';\nimport { RapidElement } from '../RapidElement';\nimport { debounce, fetchResults, getClasses, renderAvatar } from '../utils';\nimport { Icon } from '../vectoricon';\nimport { Dropdown } from '../dropdown/Dropdown';\nexport interface MenuItem {\n id?: string;\n vanity_id?: string;\n name?: string;\n verbose_name?: string;\n count?: number;\n icon?: string;\n collapsed_icon?: string;\n endpoint?: string;\n loading?: boolean;\n bottom?: boolean;\n level?: number;\n href?: string;\n show_header?: boolean;\n items?: MenuItem[];\n inline?: boolean;\n type?: string;\n on_submit?: string;\n bubble?: string;\n popup?: boolean;\n avatar?: string;\n trigger?: boolean;\n}\n\ninterface MenuItemState {\n collapsed?: string;\n}\n\nconst findItem = (\n items: MenuItem[],\n id: string\n): { item: MenuItem; index: number } => {\n const search = items || [];\n\n const index = search.findIndex((item: MenuItem) => {\n return item.id == id || item.vanity_id == id;\n });\n\n if (index > -1) {\n const item = search[index];\n return { item, index };\n }\n\n return { item: null, index: -1 };\n};\n\nexport class TembaMenu extends RapidElement {\n static get styles() {\n return css`\n :host {\n width: 100%;\n display: block;\n --color-widget-bg-focused: transparent;\n --options-block-shadow: none;\n }\n\n .bubble {\n width: 0.6em;\n height: 0.6em;\n right: 0em;\n bottom: 0em;\n border-radius: 99em;\n border: 0.12em solid rgba(0, 0, 0, 0.1);\n position: absolute;\n }\n\n .bubble.count {\n position: relative;\n width: inherit;\n height: inherit;\n right: inherit;\n bottom: inherit;\n color: #fff;\n line-height: 1em;\n padding: 0.12em;\n min-width: 1em;\n text-align: center;\n }\n\n .section {\n font-size: 1.5em;\n margin-bottom: 0.2em;\n color: var(--color-text-dark);\n }\n\n .collapse-toggle {\n width: 0.5em;\n cursor: pointer;\n display: block;\n margin-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n }\n\n .collapse-toggle:hover {\n background: rgb(100, 100, 100, 0.05);\n }\n\n .item {\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n --icon-color: var(--color-text-dark);\n }\n\n .item.selected,\n .item.pressed {\n background: var(--color-selection);\n color: var(--color-primary-dark);\n --icon-color: var(--color-primary-dark);\n }\n\n .root {\n display: flex;\n flex-direction: row;\n height: 100%;\n }\n\n .level {\n display: flex;\n flex-direction: column;\n }\n\n .level.hidden {\n display: none;\n }\n\n .level-0 > .item,\n .level-0 > temba-dropdown > div[slot='toggle'] > .avatar {\n padding: 0px;\n --icon-color: rgba(255, 255, 255, 0.7);\n flex-direction: column;\n border: 0px solid green;\n width: 100%;\n display: flex;\n align-items: center;\n }\n\n .level-0 > temba-dropdown .icon-wrapper {\n padding: 0.2em 0.4em 0.2em 0.4em;\n }\n\n .level-0 > .item.selected::before,\n .level-0 > .item.selected::after {\n content: ' ';\n height: var(--curvature);\n background: var(--color-primary-dark);\n display: block;\n width: 100%;\n }\n\n .level-0 > .item.selected::before {\n border-bottom-right-radius: var(--curvature);\n }\n\n .level-0 > .item > temba-tip {\n padding: 0.5em;\n }\n\n .level-0 > .item.selected::after {\n border-top-right-radius: var(--curvature);\n }\n\n .level-0 {\n padding-top: var(--menu-padding) !important;\n }\n\n .level-0 > .empty {\n background: var(--color-primary-dark);\n align-self: stretch;\n flex-grow: 1;\n }\n\n .level-0 > .bottom {\n height: 1em;\n background: var(--color-primary-dark);\n }\n\n .level-0 > temba-dropdown.open > div[slot='toggle'] > .avatar {\n background: transparent !important;\n }\n\n .level-0 {\n background: var(--color-primary-dark);\n }\n\n temba-dropdown {\n z-index: 1;\n }\n\n temba-dropdown > div[slot='dropdown'] .avatar > .details {\n margin-left: 0.75em;\n }\n\n temba-dropdown > div[slot='dropdown'] .bubble.count {\n margin-right: 0.75em;\n }\n\n .level-0 > .item > .details,\n .level-0 > temba-dropdown > div[slot='toggle'] > .avatar > .details {\n display: none !important;\n }\n\n .avatar {\n align-items: center;\n }\n\n temba-dropdown > div[slot='dropdown'] .avatar .avatar-circle,\n temba-dropdown > div[slot='dropdown'] .avatar .bubble {\n font-size: 0.7em;\n }\n\n .level-0.expanded {\n background: inherit;\n }\n\n .level-0 > .item.selected {\n background: white;\n --icon-color: var(--color-primary-dark);\n }\n\n .level {\n padding: var(--menu-padding);\n }\n\n .level-0 {\n padding: 0px;\n }\n\n .top {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n .item {\n padding: 0.2em 0.75em;\n margin-top: 0.1em;\n border-radius: var(--curvature);\n display: flex;\n min-width: 12em;\n position: relative;\n }\n\n .item > temba-icon {\n margin-right: 0.5em;\n }\n\n .item > .details > .name {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 0;\n }\n\n .level-0 > .item {\n margin-top: 0em;\n border-radius: 0px;\n min-width: inherit;\n max-width: inherit;\n }\n\n .level-0 > .item > temba-icon {\n margin-right: 0px;\n }\n\n .level-0 > .item > .name {\n min-width: 0px;\n }\n\n .count {\n align-self: center;\n margin-left: 1em;\n font-size: 0.8em;\n font-weight: 400;\n }\n\n .level-0 > .item-top {\n background: var(--color-primary-dark);\n min-height: var(--curvature);\n }\n\n .level-0 > .item-bottom {\n background: var(--color-primary-dark);\n min-height: var(--curvature);\n }\n\n .level-0 > .item-bottom.selected {\n border-top-right-radius: var(--curvature);\n }\n\n .level-0 > .item-top.selected {\n border-bottom-right-radius: var(--curvature);\n }\n\n .level-0 > .item:hover {\n background: rgba(255, 255, 255, 0.15);\n --icon-color: #fff;\n }\n\n .level-0 > .item.selected:hover {\n background: white;\n --icon-color: var(--color-primary-dark);\n cursor: default;\n }\n\n .item.inline {\n border: 0px solid transparent;\n }\n\n .level-1,\n .level-2 {\n border-right: 1px solid rgba(0 0 0 / 8%);\n box-shadow: rgb(0 0 0 / 6%) 4px 0px 6px 1px;\n }\n\n .level-1 {\n transition: opacity 100ms linear, margin 200ms linear;\n overflow-y: scroll;\n }\n\n .level-2 {\n background: #fbfbfb;\n overflow-y: auto;\n }\n\n .level-2 .item .details {\n overflow: hidden;\n }\n\n .level-2 .item {\n min-width: 12em;\n max-width: 12em;\n }\n\n .level-1 .item {\n overflow: hidden;\n max-width: 12em;\n min-width: 12em;\n min-height: 1.5em;\n max-height: 1.5em;\n transition: min-width var(--transition-speed) !important;\n }\n\n .collapsed .item {\n overflow: hidden;\n min-width: 0;\n margin: 0;\n }\n\n .item .details {\n opacity: 1;\n min-height: 1.5em;\n max-height: 1.5em;\n align-items: center;\n }\n\n .collapsed .item {\n margin-bottom: 0.5em;\n }\n\n .collapsed .item .details {\n overflow: hidden;\n max-height: 0em;\n max-width: 0em;\n }\n\n .collapsed .item .details {\n max-height: 0em;\n }\n\n .collapsed .item temba-icon {\n margin-right: 0;\n }\n\n .section {\n max-width: 12em;\n }\n\n .collapsed .section {\n opacity: 0;\n max-width: 0em;\n max-height: 0.6em;\n }\n\n .collapsed.level-1 {\n overflow: hidden;\n padding: 0.5em;\n --icon-color: #999;\n }\n\n .collapsed .item .right {\n flex-grow: 1;\n }\n\n .collapse-icon {\n display: none;\n }\n\n .collapsed .collapse-icon {\n --icon-color: #ccc;\n display: block;\n }\n\n .collapsed .item.iconless {\n max-height: 0em;\n padding: 0em;\n min-height: 0em;\n margin-bottom: 0em;\n }\n\n .divider {\n height: 1px;\n background: #f3f3f3;\n margin: 0.5em 0.75em;\n min-height: 1px;\n }\n\n .space {\n margin: 0.5em;\n }\n\n .collapsed .divider {\n height: 0;\n margin: 0;\n padding: 0;\n min-height: 0px;\n }\n\n .sub-section {\n font-size: 0.9rem;\n color: #888;\n margin-top: 1rem;\n margin-left: 0.3rem;\n }\n\n .fully-collapsed .level-1 {\n margin-left: -208px;\n pointer-events: none;\n border: none;\n overflow: hidden;\n }\n\n .fully-collapsed .level-1 > * {\n opacity: 0;\n }\n\n .fully-collapsed .level-1 .item,\n .fully-collapsed .level-1 .divider {\n opacity: 0;\n }\n\n .fully-collapsed .level-2,\n .fully-collapsed .level-3 {\n display: none;\n }\n\n temba-button {\n margin-top: 0.2em;\n margin-bottom: 0.2em;\n margin-left: 0.75em;\n margin-right: 0.75em;\n }\n\n .expand-icon {\n transform: rotate(180deg);\n --icon-color: rgba(255, 255, 255, 0.5);\n cursor: pointer;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n transition: all 400ms ease-in-out 400ms;\n }\n\n .expand-icon:hover {\n --icon-color: #fff;\n }\n\n .fully-collapsed .expand-icon {\n padding-top: 0.5em;\n max-height: 2em;\n opacity: 1;\n }\n\n .section-header {\n display: flex;\n align-items: center;\n }\n\n .section-header .section {\n flex-grow: 1;\n }\n\n .section-header temba-icon {\n --icon-color: #ddd;\n cursor: pointer;\n padding-bottom: 0.5em;\n padding-right: 0.5em;\n }\n\n .section-header temba-icon:hover {\n --icon-color: var(--color-link-primary);\n }\n\n a {\n text-decoration: none;\n color: var(--color-text-dark);\n }\n\n slot[name='header'] {\n display: none;\n }\n\n slot[name='header'].show-header {\n display: block;\n }\n\n .icon-wrapper {\n position: relative;\n padding: 0.2em 0.4em 0.2em 0em;\n }\n\n .level-0 .icon-wrapper {\n padding: 0.4em;\n }\n `;\n }\n\n @property({ type: Boolean })\n wraps = false;\n\n @property({ type: Boolean })\n wait: boolean;\n\n @property({ type: String })\n endpoint: string;\n\n @property({ type: String })\n expanding: string;\n\n @property({ type: String })\n value: string;\n\n // submenu to constrain to\n @property({ type: String })\n submenu: string;\n\n @property({ type: Boolean })\n collapsed: boolean;\n\n @property({ type: Object })\n pressedItem: MenuItem;\n\n // http promise to monitor for completeness\n public httpComplete: Promise<void>;\n\n root: MenuItem;\n selection: string[] = [];\n state: { [id: string]: MenuItemState } = {};\n\n constructor() {\n super();\n this.doRefresh = this.doRefresh.bind(this);\n }\n\n public setBubble(id: string, color: string) {\n const found = findItem(this.root.items, id);\n if (found && found.item) {\n found.item.bubble = color;\n this.requestUpdate('root');\n return true;\n }\n return false;\n }\n\n private getMenuItemState(id: string): MenuItemState {\n let itemState = {};\n if (id) {\n itemState = this.state[id];\n if (!itemState) {\n itemState = {};\n this.state[id] = itemState;\n }\n }\n return itemState;\n }\n\n public updated(changes: Map<string, any>) {\n if (changes.has('endpoint')) {\n this.root = {\n level: -1,\n endpoint: this.endpoint,\n };\n\n if (!this.wait) {\n this.loadItems(this.root);\n } else {\n this.fireCustomEvent(CustomEventType.Ready);\n }\n }\n\n if (changes.has('root')) {\n if (this.value) {\n this.setFocusedItem(this.value);\n this.value = null;\n }\n }\n }\n\n public reset() {\n this.loadItems(this.root);\n }\n\n public async doRefresh() {\n const path = [...this.selection];\n let item = this.root;\n\n while (path.length > 0) {\n this.loadItems(item);\n // we need to wait until the load is complete before doing the replace\n await this.httpComplete;\n const id = path.shift();\n item = (item.items || []).find(_item => _item.id == id);\n }\n\n this.loadItems(item);\n }\n\n public refresh = debounce(this.doRefresh, 200);\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private loadItems(item: MenuItem, event: MouseEvent = null) {\n if (item && item.endpoint) {\n item.loading = true;\n this.httpComplete = fetchResults(item.endpoint).then(\n (items: MenuItem[]) => {\n items.forEach(newItem => {\n if (!newItem.items) {\n const prevItem = (item.items || []).find(\n prev => prev.id == newItem.id\n );\n if (prevItem && prevItem.items) {\n newItem.items = prevItem.items;\n }\n }\n });\n\n // update our item level\n items.forEach(subItem => {\n subItem.level = item.level + 1;\n // if we came with preset items, set the level for them accordingly\n if (subItem.items) {\n subItem.items.forEach(inlineItem => {\n inlineItem.level = item.level + 2;\n });\n }\n });\n\n item.items = items;\n item.loading = false;\n\n if (this.submenu && this.selection.length == 0) {\n const sub = this.getMenuItemForSelection([this.submenu]);\n this.handleItemClicked(event, sub);\n }\n\n if (!this.wait) {\n this.fireCustomEvent(CustomEventType.Ready);\n this.wait = true;\n }\n\n // once we've set our items check if we need to auto-select\n if (event && item.items.length > 0) {\n this.handleItemClicked(event, item.items[0]);\n }\n\n this.requestUpdate('root');\n this.scrollSelectedIntoView();\n }\n );\n }\n }\n\n private handleItemClicked(\n event: MouseEvent,\n menuItem: MenuItem,\n parent: MenuItem = null\n ) {\n if (parent && parent.popup) {\n const dropdown = this.shadowRoot.querySelector(\n 'temba-dropdown'\n ) as Dropdown;\n if (dropdown) {\n dropdown.blur();\n }\n\n if (event) {\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n }\n return;\n }\n\n if (menuItem.popup) {\n if (event) {\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n }\n return;\n }\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n if (event.metaKey && menuItem.href) {\n window.open(menuItem.href, '_blank');\n return;\n }\n }\n\n if (parent && parent.inline) {\n this.handleItemClicked(null, parent);\n }\n\n if (this.collapsed) {\n this.collapsed = false;\n }\n\n if (menuItem.trigger) {\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n return;\n }\n\n // update our selection\n if (menuItem.level >= this.selection.length) {\n this.selection.push(menuItem.vanity_id || menuItem.id);\n } else {\n this.selection.splice(\n menuItem.level,\n this.selection.length - menuItem.level,\n menuItem.vanity_id || menuItem.id\n );\n }\n\n if (menuItem.endpoint) {\n this.loadItems(menuItem, event);\n\n // make sure change events fire for events with hrefs\n if (!menuItem.href) {\n return;\n }\n } else {\n this.requestUpdate();\n }\n\n if (menuItem.href) {\n this.dispatchEvent(new Event('change'));\n }\n\n this.fireCustomEvent(CustomEventType.ButtonClicked, {\n item: menuItem,\n selection: this.getSelection(),\n parent,\n });\n }\n\n public scrollSelectedIntoView() {\n // makes sure we are scrolled into view\n window.setTimeout(() => {\n const eles = this.shadowRoot.querySelectorAll('.selected');\n eles.forEach(ele => {\n ele.scrollIntoView({ block: 'end', behavior: 'smooth' });\n });\n }, 0);\n }\n\n public clickItem(id: string): boolean {\n const path = [...this.selection];\n path.splice(path.length - 1, 1, id);\n const item = this.getMenuItemForSelection(path);\n\n if (item) {\n this.handleItemClicked(null, item);\n this.scrollSelectedIntoView();\n return true;\n }\n return false;\n }\n\n public getMenuItem(): MenuItem {\n return this.getMenuItemForSelection([...this.selection]);\n }\n\n public getMenuItemForSelection(selection: string[]) {\n const path = [...selection];\n let items = this.root.items;\n let item = null;\n while (path.length > 0) {\n const step = path.splice(0, 1)[0];\n if (items) {\n item = findItem(items, step).item;\n if (item) {\n items = item.items;\n } else {\n break;\n }\n } else {\n break;\n }\n }\n\n return item;\n }\n\n public getSelection() {\n return this.selection;\n }\n\n public handleExpand() {\n this.collapsed = false;\n }\n\n public handleCollapse() {\n this.collapsed = true;\n }\n\n public async setFocusedItem(path: string) {\n const focusedPath = path.split('/').filter(step => !!step);\n if (!this.root) {\n return;\n }\n\n // if we don't match at the first level, we are a noop\n if (focusedPath.length > 0) {\n const rootItem = findItem(this.root.items, focusedPath[0]).item;\n if (!rootItem) {\n return;\n }\n }\n\n const newPath = [];\n let level = this.root;\n while (focusedPath.length > 0) {\n const nextId = focusedPath.shift();\n if (nextId) {\n if (!level.items) {\n this.loadItems(level);\n await this.httpComplete;\n }\n\n level = findItem(level.items, nextId).item;\n if (!level) {\n focusedPath.splice(0, focusedPath.length);\n } else {\n newPath.push(nextId);\n }\n }\n }\n\n this.selection = newPath;\n this.refresh();\n this.requestUpdate('root');\n }\n\n private isSelected(menuItem: MenuItem) {\n if (menuItem.level < this.selection.length) {\n const selected =\n this.selection[menuItem.level] == (menuItem.vanity_id || menuItem.id);\n return selected;\n }\n return false;\n }\n\n private isExpanded(menuItem: MenuItem) {\n const expanded = !!this.selection.find(\n id => id === menuItem.vanity_id || menuItem.id\n );\n return expanded;\n }\n\n private renderMenuItem = (\n menuItem: MenuItem,\n parent: MenuItem = null\n ): TemplateResult => {\n if (menuItem.type === 'divider') {\n return html`<div class=\"divider\"></div>`;\n }\n\n if (menuItem.type === 'space') {\n return html`<div class=\"space\"></div>`;\n }\n\n if (menuItem.type === 'section' || menuItem.inline) {\n return html`<div class=\"sub-section\">${menuItem.name}</div>`;\n }\n\n if (menuItem.type === 'modax-button') {\n return html`<temba-button\n name=${menuItem.name}\n @click=${event => {\n this.handleItemClicked(event, menuItem);\n }}\n />`;\n }\n\n const isSelected = this.isSelected(menuItem);\n const isChildSelected =\n isSelected && this.selection.length > menuItem.level + 1;\n\n let icon = menuItem.icon\n ? html`<div class=\"icon-wrapper\">\n <temba-icon\n size=\"${menuItem.level === 0 ? '1.5' : '1'}\"\n name=\"${menuItem.icon}\"\n ></temba-icon\n >${menuItem.bubble && !menuItem.count\n ? html`<div\n style=\"background-color: ${menuItem.bubble}\"\n class=\"bubble\"\n ></div>`\n : null}\n </div>`\n : null;\n\n const collapsedIcon = menuItem.collapsed_icon\n ? html`<temba-icon\n size=\"${menuItem.level === 0 ? '1.5' : '1'}\"\n name=\"${menuItem.collapsed_icon}\"\n class=\"collapse-icon\"\n ></temba-icon>`\n : null;\n\n const itemClasses = getClasses({\n ['menu-' + menuItem.id]: true,\n 'child-selected': isChildSelected,\n selected: isSelected,\n item: !(menuItem.avatar && menuItem.level === 0),\n avatar: !!menuItem.avatar,\n inline: menuItem.inline,\n expanding: this.expanding && this.expanding === menuItem.id,\n expanded: this.isExpanded(menuItem),\n iconless: !icon && !collapsedIcon && !menuItem.avatar,\n pressed: this.pressedItem && this.pressedItem.id == menuItem.id,\n });\n\n if (menuItem.avatar) {\n icon = renderAvatar({ name: menuItem.avatar, tip: false });\n if (menuItem.bubble) {\n icon = html`${icon}${menuItem.bubble\n ? html`<div\n style=\"background-color: ${menuItem.bubble}\"\n class=\"bubble\"\n ></div>`\n : null}`;\n }\n icon = html`<div style=\"position:relative; padding: 0em\">${icon}</div>`;\n }\n\n const item = html`\n <a\n href=${ifDefined(menuItem.href ? menuItem.href : undefined)}\n id=\"menu-${menuItem.id}\"\n class=\"${itemClasses}\"\n @click=${event => {\n event.preventDefault();\n this.pressedItem = null;\n this.handleItemClicked(event, menuItem, parent);\n }}\n @mousedown=${() => {\n if (menuItem.level > 0) {\n this.pressedItem = menuItem;\n }\n }}\n @mouseleave=${() => {\n this.pressedItem = null;\n }}\n >\n ${menuItem.level === 0\n ? menuItem.avatar\n ? icon\n : html`<temba-tip\n style=\"display:flex;\"\n text=\"${menuItem.name}\"\n position=\"right\"\n >${icon}</temba-tip\n >`\n : html`${icon}${collapsedIcon}`}\n\n <div class=\"details\" style=\"flex-grow:1;display:flex\">\n <div\n class=\"name\"\n style=\"flex-grow:1; flex-shrink:0; white-space: ${this.wraps\n ? 'normal'\n : 'nowrap'};\"\n >\n ${menuItem.name}\n </div>\n ${menuItem.level > 0\n ? menuItem.inline\n ? html`<temba-icon\n name=\"${isSelected || isChildSelected\n ? Icon.arrow_up\n : Icon.arrow_down}\"\n ></temba-icon>`\n : html`${menuItem.count || menuItem.count == 0\n ? html`\n <div\n class=\"count ${menuItem.bubble ? 'bubble' : ''}\"\n style=\"background-color: ${menuItem.bubble}\"\n >\n ${menuItem.count.toLocaleString()}\n </div>\n `\n : html`<div class=\"count\"></div>`}`\n : null}\n </div>\n <div class=\"right\"></div>\n </a>\n `;\n\n if (menuItem.popup) {\n return html`\n <temba-dropdown offsetx=\"10\" arrowoffset=\"8\" arrowSize=\"0\" mask>\n <div slot=\"toggle\">${item}</div>\n <div\n slot=\"dropdown\"\n style=\"width:300px;overflow:hidden;padding-bottom:0.5em\"\n >\n <div style=\"max-height:400px;overflow-y:auto\">\n ${(menuItem.items || []).map((child: MenuItem) => {\n child.level = menuItem.level + 1;\n return html`${this.renderMenuItem(child, menuItem)}`;\n })}\n </div>\n </div>\n </temba-dropdown>\n `;\n }\n return item;\n };\n\n public render(): TemplateResult {\n if (!this.root || !this.root.items) {\n return null;\n }\n\n let items = this.root.items || [];\n const levels = [];\n\n levels.push(\n html`<div class=\"level level-0 ${this.submenu ? 'hidden' : ''}\">\n <div class=\"top\">\n <div class=\"expand-icon\" @click=${this.handleExpand}>\n <temba-icon\n name=\"${Icon.menu_collapse}\"\n class=\"collapse\"\n class=\"expand\"\n size=\"1.4\"\n ></temba-icon>\n </div>\n </div>\n\n ${items\n .filter(item => !item.bottom)\n .map((item: MenuItem) => {\n return this.renderMenuItem(item);\n })}\n\n <div class=\"empty\"></div>\n ${items\n .filter(item => !!item.bottom)\n .map((item: MenuItem) => {\n return this.renderMenuItem(item);\n })}\n <div class=\"bottom\"></div>\n </div>`\n );\n\n this.selection.forEach((id, index) => {\n const selected = findItem(items, id).item;\n\n let collapsed = false;\n if (selected) {\n items = selected.items;\n const itemState = this.getMenuItemState(selected.id);\n // users set an explicit collapse state\n if (itemState.collapsed) {\n collapsed = itemState.collapsed === 'collapsed';\n }\n // otherwise pick a default collapse state\n else {\n if (this.selection.length > selected.level + 2) {\n collapsed = false;\n }\n }\n } else {\n items = null;\n }\n\n if (items && items.length > 0 && !selected.inline) {\n levels.push(\n html`<div\n class=\"${getClasses({\n level: true,\n ['level-' + (index + 1)]: true,\n collapsed,\n })}\"\n >\n ${!this.submenu\n ? html`\n <slot\n class=\"${getClasses({\n 'show-header': selected.show_header,\n })}\"\n name=\"header\"\n ></slot>\n <div class=\"section-header\">\n <div class=\"section\">${selected.name}</div>\n\n ${index == 0 && !this.collapsed\n ? html`<temba-icon\n name=${Icon.menu_collapse}\n size=\"1.1\"\n @click=${this.handleCollapse}\n ></temba-icon>`\n : null}\n </div>\n `\n : null}\n ${items.map((item: MenuItem) => {\n if (item.inline && item.items) {\n return html`${this.renderMenuItem(item)}\n <div class=\"inline-children\">\n ${(item.items || []).map((child: MenuItem) => {\n return this.renderMenuItem(child, item);\n })}\n </div>`;\n }\n return this.renderMenuItem(item);\n })}\n </div>`\n );\n }\n });\n\n const menu = html`<div\n class=\"${getClasses({\n root: true,\n 'fully-collapsed': this.collapsed,\n })}\"\n >\n ${levels}\n </div>`;\n return html`${menu}`;\n }\n}\n"]}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { LitElement, html, css } from 'lit';
|
|
3
3
|
import { property } from 'lit/decorators.js';
|
|
4
|
-
import { Icon } from '.';
|
|
4
|
+
import { Icon, SVG_FINGERPRINT } from '.';
|
|
5
5
|
import { getClasses } from '../utils';
|
|
6
|
-
// for cache busting, increase whenever the icon set changes
|
|
7
|
-
const ICON_VERSION = 15;
|
|
8
6
|
export class VectorIcon extends LitElement {
|
|
9
7
|
static get styles() {
|
|
10
8
|
return css `
|
|
@@ -169,7 +167,7 @@ export class VectorIcon extends LitElement {
|
|
|
169
167
|
<use
|
|
170
168
|
href="${this.src
|
|
171
169
|
? this.src
|
|
172
|
-
: `${this.prefix || window.static_url || '/static/'}svg/index.svg?v=${
|
|
170
|
+
: `${this.prefix || window.static_url || '/static/'}svg/index.svg?v=${SVG_FINGERPRINT}#${name}`}"
|
|
173
171
|
/>
|
|
174
172
|
</svg>
|
|
175
173
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorIcon.js","sourceRoot":"","sources":["../../../src/vectoricon/VectorIcon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"VectorIcon.js","sourceRoot":"","sources":["../../../src/vectoricon/VectorIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, TemplateResult, html, css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Icon, SVG_FINGERPRINT } from '.';\n\nimport { getClasses } from '../utils';\n\nexport class VectorIcon extends LitElement {\n @property({ type: String })\n name: string;\n\n @property({ type: String })\n prefix: string;\n\n // same as name but without implicit coloring\n @property({ type: String })\n id: string;\n\n @property({ type: Number })\n size = 1;\n\n @property({ type: Boolean })\n clickable: boolean;\n\n @property({ type: Boolean })\n circled: boolean;\n\n @property({ type: String })\n animateChange: string;\n\n @property({ type: String })\n animateClick: string;\n\n @property({ type: Number })\n animationDuration = 200;\n\n @property({ type: String })\n src = '';\n\n @property({ type: Number, attribute: false })\n steps = 2;\n\n @property({ type: Number, attribute: false })\n animationStep: number;\n\n @property({ type: String })\n easing = 'cubic-bezier(0.68, -0.55, 0.265, 1.55)';\n\n static get styles() {\n return css`\n :host {\n margin: auto;\n }\n\n .sheet {\n color: var(--icon-color);\n transform: scale(1);\n transition: fill 100ms ease-in-out,\n background 200ms cubic-bezier(0.68, -0.55, 0.265, 1.55),\n padding 200ms cubic-bezier(0.68, -0.55, 0.265, 1.55),\n margin 200ms cubic-bezier(0.68, -0.55, 0.265, 1.55);\n }\n\n .sheet.spin {\n transform: rotate(0deg);\n }\n\n .sheet.spin-1 {\n transform: rotate(180deg);\n }\n\n .sheet.spin-2 {\n transform: rotate(360deg);\n }\n\n .sheet.spin-3 {\n transform: rotate(0deg);\n transition-duration: 0ms !important;\n }\n\n .sheet.pulse {\n transform: scale(1);\n }\n\n .sheet.pulse-1 {\n transform: scale(1.2);\n }\n\n .clickable:hover {\n cursor: pointer;\n fill: var(--color-link-primary) !important;\n background: rgb(255, 255, 255);\n }\n\n .circled {\n background: var(--icon-color-circle);\n padding: 0.15em;\n margin: -0.15em;\n box-shadow: var(--shadow);\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n border-radius: 999px;\n transition: background 200ms linear,\n transform 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55),\n padding 150ms linear, margin 150ms linear;\n }\n\n .wrapper.clickable {\n transform: scale(1);\n }\n\n .wrapper.clickable:hover {\n --icon-circle-size: 0.35em;\n --icon-background: var(--icon-color-circle-hover);\n }\n\n .wrapper.clickable {\n padding: var(--icon-circle-size);\n margin: calc(-1 * var(--icon-circle-size));\n background: var(--icon-background);\n }\n `;\n }\n\n constructor() {\n super();\n }\n\n private lastName: string;\n\n public firstUpdated(changes: Map<string, any>) {\n super.firstUpdated(changes);\n if (changes.has('animateChange')) {\n // set our default duration if we need one\n if (!changes.has('animationDuration')) {\n this.animationDuration = this.steps * this.animationDuration;\n }\n\n if (this.animateChange === 'spin') {\n this.steps = 3;\n this.animationDuration = 400;\n this.easing = 'linear';\n }\n }\n }\n\n public handleClicked() {\n if (this.animateClick) {\n this.animationStep = 1;\n }\n }\n\n public updated(changes: Map<string, any>) {\n super.updated(changes);\n\n if (changes.has('animationStep')) {\n // if we are halfway through, change the icon\n if (this.lastName && this.animationStep >= this.steps / 2) {\n this.lastName = null;\n this.requestUpdate();\n }\n\n setTimeout(() => {\n if (this.animationStep > 0 && this.animationStep < this.steps) {\n this.animationStep++;\n } else {\n this.animationStep = 0;\n }\n }, this.animationDuration / this.steps);\n }\n\n if (changes.has('name') && this.animateChange) {\n this.lastName = changes.get('name');\n\n // our name changed, lets animate it\n if (this.lastName && this.animateChange) {\n this.animationStep = 1;\n }\n }\n }\n\n public render(): TemplateResult {\n // let icon name mappings take precedence\n let name = this.lastName || this.name;\n name = Icon[name.replace('icon.', '')] || name;\n\n // referencing icons by id is explicit\n if (!name) {\n name = this.id;\n }\n\n return html`\n <div\n @click=${this.handleClicked}\n class=\"wrapper ${getClasses({\n clickable: this.clickable,\n circled: this.circled,\n animate: !!this.animateChange || !!this.animateClick,\n })}\"\n >\n <svg\n style=\"height:${this.size}em;width:${this\n .size}em;transition:transform ${this.animationDuration /\n this.steps}ms\n ${this.easing}\"\n class=\"${getClasses({\n sheet: this.src === '',\n [this.animateChange]: !!this.animateChange,\n [this.animateChange + '-' + this.animationStep]:\n this.animationStep > 0,\n [this.animateClick]: !!this.animateClick,\n [this.animateClick + '-' + this.animationStep]:\n this.animationStep > 0,\n })}\"\n >\n <use\n href=\"${this.src\n ? this.src\n : `${\n this.prefix || (window as any).static_url || '/static/'\n }svg/index.svg?v=${SVG_FINGERPRINT}#${name}`}\"\n />\n </svg>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// for cache busting we dynamically generate a fingerprint, use yarn svg to update
|
|
2
|
+
export const SVG_FINGERPRINT = '579ca2593ad9c17698bf47bc18234db5';
|
|
3
|
+
// only icons below are included in the sprite sheet
|
|
1
4
|
export var Icon;
|
|
2
5
|
(function (Icon) {
|
|
3
6
|
Icon["analytics"] = "bar-chart-01";
|
|
@@ -15,8 +18,29 @@ export var Icon;
|
|
|
15
18
|
Icon["call"] = "phone-call-01";
|
|
16
19
|
Icon["call_missed"] = "phone-call-02";
|
|
17
20
|
Icon["campaign"] = "clock-refresh";
|
|
21
|
+
Icon["campaign_active"] = "play";
|
|
22
|
+
Icon["campaign_archived"] = "archive";
|
|
18
23
|
Icon["campaigns"] = "clock-refresh";
|
|
19
24
|
Icon["channel"] = "zap";
|
|
25
|
+
Icon["channel_android"] = "channel-android";
|
|
26
|
+
Icon["channel_facebook"] = "facebook-official";
|
|
27
|
+
Icon["channel_freshchat"] = "freshchat";
|
|
28
|
+
Icon["channel_jiochat"] = "jiochat";
|
|
29
|
+
Icon["channel_junebug"] = "junebug";
|
|
30
|
+
Icon["channel_kannel"] = "kannel";
|
|
31
|
+
Icon["channel_line"] = "line";
|
|
32
|
+
Icon["channel_mtarget"] = "mtarget";
|
|
33
|
+
Icon["channel_plivo"] = "plivo";
|
|
34
|
+
Icon["channel_signalwire"] = "signalwire";
|
|
35
|
+
Icon["channel_thinq"] = "thinq";
|
|
36
|
+
Icon["channel_telegram"] = "telegram";
|
|
37
|
+
Icon["channel_twilio"] = "twilio-original";
|
|
38
|
+
Icon["channel_twitter"] = "twitter";
|
|
39
|
+
Icon["channel_viber"] = "viber";
|
|
40
|
+
Icon["channel_vk"] = "vk";
|
|
41
|
+
Icon["channel_vonage"] = "vonage";
|
|
42
|
+
Icon["channel_wechat"] = "wechat";
|
|
43
|
+
Icon["channel_whatsapp"] = "whatsapp";
|
|
20
44
|
Icon["children"] = "git-branch-01";
|
|
21
45
|
Icon["check"] = "check";
|
|
22
46
|
Icon["checkbox"] = "square";
|
|
@@ -55,10 +79,13 @@ export var Icon;
|
|
|
55
79
|
Icon["language"] = "globe-01";
|
|
56
80
|
Icon["link"] = "link-external-01";
|
|
57
81
|
Icon["log"] = "file-02";
|
|
82
|
+
Icon["logout"] = "log-out-04";
|
|
58
83
|
Icon["menu"] = "menu-01";
|
|
59
84
|
Icon["menu_collapse"] = "chevron-left-double";
|
|
60
85
|
Icon["message"] = "message-square-02";
|
|
61
86
|
Icon["messages"] = "message-square-02";
|
|
87
|
+
Icon["missing"] = "maximize-02";
|
|
88
|
+
Icon["new"] = "plus";
|
|
62
89
|
Icon["notification"] = "bell-01";
|
|
63
90
|
Icon["org_active"] = "credit-card-02";
|
|
64
91
|
Icon["org_anonymous"] = "glasses-01";
|
|
@@ -68,15 +95,18 @@ export var Icon;
|
|
|
68
95
|
Icon["org_suspended"] = "slash-circle-01";
|
|
69
96
|
Icon["org_verified"] = "check-verified-02";
|
|
70
97
|
Icon["overview"] = "pie-chart-01";
|
|
98
|
+
Icon["prometheus"] = "prometheus";
|
|
71
99
|
Icon["featured"] = "star-01";
|
|
72
100
|
Icon["resthooks"] = "share-07";
|
|
73
101
|
Icon["restore"] = "play";
|
|
74
102
|
Icon["retry"] = "refresh-cw-05";
|
|
103
|
+
Icon["rocketchat"] = "rocketchat";
|
|
75
104
|
Icon["runs"] = "rows-03";
|
|
76
105
|
Icon["search"] = "search-refraction";
|
|
77
106
|
Icon["select_open"] = "chevron-down";
|
|
78
107
|
Icon["select_clear"] = "x";
|
|
79
108
|
Icon["service"] = "magic-wand-01";
|
|
109
|
+
Icon["service_end"] = "log-out-04";
|
|
80
110
|
Icon["settings"] = "settings-02";
|
|
81
111
|
Icon["sort"] = "chevron-selector-vertical";
|
|
82
112
|
Icon["staff"] = "hard-drive";
|
|
@@ -90,6 +120,9 @@ export var Icon;
|
|
|
90
120
|
Icon["two_factor_enabled"] = "shield-02";
|
|
91
121
|
Icon["two_factor_disabled"] = "shield-01";
|
|
92
122
|
Icon["trigger"] = "signal-01";
|
|
123
|
+
Icon["trigger_active"] = "play";
|
|
124
|
+
Icon["trigger_archived"] = "archive";
|
|
125
|
+
Icon["trigger_new"] = "plus";
|
|
93
126
|
Icon["triggers"] = "signal-01";
|
|
94
127
|
Icon["updated"] = "edit-02";
|
|
95
128
|
Icon["up"] = "chevron-up";
|
|
@@ -99,7 +132,9 @@ export var Icon;
|
|
|
99
132
|
Icon["users"] = "users-01";
|
|
100
133
|
Icon["user_beta"] = "shield-zap";
|
|
101
134
|
Icon["webhook"] = "link-external-01";
|
|
135
|
+
Icon["wit"] = "wit";
|
|
102
136
|
Icon["workspace"] = "folder";
|
|
137
|
+
Icon["zapier"] = "zapier";
|
|
103
138
|
Icon["zendesk"] = "zendesk";
|
|
104
139
|
Icon["ext"] = "lightning-01";
|
|
105
140
|
Icon["fcm"] = "lightning-01";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vectoricon/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vectoricon/index.ts"],"names":[],"mappings":"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","sourcesContent":["// for cache busting we dynamically generate a fingerprint, use yarn svg to update\nexport const SVG_FINGERPRINT = '579ca2593ad9c17698bf47bc18234db5';\n\n// only icons below are included in the sprite sheet\nexport enum Icon {\n analytics = 'bar-chart-01',\n account = 'user-01',\n active = 'play',\n add_note = 'file-02',\n airtime = 'bank-note-01',\n archive = 'archive',\n arrow_up = 'chevron-up',\n arrow_down = 'chevron-down',\n arrow_left = 'chevron-left',\n arrow_right = 'chevron-right',\n attachment = 'paperclip',\n broadcast = 'announcement-01',\n call = 'phone-call-01',\n call_missed = 'phone-call-02',\n campaign = 'clock-refresh',\n campaign_active = 'play',\n campaign_archived = 'archive',\n campaigns = 'clock-refresh',\n channel = 'zap',\n\n channel_android = 'channel-android',\n channel_facebook = 'facebook-official',\n channel_freshchat = 'freshchat',\n channel_jiochat = 'jiochat',\n channel_junebug = 'junebug',\n channel_kannel = 'kannel',\n channel_line = 'line',\n channel_mtarget = 'mtarget',\n channel_plivo = 'plivo',\n channel_signalwire = 'signalwire',\n channel_thinq = 'thinq',\n channel_telegram = 'telegram',\n channel_twilio = 'twilio-original',\n channel_twitter = 'twitter',\n channel_viber = 'viber',\n channel_vk = 'vk',\n channel_vonage = 'vonage',\n channel_wechat = 'wechat',\n channel_whatsapp = 'whatsapp',\n\n children = 'git-branch-01',\n check = 'check',\n checkbox = 'square',\n checkbox_checked = 'check-square',\n compose = 'send-01',\n contact = 'user-01',\n contact_archived = 'archive',\n contact_blocked = 'message-x-square',\n contact_stopped = 'slash-octagon',\n contact_updated = 'user-edit',\n contacts = 'user-01',\n copy = 'copy-04',\n dashboard = 'pie-chart-01',\n delete = 'trash-03',\n delete_small = 'x',\n down = 'chevron-down',\n download = 'download-01',\n email = 'mail-01',\n error = 'alert-circle',\n event = 'zap',\n fields = 'user-edit',\n flow = 'flow',\n flow_interrupted = 'x-close',\n flow_ivr = 'phone-call-01',\n flow_message = 'message-square-02',\n flow_user = 'hard-drive',\n flows = 'flow',\n global = 'at-sign',\n group = 'users-01',\n group_smart = 'atom-01',\n help = 'help-circle',\n home = 'settings-02',\n inbox = 'inbox-01',\n info = 'user-square',\n label = 'tag-01',\n language = 'globe-01',\n link = 'link-external-01',\n log = 'file-02',\n logout = 'log-out-04',\n menu = 'menu-01',\n menu_collapse = 'chevron-left-double',\n message = 'message-square-02',\n messages = 'message-square-02',\n missing = 'maximize-02',\n new = 'plus',\n notification = 'bell-01',\n org_active = 'credit-card-02',\n org_anonymous = 'glasses-01',\n org_bulk = 'credit-card-plus',\n org_flagged = 'flag-01',\n org_new = 'stars-02',\n org_suspended = 'slash-circle-01',\n org_verified = 'check-verified-02',\n overview = 'pie-chart-01',\n prometheus = 'prometheus',\n featured = 'star-01',\n resthooks = 'share-07',\n restore = 'play',\n retry = 'refresh-cw-05',\n rocketchat = 'rocketchat',\n runs = 'rows-03',\n search = 'search-refraction',\n select_open = 'chevron-down',\n select_clear = 'x',\n service = 'magic-wand-01',\n service_end = 'log-out-04',\n settings = 'settings-02',\n sort = 'chevron-selector-vertical',\n staff = 'hard-drive',\n tickets = 'agent',\n tickets_all = 'archive',\n tickets_closed = 'check',\n tickets_mine = 'coffee',\n tickets_open = 'inbox-01',\n tickets_unassigned = 'inbox-01',\n topic = 'message-text-circle-02',\n two_factor_enabled = 'shield-02',\n two_factor_disabled = 'shield-01',\n trigger = 'signal-01',\n trigger_active = 'play',\n trigger_archived = 'archive',\n trigger_new = 'plus',\n triggers = 'signal-01',\n updated = 'edit-02',\n up = 'chevron-up',\n upload = 'upload-cloud-01',\n usages = 'link-04',\n user = 'users-01',\n users = 'users-01',\n user_beta = 'shield-zap',\n webhook = 'link-external-01',\n wit = 'wit',\n workspace = 'folder',\n zapier = 'zapier',\n zendesk = 'zendesk',\n\n ext = 'lightning-01',\n fcm = 'lightning-01',\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nyaruka/temba-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Web components to support rapidpro and related projects",
|
|
5
5
|
"author": "Nyaruka <code@nyaruka.coim>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"start": "concurrently --kill-others --names tsc,web-dev-server \"yarn tsc:watch\" \"web-dev-server --app-index demo/index.html --node-resolve --open --watch --port 3010 --esbuild-target auto\"",
|
|
13
13
|
"start:bg": "concurrently --kill-others --names tsc,web-dev-server \"yarn tsc:watch\" \"web-dev-server --app-index demo/index.html --node-resolve --watch --port 3010 --esbuild-target auto\"",
|
|
14
14
|
"tsc:watch": "tsc --watch",
|
|
15
|
-
"build": "rimraf dist && tsc && rollup -c rollup.config.js",
|
|
15
|
+
"build": "rimraf dist && yarn svg && tsc && rollup -c rollup.config.js",
|
|
16
16
|
"dev": "yarn build && cp -R ./dist/* ../rapidpro/node_modules/@nyaruka/temba-components/dist/ && cp -R ./dist/* ../floweditor/node_modules/@nyaruka/temba-components/dist/",
|
|
17
17
|
"prepublish": "tsc",
|
|
18
18
|
"postversion": "git push --tags && git push origin main",
|
|
@@ -23,12 +23,11 @@
|
|
|
23
23
|
"lint": "yarn lint:eslint && yarn lint:prettier",
|
|
24
24
|
"format": "yarn format:eslint && yarn format:prettier",
|
|
25
25
|
"test-file": "rimraf out-tsc && tsc && web-test-runner --node-resolve --coverage",
|
|
26
|
-
"test": "wtr --node-resolve --coverage",
|
|
26
|
+
"test": "yarn svg && wtr --node-resolve --coverage",
|
|
27
27
|
"test:watch": "wtr --node-resolve --watch",
|
|
28
28
|
"storybook": "concurrently --kill-others --names tsc,storybook \"npm run tsc:watch\" \"start-storybook --node-resolve --watch --open\"",
|
|
29
29
|
"storybook:build": "build-storybook",
|
|
30
|
-
"svg": "node svg.js",
|
|
31
|
-
"svg-rebuild": "rimraf static/svg/traced && yarn svg --trace && yarn svg && yarn dev",
|
|
30
|
+
"svg": "rimraf static/svg/work && node svg.js --resolution=100",
|
|
32
31
|
"version": "yarn run build && auto-changelog -p && git add CHANGELOG.md"
|
|
33
32
|
},
|
|
34
33
|
"dependencies": {
|
|
@@ -61,6 +60,7 @@
|
|
|
61
60
|
"concurrently": "^7.6.0",
|
|
62
61
|
"dynamicpixelmatch": "^0.0.2",
|
|
63
62
|
"eslint": "^8.29.0",
|
|
63
|
+
"fprint": "^2.0.1",
|
|
64
64
|
"htmlclean": "^3.0.8",
|
|
65
65
|
"husky": "^1.0.0",
|
|
66
66
|
"lint-staged": "^10.0.0",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/list/TembaMenu.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { CustomEventType } from '../interfaces';
|
|
|
5
5
|
import { RapidElement } from '../RapidElement';
|
|
6
6
|
import { debounce, fetchResults, getClasses, renderAvatar } from '../utils';
|
|
7
7
|
import { Icon } from '../vectoricon';
|
|
8
|
+
import { Dropdown } from '../dropdown/Dropdown';
|
|
8
9
|
export interface MenuItem {
|
|
9
10
|
id?: string;
|
|
10
11
|
vanity_id?: string;
|
|
@@ -696,6 +697,13 @@ export class TembaMenu extends RapidElement {
|
|
|
696
697
|
parent: MenuItem = null
|
|
697
698
|
) {
|
|
698
699
|
if (parent && parent.popup) {
|
|
700
|
+
const dropdown = this.shadowRoot.querySelector(
|
|
701
|
+
'temba-dropdown'
|
|
702
|
+
) as Dropdown;
|
|
703
|
+
if (dropdown) {
|
|
704
|
+
dropdown.blur();
|
|
705
|
+
}
|
|
706
|
+
|
|
699
707
|
if (event) {
|
|
700
708
|
this.fireCustomEvent(CustomEventType.ButtonClicked, {
|
|
701
709
|
item: menuItem,
|
|
@@ -974,6 +982,7 @@ export class TembaMenu extends RapidElement {
|
|
|
974
982
|
id="menu-${menuItem.id}"
|
|
975
983
|
class="${itemClasses}"
|
|
976
984
|
@click=${event => {
|
|
985
|
+
event.preventDefault();
|
|
977
986
|
this.pressedItem = null;
|
|
978
987
|
this.handleItemClicked(event, menuItem, parent);
|
|
979
988
|
}}
|
|
@@ -1130,7 +1139,7 @@ export class TembaMenu extends RapidElement {
|
|
|
1130
1139
|
|
|
1131
1140
|
${index == 0 && !this.collapsed
|
|
1132
1141
|
? html`<temba-icon
|
|
1133
|
-
name
|
|
1142
|
+
name=${Icon.menu_collapse}
|
|
1134
1143
|
size="1.1"
|
|
1135
1144
|
@click=${this.handleCollapse}
|
|
1136
1145
|
></temba-icon>`
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { LitElement, TemplateResult, html, css } from 'lit';
|
|
2
2
|
import { property } from 'lit/decorators.js';
|
|
3
|
-
import { Icon } from '.';
|
|
3
|
+
import { Icon, SVG_FINGERPRINT } from '.';
|
|
4
4
|
|
|
5
5
|
import { getClasses } from '../utils';
|
|
6
6
|
|
|
7
|
-
// for cache busting, increase whenever the icon set changes
|
|
8
|
-
const ICON_VERSION = 15;
|
|
9
|
-
|
|
10
7
|
export class VectorIcon extends LitElement {
|
|
11
8
|
@property({ type: String })
|
|
12
9
|
name: string;
|
|
@@ -223,7 +220,7 @@ export class VectorIcon extends LitElement {
|
|
|
223
220
|
? this.src
|
|
224
221
|
: `${
|
|
225
222
|
this.prefix || (window as any).static_url || '/static/'
|
|
226
|
-
}svg/index.svg?v=${
|
|
223
|
+
}svg/index.svg?v=${SVG_FINGERPRINT}#${name}`}"
|
|
227
224
|
/>
|
|
228
225
|
</svg>
|
|
229
226
|
</div>
|