@oscarpalmer/oui 0.38.0 → 0.40.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 (264) hide show
  1. package/README.md +1 -1
  2. package/dist/css/badge.css +11 -8
  3. package/dist/css/button.css +106 -14
  4. package/dist/css/color-picker.css +555 -73
  5. package/dist/css/color.css +86 -86
  6. package/dist/css/combobox.css +98 -4
  7. package/dist/css/content.css +7 -6
  8. package/dist/css/floatable.css +1 -3
  9. package/dist/css/form.css +99 -6
  10. package/dist/css/icon.css +99 -0
  11. package/dist/css/listbox.css +3 -0
  12. package/dist/css/message.css +4 -3
  13. package/dist/css/mixins/button.mixins.css +1 -0
  14. package/dist/css/reset.css +1 -1
  15. package/dist/css/tabs.css +95 -3
  16. package/dist/css/typography.css +90 -0
  17. package/dist/js/color-picker/color-picker.constants.d.mts +2 -0
  18. package/dist/js/color-picker/color-picker.constants.mjs +60 -0
  19. package/dist/js/color-picker/color-picker.dom.d.mts +8 -0
  20. package/dist/js/color-picker/color-picker.dom.mjs +191 -0
  21. package/dist/js/color-picker/color-picker.event.d.mts +9 -0
  22. package/dist/js/color-picker/color-picker.event.mjs +2 -0
  23. package/dist/js/color-picker/color-picker.form.d.mts +5 -0
  24. package/dist/js/color-picker/color-picker.form.mjs +27 -0
  25. package/dist/js/color-picker/color-picker.misc.d.mts +2 -0
  26. package/dist/js/color-picker/color-picker.misc.mjs +2 -0
  27. package/dist/js/color-picker/color-picker.model.d.mts +2 -0
  28. package/dist/js/color-picker/color-picker.model.mjs +24 -0
  29. package/dist/js/color-picker/color-picker.output.d.mts +8 -0
  30. package/dist/js/color-picker/color-picker.output.mjs +235 -0
  31. package/dist/js/color-picker/color-picker.state.d.mts +8 -0
  32. package/dist/js/color-picker/color-picker.state.mjs +2 -0
  33. package/dist/js/{color-picker.d.mts → color-picker/index.d.mts} +10 -43
  34. package/dist/js/color-picker/index.mjs +305 -0
  35. package/dist/js/color-picker.constants-D1mxw_Le.d.mts +179 -0
  36. package/dist/js/color-picker.event-Cksj5TvS.mjs +500 -0
  37. package/dist/js/color-picker.misc-CtsXGrOe.d.mts +27 -0
  38. package/dist/js/combobox/combobox.constants.d.mts +2 -0
  39. package/dist/js/combobox/{constants.combobox.mjs → combobox.constants.mjs} +21 -21
  40. package/dist/js/combobox/combobox.dom.d.mts +26 -0
  41. package/dist/js/combobox/{dom.combobox.mjs → combobox.dom.mjs} +44 -37
  42. package/dist/js/combobox/combobox.event.d.mts +22 -0
  43. package/dist/js/combobox/{event.combobox.mjs → combobox.event.mjs} +1 -1
  44. package/dist/js/combobox/combobox.misc.d.mts +2 -0
  45. package/dist/js/combobox/{misc.combobox.mjs → combobox.misc.mjs} +1 -1
  46. package/dist/js/combobox/combobox.model.d.mts +2 -0
  47. package/dist/js/combobox/combobox.state.d.mts +10 -0
  48. package/dist/js/combobox/combobox.state.mjs +2 -0
  49. package/dist/js/combobox/index.d.mts +163 -2
  50. package/dist/js/combobox/index.mjs +53 -52
  51. package/dist/js/combobox.constants-DZVkMP5g.d.mts +19 -0
  52. package/dist/js/combobox.misc-C1tPZZDi.d.mts +22 -0
  53. package/dist/js/{combobox/models.combobox.d.mts → combobox.model-oDV06XCN.d.mts} +6 -6
  54. package/dist/js/{state.combobox-Qm3FWzYW.mjs → combobox.state-BfJ3Hxg8.mjs} +96 -82
  55. package/dist/js/constants.listbox-C5Ap6Ag_.d.mts +9 -0
  56. package/dist/js/dialog/dialog.model.d.mts +2 -0
  57. package/dist/js/dialog/dialog.model.mjs +11 -0
  58. package/dist/js/dialog/index.d.mts +12 -0
  59. package/dist/js/dialog/index.mjs +123 -0
  60. package/dist/js/dialog.model-DX2mndMh.d.mts +45 -0
  61. package/dist/js/floatable/floatable.embedded.d.mts +2 -2
  62. package/dist/js/floatable/floatable.embedded.mjs +64 -92
  63. package/dist/js/floatable/floatable.model.d.mts +2 -0
  64. package/dist/js/floatable/floatable.model.mjs +23 -0
  65. package/dist/js/floatable/floatable.standalone.d.mts +2 -1
  66. package/dist/js/floatable.embedded-MeTyXjFn.d.mts +17 -0
  67. package/dist/js/floatable.model-DXsQgoU7.d.mts +62 -0
  68. package/dist/js/focus-trap/focus-trap.embedded.d.mts +2 -2
  69. package/dist/js/focus-trap/focus-trap.embedded.mjs +112 -134
  70. package/dist/js/focus-trap/focus-trap.model.d.mts +2 -0
  71. package/dist/js/focus-trap/focus-trap.model.mjs +15 -0
  72. package/dist/js/focus-trap/focus-trap.standalone.d.mts +2 -1
  73. package/dist/js/focus-trap.embedded-DIU05m1z.d.mts +13 -0
  74. package/dist/js/{focus-trap.embedded-DR8NpZfr.d.mts → focus-trap.model-BeX6UYlw.d.mts} +16 -18
  75. package/dist/js/index.d.mts +26 -14
  76. package/dist/js/index.mjs +18 -15
  77. package/dist/js/internal/attributable.d.mts +2 -3
  78. package/dist/js/internal/attributable.mjs +3 -2
  79. package/dist/js/internal/draggable/draggable.model.d.mts +2 -0
  80. package/dist/js/internal/draggable/draggable.model.mjs +37 -0
  81. package/dist/js/internal/draggable/index.d.mts +13 -0
  82. package/dist/js/internal/{draggable.mjs → draggable/index.mjs} +83 -114
  83. package/dist/js/internal/listbox/listbox.constants.d.mts +7 -10
  84. package/dist/js/internal/listbox/listbox.constants.mjs +15 -16
  85. package/dist/js/internal/listbox/listbox.data.d.mts +9 -10
  86. package/dist/js/internal/listbox/listbox.data.mjs +1 -1
  87. package/dist/js/internal/listbox/listbox.dom.d.mts +19 -20
  88. package/dist/js/internal/listbox/listbox.dom.mjs +1 -1
  89. package/dist/js/internal/listbox/listbox.event.d.mts +3 -4
  90. package/dist/js/internal/listbox/listbox.event.mjs +23 -20
  91. package/dist/js/internal/listbox/listbox.form.d.mts +4 -5
  92. package/dist/js/internal/listbox/listbox.form.mjs +15 -12
  93. package/dist/js/internal/listbox/listbox.misc.d.mts +10 -11
  94. package/dist/js/internal/listbox/listbox.misc.mjs +1 -1
  95. package/dist/js/internal/listbox/listbox.model.d.mts +2 -2
  96. package/dist/js/internal/listbox/listbox.state.d.mts +5 -6
  97. package/dist/js/internal/listbox/listbox.state.mjs +19 -20
  98. package/dist/js/internal/misc.d.mts +5 -4
  99. package/dist/js/internal/misc.mjs +7 -1
  100. package/dist/js/internal/navigable/index.d.mts +6 -0
  101. package/dist/js/internal/navigable/index.mjs +125 -0
  102. package/dist/js/internal/navigable/navigable.model.d.mts +2 -0
  103. package/dist/js/internal/navigable/navigable.model.mjs +18 -0
  104. package/dist/js/l10n/index.d.mts +9 -0
  105. package/dist/js/{l10n.mjs → l10n/index.mjs} +50 -23
  106. package/dist/js/l10n/l10n.model.d.mts +2 -0
  107. package/dist/js/l10n/l10n.model.mjs +9 -0
  108. package/dist/js/l10n.model-D6a9frgl.d.mts +26 -0
  109. package/dist/js/listbox/constants.listbox.d.mts +2 -2
  110. package/dist/js/listbox/constants.listbox.mjs +10 -14
  111. package/dist/js/listbox/event.listbox.d.mts +6 -7
  112. package/dist/js/listbox/event.listbox.mjs +47 -1
  113. package/dist/js/listbox/index.d.mts +8 -6
  114. package/dist/js/listbox/index.mjs +47 -49
  115. package/dist/js/listbox/misc.listbox.d.mts +1 -1
  116. package/dist/js/listbox/misc.listbox.mjs +1 -1
  117. package/dist/js/listbox/state.listbox.d.mts +8 -10
  118. package/dist/js/listbox/state.listbox.mjs +2 -2
  119. package/dist/js/{listbox.data-C7CRa5Ya.mjs → listbox.data-BQyZGKgr.mjs} +83 -66
  120. package/dist/js/{listbox.model-CRReGOmu.d.mts → listbox.model-CuBOj4qe.d.mts} +15 -11
  121. package/dist/js/menu/index.mjs +167 -0
  122. package/dist/js/menu/menu.model.d.mts +33 -0
  123. package/dist/js/menu/menu.model.mjs +15 -0
  124. package/dist/js/{misc.listbox-Cyz2CRDy.mjs → misc.listbox-CjfBUbHD.mjs} +27 -69
  125. package/dist/js/{misc.listbox-gnoJhrTr.d.mts → misc.listbox-CtoGvXQo.d.mts} +2 -2
  126. package/dist/js/movable/movable.embedded.d.mts +2 -2
  127. package/dist/js/movable/movable.embedded.mjs +60 -72
  128. package/dist/js/movable/movable.model.d.mts +2 -0
  129. package/dist/js/movable/movable.model.mjs +12 -0
  130. package/dist/js/movable/movable.standalone.d.mts +2 -1
  131. package/dist/js/movable.embedded-DoyXLegc.d.mts +11 -0
  132. package/dist/js/movable.model-BHaK_mKw.d.mts +186 -0
  133. package/dist/js/navigable.model-BPOM8DZk.d.mts +44 -0
  134. package/dist/js/popover/index.d.mts +12 -0
  135. package/dist/js/{popover.mjs → popover/index.mjs} +40 -50
  136. package/dist/js/popover/popover.model.d.mts +2 -0
  137. package/dist/js/popover/popover.model.mjs +12 -0
  138. package/dist/js/popover.model-ubKNG612.d.mts +38 -0
  139. package/dist/js/resizable/resizable.embedded.d.mts +2 -2
  140. package/dist/js/resizable/resizable.embedded.mjs +44 -59
  141. package/dist/js/resizable/resizable.model.d.mts +2 -0
  142. package/dist/js/resizable/resizable.model.mjs +21 -0
  143. package/dist/js/resizable/resizable.standalone.d.mts +2 -1
  144. package/dist/js/resizable.embedded-Bf1qBUdt.d.mts +11 -0
  145. package/dist/js/resizable.model-BwzJcTVJ.d.mts +46 -0
  146. package/dist/js/sortable/sortable.embedded.d.mts +2 -2
  147. package/dist/js/sortable/sortable.embedded.mjs +69 -82
  148. package/dist/js/sortable/sortable.model.d.mts +2 -0
  149. package/dist/js/sortable/sortable.model.mjs +24 -0
  150. package/dist/js/sortable/sortable.standalone.d.mts +2 -1
  151. package/dist/js/sortable.embedded-DzBKAwSG.d.mts +11 -0
  152. package/dist/js/{splitter.d.mts → splitter/index.d.mts} +8 -7
  153. package/dist/js/splitter/index.mjs +284 -0
  154. package/dist/js/splitter/splitter.model.d.mts +2 -0
  155. package/dist/js/splitter/splitter.model.mjs +37 -0
  156. package/dist/js/splitter.model-DOLNjLVS.d.mts +57 -0
  157. package/dist/js/{tabs.d.mts → tabs/index.d.mts} +7 -8
  158. package/dist/js/{tabs.mjs → tabs/index.mjs} +58 -58
  159. package/dist/js/tabs/tabs.model.d.mts +2 -0
  160. package/dist/js/tabs/tabs.model.mjs +18 -0
  161. package/dist/js/tabs.model-DRBX_JtI.d.mts +40 -0
  162. package/dist/js/toolbar/index.mjs +27 -0
  163. package/dist/js/toolbar/toolbar.model.d.mts +11 -0
  164. package/dist/js/toolbar/toolbar.model.mjs +7 -0
  165. package/dist/js/tooltip/index.d.mts +19 -0
  166. package/dist/js/{tooltip.mjs → tooltip/index.mjs} +60 -85
  167. package/dist/js/tooltip/tooltip.model.d.mts +2 -0
  168. package/dist/js/tooltip/tooltip.model.mjs +15 -0
  169. package/dist/js/tooltip.model-DRkY_BsL.d.mts +37 -0
  170. package/package.json +43 -37
  171. package/dist/js/color-picker.mjs +0 -924
  172. package/dist/js/combobox/constants.combobox.d.mts +0 -2
  173. package/dist/js/combobox/dom.combobox.d.mts +0 -27
  174. package/dist/js/combobox/event.combobox.d.mts +0 -23
  175. package/dist/js/combobox/misc.combobox.d.mts +0 -2
  176. package/dist/js/combobox/state.combobox.d.mts +0 -12
  177. package/dist/js/combobox/state.combobox.mjs +0 -2
  178. package/dist/js/constants.combobox-DmRAMC64.d.mts +0 -26
  179. package/dist/js/constants.listbox-DRsXUxd3.d.mts +0 -14
  180. package/dist/js/dialog.d.mts +0 -47
  181. package/dist/js/dialog.mjs +0 -131
  182. package/dist/js/draggable-a6w0J1OD.d.mts +0 -154
  183. package/dist/js/floatable.embedded-Bct4U5Dm.d.mts +0 -69
  184. package/dist/js/index-DJdFlTLm.d.mts +0 -177
  185. package/dist/js/internal/draggable.d.mts +0 -2
  186. package/dist/js/internal/navigable.d.mts +0 -37
  187. package/dist/js/internal/navigable.mjs +0 -135
  188. package/dist/js/l10n-Bn-7RcwR.d.mts +0 -20
  189. package/dist/js/l10n.d.mts +0 -2
  190. package/dist/js/menu.mjs +0 -172
  191. package/dist/js/popover.d.mts +0 -38
  192. package/dist/js/resizable.embedded-3qoR0Bjm.d.mts +0 -34
  193. package/dist/js/splitter.mjs +0 -322
  194. package/dist/js/toolbar.mjs +0 -31
  195. package/dist/js/tooltip.d.mts +0 -45
  196. package/src/css/a11y.scss +0 -13
  197. package/src/css/badge.scss +0 -62
  198. package/src/css/button.scss +0 -50
  199. package/src/css/color-picker.scss +0 -344
  200. package/src/css/color.scss +0 -113
  201. package/src/css/combobox.scss +0 -255
  202. package/src/css/content.scss +0 -181
  203. package/src/css/flex.scss +0 -107
  204. package/src/css/floatable.scss +0 -155
  205. package/src/css/form.scss +0 -575
  206. package/src/css/listbox.scss +0 -121
  207. package/src/css/message.scss +0 -74
  208. package/src/css/mixins/badge.mixins.scss +0 -53
  209. package/src/css/mixins/button.mixins.scss +0 -112
  210. package/src/css/mixins/input.mixins.scss +0 -114
  211. package/src/css/mixins/message.mixins.scss +0 -41
  212. package/src/css/mixins/misc.mixins.scss +0 -48
  213. package/src/css/mixins/shadow.mixins.scss +0 -57
  214. package/src/css/reset.scss +0 -392
  215. package/src/css/splitter.scss +0 -89
  216. package/src/css/table.scss +0 -107
  217. package/src/css/tabs.scss +0 -74
  218. package/src/js/color-picker.ts +0 -1653
  219. package/src/js/combobox/constants.combobox.ts +0 -83
  220. package/src/js/combobox/dom.combobox.ts +0 -411
  221. package/src/js/combobox/event.combobox.ts +0 -365
  222. package/src/js/combobox/index.ts +0 -382
  223. package/src/js/combobox/misc.combobox.ts +0 -104
  224. package/src/js/combobox/models.combobox.ts +0 -54
  225. package/src/js/combobox/state.combobox.ts +0 -246
  226. package/src/js/dialog.ts +0 -255
  227. package/src/js/floatable/floatable.embedded.ts +0 -336
  228. package/src/js/floatable/floatable.standalone.ts +0 -6
  229. package/src/js/focus-trap/focus-trap.embedded.ts +0 -411
  230. package/src/js/focus-trap/focus-trap.standalone.ts +0 -1
  231. package/src/js/index.ts +0 -16
  232. package/src/js/internal/attributable.ts +0 -73
  233. package/src/js/internal/draggable.ts +0 -657
  234. package/src/js/internal/listbox/listbox.constants.ts +0 -25
  235. package/src/js/internal/listbox/listbox.data.ts +0 -287
  236. package/src/js/internal/listbox/listbox.dom.ts +0 -446
  237. package/src/js/internal/listbox/listbox.event.ts +0 -129
  238. package/src/js/internal/listbox/listbox.form.ts +0 -125
  239. package/src/js/internal/listbox/listbox.misc.ts +0 -135
  240. package/src/js/internal/listbox/listbox.model.ts +0 -169
  241. package/src/js/internal/listbox/listbox.state.ts +0 -82
  242. package/src/js/internal/misc.ts +0 -27
  243. package/src/js/internal/navigable.ts +0 -317
  244. package/src/js/l10n.ts +0 -192
  245. package/src/js/listbox/constants.listbox.ts +0 -61
  246. package/src/js/listbox/event.listbox.ts +0 -106
  247. package/src/js/listbox/index.ts +0 -364
  248. package/src/js/listbox/misc.listbox.ts +0 -70
  249. package/src/js/listbox/state.listbox.ts +0 -194
  250. package/src/js/menu.ts +0 -348
  251. package/src/js/movable/movable.embedded.ts +0 -318
  252. package/src/js/movable/movable.standalone.ts +0 -2
  253. package/src/js/popover.ts +0 -229
  254. package/src/js/resizable/resizable.embedded.ts +0 -413
  255. package/src/js/resizable/resizable.standalone.ts +0 -5
  256. package/src/js/sortable/sortable.embedded.ts +0 -527
  257. package/src/js/sortable/sortable.standalone.ts +0 -2
  258. package/src/js/splitter.ts +0 -583
  259. package/src/js/tabs.ts +0 -441
  260. package/src/js/toolbar.ts +0 -63
  261. package/src/js/tooltip.ts +0 -367
  262. /package/dist/js/combobox/{models.combobox.mjs → combobox.model.mjs} +0 -0
  263. /package/dist/js/{menu.d.mts → menu/index.d.mts} +0 -0
  264. /package/dist/js/{toolbar.d.mts → toolbar/index.d.mts} +0 -0
