@stackoverflow/stacks 1.9.0 → 1.9.2

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 (132) hide show
  1. package/README.md +161 -153
  2. package/dist/components/table/table.d.ts +26 -4
  3. package/dist/css/stacks.css +21 -6
  4. package/dist/css/stacks.min.css +1 -1
  5. package/dist/js/stacks.js +93 -64
  6. package/dist/js/stacks.min.js +1 -1
  7. package/lib/atomic/border.less +397 -397
  8. package/lib/atomic/color.less +210 -210
  9. package/lib/atomic/flex.less +426 -426
  10. package/lib/atomic/gap.less +44 -44
  11. package/lib/atomic/grid.less +139 -139
  12. package/lib/atomic/misc.less +343 -343
  13. package/lib/atomic/spacing.less +342 -342
  14. package/lib/atomic/typography.less +267 -267
  15. package/lib/atomic/width-height.less +194 -194
  16. package/lib/base/body.less +44 -44
  17. package/lib/base/configuration-static.less +61 -61
  18. package/lib/base/fieldset.less +5 -5
  19. package/lib/base/icon.less +11 -11
  20. package/lib/base/internal.less +220 -220
  21. package/lib/base/reset-meyer.less +64 -64
  22. package/lib/base/reset-normalize.less +449 -449
  23. package/lib/base/reset.less +20 -20
  24. package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +21 -21
  25. package/lib/components/activity-indicator/activity-indicator.less +40 -40
  26. package/lib/components/activity-indicator/activity-indicator.visual.test.ts +23 -23
  27. package/lib/components/anchor/anchor.less +61 -61
  28. package/lib/components/avatar/avatar.a11y.test.ts +36 -36
  29. package/lib/components/avatar/avatar.less +108 -108
  30. package/lib/components/avatar/avatar.visual.test.ts +54 -54
  31. package/lib/components/award-bling/award-bling.a11y.test.ts +17 -0
  32. package/lib/components/award-bling/award-bling.less +31 -31
  33. package/lib/components/award-bling/award-bling.visual.test.ts +26 -0
  34. package/lib/components/badge/badge.less +251 -251
  35. package/lib/components/banner/banner.a11y.test.ts +37 -0
  36. package/lib/components/banner/banner.less +51 -51
  37. package/lib/components/banner/banner.test.ts +73 -77
  38. package/lib/components/banner/banner.ts +149 -149
  39. package/lib/components/banner/banner.visual.test.ts +37 -36
  40. package/lib/components/block-link/block-link.a11y.test.ts +68 -0
  41. package/lib/components/block-link/block-link.less +80 -80
  42. package/lib/components/block-link/block-link.visual.test.ts +61 -0
  43. package/lib/components/breadcrumbs/breadcrumbs.a11y.test.ts +37 -0
  44. package/lib/components/breadcrumbs/breadcrumbs.less +41 -41
  45. package/lib/components/breadcrumbs/breadcrumbs.visual.test.ts +37 -0
  46. package/lib/components/button/button.a11y.test.ts +32 -32
  47. package/lib/components/button/button.less +502 -502
  48. package/lib/components/button/button.visual.test.ts +52 -52
  49. package/lib/components/button-group/button-group.less +83 -83
  50. package/lib/components/card/card.a11y.test.ts +13 -0
  51. package/lib/components/card/card.less +29 -29
  52. package/lib/components/card/card.visual.test.ts +54 -0
  53. package/lib/components/check-control/check-control.less +17 -17
  54. package/lib/components/check-group/check-group.less +19 -19
  55. package/lib/components/checkbox_radio/checkbox_radio.less +158 -158
  56. package/lib/components/code-block/code-block.less +116 -116
  57. package/lib/components/description/description.less +9 -9
  58. package/lib/components/empty-state/empty-state.less +16 -16
  59. package/lib/components/expandable/expandable.less +118 -118
  60. package/lib/components/expandable/expandable.test.ts +51 -53
  61. package/lib/components/expandable/expandable.ts +238 -238
  62. package/lib/components/input-fill/input-fill.less +35 -35
  63. package/lib/components/input-icon/input-icon.less +45 -45
  64. package/lib/components/input-message/input-message.less +48 -48
  65. package/lib/components/input_textarea/input_textarea.less +166 -166
  66. package/lib/components/label/label.less +111 -111
  67. package/lib/components/link/link.less +119 -119
  68. package/lib/components/link-preview/link-preview.less +139 -139
  69. package/lib/components/menu/menu.less +41 -41
  70. package/lib/components/modal/modal.less +113 -113
  71. package/lib/components/modal/modal.ts +379 -379
  72. package/lib/components/navigation/navigation.less +134 -134
  73. package/lib/components/navigation/navigation.ts +128 -128
  74. package/lib/components/notice/notice.less +203 -203
  75. package/lib/components/page-title/page-title.less +51 -51
  76. package/lib/components/pagination/pagination.less +52 -52
  77. package/lib/components/popover/popover.less +148 -148
  78. package/lib/components/popover/popover.ts +651 -651
  79. package/lib/components/popover/tooltip.test.ts +62 -66
  80. package/lib/components/popover/tooltip.ts +343 -343
  81. package/lib/components/popover/tooltip.visual.test.ts +31 -31
  82. package/lib/components/post-summary/post-summary.less +415 -415
  83. package/lib/components/progress-bar/progress-bar.less +291 -291
  84. package/lib/components/prose/prose.less +452 -452
  85. package/lib/components/select/select.less +148 -148
  86. package/lib/components/sidebar-widget/sidebar-widget.less +257 -258
  87. package/lib/components/spinner/spinner.less +103 -103
  88. package/lib/components/table/table.less +307 -292
  89. package/lib/components/table/table.test.ts +366 -0
  90. package/lib/components/table/table.ts +296 -263
  91. package/lib/components/table-container/table-container.less +4 -4
  92. package/lib/components/tag/tag.less +213 -213
  93. package/lib/components/toast/toast.less +35 -35
  94. package/lib/components/toast/toast.test.ts +63 -67
  95. package/lib/components/toast/toast.ts +357 -357
  96. package/lib/components/toast/toast.visual.test.ts +27 -27
  97. package/lib/components/toggle-switch/toggle-switch.less +110 -110
  98. package/lib/components/topbar/topbar.less +436 -435
  99. package/lib/components/uploader/uploader.less +195 -195
  100. package/lib/components/uploader/uploader.ts +205 -205
  101. package/lib/components/user-card/user-card.less +129 -129
  102. package/lib/controllers.ts +33 -33
  103. package/lib/exports/constants-colors.less +1112 -1111
  104. package/lib/exports/constants-helpers.less +108 -108
  105. package/lib/exports/constants-type.less +153 -153
  106. package/lib/exports/exports.less +15 -15
  107. package/lib/exports/mixins.less +299 -299
  108. package/lib/index.ts +32 -32
  109. package/lib/input-utils.less +44 -44
  110. package/lib/stacks-dynamic.less +24 -24
  111. package/lib/stacks-static.less +93 -93
  112. package/lib/stacks.less +13 -13
  113. package/lib/stacks.ts +113 -113
  114. package/lib/test/open-wc-testing-patch.d.ts +26 -0
  115. package/lib/test/test-utils.ts +466 -444
  116. package/lib/tsconfig.build.json +4 -0
  117. package/lib/tsconfig.json +16 -13
  118. package/package.json +106 -105
  119. package/dist/components/activity-indicator/activity-indicator.a11y.test.d.ts +0 -1
  120. package/dist/components/activity-indicator/activity-indicator.visual.test.d.ts +0 -1
  121. package/dist/components/avatar/avatar.a11y.test.d.ts +0 -1
  122. package/dist/components/avatar/avatar.visual.test.d.ts +0 -1
  123. package/dist/components/banner/banner.test.d.ts +0 -1
  124. package/dist/components/banner/banner.visual.test.d.ts +0 -1
  125. package/dist/components/button/button.a11y.test.d.ts +0 -1
  126. package/dist/components/button/button.visual.test.d.ts +0 -1
  127. package/dist/components/expandable/expandable.test.d.ts +0 -1
  128. package/dist/components/popover/tooltip.test.d.ts +0 -1
  129. package/dist/components/popover/tooltip.visual.test.d.ts +0 -1
  130. package/dist/components/toast/toast.test.d.ts +0 -1
  131. package/dist/components/toast/toast.visual.test.d.ts +0 -1
  132. package/dist/test/test-utils.d.ts +0 -136
