@geoffcox/sterling-svelte 0.0.30 → 1.0.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 (223) hide show
  1. package/@types/clickOutside.d.ts +11 -7
  2. package/Button.svelte +11 -183
  3. package/Button.svelte.d.ts +2 -6
  4. package/Callout.svelte +188 -0
  5. package/Callout.svelte.d.ts +54 -0
  6. package/Checkbox.svelte +15 -177
  7. package/Checkbox.svelte.d.ts +2 -2
  8. package/ColorPicker.svelte +204 -223
  9. package/ColorPicker.svelte.d.ts +1 -2
  10. package/Dialog.svelte +91 -187
  11. package/Dialog.svelte.d.ts +3 -1
  12. package/Dropdown.svelte +52 -219
  13. package/Dropdown.svelte.d.ts +4 -8
  14. package/HexColorSliders.svelte +77 -145
  15. package/HexColorSliders.svelte.d.ts +28 -1
  16. package/HslColorSliders.svelte +99 -179
  17. package/HslColorSliders.svelte.d.ts +28 -1
  18. package/Input.svelte +27 -136
  19. package/Input.svelte.d.ts +2 -3
  20. package/Label.constants.d.ts +1 -0
  21. package/Label.constants.js +1 -0
  22. package/Label.svelte +96 -169
  23. package/Label.svelte.d.ts +6 -1
  24. package/Label.types.d.ts +3 -1
  25. package/Link.svelte +9 -106
  26. package/Link.svelte.d.ts +0 -1
  27. package/List.svelte +142 -230
  28. package/List.svelte.d.ts +2 -3
  29. package/List.types.d.ts +6 -1
  30. package/ListItem.svelte +25 -94
  31. package/ListItem.svelte.d.ts +2 -0
  32. package/Menu.svelte +48 -64
  33. package/Menu.svelte.d.ts +4 -1
  34. package/MenuBar.svelte +84 -86
  35. package/MenuBar.svelte.d.ts +4 -1
  36. package/MenuButton.svelte +67 -74
  37. package/MenuButton.svelte.d.ts +7 -3
  38. package/MenuItem.svelte +256 -288
  39. package/MenuItem.svelte.d.ts +2 -2
  40. package/MenuItemDisplay.svelte +12 -116
  41. package/MenuItemDisplay.svelte.d.ts +21 -7
  42. package/MenuSeparator.svelte +6 -45
  43. package/MenuSeparator.svelte.d.ts +8 -78
  44. package/Popover.constants.d.ts +2 -0
  45. package/{floating-ui.constants.js → Popover.constants.js} +10 -9
  46. package/Popover.svelte +72 -82
  47. package/Popover.svelte.d.ts +10 -5
  48. package/Popover.types.d.ts +4 -0
  49. package/Progress.svelte +28 -126
  50. package/Progress.svelte.d.ts +4 -3
  51. package/Radio.svelte +49 -192
  52. package/Radio.svelte.d.ts +2 -2
  53. package/RgbColorSliders.svelte +48 -137
  54. package/RgbColorSliders.svelte.d.ts +5 -5
  55. package/Select.svelte +124 -251
  56. package/Select.svelte.d.ts +6 -2
  57. package/Slider.svelte +90 -259
  58. package/Slider.svelte.d.ts +1 -2
  59. package/Switch.svelte +24 -259
  60. package/Switch.svelte.d.ts +3 -1
  61. package/Tab.svelte +27 -175
  62. package/Tab.svelte.d.ts +6 -4
  63. package/TabList.svelte +146 -171
  64. package/TabList.svelte.d.ts +3 -2
  65. package/TabList.types.d.ts +6 -1
  66. package/TextArea.svelte +32 -129
  67. package/TextArea.svelte.d.ts +1 -1
  68. package/Tooltip.svelte +88 -222
  69. package/Tooltip.svelte.d.ts +21 -13
  70. package/Tree.constants.d.ts +0 -1
  71. package/Tree.constants.js +0 -1
  72. package/Tree.svelte +35 -119
  73. package/Tree.svelte.d.ts +4 -4
  74. package/Tree.types.d.ts +1 -3
  75. package/TreeChevron.svelte +18 -98
  76. package/TreeChevron.svelte.d.ts +1 -0
  77. package/TreeItem.constants.d.ts +1 -0
  78. package/TreeItem.constants.js +1 -0
  79. package/TreeItem.svelte +251 -211
  80. package/TreeItem.svelte.d.ts +7 -3
  81. package/TreeItem.types.d.ts +1 -1
  82. package/TreeItemDisplay.svelte +20 -104
  83. package/TreeItemDisplay.svelte.d.ts +2 -2
  84. package/actions/applyLightDarkMode.d.ts +10 -0
  85. package/actions/applyLightDarkMode.js +36 -0
  86. package/actions/forwardEvents.js +3 -3
  87. package/css/Button.base.css +74 -0
  88. package/css/Button.colorful.css +17 -0
  89. package/css/Button.css +7 -0
  90. package/css/Button.secondary.colorful.css +15 -0
  91. package/css/Button.secondary.css +11 -0
  92. package/css/Button.shapes.css +14 -0
  93. package/css/Button.tool.colorful.css +13 -0
  94. package/css/Button.tool.css +18 -0
  95. package/css/Callout.base.css +43 -0
  96. package/css/Callout.colorful.css +5 -0
  97. package/css/Callout.css +2 -0
  98. package/css/Checkbox.base.css +145 -0
  99. package/css/Checkbox.colorful.css +17 -0
  100. package/css/Checkbox.css +2 -0
  101. package/css/ColorPicker.base.css +23 -0
  102. package/css/ColorPicker.css +1 -0
  103. package/css/Dialog.base.css +116 -0
  104. package/css/Dialog.css +1 -0
  105. package/css/Dropdown.base.css +147 -0
  106. package/css/Dropdown.colorful.css +23 -0
  107. package/css/Dropdown.css +2 -0
  108. package/css/HexColorSliders.base.css +106 -0
  109. package/css/HexColorSliders.css +1 -0
  110. package/css/HslColorSliders.base.css +124 -0
  111. package/css/HslColorSliders.css +1 -0
  112. package/css/Input.base.css +100 -0
  113. package/css/Input.colorful.css +22 -0
  114. package/css/Input.composed.css +8 -0
  115. package/css/Input.css +3 -0
  116. package/css/Label.base.css +119 -0
  117. package/css/Label.boxed.colorful.css +21 -0
  118. package/css/Label.boxed.css +31 -0
  119. package/css/Label.colorful.css +3 -0
  120. package/css/Label.css +4 -0
  121. package/css/Link.base.css +52 -0
  122. package/css/Link.colorful.css +15 -0
  123. package/css/Link.css +6 -0
  124. package/css/Link.ghost.colorful.css +7 -0
  125. package/css/Link.ghost.css +11 -0
  126. package/css/Link.undecorated.colorful.css +6 -0
  127. package/css/Link.undecorated.css +6 -0
  128. package/css/List.base.css +98 -0
  129. package/css/List.css +1 -0
  130. package/css/ListItem.base.css +59 -0
  131. package/css/ListItem.css +1 -0
  132. package/css/Menu.base.css +21 -0
  133. package/css/Menu.css +1 -0
  134. package/css/MenuBar.base.css +9 -0
  135. package/css/MenuBar.css +1 -0
  136. package/css/MenuButton.base.css +13 -0
  137. package/css/MenuButton.css +1 -0
  138. package/css/MenuItem.base.css +48 -0
  139. package/css/MenuItem.css +1 -0
  140. package/css/MenuItemDisplay.base.css +104 -0
  141. package/css/MenuItemDisplay.css +1 -0
  142. package/css/MenuSeparator.base.css +5 -0
  143. package/css/MenuSeparator.css +1 -0
  144. package/css/Popover copy.css +21 -0
  145. package/css/Popover.css +21 -0
  146. package/css/Progress.base.css +99 -0
  147. package/css/Progress.css +1 -0
  148. package/css/Radio.base.css +135 -0
  149. package/css/Radio.colorful.css +18 -0
  150. package/css/Radio.css +2 -0
  151. package/css/RgbColorSliders.base.css +94 -0
  152. package/css/RgbColorSliders.css +1 -0
  153. package/css/Select.base.css +127 -0
  154. package/css/Select.colorful.css +24 -0
  155. package/css/Select.composed.css +12 -0
  156. package/css/Select.css +3 -0
  157. package/css/Slider.base.css +182 -0
  158. package/css/Slider.colorful.css +11 -0
  159. package/css/Slider.composed.css +8 -0
  160. package/css/Slider.css +3 -0
  161. package/css/Switch.base.css +193 -0
  162. package/css/Switch.colorful.css +39 -0
  163. package/css/Switch.css +2 -0
  164. package/css/Tab.base.css +135 -0
  165. package/css/Tab.colorful.css +13 -0
  166. package/css/Tab.css +2 -0
  167. package/css/TabList.base.css +34 -0
  168. package/css/TabList.css +1 -0
  169. package/css/TextArea.base.css +85 -0
  170. package/css/TextArea.colorful.css +17 -0
  171. package/css/TextArea.composed.css +8 -0
  172. package/css/TextArea.css +3 -0
  173. package/css/Tooltip.base.css +6 -0
  174. package/css/Tooltip.css +1 -0
  175. package/css/Tree.base.css +74 -0
  176. package/css/Tree.composed.css +8 -0
  177. package/css/Tree.css +2 -0
  178. package/css/TreeChevron.base.css +86 -0
  179. package/css/TreeChevron.css +1 -0
  180. package/css/TreeItem.base.css +3 -0
  181. package/css/TreeItem.css +1 -0
  182. package/css/TreeItemDisplay.base.css +74 -0
  183. package/css/TreeItemDisplay.colorful.css +9 -0
  184. package/css/TreeItemDisplay.css +1 -0
  185. package/css/dark-mode.css +134 -0
  186. package/css/light-mode.css +134 -0
  187. package/css/sterling.css +37 -0
  188. package/index.d.ts +13 -18
  189. package/index.js +11 -15
  190. package/mediaQueries/prefersColorSchemeDark.d.ts +2 -0
  191. package/mediaQueries/prefersColorSchemeDark.js +10 -0
  192. package/{stores → mediaQueries}/prefersReducedMotion.d.ts +1 -0
  193. package/{stores → mediaQueries}/usingKeyboard.d.ts +1 -0
  194. package/package.json +136 -19
  195. package/Link.constants.d.ts +0 -1
  196. package/Link.constants.js +0 -1
  197. package/Link.types.d.ts +0 -4
  198. package/Tooltip.constants.d.ts +0 -1
  199. package/Tooltip.constants.js +0 -1
  200. package/Tooltip.types.d.ts +0 -4
  201. package/Tooltip.types.js +0 -1
  202. package/floating-ui.constants.d.ts +0 -1
  203. package/floating-ui.types.d.ts +0 -4
  204. package/floating-ui.types.js +0 -1
  205. package/theme/applyDarkTheme.d.ts +0 -7
  206. package/theme/applyDarkTheme.js +0 -11
  207. package/theme/applyLightTheme.d.ts +0 -7
  208. package/theme/applyLightTheme.js +0 -11
  209. package/theme/applyTheme.d.ts +0 -7
  210. package/theme/applyTheme.js +0 -20
  211. package/theme/colors.d.ts +0 -54
  212. package/theme/colors.js +0 -82
  213. package/theme/darkTheme.d.ts +0 -2
  214. package/theme/darkTheme.js +0 -142
  215. package/theme/lightTheme.d.ts +0 -2
  216. package/theme/lightTheme.js +0 -119
  217. package/theme/toggleDarkTheme.d.ts +0 -18
  218. package/theme/toggleDarkTheme.js +0 -53
  219. package/theme/types.d.ts +0 -21
  220. package/theme/types.js +0 -1
  221. /package/{Link.types.js → Popover.types.js} +0 -0
  222. /package/{stores → mediaQueries}/prefersReducedMotion.js +0 -0
  223. /package/{stores → mediaQueries}/usingKeyboard.js +0 -0
