wcs-core 2.6.0 → 2.10.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 (159) hide show
  1. package/CHANGELOG.md +115 -7
  2. package/README.md +18 -0
  3. package/dist/cjs/{helpers-d9aaa8c4.js → helpers-6abce594.js} +5 -0
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/popper-5777994b.js +1732 -0
  6. package/dist/cjs/wcs-button.cjs.entry.js +1 -1
  7. package/dist/cjs/wcs-checkbox.cjs.entry.js +6 -2
  8. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +19 -0
  9. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +19 -0
  10. package/dist/cjs/wcs-dropdown.cjs.entry.js +43 -10
  11. package/dist/cjs/wcs-error_2.cjs.entry.js +7 -10
  12. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +3 -1730
  13. package/dist/cjs/wcs-grid-column.cjs.entry.js +6 -2
  14. package/dist/cjs/wcs-grid.cjs.entry.js +28 -5
  15. package/dist/cjs/wcs-input.cjs.entry.js +3 -3
  16. package/dist/cjs/wcs-mat-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/wcs-modal.cjs.entry.js +8 -3
  18. package/dist/cjs/wcs-radio-group.cjs.entry.js +3 -3
  19. package/dist/cjs/wcs-radio.cjs.entry.js +2 -2
  20. package/dist/cjs/wcs-select_2.cjs.entry.js +1 -1
  21. package/dist/cjs/wcs-switch.cjs.entry.js +10 -2
  22. package/dist/cjs/wcs-textarea.cjs.entry.js +2 -2
  23. package/dist/cjs/wcs-tooltip.cjs.entry.js +1605 -99
  24. package/dist/cjs/wcs.cjs.js +2 -2
  25. package/dist/collection/collection-manifest.json +3 -1
  26. package/dist/collection/components/badge/badge-interface.js +1 -0
  27. package/dist/collection/components/badge/badge.js +14 -4
  28. package/dist/collection/components/card/card-interface.js +1 -0
  29. package/dist/collection/components/card/card.js +7 -2
  30. package/dist/collection/components/checkbox/checkbox.css +18 -7
  31. package/dist/collection/components/checkbox/checkbox.js +24 -2
  32. package/dist/collection/components/dropdown/dropdown-interface.js +1 -0
  33. package/dist/collection/components/dropdown/dropdown.css +46 -38
  34. package/dist/collection/components/dropdown/dropdown.js +90 -29
  35. package/dist/collection/components/dropdown-divider/dropdown-divider.css +7 -0
  36. package/dist/collection/components/dropdown-divider/dropdown-divider.js +14 -0
  37. package/dist/collection/components/dropdown-header/dropdown-header.css +8 -0
  38. package/dist/collection/components/dropdown-header/dropdown-header.js +15 -0
  39. package/dist/collection/components/editable-field/editable-field.js +7 -2
  40. package/dist/collection/components/form-field/form-field.css +1 -2
  41. package/dist/collection/components/form-field/form-field.js +6 -26
  42. package/dist/collection/components/grid/grid.js +28 -5
  43. package/dist/collection/components/grid-column/grid-column.js +9 -3
  44. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +7 -2
  45. package/dist/collection/components/input/input.css +48 -0
  46. package/dist/collection/components/input/input.js +38 -2
  47. package/dist/collection/components/mat-icon/mat-icon.css +1 -1
  48. package/dist/collection/components/mat-icon/mat-icon.js +7 -2
  49. package/dist/collection/components/modal/modal-interface.js +1 -0
  50. package/dist/collection/components/modal/modal.css +26 -7
  51. package/dist/collection/components/modal/modal.js +35 -7
  52. package/dist/collection/components/nav-item/nav-item.js +1 -1
  53. package/dist/collection/components/progress-bar/progress-bar.js +4 -4
  54. package/dist/collection/components/radio/radio.component.js +9 -4
  55. package/dist/collection/components/radio/radio.css +44 -19
  56. package/dist/collection/components/radio-group/radio-group.css +5 -1
  57. package/dist/collection/components/radio-group/radio-group.js +10 -5
  58. package/dist/collection/components/spinner/spinner-interface.js +1 -0
  59. package/dist/collection/components/spinner/spinner.js +8 -3
  60. package/dist/collection/components/switch/switch.css +53 -16
  61. package/dist/collection/components/switch/switch.js +55 -6
  62. package/dist/collection/components/tab/tab.js +1 -1
  63. package/dist/collection/components/tabs/tabs.js +1 -1
  64. package/dist/collection/components/textarea/textarea.css +4 -0
  65. package/dist/collection/components/tooltip/tooltip.css +3 -0
  66. package/dist/collection/components/tooltip/tooltip.js +308 -90
  67. package/dist/collection/utils/helpers.js +4 -0
  68. package/dist/esm/{helpers-50436c51.js → helpers-e2993152.js} +5 -1
  69. package/dist/esm/loader.js +2 -2
  70. package/dist/esm/popper-5f42e560.js +1729 -0
  71. package/dist/esm/wcs-button.entry.js +1 -1
  72. package/dist/esm/wcs-checkbox.entry.js +6 -2
  73. package/dist/esm/wcs-dropdown-divider.entry.js +15 -0
  74. package/dist/esm/wcs-dropdown-header.entry.js +15 -0
  75. package/dist/esm/wcs-dropdown.entry.js +43 -10
  76. package/dist/esm/wcs-error_2.entry.js +7 -10
  77. package/dist/esm/wcs-galactic-menu.entry.js +2 -1729
  78. package/dist/esm/wcs-grid-column.entry.js +6 -2
  79. package/dist/esm/wcs-grid.entry.js +28 -5
  80. package/dist/esm/wcs-input.entry.js +3 -3
  81. package/dist/esm/wcs-mat-icon.entry.js +1 -1
  82. package/dist/esm/wcs-modal.entry.js +8 -3
  83. package/dist/esm/wcs-radio-group.entry.js +3 -3
  84. package/dist/esm/wcs-radio.entry.js +2 -2
  85. package/dist/esm/wcs-select_2.entry.js +1 -1
  86. package/dist/esm/wcs-switch.entry.js +10 -2
  87. package/dist/esm/wcs-textarea.entry.js +2 -2
  88. package/dist/esm/wcs-tooltip.entry.js +1605 -99
  89. package/dist/esm/wcs.js +2 -2
  90. package/dist/types/components/badge/badge-interface.d.ts +2 -0
  91. package/dist/types/components/badge/badge.d.ts +3 -2
  92. package/dist/types/components/card/card-interface.d.ts +1 -0
  93. package/dist/types/components/card/card.d.ts +2 -1
  94. package/dist/types/components/checkbox/checkbox.d.ts +4 -0
  95. package/dist/types/components/dropdown/dropdown-interface.d.ts +1 -0
  96. package/dist/types/components/dropdown/dropdown.d.ts +13 -16
  97. package/dist/types/components/dropdown-divider/dropdown-divider.d.ts +3 -0
  98. package/dist/types/components/dropdown-header/dropdown-header.d.ts +3 -0
  99. package/dist/types/components/editable-field/editable-field-interface.d.ts +1 -0
  100. package/dist/types/components/editable-field/editable-field.d.ts +2 -2
  101. package/dist/types/components/form-field/form-field.d.ts +0 -4
  102. package/dist/types/components/grid/grid.d.ts +11 -0
  103. package/dist/types/components/grid-column/grid-column.d.ts +2 -1
  104. package/dist/types/components/horizontal-stepper/horizontal-stepper-interface.d.ts +1 -0
  105. package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +2 -2
  106. package/dist/types/components/input/input.d.ts +8 -0
  107. package/dist/types/components/mat-icon/mat-icon-interface.d.ts +1 -0
  108. package/dist/types/components/mat-icon/mat-icon.d.ts +2 -2
  109. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  110. package/dist/types/components/modal/modal.d.ts +7 -1
  111. package/dist/types/components/radio/radio.component.d.ts +2 -1
  112. package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
  113. package/dist/types/components/radio-group/radio-group.d.ts +2 -2
  114. package/dist/types/components/spinner/spinner-interface.d.ts +1 -0
  115. package/dist/types/components/spinner/spinner.d.ts +2 -1
  116. package/dist/types/components/switch/switch-interface.d.ts +1 -0
  117. package/dist/types/components/switch/switch.d.ts +10 -2
  118. package/dist/types/components/tooltip/tooltip.d.ts +70 -6
  119. package/dist/types/components.d.ts +210 -41
  120. package/dist/types/interfaces.d.ts +22 -0
  121. package/dist/types/stencil-public-runtime.d.ts +6 -4
  122. package/dist/types/utils/helpers.d.ts +1 -0
  123. package/dist/wcs/{p-64523291.entry.js → p-22813c8e.entry.js} +1 -1
  124. package/dist/wcs/{p-356a8e3b.entry.js → p-384068f7.entry.js} +1 -1
  125. package/dist/wcs/p-41037455.entry.js +1 -0
  126. package/dist/wcs/p-4e9e226d.entry.js +1 -0
  127. package/dist/wcs/p-7206e492.entry.js +1 -0
  128. package/dist/wcs/p-7c26f650.entry.js +1 -0
  129. package/dist/wcs/p-8c8740e3.entry.js +1 -0
  130. package/dist/wcs/p-9619f77a.entry.js +1 -0
  131. package/dist/wcs/p-a92d369e.entry.js +1 -0
  132. package/dist/wcs/p-a978c1e3.entry.js +1 -0
  133. package/dist/wcs/p-b5ffbea8.entry.js +1 -0
  134. package/dist/wcs/p-bbf1ef42.entry.js +1 -0
  135. package/dist/wcs/p-bcf381a2.entry.js +1 -0
  136. package/dist/wcs/{p-3d10b02a.entry.js → p-c7d6d3e1.entry.js} +1 -1
  137. package/dist/wcs/p-cf4d7a83.js +1 -0
  138. package/dist/wcs/p-d3c9a644.js +1 -0
  139. package/dist/wcs/p-ecbe5165.entry.js +6 -0
  140. package/dist/wcs/p-f430a227.entry.js +1 -0
  141. package/dist/wcs/p-f96bb0bf.entry.js +1 -0
  142. package/dist/wcs/{p-4338f140.entry.js → p-ff6d0dfd.entry.js} +1 -1
  143. package/dist/wcs/wcs.css +1 -1
  144. package/dist/wcs/wcs.esm.js +1 -1
  145. package/package.json +5 -4
  146. package/dist/types/interface.d.ts +0 -3
  147. package/dist/wcs/p-0fbe574e.entry.js +0 -1
  148. package/dist/wcs/p-15008e35.entry.js +0 -1
  149. package/dist/wcs/p-17c6db7f.entry.js +0 -1
  150. package/dist/wcs/p-62f7ab6d.entry.js +0 -1
  151. package/dist/wcs/p-83f1ad32.js +0 -1
  152. package/dist/wcs/p-8f0f9868.entry.js +0 -1
  153. package/dist/wcs/p-a5a1b27c.entry.js +0 -1
  154. package/dist/wcs/p-af1a5e52.entry.js +0 -1
  155. package/dist/wcs/p-bef44630.entry.js +0 -1
  156. package/dist/wcs/p-d59b4495.entry.js +0 -1
  157. package/dist/wcs/p-dd300dea.entry.js +0 -1
  158. package/dist/wcs/p-e486647c.entry.js +0 -1
  159. package/dist/wcs/p-ed6e8541.entry.js +0 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3cb9d725.js');
