@duetds/components 7.0.7 → 7.0.8

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 (103) hide show
  1. package/hydrate/index.js +31 -4
  2. package/lib/cjs/duet-chip.cjs.entry.js +10 -2
  3. package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -0
  4. package/lib/cjs/duet-footer.cjs.entry.js +2 -1
  5. package/lib/cjs/duet-pagination_2.cjs.entry.js +8 -1
  6. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +3 -0
  7. package/lib/cjs/duet-upload-item.cjs.entry.js +3 -0
  8. package/lib/cjs/duet.cjs.js +1 -1
  9. package/lib/cjs/loader.cjs.js +1 -1
  10. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  11. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  12. package/lib/collection/components/duet-button/duet-button.js +5 -5
  13. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  14. package/lib/collection/components/duet-card/duet-card.js +3 -3
  15. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  16. package/lib/collection/components/duet-chip/duet-chip.css +53 -22
  17. package/lib/collection/components/duet-chip/duet-chip.js +31 -5
  18. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  19. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  20. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  21. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  22. package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
  23. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  24. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  25. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  26. package/lib/collection/components/duet-footer/duet-footer.js +26 -8
  27. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  28. package/lib/collection/components/duet-header/duet-header.js +15 -15
  29. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  30. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  31. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  32. package/lib/collection/components/duet-input/duet-input.js +8 -8
  33. package/lib/collection/components/duet-label/duet-label.js +2 -2
  34. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  35. package/lib/collection/components/duet-list/duet-list.js +3 -3
  36. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  37. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
  38. package/lib/collection/components/duet-modal/duet-modal.js +3 -3
  39. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  40. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  41. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  42. package/lib/collection/components/duet-pagination/duet-pagination.js +10 -3
  43. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  44. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +2 -2
  45. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +6 -3
  46. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  47. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  48. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  49. package/lib/collection/components/duet-select/duet-select.js +5 -5
  50. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  51. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
  52. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  53. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  54. package/lib/collection/components/duet-step/duet-step.js +2 -2
  55. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  56. package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
  57. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
  58. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  59. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  60. package/lib/collection/components/duet-upload/duet-upload.js +18 -15
  61. package/lib/collection/components/duet-upload-item/duet-upload-item.js +15 -12
  62. package/lib/dist-custom-elements/duet-chip.js +11 -2
  63. package/lib/dist-custom-elements/duet-footer.js +3 -1
  64. package/lib/dist-custom-elements/duet-pagination.js +8 -1
  65. package/lib/dist-custom-elements/duet-popup-menu-item.js +3 -0
  66. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  67. package/lib/dist-custom-elements/duet-upload.js +4 -1
  68. package/lib/dist-custom-elements/{p-f219c615.js → p-e135afb5.js} +3 -0
  69. package/lib/duet/duet.esm.js +1 -1
  70. package/lib/duet/p-5fbb8871.entry.js +4 -0
  71. package/lib/duet/p-6a973118.entry.js +4 -0
  72. package/lib/duet/p-6b57d5f1.system.entry.js +4 -0
  73. package/lib/duet/p-7b6ad23a.system.js +1 -1
  74. package/lib/duet/p-7ea09436.system.entry.js +4 -0
  75. package/lib/duet/p-c1486227.entry.js +4 -0
  76. package/lib/duet/{p-40f074a1.system.entry.js → p-f8f81402.system.entry.js} +2 -2
  77. package/lib/esm/duet-chip.entry.js +10 -2
  78. package/lib/esm/duet-editable-table_3.entry.js +3 -0
  79. package/lib/esm/duet-footer.entry.js +2 -1
  80. package/lib/esm/duet-pagination_2.entry.js +8 -1
  81. package/lib/esm/duet-popup-menu-item.entry.js +3 -0
  82. package/lib/esm/duet-upload-item.entry.js +3 -0
  83. package/lib/esm/duet.js +1 -1
  84. package/lib/esm/loader.js +1 -1
  85. package/lib/esm-es5/duet-chip.entry.js +1 -1
  86. package/lib/esm-es5/duet-footer.entry.js +2 -2
  87. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  88. package/lib/esm-es5/duet.js +1 -1
  89. package/lib/esm-es5/loader.js +1 -1
  90. package/lib/types/components/duet-chip/duet-chip.d.ts +5 -0
  91. package/lib/types/components/duet-footer/duet-footer.d.ts +4 -0
  92. package/lib/types/components/duet-pagination/duet-pagination.d.ts +2 -0
  93. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +3 -0
  94. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +3 -0
  95. package/lib/types/components/duet-upload/duet-upload.d.ts +3 -0
  96. package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +33 -0
  97. package/lib/types/components.d.ts +87 -2
  98. package/package.json +9 -16
  99. package/lib/duet/p-3ccf12c1.entry.js +0 -4
  100. package/lib/duet/p-3d32609f.entry.js +0 -4
  101. package/lib/duet/p-46e076fe.system.entry.js +0 -4
  102. package/lib/duet/p-63e2bc34.system.entry.js +0 -4
  103. package/lib/duet/p-bb7693ce.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -7635,7 +7635,7 @@ class DuetCheckmark {
7635
7635
  }; }
