@getflip/swirl-components 0.288.0 → 0.290.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/components.json +296 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/swirl-action-list_2.cjs.entry.js +1 -1
  4. package/dist/cjs/swirl-app-layout_5.cjs.entry.js +1 -1
  5. package/dist/cjs/swirl-autocomplete.cjs.entry.js +1 -1
  6. package/dist/cjs/swirl-banner.cjs.entry.js +1 -1
  7. package/dist/cjs/swirl-button.cjs.entry.js +1 -1
  8. package/dist/cjs/swirl-carousel.cjs.entry.js +1 -1
  9. package/dist/cjs/swirl-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/swirl-components.cjs.js +1 -1
  11. package/dist/cjs/swirl-console-layout.cjs.entry.js +1 -1
  12. package/dist/cjs/swirl-date-input.cjs.entry.js +1 -1
  13. package/dist/cjs/swirl-date-picker_2.cjs.entry.js +1 -1
  14. package/dist/cjs/swirl-file-viewer_8.cjs.entry.js +1 -1
  15. package/dist/cjs/swirl-form-control.cjs.entry.js +1 -1
  16. package/dist/cjs/swirl-icon-check-small_3.cjs.entry.js +1 -1
  17. package/dist/cjs/swirl-icon-error_3.cjs.entry.js +1 -1
  18. package/dist/cjs/swirl-image-grid-item.cjs.entry.js +1 -1
  19. package/dist/cjs/swirl-inline-status.cjs.entry.js +1 -1
  20. package/dist/cjs/swirl-lightbox.cjs.entry.js +1 -1
  21. package/dist/cjs/swirl-menu-item.cjs.entry.js +1 -1
  22. package/dist/cjs/swirl-menu.cjs.entry.js +1 -1
  23. package/dist/cjs/swirl-modal.cjs.entry.js +1 -1
  24. package/dist/cjs/swirl-option-list_2.cjs.entry.js +1 -1
  25. package/dist/cjs/swirl-pagination.cjs.entry.js +1 -1
  26. package/dist/cjs/swirl-pdf-reader.cjs.entry.js +1 -1
  27. package/dist/cjs/swirl-popover_2.cjs.entry.js +1 -1
  28. package/dist/cjs/swirl-resource-list-file-item.cjs.entry.js +1 -1
  29. package/dist/cjs/swirl-search.cjs.entry.js +1 -1
  30. package/dist/cjs/swirl-select.cjs.entry.js +1 -1
  31. package/dist/cjs/swirl-shell-layout.cjs.entry.js +1 -1
  32. package/dist/cjs/swirl-tab-bar.cjs.entry.js +41 -4
  33. package/dist/cjs/swirl-table-column.cjs.entry.js +1 -1
  34. package/dist/cjs/swirl-table-row.cjs.entry.js +1 -1
  35. package/dist/cjs/swirl-table.cjs.entry.js +1 -1
  36. package/dist/cjs/swirl-tabs.cjs.entry.js +7 -3
  37. package/dist/cjs/swirl-text-input.cjs.entry.js +1 -1
  38. package/dist/cjs/swirl-time-input.cjs.entry.js +1 -1
  39. package/dist/cjs/swirl-toast.cjs.entry.js +1 -1
  40. package/dist/cjs/swirl-toolbar.cjs.entry.js +1 -1
  41. package/dist/cjs/{utils-ea8f1bbc.js → utils-1a1dd8d3.js} +16 -0
  42. package/dist/collection/components/swirl-modal/swirl-modal.css +11 -0
  43. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.css +72 -30
  44. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.js +111 -4
  45. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.spec.js +4 -4
  46. package/dist/collection/components/swirl-tabs/swirl-tabs.js +77 -3
  47. package/dist/collection/components/swirl-tabs/swirl-tabs.spec.js +1 -1
  48. package/dist/collection/utils.js +15 -0
  49. package/dist/components/assets/pdfjs/pdf.worker.min.js +1 -1
  50. package/dist/components/swirl-app-layout2.js +1 -1
  51. package/dist/components/swirl-date-picker2.js +1 -1
  52. package/dist/components/swirl-file-viewer-pdf2.js +1 -1
  53. package/dist/components/swirl-modal.js +1 -1
  54. package/dist/components/swirl-tab-bar2.js +45 -5
  55. package/dist/components/swirl-tabs.js +10 -3
  56. package/dist/components/utils.js +16 -1
  57. package/dist/esm/loader.js +1 -1
  58. package/dist/esm/swirl-action-list_2.entry.js +1 -1
  59. package/dist/esm/swirl-app-layout_5.entry.js +1 -1
  60. package/dist/esm/swirl-autocomplete.entry.js +1 -1
  61. package/dist/esm/swirl-banner.entry.js +1 -1
  62. package/dist/esm/swirl-button.entry.js +1 -1
  63. package/dist/esm/swirl-carousel.entry.js +1 -1
  64. package/dist/esm/swirl-chip.entry.js +1 -1
  65. package/dist/esm/swirl-components.js +1 -1
  66. package/dist/esm/swirl-console-layout.entry.js +1 -1
  67. package/dist/esm/swirl-date-input.entry.js +1 -1
  68. package/dist/esm/swirl-date-picker_2.entry.js +1 -1
  69. package/dist/esm/swirl-file-viewer_8.entry.js +1 -1
  70. package/dist/esm/swirl-form-control.entry.js +1 -1
  71. package/dist/esm/swirl-icon-check-small_3.entry.js +1 -1
  72. package/dist/esm/swirl-icon-error_3.entry.js +1 -1
  73. package/dist/esm/swirl-image-grid-item.entry.js +1 -1
  74. package/dist/esm/swirl-inline-status.entry.js +1 -1
  75. package/dist/esm/swirl-lightbox.entry.js +1 -1
  76. package/dist/esm/swirl-menu-item.entry.js +1 -1
  77. package/dist/esm/swirl-menu.entry.js +1 -1
  78. package/dist/esm/swirl-modal.entry.js +1 -1
  79. package/dist/esm/swirl-option-list_2.entry.js +1 -1
  80. package/dist/esm/swirl-pagination.entry.js +1 -1
  81. package/dist/esm/swirl-pdf-reader.entry.js +1 -1
  82. package/dist/esm/swirl-popover_2.entry.js +1 -1
  83. package/dist/esm/swirl-resource-list-file-item.entry.js +1 -1
  84. package/dist/esm/swirl-search.entry.js +1 -1
  85. package/dist/esm/swirl-select.entry.js +1 -1
  86. package/dist/esm/swirl-shell-layout.entry.js +1 -1
  87. package/dist/esm/swirl-tab-bar.entry.js +42 -5
  88. package/dist/esm/swirl-table-column.entry.js +1 -1
  89. package/dist/esm/swirl-table-row.entry.js +1 -1
  90. package/dist/esm/swirl-table.entry.js +1 -1
  91. package/dist/esm/swirl-tabs.entry.js +7 -3
  92. package/dist/esm/swirl-text-input.entry.js +1 -1
  93. package/dist/esm/swirl-time-input.entry.js +1 -1
  94. package/dist/esm/swirl-toast.entry.js +1 -1
  95. package/dist/esm/swirl-toolbar.entry.js +1 -1
  96. package/dist/esm/{utils-fbb8b494.js → utils-877a768f.js} +16 -1
  97. package/dist/swirl-components/{p-3035680c.entry.js → p-06bdccc8.entry.js} +1 -1
  98. package/dist/swirl-components/{p-e5fa524b.entry.js → p-107317f7.entry.js} +1 -1
  99. package/dist/swirl-components/p-138cbd38.entry.js +1 -0
  100. package/dist/swirl-components/{p-1a8cc28b.entry.js → p-1a6e40b5.entry.js} +1 -1
  101. package/dist/swirl-components/{p-1d545c20.entry.js → p-1fb940a5.entry.js} +1 -1
  102. package/dist/swirl-components/{p-97e844bc.entry.js → p-20bd4e9f.entry.js} +1 -1
  103. package/dist/swirl-components/{p-13dfb234.entry.js → p-242a3a2e.entry.js} +1 -1
  104. package/dist/swirl-components/{p-ac4d5f89.entry.js → p-286a4e5f.entry.js} +1 -1
  105. package/dist/swirl-components/{p-8aae965a.entry.js → p-2be118fe.entry.js} +1 -1
  106. package/dist/swirl-components/{p-581d4452.entry.js → p-3393c37e.entry.js} +1 -1
  107. package/dist/swirl-components/{p-c58fb3e4.entry.js → p-40a8920a.entry.js} +1 -1
  108. package/dist/swirl-components/{p-84fedd39.entry.js → p-4203d5bd.entry.js} +1 -1
  109. package/dist/swirl-components/{p-d55652aa.entry.js → p-42a8e0d3.entry.js} +1 -1
  110. package/dist/swirl-components/{p-a075cbf9.entry.js → p-47997f42.entry.js} +1 -1
  111. package/dist/swirl-components/{p-0f3e0216.js → p-5136b9f9.js} +1 -1
  112. package/dist/swirl-components/{p-30d69cd9.entry.js → p-53609073.entry.js} +1 -1
  113. package/dist/swirl-components/{p-3d225eb0.entry.js → p-648b2513.entry.js} +1 -1
  114. package/dist/swirl-components/{p-a935ab50.entry.js → p-67986fbf.entry.js} +1 -1
  115. package/dist/swirl-components/{p-21adf412.entry.js → p-6e63989b.entry.js} +1 -1
  116. package/dist/swirl-components/{p-5d981c71.entry.js → p-729b5778.entry.js} +1 -1
  117. package/dist/swirl-components/p-761bed6f.entry.js +1 -0
  118. package/dist/swirl-components/{p-56085b5f.entry.js → p-8105788c.entry.js} +1 -1
  119. package/dist/swirl-components/{p-5c750dc8.entry.js → p-879737fa.entry.js} +1 -1
  120. package/dist/swirl-components/{p-626aa890.entry.js → p-881701f9.entry.js} +1 -1
  121. package/dist/swirl-components/{p-6a3a0bbb.entry.js → p-896d79a5.entry.js} +1 -1
  122. package/dist/swirl-components/{p-6ccc3c41.entry.js → p-917fbbd8.entry.js} +1 -1
  123. package/dist/swirl-components/{p-3400acf0.entry.js → p-9536fdc4.entry.js} +1 -1
  124. package/dist/swirl-components/{p-a7bf1966.entry.js → p-a2afb995.entry.js} +1 -1
  125. package/dist/swirl-components/{p-389b4dc5.entry.js → p-a9f98674.entry.js} +1 -1
  126. package/dist/swirl-components/{p-abcbb236.entry.js → p-b6eaeb29.entry.js} +1 -1
  127. package/dist/swirl-components/{p-e97590df.entry.js → p-ba40bf8f.entry.js} +1 -1
  128. package/dist/swirl-components/{p-da913f77.entry.js → p-c202911e.entry.js} +1 -1
  129. package/dist/swirl-components/{p-1449f6ec.entry.js → p-c71f17c9.entry.js} +1 -1
  130. package/dist/swirl-components/{p-305b560c.entry.js → p-d587d1b6.entry.js} +1 -1
  131. package/dist/swirl-components/{p-dee55c67.entry.js → p-db3dc350.entry.js} +1 -1
  132. package/dist/swirl-components/{p-4de8e4d1.entry.js → p-de850f13.entry.js} +1 -1
  133. package/dist/swirl-components/{p-279f67be.entry.js → p-ea418410.entry.js} +1 -1
  134. package/dist/swirl-components/{p-8efcb985.entry.js → p-eb81439a.entry.js} +1 -1
  135. package/dist/swirl-components/swirl-components.esm.js +1 -1
  136. package/dist/types/components/swirl-tab-bar/swirl-tab-bar.d.ts +8 -0
  137. package/dist/types/components/swirl-tabs/swirl-tabs.d.ts +4 -1
  138. package/dist/types/components.d.ts +16 -4
  139. package/dist/types/utils.d.ts +13 -0
  140. package/package.json +1 -1
  141. package/vscode-data.json +144 -0
  142. package/dist/swirl-components/p-0dacf15d.entry.js +0 -1
  143. package/dist/swirl-components/p-9f59a11b.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as classNames } from './index2.js';