6
- const helpers = require('./helpers-d9aaa8c4.js');
6
+ const helpers = require('./helpers-6abce594.js');
7
7
  const component = require('./component-fc28ed16.js');
8
8
 
9
9
  const buttonCss = "@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block;--wcs-button-padding:calc(var(--wcs-padding) / 2) var(--wcs-padding);--wcs-button-color:var(--wcs-contrast, var(--wcs-white, white));--wcs-button-background-color:var(--wcs-base, var(--wcs-primary, #0088CE));--wcs-button-ripple-color:var(--wcs-contrast, var(--wcs-white, white));--wcs-button-border-radius:var(--wcs-border-radius);--wcs-button-border-color:var(--wcs-base)}:host([mode=clear]){--wcs-button-border-color:transparent}:host([mode=clear]) .wcs-inner-button{box-shadow:none}:host([mode=clear]),:host([mode=stroked]){--wcs-button-color:var(--wcs-base);--wcs-button-background-color:transparent}:host([mode=clear]) .wcs-inner-button::before,:host([mode=clear]) .wcs-inner-button::after,:host([mode=stroked]) .wcs-inner-button::before,:host([mode=stroked]) .wcs-inner-button::after{--wcs-button-ripple-color:var(--wcs-base)}:host([shape=small]){--wcs-button-padding:2px 16px}:host([shape=round]){--wcs-button-padding:0;--wcs-button-border-radius:50%}:host([shape=round]) .wcs-inner-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px}:host([shape=square]){--wcs-button-padding:0}:host([shape=square]) .wcs-inner-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px}:host([shape=normal]){--wcs-button-padding:calc(var(--wcs-padding) / 2 + 1px) calc(var(--wcs-padding))}:host([mode=stroked]) .wcs-inner-button{box-shadow:inset 0 0 0 1px var(--wcs-button-border-color)}:host([disabled]){--wcs-button-color:var(--wcs-text-disabled);--wcs-button-background-color:var(--wcs-light)}:host([disabled]) .wcs-inner-button{--wcs-button-border-color:var(--wcs-light);opacity:1;cursor:default;pointer-events:none}:host([disabled]):host([mode=clear]),:host([disabled]):host([disabled]){--wcs-button-background-color:transparent}.wcs-inner-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;display:flex;align-content:center;font-family:var(--wcs-font-sans-serif);background-color:var(--wcs-button-background-color);color:var(--wcs-button-color);padding:var(--wcs-button-padding);border-radius:var(--wcs-button-border-radius);border:none;overflow:hidden;outline:0;text-transform:none;margin:0;cursor:pointer;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;font-size:1rem;line-height:1.5;transition:color 175ms ease-in-out, background-color 175ms ease-in-out, box-shadow 175ms cubic-bezier(0.4, 0, 0.2, 1)}.wcs-inner-button::before,.wcs-inner-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.wcs-inner-button::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.wcs-inner-button::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.wcs-inner-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.wcs-inner-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.wcs-inner-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.wcs-inner-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button::before,.wcs-inner-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.wcs-inner-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.wcs-inner-button:hover::before,.wcs-inner-button.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}.wcs-inner-button.mdc-ripple-upgraded--background-focused::before,.wcs-inner-button:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.wcs-inner-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.wcs-inner-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:white;background-color:var(--mdc-ripple-color, white)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:var(--wcs-button-ripple-color)}.wcs-inner-button:focus{box-shadow:0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12), 0 1px 3px 0 rgba(0, 0, 0, 0.2)}.wcs-inner-button:hover{box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2)}a{text-decoration:none}button::-moz-focus-inner,a::-moz-focus-inner{border:0}";
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3cb9d725.js');
6
6
 
