@okshaun/components 0.5.8 → 1.0.1

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 (129) hide show
  1. package/README.md +22 -26
  2. package/dist/.mcp.json +11 -0
  3. package/dist/index.d.ts +3 -1268
  4. package/dist/index.js +1231 -957
  5. package/dist/index.js.map +1 -1
  6. package/dist/okshaun-logo-white.svg +11 -0
  7. package/dist/okshaun-logo.svg +11 -0
  8. package/dist/preset-BzrKiUEH.js +8452 -0
  9. package/dist/preset-BzrKiUEH.js.map +1 -0
  10. package/dist/preset.js +3 -7234
  11. package/dist/preset.js.map +1 -1
  12. package/dist/specs/animation-styles.json +4 -0
  13. package/dist/specs/color-palette.json +98 -0
  14. package/dist/specs/conditions.json +1901 -0
  15. package/dist/specs/keyframes.json +137 -0
  16. package/dist/specs/layer-styles.json +23 -0
  17. package/dist/specs/patterns.json +475 -0
  18. package/dist/specs/recipes.json +907 -0
  19. package/dist/specs/semantic-tokens.json +2837 -0
  20. package/dist/specs/text-styles.json +149 -0
  21. package/dist/specs/tokens.json +2750 -0
  22. package/dist/sprite.svg +1 -1
  23. package/dist/sprite.symbol.html +14 -14
  24. package/dist/styles/global.css +148 -0
  25. package/dist/styles/recipes/avatar.css +185 -0
  26. package/dist/styles/recipes/badge.css +85 -0
  27. package/dist/styles/recipes/breadcrumbs.css +38 -0
  28. package/dist/styles/recipes/button.css +195 -0
  29. package/dist/styles/recipes/card.css +57 -0
  30. package/dist/styles/recipes/checkbox-input.css +12 -0
  31. package/dist/styles/recipes/checkbox.css +90 -0
  32. package/dist/styles/recipes/chip.css +137 -0
  33. package/dist/styles/recipes/code.css +12 -0
  34. package/dist/styles/recipes/divider.css +43 -0
  35. package/dist/styles/recipes/form-field.css +39 -0
  36. package/dist/styles/recipes/heading.css +40 -0
  37. package/dist/styles/recipes/icon-button.css +181 -0
  38. package/dist/styles/recipes/label.css +14 -0
  39. package/dist/styles/recipes/link.css +49 -0
  40. package/dist/styles/recipes/menu.css +141 -0
  41. package/dist/styles/recipes/modal.css +99 -0
  42. package/dist/styles/recipes/pre.css +16 -0
  43. package/dist/styles/recipes/radio-input.css +7 -0
  44. package/dist/styles/recipes/radio.css +82 -0
  45. package/dist/styles/recipes/select.css +103 -0
  46. package/dist/styles/recipes/spinner.css +36 -0
  47. package/dist/styles/recipes/tag.css +27 -0
  48. package/dist/styles/recipes/text.css +46 -0
  49. package/dist/styles/recipes/textarea.css +91 -0
  50. package/dist/styles/recipes/textinput.css +87 -0
  51. package/dist/styles/recipes/theme-switcher.css +53 -0
  52. package/dist/styles/recipes/toggle-input.css +12 -0
  53. package/dist/styles/recipes/toggle.css +125 -0
  54. package/dist/styles/recipes/tooltip.css +133 -0
  55. package/dist/styles/recipes.css +30 -0
  56. package/dist/styles/reset.css +1 -0
  57. package/dist/styles/tokens.css +1016 -0
  58. package/dist/styles/utilities.css +1694 -0
  59. package/dist/styles.css +7 -0
  60. package/dist/svgs/building.svg +1 -0
  61. package/dist/types/index.d.ts +21626 -0
  62. package/dist/types/preset.d.ts +19 -0
  63. package/package.json +37 -35
  64. package/src/recipes/avatar.ts +205 -0
  65. package/src/recipes/badge.ts +203 -0
  66. package/src/recipes/box.ts +13 -0
  67. package/src/recipes/breadcrumbs.ts +29 -0
  68. package/src/recipes/button.ts +319 -0
  69. package/src/recipes/card.ts +148 -0
  70. package/src/recipes/checkbox.ts +87 -0
  71. package/src/recipes/checkboxinput.ts +15 -0
  72. package/src/recipes/chip.ts +189 -0
  73. package/src/recipes/code.ts +35 -0
  74. package/src/recipes/divider.ts +41 -0
  75. package/src/recipes/formField.ts +60 -0
  76. package/src/recipes/index.ts +28 -0
  77. package/src/recipes/menu.ts +205 -0
  78. package/src/recipes/modal.ts +120 -0
  79. package/src/recipes/radio.ts +71 -0
  80. package/src/recipes/radioinput.ts +12 -0
  81. package/src/recipes/select.ts +142 -0
  82. package/src/recipes/spinner.ts +52 -0
  83. package/src/recipes/tag.ts +262 -0
  84. package/src/recipes/text.ts +193 -0
  85. package/src/recipes/textarea.ts +153 -0
  86. package/src/recipes/textinput.ts +100 -0
  87. package/src/recipes/themeSwitcher.ts +48 -0
  88. package/src/recipes/toggle.ts +116 -0
  89. package/src/recipes/toggleinput.ts +16 -0
  90. package/src/recipes/tooltip.ts +359 -0
  91. package/src/styles/index.css +1 -0
  92. package/src/styles/primitives/animations.ts +16 -0
  93. package/src/styles/primitives/aspectRatios.ts +22 -0
  94. package/src/styles/primitives/blurs.ts +25 -0
  95. package/src/styles/primitives/borderWidths.ts +10 -0
  96. package/src/styles/primitives/borders.ts +36 -0
  97. package/src/styles/primitives/colors.ts +228 -0
  98. package/src/styles/primitives/durations.ts +25 -0
  99. package/src/styles/primitives/easings.ts +19 -0
  100. package/src/styles/primitives/fontSizes.ts +16 -0
  101. package/src/styles/primitives/fontWeights.ts +9 -0
  102. package/src/styles/primitives/fonts.ts +18 -0
  103. package/src/styles/primitives/index.ts +46 -0
  104. package/src/styles/primitives/letterSpacings.ts +22 -0
  105. package/src/styles/primitives/lineHeights.ts +16 -0
  106. package/src/styles/primitives/radii.ts +14 -0
  107. package/src/styles/primitives/shadows.ts +73 -0
  108. package/src/styles/primitives/sizes.ts +86 -0
  109. package/src/styles/primitives/spacings.ts +7 -0
  110. package/src/styles/semantics/colors.ts +774 -0
  111. package/src/styles/semantics/index.ts +2 -0
  112. package/src/styles/semantics/shadows.ts +32 -0
  113. package/src/styles/utilities/breakpoints.ts +8 -0
  114. package/src/styles/utilities/conditions.ts +140 -0
  115. package/src/styles/utilities/containerSizes.ts +17 -0
  116. package/src/styles/utilities/filters.ts +12 -0
  117. package/src/styles/utilities/globalStyle.ts +93 -0
  118. package/src/styles/utilities/index.ts +9 -0
  119. package/src/styles/utilities/keyframes.ts +89 -0
  120. package/src/styles/utilities/layerStyles.ts +18 -0
  121. package/src/styles/utilities/textStyles.ts +135 -0
  122. package/src/styles/utilities/transitions.ts +92 -0
  123. package/src/utils/injectSprite.ts +36 -0
  124. package/src/utils/splitProps.ts +19 -0
  125. package/src/utils/spriteContent.ts +4 -0
  126. package/dist/panda.buildinfo.json +0 -448
  127. package/dist/preset.d.ts +0 -5
  128. package/dist/transitions-DUgH88VW.js +0 -1041
  129. package/dist/transitions-DUgH88VW.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-checkbox-input {
4
+ display: flex;
5
+ align-items: start;
6
+ }
7
+
8
+ .oks-checkbox-input[class*="-label"] {
9
+ font-size: var(--oks-font-sizes-16);
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,90 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-checkbox__container {
4
+ gap: var(--oks-spacing-4);
5
+ position: relative;
6
+ display: inline-grid;
7
+ grid-template-columns: auto 1fr;
8
+ align-items: start;
9
+ cursor: pointer;
10
+ -webkit-user-select: none;
11
+ user-select: none;
12
+ color: var(--oks-colors-text);
13
+ }
14
+
15
+ .oks-checkbox__container:is([data-error], [data-error=true]) {
16
+ color: var(--oks-colors-text-danger);
17
+ }
18
+
19
+ .oks-checkbox__input {
20
+ margin: var(--oks-spacing-0);
21
+ padding: var(--oks-spacing-0);
22
+ position: absolute;
23
+ opacity: 0;
24
+ z-index: 1;
25
+ cursor: inherit;
26
+ width: var(--oks-sizes-full);
27
+ height: var(--oks-sizes-full);
28
+ }
29
+
30
+ .oks-checkbox__input ~ [name='checkbox'] {
31
+ display: inline-grid;
32
+ }
33
+
34
+ .oks-checkbox__input:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
35
+ display: inline-grid;
36
+ }
37
+
38
+ .oks-checkbox__input:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) ~ svg {
39
+ pointer-events: none;
40
+ }
41
+
42
+ .oks-checkbox__input:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]):is(:hover, [data-hover=true]) {
43
+ cursor: not-allowed;
44
+ }
45
+
46
+ .oks-checkbox__input:is([data-error], [data-error=true]) {
47
+ display: inline-grid;
48
+ }
49
+
50
+ .oks-checkbox__input:is([data-error], [data-error=true]) ~ svg {
51
+ fill: var(--oks-colors-icon-danger);
52
+ }
53
+
54
+ .oks-checkbox__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='checkbox-checked'] {
55
+ display: inline-grid;
56
+ fill: var(--oks-colors-icon);
57
+ }
58
+
59
+ .oks-checkbox__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='checkbox'] {
60
+ display: none;
61
+ }
62
+
63
+ .oks-checkbox__input:is(:indeterminate, [data-indeterminate], [aria-checked=mixed], [data-state="indeterminate"]) ~ [name='checkbox-indeterminate'] {
64
+ display: inline-grid;
65
+ fill: var(--oks-colors-icon);
66
+ }
67
+
68
+ .oks-checkbox__input:is(:indeterminate, [data-indeterminate], [aria-checked=mixed], [data-state="indeterminate"]) ~ [name='checkbox'] {
69
+ display: none;
70
+ }
71
+
72
+ .oks-checkbox__input:is(:focus-visible, [data-focus-visible=true]) ~ [name='checkbox-focus'] {
73
+ display: inline-grid;
74
+ position: absolute;
75
+ fill: var(--oks-colors-border-focused);
76
+ }
77
+
78
+ .oks-checkbox__indicator {
79
+ place-content: center;
80
+ display: none;
81
+ width: var(--oks-sizes-24);
82
+ height: var(--oks-sizes-24);
83
+ }
84
+
85
+ .oks-checkbox__indicator:is([name='checkbox']) {
86
+ display: inline-grid;
87
+ fill: var(--oks-colors-icon-subtlest);
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,137 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-chip__container {
4
+ border: var(--oks-borders-none);
5
+ background: var(--oks-colors-bg-neutral);
6
+ border-radius: var(--oks-radii-999);
7
+ position: relative;
8
+ display: inline-flex;
9
+ align-items: center;
10
+ appearance: none;
11
+ -webkit-appearance: none;
12
+ font-family: var(--oks-fonts-sans);
13
+ line-height: var(--oks-line-heights-default);
14
+ font-weight: var(--oks-font-weights-medium);
15
+ white-space: nowrap;
16
+ vertical-align: middle;
17
+ cursor: pointer;
18
+ --transition-duration: var(--oks-durations-fast);
19
+ transition-duration: var(--oks-durations-fast);
20
+ transition-property: fill;
21
+ --transition-easing: var(--oks-easings-default);
22
+ transition-timing-function: var(--oks-easings-default);
23
+ -webkit-user-select: none;
24
+ user-select: none;
25
+ outline-width: var(--oks-border-widths-2);
26
+ outline-style: solid;
27
+ outline-color: var(--oks-colors-transparent);
28
+ color: var(--oks-colors-text);
29
+ fill: var(--oks-colors-icon-decorative);
30
+ width: var(--oks-sizes-fit);
31
+ }
32
+
33
+ .oks-chip__container:is([data-loading], [aria-busy=true]) {
34
+ animation: var(--oks-animations-pulse);
35
+ cursor: wait;
36
+ }
37
+
38
+ .oks-chip__container:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
39
+ background: var(--oks-colors-bg-disabled);
40
+ border-color: var(--oks-colors-border-disabled);
41
+ cursor: not-allowed;
42
+ color: var(--oks-colors-text-disabled);
43
+ fill: var(--oks-colors-icon-disabled);
44
+ }
45
+
46
+ .oks-chip__container:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]):is(:hover, [data-hover=true]) {
47
+ background: var(--oks-colors-bg-disabled);
48
+ border-color: var(--oks-colors-border-disabled);
49
+ color: var(--oks-colors-text-disabled);
50
+ fill: var(--oks-colors-icon-disabled);
51
+ }
52
+
53
+ .oks-chip__container:is([aria-selected=true], [data-selected=true]) {
54
+ background: var(--oks-colors-bg-brand-boldest);
55
+ color: var(--oks-colors-text-inverse);
56
+ fill: var(--oks-colors-icon-decorative-inverse);
57
+ }
58
+
59
+ .oks-chip__container:is([aria-selected=true], [data-selected=true]):is(:hover, [data-hover=true]) {
60
+ background: var(--oks-colors-bg-brand-boldest-hovered);
61
+ fill: var(--oks-colors-icon-inverse);
62
+ }
63
+
64
+ .oks-chip__container:is([aria-selected=true], [data-selected=true]):is(:active, [data-active=true]) {
65
+ background: var(--oks-colors-bg-brand-boldest-pressed);
66
+ fill: var(--oks-colors-icon-inverse);
67
+ }
68
+
69
+ .oks-chip__container:is(:deleted, [deleted], [data-deleted=true]) {
70
+ text-decoration: line-through;
71
+ cursor: not-allowed;
72
+ opacity: 0.6;
73
+ }
74
+
75
+ .oks-chip__container:is(:focus-visible, [data-focus-visible=true]) {
76
+ outline-color: var(--oks-colors-border-focused);
77
+ }
78
+
79
+ .oks-chip__container:is(:hover, [data-hover=true]) {
80
+ background: var(--oks-colors-bg-neutral-hovered);
81
+ fill: var(--oks-colors-icon-decorative-hovered);
82
+ }
83
+
84
+ .oks-chip__container:is(:active, [data-active=true]) {
85
+ background: var(--oks-colors-bg-neutral-pressed);
86
+ fill: var(--oks-colors-icon-decorative-hovered);
87
+ }
88
+
89
+ .oks-chip__icon {
90
+ aspect-ratio: var(--oks-aspect-ratios-square);
91
+ --transition-duration: var(--oks-durations-fast);
92
+ transition-duration: var(--oks-durations-fast);
93
+ transition-property: fill;
94
+ --transition-easing: var(--oks-easings-default);
95
+ transition-timing-function: var(--oks-easings-default);
96
+ }
97
+ }
98
+
99
+ .oks-chip__container--size_sm {
100
+ gap: var(--oks-spacing-2);
101
+ padding-inline: var(--oks-spacing-6);
102
+ padding-block: var(--oks-spacing-0);
103
+ font-size: var(--oks-font-sizes-14);
104
+ height: var(--oks-sizes-20);
105
+ }
106
+
107
+ .oks-chip__icon--size_sm {
108
+ width: var(--oks-sizes-20);
109
+ height: var(--oks-sizes-20);
110
+ }
111
+
112
+ .oks-chip__container--size_md {
113
+ gap: var(--oks-spacing-4);
114
+ padding-inline: var(--oks-spacing-8);
115
+ padding-block: var(--oks-spacing-1);
116
+ font-size: var(--oks-font-sizes-14);
117
+ height: var(--oks-sizes-24);
118
+ }
119
+
120
+ .oks-chip__icon--size_md {
121
+ width: var(--oks-sizes-20);
122
+ height: var(--oks-sizes-20);
123
+ }
124
+
125
+ .oks-chip__container--size_lg {
126
+ gap: var(--oks-spacing-4);
127
+ padding-inline: var(--oks-spacing-10);
128
+ padding-block: var(--oks-spacing-4);
129
+ font-size: var(--oks-font-sizes-16);
130
+ height: var(--oks-sizes-32);
131
+ }
132
+
133
+ .oks-chip__icon--size_lg {
134
+ width: var(--oks-sizes-24);
135
+ height: var(--oks-sizes-24);
136
+ }
137
+ }
@@ -0,0 +1,12 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-code {
4
+ background: var(--oks-colors-gray-80);
5
+ padding: var(--oks-spacing-4);
6
+ overflow: auto;
7
+ position: relative;
8
+ white-space: pre;
9
+ font-size: var(--oks-font-sizes-14);
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,43 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-divider {
4
+ --divider-weight: var(--oks-sizes-1);
5
+ border-color: var(--oks-colors-current);
6
+ color: var(--oks-colors-gray-20);
7
+ min-width: var(--oks-sizes-1);
8
+ min-height: var(--oks-sizes-1);
9
+ }
10
+
11
+ .dark .oks-divider,.oks-divider:is([data-color-mode=dark] *),[data-color-mode=dark] .oks-divider {
12
+ color: var(--oks-colors-gray-80);
13
+ }
14
+ }
15
+
16
+ .oks-divider--direction_horizontal {
17
+ width: stretch;
18
+ border-top-style: solid;
19
+ border-top-width: var(--divider-weight);
20
+ }
21
+
22
+ .oks-divider--weight_thin {
23
+ --divider-weight: var(--oks-sizes-1);
24
+ }
25
+
26
+ .oks-divider--weight_medium {
27
+ --divider-weight: var(--oks-sizes-2);
28
+ }
29
+
30
+ .oks-divider--weight_thick {
31
+ --divider-weight: var(--oks-sizes-4);
32
+ }
33
+
34
+ .oks-divider--weight_thicker {
35
+ --divider-weight: var(--oks-sizes-6);
36
+ }
37
+
38
+ .oks-divider--direction_vertical {
39
+ height: stretch;
40
+ border-left-style: solid;
41
+ border-left-width: var(--divider-weight);
42
+ }
43
+ }
@@ -0,0 +1,39 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-formfield__formFieldContainer:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
4
+ pointer-events: none;
5
+ }
6
+
7
+ .oks-formfield__formFieldContainer:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) p {
8
+ color: var(--oks-colors-text-disabled);
9
+ }
10
+
11
+ .oks-formfield__contentWrapper {
12
+ gap: var(--oks-spacing-6);
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+
17
+ .oks-formfield__labelWrapper p {
18
+ color: var(--oks-colors-text);
19
+ }
20
+
21
+ .oks-formfield__headLabel {
22
+ gap: var(--oks-spacing-4);
23
+ display: flex;
24
+ }
25
+ }
26
+
27
+ .oks-formfield__formFieldContainer--layout_inline {
28
+ gap: var(--oks-spacing-12);
29
+ display: grid;
30
+ grid-template-columns: auto 1fr;
31
+ align-items: start;
32
+ }
33
+
34
+ .oks-formfield__formFieldContainer--layout_default {
35
+ gap: var(--oks-spacing-6);
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+ }
@@ -0,0 +1,40 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-heading {
4
+ font-family: var(--oks-fonts-heading);
5
+ font-weight: var(--oks-font-weights-black);
6
+ color: var(--oks-colors-text-bold);
7
+ line-height: var(--oks-line-heights-default);
8
+ }
9
+ }
10
+
11
+ .oks-heading--level_h2 {
12
+ font-size: var(--oks-font-sizes-32);
13
+ }
14
+
15
+ .oks-heading--level_h2,.oks-heading--level_h3 {
16
+ font-family: var(--oks-fonts-sans);
17
+ font-weight: var(--oks-font-weights-bold);
18
+ color: var(--oks-colors-text);
19
+ line-height: var(--oks-line-heights-default);
20
+ }
21
+
22
+ .oks-heading--level_h3 {
23
+ font-size: var(--oks-font-sizes-24);
24
+ }
25
+
26
+ .oks-heading--level_h1 {
27
+ font-size: var(--oks-font-sizes-40);
28
+ }
29
+
30
+ .oks-heading--level_h1,.oks-heading--level_h4 {
31
+ font-family: var(--oks-fonts-sans);
32
+ font-weight: var(--oks-font-weights-bold);
33
+ color: var(--oks-colors-text);
34
+ line-height: var(--oks-line-heights-default);
35
+ }
36
+
37
+ .oks-heading--level_h4 {
38
+ font-size: var(--oks-font-sizes-20);
39
+ }
40
+ }
@@ -0,0 +1,181 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-iconButton__container {
4
+ gap: var(--oks-spacing-4);
5
+ border-width: var(--oks-border-widths-1);
6
+ border-style: solid;
7
+ border-color: var(--oks-colors-transparent);
8
+ border-radius: var(--oks-radii-4);
9
+ text-decoration: none;
10
+ position: relative;
11
+ appearance: none;
12
+ -webkit-appearance: none;
13
+ display: flex;
14
+ align-items: center;
15
+ --transition-duration: var(--oks-durations-fast);
16
+ transition-duration: var(--oks-durations-fast);
17
+ transition-property: background, border-color, color, box-shadow;
18
+ --transition-easing: var(--oks-easings-default);
19
+ transition-timing-function: var(--oks-easings-default);
20
+ -webkit-user-select: none;
21
+ user-select: none;
22
+ vertical-align: middle;
23
+ font-family: var(--oks-fonts-sans);
24
+ font-weight: var(--oks-font-weights-medium);
25
+ font-size: var(--oks-font-sizes-16);
26
+ line-height: var(--oks-line-heights-default);
27
+ outline-width: var(--oks-border-widths-2);
28
+ outline-style: solid;
29
+ outline-color: var(--oks-colors-transparent);
30
+ white-space: nowrap;
31
+ cursor: pointer;
32
+ min-width: var(--oks-sizes-0);
33
+ width: var(--oks-sizes-fit);
34
+ height: var(--oks-sizes-fit);
35
+ }
36
+
37
+ .oks-iconButton__container:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
38
+ background: var(--oks-colors-bg-disabled);
39
+ border-color: var(--oks-colors-border-disabled);
40
+ cursor: not-allowed;
41
+ color: var(--oks-colors-text-disabled);
42
+ fill: var(--oks-colors-icon-disabled);
43
+ }
44
+
45
+ .oks-iconButton__container:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]):is(:hover, [data-hover=true]) {
46
+ background: var(--oks-colors-bg-disabled);
47
+ border-color: var(--oks-colors-border-disabled);
48
+ color: var(--oks-colors-text-disabled);
49
+ fill: var(--oks-colors-icon-disabled);
50
+ }
51
+
52
+ .oks-iconButton__container:is([aria-selected=true], [data-selected=true]) {
53
+ background: var(--oks-colors-bg-selected);
54
+ border-color: var(--oks-colors-transparent);
55
+ color: var(--oks-colors-text-selected);
56
+ fill: var(--oks-colors-icon-selected);
57
+ }
58
+
59
+ .oks-iconButton__container:is(:focus-visible, [data-focus-visible=true]) {
60
+ outline-color: var(--oks-colors-border-focused);
61
+ }
62
+
63
+ .oks-iconButton__icon {
64
+ aspect-ratio: var(--oks-aspect-ratios-square);
65
+ --transition-duration: var(--oks-durations-fast);
66
+ transition-duration: var(--oks-durations-fast);
67
+ transition-property: fill;
68
+ --transition-easing: var(--oks-easings-default);
69
+ transition-timing-function: var(--oks-easings-default);
70
+ }
71
+ }
72
+
73
+ .oks-iconButton__container--variant_subtle {
74
+ background: var(--oks-colors-bg-neutral-subtle);
75
+ color: var(--oks-colors-text-subtle);
76
+ fill: var(--oks-colors-icon-decorative);
77
+ }
78
+
79
+ .oks-iconButton__container--variant_subtle:is(:hover, [data-hover=true]) {
80
+ background: var(--oks-colors-bg-neutral-subtle-hovered);
81
+ color: var(--oks-colors-text);
82
+ fill: var(--oks-colors-icon-decorative-hovered);
83
+ }
84
+
85
+ .oks-iconButton__container--variant_subtle:is(:active, [data-active=true]) {
86
+ background: var(--oks-colors-bg-neutral-subtle-pressed);
87
+ color: var(--oks-colors-text);
88
+ fill: var(--oks-colors-icon-decorative-hovered);
89
+ }
90
+
91
+ .oks-iconButton__container--size_md {
92
+ padding: var(--oks-spacing-3);
93
+ font-size: var(--oks-font-sizes-16);
94
+ }
95
+
96
+ .oks-iconButton__icon--size_md {
97
+ width: var(--oks-sizes-24);
98
+ height: var(--oks-sizes-24);
99
+ }
100
+
101
+ .oks-iconButton__container--variant_default {
102
+ background: var(--oks-colors-bg-neutral);
103
+ color: var(--oks-colors-text);
104
+ fill: var(--oks-colors-icon-decorative);
105
+ }
106
+
107
+ .oks-iconButton__container--variant_default:is(:hover, [data-hover=true]) {
108
+ background: var(--oks-colors-bg-neutral-hovered);
109
+ fill: var(--oks-colors-icon-decorative-hovered);
110
+ }
111
+
112
+ .oks-iconButton__container--variant_default:is(:active, [data-active=true]) {
113
+ background: var(--oks-colors-bg-neutral-pressed);
114
+ fill: var(--oks-colors-icon-decorative-hovered);
115
+ }
116
+
117
+ .oks-iconButton__container--variant_primary {
118
+ background: var(--oks-colors-bg-brand-boldest);
119
+ color: var(--oks-colors-text-inverse);
120
+ fill: var(--oks-colors-icon-decorative-inverse);
121
+ }
122
+
123
+ .oks-iconButton__container--variant_primary:is(:hover, [data-hover=true]) {
124
+ background: var(--oks-colors-bg-brand-boldest-hovered);
125
+ fill: var(--oks-colors-icon-inverse);
126
+ }
127
+
128
+ .oks-iconButton__container--variant_primary:is(:active, [data-active=true]) {
129
+ background: var(--oks-colors-bg-brand-boldest-pressed);
130
+ fill: var(--oks-colors-icon-inverse);
131
+ }
132
+
133
+ .oks-iconButton__container--size_lg {
134
+ padding: var(--oks-spacing-7);
135
+ font-size: var(--oks-font-sizes-16);
136
+ }
137
+
138
+ .oks-iconButton__icon--size_lg {
139
+ width: var(--oks-sizes-24);
140
+ height: var(--oks-sizes-24);
141
+ }
142
+
143
+ .oks-iconButton__container--variant_hollow {
144
+ background: var(--oks-colors-bg-neutral-subtle);
145
+ border-color: var(--oks-colors-border);
146
+ color: var(--oks-colors-text-subtle);
147
+ fill: var(--oks-colors-icon-decorative);
148
+ }
149
+
150
+ .oks-iconButton__container--variant_hollow:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
151
+ border-color: var(--oks-colors-border-disabled);
152
+ }
153
+
154
+ .oks-iconButton__container--variant_hollow:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]):is(:hover, [data-hover=true]) {
155
+ border-color: var(--oks-colors-border-disabled);
156
+ }
157
+
158
+ .oks-iconButton__container--variant_hollow:is(:hover, [data-hover=true]) {
159
+ background: var(--oks-colors-bg-neutral-subtle-hovered);
160
+ border-color: var(--oks-colors-border);
161
+ color: var(--oks-colors-text);
162
+ fill: var(--oks-colors-icon-decorative-hovered);
163
+ }
164
+
165
+ .oks-iconButton__container--variant_hollow:is(:active, [data-active=true]) {
166
+ background: var(--oks-colors-bg-neutral-subtle-pressed);
167
+ border-color: var(--oks-colors-border);
168
+ color: var(--oks-colors-text);
169
+ fill: var(--oks-colors-icon-decorative-hovered);
170
+ }
171
+
172
+ .oks-iconButton__container--size_sm {
173
+ padding: var(--oks-spacing-1);
174
+ font-size: var(--oks-font-sizes-14);
175
+ }
176
+
177
+ .oks-iconButton__icon--size_sm {
178
+ width: var(--oks-sizes-22);
179
+ height: var(--oks-sizes-22);
180
+ }
181
+ }
@@ -0,0 +1,14 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-label {
4
+ font-size: var(--oks-font-sizes-14);
5
+ font-weight: var(--oks-font-weights-normal);
6
+ line-height: var(--oks-line-heights-tight);
7
+ cursor: default;
8
+ }
9
+ }
10
+
11
+ .oks-label--family_sans {
12
+ font-family: var(--oks-fonts-sans);
13
+ }
14
+ }
@@ -0,0 +1,49 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-link {
4
+ gap: var(--oks-spacing-1);
5
+ text-decoration: none;
6
+ display: inline-flex;
7
+ align-items: center;
8
+ font-weight: var(--oks-font-weights-medium);
9
+ color: var(--oks-colors-blue-70);
10
+ background-image: linear-gradient(90deg, transparent 0% 100%);
11
+ background-size: 100% 1px;
12
+ background-repeat: no-repeat;
13
+ background-position-y: 100%;
14
+ cursor: pointer;
15
+ width: fit-content;
16
+ }
17
+
18
+ .dark .oks-link,.oks-link:is([data-color-mode=dark] *),[data-color-mode=dark] .oks-link {
19
+ color: var(--oks-colors-blue-40);
20
+ }
21
+
22
+ p .oks-link {
23
+ background-image: linear-gradient(90deg, currentColor 0% 100%);
24
+ }
25
+
26
+ .oks-link:is(:hover, [data-hover=true]) {
27
+ color: var(--oks-colors-blue-60);
28
+ background-color: var(--oks-colors-blue-10);
29
+ background-image: linear-gradient(90deg, currentColor 0% 100%);
30
+ }
31
+
32
+ .dark .oks-link:is(:hover, [data-hover=true]),.oks-link:is(:hover, [data-hover=true]):is([data-color-mode=dark] *),[data-color-mode=dark] .oks-link:is(:hover, [data-hover=true]) {
33
+ color: var(--oks-colors-blue-40);
34
+ background-color: var(--oks-colors-blue-100);
35
+ }
36
+ }
37
+
38
+ .oks-link--family_inherit {
39
+ font-family: inherit;
40
+ }
41
+
42
+ .oks-link--family_mono {
43
+ font-family: var(--oks-fonts-mono);
44
+ }
45
+
46
+ .oks-link--size_14 {
47
+ font-size: var(--oks-sizes-14);
48
+ }
49
+ }