@getflip/swirl-components 0.116.0 → 0.117.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/components.json +371 -69
  2. package/dist/cjs/focus-trap.esm-21561e09.js +1145 -0
  3. package/dist/cjs/index-506fe4ea.js +14 -26
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/swirl-app-bar.cjs.entry.js +2 -1
  6. package/dist/cjs/swirl-app-icon.cjs.entry.js +1 -3
  7. package/dist/cjs/swirl-app-layout_6.cjs.entry.js +1 -1
  8. package/dist/cjs/swirl-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/swirl-components.cjs.js +1 -1
  10. package/dist/cjs/swirl-icon-arrow-back_5.cjs.entry.js +87 -0
  11. package/dist/cjs/swirl-icon-dock-left.cjs.entry.js +23 -0
  12. package/dist/cjs/swirl-modal.cjs.entry.js +2 -1143
  13. package/dist/cjs/swirl-shell-layout.cjs.entry.js +87 -75
  14. package/dist/cjs/swirl-shell-navigation-item.cjs.entry.js +1 -1
  15. package/dist/cjs/swirl-visually-hidden.cjs.entry.js +1 -1
  16. package/dist/collection/assets/pdfjs/pdf.worker.min.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -0
  18. package/dist/collection/components/swirl-app-bar/swirl-app-bar.js +20 -1
  19. package/dist/collection/components/swirl-app-icon/swirl-app-icon.css +3 -22
  20. package/dist/collection/components/swirl-app-icon/swirl-app-icon.js +0 -20
  21. package/dist/collection/components/swirl-app-layout/swirl-app-layout.css +38 -4
  22. package/dist/collection/components/swirl-badge/swirl-badge.css +18 -1
  23. package/dist/collection/components/swirl-badge/swirl-badge.js +1 -1
  24. package/dist/collection/components/swirl-icon/icons/swirl-icon-dock-left.js +52 -0
  25. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.css +353 -132
  26. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.js +322 -95
  27. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.spec.js +8 -58
  28. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.stories.js +81 -102
  29. package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.css +46 -35
  30. package/dist/collection/components/swirl-visually-hidden/swirl-visually-hidden.js +1 -1
  31. package/dist/collection/components/swirl-visually-hidden/swirl-visually-hidden.spec.js +0 -3
  32. package/dist/components/assets/images/flip-logo.png +0 -0
  33. package/dist/components/assets/pdfjs/pdf.worker.min.js +1 -1
  34. package/dist/components/focus-trap.esm.js +1143 -0
  35. package/dist/components/swirl-app-bar.js +3 -1
  36. package/dist/components/swirl-app-icon.js +1 -4
  37. package/dist/components/swirl-app-layout2.js +1 -1
  38. package/dist/components/swirl-badge2.js +1 -1
  39. package/dist/components/swirl-icon-arrow-back.js +1 -35
  40. package/dist/{esm/swirl-icon-arrow-back.entry.js → components/swirl-icon-arrow-back2.js} +26 -8
  41. package/dist/components/swirl-icon-arrow-forward.js +1 -35
  42. package/dist/{esm/swirl-icon-arrow-forward.entry.js → components/swirl-icon-arrow-forward2.js} +26 -8
  43. package/dist/components/swirl-icon-dock-left.d.ts +11 -0
  44. package/dist/components/swirl-icon-dock-left.js +40 -0
  45. package/dist/components/swirl-icon-double-arrow-left.js +1 -35
  46. package/dist/{esm/swirl-icon-double-arrow-left.entry.js → components/swirl-icon-double-arrow-left2.js} +26 -8
  47. package/dist/components/swirl-icon-double-arrow-right.js +1 -35
  48. package/dist/{esm/swirl-icon-double-arrow-right.entry.js → components/swirl-icon-double-arrow-right2.js} +26 -8
  49. package/dist/components/swirl-icon-menu.js +1 -35
  50. package/dist/{esm/swirl-icon-menu.entry.js → components/swirl-icon-menu2.js} +26 -8
  51. package/dist/components/swirl-modal.js +1 -1142
  52. package/dist/components/swirl-shell-layout.js +150 -89
  53. package/dist/components/swirl-shell-navigation-item.js +1 -1
  54. package/dist/components/swirl-visually-hidden2.js +2 -3
  55. package/dist/esm/focus-trap.esm-37cd2d2b.js +1143 -0
  56. package/dist/esm/index-99d0060d.js +14 -26
  57. package/dist/esm/loader.js +1 -1
  58. package/dist/esm/swirl-app-bar.entry.js +2 -1
  59. package/dist/esm/swirl-app-icon.entry.js +1 -3
  60. package/dist/esm/swirl-app-layout_6.entry.js +1 -1
  61. package/dist/esm/swirl-badge.entry.js +1 -1
  62. package/dist/esm/swirl-components.js +1 -1
  63. package/dist/esm/swirl-icon-arrow-back_5.entry.js +79 -0
  64. package/dist/esm/swirl-icon-dock-left.entry.js +19 -0
  65. package/dist/esm/swirl-modal.entry.js +1 -1142
  66. package/dist/esm/swirl-shell-layout.entry.js +88 -76
  67. package/dist/esm/swirl-shell-navigation-item.entry.js +1 -1
  68. package/dist/esm/swirl-visually-hidden.entry.js +1 -1
  69. package/dist/swirl-components/p-08fd60a5.entry.js +1 -0
  70. package/dist/swirl-components/p-0ac2eb84.entry.js +1 -0
  71. package/dist/swirl-components/p-11c6c9ba.entry.js +1 -0
  72. package/dist/swirl-components/p-25b4973d.entry.js +1 -0
  73. package/dist/swirl-components/p-262771e5.entry.js +1 -0
  74. package/dist/swirl-components/p-3795fbb4.entry.js +1 -0
  75. package/dist/swirl-components/p-40ee5f22.entry.js +1 -0
  76. package/dist/swirl-components/p-4a69e7f3.entry.js +1 -0
  77. package/dist/swirl-components/p-76c36ee9.entry.js +1 -0
  78. package/dist/swirl-components/p-7c4a4b66.entry.js +1 -0
  79. package/dist/swirl-components/p-c2e1dfdb.js +10 -0
  80. package/dist/swirl-components/swirl-components.esm.js +1 -1
  81. package/dist/types/components/swirl-app-bar/swirl-app-bar.d.ts +1 -0
  82. package/dist/types/components/swirl-app-icon/swirl-app-icon.d.ts +0 -1
  83. package/dist/types/components/swirl-badge/swirl-badge.d.ts +1 -1
  84. package/dist/types/components/swirl-icon/icons/swirl-icon-dock-left.d.ts +5 -0
  85. package/dist/types/components/swirl-shell-layout/swirl-shell-layout.d.ts +42 -25
  86. package/dist/types/components.d.ts +50 -11
  87. package/icons.json +1 -1
  88. package/package.json +2 -2
  89. package/vscode-data.json +58 -6
  90. package/dist/cjs/swirl-icon-arrow-back.cjs.entry.js +0 -23
  91. package/dist/cjs/swirl-icon-arrow-forward.cjs.entry.js +0 -23
  92. package/dist/cjs/swirl-icon-double-arrow-left.cjs.entry.js +0 -23
  93. package/dist/cjs/swirl-icon-double-arrow-right.cjs.entry.js +0 -23
  94. package/dist/cjs/swirl-icon-menu.cjs.entry.js +0 -23
  95. package/dist/swirl-components/p-3a2abee9.entry.js +0 -1
  96. package/dist/swirl-components/p-441c8210.entry.js +0 -1
  97. package/dist/swirl-components/p-4a84e63d.entry.js +0 -1
  98. package/dist/swirl-components/p-54e4ff0b.entry.js +0 -1
  99. package/dist/swirl-components/p-5da3a9a8.entry.js +0 -1
  100. package/dist/swirl-components/p-645a878c.entry.js +0 -1
  101. package/dist/swirl-components/p-79be22ea.entry.js +0 -10
  102. package/dist/swirl-components/p-97668c59.entry.js +0 -1
  103. package/dist/swirl-components/p-be2cf7ee.entry.js +0 -1
  104. package/dist/swirl-components/p-c4d4a99d.entry.js +0 -1
  105. package/dist/swirl-components/p-ca78767e.entry.js +0 -1
  106. package/dist/swirl-components/p-d2fc7935.entry.js +0 -1
  107. package/dist/swirl-components/p-f83a0b0f.entry.js +0 -1