7
- const checkboxCss = ":host{--wcs-checkbox-border-color:var(--wcs-text-medium);--wcs-checkbox-text-color:var(--wcs-black);display:flex}.wcs-checkmark{transition:background-color 225ms cubic-bezier(0.17, 0.84, 0.44, 1), color 225ms cubic-bezier(0.17, 0.84, 0.44, 1)}.wcs-container{position:relative;cursor:pointer;font-size:1rem;user-select:none;font-weight:500;display:flex}:host([label-alignment=top]) .wcs-container{align-items:start}:host([label-alignment=center]) .wcs-container{align-items:center}:host([label-alignment=bottom]) .wcs-container{align-items:flex-end}.wcs-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.wcs-container:hover,input:focus{--wcs-checkbox-border-color:var(--wcs-primary);--wcs-checkbox-text-color:var(--wcs-primary)}.wcs-checkmark{width:1.125rem;height:1.125rem;border:2px solid var(--wcs-checkbox-border-color);border-radius:3px}:host([indeterminate]) .wcs-checkmark{--wcs-checkbox-border-color:var(--wcs-primary);background:var(--wcs-primary)}.wcs-container input:checked~.wcs-checkmark{background-color:var(--wcs-primary);--wcs-checkbox-border-color:var(--wcs-primary)}.wcs-checkmark:after{content:\"\";position:absolute;display:none}.wcs-container input:checked~.wcs-checkmark:after{display:flex}.wcs-container .wcs-checkmark:after{left:7px;width:5px;height:10px;border:solid var(--wcs-white, white);border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.wcs-container input:checked~.text{--wcs-checkbox-text-color:var(--wcs-primary)}.text{color:var(--wcs-checkbox-text-color);margin-left:6px;font-weight:500;line-height:1.375}";
7
+ const checkboxCss = ":host{--wcs-checkbox-border-color:var(--wcs-text-medium);--wcs-checkbox-text-color:var(--wcs-text-medium);display:flex}:host([disabled]){--wcs-checkbox-border-color:var(--wcs-light);--wcs-checkbox-text-color:var(--wcs-text-disabled)}.wcs-checkmark{transition:background-color 225ms cubic-bezier(0.17, 0.84, 0.44, 1), color 225ms cubic-bezier(0.17, 0.84, 0.44, 1)}.wcs-container{position:relative;font-size:1rem;user-select:none;font-weight:500;display:flex}.wcs-container:not([aria-disabled]){cursor:pointer}:host([label-alignment=top]) .wcs-container{align-items:start}:host([label-alignment=center]) .wcs-container{align-items:center}:host([label-alignment=bottom]) .wcs-container{align-items:flex-end}.wcs-container input{position:absolute;opacity:0;height:0;width:0}.wcs-container:hover:not([aria-disabled]),input:focus{--wcs-checkbox-border-color:var(--wcs-primary);--wcs-checkbox-text-color:var(--wcs-primary)}.wcs-checkmark{width:1.125rem;height:1.125rem;border:2px solid var(--wcs-checkbox-border-color);border-radius:3px}:host([indeterminate]) .wcs-checkmark{--wcs-checkbox-border-color:var(--wcs-primary);background:var(--wcs-primary)}.wcs-container:not([aria-disabled]) input:checked~.wcs-checkmark{background-color:var(--wcs-primary);--wcs-checkbox-border-color:var(--wcs-primary)}.wcs-container[aria-disabled] input:checked~.wcs-checkmark{background-color:var(--wcs-light);--wcs-checkbox-border-color:var(--wcs-light)}.wcs-checkmark:after{content:\"\";position:absolute;display:none}.wcs-container input:checked~.wcs-checkmark:after{display:flex}.wcs-container .wcs-checkmark:after{left:7px;width:5px;height:10px;border:solid var(--wcs-white, white);border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.wcs-container:not([aria-disabled]) input:checked~.text{--wcs-checkbox-text-color:var(--wcs-primary)}.text{color:var(--wcs-checkbox-text-color);margin-left:6px;font-weight:500;line-height:1.375}";
8
8
 
