@nyaruka/temba-components 0.48.6 → 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 +18 -0
- package/dist/3819e8ba.js +6223 -0
- package/dist/index.js +129 -91
- 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/dropdown/Dropdown.js +8 -2
- package/out-tsc/src/dropdown/Dropdown.js.map +1 -1
- package/out-tsc/src/list/TembaMenu.js +67 -19
- package/out-tsc/src/list/TembaMenu.js.map +1 -1
- package/out-tsc/src/utils/index.js +18 -13
- package/out-tsc/src/utils/index.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 +37 -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/dropdown/Dropdown.ts +9 -2
- package/src/list/TembaMenu.ts +71 -19
- package/src/utils/index.ts +19 -13
- package/src/vectoricon/VectorIcon.ts +2 -5
- package/src/vectoricon/index.ts +40 -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/0df121ce.js +0 -6185
- 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
|
|
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">
|
|
@@ -96,7 +96,7 @@ export class Dropdown extends RapidElement {
|
|
|
96
96
|
arrow.style.left = this.arrowOffset + 'px';
|
|
97
97
|
}
|
|
98
98
|
const dropdown = this.shadowRoot.querySelector('.dropdown');
|
|
99
|
-
dropdown.addEventListener('blur', () => {
|
|
99
|
+
dropdown.addEventListener('blur', (event) => {
|
|
100
100
|
// we nest this to deal with clicking the toggle to close
|
|
101
101
|
// as we don't want it to toggle an immediate open, probably
|
|
102
102
|
// a better way to deal with this
|
|
@@ -143,6 +143,11 @@ export class Dropdown extends RapidElement {
|
|
|
143
143
|
dropdown.focus();
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
+
handleDropdownMouseDown(event) {
|
|
147
|
+
// block mouse down when clicking inside dropdown so we don't lose focus yet
|
|
148
|
+
event.preventDefault();
|
|
149
|
+
event.stopPropagation();
|
|
150
|
+
}
|
|
146
151
|
render() {
|
|
147
152
|
return html `
|
|
148
153
|
${this.mask
|
|
@@ -153,11 +158,12 @@ export class Dropdown extends RapidElement {
|
|
|
153
158
|
<slot
|
|
154
159
|
name="toggle"
|
|
155
160
|
class="toggle"
|
|
156
|
-
@click
|
|
161
|
+
@click=${this.handleToggleClicked}
|
|
157
162
|
></slot>
|
|
158
163
|
<div
|
|
159
164
|
class="dropdown"
|
|
160
165
|
tabindex="0"
|
|
166
|
+
@mousedown=${this.handleDropdownMouseDown}
|
|
161
167
|
style="${this.dropAlign == 'right' ? 'right:0' : ''}"
|
|
162
168
|
>
|
|
163
169
|
<div class="arrow"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/dropdown/Dropdown.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;IAA1C;;QA0EE,SAAI,GAAG,KAAK,CAAC;QAGb,cAAS,GAAG,MAAM,CAAC;QAGnB,cAAS,GAAG,CAAC,CAAC;QAGd,gBAAW,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAGjC,YAAO,GAAG,CAAC,CAAC;QAGZ,YAAO,GAAG,CAAC,CAAC;QAGZ,SAAI,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/dropdown/Dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { RapidElement } from '../RapidElement';\n\nexport class Dropdown extends RapidElement {\n static get styles() {\n return css`\n .wrapper {\n position: relative;\n }\n\n .toggle {\n cursor: pointer;\n }\n\n .dropdown-wrapper {\n position: relative;\n overflow: auto;\n }\n\n .dropdown {\n position: absolute;\n opacity: 0;\n z-index: 2;\n pointer-events: none;\n padding: 0;\n border-radius: var(--curvature);\n background: #fff;\n transform: translateY(1em) scale(0.9);\n transition: all calc(0.8 * var(--transition-speed)) var(--bounce);\n user-select: none;\n margin-top: 0px;\n margin-left: 0px;\n box-shadow: var(--dropdown-shadow);\n }\n\n .dropdown:focus {\n outline: none;\n }\n\n .arrow {\n content: '';\n width: 0px;\n height: 0;\n top: -6px;\n z-index: 10;\n position: absolute;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n }\n\n .open .dropdown {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0.5em) scale(1);\n }\n\n .mask {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.7);\n opacity: 0;\n transition: opacity var(--transition-speed) ease-in-out;\n pointer-events: none;\n }\n\n .mask.open {\n opacity: 1;\n pointer-events: auto;\n }\n `;\n }\n\n @property({ type: Boolean })\n open = false;\n\n @property({ type: String, attribute: 'drop_align' })\n dropAlign = 'left';\n\n @property({ type: Number })\n arrowSize = 6;\n\n @property({ type: Number })\n arrowOffset = this.arrowSize * 2;\n\n @property({ type: Number })\n offsetX = 0;\n\n @property({ type: Number })\n offsetY = 0;\n\n @property({ type: Boolean })\n mask = false;\n\n public firstUpdated(props: any) {\n super.firstUpdated(props);\n\n const arrow = this.shadowRoot.querySelector('.arrow') as HTMLDivElement;\n arrow.style.borderWidth = this.arrowSize + 'px';\n arrow.style.top = '-' + this.arrowSize + 'px';\n\n if (this.arrowOffset < 0) {\n arrow.style.right = Math.abs(this.arrowOffset) + 'px';\n } else {\n arrow.style.left = this.arrowOffset + 'px';\n }\n\n const dropdown = this.shadowRoot.querySelector(\n '.dropdown'\n ) as HTMLDivElement;\n\n dropdown.addEventListener('blur', (event: any) => {\n // we nest this to deal with clicking the toggle to close\n // as we don't want it to toggle an immediate open, probably\n // a better way to deal with this\n window.setTimeout(() => {\n this.open = false;\n // blur our host element too\n (this.shadowRoot.host as HTMLDivElement).blur();\n }, 200);\n });\n }\n\n public updated(changedProperties: Map<string, any>) {\n super.updated(changedProperties);\n\n if (changedProperties.has('offsetY') || changedProperties.has('offsetX')) {\n const dropdown = this.shadowRoot.querySelector(\n '.dropdown'\n ) as HTMLDivElement;\n\n dropdown.style.marginTop = this.offsetY + 'px';\n if (dropdown.offsetLeft + dropdown.clientWidth > window.outerWidth) {\n dropdown.style.marginLeft =\n '-' + (dropdown.clientWidth - this.clientWidth - this.offsetX) + 'px';\n } else {\n if (this.dropAlign === 'right') {\n dropdown.style.marginRight = this.offsetX + 'px';\n } else {\n dropdown.style.marginLeft = this.offsetX + 'px';\n }\n }\n }\n\n if (changedProperties.has('open')) {\n if (this.open) {\n this.classList.add('open');\n } else {\n this.classList.remove('open');\n }\n }\n }\n\n public handleToggleClicked(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n if (!this.open) {\n this.open = true;\n\n const dropdown = this.shadowRoot.querySelector(\n '.dropdown'\n ) as HTMLDivElement;\n dropdown.focus();\n }\n }\n\n private handleDropdownMouseDown(event: MouseEvent): void {\n // block mouse down when clicking inside dropdown so we don't lose focus yet\n event.preventDefault();\n event.stopPropagation();\n }\n\n public render(): TemplateResult {\n return html`\n ${this.mask\n ? html`<div class=\"mask ${this.open ? 'open' : ''}\" />`\n : null}\n\n <div class=\"wrapper ${this.open ? 'open' : ''}\">\n <slot\n name=\"toggle\"\n class=\"toggle\"\n @click=${this.handleToggleClicked}\n ></slot>\n <div\n class=\"dropdown\"\n tabindex=\"0\"\n @mousedown=${this.handleDropdownMouseDown}\n style=\"${this.dropAlign == 'right' ? 'right:0' : ''}\"\n >\n <div class=\"arrow\"></div>\n <div class=\"dropdown-wrapper\">\n <slot name=\"dropdown\" tabindex=\"1\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -28,14 +28,26 @@ export class TembaMenu extends RapidElement {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.bubble {
|
|
31
|
-
width:
|
|
32
|
-
height:
|
|
33
|
-
|
|
34
|
-
bottom:
|
|
35
|
-
border-radius:
|
|
36
|
-
border:
|
|
31
|
+
width: 0.6em;
|
|
32
|
+
height: 0.6em;
|
|
33
|
+
right: 0em;
|
|
34
|
+
bottom: 0em;
|
|
35
|
+
border-radius: 99em;
|
|
36
|
+
border: 0.12em solid rgba(0, 0, 0, 0.1);
|
|
37
|
+
position: absolute;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.bubble.count {
|
|
37
41
|
position: relative;
|
|
38
|
-
|
|
42
|
+
width: inherit;
|
|
43
|
+
height: inherit;
|
|
44
|
+
right: inherit;
|
|
45
|
+
bottom: inherit;
|
|
46
|
+
color: #fff;
|
|
47
|
+
line-height: 1em;
|
|
48
|
+
padding: 0.12em;
|
|
49
|
+
min-width: 1em;
|
|
50
|
+
text-align: center;
|
|
39
51
|
}
|
|
40
52
|
|
|
41
53
|
.section {
|
|
@@ -62,7 +74,6 @@ export class TembaMenu extends RapidElement {
|
|
|
62
74
|
user-select: none;
|
|
63
75
|
-webkit-user-select: none;
|
|
64
76
|
display: flex;
|
|
65
|
-
font-size: 1em;
|
|
66
77
|
--icon-color: var(--color-text-dark);
|
|
67
78
|
}
|
|
68
79
|
|
|
@@ -92,7 +103,6 @@ export class TembaMenu extends RapidElement {
|
|
|
92
103
|
.level-0 > temba-dropdown > div[slot='toggle'] > .avatar {
|
|
93
104
|
padding: 0px;
|
|
94
105
|
--icon-color: rgba(255, 255, 255, 0.7);
|
|
95
|
-
font-size: 1em;
|
|
96
106
|
flex-direction: column;
|
|
97
107
|
border: 0px solid green;
|
|
98
108
|
width: 100%;
|
|
@@ -100,6 +110,10 @@ export class TembaMenu extends RapidElement {
|
|
|
100
110
|
align-items: center;
|
|
101
111
|
}
|
|
102
112
|
|
|
113
|
+
.level-0 > temba-dropdown .icon-wrapper {
|
|
114
|
+
padding: 0.2em 0.4em 0.2em 0.4em;
|
|
115
|
+
}
|
|
116
|
+
|
|
103
117
|
.level-0 > .item.selected::before,
|
|
104
118
|
.level-0 > .item.selected::after {
|
|
105
119
|
content: ' ';
|
|
@@ -114,7 +128,7 @@ export class TembaMenu extends RapidElement {
|
|
|
114
128
|
}
|
|
115
129
|
|
|
116
130
|
.level-0 > .item > temba-tip {
|
|
117
|
-
padding:
|
|
131
|
+
padding: 0.5em;
|
|
118
132
|
}
|
|
119
133
|
|
|
120
134
|
.level-0 > .item.selected::after {
|
|
@@ -152,6 +166,10 @@ export class TembaMenu extends RapidElement {
|
|
|
152
166
|
margin-left: 0.75em;
|
|
153
167
|
}
|
|
154
168
|
|
|
169
|
+
temba-dropdown > div[slot='dropdown'] .bubble.count {
|
|
170
|
+
margin-right: 0.75em;
|
|
171
|
+
}
|
|
172
|
+
|
|
155
173
|
.level-0 > .item > .details,
|
|
156
174
|
.level-0 > temba-dropdown > div[slot='toggle'] > .avatar > .details {
|
|
157
175
|
display: none !important;
|
|
@@ -161,7 +179,8 @@ export class TembaMenu extends RapidElement {
|
|
|
161
179
|
align-items: center;
|
|
162
180
|
}
|
|
163
181
|
|
|
164
|
-
temba-dropdown > div[slot='dropdown'] .avatar .avatar-circle
|
|
182
|
+
temba-dropdown > div[slot='dropdown'] .avatar .avatar-circle,
|
|
183
|
+
temba-dropdown > div[slot='dropdown'] .avatar .bubble {
|
|
165
184
|
font-size: 0.7em;
|
|
166
185
|
}
|
|
167
186
|
|
|
@@ -194,6 +213,7 @@ export class TembaMenu extends RapidElement {
|
|
|
194
213
|
border-radius: var(--curvature);
|
|
195
214
|
display: flex;
|
|
196
215
|
min-width: 12em;
|
|
216
|
+
position: relative;
|
|
197
217
|
}
|
|
198
218
|
|
|
199
219
|
.item > temba-icon {
|
|
@@ -383,7 +403,7 @@ export class TembaMenu extends RapidElement {
|
|
|
383
403
|
}
|
|
384
404
|
|
|
385
405
|
.sub-section {
|
|
386
|
-
font-size:
|
|
406
|
+
font-size: 0.9rem;
|
|
387
407
|
color: #888;
|
|
388
408
|
margin-top: 1rem;
|
|
389
409
|
margin-left: 0.3rem;
|
|
@@ -469,6 +489,15 @@ export class TembaMenu extends RapidElement {
|
|
|
469
489
|
slot[name='header'].show-header {
|
|
470
490
|
display: block;
|
|
471
491
|
}
|
|
492
|
+
|
|
493
|
+
.icon-wrapper {
|
|
494
|
+
position: relative;
|
|
495
|
+
padding: 0.2em 0.4em 0.2em 0em;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.level-0 .icon-wrapper {
|
|
499
|
+
padding: 0.4em;
|
|
500
|
+
}
|
|
472
501
|
`;
|
|
473
502
|
}
|
|
474
503
|
constructor() {
|
|
@@ -498,16 +527,18 @@ export class TembaMenu extends RapidElement {
|
|
|
498
527
|
const isSelected = this.isSelected(menuItem);
|
|
499
528
|
const isChildSelected = isSelected && this.selection.length > menuItem.level + 1;
|
|
500
529
|
let icon = menuItem.icon
|
|
501
|
-
? html `<
|
|
530
|
+
? html `<div class="icon-wrapper">
|
|
531
|
+
<temba-icon
|
|
502
532
|
size="${menuItem.level === 0 ? '1.5' : '1'}"
|
|
503
533
|
name="${menuItem.icon}"
|
|
504
534
|
></temba-icon
|
|
505
|
-
>${menuItem.bubble
|
|
535
|
+
>${menuItem.bubble && !menuItem.count
|
|
506
536
|
? html `<div
|
|
507
537
|
style="background-color: ${menuItem.bubble}"
|
|
508
538
|
class="bubble"
|
|
509
539
|
></div>`
|
|
510
|
-
: null}
|
|
540
|
+
: null}
|
|
541
|
+
</div>`
|
|
511
542
|
: null;
|
|
512
543
|
const collapsedIcon = menuItem.collapsed_icon
|
|
513
544
|
? html `<temba-icon
|
|
@@ -529,7 +560,16 @@ export class TembaMenu extends RapidElement {
|
|
|
529
560
|
pressed: this.pressedItem && this.pressedItem.id == menuItem.id,
|
|
530
561
|
});
|
|
531
562
|
if (menuItem.avatar) {
|
|
532
|
-
icon = renderAvatar({ name: menuItem.avatar });
|
|
563
|
+
icon = renderAvatar({ name: menuItem.avatar, tip: false });
|
|
564
|
+
if (menuItem.bubble) {
|
|
565
|
+
icon = html `${icon}${menuItem.bubble
|
|
566
|
+
? html `<div
|
|
567
|
+
style="background-color: ${menuItem.bubble}"
|
|
568
|
+
class="bubble"
|
|
569
|
+
></div>`
|
|
570
|
+
: null}`;
|
|
571
|
+
}
|
|
572
|
+
icon = html `<div style="position:relative; padding: 0em">${icon}</div>`;
|
|
533
573
|
}
|
|
534
574
|
const item = html `
|
|
535
575
|
<a
|
|
@@ -537,6 +577,7 @@ export class TembaMenu extends RapidElement {
|
|
|
537
577
|
id="menu-${menuItem.id}"
|
|
538
578
|
class="${itemClasses}"
|
|
539
579
|
@click=${event => {
|
|
580
|
+
event.preventDefault();
|
|
540
581
|
this.pressedItem = null;
|
|
541
582
|
this.handleItemClicked(event, menuItem, parent);
|
|
542
583
|
}}
|
|
@@ -578,7 +619,10 @@ export class TembaMenu extends RapidElement {
|
|
|
578
619
|
></temba-icon>`
|
|
579
620
|
: html `${menuItem.count || menuItem.count == 0
|
|
580
621
|
? html `
|
|
581
|
-
<div
|
|
622
|
+
<div
|
|
623
|
+
class="count ${menuItem.bubble ? 'bubble' : ''}"
|
|
624
|
+
style="background-color: ${menuItem.bubble}"
|
|
625
|
+
>
|
|
582
626
|
${menuItem.count.toLocaleString()}
|
|
583
627
|
</div>
|
|
584
628
|
`
|
|
@@ -599,7 +643,7 @@ export class TembaMenu extends RapidElement {
|
|
|
599
643
|
<div style="max-height:400px;overflow-y:auto">
|
|
600
644
|
${(menuItem.items || []).map((child) => {
|
|
601
645
|
child.level = menuItem.level + 1;
|
|
602
|
-
return this.renderMenuItem(child, menuItem)
|
|
646
|
+
return html `${this.renderMenuItem(child, menuItem)}`;
|
|
603
647
|
})}
|
|
604
648
|
</div>
|
|
605
649
|
</div>
|
|
@@ -709,6 +753,10 @@ export class TembaMenu extends RapidElement {
|
|
|
709
753
|
}
|
|
710
754
|
handleItemClicked(event, menuItem, parent = null) {
|
|
711
755
|
if (parent && parent.popup) {
|
|
756
|
+
const dropdown = this.shadowRoot.querySelector('temba-dropdown');
|
|
757
|
+
if (dropdown) {
|
|
758
|
+
dropdown.blur();
|
|
759
|
+
}
|
|
712
760
|
if (event) {
|
|
713
761
|
this.fireCustomEvent(CustomEventType.ButtonClicked, {
|
|
714
762
|
item: menuItem,
|
|
@@ -947,7 +995,7 @@ export class TembaMenu extends RapidElement {
|
|
|
947
995
|
|
|
948
996
|
${index == 0 && !this.collapsed
|
|
949
997
|
? html `<temba-icon
|
|
950
|
-
name
|
|
998
|
+
name=${Icon.menu_collapse}
|
|
951
999
|
size="1.1"
|
|
952
1000
|
@click=${this.handleCollapse}
|
|
953
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: 8px;\n height: 8px;\n left: 14px;\n bottom: -1px;\n border-radius: 99px;\n border: 1px solid rgb(255, 255, 255);\n position: relative;\n margin-top: -10px;\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 font-size: 1em;\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 font-size: 1em;\n flex-direction: column;\n border: 0px solid green;\n width: 100%;\n display: flex;\n align-items: center;\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: 1em;\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 .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 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 }\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: 1rem;\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 }\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`<temba-icon\n size=\"${menuItem.level === 0 ? '1.5' : '1'}\"\n name=\"${menuItem.icon}\"\n ></temba-icon\n >${menuItem.bubble\n ? html`<div\n style=\"background-color: ${menuItem.bubble}\"\n class=\"bubble\"\n ></div>`\n : null}`\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 });\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 class=\"count\">\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 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"]}
|
|
@@ -510,14 +510,13 @@ export const renderAvatar = (input) => {
|
|
|
510
510
|
}
|
|
511
511
|
let initials = text.substring(0, 1) + text.substring(second, second + 1);
|
|
512
512
|
initials = initials.toUpperCase();
|
|
513
|
-
|
|
514
|
-
<
|
|
513
|
+
const avatar = html `
|
|
514
|
+
<div
|
|
515
|
+
style="border: 0px solid red; display:flex; flex-direction: column; align-items:center;"
|
|
516
|
+
>
|
|
515
517
|
<div
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
<div
|
|
519
|
-
class="avatar-circle"
|
|
520
|
-
style="
|
|
518
|
+
class="avatar-circle"
|
|
519
|
+
style="
|
|
521
520
|
display: flex;
|
|
522
521
|
height: 2em;
|
|
523
522
|
width: 2em;
|
|
@@ -528,15 +527,21 @@ export const renderAvatar = (input) => {
|
|
|
528
527
|
font-weight: 400;
|
|
529
528
|
border: 0.3em solid rgba(0,0,0,.05);
|
|
530
529
|
background:${color}"
|
|
530
|
+
>
|
|
531
|
+
<div
|
|
532
|
+
style="border: 0px solid red; display:flex; flex-direction: column; align-items:center;flex-grow:1"
|
|
531
533
|
>
|
|
532
|
-
<div
|
|
533
|
-
style="border: 0px solid red; display:flex; flex-direction: column; align-items:center;flex-grow:1"
|
|
534
|
-
>
|
|
535
|
-
<div style="border:0px solid blue;">${initials}</div>
|
|
536
|
-
</div>
|
|
534
|
+
<div style="border:0px solid blue;">${initials}</div>
|
|
537
535
|
</div>
|
|
538
536
|
</div>
|
|
539
|
-
</
|
|
537
|
+
</div>
|
|
540
538
|
`;
|
|
539
|
+
return input.tip
|
|
540
|
+
? html `
|
|
541
|
+
<temba-tip text=${text} position=${input.position}>
|
|
542
|
+
${avatar}
|
|
543
|
+
</temba-tip>
|
|
544
|
+
`
|
|
545
|
+
: avatar;
|
|
541
546
|
};
|
|
542
547
|
//# sourceMappingURL=index.js.map
|