3
- import { g as getDesktopMediaQuery, d as debounce, i as isMobileViewport, f as prefersReducedMotion } from './utils.js';
3
+ import { g as getDesktopMediaQuery, d as debounce, i as isMobileViewport, h as prefersReducedMotion } from './utils.js';
4
4
  import { d as defineCustomElement$2 } from './swirl-button2.js';
5
5
  import { d as defineCustomElement$1 } from './swirl-heading2.js';
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { r as removeTimezoneOffset, h as getISODateString } from './utils.js';
2
+ import { r as removeTimezoneOffset, j as getISODateString } from './utils.js';
3
3
  import { d as defineCustomElement$1 } from './wc-datepicker2.js';
4
4
 
5
5
  const swirlDatePickerCss = ":host{display:block}:host *{box-sizing:border-box}.date-picker{padding:var(--s-space-8) var(--s-space-16);background-color:var(--s-surface-overlay-default);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);letter-spacing:var(--s-letter-spacing-tighter)}@media (min-width: 768px){.date-picker{max-width:17.5rem}}.date-picker__header{display:flex;margin-bottom:var(--s-space-8);align-items:center}.date-picker__current-month{display:flex;padding:var(--s-space-8);flex-grow:1;align-items:center;order:1;gap:var(--s-space-4)}.date-picker__next-month-button,.date-picker__previous-month-button{position:relative;display:inline-flex;width:2.5rem;height:2.5rem;margin:0;padding:0;flex-shrink:0;justify-content:center;align-items:center;border:none;border-radius:50%;color:var(--s-icon-highlight);background-color:transparent;cursor:pointer}.date-picker__next-month-button:after,.date-picker__previous-month-button:after{position:absolute;background-color:currentColor;content:\"\";inset:0;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.date-picker__next-month-button:hover,.date-picker__previous-month-button:hover{background-color:var(--s-surface-overlay-hovered)}.date-picker__next-month-button:focus:not(:focus-visible),.date-picker__previous-month-button:focus:not(:focus-visible){outline:none}.date-picker__next-month-button:focus-visible,.date-picker__previous-month-button:focus-visible{outline-color:var(--s-focus-default);outline-offset:var(--s-space-2)}.date-picker__next-month-button>svg,.date-picker__previous-month-button>svg{display:none}.date-picker__next-month-button{order:3}.date-picker__next-month-button:after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg class='swirl-icon swirl-icon--size-24' fill='none' height='24' part='icon' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.59999 17.4C8.38333 17.1834 8.27499 16.9167 8.27499 16.6C8.27499 16.2834 8.38333 16.0167 8.59999 15.8L12.4 12L8.59999 8.20002C8.38333 7.98336 8.27499 7.71669 8.27499 7.40002C8.27499 7.08336 8.38333 6.81669 8.59999 6.60002C8.81666 6.38336 9.08333 6.27502 9.39999 6.27502C9.71666 6.27502 9.98333 6.38336 10.2 6.60002L14.8 11.2C14.9167 11.3167 15 11.4417 15.05 11.575C15.1 11.7084 15.125 11.85 15.125 12C15.125 12.15 15.1 12.2917 15.05 12.425C15 12.5584 14.9167 12.6834 14.8 12.8L10.2 17.4C9.98333 17.6167 9.71666 17.725 9.39999 17.725C9.08333 17.725 8.81666 17.6167 8.59999 17.4Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg class='swirl-icon swirl-icon--size-24' fill='none' height='24' part='icon' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.59999 17.4C8.38333 17.1834 8.27499 16.9167 8.27499 16.6C8.27499 16.2834 8.38333 16.0167 8.59999 15.8L12.4 12L8.59999 8.20002C8.38333 7.98336 8.27499 7.71669 8.27499 7.40002C8.27499 7.08336 8.38333 6.81669 8.59999 6.60002C8.81666 6.38336 9.08333 6.27502 9.39999 6.27502C9.71666 6.27502 9.98333 6.38336 10.2 6.60002L14.8 11.2C14.9167 11.3167 15 11.4417 15.05 11.575C15.1 11.7084 15.125 11.85 15.125 12C15.125 12.15 15.1 12.2917 15.05 12.425C15 12.5584 14.9167 12.6834 14.8 12.8L10.2 17.4C9.98333 17.6167 9.71666 17.725 9.39999 17.725C9.08333 17.725 8.81666 17.6167 8.59999 17.4Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E\")}.date-picker__previous-month-button{order:2}.date-picker__previous-month-button:after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg class='swirl-icon swirl-icon--size-24' fill='none' height='24' part='icon' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2 17.4L8.59999 12.8C8.48333 12.6834 8.39999 12.5584 8.34999 12.425C8.29999 12.2917 8.27499 12.15 8.27499 12C8.27499 11.85 8.29999 11.7084 8.34999 11.575C8.39999 11.4417 8.48333 11.3167 8.59999 11.2L13.2 6.60002C13.4167 6.38336 13.6833 6.27502 14 6.27502C14.3167 6.27502 14.5833 6.38336 14.8 6.60002C15.0167 6.81669 15.125 7.08336 15.125 7.40002C15.125 7.71669 15.0167 7.98336 14.8 8.20002L11 12L14.8 15.8C15.0167 16.0167 15.125 16.2834 15.125 16.6C15.125 16.9167 15.0167 17.1834 14.8 17.4C14.5833 17.6167 14.3167 17.725 14 17.725C13.6833 17.725 13.4167 17.6167 13.2 17.4Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg class='swirl-icon swirl-icon--size-24' fill='none' height='24' part='icon' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2 17.4L8.59999 12.8C8.48333 12.6834 8.39999 12.5584 8.34999 12.425C8.29999 12.2917 8.27499 12.15 8.27499 12C8.27499 11.85 8.29999 11.7084 8.34999 11.575C8.39999 11.4417 8.48333 11.3167 8.59999 11.2L13.2 6.60002C13.4167 6.38336 13.6833 6.27502 14 6.27502C14.3167 6.27502 14.5833 6.38336 14.8 6.60002C15.0167 6.81669 15.125 7.08336 15.125 7.40002C15.125 7.71669 15.0167 7.98336 14.8 8.20002L11 12L14.8 15.8C15.0167 16.0167 15.125 16.2834 15.125 16.6C15.125 16.9167 15.0167 17.1834 14.8 17.4C14.5833 17.6167 14.3167 17.725 14 17.725C13.6833 17.725 13.4167 17.6167 13.2 17.4Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E\")}.date-picker__month-select,.date-picker__year-select{margin:0;padding:0;border:none;background-color:var(--s-surface-overlay-default);font:inherit;font-size:var(--s-font-size-base);font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);text-align:left;cursor:pointer}.date-picker__month-select:focus:not(:focus-visible),.date-picker__year-select:focus:not(:focus-visible){outline:none}.date-picker__month-select:focus-visible,.date-picker__year-select:focus-visible{outline-color:var(--s-focus-default);outline-offset:var(--s-space-2)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.date-picker__month-select,.date-picker__year-select{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.date-picker__month-select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.date-picker__year-select{max-width:4rem}.date-picker__calendar{display:block;width:100%}.date-picker__calendar tbody{display:block}.date-picker__calendar-header{display:block}.date-picker__weekday-row,.date-picker__calendar-row{display:flex}.date-picker__weekday-row{margin-bottom:var(--s-space-8)}.date-picker__weekday{display:inline-flex;min-width:2.25rem;flex-basis:calc(100 / 7 * 1%);justify-content:center;align-items:center;color:var(--s-text-subdued);font-weight:var(--s-font-weight-regular);aspect-ratio:1}.date-picker__date{position:relative;z-index:1;display:inline-flex;min-width:2.25rem;flex-basis:calc(100 / 7 * 1%);justify-content:center;align-items:center;font-weight:var(--s-font-weight-medium);cursor:pointer;aspect-ratio:1}.date-picker__date:before{position:absolute;z-index:-1;border-radius:50%;background-color:transparent;content:\"\";inset:0}.date-picker__date:hover:before{background-color:var(--s-surface-overlay-hovered)}.date-picker__date--current:before{background-color:var(--s-surface-overlay-hovered)}.date-picker__date--current:focus:not(:focus-visible){outline:none}.date-picker__date--current:focus-visible{outline-color:var(--s-focus-default);outline-offset:var(--s-space-2)}.date-picker__date--overflowing{color:var(--s-text-subdued)}.date-picker__date--selected{color:var(--s-text-on-action-primary)}.date-picker__date--selected:before{background-color:var(--s-action-primary-default)}.date-picker__date--selected:hover{color:var(--s-text-on-action-primary)}.date-picker__date--selected:hover:before{background-color:var(--s-action-primary-hovered)}.date-picker__date--selected>strong{font-weight:var(--s-font-weight-medium)}.date-picker__date--in-range:not(.date-picker__date--selected):after{position:absolute;border-radius:0px;background-color:var(--s-action-primary-default);content:\"\";opacity:0.2;inset:0.0625rem 0px}.date-picker__date--start:not(.date-picker__date--end){color:var(--s-text-on-action-primary)}.date-picker__date--start:not(.date-picker__date--end):before{background-color:var(--s-action-primary-default)}.date-picker__date--start:not(.date-picker__date--end):after{position:absolute;z-index:-1;border-radius:0;background-color:var(--s-action-primary-default);content:\"\";opacity:0.2;inset:0.0625rem 0 0.0625rem 50%}.date-picker__date--end:not(.date-picker__date--start){color:var(--s-text-on-action-primary)}.date-picker__date--end:not(.date-picker__date--start):before{background-color:var(--s-action-primary-default)}.date-picker__date--end:not(.date-picker__date--start):after{position:absolute;z-index:-1;border-radius:0;background-color:var(--s-action-primary-default);content:\"\";opacity:0.2;inset:0.0625rem 50% 0.0625rem 0}.date-picker__date--today:before{box-shadow:inset 0 0 0 var(--s-border-width-default)\n var(--s-border-highlight)}.date-picker__date--today>em{font-style:normal}.date-picker__date--disabled{color:var(--s-text-disabled);cursor:default;pointer-events:none}.date-picker__date--disabled:before{background-color:transparent}.date-picker__date--disabled:hover{color:var(--s-text-disabled)}.date-picker__date--disabled:hover:before{background-color:transparent}";
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as classNames } from './index2.js';
3
3
  import { c as commonjsGlobal, g as getAugmentedNamespace, a as getDefaultExportFromCjs, b as commonjsRequire } from './_commonjsHelpers.js';