9
9
  let Checkbox = class {
10
10
  constructor(hostRef) {
@@ -24,6 +24,10 @@ let Checkbox = class {
24
24
  * Specifie the alignment of the checkbox with the label content
25
25
  */
26
26
  this.labelAlignment = 'center';
27
+ /**
28
+ * Specify wether the checkbox is disabled or not.
29
+ */
30
+ this.disabled = false;
27
31
  }
28
32
  handleChange(_event) {
29
33
  this.indeterminate = false;
@@ -33,7 +37,7 @@ let Checkbox = class {
33
37
  });
34
38
  }
35
39
  render() {
36
- return (index.h(index.Host, null, index.h("label", { htmlFor: this.name, class: "wcs-container" }, index.h("input", { onChange: (evt) => this.handleChange(evt), checked: this.checked, class: "wcs-checkbox", type: "checkbox", name: this.name, id: this.name }), index.h("span", { class: "wcs-checkmark" }), index.h("span", { class: "text" }, index.h("slot", null)))));
40
+ return (index.h(index.Host, null, index.h("label", { htmlFor: this.name, class: "wcs-container", "aria-disabled": this.disabled }, index.h("input", { onChange: (evt) => this.handleChange(evt), checked: this.checked, class: "wcs-checkbox", type: "checkbox", name: this.name, disabled: this.disabled, id: this.name }), index.h("span", { class: "wcs-checkmark" }), index.h("span", { class: "text" }, index.h("slot", null)))));
37
41
  }
38
42
  get el() { return index.getElement(this); }
39
43
  };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-3cb9d725.js');
