@duetds/components 8.6.2 → 8.6.3

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 (217) hide show
  1. package/hydrate/index.js +63 -21
  2. package/lib/cjs/duet-banner.cjs.entry.js +3 -1
  3. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-modal.cjs.entry.js +24 -3
  7. package/lib/cjs/duet-page-heading.cjs.entry.js +2 -1
  8. package/lib/cjs/duet-pagination_2.cjs.entry.js +22 -9
  9. package/lib/cjs/duet-popup-menu.cjs.entry.js +1 -0
  10. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  11. package/lib/cjs/duet.cjs.js +1 -1
  12. package/lib/cjs/loader.cjs.js +1 -1
  13. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  14. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  15. package/lib/collection/components/duet-banner/duet-banner.css +25 -21
  16. package/lib/collection/components/duet-banner/duet-banner.js +3 -1
  17. package/lib/collection/components/duet-button/duet-button.js +5 -5
  18. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  19. package/lib/collection/components/duet-card/duet-card.js +3 -3
  20. package/lib/collection/components/duet-checkbox/duet-checkbox.css +4 -4
  21. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  22. package/lib/collection/components/duet-chip/duet-chip.js +6 -6
  23. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  24. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  25. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  26. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  27. package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
  28. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  29. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  30. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  31. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  32. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  33. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  34. package/lib/collection/components/duet-header/duet-header.js +15 -15
  35. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  36. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  37. package/lib/collection/components/duet-icon/duet-icon.css +3 -2
  38. package/lib/collection/components/duet-input/duet-input.js +8 -8
  39. package/lib/collection/components/duet-label/duet-label.js +2 -2
  40. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  41. package/lib/collection/components/duet-link/duet-link.css +12 -6
  42. package/lib/collection/components/duet-link/duet-link.js +1 -1
  43. package/lib/collection/components/duet-list/duet-list.js +3 -3
  44. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  45. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
  46. package/lib/collection/components/duet-modal/duet-modal.css +2 -1
  47. package/lib/collection/components/duet-modal/duet-modal.e2e.js +21 -0
  48. package/lib/collection/components/duet-modal/duet-modal.js +59 -10
  49. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  50. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  51. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  52. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  53. package/lib/collection/components/duet-page-heading/duet-page-heading.css +3 -0
  54. package/lib/collection/components/duet-page-heading/duet-page-heading.js +1 -0
  55. package/lib/collection/components/duet-pagination/duet-pagination.js +37 -10
  56. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  57. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +22 -1
  58. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  59. package/lib/collection/components/duet-radio/duet-radio.css +4 -4
  60. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  61. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  62. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +24 -2
  63. package/lib/collection/components/duet-select/duet-select.js +5 -5
  64. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  65. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
  66. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  67. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  68. package/lib/collection/components/duet-step/duet-step.js +2 -2
  69. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  70. package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
  71. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
  72. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  73. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  74. package/lib/collection/components/duet-upload/duet-upload.js +14 -14
  75. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  76. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  77. package/lib/dist-custom-elements/duet-alert.js +1 -1
  78. package/lib/dist-custom-elements/duet-banner.js +4 -2
  79. package/lib/dist-custom-elements/duet-breadcrumb.js +1 -1
  80. package/lib/dist-custom-elements/duet-button.js +1 -1
  81. package/lib/dist-custom-elements/duet-callout.js +1 -1
  82. package/lib/dist-custom-elements/duet-card.js +1 -1
  83. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  84. package/lib/dist-custom-elements/duet-chip.js +1 -1
  85. package/lib/dist-custom-elements/duet-choice-group.js +3 -3
  86. package/lib/dist-custom-elements/duet-choice.js +1 -1
  87. package/lib/dist-custom-elements/duet-collapsible.js +1 -1
  88. package/lib/dist-custom-elements/duet-combobox.js +6 -6
  89. package/lib/dist-custom-elements/duet-contact-card.js +3 -3
  90. package/lib/dist-custom-elements/duet-cookie-consent.js +2 -2
  91. package/lib/dist-custom-elements/duet-date-picker.js +6 -6
  92. package/lib/dist-custom-elements/duet-editable-table.js +3 -3
  93. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  94. package/lib/dist-custom-elements/duet-footer.js +1 -1
  95. package/lib/dist-custom-elements/duet-header.js +2 -2
  96. package/lib/dist-custom-elements/duet-hero.js +2 -2
  97. package/lib/dist-custom-elements/duet-icon.js +1 -1
  98. package/lib/dist-custom-elements/duet-input.js +1 -1
  99. package/lib/dist-custom-elements/duet-link.js +1 -1
  100. package/lib/dist-custom-elements/duet-menu-bar-button.js +1 -1
  101. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +1 -1
  102. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +1 -1
  103. package/lib/dist-custom-elements/duet-menu-bar-item.js +1 -1
  104. package/lib/dist-custom-elements/duet-menu-bar-link.js +1 -1
  105. package/lib/dist-custom-elements/duet-modal.js +27 -5
  106. package/lib/dist-custom-elements/duet-multiselect.js +4 -4
  107. package/lib/dist-custom-elements/duet-notification-drawer.js +2 -2
  108. package/lib/dist-custom-elements/duet-number-input.js +5 -5
  109. package/lib/dist-custom-elements/duet-page-heading.js +3 -2
  110. package/lib/dist-custom-elements/duet-pagination.js +24 -14
  111. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  112. package/lib/dist-custom-elements/duet-popup-menu.js +2 -0
  113. package/lib/dist-custom-elements/duet-radio-group.js +3 -3
  114. package/lib/dist-custom-elements/duet-radio.js +1 -1
  115. package/lib/dist-custom-elements/duet-range-stepper.js +8 -3
  116. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  117. package/lib/dist-custom-elements/duet-select.js +1 -1
  118. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  119. package/lib/dist-custom-elements/duet-slideout-lang.js +1 -1
  120. package/lib/dist-custom-elements/duet-slideout-link.js +1 -1
  121. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +1 -1
  122. package/lib/dist-custom-elements/duet-slideout-panel.js +1 -1
  123. package/lib/dist-custom-elements/duet-slideout.js +1 -1
  124. package/lib/dist-custom-elements/duet-step.js +1 -1
  125. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +1 -1
  126. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +1 -1
  127. package/lib/dist-custom-elements/duet-submenu-bar-item.js +1 -1
  128. package/lib/dist-custom-elements/duet-submenu-bar-link.js +1 -1
  129. package/lib/dist-custom-elements/duet-submenu-bar.js +1 -1
  130. package/lib/dist-custom-elements/duet-tab-group.js +6 -6
  131. package/lib/dist-custom-elements/duet-textarea.js +3 -3
  132. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +1 -1
  133. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +1 -1
  134. package/lib/dist-custom-elements/duet-toolbar-item.js +1 -1
  135. package/lib/dist-custom-elements/duet-toolbar-link.js +1 -1
  136. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  137. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  138. package/lib/dist-custom-elements/duet-tray.js +1 -1
  139. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  140. package/lib/dist-custom-elements/duet-upload.js +8 -8
  141. package/lib/dist-custom-elements/{p-2f410810.js → p-01b67752.js} +3 -3
  142. package/lib/dist-custom-elements/{p-e10f446d.js → p-0f0e9944.js} +3 -3
  143. package/lib/dist-custom-elements/{p-83231ea8.js → p-4c6021d9.js} +1 -1
  144. package/lib/dist-custom-elements/{p-755dd68f.js → p-531e8a71.js} +1 -1
  145. package/lib/dist-custom-elements/{p-e702eb52.js → p-71814469.js} +3 -3
  146. package/lib/dist-custom-elements/{p-0cee8a12.js → p-7b843aae.js} +1 -1
  147. package/lib/dist-custom-elements/{p-a829df6e.js → p-842a828e.js} +1 -1
  148. package/lib/dist-custom-elements/{p-014c1177.js → p-8f03dae0.js} +4 -4
  149. package/lib/dist-custom-elements/{p-667579b0.js → p-98d17606.js} +1 -1
  150. package/lib/dist-custom-elements/{p-28ec3461.js → p-a38a452e.js} +2 -2
  151. package/lib/dist-custom-elements/{p-a02e62f3.js → p-bb662681.js} +2 -2
  152. package/lib/dist-custom-elements/{p-92a16064.js → p-bc9ebb36.js} +2 -2
  153. package/lib/dist-custom-elements/{p-f4ac6968.js → p-bfcc033c.js} +1 -1
  154. package/lib/dist-custom-elements/{p-d482a2e9.js → p-c76bd205.js} +1 -1
  155. package/lib/dist-custom-elements/{p-6d366100.js → p-cefa037c.js} +3 -3
  156. package/lib/duet/duet.esm.js +1 -1
  157. package/lib/duet/p-08379332.entry.js +4 -0
  158. package/lib/duet/p-21f4713b.system.entry.js +4 -0
  159. package/lib/duet/p-26dbd459.entry.js +4 -0
  160. package/lib/duet/{p-69e67b58.entry.js → p-30773d74.entry.js} +1 -1
  161. package/lib/duet/p-3851808f.system.entry.js +4 -0
  162. package/lib/duet/{p-e0907f29.entry.js → p-5063685a.entry.js} +1 -1
  163. package/lib/duet/p-5a8b2426.entry.js +4 -0
  164. package/lib/duet/p-60bf137e.system.entry.js +4 -0
  165. package/lib/duet/p-6151635f.system.js +1 -1
  166. package/lib/duet/p-62512c7e.system.entry.js +4 -0
  167. package/lib/duet/p-62c34a4d.system.entry.js +4 -0
  168. package/lib/duet/p-77a2e410.system.entry.js +4 -0
  169. package/lib/duet/p-8b4ab364.system.entry.js +4 -0
  170. package/lib/duet/{p-0fc721ab.system.entry.js → p-9d0c2f7d.system.entry.js} +1 -1
  171. package/lib/duet/{p-cc9cfdb3.entry.js → p-a64b72f5.entry.js} +1 -1
  172. package/lib/duet/p-c5f48c1c.system.entry.js +4 -0
  173. package/lib/duet/p-e12b461b.entry.js +4 -0
  174. package/lib/duet/p-eceeb9fd.entry.js +4 -0
  175. package/lib/duet/p-fa87de22.entry.js +4 -0
  176. package/lib/esm/duet-banner.entry.js +3 -1
  177. package/lib/esm/duet-caption_4.entry.js +2 -2
  178. package/lib/esm/duet-checkbox.entry.js +1 -1
  179. package/lib/esm/duet-icon.entry.js +1 -1
  180. package/lib/esm/duet-modal.entry.js +24 -3
  181. package/lib/esm/duet-page-heading.entry.js +2 -1
  182. package/lib/esm/duet-pagination_2.entry.js +22 -9
  183. package/lib/esm/duet-popup-menu.entry.js +1 -0
  184. package/lib/esm/duet-radio_2.entry.js +1 -1
  185. package/lib/esm/duet.js +1 -1
  186. package/lib/esm/loader.js +1 -1
  187. package/lib/esm-es5/duet-banner.entry.js +1 -1
  188. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  189. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  190. package/lib/esm-es5/duet-icon.entry.js +1 -1
  191. package/lib/esm-es5/duet-modal.entry.js +1 -1
  192. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  193. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  194. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  195. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  196. package/lib/esm-es5/duet.js +1 -1
  197. package/lib/esm-es5/loader.js +1 -1
  198. package/lib/types/components/duet-modal/duet-modal.d.ts +8 -2
  199. package/lib/types/components/duet-pagination/duet-pagination.d.ts +4 -0
  200. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +4 -0
  201. package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +4 -0
  202. package/lib/types/components.d.ts +24 -2
  203. package/package.json +2 -2
  204. package/lib/duet/p-061f4be0.system.entry.js +0 -4
  205. package/lib/duet/p-1ef0e5ca.system.entry.js +0 -4
  206. package/lib/duet/p-46dda347.system.entry.js +0 -4
  207. package/lib/duet/p-5c8e3667.entry.js +0 -4
  208. package/lib/duet/p-723e165b.system.entry.js +0 -4
  209. package/lib/duet/p-8a41bde4.system.entry.js +0 -4
  210. package/lib/duet/p-8ba91848.entry.js +0 -4
  211. package/lib/duet/p-b6f62761.entry.js +0 -4
  212. package/lib/duet/p-c3c12f8d.entry.js +0 -4
  213. package/lib/duet/p-c5cf76db.entry.js +0 -4
  214. package/lib/duet/p-d739e7af.system.entry.js +0 -4
  215. package/lib/duet/p-deb98669.entry.js +0 -4
  216. package/lib/duet/p-e362468f.system.entry.js +0 -4
  217. package/lib/duet/p-e58015e8.system.entry.js +0 -4
