@adyen/bento-vue2 1.63.0 → 1.63.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/index.d.ts +3 -9
- package/dist/action-bar.js +1 -1
- package/dist/assets/accordion-item.css +1 -1
- package/dist/assets/action-bar.css +1 -1
- package/dist/assets/base-modal.css +1 -1
- package/dist/assets/card.css +1 -1
- package/dist/assets/data-grid.css +1 -1
- package/dist/assets/date-picker.css +1 -1
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/file-uploader.css +1 -1
- package/dist/assets/inspector.css +1 -1
- package/dist/assets/menu.css +1 -1
- package/dist/assets/modal-fullscreen.css +1 -1
- package/dist/assets/popover.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/chunks/{action-bar.Dsp7iRxz.js → action-bar.DHdrZtmW.js} +2 -2
- package/dist/chunks/{action-bar.Dsp7iRxz.js.map → action-bar.DHdrZtmW.js.map} +1 -1
- package/dist/chunks/{button-actions-with-menu.CtW_16tY.js → button-actions-with-menu.CYkEoiee.js} +2 -2
- package/dist/chunks/{button-actions-with-menu.CtW_16tY.js.map → button-actions-with-menu.CYkEoiee.js.map} +1 -1
- package/dist/chunks/{dashboard-section.CspNW0CA.js → dashboard-section.Bz54Z6Hh.js} +2 -2
- package/dist/chunks/{dashboard-section.CspNW0CA.js.map → dashboard-section.Bz54Z6Hh.js.map} +1 -1
- package/dist/chunks/{data-grid-template.BhzgqkZp.js → data-grid-template.DtFRjaR8.js} +2 -2
- package/dist/chunks/{data-grid-template.BhzgqkZp.js.map → data-grid-template.DtFRjaR8.js.map} +1 -1
- package/dist/chunks/{data-grid.BfsBhYpW.js → data-grid.Cep-0zsO.js} +4 -4
- package/dist/chunks/{data-grid.BfsBhYpW.js.map → data-grid.Cep-0zsO.js.map} +1 -1
- package/dist/chunks/{date-picker.CPQ6WLZE.js → date-picker.D65ieFdN.js} +20 -20
- package/dist/chunks/{date-picker.CPQ6WLZE.js.map → date-picker.D65ieFdN.js.map} +1 -1
- package/dist/chunks/{filter-bar.D6HeYnzZ.js → filter-bar.DjUN3PeJ.js} +2 -2
- package/dist/chunks/{filter-bar.D6HeYnzZ.js.map → filter-bar.DjUN3PeJ.js.map} +1 -1
- package/dist/chunks/{header-with-views.Dkn8IDew.js → header-with-views.Csgl4PSQ.js} +3 -3
- package/dist/chunks/{header-with-views.Dkn8IDew.js.map → header-with-views.Csgl4PSQ.js.map} +1 -1
- package/dist/chunks/{header.DNzQO7u-.js → header.Cb644uAi.js} +2 -2
- package/dist/chunks/{header.DNzQO7u-.js.map → header.Cb644uAi.js.map} +1 -1
- package/dist/chunks/{menu.W_kuhRKI.js → menu.BCD4FW54.js} +2 -2
- package/dist/chunks/{menu.W_kuhRKI.js.map → menu.BCD4FW54.js.map} +1 -1
- package/dist/chunks/{tutorial.BNZh6N3h.js → tutorial.DJ_Cwp9i.js} +2 -2
- package/dist/chunks/{tutorial.BNZh6N3h.js.map → tutorial.DJ_Cwp9i.js.map} +1 -1
- package/dist/dashboard-template.js +1 -1
- package/dist/data-grid-template.js +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/date-picker.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/header-with-views.js +1 -1
- package/dist/header.js +1 -1
- package/dist/index.js +10 -10
- package/dist/internal.js +1 -1
- package/dist/menu.js +1 -1
- package/dist/tutorial.js +1 -1
- package/dist/web-types.json +2 -2
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-with-views.Dkn8IDew.js","sources":["../../../ui-assets/icons-16/dist/vue/download.vue","../../../ui-assets/icons-16/dist/vue/edit-2.vue","../../../ui-assets/icons-16/dist/vue/heart.vue","../../../ui-assets/icons-16/dist/vue/options-horizontal.vue","../../../ui-assets/icons-16/dist/vue/plus.vue","../../../ui-assets/icons-16/dist/vue/plus-multiple.vue","../../../ui-assets/icons-16/dist/vue/bag.vue","../../../ui-assets/icons-16/dist/vue/car.vue","../../../ui-assets/icons-16/dist/vue/cash-stack.vue","../../../ui-assets/icons-16/dist/vue/cloud.vue","../../../ui-assets/icons-16/dist/vue/diamond.vue","../../../ui-assets/icons-16/dist/vue/education.vue","../../../ui-assets/icons-16/dist/vue/emoticon-happy.vue","../../../ui-assets/icons-16/dist/vue/gambling.vue","../../../ui-assets/icons-16/dist/vue/gaming.vue","../../../ui-assets/icons-16/dist/vue/gift.vue","../../../ui-assets/icons-16/dist/vue/hand-rock.vue","../../../ui-assets/icons-16/dist/vue/hashtag.vue","../../../ui-assets/icons-16/dist/vue/hospitality.vue","../../../ui-assets/icons-16/dist/vue/hourglass.vue","../../../ui-assets/icons-16/dist/vue/leaf.vue","../../../ui-assets/icons-16/dist/vue/lightning.vue","../../../ui-assets/icons-16/dist/vue/lock.vue","../../../ui-assets/icons-16/dist/vue/news.vue","../../../ui-assets/icons-16/dist/vue/notification.vue","../../../ui-assets/icons-16/dist/vue/prize.vue","../../../ui-assets/icons-16/dist/vue/retail.vue","../../../ui-assets/icons-16/dist/vue/shopping-cart.vue","../../../ui-assets/icons-16/dist/vue/sleep.vue","../../../ui-assets/icons-16/dist/vue/stack.vue","../../../ui-assets/icons-16/dist/vue/star.vue","../../../ui-assets/icons-16/dist/vue/support.vue","../../../ui-assets/icons-16/dist/vue/target.vue","../../../ui-assets/icons-16/dist/vue/thumb-down.vue","../../../ui-assets/icons-16/dist/vue/thumb-up.vue","../../../ui-assets/icons-16/dist/vue/travel-bag.vue","../../../ui-assets/icons-16/dist/vue/warning-diamond.vue","../../../ui-assets/icons-16/dist/vue/world.vue","../../src/components/header-with-views/header-with-views.types.ts","../../../ui-assets/icons-16/dist/vue/grab.vue","../../../ui-assets/icons-16/dist/vue/menu.vue","../../src/components/header-with-views/composables/use-edit-views/use-edit-views.ts","../../src/components/header-with-views/composables/use-drag-and-drop-views/use-drag-and-drop-views.ts","../../src/components/header-with-views/composables/use-responsive-views/use-responsive-views.ts","../../src/components/header-with-views/components/header-with-views-all-views/header-with-views-all-views.vue","../../../ui-assets/icons-16/dist/vue/circle-filled.vue","../../src/components/header-with-views/components/header-with-views-item-edit-form/header-with-views-edit-form.types.ts","../../src/components/header-with-views/components/header-with-views-item-edit-form/header-with-views-edit-form.vue","../../src/components/header-with-views/header-with-views.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8.75 1.25V9.18957L11.0001 6.93945L12.0608 8.00011L8.00011 12.0608L3.93945 8.00011L5.00011 6.93945L7.25 9.18934V1.25H8.75Z\"/><path fill=\"#001222\" d=\"M2.75 12.5V10.25H1.25V12.5C1.25 13.0967 1.48705 13.669 1.90901 14.091C2.33097 14.5129 2.90326 14.75 3.5 14.75H12.5C13.0967 14.75 13.669 14.5129 14.091 14.091C14.5129 13.669 14.75 13.0967 14.75 12.5V10.25H13.25V12.5C13.25 12.6989 13.171 12.8897 13.0303 13.0303C12.8897 13.171 12.6989 13.25 12.5 13.25H3.5C3.30109 13.25 3.11032 13.171 2.96967 13.0303C2.82902 12.8897 2.75 12.6989 2.75 12.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M13.5907 1.86372C12.712 0.985043 11.2874 0.985041 10.4087 1.86372L4.58301 7.6894V11.4167H8.31033L14.136 5.59105C15.0147 4.71237 15.0147 3.28775 14.136 2.40907L13.5907 1.86372ZM11.4693 2.92438C11.7622 2.63149 12.2371 2.63149 12.53 2.92438L13.0753 3.46973C13.3682 3.76262 13.3682 4.2375 13.0753 4.53039L7.68901 9.91673H6.08301V8.31072L11.4693 2.92438Z\"/><path fill=\"#001222\" d=\"M3.5 1.25012C2.25736 1.25012 1.25 2.25748 1.25 3.50012V12.6668C1.25 13.8174 2.18274 14.7501 3.33333 14.7501H12.5C13.7426 14.7501 14.75 13.7428 14.75 12.5001V9.25012H13.25V12.5001C13.25 12.9143 12.9142 13.2501 12.5 13.2501H3.33333C3.01117 13.2501 2.75 12.989 2.75 12.6668V3.50012C2.75 3.08591 3.08579 2.75012 3.5 2.75012H6.75V1.25012H3.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.25 6.2223C1.25 3.83785 3.2086 1.91675 5.6 1.91675C6.46743 1.91675 7.29702 2.16881 8 2.63398C8.70298 2.16881 9.53257 1.91675 10.4 1.91675C12.7914 1.91675 14.75 3.83785 14.75 6.2223C14.75 8.49101 13.1609 10.4102 11.7348 11.6963C10.282 13.0064 8.80579 13.8313 8.65555 13.9135C8.44821 14.0281 8.22767 14.0834 8 14.0834C7.77233 14.0834 7.55179 14.0281 7.34445 13.9135C7.19421 13.8313 5.71797 13.0064 4.26522 11.6963C2.83912 10.4102 1.25 8.49101 1.25 6.2223ZM5.6 3.41675C4.0194 3.41675 2.75 4.68379 2.75 6.2223C2.75 7.81138 3.89988 9.34697 5.26978 10.5824C6.47055 11.6652 7.6982 12.3901 8 12.5615C8.3018 12.3901 9.52945 11.6652 10.7302 10.5824C12.1001 9.34697 13.25 7.81138 13.25 6.2223C13.25 4.68379 11.9806 3.41675 10.4 3.41675C9.68369 3.41675 9.01634 3.67518 8.50081 4.13763L8 4.58688L7.49919 4.13763C6.98366 3.67518 6.31631 3.41675 5.6 3.41675Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M12 8C12 7.60217 12.158 7.22064 12.4393 6.93934C12.7206 6.65803 13.1022 6.5 13.5 6.5C13.7967 6.5 14.0867 6.58797 14.3334 6.75279C14.58 6.91762 14.7723 7.15189 14.8858 7.42597C14.9993 7.70006 15.0291 8.00166 14.9712 8.29264C14.9133 8.58361 14.7704 8.85088 14.5607 9.06066C14.3509 9.27044 14.0836 9.4133 13.7926 9.47118C13.5017 9.52906 13.2001 9.49935 12.926 9.38582C12.6519 9.27229 12.4176 9.08003 12.2528 8.83335C12.088 8.58668 12 8.29667 12 8Z\"/><path fill=\"#001222\" d=\"M0.999999 8C0.999999 8.29667 1.08797 8.58668 1.25279 8.83335C1.41762 9.08003 1.65189 9.27229 1.92597 9.38582C2.20006 9.49935 2.50166 9.52906 2.79263 9.47118C3.08361 9.4133 3.35088 9.27044 3.56066 9.06066C3.77044 8.85088 3.9133 8.58361 3.97118 8.29264C4.02905 8.00166 3.99935 7.70006 3.88582 7.42597C3.77229 7.15189 3.58003 6.91762 3.33335 6.75279C3.08668 6.58797 2.79667 6.5 2.5 6.5C2.10217 6.5 1.72064 6.65803 1.43934 6.93934C1.15803 7.22064 0.999999 7.60217 0.999999 8Z\"/><path fill=\"#001222\" d=\"M6.75279 8.83335C6.58797 8.58668 6.5 8.29667 6.5 8C6.5 7.60217 6.65803 7.22064 6.93934 6.93934C7.22064 6.65803 7.60217 6.5 8 6.5C8.29667 6.5 8.58668 6.58797 8.83335 6.75279C9.08003 6.91762 9.27229 7.15189 9.38582 7.42597C9.49935 7.70006 9.52906 8.00166 9.47118 8.29264C9.4133 8.58361 9.27044 8.85088 9.06066 9.06066C8.85088 9.27044 8.58361 9.4133 8.29263 9.47118C8.00166 9.52906 7.70006 9.49935 7.42597 9.38582C7.15189 9.27229 6.91762 9.08003 6.75279 8.83335Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8.75 7.25V2.25H7.25V7.25H2.25V8.75H7.25V13.75H8.75V8.75H13.75V7.25H8.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-plus_multiple__a' + uuid + ')'\"><path d=\"M10.75 9.25H12.75V10.75H10.75V12.75H9.25V10.75H7.25V9.25H9.25V7.25H10.75V9.25Z\"/><path d=\"M11.75 4.25V2.36C11.75 1.80039 11.5277 1.26371 11.132 0.868005C10.7363 0.472303 10.1996 0.25 9.64 0.25H2.36C1.80039 0.25 1.26371 0.472303 0.868004 0.868005C0.472302 1.26371 0.25 1.80039 0.25 2.36V9.64C0.25 10.1996 0.472302 10.7363 0.868004 11.132C1.26371 11.5277 1.80039 11.75 2.36 11.75H4.25V13.64C4.25 14.8053 5.19468 15.75 6.36 15.75H13.64C14.8053 15.75 15.75 14.8053 15.75 13.64V6.36C15.75 5.19468 14.8053 4.25 13.64 4.25H11.75ZM2.36 1.75H9.64C9.80178 1.75 9.95694 1.81427 10.0713 1.92866C10.1857 2.04306 10.25 2.19822 10.25 2.36V4.25H6.36C5.19468 4.25 4.25 5.19468 4.25 6.36V10.25H2.36C2.19822 10.25 2.04306 10.1857 1.92867 10.0713C1.81427 9.95694 1.75 9.80178 1.75 9.64V2.36C1.75 2.19822 1.81427 2.04306 1.92867 1.92866C2.04306 1.81427 2.19822 1.75 2.36 1.75ZM6.36 5.75H13.64C13.9769 5.75 14.25 6.02311 14.25 6.36V13.64C14.25 13.9769 13.9769 14.25 13.64 14.25H6.36C6.02311 14.25 5.75 13.9769 5.75 13.64V6.36C5.75 6.02311 6.02311 5.75 6.36 5.75Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-plus_multiple__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.25 4.25V3C5.25 1.48579 6.48579 0.25 8 0.25C9.51421 0.25 10.75 1.48579 10.75 3V4.25H12.6149L14.9149 15.75H1.08496L3.38496 4.25H5.25ZM6.75 3V4.25H9.25V3C9.25 2.31421 8.68579 1.75 8 1.75C7.31421 1.75 6.75 2.31421 6.75 3ZM4.61467 5.75L2.91467 14.25H8.38496L10.085 5.75H4.61467ZM9.91467 14.25H13.0851L11.4999 6.3238L9.91467 14.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-car__a' + uuid + ')'\"><path d=\"M5 10.25C5.41421 10.25 5.75 9.91421 5.75 9.5C5.75 9.08579 5.41421 8.75 5 8.75C4.58579 8.75 4.25 9.08579 4.25 9.5C4.25 9.91421 4.58579 10.25 5 10.25Z\"/><path d=\"M11.75 9.5C11.75 9.91421 11.4142 10.25 11 10.25C10.5858 10.25 10.25 9.91421 10.25 9.5C10.25 9.08579 10.5858 8.75 11 8.75C11.4142 8.75 11.75 9.08579 11.75 9.5Z\"/><path d=\"M2.36404 6.25402L3.05048 2.1267C3.23119 1.04241 4.17634 0.25 5.27027 0.25H10.7303C11.8242 0.25 12.7694 1.0424 12.9501 2.1267L13.6365 6.25406C14.817 6.32444 15.75 7.30163 15.75 8.5V12.75H13.75V15.75H9.25V12.75H6.75V15.75H2.25V12.75H0.25V8.5C0.25 7.30144 1.18333 6.32413 2.36404 6.25402ZM3.88531 6.25H12.1152L11.4705 2.3733C11.4112 2.01759 11.0963 1.75 10.7303 1.75H5.27027C4.90429 1.75 4.58946 2.01772 4.53007 2.3733L3.88531 6.25ZM2.5 7.75C2.08421 7.75 1.75 8.08421 1.75 8.5V11.25H14.25V8.5C14.25 8.08421 13.9158 7.75 13.5 7.75H2.5ZM10.75 14.25H12.25V12.75H10.75V14.25ZM5.25 12.75H3.75V14.25H5.25V12.75Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-car__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-cash_stack__a' + uuid + ')'\"><path d=\"M8 2.25C6.48579 2.25 5.25 3.48579 5.25 5C5.25 6.51421 6.48579 7.75 8 7.75C9.51421 7.75 10.75 6.51421 10.75 5C10.75 3.48579 9.51421 2.25 8 2.25ZM6.75 5C6.75 4.31421 7.31421 3.75 8 3.75C8.68579 3.75 9.25 4.31421 9.25 5C9.25 5.68579 8.68579 6.25 8 6.25C7.31421 6.25 6.75 5.68579 6.75 5Z\"/><path d=\"M0.25 0.25H15.75V9.75H0.25V0.25ZM1.75 1.75V8.25H14.25V1.75H1.75Z\"/><path d=\"M15.75 12.75V11.25H0.25V12.75H15.75Z\"/><path d=\"M15.75 15.75V14.25H0.25V15.75H15.75Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-cash_stack__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M10.23 4.29004C9.3156 4.29004 8.51242 4.80018 8.09842 5.55918L7.71295 6.26587L7.03525 5.83145C6.76488 5.65813 6.44513 5.56004 6.1 5.56004C5.10421 5.56004 4.3 6.36425 4.3 7.36004V8.11004H3.55C2.55421 8.11004 1.75 8.91425 1.75 9.91004C1.75 10.9058 2.55421 11.71 3.55 11.71L12.45 11.71C13.4458 11.71 14.25 10.9058 14.25 9.91004V9.90004C14.25 9.12172 13.7547 8.45577 13.0664 8.21937L12.4036 7.99175L12.5858 7.31506C12.6366 7.12648 12.66 6.93285 12.66 6.72004C12.66 5.38272 11.5743 4.29004 10.23 4.29004ZM7.18175 4.24438C7.9021 3.35751 9.0015 2.79004 10.23 2.79004C12.4057 2.79004 14.16 4.55736 14.16 6.72004C14.16 6.83797 14.1552 6.95579 14.145 7.07378C15.113 7.64637 15.75 8.70715 15.75 9.90004V9.91004C15.75 11.7343 14.2742 13.21 12.45 13.21L3.55 13.21C1.72579 13.21 0.25 11.7343 0.25 9.91004C0.25 8.31898 1.37265 6.99297 2.86997 6.68001C3.18293 5.18269 4.50894 4.06004 6.1 4.06004C6.47667 4.06004 6.84115 4.12407 7.18175 4.24438Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-diamond__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M13.4639 1.03003H2.53684L0.118164 5.86738L8.00037 16.0016L15.8826 5.86738L13.4639 1.03003ZM2.10391 5.25L3.46389 2.53003H5.78664L4.42665 5.25H2.10391ZM2.70494 6.75H4.53295L5.90396 10.863L2.70494 6.75ZM6.11409 6.75H9.88569L7.99989 12.4074L6.11409 6.75ZM11.4668 6.75H13.2958L10.0951 10.8652L11.4668 6.75ZM13.8968 5.25H11.5731L10.2131 2.53003H12.5368L13.8968 5.25ZM9.89608 5.25H6.1037L7.46369 2.53003H8.53609L9.89608 5.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-diamond__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8 1.18408L15.75 4.50551V10H14.25V7.13746L12.75 7.78032V9.99996C12.75 11.3087 12.214 12.4948 11.364 13.3566L11.3567 13.364C10.4949 14.214 9.30875 14.75 8 14.75C5.37579 14.75 3.25 12.6242 3.25 9.99996V7.78032L0.25 6.4946V4.50551L8 1.18408ZM14.25 5.50551V5.49461L8 2.81603L1.75 5.49461V5.50551L8 8.18408L14.25 5.50551ZM8 9.81603L4.75 8.42318V9.99996C4.75 11.7957 6.20421 13.25 8 13.25C8.88942 13.25 9.70184 12.8874 10.2997 12.2996C10.8875 11.7018 11.25 10.8894 11.25 9.99996V8.42318L8 9.81603Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-emoticon_happy__a' + uuid + ')'\"><path d=\"M8 11.25C6.75421 11.25 5.75 10.2458 5.75 9H4.25C4.25 11.0742 5.92579 12.75 8 12.75C10.0742 12.75 11.75 11.0742 11.75 9H10.25C10.25 10.2458 9.24579 11.25 8 11.25Z\"/><path d=\"M5 6.75C4.58421 6.75 4.25 7.08421 4.25 7.5H2.75C2.75 6.25579 3.75579 5.25 5 5.25C6.24421 5.25 7.25 6.25579 7.25 7.5H5.75C5.75 7.08421 5.41579 6.75 5 6.75Z\"/><path d=\"M10.25 7.5C10.25 7.08421 10.5842 6.75 11 6.75C11.4158 6.75 11.75 7.08421 11.75 7.5H13.25C13.25 6.25579 12.2442 5.25 11 5.25C9.75579 5.25 8.75 6.25579 8.75 7.5H10.25Z\"/><path d=\"M8 0.25C3.71579 0.25 0.25 3.71579 0.25 8C0.25 12.2842 3.71579 15.75 8 15.75C12.2842 15.75 15.75 12.2842 15.75 8C15.75 3.71579 12.2842 0.25 8 0.25ZM1.75 8C1.75 4.54421 4.54421 1.75 8 1.75C11.4558 1.75 14.25 4.54421 14.25 8C14.25 11.4558 11.4558 14.25 8 14.25C4.54421 14.25 1.75 11.4558 1.75 8Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-emoticon_happy__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-gambling__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.25 0.285553C5.66909 0.436349 4.23359 1.05951 3.07538 2.01472L3.04992 1.98926L1.98926 3.04992L2.01472 3.07538C1.05951 4.23359 0.436349 5.66909 0.285553 7.25H0.25V8.75H0.285553C0.436346 10.3309 1.05949 11.7664 2.01468 12.9246L1.98926 12.95L3.04992 14.0106L3.07533 13.9852C4.23355 14.9405 5.66907 15.5636 7.25 15.7144V15.75H8.75V15.7144C10.331 15.5636 11.7665 14.9404 12.9248 13.9852L12.9502 14.0106L14.0109 12.95L13.9854 12.9245C14.9405 11.7663 15.5637 10.3308 15.7144 8.75H15.75V7.25H15.7144C15.5637 5.66913 14.9405 4.23366 13.9853 3.07546L14.0109 3.04992L12.9502 1.98926L12.9247 2.01479C11.7665 1.05954 10.3309 0.436353 8.75 0.285553V0.25H7.25V0.285553ZM12.9187 11.8578L11.1275 10.0666C11.3873 9.67434 11.5766 9.22909 11.6745 8.75H14.206C14.0676 9.91739 13.6097 10.9798 12.9187 11.8578ZM10.0668 11.1273L11.8581 12.9185C10.98 13.6097 9.91751 14.0676 8.75 14.206V11.6745C9.22921 11.5766 9.67456 11.3872 10.0668 11.1273ZM1.79405 7.25C1.93236 6.08255 2.3903 5.02006 3.0814 4.14206L4.87264 5.9333C4.61275 6.32555 4.4234 6.77085 4.32554 7.25H1.79405ZM4.14206 3.0814C5.02006 2.3903 6.08255 1.93236 7.25 1.79405V4.32554C6.77085 4.4234 6.32555 4.61275 5.9333 4.87264L4.14206 3.0814ZM14.206 7.25H11.6745C11.5766 6.77088 11.3873 6.32561 11.1274 5.93339L12.9187 4.14214C13.6097 5.02013 14.0676 6.08259 14.206 7.25ZM10.25 8C10.25 8.62119 9.99617 9.18317 9.58967 9.58967C9.18317 9.99617 8.62119 10.25 8 10.25C7.37881 10.25 6.81683 9.99617 6.41033 9.58967C6.00383 9.18317 5.75 8.62119 5.75 8C5.75 7.37881 6.00383 6.81683 6.41033 6.41033C6.81683 6.00383 7.37881 5.75 8 5.75C8.62119 5.75 9.18317 6.00383 9.58967 6.41033C9.99617 6.81683 10.25 7.37881 10.25 8ZM3.08136 11.8579C2.39028 10.9799 1.93236 9.91743 1.79405 8.75H4.32554C4.42339 9.22913 4.61273 9.67441 4.8726 10.0666L3.08136 11.8579ZM11.858 3.08147L10.0668 4.8727C9.67452 4.61278 9.22919 4.4234 8.75 4.32554V1.79405C9.91749 1.93236 10.98 2.39033 11.858 3.08147ZM7.25 14.206C6.08253 14.0676 5.02002 13.6097 4.14201 12.9186L5.93324 11.1273C6.3255 11.3872 6.77082 11.5766 7.25 11.6745V14.206Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-gambling__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.53027 5.25C4.28763 5.25 3.28027 6.25736 3.28027 7.5C3.28027 8.74264 4.28763 9.75 5.53027 9.75C6.77292 9.75 7.78027 8.74264 7.78027 7.5C7.78027 6.25736 6.77291 5.25 5.53027 5.25ZM4.78027 7.5C4.78027 7.08579 5.11606 6.75 5.53027 6.75C5.94449 6.75 6.28027 7.08579 6.28027 7.5C6.28027 7.91421 5.94449 8.25 5.53027 8.25C5.11606 8.25 4.78027 7.91421 4.78027 7.5Z\"/><path fill=\"#001222\" d=\"M9.03027 8.25C9.44449 8.25 9.78027 7.91421 9.78027 7.5C9.78027 7.08579 9.44449 6.75 9.03027 6.75C8.61606 6.75 8.28027 7.08579 8.28027 7.5C8.28027 7.91421 8.61606 8.25 9.03027 8.25Z\"/><path fill=\"#001222\" d=\"M12.7803 7.5C12.7803 7.91421 12.4445 8.25 12.0303 8.25C11.6161 8.25 11.2803 7.91421 11.2803 7.5C11.2803 7.08579 11.6161 6.75 12.0303 6.75C12.4445 6.75 12.7803 7.08579 12.7803 7.5Z\"/><path fill=\"#001222\" d=\"M10.5303 6.75C10.9445 6.75 11.2803 6.41421 11.2803 6C11.2803 5.58579 10.9445 5.25 10.5303 5.25C10.1161 5.25 9.78027 5.58579 9.78027 6C9.78027 6.41421 10.1161 6.75 10.5303 6.75Z\"/><path fill=\"#001222\" d=\"M11.2803 9C11.2803 9.41421 10.9445 9.75 10.5303 9.75C10.1161 9.75 9.78027 9.41421 9.78027 9C9.78027 8.58579 10.1161 8.25 10.5303 8.25C10.9445 8.25 11.2803 8.58579 11.2803 9Z\"/><path fill=\"#001222\" d=\"M11.2697 2.25L8.78028 2.25V0.25L7.28028 0.25V2.25L4.7797 2.25C2.82897 2.25 1.20484 3.74958 1.04232 5.68732L0.472266 12.5378L0.471938 12.542C0.338482 14.2636 1.69846 15.75 3.42969 15.75C4.70058 15.75 5.8384 14.9347 6.24121 13.7272L6.56912 12.75L9.48027 12.75L9.80839 13.7278C10.2112 14.9353 11.3488 15.75 12.6197 15.75C14.3573 15.75 15.7239 14.2652 15.577 12.5363L15.0071 5.68732C14.8445 3.74958 13.2204 2.25 11.2697 2.25ZM2.53707 5.81268C2.63467 4.65054 3.61051 3.75 4.7797 3.75L11.2697 3.75C12.4388 3.75 13.4146 4.65066 13.5123 5.81268L14.0824 12.6637C14.1549 13.5145 13.4818 14.25 12.6197 14.25C11.9908 14.25 11.4286 13.8449 11.2312 13.2528L10.5591 11.25L5.49027 11.25L4.81818 13.2528C4.62081 13.8449 4.05859 14.25 3.42969 14.25C2.58155 14.25 1.90191 13.5175 1.9673 12.6599L1.96745 12.658L2.53707 5.81268Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 15.75V8.75H1.25V4.25H3.55173C3.35893 3.87458 3.25 3.44956 3.25 3C3.25 1.48579 4.48579 0.25 6 0.25C6.7865 0.25 7.49789 0.583403 8 1.11605C8.50211 0.583403 9.2135 0.25 10 0.25C11.5142 0.25 12.75 1.48579 12.75 3C12.75 3.44956 12.6411 3.87458 12.4483 4.25H14.75V8.75H13.75V15.75H2.25ZM4.75 3C4.75 3.68579 5.31421 4.25 6 4.25H7.25V3C7.25 2.31421 6.68579 1.75 6 1.75C5.31421 1.75 4.75 2.31421 4.75 3ZM7.25 5.75H2.75V7.25H7.25V5.75ZM8.75 7.25H13.25V5.75H8.75V7.25ZM7.25 8.75H3.75V14.25H7.25V8.75ZM8.75 14.25H12.25V8.75H8.75V14.25ZM8.75 4.25H10C10.6858 4.25 11.25 3.68579 11.25 3C11.25 2.31421 10.6858 1.75 10 1.75C9.31421 1.75 8.75 2.31421 8.75 3V4.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.16016 2.27273C2.16016 1.15851 3.06867 0.25 4.18288 0.25C5.2971 0.25 6.20561 1.15851 6.20561 2.27273V3.50039C6.37229 3.45572 6.54735 3.43188 6.72781 3.43188C7.2095 3.43188 7.65274 3.60168 8.00076 3.88449C8.34877 3.60168 8.79202 3.43188 9.2737 3.43188C9.45456 3.43188 9.63 3.45582 9.79701 3.50069C9.82094 2.407 10.72 1.52271 11.8192 1.52271C12.9335 1.52271 13.842 2.43122 13.842 3.54543V9.90907C13.842 13.136 11.228 15.75 8.00106 15.75C4.77412 15.75 2.16016 13.136 2.16016 9.90907V2.27273ZM4.18288 1.75C3.8971 1.75 3.66016 1.98694 3.66016 2.27273V6.68217C3.82699 6.63741 4.00224 6.61353 4.18288 6.61353H4.70508V5.45461C4.70508 5.43901 4.70526 5.42344 4.70561 5.40792V2.27273C4.70561 1.98694 4.46867 1.75 4.18288 1.75ZM6.72834 8.11353H4.18288C3.8971 8.11353 3.66016 8.35047 3.66016 8.63625V9.90907C3.66016 12.3076 5.60255 14.25 8.00106 14.25C10.3996 14.25 12.342 12.3076 12.342 9.90907V3.54543C12.342 3.25965 12.105 3.02271 11.8192 3.02271C11.5335 3.02271 11.2965 3.25965 11.2965 3.54543L11.2964 8.63643C11.2964 9.75064 10.3879 10.6592 9.2737 10.6592C8.79209 10.6592 8.3489 10.4894 8.00091 10.2067C7.65295 10.4893 7.20985 10.659 6.72834 10.659H4.70561V9.15898H6.72834C7.00627 9.15898 7.23801 8.93488 7.25053 8.65969V8.61281C7.23801 8.33763 7.00627 8.11353 6.72834 8.11353ZM8.75105 8.64495C8.7557 8.92691 8.99076 9.15916 9.2737 9.15916C9.55949 9.15916 9.79643 8.92222 9.79643 8.63643V5.45461C9.79643 5.16883 9.55949 4.93188 9.2737 4.93188C8.98792 4.93188 8.75098 5.16883 8.75098 5.45461V8.61719C8.75104 8.62354 8.75106 8.62989 8.75106 8.63625C8.75106 8.63915 8.75106 8.64205 8.75105 8.64495ZM7.25053 6.68203V5.45461C7.25053 5.16883 7.01359 4.93188 6.72781 4.93188C6.44987 4.93188 6.21813 5.15598 6.20561 5.43117V6.61353H6.72834C6.90879 6.61353 7.08385 6.63736 7.25053 6.68203Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.89035 4.25L7.62154 5.8501L9.09557 5.8501L9.36012 4.25L10.8801 4.25L10.6156 5.8501H11.75V7.3501H10.3676L10.1527 8.6499H11.75V10.1499H9.90467L9.64012 11.75L8.12012 11.75L8.38467 10.1499H6.89917L6.63035 11.75H5.11035L5.37917 10.1499H4.25V8.6499L5.63117 8.6499L5.84953 7.3501L4.25 7.3501L4.25 5.8501L6.10154 5.8501L6.37035 4.25L7.89035 4.25ZM7.15117 8.6499L8.63267 8.6499L8.84757 7.3501L7.36954 7.3501L7.15117 8.6499Z\"/><path fill=\"#001222\" d=\"M1.25 3.29C1.25 2.16579 2.16579 1.25 3.29 1.25L12.72 1.25C13.8442 1.25 14.76 2.16579 14.76 3.29L14.76 12.72C14.76 13.8442 13.8442 14.76 12.72 14.76L3.29 14.76C2.16579 14.76 1.25 13.8442 1.25 12.72L1.25 3.29ZM3.29 2.75C2.99422 2.75 2.75 2.99421 2.75 3.29L2.75 12.72C2.75 13.0158 2.99422 13.26 3.29 13.26L12.72 13.26C13.0158 13.26 13.26 13.0158 13.26 12.72L13.26 3.29C13.26 2.99421 13.0158 2.75 12.72 2.75L3.29 2.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M0.25 10.25L2.25 10.25V9C2.25 5.82579 4.82579 3.25 8 3.25C11.1742 3.25 13.75 5.82579 13.75 9V10.25H15.75V14.75L0.25 14.75L0.25 10.25ZM12.25 10.25V9C12.25 6.65421 10.3458 4.75 8 4.75C5.65422 4.75 3.75 6.65421 3.75 9V10.25L12.25 10.25ZM1.75 11.75L1.75 13.25L14.25 13.25V11.75L1.75 11.75Z\"/><path fill=\"#001222\" d=\"M9.75 2.75V1.25L6.25 1.25V2.75L9.75 2.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M13.75 0.25H2.25V1.75H3.25V4.81818C3.25 6.18036 4.05887 7.3097 5.20353 7.99811C4.06268 8.68819 3.25 9.82063 3.25 11.1818V14.25H2.25V15.75H13.75V14.25H12.75V11.1818C12.75 9.81964 11.9411 8.6903 10.7965 8.0019C11.9373 7.31181 12.75 6.17937 12.75 4.81818V1.75H13.75V0.25ZM4.75 4.81818V1.75H11.25V4.81818C11.25 5.71144 10.5573 6.61181 9.35349 7.03076L8.85 7.20598V8.80137L9.35474 8.97604C10.5654 9.39498 11.25 10.2886 11.25 11.1818V11.7864L10.721 11.5219C9.00837 10.6656 6.99253 10.6656 5.2799 11.5219L4.75 11.7868V11.1818C4.75 10.2886 5.44268 9.38819 6.64651 8.96924L7.15 8.79402V7.19863L6.64526 7.02396C5.43459 6.60502 4.75 5.71143 4.75 4.81818ZM4.75 13.4639L5.95072 12.8635C7.24106 12.2183 8.75984 12.2183 10.0502 12.8635L11.25 13.4634V14.25H4.75V13.4639Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-leaf__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M15.84 1.08011C15.87 1.26011 15.9 1.52011 15.92 1.84011V1.83011C15.97 2.47011 16.01 3.35011 15.94 4.33011C15.81 6.26011 15.3 8.74011 13.6 10.4401C11.9 12.1301 9.42 12.6501 7.49 12.7801C6.51 12.8401 5.63 12.8101 4.99 12.7601C4.72 12.7401 4.5 12.7201 4.33 12.7001L1.06 15.9701L0 14.9101L3.27 11.6401C3.25 11.4701 3.23 11.2501 3.21 10.9801C3.16 10.3401 3.12 9.46011 3.19 8.48011C3.32 6.55011 3.83 4.07011 5.53 2.37011C7.23 0.680114 9.71 0.160114 11.64 0.0301139C12.62 -0.0298861 13.5 0.00011389 14.14 0.0501139C14.4168 0.0760623 14.6487 0.102011 14.8227 0.121488C14.8499 0.124529 14.8757 0.127413 14.9 0.130114C14.9408 0.134644 14.9774 0.141226 15.01 0.147072C15.0493 0.15413 15.0827 0.160114 15.11 0.160114C15.14 0.170114 15.17 0.170114 15.17 0.170114H15.19L15.1898 0.171651L15.7096 0.259922L15.7996 0.789922L15.0703 0.90818L15.07 0.910114L15.81 0.790114V0.870114C15.82 0.920114 15.83 0.990114 15.84 1.08011ZM13.4 1.52011C12.91 1.50011 12.35 1.50011 11.74 1.54011L11.73 1.55011C10.77 1.61011 9.75 1.78011 8.81 2.12011V6.11011L13.4 1.52011ZM6.6 3.45011C5.29 4.75011 4.81 6.77011 4.69 8.59011V8.60011C4.65 9.21011 4.65 9.77011 4.67 10.2601L7.32 7.61011V2.87011C7.06 3.04011 6.82 3.23011 6.6 3.45011ZM5.73 11.3101C6.21 11.3301 6.78 11.3301 7.39 11.2901H7.4C9.22 11.1701 11.24 10.6801 12.54 9.38011C12.76 9.16011 12.95 8.92011 13.12 8.66011H8.38L5.73 11.3101ZM13.87 7.16011C14.2 6.22011 14.38 5.21011 14.44 4.24011V4.23011C14.48 3.62011 14.48 3.06011 14.46 2.57011L9.87 7.16011H13.87Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-leaf__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M9.75 6.25V0.25H8.63L1.5 9.75H6.25V15.75H7.38L14.5 6.25H9.75ZM4.5 8.25L8.25 3.25V7.75H11.5L7.75 12.75V8.25H4.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8.75021 11.7499L8.75 8.24991L7.25 8.25L7.25021 11.75L8.75021 11.7499Z\"/><path fill=\"#001222\" d=\"M5.25 4C5.25 2.48122 6.48122 1.25 8 1.25C9.51878 1.25 10.75 2.48122 10.75 4V5.25H11.5C12.7426 5.25 13.75 6.25736 13.75 7.5V12.5C13.75 13.7426 12.7426 14.75 11.5 14.75H4.5C3.25736 14.75 2.25 13.7426 2.25 12.5V7.5C2.25 6.25736 3.25736 5.25 4.5 5.25H5.25V4ZM9.25 4C9.25 3.30964 8.69036 2.75 8 2.75C7.30964 2.75 6.75 3.30964 6.75 4V5.25H9.25V4ZM4.5 6.75C4.08579 6.75 3.75 7.08579 3.75 7.5V12.5C3.75 12.9142 4.08579 13.25 4.5 13.25H11.5C11.9142 13.25 12.25 12.9142 12.25 12.5V7.5C12.25 7.08579 11.9142 6.75 11.5 6.75H4.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-news__a' + uuid + ')'\"><path d=\"M7.25 6.25H12.75V12.75H7.25V6.25ZM8.75 7.75V11.25H11.25V7.75H8.75Z\"/><path d=\"M10.75 3.25H7.25V4.75H10.75V3.25Z\"/><path d=\"M13.5 15.75C14.7442 15.75 15.75 14.7442 15.75 13.5V2.5C15.75 1.25579 14.7442 0.25 13.5 0.25H6.5C5.25579 0.25 4.25 1.25579 4.25 2.5V4.25H2.5C1.25579 4.25 0.25 5.25579 0.25 6.5V13.5C0.25 14.6597 1.12379 15.6123 2.25 15.7363V15.75H13.5ZM6.5 1.75H13.5C13.9158 1.75 14.25 2.08421 14.25 2.5V13.5C14.25 13.9158 13.9158 14.25 13.5 14.25H5.75V2.5C5.75 2.08421 6.08421 1.75 6.5 1.75ZM2.5 14.25C2.08421 14.25 1.75 13.9158 1.75 13.5V6.5C1.75 6.08421 2.08421 5.75 2.5 5.75H4.25V13.5C4.25 13.9158 3.91579 14.25 3.5 14.25H2.5Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-news__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 16)\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.99047 0.25C6.85765 0.25 5.89704 0.935208 5.47759 1.9044C4.03119 2.68871 2.96599 4.13012 2.7463 5.87663L2.4163 8.50663L2.41589 8.51C2.32636 9.25062 1.98383 9.94416 1.45427 10.4656L1.23047 10.6859V13.75H5.35431C5.68227 14.9019 6.74559 15.75 8 15.75C9.25441 15.75 10.3177 14.9019 10.6457 13.75H14.7305V10.6893L14.5108 10.4697C14.0619 10.0208 13.7524 9.46107 13.6074 8.8473L13.2346 5.8764C13.0151 4.13169 11.9599 2.68854 10.5029 1.90326C10.0831 0.934672 9.12284 0.25 7.99047 0.25ZM13.2305 12.25H2.73047V11.2985C3.37295 10.5734 3.78718 9.66208 3.90483 8.69177L4.23463 6.06337C4.4008 4.74299 5.24843 3.65649 6.3979 3.11951L6.70638 2.97541L6.80095 2.64833C6.95173 2.12691 7.42704 1.75 7.99047 1.75C8.5539 1.75 9.02921 2.12691 9.17999 2.64833L9.27491 2.97662L9.58492 3.12039C10.7406 3.65634 11.5799 4.74095 11.7463 6.0636L11.9705 7.85H11.9451L12.0569 8.69805C12.1842 9.6635 12.5895 10.5649 13.2305 11.2958V12.25ZM7.00274 13.75H8.99726C8.76827 14.0529 8.40537 14.25 8 14.25C7.59463 14.25 7.23173 14.0529 7.00274 13.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-prize__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M3.25 0.25H12.75V2.25H15.75V5.5C15.75 6.74421 14.7442 7.75 13.5 7.75H12.6912C12.3705 9.7733 10.7733 11.3705 8.75 11.6912V14.25H11.75V15.75H4.25V14.25H7.25V11.6912C5.2267 11.3705 3.62948 9.7733 3.30882 7.75H2.5C1.25579 7.75 0.25 6.74421 0.25 5.5V2.25H3.25V0.25ZM11.25 7V1.75H4.75V7C4.75 8.79579 6.20421 10.25 8 10.25C9.79579 10.25 11.25 8.79579 11.25 7ZM12.75 3.75V6.25H13.5C13.9158 6.25 14.25 5.91579 14.25 5.5V3.75H12.75ZM3.25 6.25V3.75H1.75V5.5C1.75 5.91579 2.08421 6.25 2.5 6.25H3.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-prize__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8 1.25C6.48579 1.25 5.25 2.48579 5.25 4H6.75C6.75 3.31421 7.31421 2.75 8 2.75C8.68579 2.75 9.25 3.31421 9.25 4C9.25 4.68579 8.68579 5.25 8 5.25H7.25V7.53638L2.68655 9.8181C1.79233 10.2592 1.25 11.1753 1.25 12.1499C1.25 13.5841 2.41579 14.7499 3.85 14.7499H12.15C13.5842 14.7499 14.75 13.5841 14.75 12.1499C14.75 11.1624 14.1872 10.2689 13.324 9.82338L8.75 7.53638V6.64569C9.90191 6.31773 10.75 5.25441 10.75 4C10.75 2.48579 9.51421 1.25 8 1.25ZM3.35114 11.1629L8 8.83843L12.6398 11.1583C13.0144 11.3534 13.25 11.7388 13.25 12.1499C13.25 12.7557 12.7558 13.2499 12.15 13.2499H3.85C3.24421 13.2499 2.75 12.7557 2.75 12.1499C2.75 11.7253 2.98674 11.3422 3.35114 11.1629Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M10.25 13.5C10.25 12.2558 11.2558 11.25 12.5 11.25C13.7442 11.25 14.75 12.2558 14.75 13.5C14.75 14.7442 13.7442 15.75 12.5 15.75C11.2558 15.75 10.25 14.7442 10.25 13.5ZM12.5 12.75C12.0842 12.75 11.75 13.0842 11.75 13.5C11.75 13.9158 12.0842 14.25 12.5 14.25C12.9158 14.25 13.25 13.9158 13.25 13.5C13.25 13.0842 12.9158 12.75 12.5 12.75Z\"/><path fill=\"#001222\" d=\"M4.25 13.5C4.25 12.2558 5.25579 11.25 6.5 11.25C7.74421 11.25 8.75 12.2558 8.75 13.5C8.75 14.7442 7.74421 15.75 6.5 15.75C5.25579 15.75 4.25 14.7442 4.25 13.5ZM6.5 12.75C6.08421 12.75 5.75 13.0842 5.75 13.5C5.75 13.9158 6.08421 14.25 6.5 14.25C6.91579 14.25 7.25 13.9158 7.25 13.5C7.25 13.0842 6.91579 12.75 6.5 12.75Z\"/><path fill=\"#001222\" d=\"M1.8 0.25L0.25 0.25L0.25 1.75L1.8 1.75C2.14923 1.75 2.45368 1.99641 2.52761 2.33156L4.39837 10.75L14.5856 10.75L15.75 6.09233V3.25L4.2683 3.25L3.99225 2.00778C3.76593 0.983269 2.85055 0.25 1.8 0.25ZM5.60163 9.25L4.60163 4.75H6.36421L7.11421 9.25H5.60163ZM11.1142 4.75L10.3642 9.25H8.6349L7.8849 4.75L11.1142 4.75ZM12.6349 4.75L14.25 4.75V5.90767L13.4144 9.25H11.8849L12.6349 4.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-sleep__a' + uuid + ')'\"><path d=\"M13.81 3.25L15.75 1.31V0.25H11.25V1.75H13.19L11.25 3.69V4.75H15.75V3.25H13.81Z\"/><path d=\"M9.86 9.25H11.69C11.73 9.5 11.75 9.74 11.75 10C11.75 11.14 11.42 12.25 10.78 13.2C10.15 14.14 9.25 14.88 8.2 15.31C7.5 15.6 6.75 15.75 6 15.75C5.63 15.75 5.25 15.71 4.88 15.64C3.76 15.42 2.74 14.87 1.93 14.07C1.13 13.26 0.58 12.24 0.36 11.12C0.14 10 0.25 8.85 0.69 7.8C1.12 6.74 1.86 5.85 2.81 5.22C3.75 4.58 4.86 4.25 6 4.25C6.25 4.25 6.5 4.27 6.75 4.31V6.14C6.61 6.22 6.49 6.33 6.37 6.45C6.1 6.73 5.91 7.08 5.81 7.45C5.72 7.83 5.72 8.23 5.82 8.6C5.93 8.98 6.13 9.32 6.4 9.6C6.68 9.87 7.02 10.07 7.4 10.17C7.77 10.28 8.17 10.28 8.55 10.19C8.92 10.09 9.27 9.9 9.55 9.63C9.67 9.51 9.78 9.39 9.86 9.25ZM7.63 13.93C8.41 13.6 9.07 13.06 9.53 12.36C9.79 11.97 9.99 11.55 10.1 11.11C9.74 11.35 9.34 11.53 8.92 11.64C8.29 11.8 7.63 11.79 7 11.62C6.37 11.45 5.8 11.12 5.34 10.66C4.88 10.2 4.55 9.63 4.38 9C4.21 8.38 4.2 7.71 4.36 7.08C4.47 6.66 4.65 6.26 4.89 5.9C4.45 6.02 4.03 6.21 3.64 6.47C2.94 6.93 2.4 7.59 2.07 8.37C1.75 9.15 1.67 10 1.83 10.83C2 11.66 2.4 12.41 2.99 13C3.59 13.6 4.34 14 5.17 14.17C6 14.33 6.85 14.25 7.63 13.93Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-sleep__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M6.99851 0.329277C7.60965 0.0237045 8.32485 0.0237045 8.936 0.329277L8.94763 0.335092L13.4899 2.80661C14.9132 3.5683 15.0156 5.45081 13.8121 6.36022C14.9426 7.15404 14.8998 8.80801 13.8648 9.65083C15.0545 10.501 14.8976 12.4276 13.573 13.1845L13.5662 13.1883L9.01459 15.665L9.00296 15.6708C8.39181 15.9763 7.67662 15.9763 7.06547 15.6708L7.05384 15.665L2.50223 13.1883L2.49544 13.1845C1.20854 12.4491 1.03328 10.6248 2.18975 9.74196C1.0278 8.92492 0.947607 7.14873 2.15756 6.33584C0.997812 5.42474 1.08812 3.5815 2.42848 2.81558L2.43527 2.81171L6.98688 0.335092L6.99851 0.329277ZM7.67888 1.66624L3.16715 4.12114C2.74814 4.36572 2.74509 4.95731 3.15799 5.20694L4.08079 5.66834L7.16483 7.34445L7.74797 7.66845C7.92526 7.75282 8.12695 7.75503 8.30552 7.67508L8.82242 7.35202L11.9204 5.66834L12.8431 5.20696C13.2441 4.96435 13.2605 4.38426 12.781 4.12853L12.7754 4.12558L8.25563 1.66624C8.07219 1.57805 7.86232 1.57805 7.67888 1.66624ZM7.73281 11.0237C7.90254 11.0878 8.08961 11.0801 8.25519 11.0006L11.9197 9.00179L12.8433 8.53998C13.2912 8.2708 13.2066 7.70823 12.865 7.53744L12.2815 7.2457L9.56162 8.72393L8.95041 9.06348L8.93584 9.07077C8.32469 9.37634 7.60949 9.37634 6.99835 9.07077L6.98377 9.06348L6.37257 8.72393L3.65264 7.2457L3.06917 7.53744C2.72758 7.70823 2.64303 8.2708 3.09087 8.53998L3.80065 8.89487L3.81599 8.88721L7.73281 11.0237ZM3.77974 10.5824L3.20296 10.8708C2.85902 11.0427 2.77566 11.6119 3.234 11.8788L7.74583 14.3338C7.92928 14.422 8.13915 14.422 8.3226 14.3338L12.8343 11.8789C13.049 11.7537 13.1599 11.5393 13.168 11.3144C13.1763 11.0868 13.0815 10.9295 12.9709 10.8568L12.416 10.5794L9.0816 12.3981L9.06963 12.4041C8.45848 12.7097 7.74328 12.7097 7.13214 12.4041L7.12016 12.3981L7.07964 12.376C7.05236 12.3637 7.02525 12.3509 6.99835 12.3374L6.98637 12.3315L3.77974 10.5824Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-star__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.99981 0.322998L10.4998 5.32304L15.4723 6.15178L11.8252 10.2041L13.1419 15.4004L8.00327 12.8397L2.97162 15.399L4.18057 10.2109L0.527344 6.15178L5.49979 5.32304L7.99981 0.322998ZM7.99981 3.6771L6.49983 6.67706L3.47227 7.18165L5.81904 9.78917L5.16379 12.6011L7.99635 11.1604L10.8848 12.5997L10.1744 9.79603L12.5273 7.18165L9.49979 6.67706L7.99981 3.6771Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-star__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-support__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M1.98926 3.04992L2.0153 3.07596C0.878906 4.45704 0.25 6.1961 0.25 8C0.25 9.80388 0.878891 11.5429 2.01525 12.924L1.98926 12.95L3.04992 14.0106L3.0759 13.9847C4.45699 15.1211 6.19607 15.75 8 15.75C9.80396 15.75 11.5431 15.1211 12.9242 13.9846L12.9502 14.0106L14.0109 12.95L13.9848 12.9239C15.1211 11.5429 15.75 9.80384 15.75 8C15.75 6.19613 15.1211 4.45711 13.9848 3.07604L14.0109 3.04992L12.9502 1.98926L12.9241 2.01536C11.543 0.878931 9.80394 0.25 8 0.25C6.1961 0.25 4.45704 0.878906 3.07596 2.0153L3.04992 1.98926L1.98926 3.04992ZM12.9179 11.857L11.0911 10.0302C11.423 9.52647 11.6301 8.94655 11.6895 8.33877C11.7716 7.49946 11.5672 6.65772 11.1107 5.95016L12.9179 4.14291C13.7765 5.23764 14.25 6.59441 14.25 8C14.25 9.40557 13.7765 10.7623 12.9179 11.857ZM10.031 11.0914L11.8573 12.9177C10.7625 13.7765 9.40568 14.25 8 14.25C6.59435 14.25 5.23753 13.7765 4.14278 12.9178L5.94737 11.1132C6.5494 11.5017 7.25334 11.7105 7.97579 11.7099C8.71206 11.7093 9.42572 11.4912 10.031 11.0914ZM1.75 8C1.75 6.59437 2.2235 5.23757 3.08217 4.14283L4.85612 5.91678C4.7921 6.01372 4.73242 6.11393 4.67735 6.21715C4.27061 6.97954 4.14082 7.85938 4.31009 8.70673C4.40771 9.19546 4.60134 9.65594 4.876 10.0632L3.08213 11.8571C2.22348 10.7624 1.75 9.4056 1.75 8ZM6.63778 6.18271C6.78433 6.07359 6.94467 5.98212 7.11574 5.91111C7.59328 5.71288 8.12479 5.68638 8.61968 5.83612C9.11457 5.98585 9.54224 6.30256 9.82979 6.73228C10.1173 7.16199 10.247 7.67812 10.1967 8.19272C10.1463 8.70731 9.91909 9.18853 9.55371 9.55437C9.13501 9.97359 8.56697 10.2094 7.97447 10.2099C7.45742 10.2104 6.9562 10.0315 6.55624 9.70383C6.15628 9.37616 5.88231 8.91993 5.78102 8.4129C5.67974 7.90587 5.7574 7.3794 6.00078 6.92321C6.05366 6.82409 6.11366 6.72962 6.18007 6.64042L6.63778 6.18271ZM4.14283 3.08217C5.23757 2.2235 6.59438 1.75 8 1.75C9.40566 1.75 10.7625 2.22352 11.8573 3.08224L10.0608 4.87873C9.75322 4.67132 9.41431 4.50939 9.05408 4.40039C8.227 4.15015 7.33875 4.19445 6.54067 4.52572C6.3216 4.61666 6.11304 4.72767 5.91732 4.85666L4.14283 3.08217Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-support__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 0.25H4.31066L5.70908 1.64842C6.42437 1.39051 7.19811 1.25 8 1.25C11.7242 1.25 14.75 4.27579 14.75 8C14.75 11.7242 11.7242 14.75 8 14.75C4.27579 14.75 1.25 11.7242 1.25 8C1.25 7.19811 1.39051 6.42437 1.64842 5.70908L0.25 4.31066V2.25H2.25V0.25ZM6.75 4.46261C7.14081 4.32489 7.5615 4.25 8 4.25C10.0742 4.25 11.75 5.92579 11.75 8C11.75 10.0742 10.0742 11.75 8 11.75C5.92579 11.75 4.25 10.0742 4.25 8C4.25 7.5615 4.32489 7.14081 4.46261 6.75H2.89933C2.8019 7.15004 2.75 7.56922 2.75 8C2.75 10.8958 5.10421 13.25 8 13.25C10.8958 13.25 13.25 10.8958 13.25 8C13.25 5.10421 10.8958 2.75 8 2.75C7.56922 2.75 7.15004 2.8019 6.75 2.89933V4.46261ZM5.96848 7.02914C5.82837 7.32282 5.75 7.65198 5.75 8C5.75 9.24579 6.75421 10.25 8 10.25C9.24579 10.25 10.25 9.24579 10.25 8C10.25 6.75421 9.24579 5.75 8 5.75C7.65198 5.75 7.32282 5.82837 7.02914 5.96848L9.06077 8.00011L8.00011 9.06077L5.96848 7.02914ZM3.75 1.81066V3.75H1.81066L3.31066 5.25H5.25V3.31066L3.75 1.81066Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M4.83052 1.25C4.04422 1.25 3.31263 1.6937 2.96379 2.40978L1.56637 5.23805L1.5616 5.24848C0.527661 7.5129 2.18566 10.0833 4.67051 10.0833H5.42693C4.60054 12.2801 6.20457 14.75 8.67051 14.75H9.16506L11.0135 10.4369C11.1055 10.2224 11.3164 10.0833 11.5497 10.0833H14.7538L14.7538 1.25L4.83052 1.25ZM12.0869 8.58333L12.0869 2.75L13.2538 2.75V8.58333L12.0869 8.58333ZM10.5869 2.75L10.5869 8.81916C10.169 9.037 9.82821 9.39477 9.63482 9.846L8.19979 13.1944C6.98325 12.8992 6.30718 11.4849 6.96824 10.319L7.96813 8.58333L4.67051 8.58333C3.27889 8.58333 2.35139 7.14771 2.92173 5.88113L4.3096 3.07224L4.31192 3.06745C4.40363 2.87848 4.60449 2.75 4.83052 2.75L10.5869 2.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.33333 1.25H6.83879L4.99031 5.56312C4.89839 5.7776 4.68749 5.91667 4.45414 5.91667H1.25V14.75H11.1733C11.9596 14.75 12.6912 14.3063 13.0401 13.5902L14.4375 10.7619L14.4422 10.7515C15.4762 8.4871 13.8182 5.91667 11.3333 5.91667H10.5769C11.4033 3.71995 9.79927 1.25 7.33333 1.25ZM5.41699 13.25V7.18084C5.83481 6.963 6.17564 6.60523 6.36902 6.154L7.80406 2.80559C9.0206 3.10078 9.69666 4.51506 9.03561 5.681L8.03572 7.41667H11.3333C12.725 7.41667 13.6525 8.85229 13.0821 10.1189L11.6942 12.9278L11.6919 12.9326C11.6002 13.1215 11.3994 13.25 11.1733 13.25H5.41699ZM3.91699 7.41667V13.25H2.75V7.41667H3.91699Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.25 1.25H10.75V4.25H12.5C13.7426 4.25 14.75 5.25736 14.75 6.5V12.5C14.75 13.7426 13.7426 14.75 12.5 14.75H3.5C2.25736 14.75 1.25 13.7426 1.25 12.5V6.5C1.25 5.25736 2.25736 4.25 3.5 4.25H5.25V1.25ZM6.75 4.25H9.25V2.75H6.75V4.25ZM4.25 5.75H3.5C3.08579 5.75 2.75 6.08579 2.75 6.5V12.5C2.75 12.9142 3.08579 13.25 3.5 13.25H4.25V5.75ZM5.75 13.25H10.25V5.75H5.75V13.25ZM11.75 5.75V13.25H12.5C12.9142 13.25 13.25 12.9142 13.25 12.5V6.5C13.25 6.08579 12.9142 5.75 12.5 5.75H11.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-warning_diamond__a' + uuid + ')'\"><path d=\"M8.75 4.25V8.41667H7.25V4.25H8.75Z\"/><path d=\"M8 12C8.55228 12 9 11.5523 9 11C9 10.4477 8.55228 10 8 10C7.44772 10 7 10.4477 7 11C7 11.5523 7.44772 12 8 12Z\"/><path d=\"M6.40878 1.03035C7.28746 0.151667 8.71208 0.151669 9.59076 1.03035L14.9694 6.40903C15.8481 7.28771 15.8481 8.71233 14.9694 9.59101L9.59076 14.9697C8.71208 15.8484 7.28746 15.8484 6.40878 14.9697L1.0301 9.59101C0.151424 8.71233 0.151424 7.28771 1.0301 6.40903L6.40878 1.03035ZM8.5301 2.09101C8.23721 1.79811 7.76234 1.79811 7.46944 2.09101L2.09076 7.46969C1.79787 7.76258 1.79787 8.23745 2.09076 8.53035L7.46944 13.909C7.76234 14.2019 8.23721 14.2019 8.5301 13.909L13.9088 8.53035C14.2017 8.23745 14.2017 7.76258 13.9088 7.46969L8.5301 2.09101Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-warning_diamond__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-world__a' + uuid + ')'\"><path d=\"M12.9004 7.3501C13.3146 7.3501 13.6504 7.01431 13.6504 6.6001C13.6504 6.18588 13.3146 5.8501 12.9004 5.8501C12.4862 5.8501 12.1504 6.18588 12.1504 6.6001C12.1504 7.01431 12.4862 7.3501 12.9004 7.3501Z\"/><path d=\"M13.6504 8.69995C13.6504 9.11416 13.3146 9.44995 12.9004 9.44995C12.4862 9.44995 12.1504 9.11416 12.1504 8.69995C12.1504 8.28574 12.4862 7.94995 12.9004 7.94995C13.3146 7.94995 13.6504 8.28574 13.6504 8.69995Z\"/><path d=\"M10.7998 5.94995C11.214 5.94995 11.5498 5.61416 11.5498 5.19995C11.5498 4.78574 11.214 4.44995 10.7998 4.44995C10.3856 4.44995 10.0498 4.78574 10.0498 5.19995C10.0498 5.61416 10.3856 5.94995 10.7998 5.94995Z\"/><path d=\"M11.5498 7.30005C11.5498 7.71426 11.214 8.05005 10.7998 8.05005C10.3856 8.05005 10.0498 7.71426 10.0498 7.30005C10.0498 6.88584 10.3856 6.55005 10.7998 6.55005C11.214 6.55005 11.5498 6.88584 11.5498 7.30005Z\"/><path d=\"M10.7998 10.1499C11.214 10.1499 11.5498 9.81412 11.5498 9.3999C11.5498 8.98569 11.214 8.6499 10.7998 8.6499C10.3856 8.6499 10.0498 8.98569 10.0498 9.3999C10.0498 9.81412 10.3856 10.1499 10.7998 10.1499Z\"/><path d=\"M11.5498 11.5C11.5498 11.9142 11.214 12.25 10.7998 12.25C10.3856 12.25 10.0498 11.9142 10.0498 11.5C10.0498 11.0858 10.3856 10.75 10.7998 10.75C11.214 10.75 11.5498 11.0858 11.5498 11.5Z\"/><path d=\"M8.7002 4.55005C9.11441 4.55005 9.4502 4.21426 9.4502 3.80005C9.4502 3.38584 9.11441 3.05005 8.7002 3.05005C8.28598 3.05005 7.9502 3.38584 7.9502 3.80005C7.9502 4.21426 8.28598 4.55005 8.7002 4.55005Z\"/><path d=\"M7.34961 7.30005C7.34961 7.71426 7.01382 8.05005 6.59961 8.05005C6.1854 8.05005 5.84961 7.71426 5.84961 7.30005C5.84961 6.88584 6.1854 6.55005 6.59961 6.55005C7.01382 6.55005 7.34961 6.88584 7.34961 7.30005Z\"/><path d=\"M8.7002 6.6499C9.11441 6.6499 9.4502 6.31412 9.4502 5.8999C9.4502 5.48569 9.11441 5.1499 8.7002 5.1499C8.28598 5.1499 7.9502 5.48569 7.9502 5.8999C7.9502 6.31412 8.28598 6.6499 8.7002 6.6499Z\"/><path d=\"M7.34961 5.19995C7.34961 5.61416 7.01382 5.94995 6.59961 5.94995C6.1854 5.94995 5.84961 5.61416 5.84961 5.19995C5.84961 4.78574 6.1854 4.44995 6.59961 4.44995C7.01382 4.44995 7.34961 4.78574 7.34961 5.19995Z\"/><path d=\"M8.7002 8.75C9.11441 8.75 9.4502 8.41421 9.4502 8C9.4502 7.58579 9.11441 7.25 8.7002 7.25C8.28598 7.25 7.9502 7.58579 7.9502 8C7.9502 8.41421 8.28598 8.75 8.7002 8.75Z\"/><path d=\"M5.25 3.80005C5.25 4.21426 4.91421 4.55005 4.5 4.55005C4.08579 4.55005 3.75 4.21426 3.75 3.80005C3.75 3.38584 4.08579 3.05005 4.5 3.05005C4.91421 3.05005 5.25 3.38584 5.25 3.80005Z\"/><path d=\"M9.51195 0.398918C8.0086 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM7.95322 1.75018C7.96139 1.84081 7.98602 1.92955 8.02626 2.01195C8.08507 2.13238 8.17507 2.23484 8.2869 2.30869C8.39873 2.38255 8.52831 2.42508 8.66215 2.43188C8.796 2.43868 8.92922 2.40949 9.04795 2.34735C9.16669 2.28521 9.26661 2.19239 9.33732 2.07854C9.36983 2.02619 9.39561 1.97028 9.41428 1.91212C9.856 2.01473 10.2833 2.16467 10.6893 2.35818C10.3275 2.41161 10.0498 2.72343 10.0498 3.1001C10.0498 3.51431 10.3856 3.8501 10.7998 3.8501C11.214 3.8501 11.5498 3.51431 11.5498 3.1001C11.5498 3.00058 11.5304 2.90559 11.4952 2.8187C11.8254 3.04143 12.1351 3.29626 12.4194 3.58059C12.4912 3.65234 12.561 3.72571 12.629 3.80061C12.3489 3.90937 12.1504 4.1815 12.1504 4.5C12.1504 4.91421 12.4862 5.25 12.9004 5.25C13.1304 5.25 13.3362 5.14645 13.4738 4.98342C13.7818 5.54229 14.0041 6.14805 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.7327 10.492 13.6887 10.591 13.6422 10.6886C13.5883 10.3272 13.2767 10.05 12.9004 10.05C12.4862 10.05 12.1504 10.3858 12.1504 10.8C12.1504 11.2143 12.4862 11.55 12.9004 11.55C12.9996 11.55 13.0942 11.5308 13.1809 11.4958C12.7294 12.165 12.1501 12.7438 11.4723 13.1967L11.4439 13.2156C11.3129 12.9967 11.0735 12.8501 10.7998 12.8501C10.3856 12.8501 10.0498 13.1859 10.0498 13.6001C10.0498 13.7008 10.0697 13.7969 10.1057 13.8846C9.43348 14.1251 8.72147 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C3.49007 3.49988 4.46619 2.6988 5.60823 2.22576C6.35565 1.91617 7.15216 1.75618 7.95322 1.75018Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-world__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { BentoButtonActionsList } from '@/core/components/button-actions/button-actions.types';\nimport { VueNodeElement } from '@/types';\n\nimport BagIcon from '@adyen/ui-assets-icons-16/vue/bag';\nimport CarIcon from '@adyen/ui-assets-icons-16/vue/car';\nimport CashStackIcon from '@adyen/ui-assets-icons-16/vue/cash-stack';\nimport CloudIcon from '@adyen/ui-assets-icons-16/vue/cloud';\nimport DiamondIcon from '@adyen/ui-assets-icons-16/vue/diamond';\nimport EducationIcon from '@adyen/ui-assets-icons-16/vue/education';\nimport EmoticonHappyIcon from '@adyen/ui-assets-icons-16/vue/emoticon-happy';\nimport HotelIcon from '@adyen/ui-assets-icons-16/vue/gambling';\nimport GamingIcon from '@adyen/ui-assets-icons-16/vue/gaming';\nimport GiftIcon from '@adyen/ui-assets-icons-16/vue/gift';\nimport HandRockIcon from '@adyen/ui-assets-icons-16/vue/hand-rock';\nimport HashtagIcon from '@adyen/ui-assets-icons-16/vue/hashtag';\nimport HeartIcon from '@adyen/ui-assets-icons-16/vue/heart';\nimport HospitalityIcon from '@adyen/ui-assets-icons-16/vue/hospitality';\nimport HourglassIcon from '@adyen/ui-assets-icons-16/vue/hourglass';\nimport LeafIcon from '@adyen/ui-assets-icons-16/vue/leaf';\nimport LightningIcon from '@adyen/ui-assets-icons-16/vue/lightning';\nimport LockIcon from '@adyen/ui-assets-icons-16/vue/lock';\nimport NewsIcon from '@adyen/ui-assets-icons-16/vue/news';\nimport NotificationIcon from '@adyen/ui-assets-icons-16/vue/notification';\nimport PrizeIcon from '@adyen/ui-assets-icons-16/vue/prize';\nimport RetailIcon from '@adyen/ui-assets-icons-16/vue/retail';\nimport ShoppingCartIcon from '@adyen/ui-assets-icons-16/vue/shopping-cart';\nimport SleepIcon from '@adyen/ui-assets-icons-16/vue/sleep';\nimport StackIcon from '@adyen/ui-assets-icons-16/vue/stack';\nimport StarIcon from '@adyen/ui-assets-icons-16/vue/star';\nimport SupportIcon from '@adyen/ui-assets-icons-16/vue/support';\nimport TargetIcon from '@adyen/ui-assets-icons-16/vue/target';\nimport ThumbsDownIcon from '@adyen/ui-assets-icons-16/vue/thumb-down';\nimport ThumbsUpIcon from '@adyen/ui-assets-icons-16/vue/thumb-up';\nimport TravelBagIcon from '@adyen/ui-assets-icons-16/vue/travel-bag';\nimport WarningDiamondIcon from '@adyen/ui-assets-icons-16/vue/warning-diamond';\nimport WorldIcon from '@adyen/ui-assets-icons-16/vue/world';\n\n/* Public */\n\nexport type BentoHeaderWithViewsItemIconColor = `${BentoHeaderWithViewsItemIconColorEnum}`;\nexport type BentoHeaderWithViewsItemIcon = `${BentoHeaderWithViewsItemIconEnum}`;\nexport interface BentoHeaderWithViewsItemAdditionalConfig {\n /**\n * Label for an additional view setting (e.g. a checkbox or toggle).\n */\n label: string;\n\n /**\n * Boolean value indicating the state of the additional view setting (e.g. checked or toggled).\n */\n value: boolean;\n}\n\nexport interface BentoHeaderWithViewsItem {\n /**\n * Optional icon to display for the view item.\n */\n icon?: BentoHeaderWithViewsItemIcon;\n\n /**\n * Optional color of the icon for the view item.\n */\n iconColor?: BentoHeaderWithViewsItemIconColor;\n\n /**\n * Text label for the view item.\n */\n label: string;\n\n /**\n * Optional boolean indicating if this view item is the default or currently active view.\n */\n isDefault?: boolean;\n\n /**\n * Optional configuration for an additional view setting, such as a filter or option.\n */\n additionalViewSetting?: BentoHeaderWithViewsItemAdditionalConfig;\n}\n\nexport interface BentoHeaderWithViewsProps {\n /**\n * Optional list of actions (buttons) to display in the header.\n * The structure of each action is defined by the `BentoButtonActionsList` type.\n */\n actions?: BentoButtonActionsList;\n\n /**\n * Optional secondary description text to display below the title.\n */\n description?: string;\n\n /**\n * Main title text for the header. This prop is required.\n */\n title: string;\n\n /**\n * Optional array of view items to display as selectable views or tabs.\n * Each item's structure is defined by the `BentoHeaderWithViewsItem` interface.\n */\n views?: BentoHeaderWithViewsItem[];\n\n /**\n * Optional configuration for an additional view setting, such as a filter or option.\n * Defined by the `BentoHeaderWithViewsItemAdditionalConfig` interface.\n */\n additionalViewSetting?: BentoHeaderWithViewsItemAdditionalConfig;\n\n /**\n * Boolean indicating whether there are unsaved changes on the page.\n * This might be used to visually indicate to the user that they need to save their work.\n */\n hasChanges: boolean;\n\n /**\n * String indicating whether to display a prompt, reminding the user to save their changes whenever they switch view tabs.\n * If null, no prompt is shown and changes will always be restored to it's previous settings on view tab change.\n */\n skipUnsavedChangesText: string | null;\n}\n\nexport interface BentoHeaderWithViewsItemUpdate {\n newViews: BentoHeaderWithViewsItem[];\n oldViews: BentoHeaderWithViewsItem[];\n targetViewLabel: BentoHeaderWithViewsItem['label'];\n}\n\n/* Private */\n\nexport enum BentoHeaderWithViewsItemIconColorEnum {\n BLUE = 'blue',\n GREEN = 'green',\n ORANGE = 'orange',\n PRIMARY = 'primary',\n RED = 'red',\n YELLOW = 'yellow',\n}\n\nexport enum BentoHeaderWithViewsItemIconEnum {\n STACK = 'stack',\n LEAF = 'leaf',\n HAND_ROCK = 'hand-rock',\n CAR = 'car',\n EDUCATION = 'education',\n HOTEL = 'hotel',\n TRAVEL_BAG = 'travel-bag',\n LIGHTNING = 'lightning',\n NEWS = 'news',\n PRIZE = 'prize',\n LOCK = 'lock',\n BAG = 'bag',\n DIAMOND = 'diamond',\n TARGET = 'target',\n GIFT = 'gift',\n CASH_STACK = 'cash-stack',\n HASHTAG = 'hashtag',\n CLOUD = 'cloud',\n HOSPITALITY = 'hospitality',\n SHOPPING_CART = 'shopping-cart',\n SLEEP = 'sleep',\n NOTIFICATION = 'notification',\n THUMBS_UP = 'thumb-up',\n THUMBS_DOWN = 'thumb-down',\n STAR = 'star',\n WARNING_DIAMOND = 'warning-diamond',\n RETAIL = 'retail',\n EMOTICON_HAPPY = 'emoticon-happy',\n GAMING = 'gaming',\n SUPPORT = 'support',\n HEART = 'heart',\n HOURGLASS = 'hourglass',\n WORLD = 'world',\n}\n\nexport const BentoHeaderWithViewsItemIconElement: Record<BentoHeaderWithViewsItemIcon, VueNodeElement> = {\n [BentoHeaderWithViewsItemIconEnum.STACK]: StackIcon,\n [BentoHeaderWithViewsItemIconEnum.LEAF]: LeafIcon,\n [BentoHeaderWithViewsItemIconEnum.HAND_ROCK]: HandRockIcon,\n [BentoHeaderWithViewsItemIconEnum.CAR]: CarIcon,\n [BentoHeaderWithViewsItemIconEnum.EDUCATION]: EducationIcon,\n [BentoHeaderWithViewsItemIconEnum.HOTEL]: HotelIcon,\n [BentoHeaderWithViewsItemIconEnum.TRAVEL_BAG]: TravelBagIcon,\n [BentoHeaderWithViewsItemIconEnum.LIGHTNING]: LightningIcon,\n [BentoHeaderWithViewsItemIconEnum.NEWS]: NewsIcon,\n [BentoHeaderWithViewsItemIconEnum.PRIZE]: PrizeIcon,\n [BentoHeaderWithViewsItemIconEnum.LOCK]: LockIcon,\n [BentoHeaderWithViewsItemIconEnum.BAG]: BagIcon,\n [BentoHeaderWithViewsItemIconEnum.DIAMOND]: DiamondIcon,\n [BentoHeaderWithViewsItemIconEnum.TARGET]: TargetIcon,\n [BentoHeaderWithViewsItemIconEnum.GIFT]: GiftIcon,\n [BentoHeaderWithViewsItemIconEnum.CASH_STACK]: CashStackIcon,\n [BentoHeaderWithViewsItemIconEnum.HASHTAG]: HashtagIcon,\n [BentoHeaderWithViewsItemIconEnum.CLOUD]: CloudIcon,\n [BentoHeaderWithViewsItemIconEnum.HOSPITALITY]: HospitalityIcon,\n [BentoHeaderWithViewsItemIconEnum.SHOPPING_CART]: ShoppingCartIcon,\n [BentoHeaderWithViewsItemIconEnum.SLEEP]: SleepIcon,\n [BentoHeaderWithViewsItemIconEnum.NOTIFICATION]: NotificationIcon,\n [BentoHeaderWithViewsItemIconEnum.THUMBS_UP]: ThumbsUpIcon,\n [BentoHeaderWithViewsItemIconEnum.THUMBS_DOWN]: ThumbsDownIcon,\n [BentoHeaderWithViewsItemIconEnum.STAR]: StarIcon,\n [BentoHeaderWithViewsItemIconEnum.WARNING_DIAMOND]: WarningDiamondIcon,\n [BentoHeaderWithViewsItemIconEnum.RETAIL]: RetailIcon,\n [BentoHeaderWithViewsItemIconEnum.EMOTICON_HAPPY]: EmoticonHappyIcon,\n [BentoHeaderWithViewsItemIconEnum.GAMING]: GamingIcon,\n [BentoHeaderWithViewsItemIconEnum.SUPPORT]: SupportIcon,\n [BentoHeaderWithViewsItemIconEnum.HEART]: HeartIcon,\n [BentoHeaderWithViewsItemIconEnum.HOURGLASS]: HourglassIcon,\n [BentoHeaderWithViewsItemIconEnum.WORLD]: WorldIcon,\n};\n\nexport interface BentoHeaderWithViewsEmits {\n /**\n * Emitted when a new view is added to the list of views.\n */\n (e: 'add:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when a view is deleted from the list of views.\n */\n (e: 'delete:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when a view is duplicated.\n */\n (e: 'duplicate:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when the user reorganises the order of the views.\n * No `targetViewLabel` is emitted as the views are reordered as a whole.\n */\n (e: 'reorder:view', value: Omit<BentoHeaderWithViewsItemUpdate, 'targetViewLabel'>): void;\n\n /**\n * Emitted when the user requests to restore a previously saved or default view.\n */\n (e: 'restore:view', value: BentoHeaderWithViewsItem['label']): void;\n\n /**\n * Emitted when the user requests to save the current view.\n */\n (e: 'save:view', value: BentoHeaderWithViewsItem['label']): void;\n\n /**\n * Emitted when the user selects a different view from the available options.\n */\n (e: 'select:view', value: BentoHeaderWithViewsItem['label']): void;\n\n /**\n * Emitted when a property of a view is updated.\n */\n (e: 'update:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when the user selects the prompt checkbox and closes the modal with a valid button action.\n * Only works when a string is pass into the `skipUnsavedChangesText` prop.\n */\n (e: 'update:skip-unsaved-changes', value: boolean): void;\n}\n\nexport type BentoHeaderWithViewsItemErrors = {\n /**\n * Object where the keys correspond to the properties of `BentoHeaderWithViewsItem`,\n * and the values are strings representing any validation errors for that property.\n */\n [K in keyof BentoHeaderWithViewsItem]: string;\n};\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5 4C5.29667 4 5.58668 3.91203 5.83335 3.74721C6.08003 3.58238 6.27229 3.34811 6.38582 3.07403C6.49935 2.79994 6.52906 2.49834 6.47118 2.20737C6.4133 1.91639 6.27044 1.64912 6.06066 1.43934C5.85088 1.22956 5.58361 1.0867 5.29263 1.02882C5.00166 0.970945 4.70006 1.00065 4.42598 1.11418C4.15189 1.22771 3.91762 1.41997 3.7528 1.66665C3.58797 1.91332 3.5 2.20333 3.5 2.5C3.5 2.89783 3.65804 3.27936 3.93934 3.56066C4.22065 3.84197 4.60218 4 5 4Z\"/><path fill=\"#001222\" d=\"M5.83335 14.7472C5.58668 14.912 5.29667 15 5 15C4.60218 15 4.22065 14.842 3.93934 14.5607C3.65804 14.2794 3.5 13.8978 3.5 13.5C3.5 13.2033 3.58797 12.9133 3.7528 12.6666C3.91762 12.42 4.15189 12.2277 4.42598 12.1142C4.70006 12.0007 5.00166 11.9709 5.29263 12.0288C5.58361 12.0867 5.85088 12.2296 6.06066 12.4393C6.27044 12.6491 6.4133 12.9164 6.47118 13.2074C6.52906 13.4983 6.49935 13.7999 6.38582 14.074C6.27229 14.3481 6.08003 14.5824 5.83335 14.7472Z\"/><path fill=\"#001222\" d=\"M11.8334 14.7472C11.5867 14.912 11.2967 15 11 15C10.6022 15 10.2206 14.842 9.93934 14.5607C9.65803 14.2794 9.5 13.8978 9.5 13.5C9.5 13.2033 9.58797 12.9133 9.7528 12.6666C9.91762 12.42 10.1519 12.2277 10.426 12.1142C10.7001 12.0007 11.0017 11.9709 11.2926 12.0288C11.5836 12.0867 11.8509 12.2296 12.0607 12.4393C12.2704 12.6491 12.4133 12.9164 12.4712 13.2074C12.5291 13.4983 12.4993 13.7999 12.3858 14.074C12.2723 14.3481 12.08 14.5824 11.8334 14.7472Z\"/><path fill=\"#001222\" d=\"M11.8334 3.74721C11.5867 3.91203 11.2967 4 11 4C10.6022 4 10.2206 3.84197 9.93934 3.56066C9.65803 3.27936 9.5 2.89783 9.5 2.5C9.5 2.20333 9.58797 1.91332 9.7528 1.66665C9.91762 1.41997 10.1519 1.22771 10.426 1.11418C10.7001 1.00065 11.0017 0.970945 11.2926 1.02882C11.5836 1.0867 11.8509 1.22956 12.0607 1.43934C12.2704 1.64912 12.4133 1.91639 12.4712 2.20737C12.5291 2.49834 12.4993 2.79994 12.3858 3.07403C12.2723 3.34811 12.08 3.58238 11.8334 3.74721Z\"/><path fill=\"#001222\" d=\"M5 9.5C5.29667 9.5 5.58668 9.41203 5.83335 9.24721C6.08003 9.08238 6.27229 8.84811 6.38582 8.57403C6.49935 8.29994 6.52906 7.99834 6.47118 7.70737C6.4133 7.41639 6.27044 7.14912 6.06066 6.93934C5.85088 6.72956 5.58361 6.5867 5.29263 6.52882C5.00166 6.47094 4.70006 6.50065 4.42598 6.61418C4.15189 6.72771 3.91762 6.91997 3.7528 7.16665C3.58797 7.41332 3.5 7.70333 3.5 8C3.5 8.39783 3.65804 8.77936 3.93934 9.06066C4.22065 9.34197 4.60218 9.5 5 9.5Z\"/><path fill=\"#001222\" d=\"M11.8334 9.24721C11.5867 9.41203 11.2967 9.5 11 9.5C10.6022 9.5 10.2206 9.34197 9.93934 9.06066C9.65803 8.77936 9.5 8.39783 9.5 8C9.5 7.70333 9.58797 7.41332 9.7528 7.16665C9.91762 6.91997 10.1519 6.72771 10.426 6.61418C10.7001 6.50065 11.0017 6.47094 11.2926 6.52882C11.5836 6.5867 11.8509 6.72956 12.0607 6.93934C12.2704 7.14912 12.4133 7.41639 12.4712 7.70737C12.5291 7.99834 12.4993 8.29994 12.3858 8.57403C12.2723 8.84811 12.08 9.08238 11.8334 9.24721Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.25 2.58325H14.75V4.08325H1.25V2.58325Z\"/><path fill=\"#001222\" d=\"M1.25 7.25H14.75V8.75H1.25V7.25Z\"/><path fill=\"#001222\" d=\"M14.75 11.9167H1.25V13.4167H14.75V11.9167Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { useI18n } from '@/utils/ts/i18n';\nimport { computed, reactive, ref } from 'vue';\nimport {\n BentoHeaderWithViewsItem,\n BentoHeaderWithViewsItemAdditionalConfig,\n BentoHeaderWithViewsItemErrors,\n BentoHeaderWithViewsItemIconColorEnum,\n BentoHeaderWithViewsItemIconEnum,\n BentoHeaderWithViewsItemUpdate,\n} from '../../header-with-views.types';\n\ninterface UseEditViewsProps {\n additionalViewSetting: BentoHeaderWithViewsItemAdditionalConfig | null;\n views: BentoHeaderWithViewsItem[];\n}\n\n/**\n * Composable function to create, edit, update and delete (CRUD) configurations in views.\n *\n * @param options - Configuration object for the CRUD functionality.\n * @returns An object containing reactive state and handler functions for CRUD.\n */\nexport const useEditViews = (options: UseEditViewsProps) => {\n const views = ref<BentoHeaderWithViewsItem[]>(options.views);\n const errors = reactive<BentoHeaderWithViewsItemErrors>({ label: '' });\n\n const { t } = useI18n();\n\n const computedViews = computed<BentoHeaderWithViewsItem[]>(() =>\n views.value.map(viewItem => ({\n ...viewItem,\n\n iconColor: viewItem.iconColor ?? BentoHeaderWithViewsItemIconColorEnum.PRIMARY,\n icon: viewItem.icon ?? BentoHeaderWithViewsItemIconEnum.STACK,\n label: viewItem.label,\n\n ...(viewItem.isDefault !== null ? { isDefault: viewItem.isDefault } : null),\n\n ...(options?.additionalViewSetting\n ? {\n additionalViewSetting: {\n label: options.additionalViewSetting.label,\n value: viewItem.additionalViewSetting?.value ?? options.additionalViewSetting.value,\n },\n }\n : []),\n }))\n );\n\n /**\n * Adds, updates, or deletes a view item based on the provided data and index.\n * If `index` is provided and `data` is `null`, the view at `index` is deleted.\n * If `index` is provided and `data` is an object, the view at `index` is updated with `data`.\n * If `index` is not provided, a new view is added using `data`.\n * @param data - The partial data for the view item to add or update, or `null` to delete.\n * @param index - The optional index of the view item to update or delete.\n */\n const updateView = (data: Partial<BentoHeaderWithViewsItem>, index?: number): BentoHeaderWithViewsItemUpdate => {\n let newViews = [...views.value];\n const oldViews = [...views.value];\n\n let targetViewLabel: BentoHeaderWithViewsItem['label'];\n\n if (newViews[index]) {\n if (!data) {\n // delete\n newViews.splice(index, 1);\n\n targetViewLabel = oldViews[index].label;\n } else {\n // there can only be one default view - remove default view from all other views\n if (data.isDefault) {\n newViews = newViews.map(view => (view.isDefault ? { ...view, isDefault: false } : view));\n }\n\n // update\n newViews[index] = {\n ...newViews[index],\n ...data,\n };\n\n targetViewLabel = newViews[index].label;\n }\n } else {\n // add\n newViews.push(data as BentoHeaderWithViewsItem);\n\n targetViewLabel = data.label;\n }\n\n views.value = [...newViews];\n\n return {\n newViews: views.value,\n oldViews,\n targetViewLabel,\n };\n };\n\n /**\n * Duplicates a view item at the given index, appending a numerical suffix to its label to ensure uniqueness.\n * @param index - The index of the view item to duplicate.\n */\n const duplicateView = (index: number): BentoHeaderWithViewsItemUpdate => {\n const toCopyLabel = computedViews.value[index].label;\n\n let copiedLabel = `(1) - ${toCopyLabel}`;\n let suffix = 1;\n\n while (computedViews.value.some(view => view.label === copiedLabel)) {\n suffix++;\n copiedLabel = `(${suffix}) - ${computedViews.value[index].label}`;\n }\n\n const newView = {\n ...computedViews.value[index],\n label: copiedLabel,\n };\n\n // for duplicates, our target is the view that users want to duplicate\n // instead of the duplicated label\n return {\n ...updateView(newView),\n targetViewLabel: toCopyLabel,\n };\n };\n\n /**\n * Replaces the current list of views with a new array of views.\n * @param newViews - The new array of `BentoHeaderWithViewsItem` to set as the current views.\n * @returns An object containing the `oldViews` (the state before the update) and `newViews` (the new state).\n */\n const setViews = (newViews: BentoHeaderWithViewsItem[]) => {\n const oldViews = views.value;\n\n views.value = newViews;\n\n return { oldViews, newViews };\n };\n\n /** Clears any validation errors related to the view label. */\n const clearError = () => {\n errors.label = '';\n };\n\n /**\n * Validates the provided label for a view item.\n * Sets an error message if the label is empty or if it already exists among other views (excluding the view at the given index).\n * @param value - The label string to validate.\n * @param index - The index of the view item being validated (used to exclude itself from uniqueness checks).\n */\n const validateLabel = (value: BentoHeaderWithViewsItem['label'], index: number) => {\n const labelIsRequired = value.trim().length === 0;\n const labelAlreadyExist = computedViews.value.some(\n (view, viewIndex) => view.label === value && index !== viewIndex\n );\n\n if (labelIsRequired) {\n errors.label = t('labelRequiredError');\n } else if (labelAlreadyExist) {\n errors.label = t('labelNoDuplicateError');\n } else {\n clearError();\n }\n };\n\n return {\n // read\n computedViews,\n errors,\n\n // modify\n clearError,\n duplicateView,\n setViews,\n updateView,\n\n // validations\n validateLabel,\n };\n};\n","import { useEventListener } from '@/directives/click-outside/useEventListener';\nimport { Ref, ref } from 'vue';\nimport { BentoHeaderWithViewsItem, BentoHeaderWithViewsProps } from '../../header-with-views.types';\n\nexport enum UseDragAndDropViewsDirectionEnum {\n UP = 'up',\n DOWN = 'down',\n}\n\ninterface UseDragAndDropViewsProps {\n itemRefs: Ref<HTMLElement[]>;\n items: Ref<BentoHeaderWithViewsProps['views']>;\n onDrop: (value: BentoHeaderWithViewsItem[]) => void;\n}\n\n/**\n * Composable function for implementing drag and drop reordering of views.\n *\n * Requires HTML to have\n * - data-drag-trigger - interactive element that initializes the drag-and-drop\n * - data-drag-item - element that will be dragged\n *\n * @param options - Configuration object for the drag and drop functionality.\n * @returns An object containing reactive state and handler functions for drag and drop.\n */\nexport const useDragAndDropViews = (options: UseDragAndDropViewsProps) => {\n const { itemRefs, items, onDrop } = options;\n\n const animationFrameId = ref<number>(null);\n const draggedViewIndex = ref<number>(null); // track which view item is being dragged\n const dragMousePosition = ref<number>(0); // track the place where the drag started\n const dragKeyboardInitiated = ref<boolean>(false); // track if the drag has been initiated by keyboard\n const dragOffset = ref<number>(0); // track the height of the dragged item - all draggable items have the same height\n const draggingOverViewIndex = ref<number>(null); // track which view item is being hovered over after drag started\n const maxDragOffsetY = ref<number>(0); // track bottom-most draggable location\n const minDragOffsetY = ref<number>(0); // track top-most draggable location\n\n const menuItemsElementRects = ref<Pick<DOMRect, 'top' | 'bottom' | 'height'>[]>([]);\n\n /*\n * Public functions\n */\n\n /**\n * Checks if a specific item is currently being dragged.\n * @param index The index of the item to check.\n * @returns `true` if the item at the given index is being dragged, `false` otherwise.\n */\n const isItemDragged = (index: number) => draggedViewIndex.value === index;\n\n /**\n * Initiates the drag operation. This function is called when a drag is started\n * either by a mouse click and drag or by a keyboard action. It sets up the\n * initial state for the drag operation, including the dragged item's index,\n * its dimensions, and the boundaries for movement.\n * @param index The index of the item that is being dragged.\n * @param event The MouseEvent or KeyboardEvent that triggered the drag start.\n */\n const handleDragStart = (index: number, event: MouseEvent | KeyboardEvent) => {\n if (!(event.target as HTMLElement).closest('[data-drag-trigger]')) {\n // skip if the grab icon button isn't the target\n return;\n }\n\n draggedViewIndex.value = index;\n\n updateMenuItemsRects();\n\n // Store the initial offset of the mouse pointer within the dragged element\n const draggedElement = itemRefs.value[index];\n\n if (!draggedElement) {\n return;\n }\n\n if (typeof (event as MouseEvent).clientY === 'number') {\n // clientY only exist on MouseEvent\n\n dragMousePosition.value = (event as MouseEvent).clientY;\n } else if (typeof (event as KeyboardEvent).key === 'string') {\n // clientY only exist on KeyboardEvent\n\n dragKeyboardInitiated.value = true;\n }\n\n dragOffset.value = draggedElement.clientHeight;\n\n // since all the height of the items are the same,\n // how far the dragged item can go is determined by checking it's current index and multiplying it\n maxDragOffsetY.value = dragOffset.value * (itemRefs.value.length - index - 1); // how far down the dragged item can go\n minDragOffsetY.value = -(dragOffset.value * index); // how far top the dragged item can go\n\n // ensure that the grab is shown even if user is outside of the popover\n document.documentElement.style.cursor = 'grabbing';\n document.documentElement.style.userSelect = 'none';\n };\n\n /**\n * Toggles the keyboard-initiated drag state. If a drag is not active, it starts one.\n * If a drag is already active (initiated by keyboard), it finalizes the drag operation\n * by calling `handleDrop`. This function is typically bound to an \"Enter\" key press.\n * @param index The index of the item to toggle drag for.\n * @param event The KeyboardEvent that triggered the toggle.\n */\n const handleDragKeyboardToggle = (index: number, event: KeyboardEvent) => {\n if (!dragKeyboardInitiated.value) {\n draggingOverViewIndex.value = index;\n\n handleDragStart(index, event);\n\n return;\n }\n\n handleDrop();\n };\n\n /**\n * Handles keyboard-driven movement of a dragged item. This function is called\n * when arrow keys (up/down) are pressed during a keyboard-initiated drag.\n * It updates the `draggingOverViewIndex` and visually transforms the elements\n * to simulate movement.\n * @param direction The direction of movement ('up' or 'down').\n * @param event The KeyboardEvent that triggered the move.\n */\n const handleDragKeyboardMove = (direction: `${UseDragAndDropViewsDirectionEnum}`, event: KeyboardEvent) => {\n if (!dragKeyboardInitiated.value) {\n return;\n }\n\n // prevent scrolling\n event.preventDefault();\n\n // scenarios to cover:\n // 1. dragging an item to the bottom\n // 2. dragging an item to the bottom and back up\n // 3. dragging an item to the top\n // 4. dragging an item to the top and back down\n // 5. dragging an item in place\n\n const upperBound = itemRefs.value.length - 1;\n const lowerBound = 0;\n const isGoingDownwards = direction === UseDragAndDropViewsDirectionEnum.DOWN;\n const isGoingUpwards = direction === UseDragAndDropViewsDirectionEnum.UP;\n\n // covers case 5 - up or down is pressed when the item is at the extremes\n if (\n (isGoingUpwards && draggingOverViewIndex.value === lowerBound) ||\n (isGoingDownwards && draggingOverViewIndex.value === upperBound)\n ) {\n return;\n }\n\n let targetElementIndex = draggingOverViewIndex.value + 1;\n\n if (isGoingUpwards) {\n targetElementIndex = draggingOverViewIndex.value - 1;\n }\n\n const isTargetAfterDragged = draggedViewIndex.value < targetElementIndex;\n const isTargetBeforeDragged = draggedViewIndex.value > targetElementIndex;\n\n // Indicators for when case 2 and 4 occurs\n const isDirectionReversed =\n (isGoingDownwards && isTargetBeforeDragged) ||\n (isGoingUpwards && isTargetAfterDragged) ||\n // This doesn't typically need transformation, but in a \"reversed\" direction,\n // it may potentially need to pass through it's original position\n draggedViewIndex.value === targetElementIndex;\n\n if (targetElementIndex > upperBound || targetElementIndex < lowerBound) {\n return;\n }\n\n const updateDraggedElementTransform = () => {\n const draggedElement = itemRefs.value[draggedViewIndex.value];\n const offset = clampTransform((draggingOverViewIndex.value - draggedViewIndex.value) * dragOffset.value);\n\n draggedElement.style.transform = `translateY(${offset}px)`;\n };\n\n const updateTargetElementTransform = () => {\n const targetElement = itemRefs.value[draggingOverViewIndex.value];\n const targetElementOffset = isGoingDownwards ? -dragOffset.value : dragOffset.value;\n\n targetElement.style.transform = isDirectionReversed\n ? 'translateY(0px)'\n : `translateY(${targetElementOffset}px)`;\n };\n\n if (!isDirectionReversed) {\n // normal reorder - case 1, 3\n draggingOverViewIndex.value = targetElementIndex;\n updateDraggedElementTransform();\n updateTargetElementTransform();\n\n return;\n }\n\n // revert reorder - case 2, 4\n updateTargetElementTransform();\n draggingOverViewIndex.value = targetElementIndex;\n updateDraggedElementTransform();\n };\n\n /**\n * Stops the drag operation and resets the UI and internal state.\n * This function is called when the drag is completed (e.g., mouse button released,\n * or keyboard drag finalized). It also cleans up any applied CSS transforms.\n * @param event Optional KeyboardEvent that triggered the drag stop.\n */\n const handleDragStop = (event?: KeyboardEvent) => {\n if (event && dragKeyboardInitiated.value) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n animationFrameId.value = requestAnimationFrame(() => {\n itemRefs.value.forEach(menuItem => {\n const el = menuItem;\n\n el.style.transform = '';\n });\n\n animationFrameId.value = null;\n });\n\n // Reset drag pointer events\n draggingOverViewIndex.value = null;\n draggedViewIndex.value = null;\n\n // Reset drag UI\n document.documentElement.style.cursor = '';\n document.documentElement.style.userSelect = '';\n\n // Reset drag keyboard events\n dragKeyboardInitiated.value = null;\n };\n\n /*\n * Private functions\n */\n\n const handleDragMove = (event: MouseEvent) => {\n // skip if drag and drop is initiated by keyboard\n if (draggedViewIndex.value === null || animationFrameId.value || dragKeyboardInitiated.value) {\n return;\n }\n\n animationFrameId.value = requestAnimationFrame(() => {\n const mousePosition = event.clientY;\n const overItemIndex = menuItemsElementRects.value.findIndex(\n (rect, index) =>\n (mousePosition >= rect.top && mousePosition <= rect.bottom) ||\n (mousePosition <= rect.top && index === 0) ||\n (mousePosition >= rect.bottom && index === menuItemsElementRects.value.length - 1)\n );\n\n if (overItemIndex !== -1 && overItemIndex !== draggingOverViewIndex.value) {\n draggingOverViewIndex.value = overItemIndex;\n }\n\n updateDragPosition(mousePosition);\n\n animationFrameId.value = null;\n });\n };\n\n const handleDrop = () => {\n if (draggedViewIndex.value === null) {\n return;\n }\n\n const draggedElement = itemRefs.value[draggedViewIndex.value];\n\n if (!draggedElement) {\n return;\n }\n\n // check if there are shifts\n // handle case where the item is dragged around but placed back into it's original position\n const isNotShifted = draggedViewIndex.value === draggingOverViewIndex.value;\n\n if (isNotShifted) {\n handleDragStop();\n\n return;\n }\n\n // re-order the menu items\n const draggedItem = items.value[draggedViewIndex.value];\n const newMenuItems = [...items.value];\n\n newMenuItems.splice(draggedViewIndex.value, 1);\n newMenuItems.splice(draggingOverViewIndex.value, 0, draggedItem);\n\n transferFocus();\n handleDragStop();\n\n onDrop(newMenuItems);\n };\n\n const updateDragPosition = (mousePosition: number) => {\n // 1. set the current \"dragged\" item's position so that it looks like it is dragged\n const draggedElement = itemRefs.value[draggedViewIndex.value];\n\n if (!draggedElement) {\n return;\n }\n\n draggedElement.style.transform = `translateY(${clampTransform(mousePosition - dragMousePosition.value)}px)`;\n\n const threshold = 0.25;\n const isGoingDownwards = draggedViewIndex.value < draggingOverViewIndex.value;\n const isGoingUpwards = draggedViewIndex.value > draggingOverViewIndex.value;\n\n // 2. loop through every item in the menu and transform them\n for (let i = 0; i < menuItemsElementRects.value.length; i++) {\n if (i === draggedViewIndex.value) {\n continue;\n }\n\n const targetElement = itemRefs.value[i];\n const targetElementRect = menuItemsElementRects.value[i];\n\n const distanceFromTop = mousePosition - targetElementRect.top;\n const percentFromTop = distanceFromTop / targetElementRect.height;\n\n // scenarios to cover when optimisation is needed:\n // 1. dragging an item to the bottom\n // 2. dragging an item to the bottom and without releasing, back up\n // 3. dragging an item to the top\n // 4. dragging an item to the top and without releasing, back down\n // 5. dragging an item in place\n if (percentFromTop >= threshold && isGoingDownwards) {\n // covers scenario 1\n\n if (i < draggedViewIndex.value) {\n // avoid transforming an untouched item\n continue;\n }\n\n targetElement.style.transform = `translateY(-${dragOffset.value}px)`;\n } else if (percentFromTop <= 1 - threshold && isGoingUpwards) {\n // covers scenario 3\n\n if (i > draggedViewIndex.value) {\n // avoid transforming an untouched item\n continue;\n }\n\n targetElement.style.transform = `translateY(${dragOffset.value}px)`;\n } else {\n // covers scenario 2, 4, 5\n\n targetElement.style.transform = 'translateY(0px)';\n }\n }\n };\n\n const transferFocus = () => {\n const activeElement = document.activeElement;\n\n if (!activeElement?.closest('[data-drag-item]')) {\n return;\n }\n\n // usually, HTML will blur the item after drag and drop\n // this is used to handle the edge case where users tab onto the grab icon and then switch to using the mouse\n (\n itemRefs.value[draggingOverViewIndex.value]?.querySelector('[data-drag-trigger]') satisfies HTMLElement\n )?.focus();\n };\n\n const clampTransform = (value: number) => {\n return Math.max(minDragOffsetY.value, Math.min(maxDragOffsetY.value, value));\n };\n\n // cache rects to prevent getBoundingClientRect() from being intrusive\n // needed to ensure that mouse outside of the popover still relocates the dragged item\n const updateMenuItemsRects = () => {\n menuItemsElementRects.value = itemRefs.value.map(itemEl => {\n const { top, bottom, height } = itemEl.getBoundingClientRect();\n\n return {\n top,\n bottom,\n height,\n };\n });\n };\n\n useEventListener(document, 'pointermove', handleDragMove);\n useEventListener(document, 'pointerup', handleDrop, { capture: true });\n useEventListener(document, 'keydown', (event: KeyboardEvent) => {\n if (event.key !== 'Tab' || draggedViewIndex.value === null) {\n return;\n }\n\n // prevent user from clicking Tab while drag is initiated\n event.preventDefault();\n });\n useEventListener(document, 'pointerdown', () => {\n // stop drag if it was dragged by keyboard and user changes to use a mouse\n if (dragKeyboardInitiated.value) {\n handleDragStop();\n }\n });\n\n return {\n draggedViewIndex,\n draggingOverViewIndex,\n isItemDragged,\n handleDragKeyboardToggle,\n handleDragKeyboardMove,\n handleDragStart,\n handleDragStop,\n };\n};\n","import { useElementSize } from '@vueuse/core';\nimport { nextTick, Ref, ref, watch } from 'vue';\n\ninterface UseResponsiveViewsProps {\n container: Ref<HTMLElement>;\n children: Ref<HTMLElement[]>;\n offset: Ref<HTMLElement>;\n activeViewIndex: Ref<number>;\n}\n\n/**\n * Composable function for dynamically adjusting the visibility of view elements\n * within a container to ensure the active view remains visible and the total\n * width of displayed views fits within the container's width.\n *\n * @param elements - Configuration object containing refs to the container,\n * view elements, an offset element, and the active view index.\n * @returns An object containing reactive state for the maximum number of\n * views that can be displayed.\n */\nexport const useResponsiveViews = (elements: UseResponsiveViewsProps) => {\n const { container, children, offset, activeViewIndex } = elements;\n\n const maxDisplayedViews = ref<number>(children.value.length);\n\n const { width } = useElementSize(container);\n\n // responsible for calculating the number of views to be shown\n // and to keep the active view shown in the bar\n watch(\n [width, activeViewIndex, children],\n async ([containerWidth, newActiveViewIndex, childrenEl], [, oldActiveViewIndex]) => {\n const numberOfChildren = childrenEl.length;\n\n if (numberOfChildren === 0) {\n return;\n }\n\n // include the any additional spacing or the side buttons\n let totalWidth = offset.value.offsetWidth;\n\n // reset the views to display all views\n maxDisplayedViews.value = numberOfChildren;\n\n // reset any active children\n // case: when user click on a new active view\n // avoid: resetting when only the width changed and the activeIndex stays the same\n const previousActiveChild = childrenEl[oldActiveViewIndex];\n\n if (previousActiveChild) {\n previousActiveChild.style.display = 'none';\n }\n\n // loop through all children and count how many children can fit in the viewport\n for (let index = 0; index < numberOfChildren; index++) {\n const child = childrenEl[index];\n\n // temporarily enabled it so that the width can be obtained\n // `display: none` = 0 width\n child.style.display = 'inline-flex';\n\n if (totalWidth + child.offsetWidth <= containerWidth) {\n totalWidth += child.offsetWidth;\n } else {\n maxDisplayedViews.value = index;\n\n // the algorithms performs a lookahead\n // if the next child, that was enabled previously, does not fit, hide it again\n\n child.style.display = 'none';\n\n break;\n }\n }\n\n // if the active view is already in the bar i.e. users can see, skip\n if (newActiveViewIndex < maxDisplayedViews.value || newActiveViewIndex === null) {\n return;\n }\n\n await nextTick();\n\n // ensure that the active view is always shown in the bar as the last item\n // loops through the items that are shown in the bar, from the end, remove them if they no longer fit\n let index = maxDisplayedViews.value - 1;\n const activeChild = childrenEl[newActiveViewIndex];\n\n activeChild.style.display = 'inline-flex';\n totalWidth += activeChild.offsetWidth;\n\n // if even the active child doesn't fit in the viewport, don't show\n //\n // EDGE CASE: title + action buttons are extremely long\n if (index < 0 && totalWidth > containerWidth) {\n activeChild.style.display = 'none';\n\n return;\n }\n\n // CASE:\n // when the active view is LONGER than most items in the bar,\n // hide as many items as possible until active view fits\n //\n // CASE:\n // when the active view is SHORTER than most items in the bar,\n // show as many as possible until active view fits\n while (totalWidth > containerWidth && index >= 0) {\n const child = children.value[index];\n\n totalWidth -= child.offsetWidth;\n\n child.style.display = 'none';\n\n index--;\n }\n },\n { immediate: true }\n );\n\n // responsible to hide any views that are more than the decided numbers of views\n watch([maxDisplayedViews, () => children.value.length], ([newMaxDisplayedViews, numberOfChildren]) => {\n for (let index = newMaxDisplayedViews; index < numberOfChildren; index++) {\n const child = children.value[index];\n\n child.style.display = 'none';\n }\n });\n\n return {\n maxDisplayedViews,\n };\n};\n","<template>\n <div\n ref=\"allViewsRef\"\n class=\"b-header-with-views-all-views\"\n data-testid=\"header-with-views-all-views\"\n @keydown.esc.stop.prevent=\"closeMenu\"\n >\n <bento-toggle-button\n ref=\"allViewsMenuToggleRef\"\n aria-haspopup=\"true\"\n :aria-expanded=\"showMenu\"\n :aria-controls=\"showMenu ? menuPopoverId : null\"\n variant=\"tertiary\"\n :toggled=\"showMenu\"\n @click=\"toggleShowMenu\"\n >\n <template #iconLeft>\n <menu-icon :svg-title=\"t('toggleAllViews')\" />\n </template>\n </bento-toggle-button>\n\n <bento-popover\n v-if=\"allViewsMenuToggleRef\"\n :id=\"menuPopoverId\"\n ref=\"allViewsMenuPopoverRef\"\n class=\"b-header-with-views-all-views__popover\"\n :open=\"showMenu\"\n :target-element=\"allViewsMenuToggleRef\"\n :fixed-positioning=\"true\"\n :overflow-visible=\"true\"\n position=\"bottom-end\"\n without-space\n >\n <output\n v-if=\"draggedViewIndex !== null && draggingOverViewIndex !== null\"\n class=\"b-header-with-views-all-views__popover-status\"\n >\n {{\n t('movingDraggedToPosition', {\n dragged: menuItems[draggedViewIndex].label,\n draggingOver: menuItems[draggingOverViewIndex].label,\n })\n }}\n </output>\n\n <ul ref=\"menuRef\" class=\"b-header-with-views-all-views__popover-menu\">\n <li\n v-for=\"(item, index) in menuItems\"\n ref=\"menuItemRefs\"\n :key=\"index\"\n data-drag-item\n class=\"b-header-with-views-all-views__popover-menu-item\"\n :class=\"conditionalDraggableItemClass(index)\"\n @pointerdown=\"handleDragStart(index, $event)\"\n >\n <div class=\"b-header-with-views-all-views__popover-menu-item-content\">\n <bento-button\n data-drag-trigger\n class=\"b-header-with-views-all-views__popover-menu-item-button b-header-with-views-all-views__popover-menu-item-button-reorder\"\n variant=\"tertiary\"\n :aria-pressed=\"isItemDragged(index)\"\n @keydown.enter.native=\"handleDragKeyboardToggle(index, $event)\"\n @keydown.space.native=\"handleDragKeyboardToggle(index, $event)\"\n @keydown.down.native=\"handleDragKeyboardMove(UseDragAndDropViewsDirectionEnum.DOWN, $event)\"\n @keydown.up.native=\"handleDragKeyboardMove(UseDragAndDropViewsDirectionEnum.UP, $event)\"\n @keydown.esc.native=\"handleDragStop\"\n >\n <template #iconLeft>\n <grab-icon :svg-title=\"t('reorderView', { label: item.label })\" />\n </template>\n </bento-button>\n\n <bento-button\n data-view-select\n class=\"b-header-with-views-all-views__popover-menu-item-button b-header-with-views-all-views__popover-menu-item-button-select\"\n variant=\"tertiary\"\n @click=\"emit('select:view', index)\"\n >\n <template #iconLeft>\n <span\n class=\"b-header-with-views-all-views__popover-menu-item-button-icon\"\n :class=\"`b-header-with-views-all-views__popover-menu-item-button-icon--${item.iconColor}`\"\n aria-hidden=\"true\"\n >\n <component :is=\"BentoHeaderWithViewsItemIconElement[item.icon]\" />\n </span>\n </template>\n\n <bento-typography\n el=\"span\"\n variant=\"body\"\n class=\"b-header-with-views-all-views__popover-menu-item-button-text\"\n >\n {{ item.label }}\n </bento-typography>\n </bento-button>\n\n <bento-menu\n ref=\"editViewMenuRefs\"\n data-view-menu\n class=\"b-header-with-views-all-views__popover-menu-item-button\"\n :button=\"{ variant: 'tertiary', condensed: true }\"\n :close-on-click-outside-options=\"menuCloseOnClickOutsideOptions\"\n :data=\"menuItemsActions\"\n menu-position=\"right-start\"\n @open=\"emit('open:view-menu', index)\"\n @close=\"emit('close:view-menu', index)\"\n @keydown.tab.native.capture=\"closeViewMenuNatively(index)\"\n >\n <template #iconLeft>\n <options-horizontal-icon :svg-title=\"t('openViewOptions', { label: item.label })\" />\n </template>\n </bento-menu>\n </div>\n </li>\n </ul>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton, BentoToggleButton } from '@/components/button';\n import { BentoHeaderWithViewsItemIconElement } from '@/components/header-with-views/header-with-views.types';\n import { BentoMenu } from '@/components/menu';\n import { BentoPopover } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { useClickOutside } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { useI18n } from '@/utils/ts/i18n';\n import GrabIcon from '@adyen/ui-assets-icons-16/vue/grab';\n import MenuIcon from '@adyen/ui-assets-icons-16/vue/menu';\n import OptionsHorizontalIcon from '@adyen/ui-assets-icons-16/vue/options-horizontal';\n import { nextTick, ref, toRef } from 'vue';\n import { useDragAndDropViews, UseDragAndDropViewsDirectionEnum } from '../../composables';\n import { HeaderWithViewsAllViewsProps } from './header-with-views-all-views.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n menuCloseOnClickOutsideOptions: null,\n menuItems: null,\n menuItemsActions: null\n});\n\n const emit = defineEmits([\"close:all-views\", \"close:view-menu\", \"open:all-views\", \"open:view-menu\", \"select:view\", \"reorder:view\"]);\n\n const showMenu = ref(false);\n const allViewsMenuToggleRef = ref(null);\n const allViewsMenuPopoverRef = ref(null);\n const allViewsRef = ref(null);\n const menuRef = ref(null);\n const menuItemRefs = ref<HTMLElement[]>(null);\n const editViewMenuRefs = ref(null);\n\n const menuPopoverId = generateUid('menu-popover');\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n useClickOutside(allViewsMenuPopoverRef, () => closeMenu(), {\n ignore: [allViewsMenuToggleRef, ...(props.menuCloseOnClickOutsideOptions?.ignore ?? [])],\n });\n\n const openMenu = () => {\n showMenu.value = true;\n\n emit('open:all-views');\n };\n\n const closeMenu = async () => {\n if (!showMenu.value) {\n return;\n }\n\n showMenu.value = false;\n\n emit('close:all-views');\n\n await nextTick();\n\n allViewsMenuToggleRef.value.$el.focus();\n };\n\n const toggleShowMenu = (e: MouseEvent) => {\n e.stopPropagation();\n\n if (!showMenu.value) {\n openMenu();\n } else {\n closeMenu();\n }\n };\n\n const {\n draggedViewIndex,\n draggingOverViewIndex,\n isItemDragged,\n handleDragKeyboardMove,\n handleDragKeyboardToggle,\n handleDragStart,\n handleDragStop,\n } = useDragAndDropViews({\n items: toRef(props, 'menuItems'),\n itemRefs: menuItemRefs,\n onDrop: value => emit('reorder:view', value),\n });\n\n const conditionalDraggableItemClass = (index: number) => ({\n ['b-header-with-views-all-views__popover-menu-item--dragging']: isItemDragged(index),\n });\n\n const closeViewMenuNatively = (index: number) => {\n // skip built-in refocus on the menu button when menu is closed\n // enables tab to flow as intended by HTML spec\n editViewMenuRefs.value[index].closeMenu(false);\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * Internal component to handle the logic for the list of all views available.\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./header-with-views-all-views.scss\" />\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-circle_filled__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M8 0.25C3.71979 0.25 0.25 3.71979 0.25 8C0.25 12.2802 3.71979 15.75 8 15.75C12.2802 15.75 15.75 12.2802 15.75 8C15.75 3.71979 12.2802 0.25 8 0.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-circle_filled__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import {\n BentoHeaderWithViewsItemAdditionalConfig,\n BentoHeaderWithViewsItemErrors,\n BentoHeaderWithViewsItemIcon,\n BentoHeaderWithViewsItemIconColor,\n} from '../../header-with-views.types';\n\ntype HeaderWithViewsEditFormContext = `${HeaderWithViewsEditFormContextEnum}`;\n\nexport enum HeaderWithViewsEditFormContextEnum {\n EDIT = 'edit',\n CREATE = 'create',\n}\n\nexport interface HeaderWithViewsEditFormProps {\n additionalFormItem?: BentoHeaderWithViewsItemAdditionalConfig;\n context?: HeaderWithViewsEditFormContext;\n errors?: BentoHeaderWithViewsItemErrors;\n icon?: BentoHeaderWithViewsItemIcon;\n iconColor?: BentoHeaderWithViewsItemIconColor;\n label?: string;\n}\n","<template>\n <form class=\"b-header-with-views-edit-form\">\n <field-label>{{ t('title') }}</field-label>\n\n <div class=\"b-header-with-views-edit-form__icon-choice-alert\" role=\"alert\">{{ computedAlert }}</div>\n\n <div class=\"b-header-with-views-edit-form__icon-selector\">\n <bento-toggle-button\n ref=\"iconSelectorButtonRef\"\n variant=\"secondary\"\n :aria-expanded=\"showIconSelectorPopover\"\n :aria-controls=\"showIconSelectorPopover ? iconPopoverId : null\"\n :toggled=\"showIconSelectorPopover\"\n @click=\"showIconSelectorPopover = !showIconSelectorPopover\"\n >\n <template #iconLeft>\n <component\n :is=\"BentoHeaderWithViewsItemIconElement[iconValue]\"\n :class=\"`b-header-with-views-edit-form__icon-color--${iconColorValue}`\"\n :svg-title=\"t('viewIcons')\"\n />\n </template>\n </bento-toggle-button>\n\n <bento-popover\n v-if=\"iconSelectorButtonRef\"\n :id=\"iconPopoverId\"\n ref=\"iconPopoverRef\"\n class=\"b-header-with-views-edit-form__icon-selector-popover\"\n :target-element=\"iconSelectorButtonRef\"\n :open=\"showIconSelectorPopover\"\n :fallback-position=\"['bottom-end']\"\n :fixed-positioning=\"true\"\n :overflow-visible=\"true\"\n position=\"bottom-end\"\n @dismiss=\"showIconSelectorPopover = false\"\n @keydown.escape.native.capture.stop.prevent=\"showIconSelectorPopover = false\"\n >\n <div class=\"b-header-with-views-edit-form__icon-panel\">\n <div class=\"b-header-with-views-edit-form__icon-color-options\">\n <div\n v-for=\"(color, index) in iconColorOptions\"\n :key=\"index\"\n class=\"b-header-with-views-edit-form__icon-options-wrapper\"\n >\n <bento-button\n class=\"b-header-with-views-edit-form__icon-color-options-button\"\n :class=\"`b-header-with-views-edit-form__icon-color--${color}`\"\n :aria-selected=\"iconColorValue === color\"\n variant=\"tertiary\"\n @click=\"iconColorValue = color\"\n >\n <template #iconLeft>\n <circle-filled-icon\n :svg-title=\"t('selectIconColor', { color })\"\n ></circle-filled-icon>\n </template>\n </bento-button>\n </div>\n </div>\n\n <bento-divider />\n\n <div class=\"b-header-with-views-edit-form__icon-options\">\n <bento-button\n v-for=\"(icon, index) in iconOptions\"\n :key=\"index\"\n class=\"b-header-with-views-edit-form__icon-options-button\"\n :aria-selected=\"iconValue === icon\"\n variant=\"tertiary\"\n @click=\"iconValue = icon\"\n >\n <template #iconLeft>\n <component\n :is=\"BentoHeaderWithViewsItemIconElement[icon]\"\n :svg-title=\"t('selectIcon', { icon })\"\n />\n </template>\n </bento-button>\n </div>\n </div>\n </bento-popover>\n\n <bento-input-field\n ref=\"inputFieldRef\"\n class=\"b-header-with-views-edit-form__icon-selector-input\"\n :aria-label=\"t('viewLabel')\"\n :error-message=\"errors.label\"\n :value=\"labelValue\"\n @keydown.enter.prevent=\"emit('keydown:enter', computedFormValues)\"\n @input=\"handleInput\"\n @blur=\"emit('blur:label', labelValue)\"\n ></bento-input-field>\n </div>\n\n <bento-checkbox\n v-if=\"additionalFormItem\"\n :model-value=\"additionalFormItemValue\"\n class=\"b-header-with-views-edit-form__additional-config\"\n @update:model-value=\"handleAdditionalFormItemChange\"\n >\n {{ additionalFormItem.label }}\n </bento-checkbox>\n\n <bento-button-actions\n class=\"b-header-with-views-edit-form__actions\"\n :actions=\"computedActions\"\n layout=\"buttons-end\"\n />\n </form>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton, BentoButtonActions, BentoButtonActionsList, BentoToggleButton } from '@/components/button';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoDivider } from '@/components/divider';\n import { BentoInputField } from '@/components/input-field';\n import { BentoPopover } from '@/components/popover';\n import { useClickOutside } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { FieldLabel } from '@/internal';\n import { debounce } from '@/utils/ts/debounce';\n import { useI18n } from '@/utils/ts/i18n';\n import CircleFilledIcon from '@adyen/ui-assets-icons-16/vue/circle-filled';\n import { onKeyStroke } from '@vueuse/core';\n import { computed, nextTick, onMounted, ref, watch } from 'vue';\n import {\n BentoHeaderWithViewsItem,\n BentoHeaderWithViewsItemIconColorEnum,\n BentoHeaderWithViewsItemIconElement,\n BentoHeaderWithViewsItemIconEnum,\n } from '../../header-with-views.types';\n import {\n HeaderWithViewsEditFormContextEnum,\n HeaderWithViewsEditFormProps,\n } from './header-with-views-edit-form.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n additionalFormItem: { default: null },\n context: { default: HeaderWithViewsEditFormContextEnum.CREATE },\n errors: { default: null },\n icon: { default: BentoHeaderWithViewsItemIconEnum.STACK },\n iconColor: { default: BentoHeaderWithViewsItemIconColorEnum.PRIMARY },\n label: { default: '' }\n});\n\n const emit = defineEmits([\"cancel\", \"update\", \"delete\", \"input:label\", \"blur:label\", \"keydown:enter\"]);\n\n // form inputs\n const labelValue = ref(props.label);\n const iconValue = ref(props.icon);\n const iconColorValue = ref(props.iconColor);\n const additionalFormItemValue = ref<boolean>(props.additionalFormItem?.value ?? false);\n const isFormDirty = ref(false);\n\n // refs\n const iconSelectorButtonRef = ref(null);\n const iconPopoverRef = ref(null);\n const inputFieldRef = ref(null);\n\n const iconPopoverId = generateUid('iconPopover');\n\n // view controls\n const showIconSelectorPopover = ref(false);\n\n const iconOptions = computed(() => Object.values(BentoHeaderWithViewsItemIconEnum));\n const iconColorOptions = computed(() => Object.values(BentoHeaderWithViewsItemIconColorEnum));\n const hasErrors = computed(() => Object.values(props.errors).some(error => error.length > 0));\n const computedAlert = computed(\n () => `${t('selected')}: ${iconValue.value} ${t('icon')}, ${t('color')} ${iconColorValue.value}`\n );\n\n const computedActions = computed<BentoButtonActionsList>(() => [\n ...(props.context === HeaderWithViewsEditFormContextEnum.EDIT\n ? // edit mode\n [\n {\n title: t('save'),\n type: 'submit',\n event: () => {\n if (hasErrors.value) {\n return;\n }\n\n updateView();\n },\n },\n ]\n : // create mode\n [\n {\n title: t('create'),\n type: 'submit',\n event: () => {\n if (!isFormDirty.value || hasErrors.value) {\n return;\n }\n\n updateView();\n },\n },\n ]),\n {\n title: t('cancel'),\n event: resetView,\n },\n ]);\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const computedFormValues = computed(() => ({\n iconColor: iconColorValue.value,\n icon: iconValue.value,\n label: labelValue.value,\n ...(props.additionalFormItem\n ? {\n additionalViewSetting: {\n label: props.additionalFormItem.label,\n value: additionalFormItemValue.value,\n },\n }\n : []),\n }));\n\n const hideIconSelectorPopover = () => {\n showIconSelectorPopover.value = false;\n };\n\n const updateView = () => {\n emit('update', computedFormValues.value);\n };\n\n const resetView = () => {\n iconValue.value = props.icon;\n iconColorValue.value = props.iconColor;\n labelValue.value = props.label;\n\n emit('cancel');\n };\n\n const handleInput = debounce((value: string) => {\n labelValue.value = value;\n\n isFormDirty.value = true;\n }, 200);\n\n const handleAdditionalFormItemChange = (value: boolean) => {\n additionalFormItemValue.value = value;\n\n isFormDirty.value = true;\n };\n\n useClickOutside(iconPopoverRef, hideIconSelectorPopover, {\n ignore: [iconSelectorButtonRef],\n });\n\n onKeyStroke('Escape', hideIconSelectorPopover, {\n target: iconPopoverRef,\n eventName: 'keydown',\n });\n\n watch(labelValue, value => emit('input:label', value));\n\n onMounted(async () => {\n // force focus to start from the input field\n await nextTick();\n inputFieldRef.value.$refs.inputFieldElement.focus();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Internal component to which presents a form for handling the logic of editing and creating a view.\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./header-with-views-edit-form.scss\" />\n","<template>\n <div ref=\"hostRef\" class=\"b-header-with-views\">\n <div class=\"b-header-with-views__container\" :class=\"conditionalContainerClass\">\n <div class=\"b-header-with-views__title\">\n <bento-typography el=\"h2\" variant=\"title\">{{ title }}</bento-typography>\n\n <info-icon-with-popover\n v-if=\"description || hasSlot('infoIconTooltipContent')\"\n :popover-text=\"description\"\n class=\"b-header-with-views__title-icon\"\n >\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #default>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </info-icon-with-popover>\n </div>\n\n <fieldset ref=\"viewsRef\" class=\"b-header-with-views__bar\" :aria-label=\"t('viewListLabel')\">\n <div\n v-for=\"(view, index) in computedViews\"\n :key=\"index\"\n ref=\"viewRefs\"\n class=\"b-header-with-views__bar-tab\"\n :class=\"isViewActive(index) ? 'b-header-with-views__bar-tab--active' : null\"\n >\n <bento-button\n class=\"b-header-with-views__bar-tab-button\"\n variant=\"tertiary-with-background\"\n :aria-current=\"activeView === index ? 'true' : 'false'\"\n @click=\"handleViewSelect(index)\"\n @keydown.enter.native=\"handleViewSelect(index)\"\n @keydown.space.native=\"handleViewSelect(index)\"\n >\n <template #iconLeft>\n <span\n class=\"b-header-with-views__bar-tab-button-icon\"\n :class=\"`b-header-with-views__bar-tab-button-icon--${view.iconColor}`\"\n aria-hidden=\"true\"\n >\n <component :is=\"BentoHeaderWithViewsItemIconElement[view.icon]\" />\n </span>\n </template>\n\n <bento-typography\n el=\"span\"\n variant=\"body\"\n stronger\n class=\"b-header-with-views__bar-tab-button-text\"\n >\n {{ view.label }}\n </bento-typography>\n\n <template v-if=\"isViewUnsaved(index)\" #iconRight>\n <span class=\"b-header-with-views__bar-tab-button--unsaved\">\n <dot-icon :svg-title=\"t('withUnsavedChanges')\" />\n </span>\n </template>\n </bento-button>\n\n <bento-menu\n v-if=\"activeView === index\"\n ref=\"editViewMenuRefs\"\n class=\"b-header-with-views__bar-tab-menu\"\n :button=\"{ variant: 'tertiary' }\"\n :data=\"getViewMenuData(isViewUnsaved(index))\"\n :close-on-click-outside-options=\"{\n ignore: [`#${editViewPopoverId}`],\n }\"\n :menu-fixed-positioning=\"true\"\n @open=\"showViewMenuPopover(index)\"\n @close=\"hideViewMenuPopover()\"\n @keydown.tab.native.capture=\"handleTabEditViewPopover\"\n >\n <template #iconLeft>\n <options-horizontal-icon :svg-title=\"t('openViewOptions', { label: view.label })\" />\n </template>\n </bento-menu>\n </div>\n\n <div ref=\"viewControlRef\" class=\"b-header-with-views__bar-control\">\n <!-- All views -->\n <header-with-views-all-views\n v-if=\"computedViews.length\"\n ref=\"viewControlAllViewsRef\"\n :menu-items=\"computedViews\"\n :menu-items-actions=\"getViewMenuData(false)\"\n :menu-close-on-click-outside-options=\"{ ignore: [`#${editViewPopoverId}`] }\"\n @close:view-menu=\"hideViewMenuPopover()\"\n @close:all-views=\"showAllViewsPopover = false\"\n @open:all-views=\"showAllViewsPopover = true\"\n @open:view-menu=\"index => showViewMenuPopover(index)\"\n @reorder:view=\"views => emit('reorder:view', setViews(views))\"\n @select:view=\"index => handleViewSelect(index)\"\n />\n\n <bento-toggle-button\n ref=\"createViewButtonRef\"\n :aria-expanded=\"showCreateViewPopover\"\n :aria-controls=\"showCreateViewPopover ? createViewPopoverId : null\"\n :toggled=\"showCreateViewPopover\"\n variant=\"tertiary\"\n @click=\"showCreateViewPopover = !showCreateViewPopover\"\n >\n <template #iconLeft>\n <plus-icon :svg-title=\"t('createView')\" :aria-hidden=\"computedViews.length === 0\" />\n </template>\n\n <template v-if=\"computedViews.length === 0\" #default>{{ t('createView') }}</template>\n </bento-toggle-button>\n </div>\n </fieldset>\n\n <button-actions-with-menu\n v-if=\"actions\"\n :actions=\"actions\"\n :actions-layout=\"isCompact ? 'buttons-start' : 'buttons-end'\"\n :displayed-actions=\"2\"\n :disable-responsive-behavior=\"true\"\n :hide-displayed-actions-breakpoint=\"STACKED_LAYOUT_BREAKPOINT\"\n class=\"b-header-with-views__actions\"\n />\n </div>\n\n <!-- Create view -->\n <bento-popover\n v-if=\"activeViewMenuPopover === null && createViewButtonRef\"\n :id=\"createViewPopoverId\"\n ref=\"createViewPopoverRef\"\n :dismissible=\"true\"\n :fixed-positioning=\"true\"\n :target-element=\"createViewButtonRef\"\n :title=\"t('createView')\"\n :open=\"showCreateViewPopover\"\n :overflow-visible=\"true\"\n position=\"bottom-start\"\n @dismiss=\"hideCreateViewPopover\"\n @keydown.esc.native.capture.stop.prevent=\"hideCreateViewPopover\"\n >\n <header-with-views-edit-form\n context=\"create\"\n :errors=\"errors\"\n :additional-form-item=\"additionalViewSetting\"\n @blur:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @input:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @keydown:enter=\"handleKeydownEnterViewItem\"\n @update=\"handleCreateViewItem\"\n @cancel=\"hideCreateViewPopover\"\n >\n </header-with-views-edit-form>\n </bento-popover>\n\n <!-- Edit view -->\n <bento-popover\n v-if=\"activeViewMenuPopover !== null && editViewTargetElementRef\"\n :id=\"editViewPopoverId\"\n ref=\"editViewPopoverRef\"\n :disable-focus-trap=\"false\"\n :dismissible=\"true\"\n :fixed-positioning=\"true\"\n :target-element=\"editViewTargetElementRef\"\n :title=\"t('editDetails')\"\n :open=\"activeEditViewPopover !== null\"\n :overflow-visible=\"true\"\n position=\"right-start\"\n @dismiss=\"setActiveEditViewPopover()\"\n @keydown.esc.native.capture.stop.prevent=\"setActiveEditViewPopover()\"\n >\n <header-with-views-edit-form\n v-if=\"computedViews[activeEditViewPopover]\"\n context=\"edit\"\n :additional-form-item=\"computedViews[activeEditViewPopover].additionalViewSetting\"\n :errors=\"errors\"\n :icon=\"computedViews[activeEditViewPopover].icon\"\n :icon-color=\"computedViews[activeEditViewPopover].iconColor\"\n :label=\"computedViews[activeEditViewPopover].label\"\n @blur:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @input:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @keydown:enter=\"handleKeydownEnterViewItem\"\n @update=\"handleUpdateViewItem\"\n @cancel=\"hideEditViewPopover\"\n >\n </header-with-views-edit-form>\n </bento-popover>\n\n <!-- Unsaved views prompt -->\n <bento-modal\n v-if=\"showUnsavedModalWarning\"\n :actions=\"computedUnsavedViewModalActions\"\n :is-dismissible=\"false\"\n :is-open=\"showUnsavedModalWarning\"\n @close-modal=\"showUnsavedModalWarning = false\"\n >\n <template #default>{{ t('unsavedChangesTitle', { label: computedViews[activeView].label }) }}</template>\n <template #content>\n <div class=\"b-header-with-views__modal-description\">\n <bento-typography>{{ t('unsavedChangesDescription') }}</bento-typography>\n\n <bento-checkbox\n v-if=\"skipUnsavedChangesText\"\n :model-value=\"skipUnsavedChangesReminder\"\n @update:model-value=\"value => (skipUnsavedChangesReminder = value)\"\n >\n {{ skipUnsavedChangesText }}\n </bento-checkbox>\n </div>\n </template>\n </bento-modal>\n\n <!-- Delete views prompt -->\n <bento-modal\n v-if=\"showDeleteModalWarning\"\n :actions=\"computedDeleteViewModalActions\"\n :is-open=\"showDeleteModalWarning\"\n :is-dismissible=\"false\"\n destructive-actions\n @click.native.capture=\"handleClickModal\"\n @close-modal=\"showDeleteModalWarning = false\"\n >\n <template #default>\n {{ t('deleteViewTitle', { label: computedViewToBeDeletedLabel }) }}\n </template>\n <template #content>\n <div class=\"b-header-with-views__modal-description\">\n <bento-typography>{{\n t('deleteViewDescription', { label: computedViewToBeDeletedLabel })\n }}</bento-typography>\n </div>\n </template>\n </bento-modal>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton, BentoToggleButton } from '@/components/button';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoMenu, BentoMenuItem } from '@/components/menu';\n import { BentoModal } from '@/components/modal';\n import { BentoPopover } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { useBentoToastController, useClickOutside, useHasSlot } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import ButtonActionsWithMenu from '@/internal/button-actions-with-menu/button-actions-with-menu.vue';\n import { InfoIconWithPopover } from '@/internal/info-icon-with-popover';\n import { useI18n } from '@/utils/ts/i18n';\n import BinIcon from '@adyen/ui-assets-icons-16/vue/bin';\n import DotIcon from '@adyen/ui-assets-icons-16/vue/dot';\n import DownloadIcon from '@adyen/ui-assets-icons-16/vue/download';\n import EditIcon from '@adyen/ui-assets-icons-16/vue/edit-2';\n import HeartIcon from '@adyen/ui-assets-icons-16/vue/heart';\n import OptionsHorizontalIcon from '@adyen/ui-assets-icons-16/vue/options-horizontal';\n import PlusIcon from '@adyen/ui-assets-icons-16/vue/plus';\n import PlusMultipleIcon from '@adyen/ui-assets-icons-16/vue/plus-multiple';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import { useElementSize } from '@vueuse/core';\n import { computed, nextTick, onMounted, ref, useSlots, watch } from 'vue';\n import { HeaderWithViewsAllViews, HeaderWithViewsEditForm } from './components';\n import { useEditViews, useResponsiveViews } from './composables';\n import {\n BentoHeaderWithViewsEmits,\n BentoHeaderWithViewsItem,\n BentoHeaderWithViewsItemIconElement,\n BentoHeaderWithViewsProps,\n } from './header-with-views.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n actions: { default: () => [] },\n description: { default: null },\n title: { default: null },\n views: { default: () => [] },\n additionalViewSetting: { default: null },\n hasChanges: { type: Boolean },\n skipUnsavedChangesText: null\n});\n\n const emit = defineEmits([\"add:view\", \"delete:view\", \"duplicate:view\", \"reorder:view\", \"restore:view\", \"save:view\", \"select:view\", \"update:view\", \"update:skip-unsaved-changes\"]);\n\n const STACKED_LAYOUT_BREAKPOINT = 573;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n // refs\n const createViewButtonRef = ref(null);\n const createViewPopoverRef = ref(null);\n const editViewPopoverRef = ref(null);\n const editViewMenuRefs = ref([]);\n const editViewTargetElementRef = ref(null); // used as a mount for the edit form popover\n const hostRef = ref(null);\n const viewsRef = ref<HTMLElement>(null); // container for all views\n const viewRefs = ref<HTMLDivElement[]>([]); // individual view\n const viewControlRef = ref(null); // all views menu and create view button container\n const viewControlAllViewsRef = ref(null); // all views menu\n\n // controls\n const showCreateViewPopover = ref<boolean>(false); // control the create view popover\n const showAllViewsPopover = ref<boolean>(false); // control when menu button is shown\n const showUnsavedModalWarning = ref<boolean>(false);\n const showDeleteModalWarning = ref<boolean>(false);\n const activeEditViewPopover = ref<number>(null); // control the edit view popover\n const activeViewMenuPopover = ref<number>(null); // control when menu items are shown\n const activeView = ref<number>(null); // control which view is currently user on\n const nextActiveView = ref<number>(null); // control which view is does the user want to navigate to, used for caching unsaved view navigation\n const viewToBeDeleted = ref<number>(null); // cache which view is marked for deletion\n\n // models\n const skipUnsavedChangesReminder = ref<boolean>(false);\n\n const createViewPopoverId = generateUid('createViewPopover');\n const editViewPopoverId = generateUid('editViewPopover');\n\n useResponsiveViews({\n container: viewsRef,\n children: viewRefs,\n offset: viewControlRef,\n activeViewIndex: activeView,\n });\n\n const { computedViews, clearError, duplicateView, errors, setViews, updateView, validateLabel } = useEditViews({\n additionalViewSetting: props.additionalViewSetting,\n views: props.views,\n });\n\n const hideCreateViewPopover = async (updateFocus = true) => {\n showCreateViewPopover.value = false;\n\n if (updateFocus) {\n await nextTick();\n\n createViewButtonRef.value.$el.focus();\n }\n\n clearError();\n };\n\n const hideEditViewPopover = () => {\n const currentMenuRef = showAllViewsPopover.value\n ? viewControlAllViewsRef.value.$refs.editViewMenuRefs[activeEditViewPopover.value]\n : editViewMenuRefs.value[0];\n\n currentMenuRef?.closeMenu();\n };\n\n useClickOutside(createViewPopoverRef, () => hideCreateViewPopover(false), {\n ignore: [createViewButtonRef],\n });\n\n useClickOutside(editViewPopoverRef, () => setActiveEditViewPopover(), {\n ignore: [editViewTargetElementRef],\n });\n\n const { width: hostWidth } = useElementSize(hostRef);\n\n const { addToast } = useBentoToastController();\n\n const computedUnsavedViewModalActions = computed(() => [\n {\n title: t('saveChanges'),\n event: handleSaveChanges,\n },\n {\n title: t('leave'),\n event: handleRestoreChanges,\n },\n ]);\n\n const computedDeleteViewModalActions = computed(() => [\n {\n title: t('deleteViewAction'),\n event: async () => {\n showDeleteModalWarning.value = false;\n\n const updatedViewObj = updateView(null, viewToBeDeleted.value);\n\n emit('delete:view', updatedViewObj);\n\n hideViewMenuPopover();\n\n // if a view that is placed higher in the order is deleted, ignore\n if (activeView.value < viewToBeDeleted.value) {\n return;\n }\n\n // if a view that is placed lower in the order is deleted,\n // we need to shift the index to maintain the current view\n if (activeView.value > viewToBeDeleted.value) {\n activeView.value -= 1;\n } else if (activeView.value === viewToBeDeleted.value) {\n if (updatedViewObj.newViews.length === 0) {\n // there are no more views\n\n activeView.value = null;\n } else if (activeView.value >= updatedViewObj.newViews.length) {\n // shift it to the left\n\n activeView.value -= 1;\n }\n // else, keep it at the same index\n }\n\n viewToBeDeleted.value = null;\n },\n },\n {\n title: t('cancel'),\n event: () => {\n showDeleteModalWarning.value = false;\n },\n },\n ]);\n\n const computedViewToBeDeletedLabel = computed(() => computedViews.value[viewToBeDeleted.value]?.label);\n\n const conditionalContainerClass = computed(() => ({\n 'b-header-with-views__container--is-compact': isCompact.value,\n }));\n\n const isCompact = computed(() => hostWidth.value <= STACKED_LAYOUT_BREAKPOINT);\n\n watch([activeView, computedViews], ([newIndex, newViews], [oldIndex, oldViews]) => {\n // skip if the labels are the same or no active view\n const isViewUpdated = newIndex === oldIndex && newViews.length === oldViews.length;\n const isViewDeletedWithChangedIndex = newViews[newIndex]?.label === oldViews[oldIndex]?.label;\n\n if (isViewUpdated || isViewDeletedWithChangedIndex) {\n return;\n }\n\n // allow empty label\n // occurs when the user removes all views\n emit('select:view', newViews[newIndex]?.label ?? null);\n });\n\n // whenever the view menu popover changes, we reset the edit popover because it is never opened by default\n watch(activeViewMenuPopover, () => {\n setActiveEditViewPopover();\n });\n\n watch(showAllViewsPopover, value => {\n if (value) {\n return;\n }\n\n // if show all view popover is closed, close children as well\n hideViewMenuPopover();\n });\n\n // set the popover to open next to the edit button\n watch(activeEditViewPopover, value => {\n const editButtonIndex = isViewUnsaved(value) ? 2 : 0;\n\n // EDGE CASE:\n // Since edit button can be clicked while in all views popover or while it is in the bar,\n // we will not support the case where edit popover is opened and the screen is resize until the view menu is hidden.\n // Edit popover will still be displayed but the position does not have to follow the edit button as it is hidden.\n if (showAllViewsPopover.value) {\n const menuListItemRef =\n viewControlAllViewsRef.value.$refs.editViewMenuRefs[activeViewMenuPopover.value]?.$refs\n ?.menuItemListRef;\n\n editViewTargetElementRef.value =\n viewControlAllViewsRef.value.$refs.editViewMenuRefs[activeViewMenuPopover.value]?.$refs?.menuItemListRef\n ?.$refs?.menuItemRef?.[editButtonIndex] ?? null;\n\n if (!value) {\n menuListItemRef?.focusItem();\n\n clearError();\n }\n\n return;\n }\n\n const menuListItemRef = editViewMenuRefs.value.find(ref => ref.$refs.menuItemListRef)?.$refs?.menuItemListRef;\n editViewTargetElementRef.value = menuListItemRef?.$refs?.menuItemRef?.[editButtonIndex] ?? null;\n\n if (!value) {\n menuListItemRef?.focusItem();\n\n clearError();\n }\n });\n\n onMounted(() => {\n // sets the default view as the first view\n const defaultView = computedViews.value.findIndex(view => view.isDefault);\n\n activeView.value = defaultView >= 0 ? defaultView : 0;\n });\n\n const getViewMenuData = (isUnsaved: boolean): BentoMenuItem[] => [\n ...(isUnsaved\n ? [\n {\n text: t('saveChanges'),\n handler: handleSaveChanges,\n icon: DownloadIcon,\n },\n {\n addDivider: true,\n text: t('restoreChanges'),\n handler: handleRestoreChanges,\n icon: RefreshIcon,\n },\n ]\n : []),\n {\n text: t('edit'),\n handler: () => {\n setActiveEditViewPopover(activeViewMenuPopover.value);\n },\n icon: EditIcon,\n skipClose: true,\n },\n {\n text: t('setAsDefault'),\n handler: () => {\n const updatedViewObj = updateView({ isDefault: true }, activeViewMenuPopover.value);\n\n emit('update:view', updatedViewObj);\n\n hideViewMenuPopover();\n },\n icon: HeartIcon,\n },\n {\n text: t('duplicate'),\n handler: () => {\n const updatedViewObj = duplicateView(activeViewMenuPopover.value);\n\n emit('duplicate:view', updatedViewObj);\n\n hideViewMenuPopover();\n\n // switch to newly duplicated view\n handleViewSelect(updatedViewObj.newViews.length - 1);\n },\n icon: PlusMultipleIcon,\n },\n {\n text: t('delete'),\n handler: () => {\n viewToBeDeleted.value = activeViewMenuPopover.value;\n showDeleteModalWarning.value = true;\n },\n critical: true,\n icon: BinIcon,\n },\n ];\n\n const showViewMenuPopover = (index: number) => {\n activeViewMenuPopover.value = index;\n };\n\n const hideViewMenuPopover = () => {\n activeViewMenuPopover.value = null;\n\n setActiveEditViewPopover();\n };\n\n const setActiveEditViewPopover = (index?: number) => {\n if (index === activeEditViewPopover.value) {\n activeEditViewPopover.value = null;\n } else {\n activeEditViewPopover.value = index ?? null;\n }\n };\n\n const handleCreateViewItem = (value: BentoHeaderWithViewsItem) => {\n const updatedViewObj = updateView(value);\n\n emit('add:view', updatedViewObj);\n\n hideCreateViewPopover();\n\n // switch to new view on add\n handleViewSelect(updatedViewObj.newViews.findIndex(view => updatedViewObj.targetViewLabel === view.label));\n\n addToast({\n text: t('createViewToast', { label: updatedViewObj.targetViewLabel }),\n });\n };\n\n const handleUpdateViewItem = (value: BentoHeaderWithViewsItem) => {\n emit('update:view', updateView(value, activeEditViewPopover.value));\n\n hideEditViewPopover();\n };\n\n const handleKeydownEnterViewItem = (value: BentoHeaderWithViewsItem) => {\n validateLabel(value.label, activeViewMenuPopover.value);\n\n if (Object.values(errors).some(error => error.length > 0)) {\n return;\n }\n\n if (activeEditViewPopover.value) {\n handleUpdateViewItem(value);\n\n return;\n }\n\n handleCreateViewItem(value);\n };\n\n const handleViewSelect = (index: number) => {\n if (!props.hasChanges || props.skipUnsavedChangesText === null) {\n emit('restore:view', computedViews.value[activeView.value].label);\n\n activeView.value = index;\n\n return;\n }\n\n // show warning only if users intends it to\n nextActiveView.value = index;\n showUnsavedModalWarning.value = true;\n };\n\n const handleClickModal = (event: MouseEvent) => {\n if ((event.target as HTMLElement).closest('button')) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n };\n\n const handleTabEditViewPopover = () => {\n // skip built-in refocus on the menu button when menu is closed\n // enables tab to flow as intended by HTML spec\n editViewMenuRefs.value[0].closeMenu(false);\n };\n\n const handleSaveChanges = () => {\n const label = computedViews.value[activeView.value].label;\n\n emit('save:view', label);\n\n if (showUnsavedModalWarning.value) {\n emit('update:skip-unsaved-changes', skipUnsavedChangesReminder.value);\n\n // fired when user saves the view while navigating to a different tab\n activeView.value = nextActiveView.value;\n nextActiveView.value = null;\n showUnsavedModalWarning.value = false;\n } else {\n // fired when user saves the view via the menu\n hideViewMenuPopover();\n }\n\n addToast({\n text: t('saveChangesToast', { label }),\n action: {\n handler: () => emit('restore:view', label),\n text: t('undo'),\n },\n });\n };\n\n const handleRestoreChanges = () => {\n emit('restore:view', computedViews.value[activeView.value].label);\n\n if (showUnsavedModalWarning.value) {\n emit('update:skip-unsaved-changes', skipUnsavedChangesReminder.value);\n\n // fired when user restore the view while navigating to a different tab\n activeView.value = nextActiveView.value;\n nextActiveView.value = null;\n showUnsavedModalWarning.value = false;\n } else {\n // fired when user restore the view via the menu\n hideViewMenuPopover();\n }\n };\n\n const isViewActive = (index: number) => activeView.value === index;\n const isViewUnsaved = (index: number) => isViewActive(index) && props.hasChanges;\n</script>\n\n<script lang=\"ts\">\n /**\n * Header with views allow users to save and quickly retrieve configurations tailored to specific tasks.\n * For example, managing daily transactions, auditing, or analyzing specific data sets.\n * It also allows the user to define the columns, filters, and search queries they need.\n *\n * @example\n * import { BentoHeaderWithViews } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoHeaderWithViews },\n * template: `\n * <bento-header-with-views\n * :actions=\"[\n * { title: 'Primary action', event: () => undefined },\n * { title: 'Secondary action', event: () => undefined },\n * { title: 'Tertiary action', event: () => undefined },\n * { title: 'Another action', event: () => undefined }\n * ]\"\n * description=\"Page Description\"\n * title=\"Page Title\"\n * :views=\"[\n * { icon: 'stack', iconColor: 'blue', label: 'A very long value' },\n * { icon: 'stack', iconColor: 'primary', label: 'Title 1' },\n * { icon: 'stack', iconColor: 'primary', label: 'Title 2' }\n * ]\"\n * :additionalViewSetting=\"{\n * label: 'Include date filter (relative)',\n * value: false\n * }\"\n * hasChanges\n * />\n * `\n * };\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./header-with-views.scss\" />\n"],"names":["uuid$E","_sfc_main$H","uuid$D","_sfc_main$G","uuid$C","_sfc_main$F","uuid$B","_sfc_main$E","uuid$A","_sfc_main$D","uuid$z","_sfc_main$C","uuid$y","_sfc_main$B","uuid$x","_sfc_main$A","uuid$w","_sfc_main$z","uuid$v","_sfc_main$y","uuid$u","_sfc_main$x","uuid$t","_sfc_main$w","uuid$s","_sfc_main$v","uuid$r","_sfc_main$u","uuid$q","_sfc_main$t","uuid$p","_sfc_main$s","uuid$o","_sfc_main$r","uuid$n","_sfc_main$q","uuid$m","_sfc_main$p","uuid$l","_sfc_main$o","uuid$k","_sfc_main$n","uuid$j","_sfc_main$m","uuid$i","_sfc_main$l","uuid$h","_sfc_main$k","uuid$g","_sfc_main$j","uuid$f","_sfc_main$i","uuid$e","_sfc_main$h","uuid$d","_sfc_main$g","uuid$c","_sfc_main$f","uuid$b","_sfc_main$e","uuid$a","_sfc_main$d","uuid$9","_sfc_main$c","uuid$8","_sfc_main$b","uuid$7","_sfc_main$a","uuid$6","_sfc_main$9","uuid$5","_sfc_main$8","uuid$4","_sfc_main$7","uuid$3","_sfc_main$6","BentoHeaderWithViewsItemIconColorEnum","BentoHeaderWithViewsItemIconColorEnum2","BentoHeaderWithViewsItemIconEnum","BentoHeaderWithViewsItemIconEnum2","BentoHeaderWithViewsItemIconElement","StackIcon","LeafIcon","HandRockIcon","CarIcon","EducationIcon","HotelIcon","TravelBagIcon","LightningIcon","NewsIcon","PrizeIcon","LockIcon","BagIcon","DiamondIcon","TargetIcon","GiftIcon","CashStackIcon","HashtagIcon","CloudIcon","HospitalityIcon","ShoppingCartIcon","SleepIcon","NotificationIcon","ThumbsUpIcon","ThumbsDownIcon","StarIcon","WarningDiamondIcon","RetailIcon","EmoticonHappyIcon","GamingIcon","SupportIcon","HeartIcon","HourglassIcon","WorldIcon","uuid$2","_sfc_main$5","uuid$1","_sfc_main$4","useEditViews","options","views","ref","errors","reactive","t","useI18n","computedViews","computed","viewItem","_a","updateView","data","index","newViews","oldViews","targetViewLabel","view","duplicateView","toCopyLabel","copiedLabel","suffix","newView","setViews","clearError","value","labelIsRequired","labelAlreadyExist","viewIndex","UseDragAndDropViewsDirectionEnum","UseDragAndDropViewsDirectionEnum2","useDragAndDropViews","itemRefs","items","onDrop","animationFrameId","draggedViewIndex","dragMousePosition","dragKeyboardInitiated","dragOffset","draggingOverViewIndex","maxDragOffsetY","minDragOffsetY","menuItemsElementRects","isItemDragged","handleDragStart","event","updateMenuItemsRects","draggedElement","handleDragKeyboardToggle","handleDrop","handleDragKeyboardMove","direction","upperBound","lowerBound","isGoingDownwards","isGoingUpwards","targetElementIndex","isTargetAfterDragged","isTargetBeforeDragged","isDirectionReversed","updateDraggedElementTransform","offset","clampTransform","updateTargetElementTransform","targetElement","targetElementOffset","handleDragStop","menuItem","el","handleDragMove","mousePosition","overItemIndex","rect","updateDragPosition","draggedItem","newMenuItems","transferFocus","threshold","i","targetElementRect","percentFromTop","activeElement","_b","itemEl","top","bottom","height","useEventListener","useResponsiveViews","elements","container","children","activeViewIndex","maxDisplayedViews","width","useElementSize","watch","containerWidth","newActiveViewIndex","childrenEl","oldActiveViewIndex","numberOfChildren","totalWidth","previousActiveChild","index2","child","nextTick","activeChild","newMaxDisplayedViews","__default__$2","messages$2","showMenu","allViewsMenuToggleRef","allViewsMenuPopoverRef","allViewsRef","menuRef","menuItemRefs","editViewMenuRefs","menuPopoverId","generateUid","useClickOutside","closeMenu","props","openMenu","emit","toggleShowMenu","e","toRef","uuid","_sfc_main$2","HeaderWithViewsEditFormContextEnum","HeaderWithViewsEditFormContextEnum2","__default__$1","messages$1","labelValue","iconValue","iconColorValue","additionalFormItemValue","isFormDirty","iconSelectorButtonRef","iconPopoverRef","inputFieldRef","iconPopoverId","showIconSelectorPopover","iconOptions","iconColorOptions","hasErrors","error","computedAlert","computedActions","resetView","computedFormValues","hideIconSelectorPopover","handleInput","debounce","handleAdditionalFormItemChange","onKeyStroke","onMounted","__default__","messages","STACKED_LAYOUT_BREAKPOINT","slots","useSlots","hasSlot","useHasSlot","createViewButtonRef","createViewPopoverRef","editViewPopoverRef","editViewTargetElementRef","hostRef","viewsRef","viewRefs","viewControlRef","viewControlAllViewsRef","showCreateViewPopover","showAllViewsPopover","showUnsavedModalWarning","showDeleteModalWarning","activeEditViewPopover","activeViewMenuPopover","activeView","nextActiveView","viewToBeDeleted","skipUnsavedChangesReminder","createViewPopoverId","editViewPopoverId","validateLabel","hideCreateViewPopover","updateFocus","hideEditViewPopover","currentMenuRef","setActiveEditViewPopover","hostWidth","addToast","useBentoToastController","computedUnsavedViewModalActions","handleSaveChanges","handleRestoreChanges","computedDeleteViewModalActions","updatedViewObj","hideViewMenuPopover","computedViewToBeDeletedLabel","conditionalContainerClass","isCompact","newIndex","oldIndex","isViewUpdated","isViewDeletedWithChangedIndex","_c","editButtonIndex","isViewUnsaved","menuListItemRef2","_g","_f","_e","_d","menuListItemRef","_i","_h","ref2","_k","_j","defaultView","getViewMenuData","isUnsaved","DownloadIcon","RefreshIcon","EditIcon","handleViewSelect","PlusMultipleIcon","BinIcon","showViewMenuPopover","handleCreateViewItem","handleUpdateViewItem","handleKeydownEnterViewItem","handleClickModal","handleTabEditViewPopover","label","isViewActive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"header-with-views.Csgl4PSQ.js","sources":["../../../ui-assets/icons-16/dist/vue/download.vue","../../../ui-assets/icons-16/dist/vue/edit-2.vue","../../../ui-assets/icons-16/dist/vue/heart.vue","../../../ui-assets/icons-16/dist/vue/options-horizontal.vue","../../../ui-assets/icons-16/dist/vue/plus.vue","../../../ui-assets/icons-16/dist/vue/plus-multiple.vue","../../../ui-assets/icons-16/dist/vue/bag.vue","../../../ui-assets/icons-16/dist/vue/car.vue","../../../ui-assets/icons-16/dist/vue/cash-stack.vue","../../../ui-assets/icons-16/dist/vue/cloud.vue","../../../ui-assets/icons-16/dist/vue/diamond.vue","../../../ui-assets/icons-16/dist/vue/education.vue","../../../ui-assets/icons-16/dist/vue/emoticon-happy.vue","../../../ui-assets/icons-16/dist/vue/gambling.vue","../../../ui-assets/icons-16/dist/vue/gaming.vue","../../../ui-assets/icons-16/dist/vue/gift.vue","../../../ui-assets/icons-16/dist/vue/hand-rock.vue","../../../ui-assets/icons-16/dist/vue/hashtag.vue","../../../ui-assets/icons-16/dist/vue/hospitality.vue","../../../ui-assets/icons-16/dist/vue/hourglass.vue","../../../ui-assets/icons-16/dist/vue/leaf.vue","../../../ui-assets/icons-16/dist/vue/lightning.vue","../../../ui-assets/icons-16/dist/vue/lock.vue","../../../ui-assets/icons-16/dist/vue/news.vue","../../../ui-assets/icons-16/dist/vue/notification.vue","../../../ui-assets/icons-16/dist/vue/prize.vue","../../../ui-assets/icons-16/dist/vue/retail.vue","../../../ui-assets/icons-16/dist/vue/shopping-cart.vue","../../../ui-assets/icons-16/dist/vue/sleep.vue","../../../ui-assets/icons-16/dist/vue/stack.vue","../../../ui-assets/icons-16/dist/vue/star.vue","../../../ui-assets/icons-16/dist/vue/support.vue","../../../ui-assets/icons-16/dist/vue/target.vue","../../../ui-assets/icons-16/dist/vue/thumb-down.vue","../../../ui-assets/icons-16/dist/vue/thumb-up.vue","../../../ui-assets/icons-16/dist/vue/travel-bag.vue","../../../ui-assets/icons-16/dist/vue/warning-diamond.vue","../../../ui-assets/icons-16/dist/vue/world.vue","../../src/components/header-with-views/header-with-views.types.ts","../../../ui-assets/icons-16/dist/vue/grab.vue","../../../ui-assets/icons-16/dist/vue/menu.vue","../../src/components/header-with-views/composables/use-edit-views/use-edit-views.ts","../../src/components/header-with-views/composables/use-drag-and-drop-views/use-drag-and-drop-views.ts","../../src/components/header-with-views/composables/use-responsive-views/use-responsive-views.ts","../../src/components/header-with-views/components/header-with-views-all-views/header-with-views-all-views.vue","../../../ui-assets/icons-16/dist/vue/circle-filled.vue","../../src/components/header-with-views/components/header-with-views-item-edit-form/header-with-views-edit-form.types.ts","../../src/components/header-with-views/components/header-with-views-item-edit-form/header-with-views-edit-form.vue","../../src/components/header-with-views/header-with-views.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8.75 1.25V9.18957L11.0001 6.93945L12.0608 8.00011L8.00011 12.0608L3.93945 8.00011L5.00011 6.93945L7.25 9.18934V1.25H8.75Z\"/><path fill=\"#001222\" d=\"M2.75 12.5V10.25H1.25V12.5C1.25 13.0967 1.48705 13.669 1.90901 14.091C2.33097 14.5129 2.90326 14.75 3.5 14.75H12.5C13.0967 14.75 13.669 14.5129 14.091 14.091C14.5129 13.669 14.75 13.0967 14.75 12.5V10.25H13.25V12.5C13.25 12.6989 13.171 12.8897 13.0303 13.0303C12.8897 13.171 12.6989 13.25 12.5 13.25H3.5C3.30109 13.25 3.11032 13.171 2.96967 13.0303C2.82902 12.8897 2.75 12.6989 2.75 12.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M13.5907 1.86372C12.712 0.985043 11.2874 0.985041 10.4087 1.86372L4.58301 7.6894V11.4167H8.31033L14.136 5.59105C15.0147 4.71237 15.0147 3.28775 14.136 2.40907L13.5907 1.86372ZM11.4693 2.92438C11.7622 2.63149 12.2371 2.63149 12.53 2.92438L13.0753 3.46973C13.3682 3.76262 13.3682 4.2375 13.0753 4.53039L7.68901 9.91673H6.08301V8.31072L11.4693 2.92438Z\"/><path fill=\"#001222\" d=\"M3.5 1.25012C2.25736 1.25012 1.25 2.25748 1.25 3.50012V12.6668C1.25 13.8174 2.18274 14.7501 3.33333 14.7501H12.5C13.7426 14.7501 14.75 13.7428 14.75 12.5001V9.25012H13.25V12.5001C13.25 12.9143 12.9142 13.2501 12.5 13.2501H3.33333C3.01117 13.2501 2.75 12.989 2.75 12.6668V3.50012C2.75 3.08591 3.08579 2.75012 3.5 2.75012H6.75V1.25012H3.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.25 6.2223C1.25 3.83785 3.2086 1.91675 5.6 1.91675C6.46743 1.91675 7.29702 2.16881 8 2.63398C8.70298 2.16881 9.53257 1.91675 10.4 1.91675C12.7914 1.91675 14.75 3.83785 14.75 6.2223C14.75 8.49101 13.1609 10.4102 11.7348 11.6963C10.282 13.0064 8.80579 13.8313 8.65555 13.9135C8.44821 14.0281 8.22767 14.0834 8 14.0834C7.77233 14.0834 7.55179 14.0281 7.34445 13.9135C7.19421 13.8313 5.71797 13.0064 4.26522 11.6963C2.83912 10.4102 1.25 8.49101 1.25 6.2223ZM5.6 3.41675C4.0194 3.41675 2.75 4.68379 2.75 6.2223C2.75 7.81138 3.89988 9.34697 5.26978 10.5824C6.47055 11.6652 7.6982 12.3901 8 12.5615C8.3018 12.3901 9.52945 11.6652 10.7302 10.5824C12.1001 9.34697 13.25 7.81138 13.25 6.2223C13.25 4.68379 11.9806 3.41675 10.4 3.41675C9.68369 3.41675 9.01634 3.67518 8.50081 4.13763L8 4.58688L7.49919 4.13763C6.98366 3.67518 6.31631 3.41675 5.6 3.41675Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M12 8C12 7.60217 12.158 7.22064 12.4393 6.93934C12.7206 6.65803 13.1022 6.5 13.5 6.5C13.7967 6.5 14.0867 6.58797 14.3334 6.75279C14.58 6.91762 14.7723 7.15189 14.8858 7.42597C14.9993 7.70006 15.0291 8.00166 14.9712 8.29264C14.9133 8.58361 14.7704 8.85088 14.5607 9.06066C14.3509 9.27044 14.0836 9.4133 13.7926 9.47118C13.5017 9.52906 13.2001 9.49935 12.926 9.38582C12.6519 9.27229 12.4176 9.08003 12.2528 8.83335C12.088 8.58668 12 8.29667 12 8Z\"/><path fill=\"#001222\" d=\"M0.999999 8C0.999999 8.29667 1.08797 8.58668 1.25279 8.83335C1.41762 9.08003 1.65189 9.27229 1.92597 9.38582C2.20006 9.49935 2.50166 9.52906 2.79263 9.47118C3.08361 9.4133 3.35088 9.27044 3.56066 9.06066C3.77044 8.85088 3.9133 8.58361 3.97118 8.29264C4.02905 8.00166 3.99935 7.70006 3.88582 7.42597C3.77229 7.15189 3.58003 6.91762 3.33335 6.75279C3.08668 6.58797 2.79667 6.5 2.5 6.5C2.10217 6.5 1.72064 6.65803 1.43934 6.93934C1.15803 7.22064 0.999999 7.60217 0.999999 8Z\"/><path fill=\"#001222\" d=\"M6.75279 8.83335C6.58797 8.58668 6.5 8.29667 6.5 8C6.5 7.60217 6.65803 7.22064 6.93934 6.93934C7.22064 6.65803 7.60217 6.5 8 6.5C8.29667 6.5 8.58668 6.58797 8.83335 6.75279C9.08003 6.91762 9.27229 7.15189 9.38582 7.42597C9.49935 7.70006 9.52906 8.00166 9.47118 8.29264C9.4133 8.58361 9.27044 8.85088 9.06066 9.06066C8.85088 9.27044 8.58361 9.4133 8.29263 9.47118C8.00166 9.52906 7.70006 9.49935 7.42597 9.38582C7.15189 9.27229 6.91762 9.08003 6.75279 8.83335Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8.75 7.25V2.25H7.25V7.25H2.25V8.75H7.25V13.75H8.75V8.75H13.75V7.25H8.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-plus_multiple__a' + uuid + ')'\"><path d=\"M10.75 9.25H12.75V10.75H10.75V12.75H9.25V10.75H7.25V9.25H9.25V7.25H10.75V9.25Z\"/><path d=\"M11.75 4.25V2.36C11.75 1.80039 11.5277 1.26371 11.132 0.868005C10.7363 0.472303 10.1996 0.25 9.64 0.25H2.36C1.80039 0.25 1.26371 0.472303 0.868004 0.868005C0.472302 1.26371 0.25 1.80039 0.25 2.36V9.64C0.25 10.1996 0.472302 10.7363 0.868004 11.132C1.26371 11.5277 1.80039 11.75 2.36 11.75H4.25V13.64C4.25 14.8053 5.19468 15.75 6.36 15.75H13.64C14.8053 15.75 15.75 14.8053 15.75 13.64V6.36C15.75 5.19468 14.8053 4.25 13.64 4.25H11.75ZM2.36 1.75H9.64C9.80178 1.75 9.95694 1.81427 10.0713 1.92866C10.1857 2.04306 10.25 2.19822 10.25 2.36V4.25H6.36C5.19468 4.25 4.25 5.19468 4.25 6.36V10.25H2.36C2.19822 10.25 2.04306 10.1857 1.92867 10.0713C1.81427 9.95694 1.75 9.80178 1.75 9.64V2.36C1.75 2.19822 1.81427 2.04306 1.92867 1.92866C2.04306 1.81427 2.19822 1.75 2.36 1.75ZM6.36 5.75H13.64C13.9769 5.75 14.25 6.02311 14.25 6.36V13.64C14.25 13.9769 13.9769 14.25 13.64 14.25H6.36C6.02311 14.25 5.75 13.9769 5.75 13.64V6.36C5.75 6.02311 6.02311 5.75 6.36 5.75Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-plus_multiple__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.25 4.25V3C5.25 1.48579 6.48579 0.25 8 0.25C9.51421 0.25 10.75 1.48579 10.75 3V4.25H12.6149L14.9149 15.75H1.08496L3.38496 4.25H5.25ZM6.75 3V4.25H9.25V3C9.25 2.31421 8.68579 1.75 8 1.75C7.31421 1.75 6.75 2.31421 6.75 3ZM4.61467 5.75L2.91467 14.25H8.38496L10.085 5.75H4.61467ZM9.91467 14.25H13.0851L11.4999 6.3238L9.91467 14.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-car__a' + uuid + ')'\"><path d=\"M5 10.25C5.41421 10.25 5.75 9.91421 5.75 9.5C5.75 9.08579 5.41421 8.75 5 8.75C4.58579 8.75 4.25 9.08579 4.25 9.5C4.25 9.91421 4.58579 10.25 5 10.25Z\"/><path d=\"M11.75 9.5C11.75 9.91421 11.4142 10.25 11 10.25C10.5858 10.25 10.25 9.91421 10.25 9.5C10.25 9.08579 10.5858 8.75 11 8.75C11.4142 8.75 11.75 9.08579 11.75 9.5Z\"/><path d=\"M2.36404 6.25402L3.05048 2.1267C3.23119 1.04241 4.17634 0.25 5.27027 0.25H10.7303C11.8242 0.25 12.7694 1.0424 12.9501 2.1267L13.6365 6.25406C14.817 6.32444 15.75 7.30163 15.75 8.5V12.75H13.75V15.75H9.25V12.75H6.75V15.75H2.25V12.75H0.25V8.5C0.25 7.30144 1.18333 6.32413 2.36404 6.25402ZM3.88531 6.25H12.1152L11.4705 2.3733C11.4112 2.01759 11.0963 1.75 10.7303 1.75H5.27027C4.90429 1.75 4.58946 2.01772 4.53007 2.3733L3.88531 6.25ZM2.5 7.75C2.08421 7.75 1.75 8.08421 1.75 8.5V11.25H14.25V8.5C14.25 8.08421 13.9158 7.75 13.5 7.75H2.5ZM10.75 14.25H12.25V12.75H10.75V14.25ZM5.25 12.75H3.75V14.25H5.25V12.75Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-car__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-cash_stack__a' + uuid + ')'\"><path d=\"M8 2.25C6.48579 2.25 5.25 3.48579 5.25 5C5.25 6.51421 6.48579 7.75 8 7.75C9.51421 7.75 10.75 6.51421 10.75 5C10.75 3.48579 9.51421 2.25 8 2.25ZM6.75 5C6.75 4.31421 7.31421 3.75 8 3.75C8.68579 3.75 9.25 4.31421 9.25 5C9.25 5.68579 8.68579 6.25 8 6.25C7.31421 6.25 6.75 5.68579 6.75 5Z\"/><path d=\"M0.25 0.25H15.75V9.75H0.25V0.25ZM1.75 1.75V8.25H14.25V1.75H1.75Z\"/><path d=\"M15.75 12.75V11.25H0.25V12.75H15.75Z\"/><path d=\"M15.75 15.75V14.25H0.25V15.75H15.75Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-cash_stack__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M10.23 4.29004C9.3156 4.29004 8.51242 4.80018 8.09842 5.55918L7.71295 6.26587L7.03525 5.83145C6.76488 5.65813 6.44513 5.56004 6.1 5.56004C5.10421 5.56004 4.3 6.36425 4.3 7.36004V8.11004H3.55C2.55421 8.11004 1.75 8.91425 1.75 9.91004C1.75 10.9058 2.55421 11.71 3.55 11.71L12.45 11.71C13.4458 11.71 14.25 10.9058 14.25 9.91004V9.90004C14.25 9.12172 13.7547 8.45577 13.0664 8.21937L12.4036 7.99175L12.5858 7.31506C12.6366 7.12648 12.66 6.93285 12.66 6.72004C12.66 5.38272 11.5743 4.29004 10.23 4.29004ZM7.18175 4.24438C7.9021 3.35751 9.0015 2.79004 10.23 2.79004C12.4057 2.79004 14.16 4.55736 14.16 6.72004C14.16 6.83797 14.1552 6.95579 14.145 7.07378C15.113 7.64637 15.75 8.70715 15.75 9.90004V9.91004C15.75 11.7343 14.2742 13.21 12.45 13.21L3.55 13.21C1.72579 13.21 0.25 11.7343 0.25 9.91004C0.25 8.31898 1.37265 6.99297 2.86997 6.68001C3.18293 5.18269 4.50894 4.06004 6.1 4.06004C6.47667 4.06004 6.84115 4.12407 7.18175 4.24438Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-diamond__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M13.4639 1.03003H2.53684L0.118164 5.86738L8.00037 16.0016L15.8826 5.86738L13.4639 1.03003ZM2.10391 5.25L3.46389 2.53003H5.78664L4.42665 5.25H2.10391ZM2.70494 6.75H4.53295L5.90396 10.863L2.70494 6.75ZM6.11409 6.75H9.88569L7.99989 12.4074L6.11409 6.75ZM11.4668 6.75H13.2958L10.0951 10.8652L11.4668 6.75ZM13.8968 5.25H11.5731L10.2131 2.53003H12.5368L13.8968 5.25ZM9.89608 5.25H6.1037L7.46369 2.53003H8.53609L9.89608 5.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-diamond__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8 1.18408L15.75 4.50551V10H14.25V7.13746L12.75 7.78032V9.99996C12.75 11.3087 12.214 12.4948 11.364 13.3566L11.3567 13.364C10.4949 14.214 9.30875 14.75 8 14.75C5.37579 14.75 3.25 12.6242 3.25 9.99996V7.78032L0.25 6.4946V4.50551L8 1.18408ZM14.25 5.50551V5.49461L8 2.81603L1.75 5.49461V5.50551L8 8.18408L14.25 5.50551ZM8 9.81603L4.75 8.42318V9.99996C4.75 11.7957 6.20421 13.25 8 13.25C8.88942 13.25 9.70184 12.8874 10.2997 12.2996C10.8875 11.7018 11.25 10.8894 11.25 9.99996V8.42318L8 9.81603Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-emoticon_happy__a' + uuid + ')'\"><path d=\"M8 11.25C6.75421 11.25 5.75 10.2458 5.75 9H4.25C4.25 11.0742 5.92579 12.75 8 12.75C10.0742 12.75 11.75 11.0742 11.75 9H10.25C10.25 10.2458 9.24579 11.25 8 11.25Z\"/><path d=\"M5 6.75C4.58421 6.75 4.25 7.08421 4.25 7.5H2.75C2.75 6.25579 3.75579 5.25 5 5.25C6.24421 5.25 7.25 6.25579 7.25 7.5H5.75C5.75 7.08421 5.41579 6.75 5 6.75Z\"/><path d=\"M10.25 7.5C10.25 7.08421 10.5842 6.75 11 6.75C11.4158 6.75 11.75 7.08421 11.75 7.5H13.25C13.25 6.25579 12.2442 5.25 11 5.25C9.75579 5.25 8.75 6.25579 8.75 7.5H10.25Z\"/><path d=\"M8 0.25C3.71579 0.25 0.25 3.71579 0.25 8C0.25 12.2842 3.71579 15.75 8 15.75C12.2842 15.75 15.75 12.2842 15.75 8C15.75 3.71579 12.2842 0.25 8 0.25ZM1.75 8C1.75 4.54421 4.54421 1.75 8 1.75C11.4558 1.75 14.25 4.54421 14.25 8C14.25 11.4558 11.4558 14.25 8 14.25C4.54421 14.25 1.75 11.4558 1.75 8Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-emoticon_happy__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-gambling__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.25 0.285553C5.66909 0.436349 4.23359 1.05951 3.07538 2.01472L3.04992 1.98926L1.98926 3.04992L2.01472 3.07538C1.05951 4.23359 0.436349 5.66909 0.285553 7.25H0.25V8.75H0.285553C0.436346 10.3309 1.05949 11.7664 2.01468 12.9246L1.98926 12.95L3.04992 14.0106L3.07533 13.9852C4.23355 14.9405 5.66907 15.5636 7.25 15.7144V15.75H8.75V15.7144C10.331 15.5636 11.7665 14.9404 12.9248 13.9852L12.9502 14.0106L14.0109 12.95L13.9854 12.9245C14.9405 11.7663 15.5637 10.3308 15.7144 8.75H15.75V7.25H15.7144C15.5637 5.66913 14.9405 4.23366 13.9853 3.07546L14.0109 3.04992L12.9502 1.98926L12.9247 2.01479C11.7665 1.05954 10.3309 0.436353 8.75 0.285553V0.25H7.25V0.285553ZM12.9187 11.8578L11.1275 10.0666C11.3873 9.67434 11.5766 9.22909 11.6745 8.75H14.206C14.0676 9.91739 13.6097 10.9798 12.9187 11.8578ZM10.0668 11.1273L11.8581 12.9185C10.98 13.6097 9.91751 14.0676 8.75 14.206V11.6745C9.22921 11.5766 9.67456 11.3872 10.0668 11.1273ZM1.79405 7.25C1.93236 6.08255 2.3903 5.02006 3.0814 4.14206L4.87264 5.9333C4.61275 6.32555 4.4234 6.77085 4.32554 7.25H1.79405ZM4.14206 3.0814C5.02006 2.3903 6.08255 1.93236 7.25 1.79405V4.32554C6.77085 4.4234 6.32555 4.61275 5.9333 4.87264L4.14206 3.0814ZM14.206 7.25H11.6745C11.5766 6.77088 11.3873 6.32561 11.1274 5.93339L12.9187 4.14214C13.6097 5.02013 14.0676 6.08259 14.206 7.25ZM10.25 8C10.25 8.62119 9.99617 9.18317 9.58967 9.58967C9.18317 9.99617 8.62119 10.25 8 10.25C7.37881 10.25 6.81683 9.99617 6.41033 9.58967C6.00383 9.18317 5.75 8.62119 5.75 8C5.75 7.37881 6.00383 6.81683 6.41033 6.41033C6.81683 6.00383 7.37881 5.75 8 5.75C8.62119 5.75 9.18317 6.00383 9.58967 6.41033C9.99617 6.81683 10.25 7.37881 10.25 8ZM3.08136 11.8579C2.39028 10.9799 1.93236 9.91743 1.79405 8.75H4.32554C4.42339 9.22913 4.61273 9.67441 4.8726 10.0666L3.08136 11.8579ZM11.858 3.08147L10.0668 4.8727C9.67452 4.61278 9.22919 4.4234 8.75 4.32554V1.79405C9.91749 1.93236 10.98 2.39033 11.858 3.08147ZM7.25 14.206C6.08253 14.0676 5.02002 13.6097 4.14201 12.9186L5.93324 11.1273C6.3255 11.3872 6.77082 11.5766 7.25 11.6745V14.206Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-gambling__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.53027 5.25C4.28763 5.25 3.28027 6.25736 3.28027 7.5C3.28027 8.74264 4.28763 9.75 5.53027 9.75C6.77292 9.75 7.78027 8.74264 7.78027 7.5C7.78027 6.25736 6.77291 5.25 5.53027 5.25ZM4.78027 7.5C4.78027 7.08579 5.11606 6.75 5.53027 6.75C5.94449 6.75 6.28027 7.08579 6.28027 7.5C6.28027 7.91421 5.94449 8.25 5.53027 8.25C5.11606 8.25 4.78027 7.91421 4.78027 7.5Z\"/><path fill=\"#001222\" d=\"M9.03027 8.25C9.44449 8.25 9.78027 7.91421 9.78027 7.5C9.78027 7.08579 9.44449 6.75 9.03027 6.75C8.61606 6.75 8.28027 7.08579 8.28027 7.5C8.28027 7.91421 8.61606 8.25 9.03027 8.25Z\"/><path fill=\"#001222\" d=\"M12.7803 7.5C12.7803 7.91421 12.4445 8.25 12.0303 8.25C11.6161 8.25 11.2803 7.91421 11.2803 7.5C11.2803 7.08579 11.6161 6.75 12.0303 6.75C12.4445 6.75 12.7803 7.08579 12.7803 7.5Z\"/><path fill=\"#001222\" d=\"M10.5303 6.75C10.9445 6.75 11.2803 6.41421 11.2803 6C11.2803 5.58579 10.9445 5.25 10.5303 5.25C10.1161 5.25 9.78027 5.58579 9.78027 6C9.78027 6.41421 10.1161 6.75 10.5303 6.75Z\"/><path fill=\"#001222\" d=\"M11.2803 9C11.2803 9.41421 10.9445 9.75 10.5303 9.75C10.1161 9.75 9.78027 9.41421 9.78027 9C9.78027 8.58579 10.1161 8.25 10.5303 8.25C10.9445 8.25 11.2803 8.58579 11.2803 9Z\"/><path fill=\"#001222\" d=\"M11.2697 2.25L8.78028 2.25V0.25L7.28028 0.25V2.25L4.7797 2.25C2.82897 2.25 1.20484 3.74958 1.04232 5.68732L0.472266 12.5378L0.471938 12.542C0.338482 14.2636 1.69846 15.75 3.42969 15.75C4.70058 15.75 5.8384 14.9347 6.24121 13.7272L6.56912 12.75L9.48027 12.75L9.80839 13.7278C10.2112 14.9353 11.3488 15.75 12.6197 15.75C14.3573 15.75 15.7239 14.2652 15.577 12.5363L15.0071 5.68732C14.8445 3.74958 13.2204 2.25 11.2697 2.25ZM2.53707 5.81268C2.63467 4.65054 3.61051 3.75 4.7797 3.75L11.2697 3.75C12.4388 3.75 13.4146 4.65066 13.5123 5.81268L14.0824 12.6637C14.1549 13.5145 13.4818 14.25 12.6197 14.25C11.9908 14.25 11.4286 13.8449 11.2312 13.2528L10.5591 11.25L5.49027 11.25L4.81818 13.2528C4.62081 13.8449 4.05859 14.25 3.42969 14.25C2.58155 14.25 1.90191 13.5175 1.9673 12.6599L1.96745 12.658L2.53707 5.81268Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 15.75V8.75H1.25V4.25H3.55173C3.35893 3.87458 3.25 3.44956 3.25 3C3.25 1.48579 4.48579 0.25 6 0.25C6.7865 0.25 7.49789 0.583403 8 1.11605C8.50211 0.583403 9.2135 0.25 10 0.25C11.5142 0.25 12.75 1.48579 12.75 3C12.75 3.44956 12.6411 3.87458 12.4483 4.25H14.75V8.75H13.75V15.75H2.25ZM4.75 3C4.75 3.68579 5.31421 4.25 6 4.25H7.25V3C7.25 2.31421 6.68579 1.75 6 1.75C5.31421 1.75 4.75 2.31421 4.75 3ZM7.25 5.75H2.75V7.25H7.25V5.75ZM8.75 7.25H13.25V5.75H8.75V7.25ZM7.25 8.75H3.75V14.25H7.25V8.75ZM8.75 14.25H12.25V8.75H8.75V14.25ZM8.75 4.25H10C10.6858 4.25 11.25 3.68579 11.25 3C11.25 2.31421 10.6858 1.75 10 1.75C9.31421 1.75 8.75 2.31421 8.75 3V4.25Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.16016 2.27273C2.16016 1.15851 3.06867 0.25 4.18288 0.25C5.2971 0.25 6.20561 1.15851 6.20561 2.27273V3.50039C6.37229 3.45572 6.54735 3.43188 6.72781 3.43188C7.2095 3.43188 7.65274 3.60168 8.00076 3.88449C8.34877 3.60168 8.79202 3.43188 9.2737 3.43188C9.45456 3.43188 9.63 3.45582 9.79701 3.50069C9.82094 2.407 10.72 1.52271 11.8192 1.52271C12.9335 1.52271 13.842 2.43122 13.842 3.54543V9.90907C13.842 13.136 11.228 15.75 8.00106 15.75C4.77412 15.75 2.16016 13.136 2.16016 9.90907V2.27273ZM4.18288 1.75C3.8971 1.75 3.66016 1.98694 3.66016 2.27273V6.68217C3.82699 6.63741 4.00224 6.61353 4.18288 6.61353H4.70508V5.45461C4.70508 5.43901 4.70526 5.42344 4.70561 5.40792V2.27273C4.70561 1.98694 4.46867 1.75 4.18288 1.75ZM6.72834 8.11353H4.18288C3.8971 8.11353 3.66016 8.35047 3.66016 8.63625V9.90907C3.66016 12.3076 5.60255 14.25 8.00106 14.25C10.3996 14.25 12.342 12.3076 12.342 9.90907V3.54543C12.342 3.25965 12.105 3.02271 11.8192 3.02271C11.5335 3.02271 11.2965 3.25965 11.2965 3.54543L11.2964 8.63643C11.2964 9.75064 10.3879 10.6592 9.2737 10.6592C8.79209 10.6592 8.3489 10.4894 8.00091 10.2067C7.65295 10.4893 7.20985 10.659 6.72834 10.659H4.70561V9.15898H6.72834C7.00627 9.15898 7.23801 8.93488 7.25053 8.65969V8.61281C7.23801 8.33763 7.00627 8.11353 6.72834 8.11353ZM8.75105 8.64495C8.7557 8.92691 8.99076 9.15916 9.2737 9.15916C9.55949 9.15916 9.79643 8.92222 9.79643 8.63643V5.45461C9.79643 5.16883 9.55949 4.93188 9.2737 4.93188C8.98792 4.93188 8.75098 5.16883 8.75098 5.45461V8.61719C8.75104 8.62354 8.75106 8.62989 8.75106 8.63625C8.75106 8.63915 8.75106 8.64205 8.75105 8.64495ZM7.25053 6.68203V5.45461C7.25053 5.16883 7.01359 4.93188 6.72781 4.93188C6.44987 4.93188 6.21813 5.15598 6.20561 5.43117V6.61353H6.72834C6.90879 6.61353 7.08385 6.63736 7.25053 6.68203Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.89035 4.25L7.62154 5.8501L9.09557 5.8501L9.36012 4.25L10.8801 4.25L10.6156 5.8501H11.75V7.3501H10.3676L10.1527 8.6499H11.75V10.1499H9.90467L9.64012 11.75L8.12012 11.75L8.38467 10.1499H6.89917L6.63035 11.75H5.11035L5.37917 10.1499H4.25V8.6499L5.63117 8.6499L5.84953 7.3501L4.25 7.3501L4.25 5.8501L6.10154 5.8501L6.37035 4.25L7.89035 4.25ZM7.15117 8.6499L8.63267 8.6499L8.84757 7.3501L7.36954 7.3501L7.15117 8.6499Z\"/><path fill=\"#001222\" d=\"M1.25 3.29C1.25 2.16579 2.16579 1.25 3.29 1.25L12.72 1.25C13.8442 1.25 14.76 2.16579 14.76 3.29L14.76 12.72C14.76 13.8442 13.8442 14.76 12.72 14.76L3.29 14.76C2.16579 14.76 1.25 13.8442 1.25 12.72L1.25 3.29ZM3.29 2.75C2.99422 2.75 2.75 2.99421 2.75 3.29L2.75 12.72C2.75 13.0158 2.99422 13.26 3.29 13.26L12.72 13.26C13.0158 13.26 13.26 13.0158 13.26 12.72L13.26 3.29C13.26 2.99421 13.0158 2.75 12.72 2.75L3.29 2.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M0.25 10.25L2.25 10.25V9C2.25 5.82579 4.82579 3.25 8 3.25C11.1742 3.25 13.75 5.82579 13.75 9V10.25H15.75V14.75L0.25 14.75L0.25 10.25ZM12.25 10.25V9C12.25 6.65421 10.3458 4.75 8 4.75C5.65422 4.75 3.75 6.65421 3.75 9V10.25L12.25 10.25ZM1.75 11.75L1.75 13.25L14.25 13.25V11.75L1.75 11.75Z\"/><path fill=\"#001222\" d=\"M9.75 2.75V1.25L6.25 1.25V2.75L9.75 2.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M13.75 0.25H2.25V1.75H3.25V4.81818C3.25 6.18036 4.05887 7.3097 5.20353 7.99811C4.06268 8.68819 3.25 9.82063 3.25 11.1818V14.25H2.25V15.75H13.75V14.25H12.75V11.1818C12.75 9.81964 11.9411 8.6903 10.7965 8.0019C11.9373 7.31181 12.75 6.17937 12.75 4.81818V1.75H13.75V0.25ZM4.75 4.81818V1.75H11.25V4.81818C11.25 5.71144 10.5573 6.61181 9.35349 7.03076L8.85 7.20598V8.80137L9.35474 8.97604C10.5654 9.39498 11.25 10.2886 11.25 11.1818V11.7864L10.721 11.5219C9.00837 10.6656 6.99253 10.6656 5.2799 11.5219L4.75 11.7868V11.1818C4.75 10.2886 5.44268 9.38819 6.64651 8.96924L7.15 8.79402V7.19863L6.64526 7.02396C5.43459 6.60502 4.75 5.71143 4.75 4.81818ZM4.75 13.4639L5.95072 12.8635C7.24106 12.2183 8.75984 12.2183 10.0502 12.8635L11.25 13.4634V14.25H4.75V13.4639Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-leaf__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M15.84 1.08011C15.87 1.26011 15.9 1.52011 15.92 1.84011V1.83011C15.97 2.47011 16.01 3.35011 15.94 4.33011C15.81 6.26011 15.3 8.74011 13.6 10.4401C11.9 12.1301 9.42 12.6501 7.49 12.7801C6.51 12.8401 5.63 12.8101 4.99 12.7601C4.72 12.7401 4.5 12.7201 4.33 12.7001L1.06 15.9701L0 14.9101L3.27 11.6401C3.25 11.4701 3.23 11.2501 3.21 10.9801C3.16 10.3401 3.12 9.46011 3.19 8.48011C3.32 6.55011 3.83 4.07011 5.53 2.37011C7.23 0.680114 9.71 0.160114 11.64 0.0301139C12.62 -0.0298861 13.5 0.00011389 14.14 0.0501139C14.4168 0.0760623 14.6487 0.102011 14.8227 0.121488C14.8499 0.124529 14.8757 0.127413 14.9 0.130114C14.9408 0.134644 14.9774 0.141226 15.01 0.147072C15.0493 0.15413 15.0827 0.160114 15.11 0.160114C15.14 0.170114 15.17 0.170114 15.17 0.170114H15.19L15.1898 0.171651L15.7096 0.259922L15.7996 0.789922L15.0703 0.90818L15.07 0.910114L15.81 0.790114V0.870114C15.82 0.920114 15.83 0.990114 15.84 1.08011ZM13.4 1.52011C12.91 1.50011 12.35 1.50011 11.74 1.54011L11.73 1.55011C10.77 1.61011 9.75 1.78011 8.81 2.12011V6.11011L13.4 1.52011ZM6.6 3.45011C5.29 4.75011 4.81 6.77011 4.69 8.59011V8.60011C4.65 9.21011 4.65 9.77011 4.67 10.2601L7.32 7.61011V2.87011C7.06 3.04011 6.82 3.23011 6.6 3.45011ZM5.73 11.3101C6.21 11.3301 6.78 11.3301 7.39 11.2901H7.4C9.22 11.1701 11.24 10.6801 12.54 9.38011C12.76 9.16011 12.95 8.92011 13.12 8.66011H8.38L5.73 11.3101ZM13.87 7.16011C14.2 6.22011 14.38 5.21011 14.44 4.24011V4.23011C14.48 3.62011 14.48 3.06011 14.46 2.57011L9.87 7.16011H13.87Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-leaf__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M9.75 6.25V0.25H8.63L1.5 9.75H6.25V15.75H7.38L14.5 6.25H9.75ZM4.5 8.25L8.25 3.25V7.75H11.5L7.75 12.75V8.25H4.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8.75021 11.7499L8.75 8.24991L7.25 8.25L7.25021 11.75L8.75021 11.7499Z\"/><path fill=\"#001222\" d=\"M5.25 4C5.25 2.48122 6.48122 1.25 8 1.25C9.51878 1.25 10.75 2.48122 10.75 4V5.25H11.5C12.7426 5.25 13.75 6.25736 13.75 7.5V12.5C13.75 13.7426 12.7426 14.75 11.5 14.75H4.5C3.25736 14.75 2.25 13.7426 2.25 12.5V7.5C2.25 6.25736 3.25736 5.25 4.5 5.25H5.25V4ZM9.25 4C9.25 3.30964 8.69036 2.75 8 2.75C7.30964 2.75 6.75 3.30964 6.75 4V5.25H9.25V4ZM4.5 6.75C4.08579 6.75 3.75 7.08579 3.75 7.5V12.5C3.75 12.9142 4.08579 13.25 4.5 13.25H11.5C11.9142 13.25 12.25 12.9142 12.25 12.5V7.5C12.25 7.08579 11.9142 6.75 11.5 6.75H4.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-news__a' + uuid + ')'\"><path d=\"M7.25 6.25H12.75V12.75H7.25V6.25ZM8.75 7.75V11.25H11.25V7.75H8.75Z\"/><path d=\"M10.75 3.25H7.25V4.75H10.75V3.25Z\"/><path d=\"M13.5 15.75C14.7442 15.75 15.75 14.7442 15.75 13.5V2.5C15.75 1.25579 14.7442 0.25 13.5 0.25H6.5C5.25579 0.25 4.25 1.25579 4.25 2.5V4.25H2.5C1.25579 4.25 0.25 5.25579 0.25 6.5V13.5C0.25 14.6597 1.12379 15.6123 2.25 15.7363V15.75H13.5ZM6.5 1.75H13.5C13.9158 1.75 14.25 2.08421 14.25 2.5V13.5C14.25 13.9158 13.9158 14.25 13.5 14.25H5.75V2.5C5.75 2.08421 6.08421 1.75 6.5 1.75ZM2.5 14.25C2.08421 14.25 1.75 13.9158 1.75 13.5V6.5C1.75 6.08421 2.08421 5.75 2.5 5.75H4.25V13.5C4.25 13.9158 3.91579 14.25 3.5 14.25H2.5Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-news__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\" transform=\"matrix(1 0 0 -1 0 16)\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.99047 0.25C6.85765 0.25 5.89704 0.935208 5.47759 1.9044C4.03119 2.68871 2.96599 4.13012 2.7463 5.87663L2.4163 8.50663L2.41589 8.51C2.32636 9.25062 1.98383 9.94416 1.45427 10.4656L1.23047 10.6859V13.75H5.35431C5.68227 14.9019 6.74559 15.75 8 15.75C9.25441 15.75 10.3177 14.9019 10.6457 13.75H14.7305V10.6893L14.5108 10.4697C14.0619 10.0208 13.7524 9.46107 13.6074 8.8473L13.2346 5.8764C13.0151 4.13169 11.9599 2.68854 10.5029 1.90326C10.0831 0.934672 9.12284 0.25 7.99047 0.25ZM13.2305 12.25H2.73047V11.2985C3.37295 10.5734 3.78718 9.66208 3.90483 8.69177L4.23463 6.06337C4.4008 4.74299 5.24843 3.65649 6.3979 3.11951L6.70638 2.97541L6.80095 2.64833C6.95173 2.12691 7.42704 1.75 7.99047 1.75C8.5539 1.75 9.02921 2.12691 9.17999 2.64833L9.27491 2.97662L9.58492 3.12039C10.7406 3.65634 11.5799 4.74095 11.7463 6.0636L11.9705 7.85H11.9451L12.0569 8.69805C12.1842 9.6635 12.5895 10.5649 13.2305 11.2958V12.25ZM7.00274 13.75H8.99726C8.76827 14.0529 8.40537 14.25 8 14.25C7.59463 14.25 7.23173 14.0529 7.00274 13.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-prize__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M3.25 0.25H12.75V2.25H15.75V5.5C15.75 6.74421 14.7442 7.75 13.5 7.75H12.6912C12.3705 9.7733 10.7733 11.3705 8.75 11.6912V14.25H11.75V15.75H4.25V14.25H7.25V11.6912C5.2267 11.3705 3.62948 9.7733 3.30882 7.75H2.5C1.25579 7.75 0.25 6.74421 0.25 5.5V2.25H3.25V0.25ZM11.25 7V1.75H4.75V7C4.75 8.79579 6.20421 10.25 8 10.25C9.79579 10.25 11.25 8.79579 11.25 7ZM12.75 3.75V6.25H13.5C13.9158 6.25 14.25 5.91579 14.25 5.5V3.75H12.75ZM3.25 6.25V3.75H1.75V5.5C1.75 5.91579 2.08421 6.25 2.5 6.25H3.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-prize__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8 1.25C6.48579 1.25 5.25 2.48579 5.25 4H6.75C6.75 3.31421 7.31421 2.75 8 2.75C8.68579 2.75 9.25 3.31421 9.25 4C9.25 4.68579 8.68579 5.25 8 5.25H7.25V7.53638L2.68655 9.8181C1.79233 10.2592 1.25 11.1753 1.25 12.1499C1.25 13.5841 2.41579 14.7499 3.85 14.7499H12.15C13.5842 14.7499 14.75 13.5841 14.75 12.1499C14.75 11.1624 14.1872 10.2689 13.324 9.82338L8.75 7.53638V6.64569C9.90191 6.31773 10.75 5.25441 10.75 4C10.75 2.48579 9.51421 1.25 8 1.25ZM3.35114 11.1629L8 8.83843L12.6398 11.1583C13.0144 11.3534 13.25 11.7388 13.25 12.1499C13.25 12.7557 12.7558 13.2499 12.15 13.2499H3.85C3.24421 13.2499 2.75 12.7557 2.75 12.1499C2.75 11.7253 2.98674 11.3422 3.35114 11.1629Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M10.25 13.5C10.25 12.2558 11.2558 11.25 12.5 11.25C13.7442 11.25 14.75 12.2558 14.75 13.5C14.75 14.7442 13.7442 15.75 12.5 15.75C11.2558 15.75 10.25 14.7442 10.25 13.5ZM12.5 12.75C12.0842 12.75 11.75 13.0842 11.75 13.5C11.75 13.9158 12.0842 14.25 12.5 14.25C12.9158 14.25 13.25 13.9158 13.25 13.5C13.25 13.0842 12.9158 12.75 12.5 12.75Z\"/><path fill=\"#001222\" d=\"M4.25 13.5C4.25 12.2558 5.25579 11.25 6.5 11.25C7.74421 11.25 8.75 12.2558 8.75 13.5C8.75 14.7442 7.74421 15.75 6.5 15.75C5.25579 15.75 4.25 14.7442 4.25 13.5ZM6.5 12.75C6.08421 12.75 5.75 13.0842 5.75 13.5C5.75 13.9158 6.08421 14.25 6.5 14.25C6.91579 14.25 7.25 13.9158 7.25 13.5C7.25 13.0842 6.91579 12.75 6.5 12.75Z\"/><path fill=\"#001222\" d=\"M1.8 0.25L0.25 0.25L0.25 1.75L1.8 1.75C2.14923 1.75 2.45368 1.99641 2.52761 2.33156L4.39837 10.75L14.5856 10.75L15.75 6.09233V3.25L4.2683 3.25L3.99225 2.00778C3.76593 0.983269 2.85055 0.25 1.8 0.25ZM5.60163 9.25L4.60163 4.75H6.36421L7.11421 9.25H5.60163ZM11.1142 4.75L10.3642 9.25H8.6349L7.8849 4.75L11.1142 4.75ZM12.6349 4.75L14.25 4.75V5.90767L13.4144 9.25H11.8849L12.6349 4.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-sleep__a' + uuid + ')'\"><path d=\"M13.81 3.25L15.75 1.31V0.25H11.25V1.75H13.19L11.25 3.69V4.75H15.75V3.25H13.81Z\"/><path d=\"M9.86 9.25H11.69C11.73 9.5 11.75 9.74 11.75 10C11.75 11.14 11.42 12.25 10.78 13.2C10.15 14.14 9.25 14.88 8.2 15.31C7.5 15.6 6.75 15.75 6 15.75C5.63 15.75 5.25 15.71 4.88 15.64C3.76 15.42 2.74 14.87 1.93 14.07C1.13 13.26 0.58 12.24 0.36 11.12C0.14 10 0.25 8.85 0.69 7.8C1.12 6.74 1.86 5.85 2.81 5.22C3.75 4.58 4.86 4.25 6 4.25C6.25 4.25 6.5 4.27 6.75 4.31V6.14C6.61 6.22 6.49 6.33 6.37 6.45C6.1 6.73 5.91 7.08 5.81 7.45C5.72 7.83 5.72 8.23 5.82 8.6C5.93 8.98 6.13 9.32 6.4 9.6C6.68 9.87 7.02 10.07 7.4 10.17C7.77 10.28 8.17 10.28 8.55 10.19C8.92 10.09 9.27 9.9 9.55 9.63C9.67 9.51 9.78 9.39 9.86 9.25ZM7.63 13.93C8.41 13.6 9.07 13.06 9.53 12.36C9.79 11.97 9.99 11.55 10.1 11.11C9.74 11.35 9.34 11.53 8.92 11.64C8.29 11.8 7.63 11.79 7 11.62C6.37 11.45 5.8 11.12 5.34 10.66C4.88 10.2 4.55 9.63 4.38 9C4.21 8.38 4.2 7.71 4.36 7.08C4.47 6.66 4.65 6.26 4.89 5.9C4.45 6.02 4.03 6.21 3.64 6.47C2.94 6.93 2.4 7.59 2.07 8.37C1.75 9.15 1.67 10 1.83 10.83C2 11.66 2.4 12.41 2.99 13C3.59 13.6 4.34 14 5.17 14.17C6 14.33 6.85 14.25 7.63 13.93Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-sleep__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M6.99851 0.329277C7.60965 0.0237045 8.32485 0.0237045 8.936 0.329277L8.94763 0.335092L13.4899 2.80661C14.9132 3.5683 15.0156 5.45081 13.8121 6.36022C14.9426 7.15404 14.8998 8.80801 13.8648 9.65083C15.0545 10.501 14.8976 12.4276 13.573 13.1845L13.5662 13.1883L9.01459 15.665L9.00296 15.6708C8.39181 15.9763 7.67662 15.9763 7.06547 15.6708L7.05384 15.665L2.50223 13.1883L2.49544 13.1845C1.20854 12.4491 1.03328 10.6248 2.18975 9.74196C1.0278 8.92492 0.947607 7.14873 2.15756 6.33584C0.997812 5.42474 1.08812 3.5815 2.42848 2.81558L2.43527 2.81171L6.98688 0.335092L6.99851 0.329277ZM7.67888 1.66624L3.16715 4.12114C2.74814 4.36572 2.74509 4.95731 3.15799 5.20694L4.08079 5.66834L7.16483 7.34445L7.74797 7.66845C7.92526 7.75282 8.12695 7.75503 8.30552 7.67508L8.82242 7.35202L11.9204 5.66834L12.8431 5.20696C13.2441 4.96435 13.2605 4.38426 12.781 4.12853L12.7754 4.12558L8.25563 1.66624C8.07219 1.57805 7.86232 1.57805 7.67888 1.66624ZM7.73281 11.0237C7.90254 11.0878 8.08961 11.0801 8.25519 11.0006L11.9197 9.00179L12.8433 8.53998C13.2912 8.2708 13.2066 7.70823 12.865 7.53744L12.2815 7.2457L9.56162 8.72393L8.95041 9.06348L8.93584 9.07077C8.32469 9.37634 7.60949 9.37634 6.99835 9.07077L6.98377 9.06348L6.37257 8.72393L3.65264 7.2457L3.06917 7.53744C2.72758 7.70823 2.64303 8.2708 3.09087 8.53998L3.80065 8.89487L3.81599 8.88721L7.73281 11.0237ZM3.77974 10.5824L3.20296 10.8708C2.85902 11.0427 2.77566 11.6119 3.234 11.8788L7.74583 14.3338C7.92928 14.422 8.13915 14.422 8.3226 14.3338L12.8343 11.8789C13.049 11.7537 13.1599 11.5393 13.168 11.3144C13.1763 11.0868 13.0815 10.9295 12.9709 10.8568L12.416 10.5794L9.0816 12.3981L9.06963 12.4041C8.45848 12.7097 7.74328 12.7097 7.13214 12.4041L7.12016 12.3981L7.07964 12.376C7.05236 12.3637 7.02525 12.3509 6.99835 12.3374L6.98637 12.3315L3.77974 10.5824Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-star__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.99981 0.322998L10.4998 5.32304L15.4723 6.15178L11.8252 10.2041L13.1419 15.4004L8.00327 12.8397L2.97162 15.399L4.18057 10.2109L0.527344 6.15178L5.49979 5.32304L7.99981 0.322998ZM7.99981 3.6771L6.49983 6.67706L3.47227 7.18165L5.81904 9.78917L5.16379 12.6011L7.99635 11.1604L10.8848 12.5997L10.1744 9.79603L12.5273 7.18165L9.49979 6.67706L7.99981 3.6771Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-star__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-support__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M1.98926 3.04992L2.0153 3.07596C0.878906 4.45704 0.25 6.1961 0.25 8C0.25 9.80388 0.878891 11.5429 2.01525 12.924L1.98926 12.95L3.04992 14.0106L3.0759 13.9847C4.45699 15.1211 6.19607 15.75 8 15.75C9.80396 15.75 11.5431 15.1211 12.9242 13.9846L12.9502 14.0106L14.0109 12.95L13.9848 12.9239C15.1211 11.5429 15.75 9.80384 15.75 8C15.75 6.19613 15.1211 4.45711 13.9848 3.07604L14.0109 3.04992L12.9502 1.98926L12.9241 2.01536C11.543 0.878931 9.80394 0.25 8 0.25C6.1961 0.25 4.45704 0.878906 3.07596 2.0153L3.04992 1.98926L1.98926 3.04992ZM12.9179 11.857L11.0911 10.0302C11.423 9.52647 11.6301 8.94655 11.6895 8.33877C11.7716 7.49946 11.5672 6.65772 11.1107 5.95016L12.9179 4.14291C13.7765 5.23764 14.25 6.59441 14.25 8C14.25 9.40557 13.7765 10.7623 12.9179 11.857ZM10.031 11.0914L11.8573 12.9177C10.7625 13.7765 9.40568 14.25 8 14.25C6.59435 14.25 5.23753 13.7765 4.14278 12.9178L5.94737 11.1132C6.5494 11.5017 7.25334 11.7105 7.97579 11.7099C8.71206 11.7093 9.42572 11.4912 10.031 11.0914ZM1.75 8C1.75 6.59437 2.2235 5.23757 3.08217 4.14283L4.85612 5.91678C4.7921 6.01372 4.73242 6.11393 4.67735 6.21715C4.27061 6.97954 4.14082 7.85938 4.31009 8.70673C4.40771 9.19546 4.60134 9.65594 4.876 10.0632L3.08213 11.8571C2.22348 10.7624 1.75 9.4056 1.75 8ZM6.63778 6.18271C6.78433 6.07359 6.94467 5.98212 7.11574 5.91111C7.59328 5.71288 8.12479 5.68638 8.61968 5.83612C9.11457 5.98585 9.54224 6.30256 9.82979 6.73228C10.1173 7.16199 10.247 7.67812 10.1967 8.19272C10.1463 8.70731 9.91909 9.18853 9.55371 9.55437C9.13501 9.97359 8.56697 10.2094 7.97447 10.2099C7.45742 10.2104 6.9562 10.0315 6.55624 9.70383C6.15628 9.37616 5.88231 8.91993 5.78102 8.4129C5.67974 7.90587 5.7574 7.3794 6.00078 6.92321C6.05366 6.82409 6.11366 6.72962 6.18007 6.64042L6.63778 6.18271ZM4.14283 3.08217C5.23757 2.2235 6.59438 1.75 8 1.75C9.40566 1.75 10.7625 2.22352 11.8573 3.08224L10.0608 4.87873C9.75322 4.67132 9.41431 4.50939 9.05408 4.40039C8.227 4.15015 7.33875 4.19445 6.54067 4.52572C6.3216 4.61666 6.11304 4.72767 5.91732 4.85666L4.14283 3.08217Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-support__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 0.25H4.31066L5.70908 1.64842C6.42437 1.39051 7.19811 1.25 8 1.25C11.7242 1.25 14.75 4.27579 14.75 8C14.75 11.7242 11.7242 14.75 8 14.75C4.27579 14.75 1.25 11.7242 1.25 8C1.25 7.19811 1.39051 6.42437 1.64842 5.70908L0.25 4.31066V2.25H2.25V0.25ZM6.75 4.46261C7.14081 4.32489 7.5615 4.25 8 4.25C10.0742 4.25 11.75 5.92579 11.75 8C11.75 10.0742 10.0742 11.75 8 11.75C5.92579 11.75 4.25 10.0742 4.25 8C4.25 7.5615 4.32489 7.14081 4.46261 6.75H2.89933C2.8019 7.15004 2.75 7.56922 2.75 8C2.75 10.8958 5.10421 13.25 8 13.25C10.8958 13.25 13.25 10.8958 13.25 8C13.25 5.10421 10.8958 2.75 8 2.75C7.56922 2.75 7.15004 2.8019 6.75 2.89933V4.46261ZM5.96848 7.02914C5.82837 7.32282 5.75 7.65198 5.75 8C5.75 9.24579 6.75421 10.25 8 10.25C9.24579 10.25 10.25 9.24579 10.25 8C10.25 6.75421 9.24579 5.75 8 5.75C7.65198 5.75 7.32282 5.82837 7.02914 5.96848L9.06077 8.00011L8.00011 9.06077L5.96848 7.02914ZM3.75 1.81066V3.75H1.81066L3.31066 5.25H5.25V3.31066L3.75 1.81066Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M4.83052 1.25C4.04422 1.25 3.31263 1.6937 2.96379 2.40978L1.56637 5.23805L1.5616 5.24848C0.527661 7.5129 2.18566 10.0833 4.67051 10.0833H5.42693C4.60054 12.2801 6.20457 14.75 8.67051 14.75H9.16506L11.0135 10.4369C11.1055 10.2224 11.3164 10.0833 11.5497 10.0833H14.7538L14.7538 1.25L4.83052 1.25ZM12.0869 8.58333L12.0869 2.75L13.2538 2.75V8.58333L12.0869 8.58333ZM10.5869 2.75L10.5869 8.81916C10.169 9.037 9.82821 9.39477 9.63482 9.846L8.19979 13.1944C6.98325 12.8992 6.30718 11.4849 6.96824 10.319L7.96813 8.58333L4.67051 8.58333C3.27889 8.58333 2.35139 7.14771 2.92173 5.88113L4.3096 3.07224L4.31192 3.06745C4.40363 2.87848 4.60449 2.75 4.83052 2.75L10.5869 2.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.33333 1.25H6.83879L4.99031 5.56312C4.89839 5.7776 4.68749 5.91667 4.45414 5.91667H1.25V14.75H11.1733C11.9596 14.75 12.6912 14.3063 13.0401 13.5902L14.4375 10.7619L14.4422 10.7515C15.4762 8.4871 13.8182 5.91667 11.3333 5.91667H10.5769C11.4033 3.71995 9.79927 1.25 7.33333 1.25ZM5.41699 13.25V7.18084C5.83481 6.963 6.17564 6.60523 6.36902 6.154L7.80406 2.80559C9.0206 3.10078 9.69666 4.51506 9.03561 5.681L8.03572 7.41667H11.3333C12.725 7.41667 13.6525 8.85229 13.0821 10.1189L11.6942 12.9278L11.6919 12.9326C11.6002 13.1215 11.3994 13.25 11.1733 13.25H5.41699ZM3.91699 7.41667V13.25H2.75V7.41667H3.91699Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.25 1.25H10.75V4.25H12.5C13.7426 4.25 14.75 5.25736 14.75 6.5V12.5C14.75 13.7426 13.7426 14.75 12.5 14.75H3.5C2.25736 14.75 1.25 13.7426 1.25 12.5V6.5C1.25 5.25736 2.25736 4.25 3.5 4.25H5.25V1.25ZM6.75 4.25H9.25V2.75H6.75V4.25ZM4.25 5.75H3.5C3.08579 5.75 2.75 6.08579 2.75 6.5V12.5C2.75 12.9142 3.08579 13.25 3.5 13.25H4.25V5.75ZM5.75 13.25H10.25V5.75H5.75V13.25ZM11.75 5.75V13.25H12.5C12.9142 13.25 13.25 12.9142 13.25 12.5V6.5C13.25 6.08579 12.9142 5.75 12.5 5.75H11.75Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-warning_diamond__a' + uuid + ')'\"><path d=\"M8.75 4.25V8.41667H7.25V4.25H8.75Z\"/><path d=\"M8 12C8.55228 12 9 11.5523 9 11C9 10.4477 8.55228 10 8 10C7.44772 10 7 10.4477 7 11C7 11.5523 7.44772 12 8 12Z\"/><path d=\"M6.40878 1.03035C7.28746 0.151667 8.71208 0.151669 9.59076 1.03035L14.9694 6.40903C15.8481 7.28771 15.8481 8.71233 14.9694 9.59101L9.59076 14.9697C8.71208 15.8484 7.28746 15.8484 6.40878 14.9697L1.0301 9.59101C0.151424 8.71233 0.151424 7.28771 1.0301 6.40903L6.40878 1.03035ZM8.5301 2.09101C8.23721 1.79811 7.76234 1.79811 7.46944 2.09101L2.09076 7.46969C1.79787 7.76258 1.79787 8.23745 2.09076 8.53035L7.46944 13.909C7.76234 14.2019 8.23721 14.2019 8.5301 13.909L13.9088 8.53035C14.2017 8.23745 14.2017 7.76258 13.9088 7.46969L8.5301 2.09101Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-warning_diamond__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-world__a' + uuid + ')'\"><path d=\"M12.9004 7.3501C13.3146 7.3501 13.6504 7.01431 13.6504 6.6001C13.6504 6.18588 13.3146 5.8501 12.9004 5.8501C12.4862 5.8501 12.1504 6.18588 12.1504 6.6001C12.1504 7.01431 12.4862 7.3501 12.9004 7.3501Z\"/><path d=\"M13.6504 8.69995C13.6504 9.11416 13.3146 9.44995 12.9004 9.44995C12.4862 9.44995 12.1504 9.11416 12.1504 8.69995C12.1504 8.28574 12.4862 7.94995 12.9004 7.94995C13.3146 7.94995 13.6504 8.28574 13.6504 8.69995Z\"/><path d=\"M10.7998 5.94995C11.214 5.94995 11.5498 5.61416 11.5498 5.19995C11.5498 4.78574 11.214 4.44995 10.7998 4.44995C10.3856 4.44995 10.0498 4.78574 10.0498 5.19995C10.0498 5.61416 10.3856 5.94995 10.7998 5.94995Z\"/><path d=\"M11.5498 7.30005C11.5498 7.71426 11.214 8.05005 10.7998 8.05005C10.3856 8.05005 10.0498 7.71426 10.0498 7.30005C10.0498 6.88584 10.3856 6.55005 10.7998 6.55005C11.214 6.55005 11.5498 6.88584 11.5498 7.30005Z\"/><path d=\"M10.7998 10.1499C11.214 10.1499 11.5498 9.81412 11.5498 9.3999C11.5498 8.98569 11.214 8.6499 10.7998 8.6499C10.3856 8.6499 10.0498 8.98569 10.0498 9.3999C10.0498 9.81412 10.3856 10.1499 10.7998 10.1499Z\"/><path d=\"M11.5498 11.5C11.5498 11.9142 11.214 12.25 10.7998 12.25C10.3856 12.25 10.0498 11.9142 10.0498 11.5C10.0498 11.0858 10.3856 10.75 10.7998 10.75C11.214 10.75 11.5498 11.0858 11.5498 11.5Z\"/><path d=\"M8.7002 4.55005C9.11441 4.55005 9.4502 4.21426 9.4502 3.80005C9.4502 3.38584 9.11441 3.05005 8.7002 3.05005C8.28598 3.05005 7.9502 3.38584 7.9502 3.80005C7.9502 4.21426 8.28598 4.55005 8.7002 4.55005Z\"/><path d=\"M7.34961 7.30005C7.34961 7.71426 7.01382 8.05005 6.59961 8.05005C6.1854 8.05005 5.84961 7.71426 5.84961 7.30005C5.84961 6.88584 6.1854 6.55005 6.59961 6.55005C7.01382 6.55005 7.34961 6.88584 7.34961 7.30005Z\"/><path d=\"M8.7002 6.6499C9.11441 6.6499 9.4502 6.31412 9.4502 5.8999C9.4502 5.48569 9.11441 5.1499 8.7002 5.1499C8.28598 5.1499 7.9502 5.48569 7.9502 5.8999C7.9502 6.31412 8.28598 6.6499 8.7002 6.6499Z\"/><path d=\"M7.34961 5.19995C7.34961 5.61416 7.01382 5.94995 6.59961 5.94995C6.1854 5.94995 5.84961 5.61416 5.84961 5.19995C5.84961 4.78574 6.1854 4.44995 6.59961 4.44995C7.01382 4.44995 7.34961 4.78574 7.34961 5.19995Z\"/><path d=\"M8.7002 8.75C9.11441 8.75 9.4502 8.41421 9.4502 8C9.4502 7.58579 9.11441 7.25 8.7002 7.25C8.28598 7.25 7.9502 7.58579 7.9502 8C7.9502 8.41421 8.28598 8.75 8.7002 8.75Z\"/><path d=\"M5.25 3.80005C5.25 4.21426 4.91421 4.55005 4.5 4.55005C4.08579 4.55005 3.75 4.21426 3.75 3.80005C3.75 3.38584 4.08579 3.05005 4.5 3.05005C4.91421 3.05005 5.25 3.38584 5.25 3.80005Z\"/><path d=\"M9.51195 0.398918C8.0086 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM7.95322 1.75018C7.96139 1.84081 7.98602 1.92955 8.02626 2.01195C8.08507 2.13238 8.17507 2.23484 8.2869 2.30869C8.39873 2.38255 8.52831 2.42508 8.66215 2.43188C8.796 2.43868 8.92922 2.40949 9.04795 2.34735C9.16669 2.28521 9.26661 2.19239 9.33732 2.07854C9.36983 2.02619 9.39561 1.97028 9.41428 1.91212C9.856 2.01473 10.2833 2.16467 10.6893 2.35818C10.3275 2.41161 10.0498 2.72343 10.0498 3.1001C10.0498 3.51431 10.3856 3.8501 10.7998 3.8501C11.214 3.8501 11.5498 3.51431 11.5498 3.1001C11.5498 3.00058 11.5304 2.90559 11.4952 2.8187C11.8254 3.04143 12.1351 3.29626 12.4194 3.58059C12.4912 3.65234 12.561 3.72571 12.629 3.80061C12.3489 3.90937 12.1504 4.1815 12.1504 4.5C12.1504 4.91421 12.4862 5.25 12.9004 5.25C13.1304 5.25 13.3362 5.14645 13.4738 4.98342C13.7818 5.54229 14.0041 6.14805 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.7327 10.492 13.6887 10.591 13.6422 10.6886C13.5883 10.3272 13.2767 10.05 12.9004 10.05C12.4862 10.05 12.1504 10.3858 12.1504 10.8C12.1504 11.2143 12.4862 11.55 12.9004 11.55C12.9996 11.55 13.0942 11.5308 13.1809 11.4958C12.7294 12.165 12.1501 12.7438 11.4723 13.1967L11.4439 13.2156C11.3129 12.9967 11.0735 12.8501 10.7998 12.8501C10.3856 12.8501 10.0498 13.1859 10.0498 13.6001C10.0498 13.7008 10.0697 13.7969 10.1057 13.8846C9.43348 14.1251 8.72147 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C3.49007 3.49988 4.46619 2.6988 5.60823 2.22576C6.35565 1.91617 7.15216 1.75618 7.95322 1.75018Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-world__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { BentoButtonActionsList } from '@/core/components/button-actions/button-actions.types';\nimport { VueNodeElement } from '@/types';\n\nimport BagIcon from '@adyen/ui-assets-icons-16/vue/bag';\nimport CarIcon from '@adyen/ui-assets-icons-16/vue/car';\nimport CashStackIcon from '@adyen/ui-assets-icons-16/vue/cash-stack';\nimport CloudIcon from '@adyen/ui-assets-icons-16/vue/cloud';\nimport DiamondIcon from '@adyen/ui-assets-icons-16/vue/diamond';\nimport EducationIcon from '@adyen/ui-assets-icons-16/vue/education';\nimport EmoticonHappyIcon from '@adyen/ui-assets-icons-16/vue/emoticon-happy';\nimport HotelIcon from '@adyen/ui-assets-icons-16/vue/gambling';\nimport GamingIcon from '@adyen/ui-assets-icons-16/vue/gaming';\nimport GiftIcon from '@adyen/ui-assets-icons-16/vue/gift';\nimport HandRockIcon from '@adyen/ui-assets-icons-16/vue/hand-rock';\nimport HashtagIcon from '@adyen/ui-assets-icons-16/vue/hashtag';\nimport HeartIcon from '@adyen/ui-assets-icons-16/vue/heart';\nimport HospitalityIcon from '@adyen/ui-assets-icons-16/vue/hospitality';\nimport HourglassIcon from '@adyen/ui-assets-icons-16/vue/hourglass';\nimport LeafIcon from '@adyen/ui-assets-icons-16/vue/leaf';\nimport LightningIcon from '@adyen/ui-assets-icons-16/vue/lightning';\nimport LockIcon from '@adyen/ui-assets-icons-16/vue/lock';\nimport NewsIcon from '@adyen/ui-assets-icons-16/vue/news';\nimport NotificationIcon from '@adyen/ui-assets-icons-16/vue/notification';\nimport PrizeIcon from '@adyen/ui-assets-icons-16/vue/prize';\nimport RetailIcon from '@adyen/ui-assets-icons-16/vue/retail';\nimport ShoppingCartIcon from '@adyen/ui-assets-icons-16/vue/shopping-cart';\nimport SleepIcon from '@adyen/ui-assets-icons-16/vue/sleep';\nimport StackIcon from '@adyen/ui-assets-icons-16/vue/stack';\nimport StarIcon from '@adyen/ui-assets-icons-16/vue/star';\nimport SupportIcon from '@adyen/ui-assets-icons-16/vue/support';\nimport TargetIcon from '@adyen/ui-assets-icons-16/vue/target';\nimport ThumbsDownIcon from '@adyen/ui-assets-icons-16/vue/thumb-down';\nimport ThumbsUpIcon from '@adyen/ui-assets-icons-16/vue/thumb-up';\nimport TravelBagIcon from '@adyen/ui-assets-icons-16/vue/travel-bag';\nimport WarningDiamondIcon from '@adyen/ui-assets-icons-16/vue/warning-diamond';\nimport WorldIcon from '@adyen/ui-assets-icons-16/vue/world';\n\n/* Public */\n\nexport type BentoHeaderWithViewsItemIconColor = `${BentoHeaderWithViewsItemIconColorEnum}`;\nexport type BentoHeaderWithViewsItemIcon = `${BentoHeaderWithViewsItemIconEnum}`;\nexport interface BentoHeaderWithViewsItemAdditionalConfig {\n /**\n * Label for an additional view setting (e.g. a checkbox or toggle).\n */\n label: string;\n\n /**\n * Boolean value indicating the state of the additional view setting (e.g. checked or toggled).\n */\n value: boolean;\n}\n\nexport interface BentoHeaderWithViewsItem {\n /**\n * Optional icon to display for the view item.\n */\n icon?: BentoHeaderWithViewsItemIcon;\n\n /**\n * Optional color of the icon for the view item.\n */\n iconColor?: BentoHeaderWithViewsItemIconColor;\n\n /**\n * Text label for the view item.\n */\n label: string;\n\n /**\n * Optional boolean indicating if this view item is the default or currently active view.\n */\n isDefault?: boolean;\n\n /**\n * Optional configuration for an additional view setting, such as a filter or option.\n */\n additionalViewSetting?: BentoHeaderWithViewsItemAdditionalConfig;\n}\n\nexport interface BentoHeaderWithViewsProps {\n /**\n * Optional list of actions (buttons) to display in the header.\n * The structure of each action is defined by the `BentoButtonActionsList` type.\n */\n actions?: BentoButtonActionsList;\n\n /**\n * Optional secondary description text to display below the title.\n */\n description?: string;\n\n /**\n * Main title text for the header. This prop is required.\n */\n title: string;\n\n /**\n * Optional array of view items to display as selectable views or tabs.\n * Each item's structure is defined by the `BentoHeaderWithViewsItem` interface.\n */\n views?: BentoHeaderWithViewsItem[];\n\n /**\n * Optional configuration for an additional view setting, such as a filter or option.\n * Defined by the `BentoHeaderWithViewsItemAdditionalConfig` interface.\n */\n additionalViewSetting?: BentoHeaderWithViewsItemAdditionalConfig;\n\n /**\n * Boolean indicating whether there are unsaved changes on the page.\n * This might be used to visually indicate to the user that they need to save their work.\n */\n hasChanges: boolean;\n\n /**\n * String indicating whether to display a prompt, reminding the user to save their changes whenever they switch view tabs.\n * If null, no prompt is shown and changes will always be restored to it's previous settings on view tab change.\n */\n skipUnsavedChangesText: string | null;\n}\n\nexport interface BentoHeaderWithViewsItemUpdate {\n newViews: BentoHeaderWithViewsItem[];\n oldViews: BentoHeaderWithViewsItem[];\n targetViewLabel: BentoHeaderWithViewsItem['label'];\n}\n\n/* Private */\n\nexport enum BentoHeaderWithViewsItemIconColorEnum {\n BLUE = 'blue',\n GREEN = 'green',\n ORANGE = 'orange',\n PRIMARY = 'primary',\n RED = 'red',\n YELLOW = 'yellow',\n}\n\nexport enum BentoHeaderWithViewsItemIconEnum {\n STACK = 'stack',\n LEAF = 'leaf',\n HAND_ROCK = 'hand-rock',\n CAR = 'car',\n EDUCATION = 'education',\n HOTEL = 'hotel',\n TRAVEL_BAG = 'travel-bag',\n LIGHTNING = 'lightning',\n NEWS = 'news',\n PRIZE = 'prize',\n LOCK = 'lock',\n BAG = 'bag',\n DIAMOND = 'diamond',\n TARGET = 'target',\n GIFT = 'gift',\n CASH_STACK = 'cash-stack',\n HASHTAG = 'hashtag',\n CLOUD = 'cloud',\n HOSPITALITY = 'hospitality',\n SHOPPING_CART = 'shopping-cart',\n SLEEP = 'sleep',\n NOTIFICATION = 'notification',\n THUMBS_UP = 'thumb-up',\n THUMBS_DOWN = 'thumb-down',\n STAR = 'star',\n WARNING_DIAMOND = 'warning-diamond',\n RETAIL = 'retail',\n EMOTICON_HAPPY = 'emoticon-happy',\n GAMING = 'gaming',\n SUPPORT = 'support',\n HEART = 'heart',\n HOURGLASS = 'hourglass',\n WORLD = 'world',\n}\n\nexport const BentoHeaderWithViewsItemIconElement: Record<BentoHeaderWithViewsItemIcon, VueNodeElement> = {\n [BentoHeaderWithViewsItemIconEnum.STACK]: StackIcon,\n [BentoHeaderWithViewsItemIconEnum.LEAF]: LeafIcon,\n [BentoHeaderWithViewsItemIconEnum.HAND_ROCK]: HandRockIcon,\n [BentoHeaderWithViewsItemIconEnum.CAR]: CarIcon,\n [BentoHeaderWithViewsItemIconEnum.EDUCATION]: EducationIcon,\n [BentoHeaderWithViewsItemIconEnum.HOTEL]: HotelIcon,\n [BentoHeaderWithViewsItemIconEnum.TRAVEL_BAG]: TravelBagIcon,\n [BentoHeaderWithViewsItemIconEnum.LIGHTNING]: LightningIcon,\n [BentoHeaderWithViewsItemIconEnum.NEWS]: NewsIcon,\n [BentoHeaderWithViewsItemIconEnum.PRIZE]: PrizeIcon,\n [BentoHeaderWithViewsItemIconEnum.LOCK]: LockIcon,\n [BentoHeaderWithViewsItemIconEnum.BAG]: BagIcon,\n [BentoHeaderWithViewsItemIconEnum.DIAMOND]: DiamondIcon,\n [BentoHeaderWithViewsItemIconEnum.TARGET]: TargetIcon,\n [BentoHeaderWithViewsItemIconEnum.GIFT]: GiftIcon,\n [BentoHeaderWithViewsItemIconEnum.CASH_STACK]: CashStackIcon,\n [BentoHeaderWithViewsItemIconEnum.HASHTAG]: HashtagIcon,\n [BentoHeaderWithViewsItemIconEnum.CLOUD]: CloudIcon,\n [BentoHeaderWithViewsItemIconEnum.HOSPITALITY]: HospitalityIcon,\n [BentoHeaderWithViewsItemIconEnum.SHOPPING_CART]: ShoppingCartIcon,\n [BentoHeaderWithViewsItemIconEnum.SLEEP]: SleepIcon,\n [BentoHeaderWithViewsItemIconEnum.NOTIFICATION]: NotificationIcon,\n [BentoHeaderWithViewsItemIconEnum.THUMBS_UP]: ThumbsUpIcon,\n [BentoHeaderWithViewsItemIconEnum.THUMBS_DOWN]: ThumbsDownIcon,\n [BentoHeaderWithViewsItemIconEnum.STAR]: StarIcon,\n [BentoHeaderWithViewsItemIconEnum.WARNING_DIAMOND]: WarningDiamondIcon,\n [BentoHeaderWithViewsItemIconEnum.RETAIL]: RetailIcon,\n [BentoHeaderWithViewsItemIconEnum.EMOTICON_HAPPY]: EmoticonHappyIcon,\n [BentoHeaderWithViewsItemIconEnum.GAMING]: GamingIcon,\n [BentoHeaderWithViewsItemIconEnum.SUPPORT]: SupportIcon,\n [BentoHeaderWithViewsItemIconEnum.HEART]: HeartIcon,\n [BentoHeaderWithViewsItemIconEnum.HOURGLASS]: HourglassIcon,\n [BentoHeaderWithViewsItemIconEnum.WORLD]: WorldIcon,\n};\n\nexport interface BentoHeaderWithViewsEmits {\n /**\n * Emitted when a new view is added to the list of views.\n */\n (e: 'add:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when a view is deleted from the list of views.\n */\n (e: 'delete:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when a view is duplicated.\n */\n (e: 'duplicate:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when the user reorganises the order of the views.\n * No `targetViewLabel` is emitted as the views are reordered as a whole.\n */\n (e: 'reorder:view', value: Omit<BentoHeaderWithViewsItemUpdate, 'targetViewLabel'>): void;\n\n /**\n * Emitted when the user requests to restore a previously saved or default view.\n */\n (e: 'restore:view', value: BentoHeaderWithViewsItem['label']): void;\n\n /**\n * Emitted when the user requests to save the current view.\n */\n (e: 'save:view', value: BentoHeaderWithViewsItem['label']): void;\n\n /**\n * Emitted when the user selects a different view from the available options.\n */\n (e: 'select:view', value: BentoHeaderWithViewsItem['label']): void;\n\n /**\n * Emitted when a property of a view is updated.\n */\n (e: 'update:view', value: BentoHeaderWithViewsItemUpdate): void;\n\n /**\n * Emitted when the user selects the prompt checkbox and closes the modal with a valid button action.\n * Only works when a string is pass into the `skipUnsavedChangesText` prop.\n */\n (e: 'update:skip-unsaved-changes', value: boolean): void;\n}\n\nexport type BentoHeaderWithViewsItemErrors = {\n /**\n * Object where the keys correspond to the properties of `BentoHeaderWithViewsItem`,\n * and the values are strings representing any validation errors for that property.\n */\n [K in keyof BentoHeaderWithViewsItem]: string;\n};\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5 4C5.29667 4 5.58668 3.91203 5.83335 3.74721C6.08003 3.58238 6.27229 3.34811 6.38582 3.07403C6.49935 2.79994 6.52906 2.49834 6.47118 2.20737C6.4133 1.91639 6.27044 1.64912 6.06066 1.43934C5.85088 1.22956 5.58361 1.0867 5.29263 1.02882C5.00166 0.970945 4.70006 1.00065 4.42598 1.11418C4.15189 1.22771 3.91762 1.41997 3.7528 1.66665C3.58797 1.91332 3.5 2.20333 3.5 2.5C3.5 2.89783 3.65804 3.27936 3.93934 3.56066C4.22065 3.84197 4.60218 4 5 4Z\"/><path fill=\"#001222\" d=\"M5.83335 14.7472C5.58668 14.912 5.29667 15 5 15C4.60218 15 4.22065 14.842 3.93934 14.5607C3.65804 14.2794 3.5 13.8978 3.5 13.5C3.5 13.2033 3.58797 12.9133 3.7528 12.6666C3.91762 12.42 4.15189 12.2277 4.42598 12.1142C4.70006 12.0007 5.00166 11.9709 5.29263 12.0288C5.58361 12.0867 5.85088 12.2296 6.06066 12.4393C6.27044 12.6491 6.4133 12.9164 6.47118 13.2074C6.52906 13.4983 6.49935 13.7999 6.38582 14.074C6.27229 14.3481 6.08003 14.5824 5.83335 14.7472Z\"/><path fill=\"#001222\" d=\"M11.8334 14.7472C11.5867 14.912 11.2967 15 11 15C10.6022 15 10.2206 14.842 9.93934 14.5607C9.65803 14.2794 9.5 13.8978 9.5 13.5C9.5 13.2033 9.58797 12.9133 9.7528 12.6666C9.91762 12.42 10.1519 12.2277 10.426 12.1142C10.7001 12.0007 11.0017 11.9709 11.2926 12.0288C11.5836 12.0867 11.8509 12.2296 12.0607 12.4393C12.2704 12.6491 12.4133 12.9164 12.4712 13.2074C12.5291 13.4983 12.4993 13.7999 12.3858 14.074C12.2723 14.3481 12.08 14.5824 11.8334 14.7472Z\"/><path fill=\"#001222\" d=\"M11.8334 3.74721C11.5867 3.91203 11.2967 4 11 4C10.6022 4 10.2206 3.84197 9.93934 3.56066C9.65803 3.27936 9.5 2.89783 9.5 2.5C9.5 2.20333 9.58797 1.91332 9.7528 1.66665C9.91762 1.41997 10.1519 1.22771 10.426 1.11418C10.7001 1.00065 11.0017 0.970945 11.2926 1.02882C11.5836 1.0867 11.8509 1.22956 12.0607 1.43934C12.2704 1.64912 12.4133 1.91639 12.4712 2.20737C12.5291 2.49834 12.4993 2.79994 12.3858 3.07403C12.2723 3.34811 12.08 3.58238 11.8334 3.74721Z\"/><path fill=\"#001222\" d=\"M5 9.5C5.29667 9.5 5.58668 9.41203 5.83335 9.24721C6.08003 9.08238 6.27229 8.84811 6.38582 8.57403C6.49935 8.29994 6.52906 7.99834 6.47118 7.70737C6.4133 7.41639 6.27044 7.14912 6.06066 6.93934C5.85088 6.72956 5.58361 6.5867 5.29263 6.52882C5.00166 6.47094 4.70006 6.50065 4.42598 6.61418C4.15189 6.72771 3.91762 6.91997 3.7528 7.16665C3.58797 7.41332 3.5 7.70333 3.5 8C3.5 8.39783 3.65804 8.77936 3.93934 9.06066C4.22065 9.34197 4.60218 9.5 5 9.5Z\"/><path fill=\"#001222\" d=\"M11.8334 9.24721C11.5867 9.41203 11.2967 9.5 11 9.5C10.6022 9.5 10.2206 9.34197 9.93934 9.06066C9.65803 8.77936 9.5 8.39783 9.5 8C9.5 7.70333 9.58797 7.41332 9.7528 7.16665C9.91762 6.91997 10.1519 6.72771 10.426 6.61418C10.7001 6.50065 11.0017 6.47094 11.2926 6.52882C11.5836 6.5867 11.8509 6.72956 12.0607 6.93934C12.2704 7.14912 12.4133 7.41639 12.4712 7.70737C12.5291 7.99834 12.4993 8.29994 12.3858 8.57403C12.2723 8.84811 12.08 9.08238 11.8334 9.24721Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.25 2.58325H14.75V4.08325H1.25V2.58325Z\"/><path fill=\"#001222\" d=\"M1.25 7.25H14.75V8.75H1.25V7.25Z\"/><path fill=\"#001222\" d=\"M14.75 11.9167H1.25V13.4167H14.75V11.9167Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import { useI18n } from '@/utils/ts/i18n';\nimport { computed, reactive, ref } from 'vue';\nimport {\n BentoHeaderWithViewsItem,\n BentoHeaderWithViewsItemAdditionalConfig,\n BentoHeaderWithViewsItemErrors,\n BentoHeaderWithViewsItemIconColorEnum,\n BentoHeaderWithViewsItemIconEnum,\n BentoHeaderWithViewsItemUpdate,\n} from '../../header-with-views.types';\n\ninterface UseEditViewsProps {\n additionalViewSetting: BentoHeaderWithViewsItemAdditionalConfig | null;\n views: BentoHeaderWithViewsItem[];\n}\n\n/**\n * Composable function to create, edit, update and delete (CRUD) configurations in views.\n *\n * @param options - Configuration object for the CRUD functionality.\n * @returns An object containing reactive state and handler functions for CRUD.\n */\nexport const useEditViews = (options: UseEditViewsProps) => {\n const views = ref<BentoHeaderWithViewsItem[]>(options.views);\n const errors = reactive<BentoHeaderWithViewsItemErrors>({ label: '' });\n\n const { t } = useI18n();\n\n const computedViews = computed<BentoHeaderWithViewsItem[]>(() =>\n views.value.map(viewItem => ({\n ...viewItem,\n\n iconColor: viewItem.iconColor ?? BentoHeaderWithViewsItemIconColorEnum.PRIMARY,\n icon: viewItem.icon ?? BentoHeaderWithViewsItemIconEnum.STACK,\n label: viewItem.label,\n\n ...(viewItem.isDefault !== null ? { isDefault: viewItem.isDefault } : null),\n\n ...(options?.additionalViewSetting\n ? {\n additionalViewSetting: {\n label: options.additionalViewSetting.label,\n value: viewItem.additionalViewSetting?.value ?? options.additionalViewSetting.value,\n },\n }\n : []),\n }))\n );\n\n /**\n * Adds, updates, or deletes a view item based on the provided data and index.\n * If `index` is provided and `data` is `null`, the view at `index` is deleted.\n * If `index` is provided and `data` is an object, the view at `index` is updated with `data`.\n * If `index` is not provided, a new view is added using `data`.\n * @param data - The partial data for the view item to add or update, or `null` to delete.\n * @param index - The optional index of the view item to update or delete.\n */\n const updateView = (data: Partial<BentoHeaderWithViewsItem>, index?: number): BentoHeaderWithViewsItemUpdate => {\n let newViews = [...views.value];\n const oldViews = [...views.value];\n\n let targetViewLabel: BentoHeaderWithViewsItem['label'];\n\n if (newViews[index]) {\n if (!data) {\n // delete\n newViews.splice(index, 1);\n\n targetViewLabel = oldViews[index].label;\n } else {\n // there can only be one default view - remove default view from all other views\n if (data.isDefault) {\n newViews = newViews.map(view => (view.isDefault ? { ...view, isDefault: false } : view));\n }\n\n // update\n newViews[index] = {\n ...newViews[index],\n ...data,\n };\n\n targetViewLabel = newViews[index].label;\n }\n } else {\n // add\n newViews.push(data as BentoHeaderWithViewsItem);\n\n targetViewLabel = data.label;\n }\n\n views.value = [...newViews];\n\n return {\n newViews: views.value,\n oldViews,\n targetViewLabel,\n };\n };\n\n /**\n * Duplicates a view item at the given index, appending a numerical suffix to its label to ensure uniqueness.\n * @param index - The index of the view item to duplicate.\n */\n const duplicateView = (index: number): BentoHeaderWithViewsItemUpdate => {\n const toCopyLabel = computedViews.value[index].label;\n\n let copiedLabel = `(1) - ${toCopyLabel}`;\n let suffix = 1;\n\n while (computedViews.value.some(view => view.label === copiedLabel)) {\n suffix++;\n copiedLabel = `(${suffix}) - ${computedViews.value[index].label}`;\n }\n\n const newView = {\n ...computedViews.value[index],\n label: copiedLabel,\n };\n\n // for duplicates, our target is the view that users want to duplicate\n // instead of the duplicated label\n return {\n ...updateView(newView),\n targetViewLabel: toCopyLabel,\n };\n };\n\n /**\n * Replaces the current list of views with a new array of views.\n * @param newViews - The new array of `BentoHeaderWithViewsItem` to set as the current views.\n * @returns An object containing the `oldViews` (the state before the update) and `newViews` (the new state).\n */\n const setViews = (newViews: BentoHeaderWithViewsItem[]) => {\n const oldViews = views.value;\n\n views.value = newViews;\n\n return { oldViews, newViews };\n };\n\n /** Clears any validation errors related to the view label. */\n const clearError = () => {\n errors.label = '';\n };\n\n /**\n * Validates the provided label for a view item.\n * Sets an error message if the label is empty or if it already exists among other views (excluding the view at the given index).\n * @param value - The label string to validate.\n * @param index - The index of the view item being validated (used to exclude itself from uniqueness checks).\n */\n const validateLabel = (value: BentoHeaderWithViewsItem['label'], index: number) => {\n const labelIsRequired = value.trim().length === 0;\n const labelAlreadyExist = computedViews.value.some(\n (view, viewIndex) => view.label === value && index !== viewIndex\n );\n\n if (labelIsRequired) {\n errors.label = t('labelRequiredError');\n } else if (labelAlreadyExist) {\n errors.label = t('labelNoDuplicateError');\n } else {\n clearError();\n }\n };\n\n return {\n // read\n computedViews,\n errors,\n\n // modify\n clearError,\n duplicateView,\n setViews,\n updateView,\n\n // validations\n validateLabel,\n };\n};\n","import { useEventListener } from '@/directives/click-outside/useEventListener';\nimport { Ref, ref } from 'vue';\nimport { BentoHeaderWithViewsItem, BentoHeaderWithViewsProps } from '../../header-with-views.types';\n\nexport enum UseDragAndDropViewsDirectionEnum {\n UP = 'up',\n DOWN = 'down',\n}\n\ninterface UseDragAndDropViewsProps {\n itemRefs: Ref<HTMLElement[]>;\n items: Ref<BentoHeaderWithViewsProps['views']>;\n onDrop: (value: BentoHeaderWithViewsItem[]) => void;\n}\n\n/**\n * Composable function for implementing drag and drop reordering of views.\n *\n * Requires HTML to have\n * - data-drag-trigger - interactive element that initializes the drag-and-drop\n * - data-drag-item - element that will be dragged\n *\n * @param options - Configuration object for the drag and drop functionality.\n * @returns An object containing reactive state and handler functions for drag and drop.\n */\nexport const useDragAndDropViews = (options: UseDragAndDropViewsProps) => {\n const { itemRefs, items, onDrop } = options;\n\n const animationFrameId = ref<number>(null);\n const draggedViewIndex = ref<number>(null); // track which view item is being dragged\n const dragMousePosition = ref<number>(0); // track the place where the drag started\n const dragKeyboardInitiated = ref<boolean>(false); // track if the drag has been initiated by keyboard\n const dragOffset = ref<number>(0); // track the height of the dragged item - all draggable items have the same height\n const draggingOverViewIndex = ref<number>(null); // track which view item is being hovered over after drag started\n const maxDragOffsetY = ref<number>(0); // track bottom-most draggable location\n const minDragOffsetY = ref<number>(0); // track top-most draggable location\n\n const menuItemsElementRects = ref<Pick<DOMRect, 'top' | 'bottom' | 'height'>[]>([]);\n\n /*\n * Public functions\n */\n\n /**\n * Checks if a specific item is currently being dragged.\n * @param index The index of the item to check.\n * @returns `true` if the item at the given index is being dragged, `false` otherwise.\n */\n const isItemDragged = (index: number) => draggedViewIndex.value === index;\n\n /**\n * Initiates the drag operation. This function is called when a drag is started\n * either by a mouse click and drag or by a keyboard action. It sets up the\n * initial state for the drag operation, including the dragged item's index,\n * its dimensions, and the boundaries for movement.\n * @param index The index of the item that is being dragged.\n * @param event The MouseEvent or KeyboardEvent that triggered the drag start.\n */\n const handleDragStart = (index: number, event: MouseEvent | KeyboardEvent) => {\n if (!(event.target as HTMLElement).closest('[data-drag-trigger]')) {\n // skip if the grab icon button isn't the target\n return;\n }\n\n draggedViewIndex.value = index;\n\n updateMenuItemsRects();\n\n // Store the initial offset of the mouse pointer within the dragged element\n const draggedElement = itemRefs.value[index];\n\n if (!draggedElement) {\n return;\n }\n\n if (typeof (event as MouseEvent).clientY === 'number') {\n // clientY only exist on MouseEvent\n\n dragMousePosition.value = (event as MouseEvent).clientY;\n } else if (typeof (event as KeyboardEvent).key === 'string') {\n // clientY only exist on KeyboardEvent\n\n dragKeyboardInitiated.value = true;\n }\n\n dragOffset.value = draggedElement.clientHeight;\n\n // since all the height of the items are the same,\n // how far the dragged item can go is determined by checking it's current index and multiplying it\n maxDragOffsetY.value = dragOffset.value * (itemRefs.value.length - index - 1); // how far down the dragged item can go\n minDragOffsetY.value = -(dragOffset.value * index); // how far top the dragged item can go\n\n // ensure that the grab is shown even if user is outside of the popover\n document.documentElement.style.cursor = 'grabbing';\n document.documentElement.style.userSelect = 'none';\n };\n\n /**\n * Toggles the keyboard-initiated drag state. If a drag is not active, it starts one.\n * If a drag is already active (initiated by keyboard), it finalizes the drag operation\n * by calling `handleDrop`. This function is typically bound to an \"Enter\" key press.\n * @param index The index of the item to toggle drag for.\n * @param event The KeyboardEvent that triggered the toggle.\n */\n const handleDragKeyboardToggle = (index: number, event: KeyboardEvent) => {\n if (!dragKeyboardInitiated.value) {\n draggingOverViewIndex.value = index;\n\n handleDragStart(index, event);\n\n return;\n }\n\n handleDrop();\n };\n\n /**\n * Handles keyboard-driven movement of a dragged item. This function is called\n * when arrow keys (up/down) are pressed during a keyboard-initiated drag.\n * It updates the `draggingOverViewIndex` and visually transforms the elements\n * to simulate movement.\n * @param direction The direction of movement ('up' or 'down').\n * @param event The KeyboardEvent that triggered the move.\n */\n const handleDragKeyboardMove = (direction: `${UseDragAndDropViewsDirectionEnum}`, event: KeyboardEvent) => {\n if (!dragKeyboardInitiated.value) {\n return;\n }\n\n // prevent scrolling\n event.preventDefault();\n\n // scenarios to cover:\n // 1. dragging an item to the bottom\n // 2. dragging an item to the bottom and back up\n // 3. dragging an item to the top\n // 4. dragging an item to the top and back down\n // 5. dragging an item in place\n\n const upperBound = itemRefs.value.length - 1;\n const lowerBound = 0;\n const isGoingDownwards = direction === UseDragAndDropViewsDirectionEnum.DOWN;\n const isGoingUpwards = direction === UseDragAndDropViewsDirectionEnum.UP;\n\n // covers case 5 - up or down is pressed when the item is at the extremes\n if (\n (isGoingUpwards && draggingOverViewIndex.value === lowerBound) ||\n (isGoingDownwards && draggingOverViewIndex.value === upperBound)\n ) {\n return;\n }\n\n let targetElementIndex = draggingOverViewIndex.value + 1;\n\n if (isGoingUpwards) {\n targetElementIndex = draggingOverViewIndex.value - 1;\n }\n\n const isTargetAfterDragged = draggedViewIndex.value < targetElementIndex;\n const isTargetBeforeDragged = draggedViewIndex.value > targetElementIndex;\n\n // Indicators for when case 2 and 4 occurs\n const isDirectionReversed =\n (isGoingDownwards && isTargetBeforeDragged) ||\n (isGoingUpwards && isTargetAfterDragged) ||\n // This doesn't typically need transformation, but in a \"reversed\" direction,\n // it may potentially need to pass through it's original position\n draggedViewIndex.value === targetElementIndex;\n\n if (targetElementIndex > upperBound || targetElementIndex < lowerBound) {\n return;\n }\n\n const updateDraggedElementTransform = () => {\n const draggedElement = itemRefs.value[draggedViewIndex.value];\n const offset = clampTransform((draggingOverViewIndex.value - draggedViewIndex.value) * dragOffset.value);\n\n draggedElement.style.transform = `translateY(${offset}px)`;\n };\n\n const updateTargetElementTransform = () => {\n const targetElement = itemRefs.value[draggingOverViewIndex.value];\n const targetElementOffset = isGoingDownwards ? -dragOffset.value : dragOffset.value;\n\n targetElement.style.transform = isDirectionReversed\n ? 'translateY(0px)'\n : `translateY(${targetElementOffset}px)`;\n };\n\n if (!isDirectionReversed) {\n // normal reorder - case 1, 3\n draggingOverViewIndex.value = targetElementIndex;\n updateDraggedElementTransform();\n updateTargetElementTransform();\n\n return;\n }\n\n // revert reorder - case 2, 4\n updateTargetElementTransform();\n draggingOverViewIndex.value = targetElementIndex;\n updateDraggedElementTransform();\n };\n\n /**\n * Stops the drag operation and resets the UI and internal state.\n * This function is called when the drag is completed (e.g., mouse button released,\n * or keyboard drag finalized). It also cleans up any applied CSS transforms.\n * @param event Optional KeyboardEvent that triggered the drag stop.\n */\n const handleDragStop = (event?: KeyboardEvent) => {\n if (event && dragKeyboardInitiated.value) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n animationFrameId.value = requestAnimationFrame(() => {\n itemRefs.value.forEach(menuItem => {\n const el = menuItem;\n\n el.style.transform = '';\n });\n\n animationFrameId.value = null;\n });\n\n // Reset drag pointer events\n draggingOverViewIndex.value = null;\n draggedViewIndex.value = null;\n\n // Reset drag UI\n document.documentElement.style.cursor = '';\n document.documentElement.style.userSelect = '';\n\n // Reset drag keyboard events\n dragKeyboardInitiated.value = null;\n };\n\n /*\n * Private functions\n */\n\n const handleDragMove = (event: MouseEvent) => {\n // skip if drag and drop is initiated by keyboard\n if (draggedViewIndex.value === null || animationFrameId.value || dragKeyboardInitiated.value) {\n return;\n }\n\n animationFrameId.value = requestAnimationFrame(() => {\n const mousePosition = event.clientY;\n const overItemIndex = menuItemsElementRects.value.findIndex(\n (rect, index) =>\n (mousePosition >= rect.top && mousePosition <= rect.bottom) ||\n (mousePosition <= rect.top && index === 0) ||\n (mousePosition >= rect.bottom && index === menuItemsElementRects.value.length - 1)\n );\n\n if (overItemIndex !== -1 && overItemIndex !== draggingOverViewIndex.value) {\n draggingOverViewIndex.value = overItemIndex;\n }\n\n updateDragPosition(mousePosition);\n\n animationFrameId.value = null;\n });\n };\n\n const handleDrop = () => {\n if (draggedViewIndex.value === null) {\n return;\n }\n\n const draggedElement = itemRefs.value[draggedViewIndex.value];\n\n if (!draggedElement) {\n return;\n }\n\n // check if there are shifts\n // handle case where the item is dragged around but placed back into it's original position\n const isNotShifted = draggedViewIndex.value === draggingOverViewIndex.value;\n\n if (isNotShifted) {\n handleDragStop();\n\n return;\n }\n\n // re-order the menu items\n const draggedItem = items.value[draggedViewIndex.value];\n const newMenuItems = [...items.value];\n\n newMenuItems.splice(draggedViewIndex.value, 1);\n newMenuItems.splice(draggingOverViewIndex.value, 0, draggedItem);\n\n transferFocus();\n handleDragStop();\n\n onDrop(newMenuItems);\n };\n\n const updateDragPosition = (mousePosition: number) => {\n // 1. set the current \"dragged\" item's position so that it looks like it is dragged\n const draggedElement = itemRefs.value[draggedViewIndex.value];\n\n if (!draggedElement) {\n return;\n }\n\n draggedElement.style.transform = `translateY(${clampTransform(mousePosition - dragMousePosition.value)}px)`;\n\n const threshold = 0.25;\n const isGoingDownwards = draggedViewIndex.value < draggingOverViewIndex.value;\n const isGoingUpwards = draggedViewIndex.value > draggingOverViewIndex.value;\n\n // 2. loop through every item in the menu and transform them\n for (let i = 0; i < menuItemsElementRects.value.length; i++) {\n if (i === draggedViewIndex.value) {\n continue;\n }\n\n const targetElement = itemRefs.value[i];\n const targetElementRect = menuItemsElementRects.value[i];\n\n const distanceFromTop = mousePosition - targetElementRect.top;\n const percentFromTop = distanceFromTop / targetElementRect.height;\n\n // scenarios to cover when optimisation is needed:\n // 1. dragging an item to the bottom\n // 2. dragging an item to the bottom and without releasing, back up\n // 3. dragging an item to the top\n // 4. dragging an item to the top and without releasing, back down\n // 5. dragging an item in place\n if (percentFromTop >= threshold && isGoingDownwards) {\n // covers scenario 1\n\n if (i < draggedViewIndex.value) {\n // avoid transforming an untouched item\n continue;\n }\n\n targetElement.style.transform = `translateY(-${dragOffset.value}px)`;\n } else if (percentFromTop <= 1 - threshold && isGoingUpwards) {\n // covers scenario 3\n\n if (i > draggedViewIndex.value) {\n // avoid transforming an untouched item\n continue;\n }\n\n targetElement.style.transform = `translateY(${dragOffset.value}px)`;\n } else {\n // covers scenario 2, 4, 5\n\n targetElement.style.transform = 'translateY(0px)';\n }\n }\n };\n\n const transferFocus = () => {\n const activeElement = document.activeElement;\n\n if (!activeElement?.closest('[data-drag-item]')) {\n return;\n }\n\n // usually, HTML will blur the item after drag and drop\n // this is used to handle the edge case where users tab onto the grab icon and then switch to using the mouse\n (\n itemRefs.value[draggingOverViewIndex.value]?.querySelector('[data-drag-trigger]') satisfies HTMLElement\n )?.focus();\n };\n\n const clampTransform = (value: number) => {\n return Math.max(minDragOffsetY.value, Math.min(maxDragOffsetY.value, value));\n };\n\n // cache rects to prevent getBoundingClientRect() from being intrusive\n // needed to ensure that mouse outside of the popover still relocates the dragged item\n const updateMenuItemsRects = () => {\n menuItemsElementRects.value = itemRefs.value.map(itemEl => {\n const { top, bottom, height } = itemEl.getBoundingClientRect();\n\n return {\n top,\n bottom,\n height,\n };\n });\n };\n\n useEventListener(document, 'pointermove', handleDragMove);\n useEventListener(document, 'pointerup', handleDrop, { capture: true });\n useEventListener(document, 'keydown', (event: KeyboardEvent) => {\n if (event.key !== 'Tab' || draggedViewIndex.value === null) {\n return;\n }\n\n // prevent user from clicking Tab while drag is initiated\n event.preventDefault();\n });\n useEventListener(document, 'pointerdown', () => {\n // stop drag if it was dragged by keyboard and user changes to use a mouse\n if (dragKeyboardInitiated.value) {\n handleDragStop();\n }\n });\n\n return {\n draggedViewIndex,\n draggingOverViewIndex,\n isItemDragged,\n handleDragKeyboardToggle,\n handleDragKeyboardMove,\n handleDragStart,\n handleDragStop,\n };\n};\n","import { useElementSize } from '@vueuse/core';\nimport { nextTick, Ref, ref, watch } from 'vue';\n\ninterface UseResponsiveViewsProps {\n container: Ref<HTMLElement>;\n children: Ref<HTMLElement[]>;\n offset: Ref<HTMLElement>;\n activeViewIndex: Ref<number>;\n}\n\n/**\n * Composable function for dynamically adjusting the visibility of view elements\n * within a container to ensure the active view remains visible and the total\n * width of displayed views fits within the container's width.\n *\n * @param elements - Configuration object containing refs to the container,\n * view elements, an offset element, and the active view index.\n * @returns An object containing reactive state for the maximum number of\n * views that can be displayed.\n */\nexport const useResponsiveViews = (elements: UseResponsiveViewsProps) => {\n const { container, children, offset, activeViewIndex } = elements;\n\n const maxDisplayedViews = ref<number>(children.value.length);\n\n const { width } = useElementSize(container);\n\n // responsible for calculating the number of views to be shown\n // and to keep the active view shown in the bar\n watch(\n [width, activeViewIndex, children],\n async ([containerWidth, newActiveViewIndex, childrenEl], [, oldActiveViewIndex]) => {\n const numberOfChildren = childrenEl.length;\n\n if (numberOfChildren === 0) {\n return;\n }\n\n // include the any additional spacing or the side buttons\n let totalWidth = offset.value.offsetWidth;\n\n // reset the views to display all views\n maxDisplayedViews.value = numberOfChildren;\n\n // reset any active children\n // case: when user click on a new active view\n // avoid: resetting when only the width changed and the activeIndex stays the same\n const previousActiveChild = childrenEl[oldActiveViewIndex];\n\n if (previousActiveChild) {\n previousActiveChild.style.display = 'none';\n }\n\n // loop through all children and count how many children can fit in the viewport\n for (let index = 0; index < numberOfChildren; index++) {\n const child = childrenEl[index];\n\n // temporarily enabled it so that the width can be obtained\n // `display: none` = 0 width\n child.style.display = 'inline-flex';\n\n if (totalWidth + child.offsetWidth <= containerWidth) {\n totalWidth += child.offsetWidth;\n } else {\n maxDisplayedViews.value = index;\n\n // the algorithms performs a lookahead\n // if the next child, that was enabled previously, does not fit, hide it again\n\n child.style.display = 'none';\n\n break;\n }\n }\n\n // if the active view is already in the bar i.e. users can see, skip\n if (newActiveViewIndex < maxDisplayedViews.value || newActiveViewIndex === null) {\n return;\n }\n\n await nextTick();\n\n // ensure that the active view is always shown in the bar as the last item\n // loops through the items that are shown in the bar, from the end, remove them if they no longer fit\n let index = maxDisplayedViews.value - 1;\n const activeChild = childrenEl[newActiveViewIndex];\n\n activeChild.style.display = 'inline-flex';\n totalWidth += activeChild.offsetWidth;\n\n // if even the active child doesn't fit in the viewport, don't show\n //\n // EDGE CASE: title + action buttons are extremely long\n if (index < 0 && totalWidth > containerWidth) {\n activeChild.style.display = 'none';\n\n return;\n }\n\n // CASE:\n // when the active view is LONGER than most items in the bar,\n // hide as many items as possible until active view fits\n //\n // CASE:\n // when the active view is SHORTER than most items in the bar,\n // show as many as possible until active view fits\n while (totalWidth > containerWidth && index >= 0) {\n const child = children.value[index];\n\n totalWidth -= child.offsetWidth;\n\n child.style.display = 'none';\n\n index--;\n }\n },\n { immediate: true }\n );\n\n // responsible to hide any views that are more than the decided numbers of views\n watch([maxDisplayedViews, () => children.value.length], ([newMaxDisplayedViews, numberOfChildren]) => {\n for (let index = newMaxDisplayedViews; index < numberOfChildren; index++) {\n const child = children.value[index];\n\n child.style.display = 'none';\n }\n });\n\n return {\n maxDisplayedViews,\n };\n};\n","<template>\n <div\n ref=\"allViewsRef\"\n class=\"b-header-with-views-all-views\"\n data-testid=\"header-with-views-all-views\"\n @keydown.esc.stop.prevent=\"closeMenu\"\n >\n <bento-toggle-button\n ref=\"allViewsMenuToggleRef\"\n aria-haspopup=\"true\"\n :aria-expanded=\"showMenu\"\n :aria-controls=\"showMenu ? menuPopoverId : null\"\n variant=\"tertiary\"\n :toggled=\"showMenu\"\n @click=\"toggleShowMenu\"\n >\n <template #iconLeft>\n <menu-icon :svg-title=\"t('toggleAllViews')\" />\n </template>\n </bento-toggle-button>\n\n <bento-popover\n v-if=\"allViewsMenuToggleRef\"\n :id=\"menuPopoverId\"\n ref=\"allViewsMenuPopoverRef\"\n class=\"b-header-with-views-all-views__popover\"\n :open=\"showMenu\"\n :target-element=\"allViewsMenuToggleRef\"\n :fixed-positioning=\"true\"\n :overflow-visible=\"true\"\n position=\"bottom-end\"\n without-space\n >\n <output\n v-if=\"draggedViewIndex !== null && draggingOverViewIndex !== null\"\n class=\"b-header-with-views-all-views__popover-status\"\n >\n {{\n t('movingDraggedToPosition', {\n dragged: menuItems[draggedViewIndex].label,\n draggingOver: menuItems[draggingOverViewIndex].label,\n })\n }}\n </output>\n\n <ul ref=\"menuRef\" class=\"b-header-with-views-all-views__popover-menu\">\n <li\n v-for=\"(item, index) in menuItems\"\n ref=\"menuItemRefs\"\n :key=\"index\"\n data-drag-item\n class=\"b-header-with-views-all-views__popover-menu-item\"\n :class=\"conditionalDraggableItemClass(index)\"\n @pointerdown=\"handleDragStart(index, $event)\"\n >\n <div class=\"b-header-with-views-all-views__popover-menu-item-content\">\n <bento-button\n data-drag-trigger\n class=\"b-header-with-views-all-views__popover-menu-item-button b-header-with-views-all-views__popover-menu-item-button-reorder\"\n variant=\"tertiary\"\n :aria-pressed=\"isItemDragged(index)\"\n @keydown.enter.native=\"handleDragKeyboardToggle(index, $event)\"\n @keydown.space.native=\"handleDragKeyboardToggle(index, $event)\"\n @keydown.down.native=\"handleDragKeyboardMove(UseDragAndDropViewsDirectionEnum.DOWN, $event)\"\n @keydown.up.native=\"handleDragKeyboardMove(UseDragAndDropViewsDirectionEnum.UP, $event)\"\n @keydown.esc.native=\"handleDragStop\"\n >\n <template #iconLeft>\n <grab-icon :svg-title=\"t('reorderView', { label: item.label })\" />\n </template>\n </bento-button>\n\n <bento-button\n data-view-select\n class=\"b-header-with-views-all-views__popover-menu-item-button b-header-with-views-all-views__popover-menu-item-button-select\"\n variant=\"tertiary\"\n @click=\"emit('select:view', index)\"\n >\n <template #iconLeft>\n <span\n class=\"b-header-with-views-all-views__popover-menu-item-button-icon\"\n :class=\"`b-header-with-views-all-views__popover-menu-item-button-icon--${item.iconColor}`\"\n aria-hidden=\"true\"\n >\n <component :is=\"BentoHeaderWithViewsItemIconElement[item.icon]\" />\n </span>\n </template>\n\n <bento-typography\n el=\"span\"\n variant=\"body\"\n class=\"b-header-with-views-all-views__popover-menu-item-button-text\"\n >\n {{ item.label }}\n </bento-typography>\n </bento-button>\n\n <bento-menu\n ref=\"editViewMenuRefs\"\n data-view-menu\n class=\"b-header-with-views-all-views__popover-menu-item-button\"\n :button=\"{ variant: 'tertiary', condensed: true }\"\n :close-on-click-outside-options=\"menuCloseOnClickOutsideOptions\"\n :data=\"menuItemsActions\"\n menu-position=\"right-start\"\n @open=\"emit('open:view-menu', index)\"\n @close=\"emit('close:view-menu', index)\"\n @keydown.tab.native.capture=\"closeViewMenuNatively(index)\"\n >\n <template #iconLeft>\n <options-horizontal-icon :svg-title=\"t('openViewOptions', { label: item.label })\" />\n </template>\n </bento-menu>\n </div>\n </li>\n </ul>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton, BentoToggleButton } from '@/components/button';\n import { BentoHeaderWithViewsItemIconElement } from '@/components/header-with-views/header-with-views.types';\n import { BentoMenu } from '@/components/menu';\n import { BentoPopover } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { useClickOutside } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { useI18n } from '@/utils/ts/i18n';\n import GrabIcon from '@adyen/ui-assets-icons-16/vue/grab';\n import MenuIcon from '@adyen/ui-assets-icons-16/vue/menu';\n import OptionsHorizontalIcon from '@adyen/ui-assets-icons-16/vue/options-horizontal';\n import { nextTick, ref, toRef } from 'vue';\n import { useDragAndDropViews, UseDragAndDropViewsDirectionEnum } from '../../composables';\n import { HeaderWithViewsAllViewsProps } from './header-with-views-all-views.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n menuCloseOnClickOutsideOptions: null,\n menuItems: null,\n menuItemsActions: null\n});\n\n const emit = defineEmits([\"close:all-views\", \"close:view-menu\", \"open:all-views\", \"open:view-menu\", \"select:view\", \"reorder:view\"]);\n\n const showMenu = ref(false);\n const allViewsMenuToggleRef = ref(null);\n const allViewsMenuPopoverRef = ref(null);\n const allViewsRef = ref(null);\n const menuRef = ref(null);\n const menuItemRefs = ref<HTMLElement[]>(null);\n const editViewMenuRefs = ref(null);\n\n const menuPopoverId = generateUid('menu-popover');\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n useClickOutside(allViewsMenuPopoverRef, () => closeMenu(), {\n ignore: [allViewsMenuToggleRef, ...(props.menuCloseOnClickOutsideOptions?.ignore ?? [])],\n });\n\n const openMenu = () => {\n showMenu.value = true;\n\n emit('open:all-views');\n };\n\n const closeMenu = async () => {\n if (!showMenu.value) {\n return;\n }\n\n showMenu.value = false;\n\n emit('close:all-views');\n\n await nextTick();\n\n allViewsMenuToggleRef.value.$el.focus();\n };\n\n const toggleShowMenu = (e: MouseEvent) => {\n e.stopPropagation();\n\n if (!showMenu.value) {\n openMenu();\n } else {\n closeMenu();\n }\n };\n\n const {\n draggedViewIndex,\n draggingOverViewIndex,\n isItemDragged,\n handleDragKeyboardMove,\n handleDragKeyboardToggle,\n handleDragStart,\n handleDragStop,\n } = useDragAndDropViews({\n items: toRef(props, 'menuItems'),\n itemRefs: menuItemRefs,\n onDrop: value => emit('reorder:view', value),\n });\n\n const conditionalDraggableItemClass = (index: number) => ({\n ['b-header-with-views-all-views__popover-menu-item--dragging']: isItemDragged(index),\n });\n\n const closeViewMenuNatively = (index: number) => {\n // skip built-in refocus on the menu button when menu is closed\n // enables tab to flow as intended by HTML spec\n editViewMenuRefs.value[index].closeMenu(false);\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * Internal component to handle the logic for the list of all views available.\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./header-with-views-all-views.scss\" />\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-circle_filled__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M8 0.25C3.71979 0.25 0.25 3.71979 0.25 8C0.25 12.2802 3.71979 15.75 8 15.75C12.2802 15.75 15.75 12.2802 15.75 8C15.75 3.71979 12.2802 0.25 8 0.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-circle_filled__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","import {\n BentoHeaderWithViewsItemAdditionalConfig,\n BentoHeaderWithViewsItemErrors,\n BentoHeaderWithViewsItemIcon,\n BentoHeaderWithViewsItemIconColor,\n} from '../../header-with-views.types';\n\ntype HeaderWithViewsEditFormContext = `${HeaderWithViewsEditFormContextEnum}`;\n\nexport enum HeaderWithViewsEditFormContextEnum {\n EDIT = 'edit',\n CREATE = 'create',\n}\n\nexport interface HeaderWithViewsEditFormProps {\n additionalFormItem?: BentoHeaderWithViewsItemAdditionalConfig;\n context?: HeaderWithViewsEditFormContext;\n errors?: BentoHeaderWithViewsItemErrors;\n icon?: BentoHeaderWithViewsItemIcon;\n iconColor?: BentoHeaderWithViewsItemIconColor;\n label?: string;\n}\n","<template>\n <form class=\"b-header-with-views-edit-form\">\n <field-label>{{ t('title') }}</field-label>\n\n <div class=\"b-header-with-views-edit-form__icon-choice-alert\" role=\"alert\">{{ computedAlert }}</div>\n\n <div class=\"b-header-with-views-edit-form__icon-selector\">\n <bento-toggle-button\n ref=\"iconSelectorButtonRef\"\n variant=\"secondary\"\n :aria-expanded=\"showIconSelectorPopover\"\n :aria-controls=\"showIconSelectorPopover ? iconPopoverId : null\"\n :toggled=\"showIconSelectorPopover\"\n @click=\"showIconSelectorPopover = !showIconSelectorPopover\"\n >\n <template #iconLeft>\n <component\n :is=\"BentoHeaderWithViewsItemIconElement[iconValue]\"\n :class=\"`b-header-with-views-edit-form__icon-color--${iconColorValue}`\"\n :svg-title=\"t('viewIcons')\"\n />\n </template>\n </bento-toggle-button>\n\n <bento-popover\n v-if=\"iconSelectorButtonRef\"\n :id=\"iconPopoverId\"\n ref=\"iconPopoverRef\"\n class=\"b-header-with-views-edit-form__icon-selector-popover\"\n :target-element=\"iconSelectorButtonRef\"\n :open=\"showIconSelectorPopover\"\n :fallback-position=\"['bottom-end']\"\n :fixed-positioning=\"true\"\n :overflow-visible=\"true\"\n position=\"bottom-end\"\n @dismiss=\"showIconSelectorPopover = false\"\n @keydown.escape.native.capture.stop.prevent=\"showIconSelectorPopover = false\"\n >\n <div class=\"b-header-with-views-edit-form__icon-panel\">\n <div class=\"b-header-with-views-edit-form__icon-color-options\">\n <div\n v-for=\"(color, index) in iconColorOptions\"\n :key=\"index\"\n class=\"b-header-with-views-edit-form__icon-options-wrapper\"\n >\n <bento-button\n class=\"b-header-with-views-edit-form__icon-color-options-button\"\n :class=\"`b-header-with-views-edit-form__icon-color--${color}`\"\n :aria-selected=\"iconColorValue === color\"\n variant=\"tertiary\"\n @click=\"iconColorValue = color\"\n >\n <template #iconLeft>\n <circle-filled-icon\n :svg-title=\"t('selectIconColor', { color })\"\n ></circle-filled-icon>\n </template>\n </bento-button>\n </div>\n </div>\n\n <bento-divider />\n\n <div class=\"b-header-with-views-edit-form__icon-options\">\n <bento-button\n v-for=\"(icon, index) in iconOptions\"\n :key=\"index\"\n class=\"b-header-with-views-edit-form__icon-options-button\"\n :aria-selected=\"iconValue === icon\"\n variant=\"tertiary\"\n @click=\"iconValue = icon\"\n >\n <template #iconLeft>\n <component\n :is=\"BentoHeaderWithViewsItemIconElement[icon]\"\n :svg-title=\"t('selectIcon', { icon })\"\n />\n </template>\n </bento-button>\n </div>\n </div>\n </bento-popover>\n\n <bento-input-field\n ref=\"inputFieldRef\"\n class=\"b-header-with-views-edit-form__icon-selector-input\"\n :aria-label=\"t('viewLabel')\"\n :error-message=\"errors.label\"\n :value=\"labelValue\"\n @keydown.enter.prevent=\"emit('keydown:enter', computedFormValues)\"\n @input=\"handleInput\"\n @blur=\"emit('blur:label', labelValue)\"\n ></bento-input-field>\n </div>\n\n <bento-checkbox\n v-if=\"additionalFormItem\"\n :model-value=\"additionalFormItemValue\"\n class=\"b-header-with-views-edit-form__additional-config\"\n @update:model-value=\"handleAdditionalFormItemChange\"\n >\n {{ additionalFormItem.label }}\n </bento-checkbox>\n\n <bento-button-actions\n class=\"b-header-with-views-edit-form__actions\"\n :actions=\"computedActions\"\n layout=\"buttons-end\"\n />\n </form>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton, BentoButtonActions, BentoButtonActionsList, BentoToggleButton } from '@/components/button';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoDivider } from '@/components/divider';\n import { BentoInputField } from '@/components/input-field';\n import { BentoPopover } from '@/components/popover';\n import { useClickOutside } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { FieldLabel } from '@/internal';\n import { debounce } from '@/utils/ts/debounce';\n import { useI18n } from '@/utils/ts/i18n';\n import CircleFilledIcon from '@adyen/ui-assets-icons-16/vue/circle-filled';\n import { onKeyStroke } from '@vueuse/core';\n import { computed, nextTick, onMounted, ref, watch } from 'vue';\n import {\n BentoHeaderWithViewsItem,\n BentoHeaderWithViewsItemIconColorEnum,\n BentoHeaderWithViewsItemIconElement,\n BentoHeaderWithViewsItemIconEnum,\n } from '../../header-with-views.types';\n import {\n HeaderWithViewsEditFormContextEnum,\n HeaderWithViewsEditFormProps,\n } from './header-with-views-edit-form.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n additionalFormItem: { default: null },\n context: { default: HeaderWithViewsEditFormContextEnum.CREATE },\n errors: { default: null },\n icon: { default: BentoHeaderWithViewsItemIconEnum.STACK },\n iconColor: { default: BentoHeaderWithViewsItemIconColorEnum.PRIMARY },\n label: { default: '' }\n});\n\n const emit = defineEmits([\"cancel\", \"update\", \"delete\", \"input:label\", \"blur:label\", \"keydown:enter\"]);\n\n // form inputs\n const labelValue = ref(props.label);\n const iconValue = ref(props.icon);\n const iconColorValue = ref(props.iconColor);\n const additionalFormItemValue = ref<boolean>(props.additionalFormItem?.value ?? false);\n const isFormDirty = ref(false);\n\n // refs\n const iconSelectorButtonRef = ref(null);\n const iconPopoverRef = ref(null);\n const inputFieldRef = ref(null);\n\n const iconPopoverId = generateUid('iconPopover');\n\n // view controls\n const showIconSelectorPopover = ref(false);\n\n const iconOptions = computed(() => Object.values(BentoHeaderWithViewsItemIconEnum));\n const iconColorOptions = computed(() => Object.values(BentoHeaderWithViewsItemIconColorEnum));\n const hasErrors = computed(() => Object.values(props.errors).some(error => error.length > 0));\n const computedAlert = computed(\n () => `${t('selected')}: ${iconValue.value} ${t('icon')}, ${t('color')} ${iconColorValue.value}`\n );\n\n const computedActions = computed<BentoButtonActionsList>(() => [\n ...(props.context === HeaderWithViewsEditFormContextEnum.EDIT\n ? // edit mode\n [\n {\n title: t('save'),\n type: 'submit',\n event: () => {\n if (hasErrors.value) {\n return;\n }\n\n updateView();\n },\n },\n ]\n : // create mode\n [\n {\n title: t('create'),\n type: 'submit',\n event: () => {\n if (!isFormDirty.value || hasErrors.value) {\n return;\n }\n\n updateView();\n },\n },\n ]),\n {\n title: t('cancel'),\n event: resetView,\n },\n ]);\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const computedFormValues = computed(() => ({\n iconColor: iconColorValue.value,\n icon: iconValue.value,\n label: labelValue.value,\n ...(props.additionalFormItem\n ? {\n additionalViewSetting: {\n label: props.additionalFormItem.label,\n value: additionalFormItemValue.value,\n },\n }\n : []),\n }));\n\n const hideIconSelectorPopover = () => {\n showIconSelectorPopover.value = false;\n };\n\n const updateView = () => {\n emit('update', computedFormValues.value);\n };\n\n const resetView = () => {\n iconValue.value = props.icon;\n iconColorValue.value = props.iconColor;\n labelValue.value = props.label;\n\n emit('cancel');\n };\n\n const handleInput = debounce((value: string) => {\n labelValue.value = value;\n\n isFormDirty.value = true;\n }, 200);\n\n const handleAdditionalFormItemChange = (value: boolean) => {\n additionalFormItemValue.value = value;\n\n isFormDirty.value = true;\n };\n\n useClickOutside(iconPopoverRef, hideIconSelectorPopover, {\n ignore: [iconSelectorButtonRef],\n });\n\n onKeyStroke('Escape', hideIconSelectorPopover, {\n target: iconPopoverRef,\n eventName: 'keydown',\n });\n\n watch(labelValue, value => emit('input:label', value));\n\n onMounted(async () => {\n // force focus to start from the input field\n await nextTick();\n inputFieldRef.value.$refs.inputFieldElement.focus();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Internal component to which presents a form for handling the logic of editing and creating a view.\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./header-with-views-edit-form.scss\" />\n","<template>\n <div ref=\"hostRef\" class=\"b-header-with-views\">\n <div class=\"b-header-with-views__container\" :class=\"conditionalContainerClass\">\n <div class=\"b-header-with-views__title\">\n <bento-typography el=\"h2\" variant=\"title\">{{ title }}</bento-typography>\n\n <info-icon-with-popover\n v-if=\"description || hasSlot('infoIconTooltipContent')\"\n :popover-text=\"description\"\n class=\"b-header-with-views__title-icon\"\n >\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #default>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </info-icon-with-popover>\n </div>\n\n <fieldset ref=\"viewsRef\" class=\"b-header-with-views__bar\" :aria-label=\"t('viewListLabel')\">\n <div\n v-for=\"(view, index) in computedViews\"\n :key=\"index\"\n ref=\"viewRefs\"\n class=\"b-header-with-views__bar-tab\"\n :class=\"isViewActive(index) ? 'b-header-with-views__bar-tab--active' : null\"\n >\n <bento-button\n class=\"b-header-with-views__bar-tab-button\"\n variant=\"tertiary-with-background\"\n :aria-current=\"activeView === index ? 'true' : 'false'\"\n @click=\"handleViewSelect(index)\"\n @keydown.enter.native=\"handleViewSelect(index)\"\n @keydown.space.native=\"handleViewSelect(index)\"\n >\n <template #iconLeft>\n <span\n class=\"b-header-with-views__bar-tab-button-icon\"\n :class=\"`b-header-with-views__bar-tab-button-icon--${view.iconColor}`\"\n aria-hidden=\"true\"\n >\n <component :is=\"BentoHeaderWithViewsItemIconElement[view.icon]\" />\n </span>\n </template>\n\n <bento-typography\n el=\"span\"\n variant=\"body\"\n stronger\n class=\"b-header-with-views__bar-tab-button-text\"\n >\n {{ view.label }}\n </bento-typography>\n\n <template v-if=\"isViewUnsaved(index)\" #iconRight>\n <span class=\"b-header-with-views__bar-tab-button--unsaved\">\n <dot-icon :svg-title=\"t('withUnsavedChanges')\" />\n </span>\n </template>\n </bento-button>\n\n <bento-menu\n v-if=\"activeView === index\"\n ref=\"editViewMenuRefs\"\n class=\"b-header-with-views__bar-tab-menu\"\n :button=\"{ variant: 'tertiary' }\"\n :data=\"getViewMenuData(isViewUnsaved(index))\"\n :close-on-click-outside-options=\"{\n ignore: [`#${editViewPopoverId}`],\n }\"\n :menu-fixed-positioning=\"true\"\n @open=\"showViewMenuPopover(index)\"\n @close=\"hideViewMenuPopover()\"\n @keydown.tab.native.capture=\"handleTabEditViewPopover\"\n >\n <template #iconLeft>\n <options-horizontal-icon :svg-title=\"t('openViewOptions', { label: view.label })\" />\n </template>\n </bento-menu>\n </div>\n\n <div ref=\"viewControlRef\" class=\"b-header-with-views__bar-control\">\n <!-- All views -->\n <header-with-views-all-views\n v-if=\"computedViews.length\"\n ref=\"viewControlAllViewsRef\"\n :menu-items=\"computedViews\"\n :menu-items-actions=\"getViewMenuData(false)\"\n :menu-close-on-click-outside-options=\"{ ignore: [`#${editViewPopoverId}`] }\"\n @close:view-menu=\"hideViewMenuPopover()\"\n @close:all-views=\"showAllViewsPopover = false\"\n @open:all-views=\"showAllViewsPopover = true\"\n @open:view-menu=\"index => showViewMenuPopover(index)\"\n @reorder:view=\"views => emit('reorder:view', setViews(views))\"\n @select:view=\"index => handleViewSelect(index)\"\n />\n\n <bento-toggle-button\n ref=\"createViewButtonRef\"\n :aria-expanded=\"showCreateViewPopover\"\n :aria-controls=\"showCreateViewPopover ? createViewPopoverId : null\"\n :toggled=\"showCreateViewPopover\"\n variant=\"tertiary\"\n @click=\"showCreateViewPopover = !showCreateViewPopover\"\n >\n <template #iconLeft>\n <plus-icon :svg-title=\"t('createView')\" :aria-hidden=\"computedViews.length === 0\" />\n </template>\n\n <template v-if=\"computedViews.length === 0\" #default>{{ t('createView') }}</template>\n </bento-toggle-button>\n </div>\n </fieldset>\n\n <button-actions-with-menu\n v-if=\"actions\"\n :actions=\"actions\"\n :actions-layout=\"isCompact ? 'buttons-start' : 'buttons-end'\"\n :displayed-actions=\"2\"\n :disable-responsive-behavior=\"true\"\n :hide-displayed-actions-breakpoint=\"STACKED_LAYOUT_BREAKPOINT\"\n class=\"b-header-with-views__actions\"\n />\n </div>\n\n <!-- Create view -->\n <bento-popover\n v-if=\"activeViewMenuPopover === null && createViewButtonRef\"\n :id=\"createViewPopoverId\"\n ref=\"createViewPopoverRef\"\n :dismissible=\"true\"\n :fixed-positioning=\"true\"\n :target-element=\"createViewButtonRef\"\n :title=\"t('createView')\"\n :open=\"showCreateViewPopover\"\n :overflow-visible=\"true\"\n position=\"bottom-start\"\n @dismiss=\"hideCreateViewPopover\"\n @keydown.esc.native.capture.stop.prevent=\"hideCreateViewPopover\"\n >\n <header-with-views-edit-form\n context=\"create\"\n :errors=\"errors\"\n :additional-form-item=\"additionalViewSetting\"\n @blur:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @input:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @keydown:enter=\"handleKeydownEnterViewItem\"\n @update=\"handleCreateViewItem\"\n @cancel=\"hideCreateViewPopover\"\n >\n </header-with-views-edit-form>\n </bento-popover>\n\n <!-- Edit view -->\n <bento-popover\n v-if=\"activeViewMenuPopover !== null && editViewTargetElementRef\"\n :id=\"editViewPopoverId\"\n ref=\"editViewPopoverRef\"\n :disable-focus-trap=\"false\"\n :dismissible=\"true\"\n :fixed-positioning=\"true\"\n :target-element=\"editViewTargetElementRef\"\n :title=\"t('editDetails')\"\n :open=\"activeEditViewPopover !== null\"\n :overflow-visible=\"true\"\n position=\"right-start\"\n @dismiss=\"setActiveEditViewPopover()\"\n @keydown.esc.native.capture.stop.prevent=\"setActiveEditViewPopover()\"\n >\n <header-with-views-edit-form\n v-if=\"computedViews[activeEditViewPopover]\"\n context=\"edit\"\n :additional-form-item=\"computedViews[activeEditViewPopover].additionalViewSetting\"\n :errors=\"errors\"\n :icon=\"computedViews[activeEditViewPopover].icon\"\n :icon-color=\"computedViews[activeEditViewPopover].iconColor\"\n :label=\"computedViews[activeEditViewPopover].label\"\n @blur:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @input:label=\"value => validateLabel(value, activeViewMenuPopover)\"\n @keydown:enter=\"handleKeydownEnterViewItem\"\n @update=\"handleUpdateViewItem\"\n @cancel=\"hideEditViewPopover\"\n >\n </header-with-views-edit-form>\n </bento-popover>\n\n <!-- Unsaved views prompt -->\n <bento-modal\n v-if=\"showUnsavedModalWarning\"\n :actions=\"computedUnsavedViewModalActions\"\n :is-dismissible=\"false\"\n :is-open=\"showUnsavedModalWarning\"\n @close-modal=\"showUnsavedModalWarning = false\"\n >\n <template #default>{{ t('unsavedChangesTitle', { label: computedViews[activeView].label }) }}</template>\n <template #content>\n <div class=\"b-header-with-views__modal-description\">\n <bento-typography>{{ t('unsavedChangesDescription') }}</bento-typography>\n\n <bento-checkbox\n v-if=\"skipUnsavedChangesText\"\n :model-value=\"skipUnsavedChangesReminder\"\n @update:model-value=\"value => (skipUnsavedChangesReminder = value)\"\n >\n {{ skipUnsavedChangesText }}\n </bento-checkbox>\n </div>\n </template>\n </bento-modal>\n\n <!-- Delete views prompt -->\n <bento-modal\n v-if=\"showDeleteModalWarning\"\n :actions=\"computedDeleteViewModalActions\"\n :is-open=\"showDeleteModalWarning\"\n :is-dismissible=\"false\"\n destructive-actions\n @click.native.capture=\"handleClickModal\"\n @close-modal=\"showDeleteModalWarning = false\"\n >\n <template #default>\n {{ t('deleteViewTitle', { label: computedViewToBeDeletedLabel }) }}\n </template>\n <template #content>\n <div class=\"b-header-with-views__modal-description\">\n <bento-typography>{{\n t('deleteViewDescription', { label: computedViewToBeDeletedLabel })\n }}</bento-typography>\n </div>\n </template>\n </bento-modal>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton, BentoToggleButton } from '@/components/button';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoMenu, BentoMenuItem } from '@/components/menu';\n import { BentoModal } from '@/components/modal';\n import { BentoPopover } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { useBentoToastController, useClickOutside, useHasSlot } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import ButtonActionsWithMenu from '@/internal/button-actions-with-menu/button-actions-with-menu.vue';\n import { InfoIconWithPopover } from '@/internal/info-icon-with-popover';\n import { useI18n } from '@/utils/ts/i18n';\n import BinIcon from '@adyen/ui-assets-icons-16/vue/bin';\n import DotIcon from '@adyen/ui-assets-icons-16/vue/dot';\n import DownloadIcon from '@adyen/ui-assets-icons-16/vue/download';\n import EditIcon from '@adyen/ui-assets-icons-16/vue/edit-2';\n import HeartIcon from '@adyen/ui-assets-icons-16/vue/heart';\n import OptionsHorizontalIcon from '@adyen/ui-assets-icons-16/vue/options-horizontal';\n import PlusIcon from '@adyen/ui-assets-icons-16/vue/plus';\n import PlusMultipleIcon from '@adyen/ui-assets-icons-16/vue/plus-multiple';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import { useElementSize } from '@vueuse/core';\n import { computed, nextTick, onMounted, ref, useSlots, watch } from 'vue';\n import { HeaderWithViewsAllViews, HeaderWithViewsEditForm } from './components';\n import { useEditViews, useResponsiveViews } from './composables';\n import {\n BentoHeaderWithViewsEmits,\n BentoHeaderWithViewsItem,\n BentoHeaderWithViewsItemIconElement,\n BentoHeaderWithViewsProps,\n } from './header-with-views.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n actions: { default: () => [] },\n description: { default: null },\n title: { default: null },\n views: { default: () => [] },\n additionalViewSetting: { default: null },\n hasChanges: { type: Boolean },\n skipUnsavedChangesText: null\n});\n\n const emit = defineEmits([\"add:view\", \"delete:view\", \"duplicate:view\", \"reorder:view\", \"restore:view\", \"save:view\", \"select:view\", \"update:view\", \"update:skip-unsaved-changes\"]);\n\n const STACKED_LAYOUT_BREAKPOINT = 573;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n // refs\n const createViewButtonRef = ref(null);\n const createViewPopoverRef = ref(null);\n const editViewPopoverRef = ref(null);\n const editViewMenuRefs = ref([]);\n const editViewTargetElementRef = ref(null); // used as a mount for the edit form popover\n const hostRef = ref(null);\n const viewsRef = ref<HTMLElement>(null); // container for all views\n const viewRefs = ref<HTMLDivElement[]>([]); // individual view\n const viewControlRef = ref(null); // all views menu and create view button container\n const viewControlAllViewsRef = ref(null); // all views menu\n\n // controls\n const showCreateViewPopover = ref<boolean>(false); // control the create view popover\n const showAllViewsPopover = ref<boolean>(false); // control when menu button is shown\n const showUnsavedModalWarning = ref<boolean>(false);\n const showDeleteModalWarning = ref<boolean>(false);\n const activeEditViewPopover = ref<number>(null); // control the edit view popover\n const activeViewMenuPopover = ref<number>(null); // control when menu items are shown\n const activeView = ref<number>(null); // control which view is currently user on\n const nextActiveView = ref<number>(null); // control which view is does the user want to navigate to, used for caching unsaved view navigation\n const viewToBeDeleted = ref<number>(null); // cache which view is marked for deletion\n\n // models\n const skipUnsavedChangesReminder = ref<boolean>(false);\n\n const createViewPopoverId = generateUid('createViewPopover');\n const editViewPopoverId = generateUid('editViewPopover');\n\n useResponsiveViews({\n container: viewsRef,\n children: viewRefs,\n offset: viewControlRef,\n activeViewIndex: activeView,\n });\n\n const { computedViews, clearError, duplicateView, errors, setViews, updateView, validateLabel } = useEditViews({\n additionalViewSetting: props.additionalViewSetting,\n views: props.views,\n });\n\n const hideCreateViewPopover = async (updateFocus = true) => {\n showCreateViewPopover.value = false;\n\n if (updateFocus) {\n await nextTick();\n\n createViewButtonRef.value.$el.focus();\n }\n\n clearError();\n };\n\n const hideEditViewPopover = () => {\n const currentMenuRef = showAllViewsPopover.value\n ? viewControlAllViewsRef.value.$refs.editViewMenuRefs[activeEditViewPopover.value]\n : editViewMenuRefs.value[0];\n\n currentMenuRef?.closeMenu();\n };\n\n useClickOutside(createViewPopoverRef, () => hideCreateViewPopover(false), {\n ignore: [createViewButtonRef],\n });\n\n useClickOutside(editViewPopoverRef, () => setActiveEditViewPopover(), {\n ignore: [editViewTargetElementRef],\n });\n\n const { width: hostWidth } = useElementSize(hostRef);\n\n const { addToast } = useBentoToastController();\n\n const computedUnsavedViewModalActions = computed(() => [\n {\n title: t('saveChanges'),\n event: handleSaveChanges,\n },\n {\n title: t('leave'),\n event: handleRestoreChanges,\n },\n ]);\n\n const computedDeleteViewModalActions = computed(() => [\n {\n title: t('deleteViewAction'),\n event: async () => {\n showDeleteModalWarning.value = false;\n\n const updatedViewObj = updateView(null, viewToBeDeleted.value);\n\n emit('delete:view', updatedViewObj);\n\n hideViewMenuPopover();\n\n // if a view that is placed higher in the order is deleted, ignore\n if (activeView.value < viewToBeDeleted.value) {\n return;\n }\n\n // if a view that is placed lower in the order is deleted,\n // we need to shift the index to maintain the current view\n if (activeView.value > viewToBeDeleted.value) {\n activeView.value -= 1;\n } else if (activeView.value === viewToBeDeleted.value) {\n if (updatedViewObj.newViews.length === 0) {\n // there are no more views\n\n activeView.value = null;\n } else if (activeView.value >= updatedViewObj.newViews.length) {\n // shift it to the left\n\n activeView.value -= 1;\n }\n // else, keep it at the same index\n }\n\n viewToBeDeleted.value = null;\n },\n },\n {\n title: t('cancel'),\n event: () => {\n showDeleteModalWarning.value = false;\n },\n },\n ]);\n\n const computedViewToBeDeletedLabel = computed(() => computedViews.value[viewToBeDeleted.value]?.label);\n\n const conditionalContainerClass = computed(() => ({\n 'b-header-with-views__container--is-compact': isCompact.value,\n }));\n\n const isCompact = computed(() => hostWidth.value <= STACKED_LAYOUT_BREAKPOINT);\n\n watch([activeView, computedViews], ([newIndex, newViews], [oldIndex, oldViews]) => {\n // skip if the labels are the same or no active view\n const isViewUpdated = newIndex === oldIndex && newViews.length === oldViews.length;\n const isViewDeletedWithChangedIndex = newViews[newIndex]?.label === oldViews[oldIndex]?.label;\n\n if (isViewUpdated || isViewDeletedWithChangedIndex) {\n return;\n }\n\n // allow empty label\n // occurs when the user removes all views\n emit('select:view', newViews[newIndex]?.label ?? null);\n });\n\n // whenever the view menu popover changes, we reset the edit popover because it is never opened by default\n watch(activeViewMenuPopover, () => {\n setActiveEditViewPopover();\n });\n\n watch(showAllViewsPopover, value => {\n if (value) {\n return;\n }\n\n // if show all view popover is closed, close children as well\n hideViewMenuPopover();\n });\n\n // set the popover to open next to the edit button\n watch(activeEditViewPopover, value => {\n const editButtonIndex = isViewUnsaved(value) ? 2 : 0;\n\n // EDGE CASE:\n // Since edit button can be clicked while in all views popover or while it is in the bar,\n // we will not support the case where edit popover is opened and the screen is resize until the view menu is hidden.\n // Edit popover will still be displayed but the position does not have to follow the edit button as it is hidden.\n if (showAllViewsPopover.value) {\n const menuListItemRef =\n viewControlAllViewsRef.value.$refs.editViewMenuRefs[activeViewMenuPopover.value]?.$refs\n ?.menuItemListRef;\n\n editViewTargetElementRef.value =\n viewControlAllViewsRef.value.$refs.editViewMenuRefs[activeViewMenuPopover.value]?.$refs?.menuItemListRef\n ?.$refs?.menuItemRef?.[editButtonIndex] ?? null;\n\n if (!value) {\n menuListItemRef?.focusItem();\n\n clearError();\n }\n\n return;\n }\n\n const menuListItemRef = editViewMenuRefs.value.find(ref => ref.$refs.menuItemListRef)?.$refs?.menuItemListRef;\n editViewTargetElementRef.value = menuListItemRef?.$refs?.menuItemRef?.[editButtonIndex] ?? null;\n\n if (!value) {\n menuListItemRef?.focusItem();\n\n clearError();\n }\n });\n\n onMounted(() => {\n // sets the default view as the first view\n const defaultView = computedViews.value.findIndex(view => view.isDefault);\n\n activeView.value = defaultView >= 0 ? defaultView : 0;\n });\n\n const getViewMenuData = (isUnsaved: boolean): BentoMenuItem[] => [\n ...(isUnsaved\n ? [\n {\n text: t('saveChanges'),\n handler: handleSaveChanges,\n icon: DownloadIcon,\n },\n {\n addDivider: true,\n text: t('restoreChanges'),\n handler: handleRestoreChanges,\n icon: RefreshIcon,\n },\n ]\n : []),\n {\n text: t('edit'),\n handler: () => {\n setActiveEditViewPopover(activeViewMenuPopover.value);\n },\n icon: EditIcon,\n skipClose: true,\n },\n {\n text: t('setAsDefault'),\n handler: () => {\n const updatedViewObj = updateView({ isDefault: true }, activeViewMenuPopover.value);\n\n emit('update:view', updatedViewObj);\n\n hideViewMenuPopover();\n },\n icon: HeartIcon,\n },\n {\n text: t('duplicate'),\n handler: () => {\n const updatedViewObj = duplicateView(activeViewMenuPopover.value);\n\n emit('duplicate:view', updatedViewObj);\n\n hideViewMenuPopover();\n\n // switch to newly duplicated view\n handleViewSelect(updatedViewObj.newViews.length - 1);\n },\n icon: PlusMultipleIcon,\n },\n {\n text: t('delete'),\n handler: () => {\n viewToBeDeleted.value = activeViewMenuPopover.value;\n showDeleteModalWarning.value = true;\n },\n critical: true,\n icon: BinIcon,\n },\n ];\n\n const showViewMenuPopover = (index: number) => {\n activeViewMenuPopover.value = index;\n };\n\n const hideViewMenuPopover = () => {\n activeViewMenuPopover.value = null;\n\n setActiveEditViewPopover();\n };\n\n const setActiveEditViewPopover = (index?: number) => {\n if (index === activeEditViewPopover.value) {\n activeEditViewPopover.value = null;\n } else {\n activeEditViewPopover.value = index ?? null;\n }\n };\n\n const handleCreateViewItem = (value: BentoHeaderWithViewsItem) => {\n const updatedViewObj = updateView(value);\n\n emit('add:view', updatedViewObj);\n\n hideCreateViewPopover();\n\n // switch to new view on add\n handleViewSelect(updatedViewObj.newViews.findIndex(view => updatedViewObj.targetViewLabel === view.label));\n\n addToast({\n text: t('createViewToast', { label: updatedViewObj.targetViewLabel }),\n });\n };\n\n const handleUpdateViewItem = (value: BentoHeaderWithViewsItem) => {\n emit('update:view', updateView(value, activeEditViewPopover.value));\n\n hideEditViewPopover();\n };\n\n const handleKeydownEnterViewItem = (value: BentoHeaderWithViewsItem) => {\n validateLabel(value.label, activeViewMenuPopover.value);\n\n if (Object.values(errors).some(error => error.length > 0)) {\n return;\n }\n\n if (activeEditViewPopover.value) {\n handleUpdateViewItem(value);\n\n return;\n }\n\n handleCreateViewItem(value);\n };\n\n const handleViewSelect = (index: number) => {\n if (!props.hasChanges || props.skipUnsavedChangesText === null) {\n emit('restore:view', computedViews.value[activeView.value].label);\n\n activeView.value = index;\n\n return;\n }\n\n // show warning only if users intends it to\n nextActiveView.value = index;\n showUnsavedModalWarning.value = true;\n };\n\n const handleClickModal = (event: MouseEvent) => {\n if ((event.target as HTMLElement).closest('button')) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n };\n\n const handleTabEditViewPopover = () => {\n // skip built-in refocus on the menu button when menu is closed\n // enables tab to flow as intended by HTML spec\n editViewMenuRefs.value[0].closeMenu(false);\n };\n\n const handleSaveChanges = () => {\n const label = computedViews.value[activeView.value].label;\n\n emit('save:view', label);\n\n if (showUnsavedModalWarning.value) {\n emit('update:skip-unsaved-changes', skipUnsavedChangesReminder.value);\n\n // fired when user saves the view while navigating to a different tab\n activeView.value = nextActiveView.value;\n nextActiveView.value = null;\n showUnsavedModalWarning.value = false;\n } else {\n // fired when user saves the view via the menu\n hideViewMenuPopover();\n }\n\n addToast({\n text: t('saveChangesToast', { label }),\n action: {\n handler: () => emit('restore:view', label),\n text: t('undo'),\n },\n });\n };\n\n const handleRestoreChanges = () => {\n emit('restore:view', computedViews.value[activeView.value].label);\n\n if (showUnsavedModalWarning.value) {\n emit('update:skip-unsaved-changes', skipUnsavedChangesReminder.value);\n\n // fired when user restore the view while navigating to a different tab\n activeView.value = nextActiveView.value;\n nextActiveView.value = null;\n showUnsavedModalWarning.value = false;\n } else {\n // fired when user restore the view via the menu\n hideViewMenuPopover();\n }\n };\n\n const isViewActive = (index: number) => activeView.value === index;\n const isViewUnsaved = (index: number) => isViewActive(index) && props.hasChanges;\n</script>\n\n<script lang=\"ts\">\n /**\n * Header with views allow users to save and quickly retrieve configurations tailored to specific tasks.\n * For example, managing daily transactions, auditing, or analyzing specific data sets.\n * It also allows the user to define the columns, filters, and search queries they need.\n *\n * @example\n * import { BentoHeaderWithViews } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoHeaderWithViews },\n * template: `\n * <bento-header-with-views\n * :actions=\"[\n * { title: 'Primary action', event: () => undefined },\n * { title: 'Secondary action', event: () => undefined },\n * { title: 'Tertiary action', event: () => undefined },\n * { title: 'Another action', event: () => undefined }\n * ]\"\n * description=\"Page Description\"\n * title=\"Page Title\"\n * :views=\"[\n * { icon: 'stack', iconColor: 'blue', label: 'A very long value' },\n * { icon: 'stack', iconColor: 'primary', label: 'Title 1' },\n * { icon: 'stack', iconColor: 'primary', label: 'Title 2' }\n * ]\"\n * :additionalViewSetting=\"{\n * label: 'Include date filter (relative)',\n * value: false\n * }\"\n * hasChanges\n * />\n * `\n * };\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./header-with-views.scss\" />\n"],"names":["uuid$E","_sfc_main$H","uuid$D","_sfc_main$G","uuid$C","_sfc_main$F","uuid$B","_sfc_main$E","uuid$A","_sfc_main$D","uuid$z","_sfc_main$C","uuid$y","_sfc_main$B","uuid$x","_sfc_main$A","uuid$w","_sfc_main$z","uuid$v","_sfc_main$y","uuid$u","_sfc_main$x","uuid$t","_sfc_main$w","uuid$s","_sfc_main$v","uuid$r","_sfc_main$u","uuid$q","_sfc_main$t","uuid$p","_sfc_main$s","uuid$o","_sfc_main$r","uuid$n","_sfc_main$q","uuid$m","_sfc_main$p","uuid$l","_sfc_main$o","uuid$k","_sfc_main$n","uuid$j","_sfc_main$m","uuid$i","_sfc_main$l","uuid$h","_sfc_main$k","uuid$g","_sfc_main$j","uuid$f","_sfc_main$i","uuid$e","_sfc_main$h","uuid$d","_sfc_main$g","uuid$c","_sfc_main$f","uuid$b","_sfc_main$e","uuid$a","_sfc_main$d","uuid$9","_sfc_main$c","uuid$8","_sfc_main$b","uuid$7","_sfc_main$a","uuid$6","_sfc_main$9","uuid$5","_sfc_main$8","uuid$4","_sfc_main$7","uuid$3","_sfc_main$6","BentoHeaderWithViewsItemIconColorEnum","BentoHeaderWithViewsItemIconColorEnum2","BentoHeaderWithViewsItemIconEnum","BentoHeaderWithViewsItemIconEnum2","BentoHeaderWithViewsItemIconElement","StackIcon","LeafIcon","HandRockIcon","CarIcon","EducationIcon","HotelIcon","TravelBagIcon","LightningIcon","NewsIcon","PrizeIcon","LockIcon","BagIcon","DiamondIcon","TargetIcon","GiftIcon","CashStackIcon","HashtagIcon","CloudIcon","HospitalityIcon","ShoppingCartIcon","SleepIcon","NotificationIcon","ThumbsUpIcon","ThumbsDownIcon","StarIcon","WarningDiamondIcon","RetailIcon","EmoticonHappyIcon","GamingIcon","SupportIcon","HeartIcon","HourglassIcon","WorldIcon","uuid$2","_sfc_main$5","uuid$1","_sfc_main$4","useEditViews","options","views","ref","errors","reactive","t","useI18n","computedViews","computed","viewItem","_a","updateView","data","index","newViews","oldViews","targetViewLabel","view","duplicateView","toCopyLabel","copiedLabel","suffix","newView","setViews","clearError","value","labelIsRequired","labelAlreadyExist","viewIndex","UseDragAndDropViewsDirectionEnum","UseDragAndDropViewsDirectionEnum2","useDragAndDropViews","itemRefs","items","onDrop","animationFrameId","draggedViewIndex","dragMousePosition","dragKeyboardInitiated","dragOffset","draggingOverViewIndex","maxDragOffsetY","minDragOffsetY","menuItemsElementRects","isItemDragged","handleDragStart","event","updateMenuItemsRects","draggedElement","handleDragKeyboardToggle","handleDrop","handleDragKeyboardMove","direction","upperBound","lowerBound","isGoingDownwards","isGoingUpwards","targetElementIndex","isTargetAfterDragged","isTargetBeforeDragged","isDirectionReversed","updateDraggedElementTransform","offset","clampTransform","updateTargetElementTransform","targetElement","targetElementOffset","handleDragStop","menuItem","el","handleDragMove","mousePosition","overItemIndex","rect","updateDragPosition","draggedItem","newMenuItems","transferFocus","threshold","i","targetElementRect","percentFromTop","activeElement","_b","itemEl","top","bottom","height","useEventListener","useResponsiveViews","elements","container","children","activeViewIndex","maxDisplayedViews","width","useElementSize","watch","containerWidth","newActiveViewIndex","childrenEl","oldActiveViewIndex","numberOfChildren","totalWidth","previousActiveChild","index2","child","nextTick","activeChild","newMaxDisplayedViews","__default__$2","messages$2","showMenu","allViewsMenuToggleRef","allViewsMenuPopoverRef","allViewsRef","menuRef","menuItemRefs","editViewMenuRefs","menuPopoverId","generateUid","useClickOutside","closeMenu","props","openMenu","emit","toggleShowMenu","e","toRef","uuid","_sfc_main$2","HeaderWithViewsEditFormContextEnum","HeaderWithViewsEditFormContextEnum2","__default__$1","messages$1","labelValue","iconValue","iconColorValue","additionalFormItemValue","isFormDirty","iconSelectorButtonRef","iconPopoverRef","inputFieldRef","iconPopoverId","showIconSelectorPopover","iconOptions","iconColorOptions","hasErrors","error","computedAlert","computedActions","resetView","computedFormValues","hideIconSelectorPopover","handleInput","debounce","handleAdditionalFormItemChange","onKeyStroke","onMounted","__default__","messages","STACKED_LAYOUT_BREAKPOINT","slots","useSlots","hasSlot","useHasSlot","createViewButtonRef","createViewPopoverRef","editViewPopoverRef","editViewTargetElementRef","hostRef","viewsRef","viewRefs","viewControlRef","viewControlAllViewsRef","showCreateViewPopover","showAllViewsPopover","showUnsavedModalWarning","showDeleteModalWarning","activeEditViewPopover","activeViewMenuPopover","activeView","nextActiveView","viewToBeDeleted","skipUnsavedChangesReminder","createViewPopoverId","editViewPopoverId","validateLabel","hideCreateViewPopover","updateFocus","hideEditViewPopover","currentMenuRef","setActiveEditViewPopover","hostWidth","addToast","useBentoToastController","computedUnsavedViewModalActions","handleSaveChanges","handleRestoreChanges","computedDeleteViewModalActions","updatedViewObj","hideViewMenuPopover","computedViewToBeDeletedLabel","conditionalContainerClass","isCompact","newIndex","oldIndex","isViewUpdated","isViewDeletedWithChangedIndex","_c","editButtonIndex","isViewUnsaved","menuListItemRef2","_g","_f","_e","_d","menuListItemRef","_i","_h","ref2","_k","_j","defaultView","getViewMenuData","isUnsaved","DownloadIcon","RefreshIcon","EditIcon","handleViewSelect","PlusMultipleIcon","BinIcon","showViewMenuPopover","handleCreateViewItem","handleUpdateViewItem","handleKeydownEnterViewItem","handleClickModal","handleTabEditViewPopover","label","isViewActive"],"mappings":"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"}
|