6
+
7
+ const dropdownDividerCss = ":host{display:block;margin:var(--wcs-base-margin) calc(var(--wcs-base-margin) * 2);overflow:hidden;border-top:1px solid var(--wcs-text-light);width:calc(100% - var(--wcs-base-margin) * 4)}";
8
+
9
+ let DropdownDivider = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ }
13
+ render() {
14
+ return (index.h(index.Host, { slot: "item" }));
15
+ }
16
+ };
17
+ DropdownDivider.style = dropdownDividerCss;
18
+
19
+ exports.wcs_dropdown_divider = DropdownDivider;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-3cb9d725.js');
6
+
7
+ const dropdownHeaderCss = ":host{display:block;padding:calc(var(--wcs-padding) / 2) var(--wcs-padding);font-size:0.75rem;text-transform:uppercase;color:var(--wcs-text-medium);white-space:nowrap}";
8
+
9
+ let DropdownHeader = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ }
13
+ render() {
14
+ return (index.h(index.Host, { slot: "item" }, index.h("slot", null)));
15
+ }
16
+ };
17
+ DropdownHeader.style = dropdownHeaderCss;
18
+
19
+ exports.wcs_dropdown_header = DropdownHeader;
@@ -4,21 +4,46 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3cb9d725.js');
6
6
  const selectArrow = require('./select-arrow-76ccf86d.js');
