@atlaskit/navigation-system 2.6.1 → 2.8.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 (160) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/components/badge-container.js +1 -1
  3. package/dist/cjs/components/list-item.js +1 -1
  4. package/dist/cjs/components/list.js +1 -1
  5. package/dist/cjs/components/skip-links/skip-link.js +1 -1
  6. package/dist/cjs/components/skip-links/skip-links-container.js +1 -1
  7. package/dist/cjs/ui/menu-item/container-avatar.js +1 -1
  8. package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.js +1 -1
  9. package/dist/cjs/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +1 -1
  10. package/dist/cjs/ui/menu-item/drag-handle.js +1 -1
  11. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +1 -1
  12. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +5 -3
  13. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +1 -1
  14. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.js +1 -1
  15. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +1 -1
  16. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +1 -1
  17. package/dist/cjs/ui/menu-item/link-menu-item.js +1 -1
  18. package/dist/cjs/ui/menu-item/menu-item.compiled.css +10 -5
  19. package/dist/cjs/ui/menu-item/menu-item.js +1 -1
  20. package/dist/cjs/ui/menu-item/top-level-spacer.js +1 -1
  21. package/dist/cjs/ui/menu-section/divider.compiled.css +1 -1
  22. package/dist/cjs/ui/menu-section/divider.js +2 -5
  23. package/dist/cjs/ui/menu-section/menu-section-heading.js +1 -1
  24. package/dist/cjs/ui/page-layout/aside.js +1 -1
  25. package/dist/cjs/ui/page-layout/banner.js +1 -1
  26. package/dist/cjs/ui/page-layout/main/main-sticky-header.js +1 -1
  27. package/dist/cjs/ui/page-layout/main/main.js +1 -1
  28. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.compiled.css +6 -3
  29. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +1 -1
  30. package/dist/cjs/ui/page-layout/panel.js +1 -1
  31. package/dist/cjs/ui/page-layout/root.js +1 -1
  32. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +1 -1
  33. package/dist/cjs/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  34. package/dist/cjs/ui/page-layout/side-nav/side-nav-header.js +1 -1
  35. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +1 -1
  36. package/dist/cjs/ui/page-layout/side-nav/toggle-button-context.js +7 -2
  37. package/dist/cjs/ui/page-layout/side-nav/toggle-button-provider.js +13 -1
  38. package/dist/cjs/ui/page-layout/side-nav/toggle-button.compiled.css +2 -1
  39. package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +19 -2
  40. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +1 -1
  41. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  42. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.compiled.css +1 -2
  43. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +46 -6
  44. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +1 -1
  45. package/dist/cjs/ui/top-nav-items/custom-title.js +1 -1
  46. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.compiled.css +2 -0
  47. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +19 -11
  48. package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  49. package/dist/cjs/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  50. package/dist/cjs/ui/top-nav-items/search.js +1 -1
  51. package/dist/cjs/ui/top-nav-items/themed/button.compiled.css +18 -8
  52. package/dist/cjs/ui/top-nav-items/themed/button.js +1 -1
  53. package/dist/es2019/components/badge-container.js +1 -1
  54. package/dist/es2019/components/list-item.js +1 -1
  55. package/dist/es2019/components/list.js +1 -1
  56. package/dist/es2019/components/skip-links/skip-link.js +1 -1
  57. package/dist/es2019/components/skip-links/skip-links-container.js +1 -1
  58. package/dist/es2019/ui/menu-item/container-avatar.js +1 -1
  59. package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.js +1 -1
  60. package/dist/es2019/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +1 -1
  61. package/dist/es2019/ui/menu-item/drag-handle.js +1 -1
  62. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +1 -1
  63. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +5 -3
  64. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +1 -1
  65. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.js +1 -1
  66. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +1 -1
  67. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +1 -1
  68. package/dist/es2019/ui/menu-item/link-menu-item.js +1 -1
  69. package/dist/es2019/ui/menu-item/menu-item.compiled.css +10 -5
  70. package/dist/es2019/ui/menu-item/menu-item.js +1 -1
  71. package/dist/es2019/ui/menu-item/top-level-spacer.js +1 -1
  72. package/dist/es2019/ui/menu-section/divider.js +1 -1
  73. package/dist/es2019/ui/menu-section/menu-section-heading.js +1 -1
  74. package/dist/es2019/ui/page-layout/aside.js +1 -1
  75. package/dist/es2019/ui/page-layout/banner.js +1 -1
  76. package/dist/es2019/ui/page-layout/main/main-sticky-header.js +1 -1
  77. package/dist/es2019/ui/page-layout/main/main.js +1 -1
  78. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.compiled.css +6 -3
  79. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +1 -1
  80. package/dist/es2019/ui/page-layout/panel.js +1 -1
  81. package/dist/es2019/ui/page-layout/root.js +1 -1
  82. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +1 -1
  83. package/dist/es2019/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  84. package/dist/es2019/ui/page-layout/side-nav/side-nav-header.js +1 -1
  85. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +1 -1
  86. package/dist/es2019/ui/page-layout/side-nav/toggle-button-context.js +6 -1
  87. package/dist/es2019/ui/page-layout/side-nav/toggle-button-provider.js +14 -1
  88. package/dist/es2019/ui/page-layout/side-nav/toggle-button.compiled.css +2 -1
  89. package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +20 -3
  90. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +1 -1
  91. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  92. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.compiled.css +1 -2
  93. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +42 -7
  94. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +1 -1
  95. package/dist/es2019/ui/top-nav-items/custom-title.js +1 -1
  96. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.compiled.css +2 -0
  97. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +18 -8
  98. package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  99. package/dist/es2019/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  100. package/dist/es2019/ui/top-nav-items/search.js +1 -1
  101. package/dist/es2019/ui/top-nav-items/themed/button.compiled.css +18 -8
  102. package/dist/es2019/ui/top-nav-items/themed/button.js +1 -1
  103. package/dist/esm/components/badge-container.js +1 -1
  104. package/dist/esm/components/list-item.js +1 -1
  105. package/dist/esm/components/list.js +1 -1
  106. package/dist/esm/components/skip-links/skip-link.js +1 -1
  107. package/dist/esm/components/skip-links/skip-links-container.js +1 -1
  108. package/dist/esm/ui/menu-item/container-avatar.js +1 -1
  109. package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.js +1 -1
  110. package/dist/esm/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +1 -1
  111. package/dist/esm/ui/menu-item/drag-handle.js +1 -1
  112. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +1 -1
  113. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +5 -3
  114. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +1 -1
  115. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.js +1 -1
  116. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +1 -1
  117. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +1 -1
  118. package/dist/esm/ui/menu-item/link-menu-item.js +1 -1
  119. package/dist/esm/ui/menu-item/menu-item.compiled.css +10 -5
  120. package/dist/esm/ui/menu-item/menu-item.js +1 -1
  121. package/dist/esm/ui/menu-item/top-level-spacer.js +1 -1
  122. package/dist/esm/ui/menu-section/divider.compiled.css +1 -1
  123. package/dist/esm/ui/menu-section/divider.js +2 -5
  124. package/dist/esm/ui/menu-section/menu-section-heading.js +1 -1
  125. package/dist/esm/ui/page-layout/aside.js +1 -1
  126. package/dist/esm/ui/page-layout/banner.js +1 -1
  127. package/dist/esm/ui/page-layout/main/main-sticky-header.js +1 -1
  128. package/dist/esm/ui/page-layout/main/main.js +1 -1
  129. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.compiled.css +6 -3
  130. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +1 -1
  131. package/dist/esm/ui/page-layout/panel.js +1 -1
  132. package/dist/esm/ui/page-layout/root.js +1 -1
  133. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +1 -1
  134. package/dist/esm/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  135. package/dist/esm/ui/page-layout/side-nav/side-nav-header.js +1 -1
  136. package/dist/esm/ui/page-layout/side-nav/side-nav.js +1 -1
  137. package/dist/esm/ui/page-layout/side-nav/toggle-button-context.js +6 -1
  138. package/dist/esm/ui/page-layout/side-nav/toggle-button-provider.js +13 -1
  139. package/dist/esm/ui/page-layout/side-nav/toggle-button.compiled.css +2 -1
  140. package/dist/esm/ui/page-layout/side-nav/toggle-button.js +20 -3
  141. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +1 -1
  142. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  143. package/dist/esm/ui/page-layout/top-nav/top-nav-start.compiled.css +1 -2
  144. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +46 -7
  145. package/dist/esm/ui/page-layout/top-nav/top-nav.js +1 -1
  146. package/dist/esm/ui/top-nav-items/custom-title.js +1 -1
  147. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.compiled.css +2 -0
  148. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +18 -8
  149. package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  150. package/dist/esm/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  151. package/dist/esm/ui/top-nav-items/search.js +1 -1
  152. package/dist/esm/ui/top-nav-items/themed/button.compiled.css +18 -8
  153. package/dist/esm/ui/top-nav-items/themed/button.js +1 -1
  154. package/dist/types/ui/page-layout/side-nav/toggle-button-context.d.ts +4 -0
  155. package/dist/types/ui/page-layout/side-nav/toggle-button-provider.d.ts +8 -0
  156. package/dist/types/ui/page-layout/top-nav/top-nav-start.d.ts +12 -1
  157. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-context.d.ts +4 -0
  158. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-provider.d.ts +8 -0
  159. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav-start.d.ts +12 -1
  160. package/package.json +10 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlassian/navigation-system