@@ -15,117 +15,96 @@ export default {
15
15
  const Template = (args) => {
16
16
  const element = generateStoryElement("swirl-shell-layout", args);
17
17
  element.innerHTML = `
18
- <div slot="logo-expanded">
19
- <svg width="72" height="32" fill="none">
20
- <g clip-path="url(#a)">
21
- <path fill="#145AF5" d="M58.7162 32c1.44 0 2.592-1.1584 2.592-2.6064v-4.0905c.648.8326 2.052 1.448 3.888 1.448 3.996 0 6.8039-3.1855 6.8039-7.638 0-4.3801-2.4839-7.6018-6.6239-7.6018-2.052 0-3.6001.905-4.2121 1.8461v-1.4841h-1.62c-1.44 0-2.592 1.1584-2.592 2.6063V32h1.7641Zm9-12.8507c0 2.4253-1.512 3.6199-3.24 3.6199-1.692 0-3.2041-1.2308-3.2041-3.6199 0-2.4253 1.5121-3.6199 3.2041-3.6199 1.728 0 3.24 1.1946 3.24 3.6199ZM43.3441 26.6425c1.44 0 2.592-1.1584 2.592-2.6063V5.61084h-1.764c-1.44 0-2.592 1.15837-2.592 2.60634V26.6425h1.764ZM27.7562 26.6425c1.44 0 2.592-1.1584 2.592-2.6063v-5.4299h4.932c1.44 0 2.592-1.1584 2.592-2.6063v-1.5928h-7.56v-2.8235c0-.8688.684-1.5566 1.548-1.5566h4.428c1.44 0 2.592-1.15835 2.592-2.60631V5.64703h-8.28c-2.664 0-4.86 2.17195-4.86 4.88687v16.181h2.016v-.0724ZM51.0477 26.6425c1.44 0 2.592-1.1584 2.592-2.6063V12.0905h-1.764c-1.44 0-2.592 1.1583-2.592 2.6063v11.9457h1.764ZM51.4438 10.3891c-1.368 0-2.52-1.15835-2.52-2.60631 0-1.44797 1.152-2.60634 2.52-2.60634 1.44 0 2.592 1.15837 2.592 2.60634 0 1.44796-1.188 2.60631-2.592 2.60631ZM.756232 16.6878c-.36-.6516-.612-1.3756-.7200003-2.1358-.072-.7963-.03600002-1.5565.1440003-2.2805.18-.724.54-1.448.971998-2.0272.468-.61534 1.008-1.12213 1.692-1.48412L17.6762 0c.36.651584.612 1.37557.72 2.13575.108.76018.036 1.52036-.144 2.28054-.18.72398-.54 1.44796-.972 2.02715-.468.61538-1.008 1.12217-1.692 1.48416L.756232 16.6878ZM4.4641 25.7014c-.36-.6516-.612-1.3756-.72-2.1358-.108-.7602-.036-1.5203.144-2.2805.18-.724.54-1.448.972-2.0272.468-.6153 1.008-1.1221 1.692-1.4841l8.208-4.8507c.36.6516.612 1.3756.72 2.1357.108.7602.036 1.5204-.144 2.2806-.18.724-.54 1.4479-.972 2.0271-.468.6154-1.008 1.1222-1.692 1.4842l-8.208 4.8507Z"/>
22
- <path fill="#80A8F4" d="m4.46387 25.7013 4.932-2.8959c.75603 1.3394.93603 2.9321.576 4.4163-.396 1.4842-1.332 2.7511-2.664 3.5475l-2.844-5.0679ZM14.7599 12.9231l-5.90404-1.0136-8.100001 4.7783 5.760001 1.0859 8.24404-4.8506Z"/>
23
- </g>
24
- <defs>
25
- <clipPath id="a">
26
- <path fill="#fff" d="M0 0h72v32H0z"/>
27
- </clipPath>
28
- </defs>
29
- </svg>
18
+ <img alt="Flip logo" slot="logo" src="/images/flip-logo.png">
19
+ <img alt="Flip logo" slot="mobile-logo" src="/images/flip-logo.png">
20
+
21
+ <swirl-avatar label="John Doe" slot="header-tools" src="https://picsum.photos/id/433/144/144"></swirl-avatar>
22
+ <swirl-avatar label="John Doe" slot="mobile-header-tools" src="https://picsum.photos/id/433/144/144"></swirl-avatar>
23
+
24
+ <div slot="nav">
25
+ <ul>
26
+ <li>
27
+ <swirl-shell-navigation-item label="Home">
28
+ <swirl-app-icon icon="<swirl-icon-home size=&quot;20&quot;></swirl-icon-home>" slot="icon"></swirl-app-icon>
29
+ </swirl-shell-navigation-item>
30
+ </li>
31
+ <li>
32
+ <swirl-shell-navigation-item active label="News">
33
+ <swirl-app-icon icon="<swirl-icon-news-filled size=&quot;20&quot;></swirl-icon-news-filled>" slot="icon"></swirl-app-icon>
34
+ </swirl-shell-navigation-item>
35
+ </li>
36
+ <li>
37
+ <swirl-shell-navigation-item label="Chat">
38
+ <swirl-app-icon icon="<swirl-icon-chat-bubble size=&quot;20&quot;></swirl-icon-chat-bubble>" slot="icon"></swirl-app-icon>
39
+ </swirl-shell-navigation-item>
40
+ </li>
41
+ <li>
42
+ <swirl-shell-navigation-item label="Tasks">
43
+ <swirl-app-icon icon="<swirl-icon-tasks-filled size=&quot;20&quot;></swirl-icon-tasks-filled>" slot="icon"></swirl-app-icon>
44
+ </swirl-shell-navigation-item>
45
+ </li>
46
+ <li>
47
+ <swirl-shell-navigation-item label="Employee directory">
48
+ <swirl-app-icon icon="<swirl-icon-groups-filled size=&quot;20&quot;></swirl-icon-groups-filled>" slot="icon"></swirl-app-icon>
49
+ </swirl-shell-navigation-item>
50
+ </li>
51
+ </ul>
30
52
  </div>
31
- <div slot="logo-collapsed">
32
- <swirl-app-icon slot="icon" border-hidden="true" label="link" src="/flip-logo.png"></swirl-app-icon>
33
- </div>
34
- <div slot="tools">
35
- <swirl-stack>
36
- <swirl-shell-navigation-item label="Search">
37
- <swirl-app-icon slot="icon" label="link" icon="<swirl-icon-search></swirl-icon-search>"></swirl-app-icon>
38
- </swirl-shell-navigation-item>
39
- <swirl-shell-navigation-item label="Notifications" badge-label="1">
40
- <swirl-app-icon slot="icon" label="link" icon="<swirl-icon-notifications></swirl-icon-notifications>"></swirl-app-icon>
41
- </swirl-shell-navigation-item>
42
- <swirl-shell-navigation-item label="Profile & Settings">
43
- <swirl-avatar slot="icon" label="John Doe" src="https://picsum.photos/id/433/144/144" size="xs"></swirl-avatar>
44
- </swirl-shell-navigation-item>
45
- <swirl-shell-navigation-item label="Create">
46
- <swirl-app-icon slot="icon" label="link" icon="<swirl-icon-add></swirl-icon-add>"></swirl-app-icon>
47
- </swirl-shell-navigation-item>
48
- </swirl-stack>
49
- </div>
50
- <div slot="main-navigation">
51
- <swirl-stack>
52
- <swirl-shell-navigation-item active label="Home" badge-label="2">
53
- <swirl-app-icon slot="icon" label="link" src="https://picsum.photos/id/437/144/144"></swirl-app-icon>
54
- </swirl-shell-navigation-item>
55
- <swirl-shell-navigation-item label="Chats">
56
- <swirl-app-icon slot="icon" label="link" src="https://picsum.photos/id/437/144/144"></swirl-app-icon>
57
- </swirl-shell-navigation-item>
58
- <swirl-shell-navigation-item label="News">
59
- <swirl-app-icon slot="icon" label="link" src="https://picsum.photos/id/437/144/144"></swirl-app-icon>
60
- </swirl-shell-navigation-item>
61
- </swirl-stack>
62
- </div>
63
- <swirl-banner slot="banner" action-label="Update" content="New version available." dismissable="false" intent="info" size="s"></swirl-banner>
64
- <div slot="main">
65
- <swirl-app-layout
66
- app-name="Chat"
67
- navigation-label="Items"
68
- >
69
- <swirl-banner slot="banner" action-label="Details" content="On leave until 16.05.2023" dismissable="false" intent="info"></swirl-banner>
70
- <swirl-button
71
- hide-label
72
- icon="<swirl-icon-menu></swirl-icon-menu>"
73
- id="navigation-mobile-menu-button"
74
- label="Toggle sidebar"
75
- slot="navigation-mobile-menu-button"
76
- ></swirl-button>
77
- <swirl-resource-list label="Items" slot="navigation">
78
- <swirl-resource-list-item description="With a description" label="This is a resource item" class="item">
79
- <swirl-avatar label="John Doe" src="https://picsum.photos/id/433/144/144" slot="media"></swirl-avatar>
80
- </swirl-resource-list-item>
81
- <swirl-resource-list-item description="With a description" label="This is a resource item" class="item">
82
- <swirl-avatar label="John Doe" src="https://picsum.photos/id/433/144/144" slot="media"></swirl-avatar>
83
- </swirl-resource-list-item>
84
- <swirl-resource-list-item description="With a description" label="This is a resource item" class="item">
85
- <swirl-avatar label="John Doe" src="https://picsum.photos/id/433/144/144" slot="media"></swirl-avatar>
86
- </swirl-resource-list-item>
87
- </swirl-resource-list>
88
- <swirl-button
89
- hide-label
90
- icon="<swirl-icon-settings></swirl-icon-settings>"
91
- label="Settings"
92
- slot="navigation-controls"
53
+
54
+ <swirl-app-layout app-name="App name">
55
+ <swirl-button hide-label="true" icon="<swirl-icon-menu></swirl-icon-menu>" label="Menu" slot="navigation-mobile-menu-button"></swirl-button>
56
+ <swirl-resource-list label="Items" slot="navigation">
57
+ <swirl-resource-list-item description="With a description" label="This is a resource item" class="item"></swirl-resource-list-item>
58
+ <swirl-resource-list-item description="With a description" label="This is a resource item" class="item"></swirl-resource-list-item>
59
+ <swirl-resource-list-item description="With a description" label="This is a resource item" class="item"></swirl-resource-list-item>
60
+ </swirl-resource-list>
61
+ <swirl-button
62
+ hide-label
63
+ icon="<swirl-icon-settings></swirl-icon-settings>"
64
+ label="Settings"
65
+ slot="navigation-controls"
93
66
  ></swirl-button>
94
- <swirl-button
95
- hide-label
96
- icon="<swirl-icon-menu></swirl-icon-menu>"
97
- id="app-bar-mobile-menu-button"
98
- label="Toggle sidebar"
99
- slot="app-bar-mobile-menu-button"
100
- ></swirl-button>
101
- <swirl-heading as="h2" level="3" slot="app-bar" text="Heading"></swirl-heading>
102
- <div slot="app-bar-controls">
103
- <swirl-button hide-label class="info-button" icon="<swirl-icon-info></swirl-icon-info>" label="More information"></swirl-button>
104
- </div>
105
- <div slot="content"></div>
106
- <div slot="sidebar"></div>
107
- </swirl-app-layout>
108
- </div>
67
+ <swirl-app-bar show-close-button="false" show-stepper-controls="false" slot="app-bar">
68
+ <swirl-heading as="h2" level="3" slot="heading" text="Heading" truncate=""></swirl-heading>
69
+ </swirl-app-bar>
70
+ <div slot="app-bar-controls">
71
+ <swirl-button hide-label="true" icon="<swirl-icon-search></swirl-icon-search>" label="Search"></swirl-button>
72
+ <swirl-button hide-label class="info-button" icon="<swirl-icon-info></swirl-icon-info>" label="More information"></swirl-button>
73
+ </div>
74
+ <div slot="content"></div>
75
+ <div slot="sidebar"></div>
76
+ </swirl-app-layout>
77
+
78
+ <swirl-app-bar close-button-icon="<swirl-icon-double-arrow-right></swirl-icon-double-arrow-right>" close-button-label="Hide sidebar" show-close-button slot="sidebar-app-bar">
79
+ <swirl-heading level="3" slot="heading" text="Sidebar" truncate=""></swirl-heading>
80
+ </swirl-app-bar>
81
+
82
+ <div slot="sidebar"></div>
109
83
  `;
84
+ const appLayout = element.querySelector("swirl-app-layout");
85
+ appLayout.querySelector(".info-button").addEventListener("click", () => {
86
+ appLayout.changeMobileView("sidebar");
87
+ });
110
88
  element
111
- .querySelector("#navigation-mobile-menu-button")
112
- .addEventListener("click", () => {
113
- element.extendSidebar();
89
+ .querySelector('swirl-button[slot="navigation-mobile-menu-button"]')
90
+ ?.addEventListener("click", () => {
91
+ element.showMobileNavigation();
114
92
  });
115
93
  element
116
- .querySelector("#app-bar-mobile-menu-button")
117
- .addEventListener("click", () => {
118
- element.extendSidebar();
94
+ .querySelector("swirl-app-bar[slot='sidebar-app-bar']")
95
+ ?.addEventListener("closeButtonClick", () => {
96
+ element.setAttribute("sidebar-active", "false");
119
97
  });
120
- element.querySelector(".info-button").addEventListener("click", () => {
121
- element.querySelector("swirl-app-layout").changeMobileView("sidebar");
98
+ element.addEventListener("sidebarToggleClick", () => {
99
+ element.setAttribute("sidebar-active", element.sidebarActive ? "false" : "true");
122
100
  });
123
- element.querySelectorAll(".item").forEach((el) => {
124
- el.addEventListener("click", () => {
125
- element.querySelector("swirl-app-layout").changeMobileView("body");
126
- });
101
+ element.addEventListener("skipLinkClick", () => {
102
+ window.location.hash = "main-content";
127
103
  });
128
104
  return element;
129
105
  };
130
106
  export const SwirlShellLayout = Template.bind({});
131
- SwirlShellLayout.args = {};
107
+ SwirlShellLayout.args = {
108
+ sidebarToggleBadgeAriaLabel: "3 new notifications",
109
+ sidebarToggleBadge: "3",
110
+ };
@@ -3,83 +3,90 @@
3
3
  */
4
4
 
5
5
  :host {
6
- container-type: inline-size;
7
6
  position: relative;
8
7
  display: inline-flex;
9
8
  width: 100%;
10
- height: 3.5rem;
11
- padding-right: var(--s-space-12);
12
- padding-left: var(--s-space-12);
9
+ height: 2.75rem;
10
+ padding: var(--s-space-12);
13
11
  flex-shrink: 0;
14
12
  justify-content: flex-start;
15
13
  align-items: center;
16
- color: var(--s-text-default);
17
- background-color: var(--s-background-default);
14
+ border-radius: var(--s-border-radius-sm);
15
+ background-color: var(--s-surface-overlay-default);
18
16
  font-size: var(--s-font-size-sm);
19
17
  font-weight: var(--s-font-weight-medium);
20
18
  line-height: var(--s-line-height-sm);
21
19
  cursor: pointer;
22
- gap: var(--s-space-12);
20
+ container-type: inline-size;
21
+ gap: var(--s-space-16);
23
22
  }
24
23
 
25
24
  :host(:hover) {
26
- background-color: var(--s-background-hovered);
25
+ background-color: var(--s-surface-sunken-hovered);
27
26
  }
28
27
 
28
+ :host(:hover) .shell-navigation-item__badge {
29
+ --swirl-badge-border-color: var(--s-surface-sunken-hovered);
30
+ }
31
+
29
32
  :host(:active) {
30
- background-color: var(--s-background-pressed);
31
- color: var(--s-text-highlight);
33
+ background-color: var(--s-surface-sunken-pressed);
32
34
  }
33
35
 
36
+ :host(:active) .shell-navigation-item__badge {
37
+ --swirl-badge-border-color: var(--s-surface-sunken-pressed);
38
+ }
39
+
34
40
  :host(:focus) {
35
41
  outline: none;
36
42
  }
37
43
 
38
- :host(:focus-visible) .shell-navigation-item__label {
39
- border-radius: var(--s-border-radius-xs);
40
- box-shadow: 0 0 0 0.125rem var(--s-focus-default);
41
- }
44
+ :host(:focus-visible) {
45
+ z-index: 1;
46
+ box-shadow: 0 0 0 0.125rem var(--s-focus-default);
47
+ }
42
48
 
43
49
  :host(.shell-navigation-item--active) {
44
- color: var(--s-text-highlight);
45
- background-color: var(--s-surface-raised-default);
50
+ background-color: var(--s-surface-sunken-hovered);
46
51
  }
47
52
 
53
+ :host(.shell-navigation-item--active) .shell-navigation-item__badge {
54
+ --swirl-badge-border-color: var(--s-surface-sunken-hovered);
55
+ }
56
+
48
57
  :host(.shell-navigation-item--active:hover) {
49
- background-color: var(--s-surface-raised-hovered);
58
+ background-color: var(--s-surface-sunken-hovered);
50
59
  }
51
60
 
61
+ :host(.shell-navigation-item--active:hover) .shell-navigation-item__badge {
62
+ --swirl-badge-border-color: var(--s-surface-sunken-hovered);
63
+ }
64
+
52
65
  :host(.shell-navigation-item--active:active) {
53
- background-color: var(--s-surface-raised-pressed);
54
- color: var(--s-text-highlight);
66
+ background-color: var(--s-surface-sunken-pressed);
55
67
  }
56
68
 
69
+ :host(.shell-navigation-item--active:active) .shell-navigation-item__badge {
70
+ --swirl-badge-border-color: var(--s-surface-sunken-pressed);
71
+ }
72
+
57
73
  :host * {
58
74
  box-sizing: border-box;
59
75
  }
60
76
 
61
- :host:before {
62
- content: "";
63
- display: none;
64
- position: absolute;
65
- left: 0;
66
- height: 2.5rem;
67
- width: 4px;
68
- background-color: var(--s-icon-highlight);
69
- border-top-right-radius: 4px;
70
- border-bottom-right-radius: 4px;
71
- }
77
+ @media (min-width: 992px) {
72
78
 
73
- :host(.shell-navigation-item--active):before {
74
- display: block;
79
+ :host {
80
+ background-color: var(--s-surface-sunken-default)
75
81
  }
82
+ }
76
83
 
77
84
  .shell-navigation-item__icon {
78
85
  display: inline-flex;
86
+ min-width: 1.25rem;
87
+ min-height: 1.25rem;
79
88
  justify-content: center;
80
89
  align-items: center;
81
- min-width: 2.5rem;
82
- min-height: 2.5rem;
83
90
  }
84
91
 
85
92
  .shell-navigation-item__label {
@@ -89,6 +96,10 @@
89
96
  text-overflow: ellipsis;
90
97
  }
91
98
 
99
+ .shell-navigation-item__badge {
100
+ --swirl-badge-border-color: var(--swirl-shell-background);
101
+ }
102
+
92
103
  @container (max-width: 4rem) {
93
104
  .shell-navigation-item__label {
94
105
  display: none;
@@ -96,8 +107,8 @@
96
107
 
97
108
  .shell-navigation-item__badge {
98
109
  position: absolute;
99
- bottom: 0;
100
110
  right: var(--s-space-4);
111
+ bottom: 0;
101
112
  }
102
113
  }
103
114
 
@@ -4,7 +4,7 @@ export class SwirlVisuallyHidden {
4
4
  return (h(Host, null, h("slot", null)));
5
5
  }
6
6
  static get is() { return "swirl-visually-hidden"; }
7
- static get encapsulation() { return "shadow"; }
7
+ static get encapsulation() { return "scoped"; }
8
8
  static get originalStyleUrls() {
9
9
  return {
10
10
  "$": ["swirl-visually-hidden.css"]
@@ -8,9 +8,6 @@ describe("swirl-visually-hidden", () => {
8
8
  });
9
9
  expect(page.root).toEqualHtml(`
10
10
  <swirl-visually-hidden>
11
- <mock:shadow-root>
12
- <slot></slot>
13
- </mock:shadow-root>
14
11
  Content
15
12
  </swirl-visually-hidden>
16
13
  `);