7
+ const helpers = require('./helpers-6abce594.js');
8
+ const popper = require('./popper-5777994b.js');
7
9
 
8
- const dropdownCss = ":host{display:inline-flex;flex-direction:row;position:relative;flex-flow:row-reverse}wcs-button{--wcs-button-padding:8px 10px 8px 16px !important}:host([shape=small]) .show{top:48px !important}:host([shape=small]) wcs-button{--wcs-button-padding:2px 10px 2px 16px !important}.wcs-button-content-wrapper{display:flex}.popover{display:none;border:1px solid #d7d7d7;border-radius:var(--wcs-border-radius);white-space:nowrap}.popover::before,.popover::after{position:absolute;width:0;height:0;pointer-events:none;content:\" \";border:solid transparent;z-index:1000}.popover::before{border-color:rgba(216, 216, 216, 0);border-width:0.625rem;right:1.0625rem;margin-left:-0.625rem;bottom:100%;border-bottom-color:#d7d7d7}.popover::after{border-color:rgba(255, 255, 255, 0);border-width:9px;right:1.125rem;margin-left:-0.5625rem;bottom:100%;border-bottom-color:#fff}.show{z-index:1000;display:block;flex-direction:column;position:absolute;background-color:var(--wcs-white);top:58px}.container{border-radius:inherit;overflow:hidden}";
10
+ const dropdownCss = ":host{display:flex}wcs-button{--wcs-button-padding:8px 10px 8px 16px !important}:host([no-arrow]) wcs-button{--wcs-button-padding:8px 16px 8px 16px !important}:host([shape=small]) wcs-button{--wcs-button-padding:2px 10px 2px 16px !important}:host([shape=small][no-arrow]) wcs-button{--wcs-button-padding:2px 16px 2px 16px !important}.wcs-button-content-wrapper{display:flex}.popover{display:none;border:1px solid #d7d7d7;border-radius:var(--wcs-border-radius);background-color:var(--wcs-white);z-index:9999}.show{display:block}.container{border-radius:inherit;overflow:hidden;padding:calc(var(--wcs-padding) / 2) 0;background-color:var(--wcs-white)}#arrow,#arrow::before{position:absolute;width:8px;height:8px;background:inherit;border:solid 1px #d7d7d7}#arrow{visibility:hidden;z-index:-1}#arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}.popover[data-popper-placement^=top]>#arrow{bottom:-5px}.popover[data-popper-placement^=bottom]>#arrow{top:-6px}.popover[data-popper-placement^=left]>#arrow{right:-4px}.popover[data-popper-placement^=right]>#arrow{left:-6px}";
9
11
 