@@ -1,74 +0,0 @@
1
- /*! https://github.com/oscarpalmer/oui */
2
-
3
- @use './mixins/message.mixins.scss' as messageMixins;
4
- @use './mixins/misc.mixins.scss' as miscMixins;
5
-
6
- .oui-message {
7
- :where(&) {
8
- --oui-background: var(--oui-gray-1);
9
- --oui-border: var(--oui-gray-2);
10
- --oui-foreground: var(--oui-gray-8);
11
- --oui-shadow-mixed: color-mix(
12
- in oklab,
13
- var(--oui-shadow-value, var(--oui-gray-6)),
14
- transparent 92.5%
15
- );
16
-
17
- @include miscMixins.card(
18
- color-mix(in oklab, var(--oui-background), transparent 25%),
19
- var(--oui-shadow-mixed)
20
- );
21
-
22
- max-width: fit-content;
23
- display: inline-flex;
24
- flex-flow: column nowrap;
25
- gap: 1em;
26
- color: var(--oui-foreground);
27
- line-height: 1.25;
28
- }
29
-
30
- :where(& h2, & h3, & h4, & h5, & h6) {
31
- color: var(--oui-foreground);
32
- font-size: 1em;
33
- font-weight: bold;
34
- }
35
-
36
- :where(& hr) {
37
- height: 1px;
38
- margin: 0 -1.25em;
39
- background-color: var(--oui-border);
40
- border: none;
41
- }
42
-
43
- :where(& p) {
44
- max-width: 32rem;
45
- max-width: 64ch;
46
- display: inline-flex;
47
- flex-flow: row wrap;
48
- gap: 1em;
49
- }
50
-
51
- :where(&--blue, &--info) {
52
- @include messageMixins.message-blue;
53
- }
54
-
55
- :where(&--green, &--success) {
56
- @include messageMixins.message-green;
57
- }
58
-
59
- :where(&--orange, &--warning) {
60
- @include messageMixins.message-orange;
61
- }
62
-
63
- :where(&--purple, &--special) {
64
- @include messageMixins.message-purple;
65
- }
66
-
67
- :where(&--red, &--error) {
68
- @include messageMixins.message-red;
69
- }
70
-
71
- :where(&--yellow, &--notice) {
72
- @include messageMixins.message-yellow;
73
- }
74
- }
@@ -1,53 +0,0 @@
1
- @use './shadow.mixins.scss' as shadowMixins;
2
-
3
- @mixin badge() {
4
- --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 50%);
5
- --oui-shadow-value: var(--oui-gray-6);
6
- --oui-shadow-mixed: color-mix(in oklab, var(--oui-shadow-value), transparent 87.5%);
7
-
8
- @include shadowMixins.shadow-1(var(--oui-shadow-mixed), var(--oui-shadow-inset));
9
-
10
- display: inline-flex;
11
- flex-flow: row nowrap;
12
- gap: 0.5em;
13
- background-color: color-mix(in oklab, var(--oui-background, var(--oui-gray-1)), transparent 25%);
14
- color: var(--oui-foreground, var(--oui-gray-8));
15
- text-shadow: 0 1px 0 var(--oui-absolute);
16
- line-height: 1.25;
17
- }
18
-
19
- @mixin badge-blue() {
20
- --oui-background: var(--oui-blue-1);
21
- --oui-foreground: var(--oui-blue-8);
22
- --oui-shadow-value: var(--oui-blue-6);
23
- }
24
-
25
- @mixin badge-green() {
26
- --oui-background: var(--oui-green-1);
27
- --oui-foreground: var(--oui-green-8);
28
- --oui-shadow-value: var(--oui-green-6);
29
- }
30
-
31
- @mixin badge-orange() {
32
- --oui-background: var(--oui-orange-1);
33
- --oui-foreground: var(--oui-orange-8);
34
- --oui-shadow-value: var(--oui-orange-6);
35
- }
36
-
37
- @mixin badge-purple() {
38
- --oui-background: var(--oui-purple-1);
39
- --oui-foreground: var(--oui-purple-8);
40
- --oui-shadow-value: var(--oui-purple-6);
41
- }
42
-
43
- @mixin badge-red() {
44
- --oui-background: var(--oui-red-1);
45
- --oui-foreground: var(--oui-red-8);
46
- --oui-shadow-value: var(--oui-red-6);
47
- }
48
-
49
- @mixin badge-yellow() {
50
- --oui-background: var(--oui-yellow-1);
51
- --oui-foreground: var(--oui-yellow-8);
52
- --oui-shadow-value: var(--oui-yellow-6);
53
- }
@@ -1,112 +0,0 @@
1
- @use './shadow.mixins.scss' as shadowMixins;
2
-
3
- @mixin button() {
4
- --oui-background-percentage: 25%;
5
- --oui-background-value: var(--oui-gray-2);
6
- --oui-foreground-percentage: 0%;
7
- --oui-foreground-value: var(--oui-gray-8);
8
- --oui-outline-percentage: 100%;
9
- --oui-outline-value: var(--oui-gray-6);
10
- --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 75%);
11
- --oui-shadow-percentage: 82.5%;
12
-
13
- --oui-shadow-value: color-mix(
14
- in oklab,
15
- var(--oui-outline-value),
16
- transparent var(--oui-shadow-percentage)
17
- );
18
-
19
- @include shadowMixins.shadow-2(var(--oui-shadow-value), var(--oui-shadow-inset));
20
-
21
- padding: 0.5em 0.75em;
22
- display: inline-flex;
23
- flex-flow: row wrap;
24
- gap: 0.75em;
25
- align-items: center;
26
- border-radius: 0.25em;
27
- background-color: color-mix(
28
- in oklab,
29
- var(--oui-background-value),
30
- transparent var(--oui-background-percentage)
31
- );
32
- outline: 4px solid
33
- color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
34
- border: none;
35
- color: color-mix(
36
- in oklab,
37
- var(--oui-foreground-value),
38
- transparent var(--oui-foreground-percentage)
39
- );
40
- line-height: 1.25;
41
- transition: 0.125s ease-in-out;
42
- transition-property: background, outline, box-shadow, color;
43
-
44
- &:focus-visible {
45
- --oui-outline-percentage: 75%;
46
- }
47
-
48
- @media (hover: hover) {
49
- &:not([disabled], [aria-disabled='true' i]):hover {
50
- --oui-background-percentage: 50%;
51
- --oui-foreground-percentage: 25%;
52
- --oui-shadow-percentage: 90%;
53
- }
54
- }
55
-
56
- &:not([disabled], [aria-disabled='true' i]):active {
57
- box-shadow:
58
- 0 0 0 1px var(--oui-shadow-value),
59
- inset 0 1px 2px 0 var(--oui-shadow-value),
60
- inset 0 2px 4px 0 var(--oui-shadow-value);
61
- scale: 0.95;
62
-
63
- &[aria-pressed='true' i], &[aria-selected='true' i] {
64
- scale: 1;
65
- }
66
- }
67
-
68
- &[disabled],
69
- &[aria-disabled='true' i] {
70
- --oui-background-percentage: 80%;
71
- --oui-foreground-percentage: 25%;
72
- --oui-shadow-percentage: 92.5%;
73
-
74
- font-style: italic;
75
- }
76
- }
77
-
78
- @mixin button-blue() {
79
- --oui-background-value: var(--oui-blue-3);
80
- --oui-foreground-value: var(--oui-blue-8);
81
- --oui-outline-value: var(--oui-blue-6);
82
- }
83
-
84
- @mixin button-green() {
85
- --oui-background-value: var(--oui-green-3);
86
- --oui-foreground-value: var(--oui-green-8);
87
- --oui-outline-value: var(--oui-green-6);
88
- }
89
-
90
- @mixin button-orange() {
91
- --oui-background-value: var(--oui-orange-3);
92
- --oui-foreground-value: var(--oui-orange-8);
93
- --oui-outline-value: var(--oui-orange-6);
94
- }
95
-
96
- @mixin button-purple() {
97
- --oui-background-value: var(--oui-purple-3);
98
- --oui-foreground-value: var(--oui-purple-8);
99
- --oui-outline-value: var(--oui-purple-6);
100
- }
101
-
102
- @mixin button-red() {
103
- --oui-background-value: var(--oui-red-3);
104
- --oui-foreground-value: var(--oui-red-8);
105
- --oui-outline-value: var(--oui-red-6);
106
- }
107
-
108
- @mixin button-yellow() {
109
- --oui-background-value: var(--oui-yellow-3);
110
- --oui-foreground-value: var(--oui-yellow-8);
111
- --oui-outline-value: var(--oui-yellow-6);
112
- }
@@ -1,114 +0,0 @@
1
- @mixin input {
2
- @include input-outlined;
3
-
4
- --oui-background-percentage: 0%;
5
- --oui-foreground-percentage: 0%;
6
-
7
- align-content: center;
8
- background-color: color-mix(
9
- in oklab,
10
- var(--oui-background-value),
11
- transparent var(--oui-background-percentage)
12
- );
13
- border: 1px solid var(--oui-border-value, var(--oui-gray-3));
14
- box-shadow: inset 0 2px 4px -1px var(--oui-gray-3);
15
- color: color-mix(
16
- in oklab,
17
- var(--oui-foreground-value, inherit),
18
- transparent var(--oui-foreground-percentage)
19
- );
20
- -webkit-text-fill-color: color-mix(
21
- in oklab,
22
- var(--oui-foreground-value, inherit),
23
- transparent var(--oui-foreground-percentage)
24
- );
25
- transition: 0.125s ease-in-out;
26
- transition-property: background, outline, border, box-shadow, color;
27
-
28
- &.oui-validate:not(
29
- [disabled],
30
- [readonly],
31
- [aria-disabled='true' i],
32
- [aria-readonly='true' i],
33
- :focus-visible,
34
- :focus-within
35
- ):is(:user-invalid:not([aria-invalid='false' i]), [aria-invalid='true' i]) {
36
- @include input-invalid;
37
- }
38
-
39
- &.oui-validate:not(
40
- [disabled],
41
- [readonly],
42
- [aria-disabled='true' i],
43
- [aria-readonly='true' i],
44
- :focus-visible,
45
- :focus-within
46
- ):is(:user-valid:not([aria-invalid='true' i]), [aria-invalid='false' i]) {
47
- @include input-valid;
48
- }
49
-
50
- &:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) {
51
- &:focus-visible,
52
- &:focus-within {
53
- @include input-focus;
54
- }
55
-
56
- @media (hover: hover) {
57
- &:hover {
58
- @include input-hover;
59
- }
60
- }
61
- }
62
-
63
- &:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) {
64
- --oui-foreground-percentage: 25%;
65
-
66
- font-style: italic;
67
- }
68
-
69
- &:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]):focus-visible {
70
- --oui-outline-percentage: 75%;
71
- }
72
-
73
- &:is([disabled], [aria-disabled='true' i]) {
74
- --oui-background-percentage: 50%;
75
- }
76
- }
77
-
78
- @mixin input-focus() {
79
- --oui-border-value: var(--oui-blue-5);
80
- --oui-foreground-value: inherit;
81
- --oui-outline-percentage: 75%;
82
- --oui-outline-value: var(--oui-blue-6);
83
- }
84
-
85
- @mixin input-hover() {
86
- --oui-border-value: var(--oui-blue-4);
87
- --oui-foreground-percentage: 0%;
88
- --oui-foreground-value: inherit;
89
- --oui-outline-percentage: 90%;
90
- --oui-outline-value: var(--oui-blue-6);
91
- }
92
-
93
- @mixin input-invalid() {
94
- --oui-border-value: var(--oui-red-5);
95
- --oui-foreground-value: var(--oui-red-9);
96
- --oui-outline-percentage: 82.5%;
97
- --oui-outline-value: var(--oui-red-6);
98
- }
99
-
100
- @mixin input-outlined {
101
- --oui-outline-percentage: 100%;
102
- --oui-outline-value: var(--oui-blue-6);
103
-
104
- outline: 4px solid
105
- color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
106
- outline-offset: 0;
107
- }
108
-
109
- @mixin input-valid() {
110
- --oui-border-value: var(--oui-green-5);
111
- --oui-foreground-value: var(--oui-green-9);
112
- --oui-outline-percentage: 82.5%;
113
- --oui-outline-value: var(--oui-green-6);
114
- }
@@ -1,41 +0,0 @@
1
- @mixin message-blue() {
2
- --oui-background: var(--oui-blue-1);
3
- --oui-border: var(--oui-blue-2);
4
- --oui-foreground: var(--oui-blue-8);
5
- --oui-shadow-value: var(--oui-blue-6);
6
- }
7
-
8
- @mixin message-green() {
9
- --oui-background: var(--oui-green-1);
10
- --oui-border: var(--oui-green-2);
11
- --oui-foreground: var(--oui-green-8);
12
- --oui-shadow-value: var(--oui-green-6);
13
- }
14
-
15
- @mixin message-orange() {
16
- --oui-background: var(--oui-orange-1);
17
- --oui-border: var(--oui-orange-2);
18
- --oui-foreground: var(--oui-orange-8);
19
- --oui-shadow-value: var(--oui-orange-6);
20
- }
21
-
22
- @mixin message-purple() {
23
- --oui-background: var(--oui-purple-1);
24
- --oui-border: var(--oui-purple-2);
25
- --oui-foreground: var(--oui-purple-8);
26
- --oui-shadow-value: var(--oui-purple-6);
27
- }
28
-
29
- @mixin message-red() {
30
- --oui-background: var(--oui-red-1);
31
- --oui-border: var(--oui-red-2);
32
- --oui-foreground: var(--oui-red-8);
33
- --oui-shadow-value: var(--oui-red-6);
34
- }
35
-
36
- @mixin message-yellow() {
37
- --oui-background: var(--oui-yellow-1);
38
- --oui-border: var(--oui-yellow-2);
39
- --oui-foreground: var(--oui-yellow-8);
40
- --oui-shadow-value: var(--oui-yellow-6);
41
- }
@@ -1,48 +0,0 @@
1
- @use './shadow.mixins.scss' as shadowMixins;
2
-
3
- @mixin card(
4
- $backgroundColor: var(--oui-absolute),
5
- $boxShadowColor: color-mix(in oklab, var(--oui-gray-6), transparent 92.5%)
6
- ) {
7
- @include shadowMixins.shadow-1($boxShadowColor);
8
-
9
- padding: 1em 1.25em;
10
- background-color: $backgroundColor;
11
- border-radius: 0.5em;
12
- }
13
-
14
- @mixin floatable() {
15
- --margin-bottom: 0.5em;
16
- --margin-left: 0.5em;
17
- --margin-right: 0.5em;
18
- --margin-top: 0.5em;
19
-
20
- inset-block: var(--margin-top) var(--margin-bottom);
21
- inset-inline: var(--margin-left) var(--margin-right);
22
-
23
- &[oui-position$='bottom' i] {
24
- --margin-bottom: 0;
25
- }
26
-
27
- &[oui-position$='end' i] {
28
- --margin-right: 0;
29
- }
30
-
31
- &[oui-position$='start' i] {
32
- --margin-left: 0;
33
- }
34
-
35
- &[oui-position$='top' i] {
36
- --margin-top: 0;
37
- }
38
- }
39
-
40
- @mixin visually-hidden() {
41
- width: 1px !important;
42
- height: 1px !important;
43
- padding: 0 !important;
44
- clip-path: inset(50%) !important;
45
- overflow: hidden !important;
46
- border: 0 !important;
47
- white-space: nowrap !important;
48
- }
@@ -1,57 +0,0 @@
1
- @mixin shadow-0($color: rgb(0 0 0 / 5%), $inset: transparent) {
2
- box-shadow:
3
- inset 0 1px 0 0 $inset,
4
- 0 0 0 1px $color,
5
- 0 1px 2px -0.5px $color;
6
- }
7
-
8
- @mixin shadow-1($color: rgb(0 0 0 / 5%), $inset: transparent) {
9
- box-shadow:
10
- inset 0 1px 0 0 $inset,
11
- 0 0 0 1px $color,
12
- 0 1px 2px -0.5px $color,
13
- 0 2px 4px -1px $color;
14
- }
15
-
16
- @mixin shadow-2($color: rgb(0 0 0 / 5%), $inset: transparent) {
17
- box-shadow:
18
- inset 0 1px 0 0 $inset,
19
- 0 0 0 1px $color,
20
- 0 1px 2px -0.5px $color,
21
- 0 2px 4px -1px $color,
22
- 0 4px 8px -2px $color;
23
- }
24
-
25
- @mixin shadow-3($color: rgb(0 0 0 / 5%), $inset: transparent) {
26
- box-shadow:
27
- inset 0 1px 0 0 $inset,
28
- 0 0 0 1px $color,
29
- 0 1px 2px -0.5px $color,
30
- 0 2px 4px -1px $color,
31
- 0 4px 8px -2px $color,
32
- 0 8px 16px -4px $color;
33
- }
34
-
35
- @mixin shadow-4($color: rgb(0 0 0 / 5%), $inset: transparent) {
36
- box-shadow:
37
- inset 0 1px 0 0 $inset,
38
- 0 0 0 1px $color,
39
- 0 1px 2px -0.5px $color,
40
- 0 2px 4px -1px $color,
41
- 0 4px 8px -2px $color,
42
- 0 8px 16px -4px $color,
43
- 0 16px 32px -8px $color;
44
- }
45
-
46
- @mixin shadow-5($color: rgb(0 0 0 / 5%), $inset: transparent) {
47
- box-shadow:
48
- inset 0 1px 0 0 $inset,
49
- 0 0 0 1px $color,
50
- 0 1px 2px -0.5px $color,
51
- 0 2px 4px -1px $color,
52
- 0 4px 8px -2px $color,
53
- 0 8px 16px -4px $color,
54
- 0 16px 32px -8px $color,
55
- 0 32px 64px -16px $color,
56
- 0 64px 128px -32px $color;
57
- }