@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,141 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-menu__menu {
4
+ border-radius: var(--oks-radii-8);
5
+ flex-direction: column;
6
+ box-shadow: var(--oks-shadows-medium);
7
+ z-index: 1000;
8
+ min-width: var(--oks-sizes-200);
9
+ max-width: 320px;
10
+ max-height: 400px;
11
+ overflow-y: auto;
12
+ }
13
+
14
+ .oks-menu__menu,.oks-menu__menuItem {
15
+ background: var(--oks-colors-surface-overlay);
16
+ outline: var(--oks-borders-none);
17
+ display: flex;
18
+ }
19
+
20
+ .oks-menu__menuItem {
21
+ gap: var(--oks-spacing-8);
22
+ padding-inline: var(--oks-spacing-12);
23
+ padding-block: var(--oks-spacing-8);
24
+ align-items: flex-start;
25
+ cursor: pointer;
26
+ transition-property: background-color, color;
27
+ --transition-duration: var(--oks-durations-fast);
28
+ transition-duration: var(--oks-durations-fast);
29
+ }
30
+
31
+ .oks-menu__menuItem:is([aria-selected=true], [data-selected=true]) {
32
+ background: var(--oks-colors-bg-selected);
33
+ }
34
+
35
+ .oks-menu__menuItem:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
36
+ opacity: 0.5;
37
+ cursor: not-allowed;
38
+ pointer-events: none;
39
+ }
40
+
41
+ .oks-menu__menuItem:is(:focus-visible, [data-focus-visible=true]) {
42
+ background: var(--oks-colors-surface-overlay-hovered);
43
+ }
44
+
45
+ .oks-menu__menuItem:is(:hover, [data-hover=true]) {
46
+ background: var(--oks-colors-surface-overlay-hovered);
47
+ }
48
+
49
+ .oks-menu__menuItem:is(:active, [data-active=true]) {
50
+ background: var(--oks-colors-surface-overlay-hovered);
51
+ }
52
+
53
+ .oks-menu__menuItemIndicator {
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ flex-shrink: 0;
58
+ color: var(--oks-colors-icon-selected);
59
+ width: var(--oks-sizes-24);
60
+ height: var(--oks-sizes-24);
61
+ }
62
+
63
+ .oks-menu__menuItemIconLeft,.oks-menu__menuItemIconRight {
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ flex-shrink: 0;
68
+ color: var(--oks-colors-icon-decorative);
69
+ width: var(--oks-sizes-24);
70
+ height: var(--oks-sizes-24);
71
+ }
72
+
73
+ .oks-menu__menuItemIconRight {
74
+ margin-left: var(--oks-spacing-auto);
75
+ }
76
+
77
+ .oks-menu__menuItemContent {
78
+ flex: 1 1 0%;
79
+ display: flex;
80
+ flex-direction: column;
81
+ min-width: var(--oks-sizes-0);
82
+ }
83
+
84
+ .oks-menu__menuItemLabel {
85
+ font-size: var(--oks-font-sizes-16);
86
+ color: var(--oks-colors-text);
87
+ font-family: var(--oks-fonts-sans);
88
+ font-weight: var(--oks-font-weights-normal);
89
+ }
90
+
91
+ .oks-menu__menuItemLabel mark {
92
+ background: var(--oks-colors-bg-warning-hovered);
93
+ border-radius: var(--oks-radii-2);
94
+ color: var(--oks-colors-text-bold);
95
+ }
96
+
97
+ .oks-menu__menuItemDescription {
98
+ font-size: var(--oks-font-sizes-12);
99
+ font-family: var(--oks-fonts-sans);
100
+ color: var(--oks-colors-text-subtlest);
101
+ }
102
+
103
+ .oks-menu__menuDivider {
104
+ background: var(--oks-colors-border);
105
+ margin-inline: var(--oks-spacing-12);
106
+ margin-block: var(--oks-spacing-4);
107
+ height: var(--oks-sizes-1);
108
+ }
109
+
110
+ .oks-menu__menuGroup {
111
+ display: flex;
112
+ flex-direction: column;
113
+ }
114
+
115
+ .oks-menu__menuGroupLabel {
116
+ padding-inline: var(--oks-spacing-12);
117
+ font-size: var(--oks-font-sizes-12);
118
+ color: var(--oks-colors-text-subtlest);
119
+ font-family: var(--oks-fonts-sans);
120
+ padding-top: var(--oks-spacing-16);
121
+ padding-bottom: var(--oks-spacing-4);
122
+ }
123
+ }
124
+
125
+ .oks-menu__menu--packing_default {
126
+ min-width: var(--oks-sizes-200);
127
+ }
128
+
129
+ .oks-menu__menuItem--packing_default {
130
+ padding-block: var(--oks-spacing-8);
131
+ }
132
+
133
+ .oks-menu__menuItem--indicatorPosition_left,.oks-menu__menuItem--indicatorPosition_right {
134
+ flex-direction: row;
135
+ }
136
+
137
+ .oks-menu__menuItemIndicator--indicatorPosition_right {
138
+ order: 999;
139
+ margin-left: var(--oks-spacing-auto);
140
+ }
141
+ }
@@ -0,0 +1,99 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-modal__overlay {
4
+ inset: var(--oks-spacing-0);
5
+ background: var(--oks-colors-blanket);
6
+ animation: modalFadeIn 150ms ease-out forwards;
7
+ position: fixed;
8
+ z-index: 1100;
9
+ opacity: 0;
10
+ }
11
+
12
+ .oks-modal__overlay[data-state="closing"] {
13
+ animation: modalFadeOut 150ms ease-out forwards;
14
+ }
15
+
16
+ .oks-modal__container {
17
+ background: var(--oks-colors-surface-overlay);
18
+ animation: modalScaleIn 150ms ease-out forwards;
19
+ border-radius: 12px;
20
+ outline: var(--oks-borders-none);
21
+ position: fixed;
22
+ display: flex;
23
+ flex-direction: column;
24
+ box-shadow: var(--oks-shadows-overlay);
25
+ z-index: 1101;
26
+ opacity: 0;
27
+ transform: translate(-50%, -50%) scale(0.95) translateY(-10px);
28
+ top: 50%;
29
+ left: 50%;
30
+ max-height: 90vh;
31
+ }
32
+
33
+ .oks-modal__container[data-state="closing"] {
34
+ animation: modalScaleOut 150ms ease-out forwards;
35
+ }
36
+
37
+ .oks-modal__header {
38
+ gap: var(--oks-spacing-12);
39
+ padding-inline: var(--oks-spacing-20);
40
+ padding-block: var(--oks-spacing-12);
41
+ border-bottom: var(--oks-borders-default);
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: space-between;
45
+ }
46
+
47
+ .oks-modal__title {
48
+ overflow: hidden;
49
+ text-overflow: ellipsis;
50
+ white-space: nowrap;
51
+ width: var(--oks-sizes-full);
52
+ }
53
+
54
+ .oks-modal__body {
55
+ flex: 1 1 0%;
56
+ gap: var(--oks-spacing-16);
57
+ padding-block: var(--oks-spacing-16);
58
+ color: var(--oks-colors-text);
59
+ overflow-y: auto;
60
+ }
61
+
62
+ .oks-modal__body,.oks-modal__footer {
63
+ padding-inline: var(--oks-spacing-20);
64
+ }
65
+
66
+ .oks-modal__footer {
67
+ gap: var(--oks-spacing-8);
68
+ padding-block: var(--oks-spacing-12);
69
+ border-top: var(--oks-borders-default);
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: flex-end;
73
+ }
74
+ }
75
+
76
+ .oks-modal__container--size_md {
77
+ max-width: 560px;
78
+ }
79
+
80
+ .oks-modal__title--size_md {
81
+ font-size: lg;
82
+ }
83
+
84
+ .oks-modal__container--size_sm {
85
+ max-width: 400px;
86
+ }
87
+
88
+ .oks-modal__title--size_sm {
89
+ font-size: md;
90
+ }
91
+
92
+ .oks-modal__container--size_lg {
93
+ max-width: 720px;
94
+ }
95
+
96
+ .oks-modal__title--size_lg {
97
+ font-size: xl;
98
+ }
99
+ }
@@ -0,0 +1,16 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-pre {
4
+ background: var(--oks-colors-gray-80);
5
+ border-radius: var(--oks-radii-8);
6
+ overflow: hidden;
7
+ border-width: var(--oks-border-widths-0);
8
+ border-color: var(--oks-colors-gray-60);
9
+ padding-inline: var(--oks-spacing-16);
10
+ padding-block: var(--oks-spacing-8);
11
+ margin-block: var(--oks-spacing-8);
12
+ color: var(--oks-colors-gray-10);
13
+ white-space: pre;
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-radio-input {
4
+ display: flex;
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,82 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-radio__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
+ }
13
+
14
+ .oks-radio__input {
15
+ margin: var(--oks-spacing-0);
16
+ padding: var(--oks-spacing-0);
17
+ position: absolute;
18
+ opacity: 0;
19
+ z-index: 1;
20
+ cursor: inherit;
21
+ width: var(--oks-sizes-full);
22
+ height: var(--oks-sizes-full);
23
+ }
24
+
25
+ .oks-radio__input ~ [name='radio'] {
26
+ display: inline-grid;
27
+ }
28
+
29
+ .oks-radio__input:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
30
+ display: inline-grid;
31
+ }
32
+
33
+ .oks-radio__input:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) ~ svg {
34
+ opacity: 0.4;
35
+ pointer-events: none;
36
+ cursor: none;
37
+ }
38
+
39
+ .oks-radio__input:is([data-error], [data-error=true]) {
40
+ display: inline-grid;
41
+ }
42
+
43
+ .oks-radio__input:is([data-error], [data-error=true]) ~ svg {
44
+ fill: var(--oks-colors-red-50);
45
+ }
46
+
47
+ .oks-radio__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='radio-checked'] {
48
+ display: inline-grid;
49
+ fill: var(--oks-colors-gray-90);
50
+ }
51
+
52
+ .dark .oks-radio__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='radio-checked'],.oks-radio__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='radio-checked']:is([data-color-mode=dark] *),[data-color-mode=dark] .oks-radio__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='radio-checked'] {
53
+ fill: var(--oks-colors-gray-10);
54
+ }
55
+
56
+ .oks-radio__input:is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) ~ [name='radio'] {
57
+ display: none;
58
+ }
59
+
60
+ .oks-radio__input:is(:focus-visible, [data-focus-visible=true]) ~ [name='radio-focus'] {
61
+ display: inline-grid;
62
+ position: absolute;
63
+ fill: var(--oks-colors-gray-90);
64
+ }
65
+
66
+ .dark .oks-radio__input:is(:focus-visible, [data-focus-visible=true]) ~ [name='radio-focus'],.oks-radio__input:is(:focus-visible, [data-focus-visible=true]) ~ [name='radio-focus']:is([data-color-mode=dark] *),[data-color-mode=dark] .oks-radio__input:is(:focus-visible, [data-focus-visible=true]) ~ [name='radio-focus'] {
67
+ fill: gray.1;
68
+ }
69
+
70
+ .oks-radio__indicator {
71
+ place-content: center;
72
+ display: none;
73
+ width: var(--oks-sizes-24);
74
+ height: var(--oks-sizes-24);
75
+ }
76
+
77
+ .oks-radio__indicator:is([name='radio']) {
78
+ display: inline-grid;
79
+ fill: var(--oks-colors-gray-20);
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,103 @@
1
+ @layer recipes.slots {
2
+ @layer _base {
3
+ .oks-select__trigger {
4
+ background: var(--oks-colors-bg-input);
5
+ gap: var(--oks-spacing-8);
6
+ border-width: var(--oks-border-widths-1);
7
+ border-style: solid;
8
+ border-color: var(--oks-colors-border-input);
9
+ border-radius: var(--oks-radii-4);
10
+ outline: var(--oks-borders-none);
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ color: var(--oks-colors-text);
15
+ font-family: var(--oks-fonts-body);
16
+ cursor: pointer;
17
+ --transition-duration: var(--oks-durations-fast);
18
+ transition-duration: var(--oks-durations-fast);
19
+ transition-property: background, border-color, color, outline-color;
20
+ --transition-easing: var(--oks-easings-default);
21
+ transition-timing-function: var(--oks-easings-default);
22
+ width: var(--oks-sizes-full);
23
+ }
24
+
25
+ .oks-select__trigger:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
26
+ background: var(--oks-colors-bg-disabled);
27
+ border-color: var(--oks-colors-border-disabled);
28
+ color: var(--oks-colors-text-disabled);
29
+ cursor: not-allowed;
30
+ opacity: 0.5;
31
+ }
32
+
33
+ .oks-select__trigger:is([data-error], [data-error=true]) {
34
+ background: var(--oks-colors-bg-danger);
35
+ border-color: var(--oks-colors-border-danger);
36
+ }
37
+
38
+ .oks-select__trigger:is([data-error], [data-error=true]):is(:hover, [data-hover=true]) {
39
+ background: var(--oks-colors-bg-danger-hovered);
40
+ }
41
+
42
+ .oks-select__trigger:is([data-error], [data-error=true]):is(:focus, [data-focus=true]) {
43
+ border-color: var(--oks-colors-border-danger);
44
+ outline-color: var(--oks-colors-border-danger);
45
+ }
46
+
47
+ .oks-select__trigger:is(:focus, [data-focus=true]) {
48
+ border-color: var(--oks-colors-border-focused);
49
+ outline-width: var(--oks-border-widths-2);
50
+ outline-offset: calc(var(--oks-spacing-1) * -1);
51
+ outline-style: solid;
52
+ outline-color: var(--oks-colors-border-focused);
53
+ }
54
+
55
+ .oks-select__trigger:is(:hover, [data-hover=true]) {
56
+ background: var(--oks-colors-bg-input-hovered);
57
+ }
58
+
59
+ .oks-select__value {
60
+ flex: 1 1 0%;
61
+ text-align: left;
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ white-space: nowrap;
65
+ color: var(--oks-colors-text);
66
+ }
67
+
68
+ .oks-select__value::placeholder,.oks-select__value[data-placeholder] {
69
+ color: var(--oks-colors-text-subtlest);
70
+ }
71
+
72
+ .oks-select__placeholder {
73
+ color: var(--oks-colors-text-subtlest);
74
+ }
75
+
76
+ .oks-select__icon {
77
+ display: flex;
78
+ align-items: center;
79
+ flex-shrink: 0;
80
+ color: var(--oks-colors-icon-decorative);
81
+ --transition-duration: var(--oks-durations-normal);
82
+ transition-duration: var(--oks-durations-normal);
83
+ transition-property: transform;
84
+ --transition-easing: var(--oks-easings-default);
85
+ transition-timing-function: var(--oks-easings-default);
86
+ }
87
+
88
+ .oks-select__icon[data-open="true"] {
89
+ transform: rotate(180deg);
90
+ }
91
+ }
92
+
93
+ .oks-select__trigger--size_md {
94
+ padding-block: var(--oks-spacing-3);
95
+ padding-inline: var(--oks-spacing-12);
96
+ font-size: var(--oks-font-sizes-16);
97
+ }
98
+
99
+ .oks-select__icon--size_md {
100
+ width: var(--oks-sizes-24);
101
+ height: var(--oks-sizes-24);
102
+ }
103
+ }
@@ -0,0 +1,36 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-spinner {
4
+ animation: var(--oks-animations-spin);
5
+ border-radius: var(--oks-radii-100);
6
+ border-width: 3px;
7
+ border-style: solid;
8
+ border-color: var(--oks-colors-transparent);
9
+ aspect-ratio: var(--oks-aspect-ratios-square);
10
+ isolation: isolate;
11
+ border-top-color: var(--oks-colors-icon);
12
+ border-bottom-color: var(--oks-colors-icon);
13
+ }
14
+ }
15
+
16
+ .oks-spinner--size_sm {
17
+ border-width: var(--oks-border-widths-2);
18
+ height: var(--oks-sizes-20);
19
+ min-height: var(--oks-sizes-20);
20
+ }
21
+
22
+ .oks-spinner--size_md {
23
+ height: var(--oks-sizes-24);
24
+ min-height: var(--oks-sizes-24);
25
+ }
26
+
27
+ .oks-spinner--size_lg {
28
+ height: var(--oks-sizes-32);
29
+ min-height: var(--oks-sizes-32);
30
+ }
31
+
32
+ .oks-spinner--inverse_true {
33
+ border-top-color: var(--oks-colors-icon-inverse);
34
+ border-bottom-color: var(--oks-colors-icon-inverse);
35
+ }
36
+ }
@@ -0,0 +1,27 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-tag {
4
+ padding-block: var(--oks-spacing-0);
5
+ border-radius: var(--oks-radii-2);
6
+ gap: var(--oks-spacing-1);
7
+ padding-inline: var(--oks-spacing-4);
8
+ display: flex;
9
+ font-family: var(--oks-fonts-sans);
10
+ font-size: var(--oks-font-sizes-14);
11
+ font-weight: 500;
12
+ white-space: nowrap;
13
+ height: var(--oks-sizes-20);
14
+ width: fit-content;
15
+ }
16
+ }
17
+
18
+ .oks-tag--iconPosition_left {
19
+ gap: var(--oks-spacing-1);
20
+ flex-direction: row;
21
+ padding-left: var(--oks-spacing-1);
22
+ }
23
+
24
+ .oks-tag--hasIcon_false {
25
+ padding-inline: var(--oks-spacing-4);
26
+ }
27
+ }
@@ -0,0 +1,46 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-text {
4
+ margin: var(--oks-spacing-0);
5
+ line-height: var(--oks-line-heights-default);
6
+ font-weight: var(--oks-font-weights-normal);
7
+ font-size: var(--oks-font-sizes-16);
8
+ color: var(--oks-colors-text-subtlest);
9
+ max-width: var(--oks-sizes-prose);
10
+ }
11
+ }
12
+
13
+ .oks-text--family_mono {
14
+ font-family: var(--oks-fonts-mono);
15
+ }
16
+
17
+ .oks-text--family_inherit {
18
+ font-family: inherit;
19
+ }
20
+
21
+ .oks-text--italic_true {
22
+ font-style: italic;
23
+ }
24
+
25
+ .oks-text--bold_true {
26
+ font-weight: var(--oks-font-weights-bold);
27
+ }
28
+
29
+ .oks-text--underline_true {
30
+ text-decoration: underline;
31
+ }
32
+
33
+ .oks-text--size_14 {
34
+ font-size: var(--oks-sizes-14);
35
+ }
36
+
37
+ .oks-text--weight_bold {
38
+ font-weight: 700;
39
+ }
40
+
41
+ .oks-text--allcaps_true {
42
+ text-transform: uppercase;
43
+ font-weight: var(--oks-font-weights-bold);
44
+ letter-spacing: var(--oks-letter-spacings-widest);
45
+ }
46
+ }
@@ -0,0 +1,91 @@
1
+ @layer recipes {
2
+ @layer _base {
3
+ .oks-textarea {
4
+ background: var(--oks-colors-bg-input);
5
+ border-width: var(--oks-border-widths-1);
6
+ border-style: solid;
7
+ border-color: var(--oks-colors-border-input);
8
+ border-radius: var(--oks-radii-4);
9
+ display: inline-grid;
10
+ position: relative;
11
+ vertical-align: top;
12
+ outline-width: var(--oks-border-widths-2);
13
+ outline-offset: calc(var(--oks-spacing-1) * -1);
14
+ outline-style: solid;
15
+ outline-color: var(--oks-colors-transparent);
16
+ line-height: var(--oks-line-heights-default);
17
+ font-family: var(--oks-fonts-body);
18
+ color: var(--oks-colors-text);
19
+ --transition-duration: var(--oks-durations-fast);
20
+ transition-duration: var(--oks-durations-fast);
21
+ transition-property: background, border-color, color, outline-color;
22
+ --transition-easing: var(--oks-easings-default);
23
+ transition-timing-function: var(--oks-easings-default);
24
+ width: var(--oks-sizes-full);
25
+ }
26
+
27
+ .oks-textarea:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
28
+ background: var(--oks-colors-bg-disabled);
29
+ border-color: var(--oks-colors-border-disabled);
30
+ color: var(--oks-colors-text-disabled);
31
+ }
32
+
33
+ .oks-textarea:is([data-error], [data-error=true]) {
34
+ background: var(--oks-colors-bg-danger);
35
+ border-color: var(--oks-colors-border-danger);
36
+ display: inline-grid;
37
+ color: var(--oks-colors-text-danger);
38
+ }
39
+
40
+ .oks-textarea:is([data-error], [data-error=true]):is(:hover, [data-hover=true]) {
41
+ background: var(--oks-colors-bg-danger-hovered);
42
+ border-color: var(--oks-colors-border-danger);
43
+ }
44
+
45
+ .oks-textarea:is([data-error], [data-error=true]):is(:focus, [data-focus=true]) {
46
+ background: var(--oks-colors-bg-danger);
47
+ border-color: var(--oks-colors-border-danger);
48
+ outline-color: var(--oks-colors-border-danger);
49
+ }
50
+
51
+ .oks-textarea:is([data-error], [data-error=true])::placeholder,.oks-textarea:is([data-error], [data-error=true])[data-placeholder] {
52
+ --mix-color: color-mix(in srgb, var(--oks-colors-text-danger) 60%, transparent);
53
+ color: var(--mix-color, var(--oks-colors-text-danger));
54
+ }
55
+
56
+ .oks-textarea::placeholder,.oks-textarea[data-placeholder] {
57
+ color: var(--oks-colors-text-placeholder);
58
+ }
59
+
60
+ .oks-textarea:is(:focus, [data-focus=true]) {
61
+ background: var(--oks-colors-bg-input-pressed);
62
+ border-color: var(--oks-colors-border-focused);
63
+ outline-color: var(--oks-colors-border-focused);
64
+ }
65
+ }
66
+
67
+ .oks-textarea--size_md {
68
+ padding-block: var(--oks-spacing-3);
69
+ padding-inline: var(--oks-spacing-10);
70
+ font-size: var(--oks-font-sizes-16);
71
+ min-height: var(--oks-sizes-64);
72
+ }
73
+
74
+ .oks-textarea--size_sm {
75
+ padding-block: var(--oks-spacing-0);
76
+ padding-inline: var(--oks-spacing-8);
77
+ font-size: var(--oks-font-sizes-14);
78
+ min-height: var(--oks-sizes-48);
79
+ }
80
+
81
+ .oks-textarea--size_lg {
82
+ padding-block: var(--oks-spacing-7);
83
+ padding-inline: var(--oks-spacing-12);
84
+ font-size: var(--oks-font-sizes-16);
85
+ min-height: var(--oks-sizes-80);
86
+ }
87
+
88
+ .oks-textarea--autoSize_false {
89
+ width: var(--oks-sizes-full);
90
+ }
91
+ }