10
12
  let Dropdown = class {
11
13
  constructor(hostRef) {
12
14
  index.registerInstance(this, hostRef);
15
+ /** Hides the arrow in the button */
16
+ this.noArrow = false;
17
+ /** Dropdown's button mode */
13
18
  this.mode = 'stroked';
19
+ /** Dropdown's button shape */
14
20
  this.shape = 'normal';
21
+ /** Specifies whether the dropdown button is clickable or not */
15
22
  this.disabled = false;
23
+ /** placement of the dropdown's popover */
24
+ this.placement = 'bottom-end';
16
25
  this.expanded = false;
17
26
  }
27
+ placementChange() {
28
+ this.popper.setOptions(Object.assign(Object.assign({}, this.popper.state.options), { placement: this.placement })).then(_ => this.popper.update());
29
+ }
18
30
  componentDidLoad() {
19
- const buttonWrapper = this.el.shadowRoot.querySelector('wcs-button').shadowRoot.querySelector('button');
20
- const buttonTextColor = window.getComputedStyle(buttonWrapper).color;
21
- this.el.shadowRoot.querySelector('.arrow').style.fill = buttonTextColor;
31
+ const wcsButtonElement = this.el.shadowRoot.querySelector('wcs-button');
32
+ const buttonWrapper = wcsButtonElement.shadowRoot.querySelector('button');
33
+ this.buttonTextColor = window.getComputedStyle(buttonWrapper).color;
34
+ const popoverDiv = this.el.shadowRoot.querySelector('.popover');
35
+ this.popper = popper.createPopper(wcsButtonElement, popoverDiv, {
36
+ placement: this.placement,
37
+ modifiers: [
38
+ {
39
+ name: 'offset',
40
+ options: {
41
+ offset: [0, 8]
42
+ }
43
+ }
44
+ ]
45
+ });
46
+ this.el.shadowRoot.querySelector('.arrow').style.fill = this.buttonTextColor;
22
47
  this.fixForFirefoxBelow63();
23
48
  }
24
49
  fixForFirefoxBelow63() {
@@ -32,14 +57,11 @@ let Dropdown = class {
32
57
  });
33
58
  }
34
59
  }