@@ -778,7 +778,7 @@ export class DuetInput {
778
778
  "references": {
779
779
  "DuetInputType": {
780
780
  "location": "local",
781
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
781
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
782
782
  "id": "src/components/duet-input/duet-input.tsx::DuetInputType"
783
783
  }
784
784
  }
@@ -802,7 +802,7 @@ export class DuetInput {
802
802
  "references": {
803
803
  "DuetVariationType": {
804
804
  "location": "local",
805
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
805
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
806
806
  "id": "src/components/duet-input/duet-input.tsx::DuetVariationType"
807
807
  }
808
808
  }
@@ -1044,7 +1044,7 @@ export class DuetInput {
1044
1044
  "references": {
1045
1045
  "DuetInputComponentType": {
1046
1046
  "location": "local",
1047
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
1047
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
1048
1048
  "id": "src/components/duet-input/duet-input.tsx::DuetInputComponentType"
1049
1049
  }
1050
1050
  }
@@ -1223,7 +1223,7 @@ export class DuetInput {
1223
1223
  "references": {
1224
1224
  "DuetInputEvent": {
1225
1225
  "location": "local",
1226
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
1226
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
1227
1227
  "id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
1228
1228
  }
1229
1229
  }
@@ -1244,7 +1244,7 @@ export class DuetInput {
1244
1244
  "references": {
1245
1245
  "DuetInputEvent": {
1246
1246
  "location": "local",
1247
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
1247
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
1248
1248
  "id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
1249
1249
  }
1250
1250
  }
@@ -1265,7 +1265,7 @@ export class DuetInput {
1265
1265
  "references": {
1266
1266
  "DuetInputEvent": {
1267
1267
  "location": "local",
1268
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
1268
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
1269
1269
  "id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
1270
1270
  }
1271
1271
  }
@@ -1286,7 +1286,7 @@ export class DuetInput {
1286
1286
  "references": {
1287
1287
  "DuetInputEvent": {
1288
1288
  "location": "local",
1289
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
1289
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
1290
1290
  "id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
1291
1291
  }
1292
1292
  }
@@ -1307,7 +1307,7 @@ export class DuetInput {
1307
1307
  "references": {
1308
1308
  "DuetInputEvent": {
1309
1309
  "location": "local",
1310
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-input/duet-input.tsx",
1310
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-input/duet-input.tsx",
1311
1311
  "id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
1312
1312
  }
1313
1313
  }
@@ -101,7 +101,7 @@ export class DuetLabel {
101
101
  "references": {
102
102
  "DuetLabelMargin": {
103
103
  "location": "local",
104
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-label/duet-label.tsx",
104
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-label/duet-label.tsx",
105
105
  "id": "src/components/duet-label/duet-label.tsx::DuetLabelMargin"
106
106
  }
107
107
  }
@@ -125,7 +125,7 @@ export class DuetLabel {
125
125
  "references": {
126
126
  "DuetLabelSize": {
127
127
  "location": "local",
128
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-label/duet-label.tsx",
128
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-label/duet-label.tsx",
129
129
  "id": "src/components/duet-label/duet-label.tsx::DuetLabelSize"
130
130
  }
131
131
  }
@@ -124,7 +124,7 @@ export class DuetLayout {
124
124
  "references": {
125
125
  "DuetLayoutStickyDistance": {
126
126
  "location": "local",
127
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-layout/duet-layout.tsx",
127
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-layout/duet-layout.tsx",
128
128
  "id": "src/components/duet-layout/duet-layout.tsx::DuetLayoutStickyDistance"
129
129
  }
130
130
  }
@@ -173,8 +173,8 @@ button {
173
173
  align-items: center;
174
174
  width: 100%;
175
175
  min-height: 48px;
176
- padding: 12px;
177
- padding-right: 20px;
176
+ padding: 14px 16px;
177
+ line-height: 1.25;
178
178
  text-decoration: none;
179
179
  background-color: rgb(255, 255, 255);
180
180
  border: solid 1px rgb(207, 210, 212);
@@ -201,6 +201,9 @@ button {
201
201
  }
202
202
  .duet-link.button.duet-link-has-icon-background {
203
203
  min-height: 60px;
204
+ padding: 12px;
205
+ padding-right: 20px;
206
+ line-height: 1.5;
204
207
  }
205
208
  .duet-link.button.duet-link-has-icon-background .icon-wrap {
206
209
  width: 36px;
@@ -213,19 +216,19 @@ button {
213
216
  }
214
217
  @media (min-width: 48em) {
215
218
  .duet-link.button {
216
- gap: 16px;
217
- min-height: 60px;
218
- border-radius: 16px;
219
+ min-height: 50px;
219
220
  }
220
221
  .duet-link.button.duet-link-has-icon-background {
222
+ gap: 16px;
221
223
  min-height: 72px;
224
+ border-radius: 16px;
222
225
  }
223
226
  .duet-link.button.duet-link-has-icon-background .icon-wrap {
224
227
  width: 48px;
225
228
  height: 48px;
226
229
  border-radius: 12px;
227
230
  }
228
- .duet-link.button .duet-link-content {
231
+ .duet-link.button.duet-link-has-icon-background .duet-link-content {
229
232
  font-size: 1.1rem;
230
233
  }
231
234
  }
@@ -239,6 +242,9 @@ button {
239
242
  border-color: rgb(198, 12, 48);
240
243
  outline-color: rgb(198, 12, 48);
241
244
  }
245
+ .duet-link.button .block__chevron-icon {
246
+ transition: 300ms ease;
247
+ }
242
248
  .duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon {
243
249
  transform: translateX(4px);
244
250
  }
@@ -125,7 +125,7 @@ export class DuetLink {
125
125
  const iconWrapStyle = {
126
126
  "background-color": getColorByName(this.iconBackground, this.theme),
127
127
  };
128
- return (h(Fragment, null, h("span", { class: "icon-wrap", style: iconWrapStyle }, h("duet-icon", { size: this.isMediumScreen ? "small" : "medium", name: this.icon, margin: "none", color: this.iconColor })), h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), h("duet-icon", { class: "block__chevron-icon", icon: this.external ? newWindowIconLarge.svg : chevronIcon.svg, size: "x-small", margin: "none", color: "primary-dark" })));
128
+ return (h(Fragment, null, h("span", { class: "icon-wrap", style: iconWrapStyle }, h("duet-icon", { size: !this.iconBackground || this.isMediumScreen ? "small" : "medium", name: this.icon, margin: "none", color: this.iconColor })), h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), h("duet-icon", { class: "block__chevron-icon", icon: this.external ? newWindowIconLarge.svg : chevronIcon.svg, size: "x-small", margin: "none", color: "primary-dark" })));
129
129
  }
130
130
  renderContent() {
131
131
  switch (this.variation) {
@@ -169,7 +169,7 @@ export class DuetList {
169
169
  "references": {
170
170
  "DuetListMobileAlignment": {
171
171
  "location": "local",
172
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-list/duet-list.tsx",
172
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-list/duet-list.tsx",
173
173
  "id": "src/components/duet-list/duet-list.tsx::DuetListMobileAlignment"
174
174
  }
175
175
  }
@@ -217,7 +217,7 @@ export class DuetList {
217
217
  "references": {
218
218
  "DuetListVariation": {
219
219
  "location": "local",
220
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-list/duet-list.tsx",
220
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-list/duet-list.tsx",
221
221
  "id": "src/components/duet-list/duet-list.tsx::DuetListVariation"
222
222
  }
223
223
  }
@@ -241,7 +241,7 @@ export class DuetList {
241
241
  "references": {
242
242
  "DuetListLabelWidth": {
243
243
  "location": "local",
244
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-list/duet-list.tsx",
244
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-list/duet-list.tsx",
245
245
  "id": "src/components/duet-list/duet-list.tsx::DuetListLabelWidth"
246
246
  }
247
247
  }
@@ -176,7 +176,7 @@ export class DuetLogo {
176
176
  "references": {
177
177
  "DuetLogoSize": {
178
178
  "location": "local",
179
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-logo/duet-logo.tsx",
179
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-logo/duet-logo.tsx",
180
180
  "id": "src/components/duet-logo/duet-logo.tsx::DuetLogoSize"
181
181
  }
182
182
  }
@@ -251,7 +251,7 @@ export class DuetMenuBar {
251
251
  "references": {
252
252
  "DuetMenuBarChangeEvent": {
253
253
  "location": "local",
254
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-menu-bar/duet-menu-bar.tsx",
254
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-menu-bar/duet-menu-bar.tsx",
255
255
  "id": "src/components/duet-menu-bar/duet-menu-bar.tsx::DuetMenuBarChangeEvent"
256
256
  }
257
257
  }
@@ -186,6 +186,7 @@
186
186
  .duet-modal.slide-up {
187
187
  top: 100vh;
188
188
  margin: 0;
189
+ overflow: auto;
189
190
  border-radius: 4px 4px 0 0;
190
191
  opacity: 1;
191
192
  transition: top 600ms ease;
@@ -282,7 +283,7 @@
282
283
  .duet-modal-sticky-header {
283
284
  position: sticky;
284
285
  top: 0;
285
- z-index: 200;
286
+ z-index: 300;
286
287
  display: block;
287
288
  padding-bottom: 12px;
288
289
  text-align: left;
@@ -59,6 +59,27 @@ describe("duet-modal", () => {
59
59
  const element = await page.find("duet-modal >>> .duet-modal-container");
60
60
  expect(element).toHaveClass("duet-modal-active");
61
61
  });
62
+ it("should provide a method to scroll content to top", async () => {
63
+ const loremIpsumArray = new Array(20).fill("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud.");
64
+ const page = await createPage(`
65
+ <duet-modal variation="slide-up" active>
66
+ <div slot="sticky-header"><duet-heading level="h3">Etsi lorem ipsum</duet-heading></div>
67
+ <duet-button class="top">Top</duet-button>
68
+ ${loremIpsumArray.map(i => `<duet-paragarph>${i}</duet-paragraph>`)}
69
+ <duet-button class="bottom">Bottom</duet-button>
70
+ </duet-modal>`);
71
+ const modal = await page.find("duet-modal");
72
+ const top = await page.find("duet-button.top");
73
+ const bottom = await page.find("duet-button.bottom");
74
+ expect(await top.isIntersectingViewport()).toBeTruthy();
75
+ expect(await bottom.isIntersectingViewport()).toBeFalsy();
76
+ bottom.click();
77
+ expect(await top.isIntersectingViewport()).toBeFalsy();
78
+ expect(await bottom.isIntersectingViewport()).toBeTruthy();
79
+ await modal.callMethod("scrollToTop", false); // call with false for immediate scroll
80
+ expect(await top.isIntersectingViewport()).toBeTruthy();
81
+ expect(await bottom.isIntersectingViewport()).toBeFalsy();
82
+ });
62
83
  it.skip("closes on blur", async () => {
63
84
  const page = await createPage(`
64
85
  <duet-modal
@@ -183,12 +183,33 @@ export class DuetModal {
183
183
  async hide() {
184
184
  this.open = false;
185
185
  }
186
+ /**
187
+ * Scolls the top of the modal's content into view
188
+ *
189
+ * @param smooth Set to false for instant scrolling
190
+ */
191
+ async scrollToTop(smooth = true) {
192
+ var _a;
193
+ const behavior = smooth ? "smooth" : "auto";
194
+ if (this.variation === "slide-up") {
195
+ const stickyHeaderHeight = ((_a = this.modalEl.querySelector(".duet-modal-sticky-header")) === null || _a === void 0 ? void 0 : _a.clientHeight) || 0;
196
+ const modalBodyPadding = this.modalEl
197
+ .querySelector(".duet-modal-body")
198
+ .computedStyleMap()
199
+ .get("padding-top");
200
+ this.slotContainerEl.style.scrollMarginTop = `${stickyHeaderHeight + modalBodyPadding.value}px`;
201
+ this.slotContainerEl.scrollIntoView({ behavior });
202
+ }
203
+ else {
204
+ this.modalEl.querySelector(".duet-modal-body").scrollIntoView({ behavior });
205
+ }
206
+ }
186
207
  /**
187
208
  * Adds a message to the modal dialog using animation and annoucing it to screen readers.
188
209
  * Primarily for use with the loader variation.
189
210
  *
190
- * @param message - The message to be added to the modal dialog.
191
- * @param visible - set to false if you want to add a non-visual message.
211
+ * @param message The message to be added to the modal dialog.
212
+ * @param visible Set to false if you want to add a non-visual message.
192
213
  */
193
214
  async addMessage(message, visible = true) {
194
215
  const el = document.createElement(visible ? "duet-paragraph" : "duet-visually-hidden");
@@ -355,7 +376,7 @@ export class DuetModal {
355
376
  "references": {
356
377
  "DuetModalSize": {
357
378
  "location": "local",
358
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
379
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
359
380
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalSize"
360
381
  }
361
382
  }
@@ -466,7 +487,7 @@ export class DuetModal {
466
487
  "references": {
467
488
  "DuetModalVariation": {
468
489
  "location": "local",
469
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
490
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
470
491
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalVariation"
471
492
  }
472
493
  }
@@ -490,7 +511,7 @@ export class DuetModal {
490
511
  "references": {
491
512
  "DuetModalSize": {
492
513
  "location": "local",
493
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
514
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
494
515
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalSize"
495
516
  }
496
517
  }
@@ -732,7 +753,7 @@ export class DuetModal {
732
753
  "references": {
733
754
  "DuetModalCloseEvent": {
734
755
  "location": "local",
735
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
756
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
736
757
  "id": "src/components/duet-modal/duet-modal.tsx::DuetModalCloseEvent"
737
758
  }
738
759
  }
@@ -775,17 +796,45 @@ export class DuetModal {
775
796
  "tags": []
776
797
  }
777
798
  },
799
+ "scrollToTop": {
800
+ "complexType": {
801
+ "signature": "(smooth?: boolean) => Promise<void>",
802
+ "parameters": [{
803
+ "name": "smooth",
804
+ "type": "boolean",
805
+ "docs": "Set to false for instant scrolling"
806
+ }],
807
+ "references": {
808
+ "Promise": {
809
+ "location": "global",
810
+ "id": "global::Promise"
811
+ },
812
+ "CSSUnitValue": {
813
+ "location": "global",
814
+ "id": "global::CSSUnitValue"
815
+ }
816
+ },
817
+ "return": "Promise<void>"
818
+ },
819
+ "docs": {
820
+ "text": "Scolls the top of the modal's content into view",
821
+ "tags": [{
822
+ "name": "param",
823
+ "text": "smooth Set to false for instant scrolling"
824
+ }]
825
+ }
826
+ },
778
827
  "addMessage": {
779
828
  "complexType": {
780
829
  "signature": "(message: string, visible?: boolean) => Promise<void>",
781
830
  "parameters": [{
782
831
  "name": "message",
783
832
  "type": "string",
784
- "docs": "- The message to be added to the modal dialog."
833
+ "docs": "The message to be added to the modal dialog."
785
834
  }, {
786
835
  "name": "visible",
787
836
  "type": "boolean",
788
- "docs": "- set to false if you want to add a non-visual message."
837
+ "docs": "Set to false if you want to add a non-visual message."
789
838
  }],
790
839
  "references": {
791
840
  "Promise": {
@@ -799,10 +848,10 @@ export class DuetModal {
799
848
  "text": "Adds a message to the modal dialog using animation and annoucing it to screen readers.\nPrimarily for use with the loader variation.",
800
849
  "tags": [{
801
850
  "name": "param",
802
- "text": "message - The message to be added to the modal dialog."
851
+ "text": "message The message to be added to the modal dialog."
803
852
  }, {
804
853
  "name": "param",
805
- "text": "visible - set to false if you want to add a non-visual message."
854
+ "text": "visible Set to false if you want to add a non-visual message."
806
855
  }]
807
856
  }
808
857
  }
@@ -318,7 +318,7 @@ export class DuetMultiselect {
318
318
  "references": {
319
319
  "DuetMultiselectItem": {
320
320
  "location": "local",
321
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
321
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
322
322
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectItem"
323
323
  }
324
324
  }
@@ -453,7 +453,7 @@ export class DuetMultiselect {
453
453
  "references": {
454
454
  "DuetMultiselectItem": {
455
455
  "location": "local",
456
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
456
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
457
457
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectItem"
458
458
  }
459
459
  }
@@ -629,7 +629,7 @@ export class DuetMultiselect {
629
629
  "references": {
630
630
  "DuetMultiselectEvent": {
631
631
  "location": "local",
632
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
632
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
633
633
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
634
634
  }
635
635
  }
@@ -650,7 +650,7 @@ export class DuetMultiselect {
650
650
  "references": {
651
651
  "DuetMultiselectEvent": {
652
652
  "location": "local",
653
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
653
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
654
654
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
655
655
  }
656
656
  }
@@ -671,7 +671,7 @@ export class DuetMultiselect {
671
671
  "references": {
672
672
  "DuetMultiselectEvent": {
673
673
  "location": "local",
674
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
674
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
675
675
  "id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
676
676
  }
677
677
  }
@@ -285,7 +285,7 @@ export class DuetNotificationDrawer {
285
285
  "references": {
286
286
  "DuetNotificationDrawerDirection": {
287
287
  "location": "local",
288
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-notification-drawer/duet-notification-drawer.tsx",
288
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-notification-drawer/duet-notification-drawer.tsx",
289
289
  "id": "src/components/duet-notification-drawer/duet-notification-drawer.tsx::DuetNotificationDrawerDirection"
290
290
  }
291
291
  }
@@ -1032,7 +1032,7 @@ export class DuetNumberInput {
1032
1032
  "references": {
1033
1033
  "DuetNumberInputEvent": {
1034
1034
  "location": "local",
1035
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1035
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1036
1036
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1037
1037
  }
1038
1038
  }
@@ -1053,7 +1053,7 @@ export class DuetNumberInput {
1053
1053
  "references": {
1054
1054
  "DuetNumberInputEvent": {
1055
1055
  "location": "local",
1056
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1056
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1057
1057
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1058
1058
  }
1059
1059
  }
@@ -1074,7 +1074,7 @@ export class DuetNumberInput {
1074
1074
  "references": {
1075
1075
  "DuetNumberInputEvent": {
1076
1076
  "location": "local",
1077
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1077
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1078
1078
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1079
1079
  }
1080
1080
  }
@@ -1095,7 +1095,7 @@ export class DuetNumberInput {
1095
1095
  "references": {
1096
1096
  "DuetNumberInputEvent": {
1097
1097
  "location": "local",
1098
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1098
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-number-input/duet-number-input.tsx",
1099
1099
  "id": "src/components/duet-number-input/duet-number-input.tsx::DuetNumberInputEvent"
1100
1100
  }
1101
1101
  }
@@ -150,7 +150,7 @@ export class DuetOverlay {
150
150
  "references": {
151
151
  "OverlayDisplayDevice": {
152
152
  "location": "local",
153
- "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-overlay/duet-overlay.tsx",
153
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-overlay/duet-overlay.tsx",
154
154
  "id": "src/components/duet-overlay/duet-overlay.tsx::OverlayDisplayDevice"
155
155
  }
156
156
  }
@@ -80,6 +80,9 @@
80
80
  padding: 72px 150px 40px 0;
81
81
  }
82
82
  }
83
+ .duet-page-heading:not(.has-icon) .heading {
84
+ padding-right: 0;
85
+ }
83
86
  .duet-page-heading .background {
84
87
  position: absolute;
85
88
  top: 0;
@@ -26,6 +26,7 @@ export class DuetPageHeading {
26
26
  return (h("div", { class: {
27
27
  "duet-page-heading": true,
28
28
  "duet-theme-turva": this.theme === "turva",
29
+ "has-icon": !!this.icon,
29
30
  [this.layout]: true,
30
31
  } }, h("div", { class: "background" }, this.theme === "turva" && h("div", { class: "background-mask" }), this.theme !== "turva" && h("div", { class: "brand-shape" }), this.theme !== "turva" && h("div", { class: "brand-shape second-shape" }), this.icon && (h("div", { class: "brand-shaped-icon" }, h("duet-icon", { background: "none", name: this.icon, margin: "none", size: "auto", responsive: false })))), h("div", { class: "heading" }, h("slot", { name: "heading" }))));
31
32
  }