4
- import { d as debounce, j as getVisibleHeight, i as isMobileViewport } from './utils.js';
4
+ import { d as debounce, k as getVisibleHeight, i as isMobileViewport } from './utils.js';
5
5
  import { d as defineCustomElement$4 } from './swirl-icon-error2.js';
6
6
  import { d as defineCustomElement$3 } from './swirl-inline-error2.js';
7
7
  import { d as defineCustomElement$2 } from './swirl-spinner2.js';
@@ -7,7 +7,7 @@ import { d as defineCustomElement$4 } from './swirl-button-group2.js';
7
7
  import { d as defineCustomElement$3 } from './swirl-heading2.js';
8
8
  import { d as defineCustomElement$2 } from './swirl-stack2.js';
9
9
 
10
- const swirlModalCss = ":host{display:block}:host *{box-sizing:border-box}.modal{--swirl-ghost-button-background-default:var(--s-surface-overlay-default);--swirl-ghost-button-background-hovered:var(--s-surface-overlay-hovered);--swirl-ghost-button-background-pressed:var(--s-surface-overlay-pressed);--swirl-resource-list-item-background-default:var(\n --s-surface-overlay-default\n );--swirl-resource-list-item-background-hovered:var(\n --s-surface-overlay-hovered\n );--swirl-resource-list-item-background-pressed:var(\n --s-surface-overlay-pressed\n );--swirl-modal-height:auto;--swirl-modal-max-height:90vh;--swirl-modal-view-height:100vh;--swirl-modal-max-width:40rem;--swirl-modal-footer-padding-small:var(--s-space-12) var(--s-space-16)\n var(--s-space-12) var(--s-space-16);--swirl-modal-footer-padding-large:var(--s-space-16) var(--s-space-24)\n var(--s-space-16) var(--s-space-24)}@supports (height: 100dvh){.modal{--swirl-modal-max-height:90dvh;--swirl-modal-view-height:100dvh}}.modal{position:fixed;z-index:var(--s-z-40);display:flex;justify-content:center;align-items:center;height:var(--swirl-modal-view-height);inset:0}.modal[aria-hidden=\"true\"]{display:none}.modal--variant-default.modal--closing{animation:0.15s modal-fade-out;animation-fill-mode:forwards}@media (prefers-reduced-motion){.modal--variant-default.modal--closing{animation:none}}.modal--variant-default:not(.modal--closing) .modal__backdrop{animation:0.15s modal-backdrop-fade-in}@media (prefers-reduced-motion){.modal--variant-default:not(.modal--closing) .modal__backdrop{animation:none}}.modal--variant-default:not(.modal--closing) .modal__body{animation:0.15s modal-scale-in}@media (prefers-reduced-motion){.modal--variant-default:not(.modal--closing) .modal__body{animation:none}}.modal--variant-drawer{justify-content:end;align-items:stretch}.modal--variant-drawer.modal--closing{animation:0.15s modal-drawer-slide-out;animation-fill-mode:forwards}@media (prefers-reduced-motion){.modal--variant-drawer.modal--closing{animation:none}}@media (min-width: 768px){.modal--variant-drawer.modal--hide-label .modal__header-bar{height:auto;padding-top:var(--s-space-4);padding-bottom:var(--s-space-4)}}.modal--variant-drawer .modal__backdrop{background-color:transparent;animation:none}.modal--variant-drawer .modal__body{height:100%;max-height:none;border-radius:0;animation:0.15s modal-drawer-slide-in;box-shadow:var(--s-shadow-level-3)}@media (prefers-reduced-motion){.modal--variant-drawer .modal__body{animation:none}}.modal--variant-drawer .modal__header-bar{background-color:var(--s-surface-overlay-default)}.modal--variant-drawer .modal__header-bar .modal__close-button{margin-left:calc(-1 * var(--s-space-8))}@media (min-width: 768px){.modal--variant-drawer .modal__header-bar{flex-direction:row}}@media (min-width: 768px){.modal--variant-drawer.modal--padded .modal__content{padding-top:var(--s-space-8)}}.modal--padded .modal__content{padding-top:var(--s-space-24);padding-right:var(--s-space-16);padding-bottom:var(--s-space-24);padding-left:var(--s-space-16)}@media (min-width: 768px){.modal--padded .modal__content{padding-top:0;padding-right:var(--s-space-24);padding-bottom:var(--s-space-16);padding-left:var(--s-space-24)}}@media (min-width: 768px){.modal--scrollable .modal__content{padding-bottom:0}}.modal--scrollable:not(.modal--scrolled-down).modal--has-custom-footer .modal__custom-footer{border-top:var(--s-border-width-default) solid var(--s-border-default)}.modal--scrollable:not(.modal--scrolled-down):not(.modal--has-custom-footer) .modal__controls{border-top:var(--s-border-width-default) solid var(--s-border-default)}.modal--has-custom-header .modal__custom-header{display:block}.modal--has-custom-header .modal__content{padding-top:var(--s-space-16)}.modal--has-custom-footer .modal__custom-footer{padding:var(--swirl-modal-footer-padding-small)}@media (min-width: 768px){.modal--has-custom-footer .modal__custom-footer{padding:var(--swirl-modal-footer-padding-large)}}.modal--has-header-tools .modal__header{border-bottom-color:transparent}.modal--has-header-tools .modal__header-tools{display:block}.modal--has-secondary-content .modal__body{max-width:64rem}.modal--has-secondary-content:not(.modal--has-header-tools):not(.modal--hide-secondary-content-borders) .modal__header{border-bottom-color:var(--s-border-default)}.modal--has-secondary-content.modal--has-header-tools:not(.modal--hide-secondary-content-borders) .modal__header-tools{border-bottom-color:var(--s-border-default)}.modal--has-secondary-content.modal--has-custom-footer:not(.modal--hide-secondary-content-borders) .modal__custom-footer{border-top:var(--s-border-width-default) solid var(--s-border-default)}.modal--has-secondary-content:not(.modal--has-custom-footer):not(.modal--hide-secondary-content-borders) .modal__controls{border-top:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 992px){.modal--has-secondary-content .modal__header-tools,.modal--has-secondary-content .modal__content{padding-right:0}}.modal--has-secondary-content .modal__primary-content{overflow:visible;max-height:60%;flex-basis:auto}@media (min-width: 992px){.modal--has-secondary-content .modal__primary-content{max-width:calc(100% - 24rem);max-height:none;flex-basis:calc(100% - 24rem)}}.modal--has-secondary-content .modal__secondary-content{display:block}@media (min-width: 768px){.modal--scrolled:not(.modal--has-header-tools) .modal__header{border-bottom-color:var(--s-border-default)}.modal--scrolled.modal--has-header-tools .modal__header-tools{border-bottom-color:var(--s-border-default)}}.modal__backdrop{position:fixed;background-color:rgba(0, 0, 0, 0.2);inset:0}.modal__body{--swirl-card-background-default:var(--s-surface-overlay-default);--swirl-card-background-hovered:var(--s-surface-overlay-hovered);--swirl-card-background-pressed:var(--s-surface-overlay-pressed);--swirl-accordion-item-toggle-default:var(--s-surface-overlay-default);--swirl-accordion-item-toggle-hovered:var(--s-surface-overlay-hovered);--swirl-accordion-item-toggle-pressed:var(--s-surface-overlay-pressed);position:relative;z-index:var(--s-z-40);display:flex;overflow:hidden;width:100vw;height:var(--swirl-modal-view-height);background-color:var(--s-surface-overlay-default);flex-direction:column}@media (min-width: 768px){.modal__body{width:90vw;max-width:var(--swirl-modal-max-width);max-height:var(--swirl-modal-max-height);border-radius:var(--s-border-radius-base);box-shadow:var(--s-shadow-level-3)}}@media (min-width: 992px){.modal__body{height:var(--swirl-modal-height)}}.modal__header{border-bottom:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 768px){.modal__header{border-bottom:var(--s-border-width-default) solid transparent}}.modal__header-bar{display:flex;height:3.5rem;padding-top:var(--s-space-8);padding-right:var(--s-space-16);padding-bottom:var(--s-space-8);padding-left:var(--s-space-16);flex-shrink:0;align-items:center;gap:var(--s-space-8)}@media (min-width: 768px){.modal__header-bar{height:3.75rem;padding-top:var(--s-space-12);padding-right:var(--s-space-24);padding-bottom:var(--s-space-12);padding-left:var(--s-space-24);flex-direction:row-reverse;gap:var(--s-space-16)}}.modal__header-tools{display:none;padding-right:var(--s-space-16);padding-left:var(--s-space-16);border-bottom:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 768px){.modal__header-tools{padding-right:var(--s-space-24);padding-left:var(--s-space-24);border-bottom-color:transparent}}.modal__custom-header{display:none;flex-shrink:0;border-bottom:var(--s-border-width-default) solid var(--s-border-default)}.modal__heading{overflow:hidden}.modal__heading .heading{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.modal__content-container{display:flex;overflow:hidden;flex-grow:1;flex-direction:column;gap:var(--s-space-24)}@media (min-width: 992px){.modal__content-container{flex-direction:row}}.modal__primary-content{display:flex;overflow:hidden;flex-basis:100%;flex-direction:column}.modal__content{overflow-x:hidden;overflow-y:auto;height:100%}.modal__content ::slotted(*){margin:0}.modal__secondary-content{display:none;overflow:visible;overflow-x:hidden;overflow-y:auto;max-width:none;max-height:40%;padding-right:var(--s-space-16);padding-left:var(--s-space-16)}@media (min-width: 768px){.modal__secondary-content{padding-left:var(--s-space-24)}}@media (min-width: 992px){.modal__secondary-content{overflow-x:hidden;overflow-y:auto;max-width:24rem;max-height:none;padding-right:var(--s-space-24);padding-bottom:var(--s-space-16);padding-left:0;flex-basis:50%}}.modal__custom-footer{flex-shrink:0}.modal__controls{display:flex;padding:var(--swirl-modal-footer-padding-small);flex-shrink:0;justify-content:flex-end}@media (min-width: 768px){.modal__controls{padding:var(--swirl-modal-footer-padding-large)}}@keyframes modal-scale-in{from{transform:scale(0)}to{transform:scale(1)}}@keyframes modal-backdrop-fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-fade-out{from{opacity:1}to{opacity:0}}@keyframes modal-drawer-slide-in{from{transform:translate3d(100%, 0, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes modal-drawer-slide-out{from{transform:translate3d(0, 0, 0)}to{transform:translate3d(100%, 0, 0)}}";
10
+ const swirlModalCss = ":host{display:block}:host *{box-sizing:border-box}.modal{--swirl-ghost-button-background-default:var(--s-surface-overlay-default);--swirl-ghost-button-background-hovered:var(--s-surface-overlay-hovered);--swirl-ghost-button-background-pressed:var(--s-surface-overlay-pressed);--swirl-resource-list-item-background-default:var(\n --s-surface-overlay-default\n );--swirl-resource-list-item-background-hovered:var(\n --s-surface-overlay-hovered\n );--swirl-resource-list-item-background-pressed:var(\n --s-surface-overlay-pressed\n );--swirl-modal-height:auto;--swirl-modal-max-height:90vh;--swirl-modal-view-height:100vh;--swirl-modal-max-width:40rem;--swirl-modal-footer-padding-small:var(--s-space-12) var(--s-space-16)\n var(--s-space-12) var(--s-space-16);--swirl-modal-footer-padding-large:var(--s-space-16) var(--s-space-24)\n var(--s-space-16) var(--s-space-24)}@supports (height: 100dvh){.modal{--swirl-modal-max-height:90dvh;--swirl-modal-view-height:100dvh}}.modal{position:fixed;z-index:var(--s-z-40);display:flex;justify-content:center;align-items:center;height:var(--swirl-modal-view-height);inset:0}.modal[aria-hidden=\"true\"]{display:none}.modal--variant-default.modal--closing{animation:0.15s modal-fade-out;animation-fill-mode:forwards}@media (prefers-reduced-motion){.modal--variant-default.modal--closing{animation:none}}.modal--variant-default:not(.modal--closing) .modal__backdrop{animation:0.15s modal-backdrop-fade-in}@media (prefers-reduced-motion){.modal--variant-default:not(.modal--closing) .modal__backdrop{animation:none}}.modal--variant-default:not(.modal--closing) .modal__body{animation:0.15s modal-scale-in}@media (prefers-reduced-motion){.modal--variant-default:not(.modal--closing) .modal__body{animation:none}}.modal--variant-drawer{justify-content:end;align-items:stretch}.modal--variant-drawer.modal--closing{animation:0.15s modal-drawer-slide-out;animation-fill-mode:forwards}@media (prefers-reduced-motion){.modal--variant-drawer.modal--closing{animation:none}}@media (min-width: 768px){.modal--variant-drawer.modal--hide-label .modal__header-bar{height:auto;padding-top:var(--s-space-4);padding-bottom:var(--s-space-4)}}.modal--variant-drawer .modal__backdrop{background-color:transparent;animation:none}.modal--variant-drawer .modal__body{height:100%;max-height:none;border-radius:0;animation:0.15s modal-drawer-slide-in;box-shadow:var(--s-shadow-level-3)}@media (prefers-reduced-motion){.modal--variant-drawer .modal__body{animation:none}}.modal--variant-drawer .modal__header-bar{background-color:var(--s-surface-overlay-default)}.modal--variant-drawer .modal__header-bar .modal__close-button{margin-left:calc(-1 * var(--s-space-8))}@media (min-width: 768px){.modal--variant-drawer .modal__header-bar{flex-direction:row}}@media (min-width: 768px){.modal--variant-drawer.modal--padded .modal__content{padding-top:var(--s-space-8)}}.modal--padded .modal__content{padding-top:var(--s-space-24);padding-right:var(--s-space-16);padding-bottom:var(--s-space-24);padding-left:var(--s-space-16)}@media (min-width: 768px){.modal--padded .modal__content{padding-top:0;padding-right:var(--s-space-24);padding-bottom:var(--s-space-16);padding-left:var(--s-space-24)}}@media (min-width: 768px){.modal--scrollable .modal__content{padding-bottom:0}}.modal--scrollable:not(.modal--scrolled-down).modal--has-custom-footer .modal__custom-footer{border-top:var(--s-border-width-default) solid var(--s-border-default)}.modal--scrollable:not(.modal--scrolled-down):not(.modal--has-custom-footer) .modal__controls{border-top:var(--s-border-width-default) solid var(--s-border-default)}.modal--has-custom-header .modal__custom-header{display:block}.modal--has-custom-header .modal__content{padding-top:var(--s-space-16)}.modal--has-custom-footer .modal__custom-footer{padding:var(--swirl-modal-footer-padding-small)}@media (min-width: 768px){.modal--has-custom-footer .modal__custom-footer{padding:var(--swirl-modal-footer-padding-large)}}.modal--has-header-tools .modal__header{border-bottom-color:transparent}.modal--has-header-tools .modal__header-tools{display:block}.modal--has-secondary-content .modal__body{max-width:64rem}.modal--has-secondary-content:not(.modal--has-header-tools):not(.modal--hide-secondary-content-borders) .modal__header{border-bottom-color:var(--s-border-default)}.modal--has-secondary-content.modal--has-header-tools:not(.modal--hide-secondary-content-borders) .modal__header-tools{border-bottom-color:var(--s-border-default)}.modal--has-secondary-content.modal--has-custom-footer:not(.modal--hide-secondary-content-borders) .modal__custom-footer{border-top:var(--s-border-width-default) solid var(--s-border-default)}.modal--has-secondary-content:not(.modal--has-custom-footer):not(.modal--hide-secondary-content-borders) .modal__controls{border-top:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 992px){.modal--has-secondary-content .modal__header-tools,.modal--has-secondary-content .modal__content{padding-right:0}}.modal--has-secondary-content .modal__primary-content{overflow:visible;max-height:60%;flex-basis:auto}@media (min-width: 992px){.modal--has-secondary-content .modal__primary-content{max-width:calc(100% - 24rem);max-height:none;flex-basis:calc(100% - 24rem)}}.modal--has-secondary-content .modal__secondary-content{display:block}@media (min-width: 768px){.modal--scrolled:not(.modal--has-header-tools) .modal__header{border-bottom-color:var(--s-border-default)}.modal--scrolled.modal--has-header-tools .modal__header-tools{border-bottom-color:var(--s-border-default)}.modal--scrolled .modal__custom-header{border-bottom-color:var(--s-border-default)}}.modal__backdrop{position:fixed;background-color:rgba(0, 0, 0, 0.2);inset:0}.modal__body{--swirl-card-background-default:var(--s-surface-overlay-default);--swirl-card-background-hovered:var(--s-surface-overlay-hovered);--swirl-card-background-pressed:var(--s-surface-overlay-pressed);--swirl-accordion-item-toggle-default:var(--s-surface-overlay-default);--swirl-accordion-item-toggle-hovered:var(--s-surface-overlay-hovered);--swirl-accordion-item-toggle-pressed:var(--s-surface-overlay-pressed);position:relative;z-index:var(--s-z-40);display:flex;overflow:hidden;width:100vw;height:var(--swirl-modal-view-height);background-color:var(--s-surface-overlay-default);flex-direction:column}@media (min-width: 768px){.modal__body{width:90vw;max-width:var(--swirl-modal-max-width);max-height:var(--swirl-modal-max-height);border-radius:var(--s-border-radius-base);box-shadow:var(--s-shadow-level-3)}}@media (min-width: 992px){.modal__body{height:var(--swirl-modal-height)}}.modal__header{border-bottom:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 768px){.modal__header{border-bottom:var(--s-border-width-default) solid transparent}}.modal__header-bar{display:flex;height:3.5rem;padding-top:var(--s-space-8);padding-right:var(--s-space-16);padding-bottom:var(--s-space-8);padding-left:var(--s-space-16);flex-shrink:0;align-items:center;gap:var(--s-space-8)}@media (min-width: 768px){.modal__header-bar{height:3.75rem;padding-top:var(--s-space-12);padding-right:var(--s-space-24);padding-bottom:var(--s-space-12);padding-left:var(--s-space-24);flex-direction:row-reverse;gap:var(--s-space-16)}}.modal__header-tools{display:none;padding-right:var(--s-space-16);padding-left:var(--s-space-16);border-bottom:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 768px){.modal__header-tools{padding-right:var(--s-space-24);padding-left:var(--s-space-24);border-bottom-color:transparent}}.modal__custom-header{display:none;flex-shrink:0;border-bottom:var(--s-border-width-default) solid var(--s-border-default)}@media (min-width: 768px){.modal__custom-header{border-bottom-color:transparent}}.modal__heading{overflow:hidden}.modal__heading .heading{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.modal__content-container{display:flex;overflow:hidden;flex-grow:1;flex-direction:column;gap:var(--s-space-24)}@media (min-width: 992px){.modal__content-container{flex-direction:row}}.modal__primary-content{display:flex;overflow:hidden;flex-basis:100%;flex-direction:column}.modal__content{overflow-x:hidden;overflow-y:auto;height:100%}.modal__content ::slotted(*){margin:0}.modal__secondary-content{display:none;overflow:visible;overflow-x:hidden;overflow-y:auto;max-width:none;max-height:40%;padding-right:var(--s-space-16);padding-left:var(--s-space-16)}@media (min-width: 768px){.modal__secondary-content{padding-left:var(--s-space-24)}}@media (min-width: 992px){.modal__secondary-content{overflow-x:hidden;overflow-y:auto;max-width:24rem;max-height:none;padding-right:var(--s-space-24);padding-bottom:var(--s-space-16);padding-left:0;flex-basis:50%}}.modal__custom-footer{flex-shrink:0}.modal__controls{display:flex;padding:var(--swirl-modal-footer-padding-small);flex-shrink:0;justify-content:flex-end}@media (min-width: 768px){.modal__controls{padding:var(--swirl-modal-footer-padding-large)}}@keyframes modal-scale-in{from{transform:scale(0)}to{transform:scale(1)}}@keyframes modal-backdrop-fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-fade-out{from{opacity:1}to{opacity:0}}@keyframes modal-drawer-slide-in{from{transform:translate3d(100%, 0, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes modal-drawer-slide-out{from{transform:translate3d(0, 0, 0)}to{transform:translate3d(100%, 0, 0)}}";
11
11
  const SwirlModalStyle0 = swirlModalCss;