35
- onButtonClick(e) {
36
- e.stopPropagation();
60
+ onButtonClick(_) {
37
61
  this.expanded = !this.expanded;
38
62
  }
39
63
  onWindowClickEvent(event) {
40
- // TODO: Extract to utils
41
- const clickedOnDropdownOrChildren = event.target instanceof Node
42
- && this.el.contains(event.target);
64
+ const clickedOnDropdownOrChildren = helpers.clickTargetIsElementOrChildren(event, this.el);
43
65
  if (this.expanded && !clickedOnDropdownOrChildren) {
44
66
  this.expanded = false;
45
67
  }
@@ -47,10 +69,21 @@ let Dropdown = class {
47
69
  dropdownItemClick(_) {
48
70
  this.expanded = false;
49
71
  }
72
+ componentDidRender() {
73
+ if (this.popper) {
74
+ this.popper.update();
75
+ }
76
+ if (!this.noArrow) {
77
+ this.el.shadowRoot.querySelector('.arrow').style.fill = this.buttonTextColor;
78
+ }
79
+ }
50
80
  render() {
51
- return (index.h(index.Host, null, index.h("wcs-button", { mode: this.mode, shape: this.shape, onClick: ($event) => this.onButtonClick($event) }, index.h("div", { class: "wcs-button-content-wrapper" }, index.h("slot", { name: "placeholder" }), index.h(selectArrow.SelectArrow, { up: this.expanded }))), index.h("div", { class: (this.expanded ? 'show ' : '') + 'popover' }, index.h("div", { class: "container" }, index.h("slot", { name: "item" })))));
81
+ return (index.h(index.Host, null, index.h("wcs-button", { mode: this.mode, shape: this.shape, disabled: this.disabled, onClick: ($event) => this.onButtonClick($event) }, index.h("div", { class: "wcs-button-content-wrapper" }, index.h("slot", { name: "placeholder" }), this.noArrow ? null : (index.h(selectArrow.SelectArrow, { up: this.expanded })))), index.h("div", { class: (this.expanded ? 'show ' : '') + 'popover' }, index.h("div", { id: "arrow", "data-popper-arrow": true }), index.h("div", { class: "container" }, index.h("slot", { name: "item" })))));
52
82
  }
53
83
  get el() { return index.getElement(this); }
84
+ static get watchers() { return {
85
+ "placement": ["placementChange"]
86
+ }; }
54
87
  };
55
88
  Dropdown.style = dropdownCss;
56
89
 
@@ -16,7 +16,7 @@ let Label = class {
16
16
  };
17
17
  Label.style = errorCss;
18
18
 
19
- const formFieldCss = ":host{--wcs-form-field-icon-color:var(--wcs-text-medium);--wcs-form-field-border-radius-left:var(--wcs-border-radius);--wcs-form-field-border-radius-right:var(--wcs-border-radius);display:inline-flex;flex-direction:column}.input-container{display:flex}::slotted(wcs-radio-group){margin-left:var(--wcs-base-margin)}::slotted(wcs-radio-group[mode=option]){margin-left:0}::slotted(wcs-select:not([slot=prefix])){width:100%}::slotted(label){font-weight:500;margin-bottom:8px}:host(.has-prefix){--wcs-input-border-radius-left:0}:host(.has-suffix){--wcs-input-border-radius-right:0}::slotted([slot=prefix]){--wcs-select-border-radius:var(--wcs-border-radius) 0 0 var(--wcs-border-radius);--wcs-select-background-color:var(--wcs-gray-light);--wcs-select-value-color:var(--wcs-white);--wcs-select-placeholder-color:var(--wcs-white);--wcs-select-border-color:var(--wcs-gray-light)}::slotted([slot=suffix]){--wcs-button-border-radius:0 var(--wcs-border-radius) var(--wcs-border-radius) 0}";
19
+ const formFieldCss = ":host{--wcs-form-field-border-radius-left:var(--wcs-border-radius);--wcs-form-field-border-radius-right:var(--wcs-border-radius);display:flex;flex-direction:column}.input-container{display:flex}::slotted(wcs-radio-group){margin-left:var(--wcs-base-margin)}::slotted(wcs-radio-group[mode=option]){margin-left:0}::slotted(wcs-select:not([slot=prefix])){width:100%}::slotted(label){font-weight:500;margin-bottom:8px}:host(.has-prefix){--wcs-input-border-radius-left:0}:host(.has-suffix){--wcs-input-border-radius-right:0}::slotted([slot=prefix]){--wcs-select-border-radius:var(--wcs-border-radius) 0 0 var(--wcs-border-radius);--wcs-select-background-color:var(--wcs-gray-light);--wcs-select-value-color:var(--wcs-white);--wcs-select-placeholder-color:var(--wcs-white);--wcs-select-border-color:var(--wcs-gray-light)}::slotted([slot=suffix]){--wcs-button-border-radius:0 var(--wcs-border-radius) var(--wcs-border-radius) 0}";
20
20
 
21
21
  let FormField = class {
22
22
  constructor(hostRef) {
@@ -81,22 +81,19 @@ let FormField = class {
81
81
  this.updateLabelRequiredFlag(isRequired, label);
82
82
  }
83
83
  initSpiedElement() {
84
- var _a;
84
+ var _a, _b;
85
85
  const SUPPORTED_COMPONENTS = ['wcs-input', 'wcs-select', 'wcs-textarea', 'wcs-radio-group', 'wcs-switch', 'wcs-checkbox'];
86
- this.spiedElement = (_a = this.el.shadowRoot.querySelector('slot:not([name])')) === null || _a === void 0 ? void 0 : _a.assignedElements()[0];
86
+ this.spiedElement = (_a = this.el.shadowRoot.querySelector('slot:not([name])')) === null || _a === void 0 ? void 0 : _a.assignedElements().filter(n => [...SUPPORTED_COMPONENTS, 'SLOT'].map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0];
87
87
  // If the component is used in another web component
88
- if (this.spiedElement.tagName === 'SLOT') {
88
+ if (((_b = this.spiedElement) === null || _b === void 0 ? void 0 : _b.tagName) === 'SLOT') {
89
89
  this.spiedElement = (this.spiedElement
90
90
  .assignedElements()
91
91
  .filter(n => SUPPORTED_COMPONENTS.map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0]);
92
92
  }
93
- if (!this.spiedElement)
94
- throw new Error('You must provide a slotted element in form field');
95
- if (SUPPORTED_COMPONENTS
96
- .map(x => x.toUpperCase())
97
- .indexOf(this.spiedElement.tagName) === -1) {
93
+ if (!this.spiedElement) {
98
94
  // tslint:disable-next-line:no-console
99
- console.warn('form-field component support ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component (component ' + this.spiedElement.tagName + ' not natively supported).');
95
+ console.warn('Form-field component support only ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component.');
96
+ return;
100
97
  }
101
98
  }
102
99
  updateLabelRequiredFlag(isRequired, label) {