7636
7636
  }
7637
7637
 
7638
- const duetChipCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-chip,*.sc-duet-chip::after,*.sc-duet-chip::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-chip-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-chip-h:last-child,.sc-duet-chip-h:last-of-type{margin-right:0 !important}/*!@.duet-chip-container*/.duet-chip-container.sc-duet-chip{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;hyphens:none;line-height:1.1;color:rgb(0, 41, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease, padding 300ms ease}/*!@.duet-chip-container.duet-p-0*/.duet-chip-container.duet-p-0.sc-duet-chip{padding:0 !important}/*!@.duet-chip-container.duet-m-0*/.duet-chip-container.duet-m-0.sc-duet-chip{margin:0 !important}/*!@.duet-chip-container.duet-theme-turva*/.duet-chip-container.duet-theme-turva.sc-duet-chip{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(23, 28, 58)}/*!@.duet-chip-container.duet-theme-turva:hover*/.duet-chip-container.duet-theme-turva.sc-duet-chip:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}/*!@.duet-chip-container.duet-theme-turva:hover button,\n.duet-chip-container.duet-theme-turva:hover label*/.duet-chip-container.duet-theme-turva.sc-duet-chip:hover button.sc-duet-chip,.duet-chip-container.duet-theme-turva.sc-duet-chip:hover label.sc-duet-chip{color:rgb(23, 28, 58) !important}/*!@.duet-chip-container:hover*/.duet-chip-container.sc-duet-chip:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}/*!@.duet-chip-container:hover button,\n.duet-chip-container:hover label*/.duet-chip-container.sc-duet-chip:hover button.sc-duet-chip,.duet-chip-container.sc-duet-chip:hover label.sc-duet-chip{color:rgb(0, 119, 179) !important}/*!@.duet-chip-container:hover.duet-theme-turva button,\n.duet-chip-container:hover.duet-theme-turva label*/.duet-chip-container.sc-duet-chip:hover.duet-theme-turva button.sc-duet-chip,.duet-chip-container.sc-duet-chip:hover.duet-theme-turva label.sc-duet-chip{color:rgb(198, 12, 48) !important}/*!@.duet-chip-container button,\n.duet-chip-container label*/.duet-chip-container.sc-duet-chip button.sc-duet-chip,.duet-chip-container.sc-duet-chip label.sc-duet-chip{display:flex;align-items:center;width:100%;height:100%;padding:7px 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;color:rgb(0, 41, 77) !important;cursor:pointer}/*!@.duet-chip-container button:focus,\n.duet-chip-container label:focus*/.duet-chip-container.sc-duet-chip button.sc-duet-chip:focus,.duet-chip-container.sc-duet-chip label.sc-duet-chip:focus{outline:none}/*!@.duet-chip-container button:hover,\n.duet-chip-container label:hover*/.duet-chip-container.sc-duet-chip button.sc-duet-chip:hover,.duet-chip-container.sc-duet-chip label.sc-duet-chip:hover{color:rgb(0, 119, 179) !important}/*!@.duet-chip-container .duet-chip-icon-container*/.duet-chip-container.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}/*!@.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{width:24px;height:16px;padding-right:8px}/*!@.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:11px;padding-left:3px}/*!@.duet-chip-container duet-icon:not(.check-mark)*/.duet-chip-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container duet-icon.check-mark*/.duet-chip-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked, .duet-chip-container.duet-chip-radio-checked*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip{background:rgb(230, 242, 248);border-color:rgb(230, 242, 248)}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:8px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark), .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark)*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark),.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container div.duet-chip-popup-disclosure*/.duet-chip-container.sc-duet-chip div.duet-chip-popup-disclosure.sc-duet-chip{padding-left:8px}/*!@.duet-chip-container div.duet-chip-popup-disclosure duet-icon*/.duet-chip-container.sc-duet-chip div.duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transition:transform 300ms ease}/*!@.duet-chip-container.duet-chip-filter-popup-open*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip{background:rgb(243, 249, 252);border-color:rgb(243, 249, 252)}/*!@.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva*/.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transform:rotate(180deg)}/*!@.duet-chip-container.duet-chip-input*/.duet-chip-container.duet-chip-input.sc-duet-chip{display:flex;align-items:center;padding-right:0 !important}/*!@.duet-chip-container.duet-chip-input .duet-chip-input-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-input-button.sc-duet-chip{flex-grow:1}/*!@.duet-chip-container.duet-chip-input .duet-chip-remove-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-remove-button.sc-duet-chip{width:26px;padding:8px 16px 8px 0;margin:-8px 0}/*!@:host(.user-is-tabbing) .duet-chip-focus*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.sc-duet-chip{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}/*!@:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.duet-theme-turva.sc-duet-chip{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}/*!@.duet-chip-container input*/.duet-chip-container.sc-duet-chip input.sc-duet-chip{position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;cursor:pointer;opacity:0}";
7638
+ const duetChipCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-chip,*.sc-duet-chip::after,*.sc-duet-chip::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-chip-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}/*!@:host:last-child, :host:last-of-type*/.sc-duet-chip-h:last-child,.sc-duet-chip-h:last-of-type{margin-right:0 !important}/*!@.duet-chip-container*/.duet-chip-container.sc-duet-chip{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:1px;hyphens:none;line-height:1.1;color:rgb(0, 41, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-color:rgb(144, 149, 153);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease}/*!@.duet-chip-container.duet-p-0*/.duet-chip-container.duet-p-0.sc-duet-chip{padding:0 !important}/*!@.duet-chip-container.duet-m-0*/.duet-chip-container.duet-m-0.sc-duet-chip{margin:0 !important}/*!@.duet-chip-container.duet-theme-turva*/.duet-chip-container.duet-theme-turva.sc-duet-chip{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(23, 28, 58)}/*!@.duet-chip-container.duet-theme-turva:hover*/.duet-chip-container.duet-theme-turva.sc-duet-chip:hover{border-color:rgb(198, 12, 48)}/*!@.duet-chip-container:hover*/.duet-chip-container.sc-duet-chip:hover{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}/*!@.duet-chip-container.duet-chip-disabled*/.duet-chip-container.duet-chip-disabled.sc-duet-chip{color:rgb(101, 119, 135) !important;cursor:default;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}/*!@.duet-chip-container.duet-chip-disabled.duet-theme-turva*/.duet-chip-container.duet-chip-disabled.duet-theme-turva.sc-duet-chip{color:rgb(116, 116, 117) !important;background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-disabled:hover*/.duet-chip-container.duet-chip-disabled.sc-duet-chip:hover{background:rgb(245, 248, 250);border-color:rgb(245, 248, 250)}/*!@.duet-chip-container.duet-chip-disabled:hover.duet-theme-turva*/.duet-chip-container.duet-chip-disabled.sc-duet-chip:hover.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-disabled button,\n.duet-chip-container.duet-chip-disabled label*/.duet-chip-container.duet-chip-disabled.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-disabled.sc-duet-chip label.sc-duet-chip{cursor:default}/*!@.duet-chip-container button,\n.duet-chip-container label*/.duet-chip-container.sc-duet-chip button.sc-duet-chip,.duet-chip-container.sc-duet-chip label.sc-duet-chip{display:flex;align-items:center;width:100%;height:100%;padding:7px 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;color:rgb(0, 41, 77) !important;cursor:pointer}/*!@.duet-chip-container button:focus,\n.duet-chip-container label:focus*/.duet-chip-container.sc-duet-chip button.sc-duet-chip:focus,.duet-chip-container.sc-duet-chip label.sc-duet-chip:focus{outline:none}/*!@.duet-chip-container .duet-chip-icon-container*/.duet-chip-container.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}/*!@.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{width:24px;height:16px;padding-right:10px}/*!@.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:11px;padding-left:3px}/*!@.duet-chip-container.duet-chip-has-icon button,\n.duet-chip-container.duet-chip-has-icon label*/.duet-chip-container.duet-chip-has-icon.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-has-icon.sc-duet-chip label.sc-duet-chip{padding-left:10px}/*!@.duet-chip-container.duet-chip-has-popup button,\n.duet-chip-container.duet-chip-has-popup label*/.duet-chip-container.duet-chip-has-popup.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-has-popup.sc-duet-chip label.sc-duet-chip{padding-right:8px}/*!@.duet-chip-container duet-icon:not(.check-mark)*/.duet-chip-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container duet-icon.check-mark*/.duet-chip-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked, .duet-chip-container.duet-chip-radio-checked*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip{background:rgb(230, 242, 248);border-color:rgb(230, 242, 248)}/*!@.duet-chip-container.duet-chip-filter-checked:hover, .duet-chip-container.duet-chip-radio-checked:hover*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip:hover,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip:hover{background:rgb(205, 229, 241);border-color:rgb(205, 229, 241)}/*!@.duet-chip-container.duet-chip-filter-checked button,\n.duet-chip-container.duet-chip-filter-checked label, .duet-chip-container.duet-chip-radio-checked button,\n.duet-chip-container.duet-chip-radio-checked label*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-filter-checked.sc-duet-chip label.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip button.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip label.sc-duet-chip{padding-left:10px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip{padding-right:10px}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark), .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark)*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark),.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.sc-duet-chip:not(.check-mark){width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}/*!@.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark, .duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark*/.duet-chip-container.duet-chip-filter-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.sc-duet-chip .duet-chip-icon-container.sc-duet-chip duet-icon.check-mark.sc-duet-chip{width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-filter-checked.duet-theme-turva:hover, .duet-chip-container.duet-chip-radio-checked.duet-theme-turva:hover*/.duet-chip-container.duet-chip-filter-checked.duet-theme-turva.sc-duet-chip:hover,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva.sc-duet-chip:hover{background:rgb(228, 228, 230);border-color:rgb(228, 228, 230)}/*!@.duet-chip-container div.duet-chip-popup-disclosure*/.duet-chip-container.sc-duet-chip div.duet-chip-popup-disclosure.sc-duet-chip{padding-right:4.5px;padding-left:12.5px}/*!@.duet-chip-container div.duet-chip-popup-disclosure duet-icon*/.duet-chip-container.sc-duet-chip div.duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transition:transform 300ms ease}/*!@.duet-chip-container.duet-chip-filter-popup-open*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip{background:rgb(243, 249, 252);border-color:rgb(243, 249, 252)}/*!@.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva*/.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva.sc-duet-chip{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}/*!@.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon*/.duet-chip-container.duet-chip-filter-popup-open.sc-duet-chip .duet-chip-popup-disclosure.sc-duet-chip duet-icon.sc-duet-chip{transform:rotate(180deg)}/*!@.duet-chip-container.duet-chip-input*/.duet-chip-container.duet-chip-input.sc-duet-chip{display:flex;align-items:center;padding-right:0 !important}/*!@.duet-chip-container.duet-chip-input .duet-chip-input-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-input-button.sc-duet-chip{flex-grow:1}/*!@.duet-chip-container.duet-chip-input .duet-chip-remove-button*/.duet-chip-container.duet-chip-input.sc-duet-chip .duet-chip-remove-button.sc-duet-chip{width:26px;padding:8px 16px 8px 0;margin:-8px 0}/*!@:host(.user-is-tabbing) .duet-chip-focus*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.sc-duet-chip{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}/*!@:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva*/.user-is-tabbing.sc-duet-chip-h .duet-chip-focus.duet-theme-turva.sc-duet-chip{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}/*!@.duet-chip-container input*/.duet-chip-container.sc-duet-chip input.sc-duet-chip{position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;cursor:pointer;opacity:0}";
7639
7639
 
7640
7640
  class DuetChip {
7641
7641
  constructor(hostRef) {
@@ -7745,6 +7745,11 @@ class DuetChip {
7745
7745
  * Stop propagation and prevent default if popup is present, as the popup controls value and checked state.
7746
7746
  */
7747
7747
  this.onFilterClick = (evt) => {
7748
+ if (this.disabled) {
7749
+ evt.stopPropagation();
7750
+ evt.preventDefault();
7751
+ return;
7752
+ }
7748
7753
  if (this.popup) {
7749
7754
  evt.stopPropagation();
7750
7755
  evt.preventDefault();
@@ -7770,6 +7775,7 @@ class DuetChip {
7770
7775
  this.value = undefined;
7771
7776
  this.name = undefined;
7772
7777
  this.checked = false;
7778
+ this.disabled = false;
7773
7779
  }
7774
7780
  clearOtherRadioButtons() {
7775
7781
  if (this.variation === "radio" && this.checked) {
@@ -7802,17 +7808,19 @@ class DuetChip {
7802
7808
  [`duet-chip-${this.variation}`]: true,
7803
7809
  "duet-chip-focus": this.focus,
7804
7810
  "duet-chip-has-icon": !!this.icon,
7811
+ "duet-chip-has-popup": this.variation === "filter" && !!this.popup,
7805
7812
  "duet-theme-turva": this.theme === "turva",
7806
7813
  "duet-chip-filter-checked": this.variation === "filter" && this.checked,
7807
7814
  "duet-chip-radio-checked": this.variation === "radio" && this.checked,
7808
7815
  "duet-chip-filter-popup-open": this.popupOpen,
7816
+ "duet-chip-disabled": this.disabled,
7809
7817
  };
7810
7818
  const focusHandlers = {
7811
7819
  onFocus: this.onFocus,
7812
7820
  onBlur: this.onBlur,
7813
7821
  ref: el => (this.focusableElement = el),
7814
7822
  };
7815
- return (hAsync(Host, null, this.variation === "button" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.popup && "menu", "aria-controls": (_a = this.popup) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popup ? (this.popupOpen ? "true" : "false") : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null), this.popup && (hAsync("div", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null))))));
7823
+ return (hAsync(Host, null, this.variation === "button" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.popup && "menu", "aria-controls": (_a = this.popup) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popup ? (this.popupOpen ? "true" : "false") : undefined, "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null), this.popup && (hAsync("div", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null))))));
7816
7824
  }
7817
7825
  get element() { return getElement(this); }
7818
7826
  static get watchers() { return {
@@ -7831,6 +7839,7 @@ class DuetChip {
7831
7839
  "value": [1025],
7832
7840
  "name": [1],
7833
7841
  "checked": [1540],
7842
+ "disabled": [4],
7834
7843
  "focus": [32],
7835
7844
  "popup": [32],
7836
7845
  "popupOpen": [32],
@@ -10678,6 +10687,7 @@ class DuetFooter {
10678
10687
  this.logoHref = "/";
10679
10688
  this.language = getLanguage();
10680
10689
  this.items = undefined;
10690
+ this.accessibleLabel = undefined;
10681
10691
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
10682
10692
  this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
10683
10693
  this.menu = undefined;
@@ -10731,7 +10741,7 @@ class DuetFooter {
10731
10741
  "duet-m-0": this.margin === "none",
10732
10742
  "duet-theme-turva": this.theme === "turva",
10733
10743
  "duet-footer-simple": this.variation === "simple",
10734
- } }, hAsync("div", { class: "duet-footer-wrapper" }, hAsync("div", { class: "duet-footer-top", part: "top" }, this.renderFooterTop()), hAsync("slot", { name: "extra" }), hAsync("p", { class: "duet-footer-menu", part: "menu" }, hAsync("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), hAsync("div", { class: "duet-footer-menu-links" }, this.processedMenu && (hAsync(Fragment, null, this.processedMenu.map(item => (hAsync("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (hAsync(Fragment, null, hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("div", { class: "duet-footer-external" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), hAsync("p", { class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
10744
+ }, "aria-label": this.accessibleLabel }, hAsync("div", { class: "duet-footer-wrapper" }, hAsync("div", { class: "duet-footer-top", part: "top" }, this.renderFooterTop()), hAsync("slot", { name: "extra" }), hAsync("p", { class: "duet-footer-menu", part: "menu" }, hAsync("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), hAsync("div", { class: "duet-footer-menu-links" }, this.processedMenu && (hAsync(Fragment, null, this.processedMenu.map(item => (hAsync("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (hAsync(Fragment, null, hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), hAsync("div", { class: "duet-footer-external" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), hAsync("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), hAsync("p", { class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
10735
10745
  }
10736
10746
  get element() { return getElement(this); }
10737
10747
  static get watchers() { return {
@@ -10749,6 +10759,7 @@ class DuetFooter {
10749
10759
  "logoHref": [1, "logo-href"],
10750
10760
  "language": [1537],
10751
10761
  "items": [8],
10762
+ "accessibleLabel": [1, "accessible-label"],
10752
10763
  "accessibleLabelExternalDefaults": [1, "accessible-label-external-default"],
10753
10764
  "accessibleLabelExternal": [1025, "accessible-label-external"],
10754
10765
  "menu": [8],
@@ -14909,6 +14920,8 @@ class DuetPagination {
14909
14920
  registerInstance(this, hostRef);
14910
14921
  this.duetPageChange = createEvent$2(this, "duetPageChange", 3);
14911
14922
  this.listId = createID("duet-pagination-list");
14923
+ // not in state because we don't want to trigger a render
14924
+ this.firstRenderDone = false;
14912
14925
  /**
14913
14926
  * Private methods.
14914
14927
  */
@@ -15025,13 +15038,18 @@ class DuetPagination {
15025
15038
  this.calculatePageTake();
15026
15039
  inheritGlobalTheme(this);
15027
15040
  }
15041
+ componentDidLoad() {
15042
+ this.firstRenderDone = true;
15043
+ }
15028
15044
  componentWillRender() {
15029
15045
  if (this.internalSectionIndex !== 0 && this.internalSectionIndex !== this.totalPages) {
15030
15046
  this.calculatePageTake();
15031
15047
  }
15032
15048
  }
15033
15049
  componentDidRender() {
15034
- this.setFocus();
15050
+ if (this.firstRenderDone) {
15051
+ this.setFocus();
15052
+ }
15035
15053
  }
15036
15054
  connectedCallback() {
15037
15055
  connectLanguageChangeObserver(this, { prop: "accessibleLabels", defaults: "accessibleLabelsDefaults" });
@@ -16718,6 +16736,9 @@ class DuetPopupMenuItem {
16718
16736
  async setFocus(options) {
16719
16737
  setTimeout(() => this.itemElement.focus(options), 200);
16720
16738
  }
16739
+ /**
16740
+ * isFocused.
16741
+ */
16721
16742
  async isFocused() {
16722
16743
  return this.focus;
16723
16744
  }
@@ -21743,6 +21764,9 @@ class DuetUpload {
21743
21764
  async updateValue(item, key, value) {
21744
21765
  this.updateValueInMap(item, key, value);
21745
21766
  }
21767
+ /**
21768
+ * focusActionButton.
21769
+ */
21746
21770
  async focusActionButton(uid) {
21747
21771
  var _a;
21748
21772
  await ((_a = this.itemRefs.get(uid)) === null || _a === void 0 ? void 0 : _a.focusActionButton());
@@ -22106,6 +22130,9 @@ class DuetUploadItem {
22106
22130
  componentWillLoad() {
22107
22131
  inheritGlobalTheme(this);
22108
22132
  }
22133
+ /**
22134
+ * focusActionButton.
22135
+ */
22109
22136
  async focusActionButton() {
22110
22137
  if (this.actionButton) {
22111
22138
  await this.actionButton.setFocus({ preventScroll: true });
@@ -9,7 +9,7 @@ const index = require('./index-9a8a666a.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
12
- const duetChipCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}.duet-chip-container{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;hyphens:none;line-height:1.1;color:rgb(0, 41, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease, padding 300ms ease}.duet-chip-container.duet-p-0{padding:0 !important}.duet-chip-container.duet-m-0{margin:0 !important}.duet-chip-container.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(23, 28, 58)}.duet-chip-container.duet-theme-turva:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}.duet-chip-container.duet-theme-turva:hover button,.duet-chip-container.duet-theme-turva:hover label{color:rgb(23, 28, 58) !important}.duet-chip-container:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-chip-container:hover button,.duet-chip-container:hover label{color:rgb(0, 119, 179) !important}.duet-chip-container:hover.duet-theme-turva button,.duet-chip-container:hover.duet-theme-turva label{color:rgb(198, 12, 48) !important}.duet-chip-container button,.duet-chip-container label{display:flex;align-items:center;width:100%;height:100%;padding:7px 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;color:rgb(0, 41, 77) !important;cursor:pointer}.duet-chip-container button:focus,.duet-chip-container label:focus{outline:none}.duet-chip-container button:hover,.duet-chip-container label:hover{color:rgb(0, 119, 179) !important}.duet-chip-container .duet-chip-icon-container{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container{width:24px;height:16px;padding-right:8px}.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container{padding-right:11px;padding-left:3px}.duet-chip-container duet-icon:not(.check-mark){width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container duet-icon.check-mark{width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked,.duet-chip-container.duet-chip-radio-checked{background:rgb(230, 242, 248);border-color:rgb(230, 242, 248)}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container{padding-right:8px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark),.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark){width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark{width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}.duet-chip-container div.duet-chip-popup-disclosure{padding-left:8px}.duet-chip-container div.duet-chip-popup-disclosure duet-icon{transition:transform 300ms ease}.duet-chip-container.duet-chip-filter-popup-open{background:rgb(243, 249, 252);border-color:rgb(243, 249, 252)}.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon{transform:rotate(180deg)}.duet-chip-container.duet-chip-input{display:flex;align-items:center;padding-right:0 !important}.duet-chip-container.duet-chip-input .duet-chip-input-button{flex-grow:1}.duet-chip-container.duet-chip-input .duet-chip-remove-button{width:26px;padding:8px 16px 8px 0;margin:-8px 0}:host(.user-is-tabbing) .duet-chip-focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-chip-container input{position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;cursor:pointer;opacity:0}";
12
+ const duetChipCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}.duet-chip-container{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:1px;hyphens:none;line-height:1.1;color:rgb(0, 41, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-color:rgb(144, 149, 153);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease}.duet-chip-container.duet-p-0{padding:0 !important}.duet-chip-container.duet-m-0{margin:0 !important}.duet-chip-container.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(23, 28, 58)}.duet-chip-container.duet-theme-turva:hover{border-color:rgb(198, 12, 48)}.duet-chip-container:hover{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-disabled{color:rgb(101, 119, 135) !important;cursor:default;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}.duet-chip-container.duet-chip-disabled.duet-theme-turva{color:rgb(116, 116, 117) !important;background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}.duet-chip-container.duet-chip-disabled:hover{background:rgb(245, 248, 250);border-color:rgb(245, 248, 250)}.duet-chip-container.duet-chip-disabled:hover.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}.duet-chip-container.duet-chip-disabled button,.duet-chip-container.duet-chip-disabled label{cursor:default}.duet-chip-container button,.duet-chip-container label{display:flex;align-items:center;width:100%;height:100%;padding:7px 16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;color:rgb(0, 41, 77) !important;cursor:pointer}.duet-chip-container button:focus,.duet-chip-container label:focus{outline:none}.duet-chip-container .duet-chip-icon-container{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container{width:24px;height:16px;padding-right:10px}.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked .duet-chip-icon-container{padding-right:11px;padding-left:3px}.duet-chip-container.duet-chip-has-icon button,.duet-chip-container.duet-chip-has-icon label{padding-left:10px}.duet-chip-container.duet-chip-has-popup button,.duet-chip-container.duet-chip-has-popup label{padding-right:8px}.duet-chip-container duet-icon:not(.check-mark){width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container duet-icon.check-mark{width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked,.duet-chip-container.duet-chip-radio-checked{background:rgb(230, 242, 248);border-color:rgb(230, 242, 248)}.duet-chip-container.duet-chip-filter-checked:hover,.duet-chip-container.duet-chip-radio-checked:hover{background:rgb(205, 229, 241);border-color:rgb(205, 229, 241)}.duet-chip-container.duet-chip-filter-checked button,.duet-chip-container.duet-chip-filter-checked label,.duet-chip-container.duet-chip-radio-checked button,.duet-chip-container.duet-chip-radio-checked label{padding-left:10px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container{padding-right:10px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark),.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark){width:0;overflow:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark{width:auto;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva:hover,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva:hover{background:rgb(228, 228, 230);border-color:rgb(228, 228, 230)}.duet-chip-container div.duet-chip-popup-disclosure{padding-right:4.5px;padding-left:12.5px}.duet-chip-container div.duet-chip-popup-disclosure duet-icon{transition:transform 300ms ease}.duet-chip-container.duet-chip-filter-popup-open{background:rgb(243, 249, 252);border-color:rgb(243, 249, 252)}.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva{background:rgb(245, 245, 247);border-color:rgb(245, 245, 247)}.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon{transform:rotate(180deg)}.duet-chip-container.duet-chip-input{display:flex;align-items:center;padding-right:0 !important}.duet-chip-container.duet-chip-input .duet-chip-input-button{flex-grow:1}.duet-chip-container.duet-chip-input .duet-chip-remove-button{width:26px;padding:8px 16px 8px 0;margin:-8px 0}:host(.user-is-tabbing) .duet-chip-focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-chip-container input{position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;cursor:pointer;opacity:0}";
13
13
 
14
14
  const DuetChip = class {
15
15
  constructor(hostRef) {
@@ -119,6 +119,11 @@ const DuetChip = class {
119
119
  * Stop propagation and prevent default if popup is present, as the popup controls value and checked state.
120
120
  */
121
121
  this.onFilterClick = (evt) => {
122
+ if (this.disabled) {
123
+ evt.stopPropagation();
124
+ evt.preventDefault();
125
+ return;
126
+ }
122
127
  if (this.popup) {
123
128
  evt.stopPropagation();
124
129
  evt.preventDefault();
@@ -144,6 +149,7 @@ const DuetChip = class {
144
149
  this.value = undefined;
145
150
  this.name = undefined;
146
151
  this.checked = false;
152
+ this.disabled = false;
147
153
  }
148
154
  clearOtherRadioButtons() {
149
155
  if (this.variation === "radio" && this.checked) {
@@ -176,17 +182,19 @@ const DuetChip = class {
176
182
  [`duet-chip-${this.variation}`]: true,
177
183
  "duet-chip-focus": this.focus,
178
184
  "duet-chip-has-icon": !!this.icon,
185
+ "duet-chip-has-popup": this.variation === "filter" && !!this.popup,
179
186
  "duet-theme-turva": this.theme === "turva",
180
187
  "duet-chip-filter-checked": this.variation === "filter" && this.checked,
181
188
  "duet-chip-radio-checked": this.variation === "radio" && this.checked,
182
189
  "duet-chip-filter-popup-open": this.popupOpen,
190
+ "duet-chip-disabled": this.disabled,
183
191
  };
184
192
  const focusHandlers = {
185
193
  onFocus: this.onFocus,
186
194
  onBlur: this.onBlur,
187
195
  ref: el => (this.focusableElement = el),
188
196
  };
189
- return (index.h(index.Host, null, this.variation === "button" && (index.h("div", { class: classes }, index.h("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel }, focusHandlers), index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), index.h("slot", null)))), this.variation === "input" && (index.h("div", { class: classes }, index.h("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), index.h("slot", null)), index.h("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, index.h("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (index.h("div", { class: classes }, index.h("input", Object.assign({ "aria-haspopup": this.popup && "menu", "aria-controls": (_a = this.popup) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popup ? (this.popupOpen ? "true" : "false") : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), index.h("label", { htmlFor: identifier }, index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), index.h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), index.h("slot", null), this.popup && (index.h("div", { class: "duet-chip-popup-disclosure" }, index.h("duet-icon", { name: "action-arrow-down-small", size: "xx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (index.h("div", { class: classes }, index.h("input", Object.assign({ id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange }, focusHandlers)), index.h("label", { htmlFor: identifier }, index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), index.h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), index.h("slot", null))))));
197
+ return (index.h(index.Host, null, this.variation === "button" && (index.h("div", { class: classes }, index.h("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), index.h("slot", null)))), this.variation === "input" && (index.h("div", { class: classes }, index.h("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), index.h("slot", null)), index.h("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, index.h("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (index.h("div", { class: classes }, index.h("input", Object.assign({ "aria-haspopup": this.popup && "menu", "aria-controls": (_a = this.popup) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popup ? (this.popupOpen ? "true" : "false") : undefined, "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), index.h("label", { htmlFor: identifier }, index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), index.h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), index.h("slot", null), this.popup && (index.h("div", { class: "duet-chip-popup-disclosure" }, index.h("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (index.h("div", { class: classes }, index.h("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), index.h("label", { htmlFor: identifier }, index.h("div", { class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), index.h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), index.h("slot", null))))));
190
198
  }
191
199
  get element() { return index.getElement(this); }
192
200
  static get watchers() { return {
@@ -1324,6 +1324,9 @@ const DuetUpload = class {
1324
1324
  async updateValue(item, key, value) {
1325
1325
  this.updateValueInMap(item, key, value);
1326
1326
  }
1327
+ /**
1328
+ * focusActionButton.
1329
+ */
1327
1330
  async focusActionButton(uid) {
1328
1331
  var _a;
1329
1332
  await ((_a = this.itemRefs.get(uid)) === null || _a === void 0 ? void 0 : _a.focusActionButton());
@@ -79,6 +79,7 @@ const DuetFooter = class {
79
79
  this.logoHref = "/";
80
80
  this.language = languageUtils.getLanguage();
81
81
  this.items = undefined;
82
+ this.accessibleLabel = undefined;
82
83
  this.accessibleLabelExternalDefaults = commonStrings.DuetStringsExternalDefaults;
83
84
  this.accessibleLabelExternal = languageUtils.getLocaleString(this.accessibleLabelExternalDefaults);
84
85
  this.menu = undefined;
@@ -131,7 +132,7 @@ const DuetFooter = class {
131
132
  "duet-m-0": this.margin === "none",
132
133
  "duet-theme-turva": this.theme === "turva",
133
134
  "duet-footer-simple": this.variation === "simple",
134
- } }, index.h("div", { class: "duet-footer-wrapper" }, index.h("div", { class: "duet-footer-top", part: "top" }, this.renderFooterTop()), index.h("slot", { name: "extra" }), index.h("p", { class: "duet-footer-menu", part: "menu" }, index.h("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), index.h("div", { class: "duet-footer-menu-links" }, this.processedMenu && (index.h(index.Fragment, null, this.processedMenu.map(item => (index.h("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (index.h(index.Fragment, null, index.h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), index.h("div", { class: "duet-footer-external" }, index.h("duet-icon", { icon: actionNewWindowSmall.actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), index.h("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), index.h("p", { class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
135
+ }, "aria-label": this.accessibleLabel }, index.h("div", { class: "duet-footer-wrapper" }, index.h("div", { class: "duet-footer-top", part: "top" }, this.renderFooterTop()), index.h("slot", { name: "extra" }), index.h("p", { class: "duet-footer-menu", part: "menu" }, index.h("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), index.h("div", { class: "duet-footer-menu-links" }, this.processedMenu && (index.h(index.Fragment, null, this.processedMenu.map(item => (index.h("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (index.h(index.Fragment, null, index.h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), index.h("div", { class: "duet-footer-external" }, index.h("duet-icon", { icon: actionNewWindowSmall.actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), index.h("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), index.h("p", { class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
135
136
  }
136
137
  get element() { return index.getElement(this); }
137
138
  static get watchers() { return {
@@ -27,6 +27,8 @@ const DuetPagination = class {
27
27
  index.registerInstance(this, hostRef);
28
28
  this.duetPageChange = index.createEvent(this, "duetPageChange", 3);
29
29
  this.listId = createId.createID("duet-pagination-list");
30
+ // not in state because we don't want to trigger a render
31
+ this.firstRenderDone = false;
30
32
  /**
31
33
  * Private methods.
32
34
  */
@@ -143,13 +145,18 @@ const DuetPagination = class {
143
145
  this.calculatePageTake();
144
146
  themeableComponent.inheritGlobalTheme(this);
145
147
  }
148
+ componentDidLoad() {
149
+ this.firstRenderDone = true;
150
+ }
146
151
  componentWillRender() {
147
152
  if (this.internalSectionIndex !== 0 && this.internalSectionIndex !== this.totalPages) {
148
153
  this.calculatePageTake();
149
154
  }
150
155
  }
151
156
  componentDidRender() {
152
- this.setFocus();
157
+ if (this.firstRenderDone) {
158
+ this.setFocus();
159
+ }
153
160
  }
154
161
  connectedCallback() {
155
162
  languageUtils.connectLanguageChangeObserver(this, { prop: "accessibleLabels", defaults: "accessibleLabelsDefaults" });
@@ -57,6 +57,9 @@ const DuetPopupMenuItem = class {
57
57
  async setFocus(options) {
58
58
  setTimeout(() => this.itemElement.focus(options), 200);
59
59
  }
60
+ /**
61
+ * isFocused.
62
+ */
60
63
  async isFocused() {
61
64
  return this.focus;
62
65
  }
@@ -57,6 +57,9 @@ const DuetUploadItem = class {
57
57
  componentWillLoad() {
58
58
  themeableComponent.inheritGlobalTheme(this);
59
59
  }
60
+ /**
61
+ * focusActionButton.
62
+ */
60
63
  async focusActionButton() {
61
64
  if (this.actionButton) {
62
65
  await this.actionButton.setFocus({ preventScroll: true });