12
12
 
13
13
  const SwirlModal$1 = /*@__PURE__*/ proxyCustomElement(class SwirlModal extends HTMLElement {
@@ -1,7 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as classNames } from './index2.js';
3
+ import { f as getCircularArrayIndex } from './utils.js';
3
4
 
4
- const swirlTabBarCss = ".sc-swirl-tab-bar-h{display:flex;height:var(--swirl-tab-bar-height)}.sc-swirl-tab-bar-h *.sc-swirl-tab-bar{box-sizing:border-box}.tab-bar.sc-swirl-tab-bar{position:relative;display:flex;width:100%;justify-content:flex-start;border-bottom:var(--swirl-tab-bar-border-width) solid var(--s-border-default)}.tab-bar--justify-evenly.sc-swirl-tab-bar>*.sc-swirl-tab-bar{flex:1}.tab-bar__tab.sc-swirl-tab-bar{position:relative;display:flex;min-width:0;margin:0;padding:var(--s-space-4) var(--s-space-8);align-items:center;border:none;color:var(--s-interactive-neutral-default);background-color:transparent;font:inherit;font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-lg);cursor:pointer;justify-content:center}.tab-bar__tab.sc-swirl-tab-bar:focus{outline:none}.tab-bar__tab.sc-swirl-tab-bar:focus-visible .tab-bar__tab-label.sc-swirl-tab-bar{border-radius:var(--s-border-radius-s);box-shadow:inset 0 0 0 0.125rem var(--s-focus-default)}.tab-bar__tab.sc-swirl-tab-bar:not(.tab-bar__tab--active):hover:after{position:absolute;bottom:0;left:50%;width:calc(100% - var(--s-space-8));height:0.1875rem;border-radius:0.125rem;background-color:var(--s-border-default);content:\"\";transform:translateX(-50%);pointer-events:none}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.tab-bar__tab.sc-swirl-tab-bar{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);padding:calc(var(--s-space-4) + var(--s-space-2)) var(--s-space-8)}}.tab-bar__tab-icon.sc-swirl-tab-bar{display:inline-flex}.tab-bar__tab-label.sc-swirl-tab-bar{display:inline-flex;overflow:hidden;padding:var(--s-space-8) var(--s-space-8);text-align:center;white-space:nowrap;text-overflow:ellipsis}.tab-bar__tab--active.sc-swirl-tab-bar{color:var(--s-text-highlight)}.tab-bar__tab--active.sc-swirl-tab-bar:after{position:absolute;bottom:0;left:50%;width:calc(100% - var(--s-space-8));height:0.1875rem;border-radius:0.125rem;background-color:var(--s-border-highlight);content:\"\";transform:translateX(-50%);pointer-events:none}";
5
+ const swirlTabBarCss = ".sc-swirl-tab-bar-h{display:flex;height:var(--swirl-tab-bar-height)}.sc-swirl-tab-bar-h *.sc-swirl-tab-bar{box-sizing:border-box}.tab-bar.sc-swirl-tab-bar{position:relative;display:flex;width:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.tab-bar.tab-bar--variant-default.sc-swirl-tab-bar{border-bottom:var(--swirl-tab-bar-border-width) solid\n var(--s-border-default)}.tab-bar.tab-bar--variant-pill.sc-swirl-tab-bar{gap:var(--s-space-8)}.tab-bar--justify-evenly.sc-swirl-tab-bar>*.sc-swirl-tab-bar{flex:1}.tab-bar__tab.sc-swirl-tab-bar{position:relative;display:flex;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;margin:0;align-items:center;border:none;font:inherit;font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-lg);cursor:pointer;justify-content:center}.tab-bar__tab.tab-bar__tab--variant-default.sc-swirl-tab-bar{background-color:transparent;color:var(--s-interactive-neutral-default);padding:var(--s-space-4) var(--s-space-8)}.tab-bar__tab.tab-bar__tab--variant-default.sc-swirl-tab-bar:not(.tab-bar__tab--active):hover:after{position:absolute;bottom:0;left:50%;width:calc(100% - var(--s-space-8));height:0.1875rem;border-radius:0.125rem;background-color:var(--s-border-default);content:\"\";transform:translateX(-50%);pointer-events:none}.tab-bar__tab.tab-bar__tab--variant-default.tab-bar__tab--active.sc-swirl-tab-bar{color:var(--s-text-highlight)}.tab-bar__tab.tab-bar__tab--variant-default.tab-bar__tab--active.sc-swirl-tab-bar:after{position:absolute;bottom:0;left:50%;width:calc(100% - var(--s-space-8));height:0.1875rem;border-radius:0.125rem;background-color:var(--s-border-highlight);content:\"\";transform:translateX(-50%);pointer-events:none}.tab-bar__tab.tab-bar__tab--variant-default.sc-swirl-tab-bar:focus{outline:none}.tab-bar__tab.tab-bar__tab--variant-default.sc-swirl-tab-bar:focus-visible .tab-bar__tab-label.sc-swirl-tab-bar{border-radius:var(--s-border-radius-s);box-shadow:inset 0 0 0 0.125rem var(--s-focus-default)}.tab-bar__tab.tab-bar__tab--variant-pill.sc-swirl-tab-bar{border-radius:var(--s-border-radius-full-round);background:var(--s-action-neutral-default);color:var(--s-text-default);padding:var(--s-space-8) var(--s-space-16);gap:var(--s-space-8)}.tab-bar__tab.tab-bar__tab--variant-pill.sc-swirl-tab-bar:hover{background:var(--s-action-neutral-hovered)}.tab-bar__tab.tab-bar__tab--variant-pill.sc-swirl-tab-bar:active{background:var(--s-action-neutral-pressed)}.tab-bar__tab.tab-bar__tab--variant-pill.tab-bar__tab--active.sc-swirl-tab-bar{background:var(--s-action-primary-default);color:var(--s-text-on-action-primary)}.tab-bar__tab.tab-bar__tab--variant-pill.sc-swirl-tab-bar:focus-visible{outline-color:var(--s-focus-default);outline-offset:var(--s-space-2)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.tab-bar__tab.sc-swirl-tab-bar{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);padding:calc(var(--s-space-4) + var(--s-space-2)) var(--s-space-8)}}.tab-bar__tab-icon.sc-swirl-tab-bar{display:inline-flex}.tab-bar__tab-label.sc-swirl-tab-bar{display:inline-flex;padding:var(--s-space-8) var(--s-space-8);text-align:center}.tab-bar__tab-label.tab-bar__tab-label--variant-pill.sc-swirl-tab-bar{padding:0}";
5
6
  const SwirlTabBarStyle0 = swirlTabBarCss;
6
7
 
7
8
  const SwirlTabBar = /*@__PURE__*/ proxyCustomElement(class SwirlTabBar extends HTMLElement {
@@ -14,22 +15,46 @@ const SwirlTabBar = /*@__PURE__*/ proxyCustomElement(class SwirlTabBar extends H
14
15
  this.onKeyDown = (event) => {
15
16
  if (event.code === "ArrowLeft") {
16
17
  event.preventDefault();
18
+ this.focusAdjacentTab(true);
17
19
  this.activatePreviousTab.emit();
18
20
  }
19
21
  else if (event.code === "ArrowRight") {
20
22
  event.preventDefault();
23
+ this.focusAdjacentTab(false);
21
24
  this.activateNextTab.emit();
22
25
  }
23
26
  };
24
27
  this.disableTabSemantics = undefined;
25
28
  this.label = undefined;
26
29
  this.justify = "start";
30
+ this.paddingBlockEnd = undefined;
31
+ this.paddingBlockStart = undefined;
27
32
  this.paddingInlineEnd = undefined;
28
33
  this.paddingInlineStart = undefined;
29
34
  this.tabs = [];
35
+ this.variant = "default";
36
+ }
37
+ onTabFocus(event) {
38
+ event.target.scrollIntoView({
39
+ behavior: "smooth",
40
+ block: "nearest",
41
+ inline: "center",
42
+ });
43
+ }
44
+ focusAdjacentTab(previous) {
45
+ const tabs = this.getTabs();
46
+ const selectedTabIndex = tabs.findIndex((tab) => tab.ariaSelected === "true");
47
+ const nextIndex = getCircularArrayIndex(previous ? selectedTabIndex - 1 : selectedTabIndex + 1, tabs.length);
48
+ tabs[nextIndex].focus();
49
+ }
50
+ getTabs() {
51
+ return Array.from(this.el.querySelectorAll('[role="tab"]'));
30
52
  }
31
53
  render() {
32
- const className = classNames("tab-bar", `tab-bar--justify-${this.justify}`);
54
+ const className = classNames("tab-bar", `tab-bar--justify-${this.justify}`, {
55
+ "tab-bar--variant-pill": this.variant === "pill",
56
+ "tab-bar--variant-default": this.variant === "default",
57
+ });
33
58
  const styles = {
34
59
  paddingInlineEnd: Boolean(this.paddingInlineEnd)
35
60
  ? `var(--s-space-${this.paddingInlineEnd})`
@@ -37,10 +62,21 @@ const SwirlTabBar = /*@__PURE__*/ proxyCustomElement(class SwirlTabBar extends H
37
62
  paddingInlineStart: Boolean(this.paddingInlineStart)
38
63
  ? `var(--s-space-${this.paddingInlineStart})`
39
64
  : undefined,
65
+ paddingBlockEnd: Boolean(this.paddingBlockEnd)
66
+ ? `var(--s-space-${this.paddingBlockEnd})`
67
+ : undefined,
68
+ paddingBlockStart: Boolean(this.paddingBlockStart)
69
+ ? `var(--s-space-${this.paddingBlockStart})`
70
+ : undefined,
40
71
  };
41
- return (h(Host, { key: 'd883f7af119dd81a09081301e1e48c9f65e4a822' }, h("div", { key: '016e1125ef12dac89655aee9cae6e7514ba42e67', "aria-label": this.label, class: className, onKeyDown: this.onKeyDown, role: this.disableTabSemantics ? undefined : "tablist", style: styles }, this.tabs.map((tab) => {
72
+ return (h(Host, { key: 'f5ebe5a9d614fa2b59dac17e08e90aba4a3c4a60' }, h("div", { key: '8bf90f073348f34fe7293e837e70fe8ea09220ce', "aria-label": this.label, class: className, onKeyDown: this.onKeyDown, role: this.disableTabSemantics ? undefined : "tablist", style: styles }, this.tabs.map((tab) => {
42
73
  const className = classNames("tab-bar__tab", {
43
74
  "tab-bar__tab--active": tab.active,
75
+ "tab-bar__tab--variant-pill": this.variant === "pill",
76
+ "tab-bar__tab--variant-default": this.variant === "default",
77
+ });
78
+ const labelClassName = classNames("tab-bar__tab-label", {
79
+ "tab-bar__tab-label--variant-pill": this.variant === "pill",
44
80
  });
45
81
  return (h("button", { "aria-controls": this.disableTabSemantics ? undefined : tab.id, "aria-selected": this.disableTabSemantics
46
82
  ? undefined
@@ -48,17 +84,21 @@ const SwirlTabBar = /*@__PURE__*/ proxyCustomElement(class SwirlTabBar extends H
48
84
  ? "true"
49
85
  : "false", class: className, id: `tab-${tab.id}`, key: tab.id,
50
86
  // eslint-disable-next-line react/jsx-no-bind
51
- onClick: () => this.activateTab.emit(tab.id), role: this.disableTabSemantics ? undefined : "tab", tabIndex: this.disableTabSemantics ? undefined : tab.active ? 0 : -1, type: "button" }, tab.icon && (h("span", { class: "tab-bar__tab-icon", innerHTML: tab.icon })), h("span", { class: "tab-bar__tab-label" }, tab.label)));
87
+ onClick: () => this.activateTab.emit(tab.id), onFocus: this.onTabFocus, role: this.disableTabSemantics ? undefined : "tab", tabIndex: this.disableTabSemantics ? undefined : tab.active ? 0 : -1, type: "button" }, tab.icon && (h("span", { class: "tab-bar__tab-icon", innerHTML: tab.icon })), h("span", { class: labelClassName }, tab.label)));
52
88
  }))));
53
89
  }
90
+ get el() { return this; }
54
91
  static get style() { return SwirlTabBarStyle0; }
55
92
  }, [2, "swirl-tab-bar", {
56
93
  "disableTabSemantics": [4, "disable-tab-semantics"],
57
94
  "label": [1],
58
95
  "justify": [1],
96
+ "paddingBlockEnd": [1, "padding-block-end"],
97
+ "paddingBlockStart": [1, "padding-block-start"],
59
98
  "paddingInlineEnd": [1, "padding-inline-end"],
60
99
  "paddingInlineStart": [1, "padding-inline-start"],
61
- "tabs": [16]
100
+ "tabs": [16],
101
+ "variant": [1]
62
102
  }]);
63
103
  function defineCustomElement() {
64
104
  if (typeof customElements === "undefined") {
@@ -1,4 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { f as getCircularArrayIndex } from './utils.js';
2
3
  import { d as defineCustomElement$2 } from './swirl-tab-bar2.js';
3
4
 
4
5
  const swirlTabsCss = ".sc-swirl-tabs-h{display:block;width:100%}.sc-swirl-tabs-h *.sc-swirl-tabs{box-sizing:border-box}.tabs.sc-swirl-tabs{width:100%}";
@@ -22,8 +23,11 @@ const SwirlTabs$1 = /*@__PURE__*/ proxyCustomElement(class SwirlTabs extends HTM
22
23
  this.initialTab = undefined;
23
24
  this.label = undefined;
24
25
  this.justifyTabBar = undefined;
26
+ this.tabBarPaddingBlockEnd = undefined;
27
+ this.tabBarPaddingBlockStart = undefined;
25
28
  this.tabBarPaddingInlineEnd = undefined;
26
29
  this.tabBarPaddingInlineStart = undefined;
30
+ this.tabBarVariant = "default";
27
31
  this.activeTab = undefined;
28
32
  this.tabBarTabs = [];
29
33
  }
@@ -51,7 +55,7 @@ const SwirlTabs$1 = /*@__PURE__*/ proxyCustomElement(class SwirlTabs extends HTM
51
55
  }
52
56
  activateNextTab() {
53
57
  const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
54
- const nextIndex = Math.min(this.tabs.length - 1, currentIndex + 1);
58
+ const nextIndex = getCircularArrayIndex(currentIndex + 1, this.tabs.length);
55
59
  this.activateTab(this.tabs[nextIndex].tabId);
56
60
  requestAnimationFrame(() => {
57
61
  this.el.querySelector(".tabs__tab--active")?.focus();
@@ -59,7 +63,7 @@ const SwirlTabs$1 = /*@__PURE__*/ proxyCustomElement(class SwirlTabs extends HTM
59
63
  }
60
64
  activatePreviousTab() {
61
65
  const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
62
- const previousIndex = Math.max(0, currentIndex - 1);
66
+ const previousIndex = getCircularArrayIndex(currentIndex - 1, this.tabs.length);
63
67
  this.activateTab(this.tabs[previousIndex].tabId);
64
68
  requestAnimationFrame(() => {
65
69
  this.el.querySelector(".tabs__tab--active")?.focus();
@@ -82,7 +86,7 @@ const SwirlTabs$1 = /*@__PURE__*/ proxyCustomElement(class SwirlTabs extends HTM
82
86
  }));
83
87
  }
84
88
  render() {
85
- return (h(Host, { key: '44caea9a926dc297cd030eb005fc3f6123a8d505' }, h("div", { key: '34a91794a16c5bf3f274edafd9a9cba4d4784ce0', class: "tabs" }, h("swirl-tab-bar", { key: '7d7351ea490ba3cd2d8863da2ce302bd4761fc6f', label: this.label, onActivateNextTab: this.onActivateNextTab, onActivatePreviousTab: this.onActivatePreviousTab, onActivateTab: this.onActivateTab, tabs: this.tabBarTabs, justify: this.justifyTabBar, paddingInlineEnd: this.tabBarPaddingInlineEnd, paddingInlineStart: this.tabBarPaddingInlineStart })), h("slot", { key: '35a4ab2fe39e56da291bfe5e3b624ffed3ce6220' })));
89
+ return (h(Host, { key: '1ac2dfa2ae746878117dd5a9d084c4f01b3bfea8' }, h("div", { key: '01e1a9a7f5fd4801af2bd54750f3e7954a6fff50', class: "tabs" }, h("swirl-tab-bar", { key: '9435cfed3336d04ae4f531992c26e1fbd54c4520', label: this.label, onActivateNextTab: this.onActivateNextTab, onActivatePreviousTab: this.onActivatePreviousTab, onActivateTab: this.onActivateTab, tabs: this.tabBarTabs, justify: this.justifyTabBar, paddingBlockEnd: this.tabBarPaddingBlockEnd, paddingBlockStart: this.tabBarPaddingBlockStart, paddingInlineEnd: this.tabBarPaddingInlineEnd, paddingInlineStart: this.tabBarPaddingInlineStart, variant: this.tabBarVariant })), h("slot", { key: '649844c197a13ebc8cd4a7925acb1cf48d728404' })));
86
90
  }
87
91
  get el() { return this; }
88
92
  static get style() { return SwirlTabsStyle0; }
@@ -90,8 +94,11 @@ const SwirlTabs$1 = /*@__PURE__*/ proxyCustomElement(class SwirlTabs extends HTM
90
94
  "initialTab": [1, "initial-tab"],
91
95
  "label": [1],
92
96
  "justifyTabBar": [1, "justify-tab-bar"],
97
+ "tabBarPaddingBlockEnd": [1, "tab-bar-padding-block-end"],
98
+ "tabBarPaddingBlockStart": [1, "tab-bar-padding-block-start"],
93
99
  "tabBarPaddingInlineEnd": [1, "tab-bar-padding-inline-end"],
94
100
  "tabBarPaddingInlineStart": [1, "tab-bar-padding-inline-start"],
101
+ "tabBarVariant": [1, "tab-bar-variant"],
95
102
  "activeTab": [32],
96
103
  "tabBarTabs": [32],
97
104
  "activateTab": [64]
@@ -140,5 +140,20 @@ function getISODateString(date) {
140
140
  }
141
141
  return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, "0")}-${String(date.getDate()).padStart(2, "0")}`;
142
142
  }
143
+ /**
144
+ * Adjusts the index to fit inside the length of the array, going in a circular fashion.
145
+ * Index of 5 in a list of length = 5 becomes 0 (first item).
146
+ * Index of -1 in a list of length = 5 becomes 4 (last item).
147
+ *
148
+ * This function is needed due to a known Javascript issue with the modulo operator.
149
+ * https://stackoverflow.com/questions/4467539/javascript-modulo-gives-a-negative-result-for-negative-numbers
150
+ *
151
+ * @param index - The next desired index
152
+ * @param arrayLength - The length of the array
153
+ * @returns The adjusted index
154
+ */
155
+ function getCircularArrayIndex(index, arrayLength) {
156
+ return ((index % arrayLength) + arrayLength) % arrayLength;
157
+ }
143
158
 
144
- export { isDescendantOf as a, getActiveElement as b, closestPassShadow as c, debounce as d, isDesktopViewport as e, prefersReducedMotion as f, getDesktopMediaQuery as g, getISODateString as h, isMobileViewport as i, getVisibleHeight as j, parentsPassShadow as p, querySelectorAllDeep as q, removeTimezoneOffset as r };
159
+ export { isDescendantOf as a, getActiveElement as b, closestPassShadow as c, debounce as d, isDesktopViewport as e, getCircularArrayIndex as f, getDesktopMediaQuery as g, prefersReducedMotion as h, isMobileViewport as i, getISODateString as j, getVisibleHeight as k, parentsPassShadow as p, querySelectorAllDeep as q, removeTimezoneOffset as r };