@@ -1,27 +1,27 @@
1
- import { runComponentTests } from "../../test/test-utils";
2
- import { html } from "@open-wc/testing";
3
- import "../../index";
4
-
5
- describe("toast > notice", () => {
6
- // This is a test of notice component wrapped in a toast component
7
- runComponentTests({
8
- type: "visual",
9
- baseClass: "s-notice", // s-toast is a wrapper around s-notice
10
- variants: ["info", "success", "warning", "danger"],
11
- modifiers: {
12
- primary: ["important"],
13
- },
14
- attributes: {
15
- ariaHidden: "false",
16
- },
17
- children: {
18
- toast: "Test toast",
19
- },
20
- tag: "aside",
21
- template: ({ component, testid }) => html`
22
- <div data-testid="${testid}" class="s-toast" aria-hidden="false">
23
- ${component}
24
- </div>
25
- `,
26
- });
27
- });
1
+ import { runComponentTests } from "../../test/test-utils";
2
+ import { html } from "@open-wc/testing";
3
+ import "../../index";
4
+
5
+ describe("toast > notice", () => {
6
+ // This is a test of notice component wrapped in a toast component
7
+ runComponentTests({
8
+ type: "visual",
9
+ baseClass: "s-notice", // s-toast is a wrapper around s-notice
10
+ variants: ["info", "success", "warning", "danger"],
11
+ modifiers: {
12
+ primary: ["important"],
13
+ },
14
+ attributes: {
15
+ ariaHidden: "false",
16
+ },
17
+ children: {
18
+ toast: "Test toast",
19
+ },
20
+ tag: "aside",
21
+ template: ({ component, testid }) => html`
22
+ <div data-testid="${testid}" class="s-toast" aria-hidden="false">
23
+ ${component}
24
+ </div>
25
+ `,
26
+ });
27
+ });
@@ -1,110 +1,110 @@
1
- .s-toggle-switch {
2
- --_ts-bg: var(--black-300);
3
- --_ts-bg-ps: left center;
4
- --_ts-bs-color: transparent;
5
- --_ts-multiple-bg: unset;
6
- --_ts-multiple-fc: var(--black-500);
7
-
8
- fieldset[disabled] & {
9
- &,
10
- & label {
11
- cursor: not-allowed;
12
- opacity: var(--_o-disabled-static);
13
- }
14
- }
15
-
16
- &&__multiple { // TODO split single and multiple toggle into two seperate components
17
- input[type="radio"] {
18
- &:checked {
19
- + label {
20
- &.s-toggle-switch--label-off {
21
- --_ts-multiple-bg: var(--black-500);
22
- --_ts-multiple-fc: var(--white);
23
-
24
- .dark-mode({ --_ts-multiple-bg: var(--black-350); });
25
- }
26
-
27
- &:not(.s-toggle-switch--label-off) {
28
- --_ts-multiple-bg: var(--green-400);
29
- --_ts-multiple-fc: @white;
30
-
31
- .highcontrast-mode({ --_ts-multiple-fc: var(--white); });
32
- }
33
- }
34
-
35
- &:focus + label {
36
- --_ts-bs-color: var(--focus-ring-success);
37
-
38
- &.s-toggle-switch--label-off {
39
- --_ts-bs-color: var(--focus-ring-muted);
40
- }
41
- }
42
- }
43
-
44
- left: -999em;
45
- margin: 0;
46
- opacity: 0;
47
- position: absolute;
48
- }
49
-
50
- label {
51
- background-color: var(--_ts-multiple-bg);
52
- box-shadow: 0 0 0 var(--su-static4) var(--_ts-bs-color);
53
- color: var(--_ts-multiple-fc);
54
-
55
- border-radius: 1000px;
56
- cursor: pointer;
57
- font-size: var(--fs-body1);
58
- font-weight: 400;
59
- line-height: 1;
60
- margin: 0;
61
- padding: 0.5em 0.7em;
62
- text-align: center;
63
- white-space: nowrap;
64
- width: 100%;
65
- -webkit-touch-callout: none;
66
- -webkit-user-select: none;
67
- user-select: none;
68
- }
69
-
70
- align-items: stretch;
71
- display: flex;
72
- }
73
-
74
- input[type="checkbox"], // TODO DEPRECATED: drop support for nested input[type="checkbox"]
75
- input[type="checkbox"]& {
76
- &:checked {
77
- --_ts-bg: var(--green-400);
78
- --_ts-bg-ps: right center;
79
-
80
- &:focus {
81
- --_ts-bs-color: var(--focus-ring-success);
82
- }
83
- }
84
-
85
- &:focus {
86
- --_ts-bs-color: var(--focus-ring-muted);
87
- outline: none;
88
- }
89
-
90
- &[disabled] {
91
- cursor: default;
92
- }
93
-
94
- background-color: var(--_ts-bg);
95
- background-position: var(--_ts-bg-ps);
96
- box-shadow: 0 0 0 var(--su-static4) var(--_ts-bs-color);
97
-
98
- appearance: none;
99
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); // The white dot within the toggle
100
- background-size: contain;
101
- background-repeat: no-repeat;
102
- border-radius: 1000px;
103
- cursor: pointer;
104
- height: var(--su-static24);
105
- margin: 0; // guard against production adding 5px of margin to these
106
- transition: background-position 0.2s ease;
107
- vertical-align: top;
108
- width: calc(var(--su-static48) - var(--su-static4));
109
- }
110
- }
1
+ .s-toggle-switch {
2
+ --_ts-bg: var(--black-300);
3
+ --_ts-bg-ps: left center;
4
+ --_ts-bs-color: transparent;
5
+ --_ts-multiple-bg: unset;
6
+ --_ts-multiple-fc: var(--black-500);
7
+
8
+ fieldset[disabled] & {
9
+ &,
10
+ & label {
11
+ cursor: not-allowed;
12
+ opacity: var(--_o-disabled-static);
13
+ }
14
+ }
15
+
16
+ &&__multiple { // TODO split single and multiple toggle into two seperate components
17
+ input[type="radio"] {
18
+ &:checked {
19
+ + label {
20
+ &.s-toggle-switch--label-off {
21
+ --_ts-multiple-bg: var(--black-500);
22
+ --_ts-multiple-fc: var(--white);
23
+
24
+ .dark-mode({ --_ts-multiple-bg: var(--black-350); });
25
+ }
26
+
27
+ &:not(.s-toggle-switch--label-off) {
28
+ --_ts-multiple-bg: var(--green-400);
29
+ --_ts-multiple-fc: @white;
30
+
31
+ .highcontrast-mode({ --_ts-multiple-fc: var(--white); });
32
+ }
33
+ }
34
+
35
+ &:focus + label {
36
+ --_ts-bs-color: var(--focus-ring-success);
37
+
38
+ &.s-toggle-switch--label-off {
39
+ --_ts-bs-color: var(--focus-ring-muted);
40
+ }
41
+ }
42
+ }
43
+
44
+ left: -999em;
45
+ margin: 0;
46
+ opacity: 0;
47
+ position: absolute;
48
+ }
49
+
50
+ label {
51
+ background-color: var(--_ts-multiple-bg);
52
+ box-shadow: 0 0 0 var(--su-static4) var(--_ts-bs-color);
53
+ color: var(--_ts-multiple-fc);
54
+
55
+ border-radius: 1000px;
56
+ cursor: pointer;
57
+ font-size: var(--fs-body1);
58
+ font-weight: 400;
59
+ line-height: 1;
60
+ margin: 0;
61
+ padding: 0.5em 0.7em;
62
+ text-align: center;
63
+ white-space: nowrap;
64
+ width: 100%;
65
+ -webkit-touch-callout: none;
66
+ -webkit-user-select: none;
67
+ user-select: none;
68
+ }
69
+
70
+ align-items: stretch;
71
+ display: flex;
72
+ }
73
+
74
+ input[type="checkbox"], // TODO DEPRECATED: drop support for nested input[type="checkbox"]
75
+ input[type="checkbox"]& {
76
+ &:checked {
77
+ --_ts-bg: var(--green-400);
78
+ --_ts-bg-ps: right center;
79
+
80
+ &:focus {
81
+ --_ts-bs-color: var(--focus-ring-success);
82
+ }
83
+ }
84
+
85
+ &:focus {
86
+ --_ts-bs-color: var(--focus-ring-muted);
87
+ outline: none;
88
+ }
89
+
90
+ &[disabled] {
91
+ cursor: default;
92
+ }
93
+
94
+ background-color: var(--_ts-bg);
95
+ background-position: var(--_ts-bg-ps);
96
+ box-shadow: 0 0 0 var(--su-static4) var(--_ts-bs-color);
97
+
98
+ appearance: none;
99
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); // The white dot within the toggle
100
+ background-size: contain;
101
+ background-repeat: no-repeat;
102
+ border-radius: 1000px;
103
+ cursor: pointer;
104
+ height: var(--su-static24);
105
+ margin: 0; // guard against production adding 5px of margin to these
106
+ transition: background-position 0.2s ease;
107
+ vertical-align: top;
108
+ width: calc(var(--su-static48) - var(--su-static4));
109
+ }
110
+ }