@@ -0,0 +1,85 @@
1
+ .sterling-text-area {
2
+ position: relative;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .sterling-text-area textarea {
8
+ background-color: var(--stsv-input__background-color);
9
+ border-color: var(--stsv-input__border-color);
10
+ border-radius: 3px;
11
+ border-style: solid;
12
+ border-width: 2px;
13
+ box-sizing: border-box;
14
+ color: var(--stsv-input__color);
15
+ display: block;
16
+ font: inherit;
17
+ line-height: inherit;
18
+ height: 100%;
19
+ outline: none;
20
+ padding: 0.5em;
21
+ margin: 0;
22
+ min-height: 3em;
23
+ overflow: hidden;
24
+ resize: var(--TextArea__resize, none);
25
+ transition: background-color 250ms, color 250ms, border-color 250ms;
26
+ width: 100%;
27
+ }
28
+
29
+ .sterling-text-area textarea:hover {
30
+ background-color: var(--stsv-input__background-color--hover);
31
+ border-color: var(--stsv-input__border-color--hover);
32
+ color: var(--stsv-input__color--hover);
33
+ }
34
+
35
+ .sterling-text-area textarea:focus {
36
+ background-color: var(--stsv-input__background-color--focus);
37
+ border-color: var(--stsv-input__border-color--focus);
38
+ color: var(--stsv-input__color--focus);
39
+ outline-color: var(--stsv-common__outline-color);
40
+ outline-offset: 0;
41
+ outline-style: solid;
42
+ outline-width: 2px;
43
+ }
44
+
45
+ .sterling-text-area:disabled {
46
+ cursor: not-allowed;
47
+ outline: none;
48
+ }
49
+
50
+ .sterling-text-area::after {
51
+ background: repeating-linear-gradient(
52
+ var(--stsv-common--disabled__stripe-angle),
53
+ var(--stsv-common--disabled__stripe-color),
54
+ var(--stsv-common--disabled__stripe-color) var(--stsv-common--disabled__stripe-width),
55
+ var(--stsv-common--disabled__stripe-color--alt) var(--stsv-common--disabled__stripe-width),
56
+ var(--stsv-common--disabled__stripe-color--alt)
57
+ calc(2 * var(--stsv-common--disabled__stripe-width))
58
+ );
59
+ bottom: 0;
60
+ content: '';
61
+ left: 0;
62
+ opacity: 0;
63
+ position: absolute;
64
+ right: 0;
65
+ top: 0;
66
+ pointer-events: none;
67
+ transition: opacity 250ms;
68
+ }
69
+
70
+ .sterling-text-area.disabled::after {
71
+ opacity: 1;
72
+ }
73
+
74
+ .sterling-text-area textarea::placeholder {
75
+ color: var(--stsv-common__color--subtle);
76
+ transition: background-color 250ms, color 250ms, border-color 250ms;
77
+ }
78
+
79
+ @media (prefers-reduced-motion) {
80
+ .sterling-text-area,
81
+ .sterling-text-area::after,
82
+ .sterling-text-area textarea {
83
+ transition: none;
84
+ }
85
+ }
@@ -0,0 +1,17 @@
1
+ .sterling-text-area.colorful textarea {
2
+ background-color: var(--stsv-input--colorful__background-color);
3
+ border-color: var(--stsv-input--colorful__border-color);
4
+ color: var(--stsv-input--colorful__color);
5
+ }
6
+
7
+ .sterling-text-area.colorful textarea:hover {
8
+ background-color: var(--stsv-input--colorful__background-color--hover);
9
+ border-color: var(--stsv-input--colorful__border-color--hover);
10
+ color: var(--stsv-input--colorful__color--hover);
11
+ }
12
+
13
+ .sterling-text-area.colorful textarea:focus {
14
+ background-color: var(--stsv-input--colorful__background-color--focus);
15
+ border-color: var(--stsv-input--colorful__border-color--focus);
16
+ color: var(--stsv-input--colorful__color--focus);
17
+ }
@@ -0,0 +1,8 @@
1
+ .sterling-text-area.composed textarea,
2
+ .sterling-text-area.composed:hover textarea:not(:disabled),
3
+ .sterling-text-area.composed textarea:focus,
4
+ .sterling-text-area.composed:hover textarea:focus {
5
+ background-color: transparent;
6
+ border-color: transparent;
7
+ outline: none;
8
+ }
@@ -0,0 +1,3 @@
1
+ @import url('./TextArea.base.css');
2
+ @import url('./TextArea.colorful.css');
3
+ @import url('./TextArea.composed.css');
@@ -0,0 +1,6 @@
1
+ .sterling-tooltip-origin {
2
+ display: block;
3
+ background: transparent;
4
+ width: 0px;
5
+ height: 0px;
6
+ }
@@ -0,0 +1 @@
1
+ @import url('./Tooltip.base.css');
@@ -0,0 +1,74 @@
1
+ .sterling-tree {
2
+ background-color: var(--stsv-common__background-color);
3
+ border-color: var(--stsv-common__border-color);
4
+ border-radius: 0;
5
+ border-style: solid;
6
+ border-width: 2px;
7
+ box-sizing: border-box;
8
+ color: var(--stsv-common__color);
9
+ height: 100%;
10
+ overflow-x: hidden;
11
+ overflow-y: auto;
12
+ margin: 0;
13
+ transition: background-color 250ms, color 250ms, border-color 250ms;
14
+ }
15
+
16
+ .sterling-tree:hover {
17
+ border-color: var(--stsv-input__border-color--hover);
18
+ color: var(--stsv-input__color--hover);
19
+ }
20
+
21
+ .sterling-tree.using-keyboard:focus-within {
22
+ border-color: var(--stsv-button__border-color--focus);
23
+ color: var(--stsv-input__color--focus);
24
+ outline-color: var(--stsv-common__outline-color);
25
+ outline-offset: 0;
26
+ outline-style: solid;
27
+ outline-width: 2px;
28
+ }
29
+
30
+ .sterling-tree.disabled * {
31
+ cursor: not-allowed;
32
+ }
33
+
34
+ /* ----- container - a layout panel that grows with the items ----- */
35
+
36
+ .sterling-tree .container {
37
+ display: flex;
38
+ flex-direction: column;
39
+ flex-wrap: nowrap;
40
+ position: relative;
41
+ }
42
+
43
+ .sterling-tree .container::after {
44
+ background: repeating-linear-gradient(
45
+ var(--stsv-common--disabled__stripe-angle),
46
+ var(--stsv-common--disabled__stripe-color),
47
+ var(--stsv-common--disabled__stripe-color) var(--stsv-common--disabled__stripe-width),
48
+ var(--stsv-common--disabled__stripe-color--alt) var(--stsv-common--disabled__stripe-width),
49
+ var(--stsv-common--disabled__stripe-color--alt)
50
+ calc(2 * var(--stsv-common--disabled__stripe-width))
51
+ );
52
+ bottom: 0;
53
+ content: '';
54
+ left: 0;
55
+ opacity: 0;
56
+ position: absolute;
57
+ pointer-events: none;
58
+ right: 0;
59
+ top: 0;
60
+ transition: opacity 250ms;
61
+ }
62
+
63
+ .sterling-tree.disabled .container::after {
64
+ opacity: 1;
65
+ }
66
+
67
+ /* ----- media queries ----- */
68
+
69
+ @media (prefers-reduced-motion) {
70
+ .sterling-tree,
71
+ .sterling-tree .container::after {
72
+ transition: none;
73
+ }
74
+ }
@@ -0,0 +1,8 @@
1
+ .sterling-tree.composed,
2
+ .sterling-tree.composed:hover,
3
+ .sterling-tree.composed.using-keyboard:focus-visible,
4
+ .sterling-tree.composed.disabled {
5
+ background: none;
6
+ border: none;
7
+ outline: none;
8
+ }
package/css/Tree.css ADDED
@@ -0,0 +1,2 @@
1
+ @import url('./Tree.base.css');
2
+ @import url('./Tree.composed.css');
@@ -0,0 +1,86 @@
1
+ .sterling-tree-chevron {
2
+ position: relative;
3
+ border: none;
4
+ background: none;
5
+ height: 1em;
6
+ width: 1em;
7
+ transform-origin: 50% 50%;
8
+ }
9
+
10
+ .sterling-tree-chevron::after {
11
+ position: absolute;
12
+ content: '';
13
+ top: 50%;
14
+ left: 50%;
15
+ width: 7px;
16
+ height: 7px;
17
+ border-right: 3px solid currentColor;
18
+ border-top: 3px solid currentColor;
19
+ }
20
+
21
+ .sterling-tree-chevron:not(.leaf):not(.expanded):not(.animate)::after {
22
+ transform: translate(-50%, -50%) rotate(45deg);
23
+ }
24
+
25
+ .sterling-tree-chevron:not(.leaf).expanded:not(.animate)::after {
26
+ transform: translate(-50%, -70%) rotate(135deg);
27
+ }
28
+
29
+ @keyframes tree-chevron-collapse {
30
+ from {
31
+ transform: translate(-50%, -70%) rotate(135deg);
32
+ }
33
+ to {
34
+ transform: translate(-50%, -50%) rotate(45deg);
35
+ }
36
+ }
37
+
38
+ @keyframes tree-chevron-expand {
39
+ from {
40
+ transform: translate(-50%, -50%) rotate(45deg);
41
+ }
42
+ to {
43
+ transform: translate(-50%, -70%) rotate(135deg);
44
+ }
45
+ }
46
+
47
+ .sterling-tree-chevron:not(.leaf):not(.expanded).animate::after {
48
+ animation-name: tree-chevron-collapse;
49
+ animation-duration: 100ms;
50
+ animation-iteration-count: 1;
51
+ animation-timing-function: linear;
52
+ animation-fill-mode: forwards;
53
+ }
54
+
55
+ .sterling-tree-chevron:not(.leaf).expanded.animate::after {
56
+ animation-name: tree-chevron-expand;
57
+ animation-duration: 100ms;
58
+ animation-iteration-count: 1;
59
+ animation-timing-function: linear;
60
+ animation-fill-mode: forwards;
61
+ }
62
+
63
+ .sterling-tree-chevron.leaf::after {
64
+ animation: none;
65
+ content: '';
66
+ position: absolute;
67
+ font: inherit;
68
+ left: 50%;
69
+ top: 50%;
70
+ width: 0.35em;
71
+ height: 0.35em;
72
+ background: currentColor;
73
+ border-radius: 50%;
74
+ transform: translate(-50%, -50%);
75
+ }
76
+
77
+ @media (prefers-reduced-motion) {
78
+ .sterling-tree-chevron:not(.leaf):not(.expanded).animate::after {
79
+ animation: none;
80
+ transform: translate(-50%, -50%) rotate(45deg);
81
+ }
82
+ .sterling-tree-chevron:not(.leaf).expanded.animate::after {
83
+ animation: none;
84
+ transform: translate(-50%, -70%) rotate(135deg);
85
+ }
86
+ }
@@ -0,0 +1 @@
1
+ @import url('./TreeChevron.base.css');
@@ -0,0 +1,3 @@
1
+ .item {
2
+ outline: none;
3
+ }
@@ -0,0 +1 @@
1
+ @import url('./TreeItem.base.css');
@@ -0,0 +1,74 @@
1
+ .sterling-tree-item-display {
2
+ align-content: center;
3
+ align-items: center;
4
+ background-color: transparent;
5
+ box-sizing: border-box;
6
+ color: var(--stsv-input__color);
7
+ display: grid;
8
+ grid-template-columns: auto 1fr;
9
+ column-gap: 0.25em;
10
+ margin: 0;
11
+ outline: none;
12
+ padding: 0.5em;
13
+ position: relative;
14
+ padding-left: calc(0.2em + (0.5em * var(--sterling-tree-item-depth)));
15
+ text-overflow: ellipsis;
16
+ transition: background-color 250ms, color 250ms, border-color 250ms;
17
+ white-space: nowrap;
18
+ }
19
+
20
+ .sterling-tree-item-display:not(.disabled):not(.selected):hover {
21
+ background-color: var(--stsv-button__background-color--hover);
22
+ color: var(--stsv-button__color--hover);
23
+ }
24
+
25
+ .sterling-tree-item-display.selected {
26
+ background-color: var(--stsv-button__background-color--active);
27
+ color: var(--stsv-button__color--active);
28
+ }
29
+
30
+ .sterling-tree-item-display.disabled {
31
+ cursor: not-allowed;
32
+ outline: none;
33
+ }
34
+
35
+ .sterling-tree-item-display::after {
36
+ background: repeating-linear-gradient(
37
+ var(--stsv-common--disabled__stripe-angle),
38
+ var(--stsv-common--disabled__stripe-color),
39
+ var(--stsv-common--disabled__stripe-color) var(--stsv-common--disabled__stripe-width),
40
+ var(--stsv-common--disabled__stripe-color--alt) var(--stsv-common--disabled__stripe-width),
41
+ var(--stsv-common--disabled__stripe-color--alt)
42
+ calc(2 * var(--stsv-common--disabled__stripe-width))
43
+ );
44
+ bottom: 0;
45
+ content: '';
46
+ left: 0;
47
+ opacity: 0;
48
+ pointer-events: none;
49
+ position: absolute;
50
+ right: 0;
51
+ top: 0;
52
+ transition: opacity 250ms;
53
+ }
54
+
55
+ .sterling-tree-item-display.disabled::after {
56
+ opacity: 1;
57
+ }
58
+
59
+ .sterling-tree-item-display.leaf {
60
+ border: none;
61
+ background: currentColor;
62
+ border-radius: 50%;
63
+ height: 0.5em;
64
+ width: 0.5em;
65
+ margin: 0.5;
66
+ transform-origin: 50% 50%;
67
+ }
68
+
69
+ @media (prefers-reduced-motion) {
70
+ .sterling-tree-item-display,
71
+ .sterling-tree-item-display::after {
72
+ transition: none;
73
+ }
74
+ }
@@ -0,0 +1,9 @@
1
+ .sterling-tree-item-display.colorful:not(.item-disabled):not(.selected):hover {
2
+ background-color: var(--stsv-button--colorful__background-color--hover);
3
+ color: var(--stsv-button--colorful__color--hover);
4
+ }
5
+
6
+ .sterling-tree-item-display.colorful.selected {
7
+ background-color: var(--stsv-button--colorful__background-color--active);
8
+ color: var(--stsv-button--colorful__color--active);
9
+ }
@@ -0,0 +1 @@
1
+ @import url('./TreeItemDisplay.base.css');
@@ -0,0 +1,134 @@
1
+ .dark-mode {
2
+ /* ----- common ----- */
3
+
4
+ --stsv-common__background-color: hsl(0, 0%, 15%);
5
+ --stsv-common__border-color: hsl(0, 0%, 92%);
6
+ --stsv-common__color: hsl(0, 0%, 100%);
7
+
8
+ --stsv-common__background-color--secondary: hsl(0, 0%, 20%);
9
+ --stsv-common__color--secondary: hsl(0, 0%, 60%);
10
+
11
+ --stsv-common__background-color--subtle: hsl(0, 0%, 15%);
12
+ --stsv-common__color--subtle: hsl(0, 0%, 45%);
13
+
14
+ --stsv-common__background-color--faint: hsl(0, 0%, 12%);
15
+ --stsv-common__color--faint: hsl(0, 0%, 30%);
16
+
17
+ --stsv-common__outline-color: hsl(0, 0%, 100%);
18
+ --stsv-common__outline-offset: 0;
19
+ --stsv-common__outline-style: solid;
20
+ --stsv-common__outline-width: 2px;
21
+
22
+ --stsv-common--disabled__stripe-color: hsla(0, 0%, 0%, 0.2);
23
+ --stsv-common--disabled__stripe-color--alt: hsla(0, 0%, 100%, 0.2);
24
+ --stsv-common--disabled__stripe-angle: 135deg;
25
+ --stsv-common--disabled__stripe-width: 3px;
26
+
27
+ --stsv-common__box-shadow: 2px 2px 4px 0px rgba(128, 128, 128, 0.7);
28
+ --stsv-common__box-shadow--inset: 1px 1px 2px rgba(128, 128, 128, 0.7);
29
+
30
+ /* ----- common, colorful ----- */
31
+
32
+ --stsv-common--colorful__background-color: hsl(204, 100%, 12%);
33
+ --stsv-common--colorful__border-color: hsl(204, 100%, 85%);
34
+ --stsv-common--colorful__color: hsl(204, 100%, 92%);
35
+
36
+ --stsv-common--colorful__background-color--secondary: hsl(204, 100%, 20%);
37
+ --stsv-common--colorful__color--secondary: hsl(204, 90%, 75%);
38
+
39
+ --stsv-common--colorful__background-color--subtle: hsl(204, 100%, 15%);
40
+ --stsv-common--colorful__color--subtle: hsl(204, 80%, 45%);
41
+
42
+ --stsv-common--colorful__background-color--faint: hsl(204, 100%, 12%);
43
+ --stsv-common--colorful__color--faint: hsl(204, 100%, 20%);
44
+
45
+ /* ----- button ----- */
46
+
47
+ --stsv-button__background-color: hsl(0, 0%, 30%);
48
+ --stsv-button__border-color: hsl(0, 0%, 92%);
49
+ --stsv-button__color: hsl(0, 0%, 100%);
50
+
51
+ --stsv-button__background-color--hover: hsl(0, 0%, 45%);
52
+ --stsv-button__border-color--hover: hsl(0, 0%, 96%);
53
+ --stsv-button__color--hover: hsl(0, 0%, 100%);
54
+
55
+ --stsv-button__background-color--focus: hsl(0, 0%, 45%);
56
+ --stsv-button__border-color--focus: hsl(0, 0%, 100%);
57
+ --stsv-button__color--focus: hsl(0, 0%, 100%);
58
+
59
+ --stsv-button__background-color--active: hsl(0, 0%, 60%);
60
+ --stsv-button__border-color--active: hsl(0, 0%, 98%);
61
+ --stsv-button__color--active: hsl(0, 0%, 98%);
62
+
63
+ /* ----- button, colorful ----- */
64
+
65
+ --stsv-button--colorful__background-color: hsl(204, 80%, 45%);
66
+ --stsv-button--colorful__border-color: hsl(204, 100%, 20%);
67
+ --stsv-button--colorful__color: hsl(204, 100%, 98%);
68
+
69
+ --stsv-button--colorful__background-color--hover: hsl(204, 80%, 60%);
70
+ --stsv-button--colorful__border-color--hover: hsl(204, 80%, 30%);
71
+ --stsv-button--colorful__color--hover: hsl(204, 100%, 98%);
72
+
73
+ --stsv-button--colorful__background-color--focus: hsl(204, 80%, 60%);
74
+ --stsv-button--colorful__border-color--focus: hsl(204, 80%, 30%);
75
+ --stsv-button--colorful__color--focus: hsl(204, 100%, 98%);
76
+
77
+ --stsv-button--colorful__background-color--active: hsl(204, 90%, 75%);
78
+ --stsv-button--colorful__border-color--active: hsl(204, 80%, 45%);
79
+ --stsv-button--colorful__color--active: hsl(204, 100%, 100%);
80
+
81
+ /* ----- input ----- */
82
+
83
+ --stsv-input__background-color: hsl(0, 0%, 30%);
84
+ --stsv-input__border-color: hsl(0, 0%, 92%);
85
+ --stsv-input__color: hsl(0, 0%, 100%);
86
+
87
+ --stsv-input__background-color--hover: hsl(0, 0%, 15%);
88
+ --stsv-input__border-color--hover: hsl(0, 0%, 96%);
89
+ --stsv-input__color--hover: hsl(0, 0%, 100%);
90
+
91
+ --stsv-input__background-color--focus: hsl(0, 0%, 15%);
92
+ --stsv-input__border-color--focus: hsl(0, 0%, 100%);
93
+ --stsv-input__color--focus: hsl(0, 0%, 100%);
94
+
95
+ --stsv-input__background-color--selected: hsl(0, 0%, 60%);
96
+ --stsv-input__border-color--selected: hsl(0, 0%, 98%);
97
+ --stsv-input__color--selected: hsl(0, 0%, 100%);
98
+
99
+ /* ----- input, colorful ----- */
100
+
101
+ --stsv-input--colorful__background-color: hsl(204, 80%, 30%);
102
+ --stsv-input--colorful__border-color: hsl(204, 100%, 92%);
103
+ --stsv-input--colorful__color: hsl(204, 100%, 100%);
104
+
105
+ --stsv-input--colorful__background-color--hover: hsl(204, 100%, 15%);
106
+ --stsv-input--colorful__border-color--hover: hsl(204, 100%, 96%);
107
+ --stsv-input--colorful__color--hover: hsl(204, 100%, 100%);
108
+
109
+ --stsv-input--colorful__background-color--focus: hsl(204, 100%, 15%);
110
+ --stsv-input--colorful__border-color--focus: hsl(204, 100%, 96%);
111
+ --stsv-input--colorful__color--focus: hsl(204, 100%, 100%);
112
+
113
+ --stsv-input--colorful__background-color--selected: hsl(204, 80%, 60%);
114
+ --stsv-input--colorful__border-color--selected: hsl(204, 100%, 98%);
115
+ --stsv-input--colorful__color--selected: hsl(204, 100%, 100%);
116
+
117
+ /* ----- status ----- */
118
+
119
+ --stsv-status--info__background-color: hsl(198, 100%, 10%);
120
+ --stsv-status--info__border-color: hsl(198, 100%, 40%);
121
+ --stsv-status--info__color: hsl(198, 80%, 50%);
122
+
123
+ --stsv-status--success__background-color: hsl(146, 100%, 10%);
124
+ --stsv-status--success__border-color: hsl(146, 100%, 30%);
125
+ --stsv-status--success__color: hsl(146, 100%, 40%);
126
+
127
+ --stsv-status--warning__background-color: hsl(39, 100%, 10%);
128
+ --stsv-status--warning__border-color: hsl(39, 100%, 45%);
129
+ --stsv-status--warning__color: hsl(39, 100%, 50%);
130
+
131
+ --stsv-status--danger__background-color: hsl(5, 100%, 10%);
132
+ --stsv-status--danger__border-color: hsl(5, 100%, 40%);
133
+ --stsv-status--danger__color: hsl(5, 100%, 50%);
134
+ }
@@ -0,0 +1,134 @@
1
+ .light-mode {
2
+ /* ----- common ----- */
3
+
4
+ --stsv-common__background-color: hsl(0, 0%, 100%);
5
+ --stsv-common__border-color: hsl(0, 0%, 45%);
6
+ --stsv-common__color: hsl(0, 0%, 15%);
7
+
8
+ --stsv-common__background-color--secondary: hsl(0, 0%, 92%);
9
+ --stsv-common__color--secondary: hsl(0, 0%, 45%);
10
+
11
+ --stsv-common__background-color--subtle: hsl(0, 0%, 96%);
12
+ --stsv-common__color--subtle: hsl(0, 0%, 75%);
13
+
14
+ --stsv-common__background-color--faint: hsl(0, 0%, 98%);
15
+ --stsv-common__color--faint: hsl(0, 0%, 92%);
16
+
17
+ --stsv-common__outline-color: hsl(0, 0%, 15%);
18
+ --stsv-common__outline-offset: 0;
19
+ --stsv-common__outline-style: solid;
20
+ --stsv-common__outline-width: 2px;
21
+
22
+ --stsv-common--disabled__stripe-color: hsla(0, 0%, 0%, 0.2);
23
+ --stsv-common--disabled__stripe-color--alt: hsla(0, 0%, 100%, 0.2);
24
+ --stsv-common--disabled__stripe-angle: 135deg;
25
+ --stsv-common--disabled__stripe-width: 3px;
26
+
27
+ --stsv-common__box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.4);
28
+ --stsv-common__box-shadow--inset: inset 1px 1px 2px 0px hsl(0, 0%, 45%);
29
+
30
+ /* ----- common, colorful ----- */
31
+
32
+ --stsv-common--colorful__background-color: hsl(204, 100%, 100%);
33
+ --stsv-common--colorful__border-color: hsl(204, 80%, 30%);
34
+ --stsv-common--colorful__color: hsl(204, 100%, 20%);
35
+
36
+ --stsv-common--colorful__background-color--secondary: hsl(204, 100%, 92%);
37
+ --stsv-common--colorful__color--secondary: hsl(204, 80%, 60%);
38
+
39
+ --stsv-common--colorful__background-color--subtle: hsl(204, 100%, 96%);
40
+ --stsv-common--colorful__color--subtle: hsl(204, 100%, 85%);
41
+
42
+ --stsv-common--colorful__background-color--faint: hsl(204, 100%, 98%);
43
+ --stsv-common--colorful__color--faint: hsl(204, 100%, 92%);
44
+
45
+ /* ----- button ----- */
46
+
47
+ --stsv-button__background-color: hsl(0, 0%, 96%);
48
+ --stsv-button__border-color: hsl(0, 0%, 45%);
49
+ --stsv-button__color: hsl(0, 0%, 15%);
50
+
51
+ --stsv-button__background-color--hover: hsl(0, 0%, 92%);
52
+ --stsv-button__border-color--hover: hsl(0, 0%, 30%);
53
+ --stsv-button__color--hover: hsl(0, 0%, 15%);
54
+
55
+ --stsv-button__background-color--focus: hsl(0, 0%, 92%);
56
+ --stsv-button__border-color--focus: hsl(0, 0%, 30%);
57
+ --stsv-button__color--focus: hsl(0, 0%, 15%);
58
+
59
+ --stsv-button__background-color--active: hsl(0, 0%, 85%);
60
+ --stsv-button__border-color--active: hsl(0, 0%, 20%);
61
+ --stsv-button__color--active: hsl(0, 0%, 12%);
62
+
63
+ /* ----- button, colorful ----- */
64
+
65
+ --stsv-button--colorful__background-color: hsl(204, 80%, 60%);
66
+ --stsv-button--colorful__border-color: hsl(204, 80%, 30%);
67
+ --stsv-button--colorful__color: hsl(204, 100%, 98%);
68
+
69
+ --stsv-button--colorful__background-color--hover: hsl(204, 90%, 75%);
70
+ --stsv-button--colorful__border-color--hover: hsl(204, 80%, 45%);
71
+ --stsv-button--colorful__color--hover: hsl(204, 100%, 98%);
72
+
73
+ --stsv-button--colorful__background-color--focus: hsl(204, 90%, 75%);
74
+ --stsv-button--colorful__border-color--focus: hsl(204, 80%, 45%);
75
+ --stsv-button--colorful__color--focus: hsl(204, 100%, 98%);
76
+
77
+ --stsv-button--colorful__background-color--active: hsl(204, 80%, 45%);
78
+ --stsv-button--colorful__border-color--active: hsl(204, 100%, 20%);
79
+ --stsv-button--colorful__color--active: hsl(204, 100%, 100%);
80
+
81
+ /* ----- input ----- */
82
+
83
+ --stsv-input__background-color: hsl(0, 0%, 98%);
84
+ --stsv-input__border-color: hsl(0, 0%, 60%);
85
+ --stsv-input__color: hsl(0, 0%, 15%);
86
+
87
+ --stsv-input__background-color--hover: hsl(0, 0%, 96%);
88
+ --stsv-input__border-color--hover: hsl(0, 0%, 30%);
89
+ --stsv-input__color--hover: hsl(0, 0%, 15%);
90
+
91
+ --stsv-input__background-color--focus: hsl(0, 0%, 92%);
92
+ --stsv-input__border-color--focus: hsl(0, 0%, 15%);
93
+ --stsv-input__color--focus: hsl(0, 0%, 15%);
94
+
95
+ --stsv-input__background-color--selected: hsl(0, 0%, 85%);
96
+ --stsv-input__border-color--selected: hsl(0, 0%, 15%);
97
+ --stsv-input__color--selected: hsl(0, 0%, 15%);
98
+
99
+ /* ----- input, colorful ----- */
100
+
101
+ --stsv-input--colorful__background-color: hsl(204, 100%, 98%);
102
+ --stsv-input--colorful__border-color: hsl(204, 80%, 30%);
103
+ --stsv-input--colorful__color: hsl(204, 100%, 15%);
104
+
105
+ --stsv-input--colorful__background-color--hover: hsl(204, 100%, 96%);
106
+ --stsv-input--colorful__border-color--hover: hsl(204, 80%, 45%);
107
+ --stsv-input--colorful__color--hover: hsl(204, 100%, 15%);
108
+
109
+ --stsv-input--colorful__background-color--focus: hsl(204, 100%, 92%);
110
+ --stsv-input--colorful__border-color--focus: hsl(204, 80%, 45%);
111
+ --stsv-input--colorful__color--focus: hsl(204, 100%, 15%);
112
+
113
+ --stsv-input--colorful__background-color--selected: hsl(204, 100%, 85%);
114
+ --stsv-input--colorful__border-color--selected: hsl(204, 100%, 20%);
115
+ --stsv-input--colorful__color--selected: hsl(204, 100%, 15%);
116
+
117
+ /* ----- status ----- */
118
+
119
+ --stsv-status--info__background-color: hsl(198, 100%, 90%);
120
+ --stsv-status--info__border-color: hsl(198, 100%, 40%);
121
+ --stsv-status--info__color: hsl(198, 100%, 40%);
122
+
123
+ --stsv-status--success__background-color: hsl(146, 100%, 90%);
124
+ --stsv-status--success__border-color: hsl(146, 100%, 30%);
125
+ --stsv-status--success__color: hsl(146, 80%, 25%);
126
+
127
+ --stsv-status--warning__background-color: hsl(39, 100%, 80%);
128
+ --stsv-status--warning__border-color: hsl(39, 100%, 45%);
129
+ --stsv-status--warning__color: hsl(39, 100%, 25%);
130
+
131
+ --stsv-status--danger__background-color: hsl(5, 100%, 90%);
132
+ --stsv-status--danger__border-color: hsl(5, 100%, 40%);
133
+ --stsv-status--danger__color: hsl(5, 80%, 40%);
134
+ }