2
2
 
3
+ ## 2.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`a515e172559b8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a515e172559b8) -
8
+ Adds `sideNavToggleButton` slot to `TopNavStart` to be used instead of rendering
9
+ `<SideNavToggleButton>` as a child. When `navx-full-height-sidebar` is enabled, the slot is used
10
+ to move the button between start and end positions based on sidebar collapse state.
11
+ - [`a515e172559b8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a515e172559b8) -
12
+ App logo text will now truncate if there is no available space, when `navx-full-height-sidebar` is
13
+ enabled.
14
+
15
+ ## 2.7.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`e091edd5f5159`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e091edd5f5159) -
20
+ Update AppLogo to use non-deprecated primitives
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies
25
+
3
26
  ## 2.6.1
4
27
 
5
28
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- /* badge-container.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* badge-container.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* list-item.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* list-item.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* list.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* list.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* skip-link.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* skip-link.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* skip-links-container.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* skip-links-container.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* container-avatar.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* container-avatar.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* drag-preview.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* drag-preview.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* use-menu-item-drag-and-drop.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* use-menu-item-drag-and-drop.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* drag-handle.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* drag-handle.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* expandable-menu-item-content.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* expandable-menu-item-content.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- ._12xsglyw:has(:focus-visible), ._p8btglyw:hover{--expandable-provided-elembefore-display:none}
1
+ ._12xsglyw:has(:focus-visible){--expandable-provided-elembefore-display:none}
2
2
  ._165n1bgi{--expandable-provided-elembefore-display:contents}
3
3
  ._165nglyw{--expandable-provided-elembefore-display:none}
4
4
  ._1e0c1xb2{display:var(--expandable-provided-elembefore-display)}
@@ -6,7 +6,9 @@
6
6
  ._1hl9glyw:has([aria-expanded=true][aria-haspopup=true]){--expandable-provided-elembefore-display:none}
7
7
  ._1mmi1txw{--expandable-chevron-display:flex}
8
8
  ._1mmiglyw{--expandable-chevron-display:none}
9
- ._b31z1txw:has(:focus-visible), ._1vnl1txw:hover{--expandable-chevron-display:flex}
9
+ ._b31z1txw:has(:focus-visible){--expandable-chevron-display:flex}
10
10
  ._syaz1qo3{color:var(--ds-icon-selected,#0c66e4)}
11
11
  ._v9u71txw:has([aria-expanded=true][aria-haspopup=true]){--expandable-chevron-display:flex}
12
- [dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
12
+ [dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
13
+ ._1vnl1txw:hover{--expandable-chevron-display:flex}
14
+ ._p8btglyw:hover{--expandable-provided-elembefore-display:none}
@@ -1,4 +1,4 @@
1
- /* expandable-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* expandable-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* expandable-menu-item.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* expandable-menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* flyout-menu-item-content.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* flyout-menu-item-content.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* flyout-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* flyout-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* link-menu-item.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* link-menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,3 +1,4 @@
1
+
1
2
  ._11c8dcr7{font:var(--ds-font-body-UNSAFE_small,normal 400 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
3
  ._1r04ze3t{inset:var(--ds-space-0,0)}
3
4
  ._2rko12b0{border-radius:var(--ds-radius-small,4px)}
@@ -92,19 +93,23 @@
92
93
  ._yv0e7dup{grid-template-columns:minmax(0,auto) 1fr minmax(0,auto) minmax(0,auto)}
93
94
  ._yv0enbh3{grid-template-columns:subgrid}
94
95
  ._12s918uv:focus-within{overflow-y:initial}
95
- ._1brr1txw:focus-within, ._109x1txw:hover{--actions-on-hover-display:flex}
96
+ ._1brr1txw:focus-within{--actions-on-hover-display:flex}
96
97
  ._1guo18uv:focus-within{overflow-x:initial}
97
- ._1mfcglyw:focus-within, ._1sjuglyw:hover{--elem-after-display:none}
98
- ._91nl1wug:focus-within, ._ynyi1wug:hover{--actions-on-hover-width:auto}
99
- ._iy5o1b66:focus-within, ._v4o21b66:hover{--actions-on-hover-padding:var(--ds-space-050,4px)}
100
- ._t7p8kb7n:focus-within, ._g4kikb7n:hover{--actions-on-hover-opacity:1}
98
+ ._1mfcglyw:focus-within{--elem-after-display:none}
99
+ ._91nl1wug:focus-within{--actions-on-hover-width:auto}
100
+ ._iy5o1b66:focus-within{--actions-on-hover-padding:var(--ds-space-050,4px)}
101
+ ._t7p8kb7n:focus-within{--actions-on-hover-opacity:1}._109x1txw:hover{--actions-on-hover-display:flex}
101
102
  ._11om6b4r:hover{animation-name:k1xyysw3}
103
+ ._1sjuglyw:hover{--elem-after-display:none}
102
104
  ._1uy01amc:hover{animation-delay:.8s}
103
105
  ._30l3aqb7:hover{color:var(--ds-text-selected,#0c66e4)}
104
106
  ._7psyru3m:hover{animation-duration:0s}
105
107
  ._bir2q7pw:hover{animation-fill-mode:forwards}
108
+ ._g4kikb7n:hover{--actions-on-hover-opacity:1}
106
109
  ._irr3108i:hover{background-color:var(--ds-surface-hovered,#f1f2f4)}
107
110
  ._irr3i1yw:hover{background-color:var(--ds-background-selected-hovered,#cce0ff)}
108
111
  ._irr3n7od:hover{background-color:unset}
112
+ ._v4o21b66:hover{--actions-on-hover-padding:var(--ds-space-050,4px)}
109
113
  ._x0kw1txw:hover{--drag-handle-display:flex}
114
+ ._ynyi1wug:hover{--actions-on-hover-width:auto}
110
115
  @keyframes k1xyysw3{to{cursor:grab}}
@@ -1,4 +1,4 @@
1
- /* menu-item.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* menu-item.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* top-level-spacer.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* top-level-spacer.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
1
 
2
2
  ._h7alglyw{border-inline:none}._179rglyw{border-block-end:none}
3
- ._mqm2pp12{border-block-start:var(--_18x9sjc)}
3
+ ._mqm2zgxb{border-block-start:1px solid var(--ds-border,#091e4224)}
4
4
  ._1bsb1osq{width:100%}
@@ -1,4 +1,4 @@
1
- /* divider.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* divider.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -27,9 +27,6 @@ var Divider = exports.Divider = function Divider() {
27
27
  * but it probably isn't necessary.
28
28
  */
29
29
  role: "none",
30
- className: (0, _runtime.ax)(["_h7alglyw _179rglyw _mqm2pp12 _1bsb1osq"]),
31
- style: {
32
- "--_18x9sjc": (0, _runtime.ix)("1px solid ".concat("var(--ds-border, #091E4224)"))
33
- }
30
+ className: (0, _runtime.ax)(["_h7alglyw _179rglyw _mqm2zgxb _1bsb1osq"])
34
31
  });
35
32
  };
@@ -1,4 +1,4 @@
1
- /* menu-section-heading.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* menu-section-heading.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* aside.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* aside.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* banner.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* banner.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* main-sticky-header.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* main-sticky-header.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* main.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* main.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -24,12 +24,15 @@
24
24
  ._syaz1kw7{color:inherit}
25
25
  ._u7coidpf{inset-block-end:0}
26
26
  ._y4tize3t{padding-inline-end:var(--ds-space-0,0)}
27
- ._1cg4fnf5:focus-within, ._le1bfnf5:hover{transition-duration:.2s}
28
- ._1dr21ylx:focus-within, ._1s5z1ylx:hover{transition-property:color}
29
- ._vp7gaqb7:focus-within, ._30l3aqb7:hover{color:var(--ds-text-selected,#0c66e4)}
27
+ ._1cg4fnf5:focus-within{transition-duration:.2s}
28
+ ._1dr21ylx:focus-within{transition-property:color}
29
+ ._vp7gaqb7:focus-within{color:var(--ds-text-selected,#0c66e4)}
30
30
  ._1gavfnf5:hover{transition-delay:.2s}
31
+ ._1s5z1ylx:hover{transition-property:color}
32
+ ._30l3aqb7:hover{color:var(--ds-text-selected,#0c66e4)}
31
33
  ._d0al11mm:hover{cursor:col-resize}
32
34
  ._d0aluf7j:hover{cursor:ew-resize}
35
+ ._le1bfnf5:hover{transition-duration:.2s}
33
36
  ._1gglglyw:active{transition:none}
34
37
  ._9h8h16c2:active{color:var(--ds-link-pressed,#05c)}
35
38
  @media (min-width:48rem){._181n1ule{display:block}}
@@ -1,4 +1,4 @@
1
- /* panel-splitter.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* panel-splitter.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* panel.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* panel.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* root.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* root.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav-content.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* side-nav-content.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav-footer.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* side-nav-footer.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav-header.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* side-nav-header.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* side-nav.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.SideNavToggleButtonElement = exports.SideNavToggleButtonAttachRef = void 0;
7
+ exports.SideNavToggleButtonSlotContext = exports.SideNavToggleButtonElement = exports.SideNavToggleButtonAttachRef = void 0;
8
8
  var _react = require("react");
9
9
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
10
10
  /**
@@ -23,4 +23,9 @@ var SideNavToggleButtonElement = exports.SideNavToggleButtonElement = /*#__PURE_
23
23
  * A callback ref is needed because the side nav can be mounted before the elements in the top bar (e.g. if the element
24
24
  * is lazy loaded, which happens in Jira and Confluence), which would prevent the event listeners from being set up.
25
25
  */
26
- var SideNavToggleButtonAttachRef = exports.SideNavToggleButtonAttachRef = /*#__PURE__*/(0, _react.createContext)(_noop.default);
26
+ var SideNavToggleButtonAttachRef = exports.SideNavToggleButtonAttachRef = /*#__PURE__*/(0, _react.createContext)(_noop.default);
27
+
28
+ /**
29
+ * Used to check if the SideNavToggleButton is rendered inside of its slot in `TopNavStart`.
30
+ */
31
+ var SideNavToggleButtonSlotContext = exports.SideNavToggleButtonSlotContext = /*#__PURE__*/(0, _react.createContext)(false);
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.SideNavToggleButtonProvider = void 0;
8
+ exports.SideNavToggleButtonSlotProvider = exports.SideNavToggleButtonProvider = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _toggleButtonContext = require("./toggle-button-context");
@@ -34,4 +34,16 @@ var SideNavToggleButtonProvider = exports.SideNavToggleButtonProvider = function
34
34
  }, /*#__PURE__*/_react.default.createElement(_toggleButtonContext.SideNavToggleButtonAttachRef.Provider, {
35
35
  value: setElement
36
36
  }, children));
37
+ };
38
+
39
+ /**
40
+ * Provider for the side nav toggle button slot.
41
+ *
42
+ * This allows us to determine if the toggle button is rendered inside or outside of its slot.
43
+ */
44
+ var SideNavToggleButtonSlotProvider = exports.SideNavToggleButtonSlotProvider = function SideNavToggleButtonSlotProvider(_ref2) {
45
+ var children = _ref2.children;
46
+ return /*#__PURE__*/_react.default.createElement(_toggleButtonContext.SideNavToggleButtonSlotContext.Provider, {
47
+ value: true
48
+ }, children);
37
49
  };
@@ -1,2 +1,3 @@
1
1
  ._1e0c1bgi{display:contents}
2
- ._lcxvglyw{pointer-events:none}
2
+ ._lcxvglyw{pointer-events:none}
3
+ @media (min-width:64rem){._3l1a1wug{margin-inline-start:auto}}
@@ -1,4 +1,4 @@
1
- /* toggle-button.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* toggle-button.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -29,6 +29,12 @@ var toggleButtonTooltipOptions = {
29
29
  // For duplicate "mouseenter" issue when changing icons (see below)
30
30
  var silentIconStyles = null;
31
31
 
32
+ /**
33
+ * Wrapper styles to align the toggle button to the end of `TopNavStart`
34
+ * when FHS is expanded.
35
+ */
36
+ var fullHeightSidebarExpandedWrapperStyles = null;
37
+
32
38
  /**
33
39
  * __SideNavToggleButton__
34
40
  *
@@ -102,7 +108,7 @@ var SideNavToggleButton = exports.SideNavToggleButton = function SideNavToggleBu
102
108
  className: (0, _runtime.ax)(["_1e0c1bgi _lcxvglyw"])
103
109
  }, isSideNavExpanded ? /*#__PURE__*/_react.default.createElement(_sidebarCollapse.default, props) : /*#__PURE__*/_react.default.createElement(_sidebarExpand.default, props));
104
110
  };
105
- return /*#__PURE__*/_react.default.createElement(_migration.IconButton, {
111
+ var iconButton = /*#__PURE__*/_react.default.createElement(_migration.IconButton, {
106
112
  appearance: "subtle",
107
113
  label: isSideNavExpanded ? collapseLabel : expandLabel,
108
114
  icon: icon,
@@ -113,4 +119,15 @@ var SideNavToggleButton = exports.SideNavToggleButton = function SideNavToggleBu
113
119
  ref: (0, _platformFeatureFlags.fg)('platform_fix_component_state_update_for_suspense') ? elementRef : ref,
114
120
  tooltip: toggleButtonTooltipOptions
115
121
  });
122
+ var isInsideSlot = (0, _react.useContext)(_toggleButtonContext.SideNavToggleButtonSlotContext);
123
+
124
+ // Checking `isInsideSlot` in case an app isn't using the slot
125
+ // We don't want to break existing non-slot usage with the left margin
126
+ // This check can be removed in the future, after slot is required for a while.
127
+ if (isInsideSlot && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
128
+ return /*#__PURE__*/_react.default.createElement("div", {
129
+ className: (0, _runtime.ax)([isSideNavExpandedOnDesktop && "_3l1a1wug"])
130
+ }, iconButton);
131
+ }
132
+ return iconButton;
116
133
  };
@@ -1,4 +1,4 @@
1
- /* top-nav-end.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* top-nav-end.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* top-nav-middle.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* top-nav-middle.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -5,5 +5,4 @@
5
5
  ._4t3i1osq{height:100%}
6
6
  ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
7
7
  ._lcxv1wug{pointer-events:auto}
8
- ._p12fnau3{max-width:calc(100% - var(--ds-space-200, 1pc))}
9
- @media (min-width:64rem){._15rin7od{min-width:unset}._glte1ris{width:max-content}._15ri1mjv{min-width:300px}._1gs5usvi{box-sizing:border-box}}
8
+ @media (min-width:64rem){._15rin7od{min-width:unset}._glte1osq{width:100%}._10jxnau3{max-width:calc(100% - var(--ds-space-200, 1pc))}._glte1ris{width:max-content}._15ri1mjv{min-width:300px}._1gs5usvi{box-sizing:border-box}}
@@ -1,6 +1,7 @@
1
- /* top-nav-start.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* top-nav-start.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
@@ -8,17 +9,28 @@ Object.defineProperty(exports, "__esModule", {
8
9
  exports.TopNavStart = TopNavStart;
9
10
  require("./top-nav-start.compiled.css");
10
11
  var _runtime = require("@compiled/react/runtime");
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
  var _react = _interopRequireWildcard(require("react"));
12
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
+ var _compiled = require("@atlaskit/primitives/compiled");
13
16
  var _topNavStartContext = require("../../../context/top-nav-start/top-nav-start-context");
17
+ var _toggleButtonProvider = require("../side-nav/toggle-button-provider");
14
18
  var _useSideNavVisibility2 = require("../side-nav/use-side-nav-visibility");
15
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
16
20
  var styles = {
17
21
  root: "_zulp1b66 _yyhykb7n _4t3i1osq _4cvr1h6o _1e0c1txw _glte1ris _15ri1mjv _1gs5usvi",
18
- fullHeightSidebar: "_p12fnau3 _bozgutpp _lcxv1wug",
19
- fullHeightSidebarExpanded: "_15rin7od"
22
+ fullHeightSidebar: "_bozgutpp _lcxv1wug",
23
+ fullHeightSidebarExpanded: "_15rin7od _glte1osq _10jxnau3"
20
24
  };
21
25
 
26
+ /**
27
+ * The consistent key used for the side nav toggle button to ensure it does not get remounted
28
+ * when it is reordered.
29
+ *
30
+ * This ensures we get focus restoration for free.
31
+ */
32
+ var sideNavToggleButtonKey = 'side-nav-toggle-button';
33
+
22
34
  /**
23
35
  * __TopNavStart__
24
36
  *
@@ -26,7 +38,8 @@ var styles = {
26
38
  */
27
39
  function TopNavStart(_ref) {
28
40
  var children = _ref.children,
29
- testId = _ref.testId;
41
+ testId = _ref.testId,
42
+ sideNavToggleButton = _ref.sideNavToggleButton;
30
43
  var ref = (0, _react.useContext)(_topNavStartContext.TopNavStartAttachRef);
31
44
  var elementRef = (0, _react.useRef)(null);
32
45
  (0, _react.useEffect)(function () {
@@ -35,14 +48,41 @@ function TopNavStart(_ref) {
35
48
  }
36
49
  }, [elementRef, ref]);
37
50
 
38
- // Need to use `{ defaultCollapsed: true }` otherwise when there is no side nav mounted this never becomes false
51
+ // This needs the real `defaultCollapsed` state or will not SSR properly
52
+ // TODO: lift `defaultCollapsed` state to `Root` (DSP-23683)
53
+ // then context value will be correct in SSR / from initial render
39
54
  var _useSideNavVisibility = (0, _useSideNavVisibility2.useSideNavVisibility)({
40
55
  defaultCollapsed: true
41
56
  }),
42
57
  isExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop;
58
+
59
+ // For SSR assume desktop
60
+ var _useState = (0, _react.useState)(true),
61
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
62
+ isDesktop = _useState2[0],
63
+ setIsDesktop = _useState2[1];
64
+ // Set state to real value on client
65
+ // This could result in some visible shift on mobile when hydrating SSR
66
+ // TODO: review and improve SSR behavior as necessary (DSP-23817)
67
+ (0, _react.useLayoutEffect)(function () {
68
+ // Checking this to avoid breaking tests when `matchMedia` is not mocked
69
+ // Ideally we wouldn't cater to test environments, but this avoids introducing unnecessary friction
70
+ if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {
71
+ setIsDesktop(window.matchMedia('(min-width: 64rem)').matches);
72
+ }
73
+ }, []);
74
+ (0, _compiled.UNSAFE_useMediaQuery)('above.md', function (event) {
75
+ setIsDesktop(event.matches);
76
+ });
43
77
  return /*#__PURE__*/_react.default.createElement("div", {
44
78
  ref: (0, _platformFeatureFlags.fg)('platform_fix_component_state_update_for_suspense') ? elementRef : ref,
45
79
  "data-testid": testId,
46
80
  className: (0, _runtime.ax)([styles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebar, isExpandedOnDesktop && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebarExpanded])
47
- }, children);
81
+ }, !(0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && /*#__PURE__*/_react.default.createElement(_toggleButtonProvider.SideNavToggleButtonSlotProvider, {
82
+ key: sideNavToggleButtonKey
83
+ }, sideNavToggleButton), sideNavToggleButton && (!isDesktop || !isExpandedOnDesktop) && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && /*#__PURE__*/_react.default.createElement(_toggleButtonProvider.SideNavToggleButtonSlotProvider, {
84
+ key: sideNavToggleButtonKey
85
+ }, sideNavToggleButton), children, sideNavToggleButton && isDesktop && isExpandedOnDesktop && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && /*#__PURE__*/_react.default.createElement(_toggleButtonProvider.SideNavToggleButtonSlotProvider, {
86
+ key: sideNavToggleButtonKey
87
+ }, sideNavToggleButton));
48
88
  }
@@ -1,4 +1,4 @@
1
- /* top-nav.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* top-nav.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* custom-title.tsx generated by @compiled/babel-plugin v0.36.1 */
1
+ /* custom-title.tsx generated by @compiled/babel-plugin v0.38.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -5,6 +5,7 @@
5
5
  ._1e0c1txw{display:flex}
6
6
  ._1e0cglyw{display:none}
7
7
  ._1o9zidpf{flex-shrink:0}
8
+ ._1o9zkb7n{flex-shrink:1}
8
9
  ._1reo15vq{overflow-x:hidden}
9
10
  ._1toh1r31._1toh1r31{text-decoration-color:currentColor}
10
11
  ._1w901kw7._1w901kw7{color:inherit}
@@ -13,6 +14,7 @@
13
14
  ._5jyqglyw._5jyqglyw{text-decoration-line:none}
14
15
  ._ahbq1b66{margin-inline-start:var(--ds-space-050,4px)}
15
16
  ._mrqmnqa1._mrqmnqa1{text-decoration-style:solid}
17
+ ._p12f1osq{max-width:100%}
16
18
  ._p12f1tcg{max-width:24px}
17
19
  ._p12fnklw{max-width:20pc}
18
20
  ._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}