@teammodlr/ui-kit 2.0.21 → 2.0.23

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 (181) hide show
  1. package/lib/__storybook__/argTypes.d.ts +40 -40
  2. package/lib/__storybook__/createStory.d.ts +8 -8
  3. package/lib/__storybook__/index.d.ts +2 -2
  4. package/lib/components/avatar/Avatar.vue.d.ts +56 -56
  5. package/lib/components/avatar/style/Avatar.css.d.ts +9 -9
  6. package/lib/components/avatar/style/index.d.ts +1 -1
  7. package/lib/components/avatargroup/AvatarGroup.vue.d.ts +49 -49
  8. package/lib/components/avatargroup/style/AvatarGroup.css.d.ts +2 -2
  9. package/lib/components/avatargroup/style/index.d.ts +1 -1
  10. package/lib/components/avatargroup/symbol.d.ts +13 -13
  11. package/lib/components/badge/Badge.vue.d.ts +30 -30
  12. package/lib/components/badge/style/Badge.css.d.ts +4 -4
  13. package/lib/components/badge/style/index.d.ts +1 -1
  14. package/lib/components/breadcrumb/Breadcrumb.vue.d.ts +34 -34
  15. package/lib/components/breadcrumb/BreadcrumbItem.vue.d.ts +29 -29
  16. package/lib/components/breadcrumb/style/Breadcrumb.css.d.ts +4 -4
  17. package/lib/components/breadcrumb/style/index.d.ts +1 -1
  18. package/lib/components/breadcrumb/symbol.d.ts +13 -13
  19. package/lib/components/button/Button.vue.d.ts +141 -141
  20. package/lib/components/button/style/Button.css.d.ts +25 -25
  21. package/lib/components/button/style/index.d.ts +1 -1
  22. package/lib/components/buttongroup/ButtonGroup.vue.d.ts +18 -18
  23. package/lib/components/buttongroup/style/ButtonGroup.css.d.ts +2 -2
  24. package/lib/components/buttongroup/style/index.d.ts +1 -1
  25. package/lib/components/buttongroup/symbol.d.ts +6 -6
  26. package/lib/components/checkbox/Checkbox.vue.d.ts +94 -94
  27. package/lib/components/checkbox/style/Checkbox.css.d.ts +16 -16
  28. package/lib/components/checkbox/style/index.d.ts +1 -1
  29. package/lib/components/colorpicker/ColorPicker.vue.d.ts +77 -77
  30. package/lib/components/colorpicker/style/ColorPicker.css.d.ts +10 -10
  31. package/lib/components/colorpicker/style/index.d.ts +1 -1
  32. package/lib/components/colorpicker/utils.d.ts +16 -16
  33. package/lib/components/dropdown/Dropdown.vue.d.ts +122 -122
  34. package/lib/components/dropdown/DropdownItem.vue.d.ts +78 -78
  35. package/lib/components/dropdown/DropdownList.vue.d.ts +5 -5
  36. package/lib/components/dropdown/DropdownSeperator.vue.d.ts +4 -4
  37. package/lib/components/dropdown/DropdownWrapper.vue.d.ts +2 -2
  38. package/lib/components/dropdown/hooks.d.ts +2 -2
  39. package/lib/components/dropdown/style/Dropdown.css.d.ts +6 -6
  40. package/lib/components/dropdown/style/index.d.ts +1 -1
  41. package/lib/components/dropdown/symbol.d.ts +6 -6
  42. package/lib/components/form/Form.vue.d.ts +75 -75
  43. package/lib/components/form/style/Form.css.d.ts +4 -4
  44. package/lib/components/form/style/index.d.ts +2 -2
  45. package/lib/components/form/symbol.d.ts +9 -9
  46. package/lib/components/image/Image.vue.d.ts +50 -50
  47. package/lib/components/index.d.ts +40 -39
  48. package/lib/components/input/Input.vue.d.ts +142 -142
  49. package/lib/components/input/style/Input.css.d.ts +23 -23
  50. package/lib/components/input/style/index.d.ts +1 -1
  51. package/lib/components/link/Link.vue.d.ts +51 -51
  52. package/lib/components/messageprovider/Message.vue.d.ts +73 -73
  53. package/lib/components/messageprovider/MessageProvider.vue.d.ts +52 -52
  54. package/lib/components/messageprovider/style/Message.css.d.ts +12 -12
  55. package/lib/components/messageprovider/style/index.d.ts +1 -1
  56. package/lib/components/messageprovider/types.d.ts +29 -29
  57. package/lib/components/messageprovider/useMessage.d.ts +2 -2
  58. package/lib/components/modal/Modal.vue.d.ts +52 -52
  59. package/lib/components/modal/style/Modal.css.d.ts +21 -21
  60. package/lib/components/modal/style/index.d.ts +1 -1
  61. package/lib/components/pagination/Pagination.vue.d.ts +75 -75
  62. package/lib/components/pagination/style/Pagination.css.d.ts +10 -10
  63. package/lib/components/pagination/style/index.d.ts +1 -1
  64. package/lib/components/radio/Radio.vue.d.ts +85 -85
  65. package/lib/components/radio/style/Checkbox.css.d.ts +16 -16
  66. package/lib/components/radio/style/index.d.ts +1 -1
  67. package/lib/components/radiobutton/RadioButton.vue.d.ts +98 -98
  68. package/lib/components/radiobutton/style/RadioButton.css.d.ts +14 -14
  69. package/lib/components/radiobutton/style/index.d.ts +1 -1
  70. package/lib/components/radiobuttongroup/RadioButtonGroup.vue.d.ts +48 -48
  71. package/lib/components/radiobuttongroup/style/RadioButtonGroup.css.d.ts +3 -3
  72. package/lib/components/radiobuttongroup/style/index.d.ts +1 -1
  73. package/lib/components/radiobuttongroup/symbol.d.ts +9 -9
  74. package/lib/components/select/Select.vue.d.ts +194 -194
  75. package/lib/components/select/style/Select.css.d.ts +31 -31
  76. package/lib/components/select/style/index.d.ts +1 -1
  77. package/lib/components/skeleton/Skeleton.vue.d.ts +33 -33
  78. package/lib/components/skeleton/style/Skeleton.css.d.ts +8 -8
  79. package/lib/components/skeleton/style/index.d.ts +2 -2
  80. package/lib/components/slider/Slider.vue.d.ts +32 -32
  81. package/lib/components/slider/style/Slider.css.d.ts +4 -4
  82. package/lib/components/slider/style/index.d.ts +1 -1
  83. package/lib/components/tab/Tab.vue.d.ts +41 -41
  84. package/lib/components/tab/TabGroup.vue.d.ts +43 -43
  85. package/lib/components/table/Table.vue.d.ts +62 -62
  86. package/lib/components/table/TableBody.vue.d.ts +2 -2
  87. package/lib/components/table/TableCell.vue.d.ts +2 -2
  88. package/lib/components/table/TableHead.vue.d.ts +30 -30
  89. package/lib/components/table/TableHeadRow.vue.d.ts +2 -2
  90. package/lib/components/table/TableRow.vue.d.ts +2 -2
  91. package/lib/components/table/style/Table.css.d.ts +4 -4
  92. package/lib/components/table/style/index.d.ts +1 -1
  93. package/lib/components/table/types/index.d.ts +6 -6
  94. package/lib/components/tag/Tag.vue.d.ts +44 -44
  95. package/lib/components/tag/style/Tag.css.d.ts +11 -11
  96. package/lib/components/tag/style/index.d.ts +1 -1
  97. package/lib/components/textarea/TextArea.vue.d.ts +137 -0
  98. package/lib/components/textarea/style/TextArea.css.d.ts +19 -0
  99. package/lib/components/textarea/style/index.d.ts +1 -0
  100. package/lib/components/tooltip/Tooltip.vue.d.ts +71 -71
  101. package/lib/components/tooltip/style/Tooltip.css.d.ts +10 -10
  102. package/lib/components/tooltip/style/index.d.ts +1 -1
  103. package/lib/components/transfer/Transfer.vue.d.ts +67 -67
  104. package/lib/components/transfer/style/Transfer.css.d.ts +7 -7
  105. package/lib/components/transfer/style/index.d.ts +1 -1
  106. package/lib/components/virtualscroll/VirtualScroll.vue.d.ts +73 -73
  107. package/lib/components/virtualscroll/style/VirtualScroll.css.d.ts +1 -1
  108. package/lib/components/virtualscroll/style/index.d.ts +1 -1
  109. package/lib/composables/element.d.ts +2 -2
  110. package/lib/composables/index.d.ts +3 -3
  111. package/lib/composables/useCachedUid.d.ts +13 -13
  112. package/lib/composables/useEventListener.d.ts +1 -1
  113. package/lib/composables/useInput.d.ts +36 -36
  114. package/lib/composables/useInteractive.d.ts +15 -15
  115. package/lib/composables/useIsServer.d.ts +1 -1
  116. package/lib/composables/useMount.d.ts +13 -13
  117. package/lib/composables/usePopper.d.ts +31 -31
  118. package/lib/composables/useZIndex.d.ts +8 -8
  119. package/lib/create.d.ts +9 -9
  120. package/lib/index.cjs.js +4 -4
  121. package/lib/index.d.ts +5 -5
  122. package/lib/index.es.js +1746 -1585
  123. package/lib/install.d.ts +4 -4
  124. package/lib/style.css +1 -1
  125. package/lib/styles/theme.css.d.ts +167 -167
  126. package/lib/styles/typography.css.d.ts +22 -22
  127. package/lib/types/props.d.ts +3 -3
  128. package/package.json +11 -11
  129. package/src/components/avatargroup/AvatarGroup.vue +71 -71
  130. package/src/components/avatargroup/symbol.ts +16 -16
  131. package/src/components/breadcrumb/BreadcrumbItem.vue +72 -72
  132. package/src/components/breadcrumb/style/Breadcrumb.css.ts +39 -39
  133. package/src/components/breadcrumb/symbol.ts +16 -16
  134. package/src/components/button/Button.vue +203 -203
  135. package/src/components/buttongroup/ButtonGroup.vue +36 -36
  136. package/src/components/buttongroup/symbol.ts +7 -7
  137. package/src/components/dropdown/DropdownItem.vue +134 -134
  138. package/src/components/dropdown/DropdownSeperator.vue +22 -22
  139. package/src/components/dropdown/symbol.ts +7 -7
  140. package/src/components/form/style/Form.css.ts +22 -22
  141. package/src/components/form/style/index.ts +1 -1
  142. package/src/components/form/symbol.ts +10 -10
  143. package/src/components/index.ts +2 -1
  144. package/src/components/modal/examples/index.ts +2 -2
  145. package/src/components/pagination/Pagination.vue +229 -229
  146. package/src/components/pagination/examples/basic.vue +17 -17
  147. package/src/components/pagination/examples/index.stories.ts +14 -14
  148. package/src/components/pagination/style/Pagination.css.ts +87 -87
  149. package/src/components/pagination/style/index.ts +1 -1
  150. package/src/components/radiobutton/RadioButton.vue +131 -131
  151. package/src/components/radiobutton/style/RadioButton.css.ts +183 -183
  152. package/src/components/radiobutton/style/index.ts +1 -1
  153. package/src/components/radiobuttongroup/RadioButtonGroup.vue +74 -74
  154. package/src/components/radiobuttongroup/style/RadioButtonGroup.css.ts +36 -36
  155. package/src/components/radiobuttongroup/symbol.ts +10 -10
  156. package/src/components/skeleton/Skeleton.vue +55 -55
  157. package/src/components/skeleton/style/Skeleton.css.ts +56 -56
  158. package/src/components/skeleton/style/index.ts +1 -1
  159. package/src/components/table/Table.vue +4 -1
  160. package/src/components/table/style/Table.css.ts +80 -80
  161. package/src/components/textarea/TextArea.css +173 -0
  162. package/src/components/textarea/TextArea.vue +181 -0
  163. package/src/components/textarea/examples/basic.vue +8 -0
  164. package/src/components/textarea/examples/index.stories.ts +18 -0
  165. package/src/components/textarea/examples/index.ts +1 -0
  166. package/src/components/textarea/style/TextArea.css.ts +190 -0
  167. package/src/components/textarea/style/index.ts +1 -0
  168. package/src/components/tooltip/style/Tooltip.css.ts +91 -91
  169. package/src/components/tooltip/style/index.ts +1 -1
  170. package/src/components/transfer/Transfer.vue +143 -143
  171. package/src/components/transfer/examples/basic.vue +20 -20
  172. package/src/components/transfer/examples/index.stories.ts +15 -15
  173. package/src/components/transfer/examples/index.ts +1 -1
  174. package/src/components/transfer/style/Transfer.css.ts +67 -67
  175. package/src/components/transfer/style/index.ts +1 -1
  176. package/src/composables/index.ts +2 -2
  177. package/src/composables/useInteractive.ts +19 -19
  178. package/src/composables/useZIndex.ts +30 -30
  179. package/src/examples/cards/cards.stories.ts +9 -9
  180. package/src/examples/cards/sidebar.vue +262 -262
  181. package/src/styles/theme.css.ts +170 -170
@@ -1,55 +1,55 @@
1
- <template>
2
- <div
3
- :class="computedClasses"
4
- :style="computedStyles"
5
- ></div>
6
- </template>
7
-
8
- <script lang="ts">
9
- import {computed, defineComponent} from 'vue';
10
- import * as style from "./style";
11
-
12
- export default defineComponent({
13
- name: "MSkeleton",
14
- props: {
15
- width: {
16
- type: String
17
- },
18
- height: {
19
- type: String
20
- },
21
- loading: {
22
- type: Boolean,
23
- default: true
24
- }
25
- },
26
- setup(props) {
27
- const computedClasses = computed(() => {
28
- return [
29
- style.base,
30
- {
31
- [style.loading]: props.loading
32
- }
33
- ]
34
- });
35
-
36
- const computedStyles = computed(() => {
37
- let styles = {} as Record<string, string>;
38
- if (props.width) {
39
- styles[style.vars.width] = props.width;
40
- }
41
-
42
- if (props.height) {
43
- styles[style.vars.height] = props.height;
44
- }
45
-
46
- return style.assignInlineVars(styles);
47
- });
48
-
49
- return {
50
- computedClasses,
51
- computedStyles
52
- }
53
- }
54
- })
55
- </script>
1
+ <template>
2
+ <div
3
+ :class="computedClasses"
4
+ :style="computedStyles"
5
+ ></div>
6
+ </template>
7
+
8
+ <script lang="ts">
9
+ import {computed, defineComponent} from 'vue';
10
+ import * as style from "./style";
11
+
12
+ export default defineComponent({
13
+ name: "MSkeleton",
14
+ props: {
15
+ width: {
16
+ type: String
17
+ },
18
+ height: {
19
+ type: String
20
+ },
21
+ loading: {
22
+ type: Boolean,
23
+ default: true
24
+ }
25
+ },
26
+ setup(props) {
27
+ const computedClasses = computed(() => {
28
+ return [
29
+ style.base,
30
+ {
31
+ [style.loading]: props.loading
32
+ }
33
+ ]
34
+ });
35
+
36
+ const computedStyles = computed(() => {
37
+ let styles = {} as Record<string, string>;
38
+ if (props.width) {
39
+ styles[style.vars.width] = props.width;
40
+ }
41
+
42
+ if (props.height) {
43
+ styles[style.vars.height] = props.height;
44
+ }
45
+
46
+ return style.assignInlineVars(styles);
47
+ });
48
+
49
+ return {
50
+ computedClasses,
51
+ computedStyles
52
+ }
53
+ }
54
+ })
55
+ </script>
@@ -1,57 +1,57 @@
1
- import {createVar, globalKeyframes, style} from "@vanilla-extract/css";
2
- import {themeVars} from "../../../styles/theme.css";
3
-
4
- const borderRadiuses = {
5
- xs: '2px',
6
- sm: '3px',
7
- md: '4px',
8
- lg: '6px',
9
- xl: '8px',
10
- };
11
-
12
- export const vars = {
13
- height: createVar(),
14
- width: createVar(),
15
- marginBottom: createVar(),
16
- radius: createVar(),
17
- };
18
-
19
- export const base = style({
20
- vars: {
21
- [vars.width]: '100%',
22
- [vars.height]: '1em',
23
- [vars.marginBottom]: themeVars.space[2],
24
- [vars.radius]: borderRadiuses.md,
25
- },
26
- width: vars.width,
27
- height: vars.height,
28
- marginBottom: vars.marginBottom,
29
- borderRadius: vars.radius,
30
- position: "relative",
31
- display: "inline-block",
32
- overflow: "hidden",
33
- backgroundColor: themeVars.color.gray[200],
34
- });
35
-
36
- const shineAnimation = "skeleton-shine-animation";
37
- globalKeyframes(shineAnimation, {
38
- 'from': {
39
- transform: 'translate(-37.5%)',
40
- },
41
- 'to': {
42
- transform: 'translate(37.5%)'
43
- }
44
- });
45
-
46
- export const loading = style({
47
- selectors: {
48
- ['&::after']: {
49
- content: '',
50
- position: 'absolute',
51
- pointerEvents: 'none',
52
- inset: '0 -150%',
53
- backgroundImage: `linear-gradient(to right,transparent 25%,${themeVars.color.gray[100]} 37%,transparent 63%)`,
54
- animation: `${shineAnimation} 2s ${themeVars.transition.default} infinite`
55
- }
56
- }
1
+ import {createVar, globalKeyframes, style} from "@vanilla-extract/css";
2
+ import {themeVars} from "../../../styles/theme.css";
3
+
4
+ const borderRadiuses = {
5
+ xs: '2px',
6
+ sm: '3px',
7
+ md: '4px',
8
+ lg: '6px',
9
+ xl: '8px',
10
+ };
11
+
12
+ export const vars = {
13
+ height: createVar(),
14
+ width: createVar(),
15
+ marginBottom: createVar(),
16
+ radius: createVar(),
17
+ };
18
+
19
+ export const base = style({
20
+ vars: {
21
+ [vars.width]: '100%',
22
+ [vars.height]: '1em',
23
+ [vars.marginBottom]: themeVars.space[2],
24
+ [vars.radius]: borderRadiuses.md,
25
+ },
26
+ width: vars.width,
27
+ height: vars.height,
28
+ marginBottom: vars.marginBottom,
29
+ borderRadius: vars.radius,
30
+ position: "relative",
31
+ display: "inline-block",
32
+ overflow: "hidden",
33
+ backgroundColor: themeVars.color.gray[200],
34
+ });
35
+
36
+ const shineAnimation = "skeleton-shine-animation";
37
+ globalKeyframes(shineAnimation, {
38
+ 'from': {
39
+ transform: 'translate(-37.5%)',
40
+ },
41
+ 'to': {
42
+ transform: 'translate(37.5%)'
43
+ }
44
+ });
45
+
46
+ export const loading = style({
47
+ selectors: {
48
+ ['&::after']: {
49
+ content: '',
50
+ position: 'absolute',
51
+ pointerEvents: 'none',
52
+ inset: '0 -150%',
53
+ backgroundImage: `linear-gradient(to right,transparent 25%,${themeVars.color.gray[100]} 37%,transparent 63%)`,
54
+ animation: `${shineAnimation} 2s ${themeVars.transition.default} infinite`
55
+ }
56
+ }
57
57
  });
@@ -1,2 +1,2 @@
1
- export {assignInlineVars} from '@vanilla-extract/dynamic';
1
+ export {assignInlineVars} from '@vanilla-extract/dynamic';
2
2
  export * from './Skeleton.css';
@@ -33,9 +33,12 @@
33
33
  </slot>
34
34
  </TableCell>
35
35
  </TableRow>
36
- <tr :colspan="headers.length" v-if="items.length === 0">
36
+ <tr v-if="items.length === 0" :colspan="headers.length">
37
37
  <slot name="empty" />
38
38
  </tr>
39
+ <tr v-if="loading" :colspan="headers.length">
40
+ <slot name="loading" />
41
+ </tr>
39
42
  </TableBody>
40
43
  </table>
41
44
  </div>
@@ -1,81 +1,81 @@
1
- import { createVar, globalKeyframes, globalStyle, style, styleVariants } from "@vanilla-extract/css";
2
- import { themeVars } from "../../../styles/theme.css";
3
-
4
- export const wrapper = style({
5
- width: "100%",
6
- overflow: "auto",
7
- });
8
-
9
- const vars = {
10
- headerHeight: createVar(),
11
- cellPadding: createVar(),
12
- fontSize: createVar()
13
- }
14
-
15
- export const table = style({
16
- vars: {
17
- [vars.headerHeight]: "44px",
18
- [vars.cellPadding]: "8px 14px",
19
- [vars.fontSize]: themeVars.fontSize.base,
20
- },
21
- width: "100%",
22
- borderCollapse: "collapse",
23
- fontSize: vars.fontSize
24
- });
25
-
26
- export const hoverable = style({});
27
- export const striped = style({});
28
-
29
- globalStyle(`${striped} tbody tr:nth-child(even)`, {
30
- backgroundColor: themeVars.color.gray[100],
31
- });
32
-
33
- globalStyle(`${table} tbody:before`, {
34
- content:"@",
35
- display:"block",
36
- lineHeight:"5px",
37
- textIndent:"-99999px"
38
- });
39
-
40
- globalStyle(`${table} th`, {
41
- height: vars.headerHeight,
42
- padding: vars.cellPadding,
43
- textAlign: "left",
44
- backgroundColor: themeVars.color.gray[200],
45
- color: themeVars.color.gray[700],
46
- fontWeight: 500,
47
- fontSize: themeVars.fontSize.base,
48
- marginBottom: "5px"
49
- });
50
-
51
- // round first and last cells
52
- globalStyle(`${table} th:first-child`, {
53
- borderTopLeftRadius: themeVars.rounded.medium,
54
- borderBottomLeftRadius: themeVars.rounded.medium,
55
- });
56
-
57
- globalStyle(`${table} th:last-child`, {
58
- borderTopRightRadius: themeVars.rounded.medium,
59
- borderBottomRightRadius: themeVars.rounded.medium,
60
- });
61
-
62
- globalStyle(`${table} td:first-child`, {
63
- borderTopLeftRadius: themeVars.rounded.medium,
64
- borderBottomLeftRadius: themeVars.rounded.medium,
65
- });
66
-
67
- globalStyle(`${table} td:last-child`, {
68
- borderTopRightRadius: themeVars.rounded.medium,
69
- borderBottomRightRadius: themeVars.rounded.medium,
70
- });
71
-
72
- globalStyle(`${table} td`, {
73
- padding: vars.cellPadding,
74
- textAlign: "left",
75
- color: themeVars.color.gray[900],
76
- fontWeight: 400,
77
- });
78
-
79
- globalStyle(`${hoverable} tr:hover td`, {
80
- backgroundColor: themeVars.color.gray[150],
1
+ import { createVar, globalKeyframes, globalStyle, style, styleVariants } from "@vanilla-extract/css";
2
+ import { themeVars } from "../../../styles/theme.css";
3
+
4
+ export const wrapper = style({
5
+ width: "100%",
6
+ overflow: "auto",
7
+ });
8
+
9
+ const vars = {
10
+ headerHeight: createVar(),
11
+ cellPadding: createVar(),
12
+ fontSize: createVar()
13
+ }
14
+
15
+ export const table = style({
16
+ vars: {
17
+ [vars.headerHeight]: "44px",
18
+ [vars.cellPadding]: "8px 14px",
19
+ [vars.fontSize]: themeVars.fontSize.base,
20
+ },
21
+ width: "100%",
22
+ borderCollapse: "collapse",
23
+ fontSize: vars.fontSize
24
+ });
25
+
26
+ export const hoverable = style({});
27
+ export const striped = style({});
28
+
29
+ globalStyle(`${striped} tbody tr:nth-child(even)`, {
30
+ backgroundColor: themeVars.color.gray[100],
31
+ });
32
+
33
+ globalStyle(`${table} tbody:before`, {
34
+ content:"@",
35
+ display:"block",
36
+ lineHeight:"5px",
37
+ textIndent:"-99999px"
38
+ });
39
+
40
+ globalStyle(`${table} th`, {
41
+ height: vars.headerHeight,
42
+ padding: vars.cellPadding,
43
+ textAlign: "left",
44
+ backgroundColor: themeVars.color.gray[200],
45
+ color: themeVars.color.gray[700],
46
+ fontWeight: 500,
47
+ fontSize: themeVars.fontSize.base,
48
+ marginBottom: "5px"
49
+ });
50
+
51
+ // round first and last cells
52
+ globalStyle(`${table} th:first-child`, {
53
+ borderTopLeftRadius: themeVars.rounded.medium,
54
+ borderBottomLeftRadius: themeVars.rounded.medium,
55
+ });
56
+
57
+ globalStyle(`${table} th:last-child`, {
58
+ borderTopRightRadius: themeVars.rounded.medium,
59
+ borderBottomRightRadius: themeVars.rounded.medium,
60
+ });
61
+
62
+ globalStyle(`${table} td:first-child`, {
63
+ borderTopLeftRadius: themeVars.rounded.medium,
64
+ borderBottomLeftRadius: themeVars.rounded.medium,
65
+ });
66
+
67
+ globalStyle(`${table} td:last-child`, {
68
+ borderTopRightRadius: themeVars.rounded.medium,
69
+ borderBottomRightRadius: themeVars.rounded.medium,
70
+ });
71
+
72
+ globalStyle(`${table} td`, {
73
+ padding: vars.cellPadding,
74
+ textAlign: "left",
75
+ color: themeVars.color.gray[900],
76
+ fontWeight: 400,
77
+ });
78
+
79
+ globalStyle(`${hoverable} tr:hover td`, {
80
+ backgroundColor: themeVars.color.gray[150],
81
81
  });
@@ -0,0 +1,173 @@
1
+ .m-textarea__container {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: column;
5
+ width: 100%;
6
+ }
7
+
8
+ .m-textarea {
9
+ --textarea-height: 40px;
10
+ --textarea-padding: 0 8px;
11
+ --textarea-font-size: 15px;
12
+ --textarea-border-radius: 4px;
13
+ --textarea-clear-size: 1.2rem;
14
+ --textarea-background-color: var(--white);
15
+ --textarea-border-color: var(--gray-200);
16
+
17
+ position: relative;
18
+ display: block;
19
+ align-items: center;
20
+ height: var(--textarea-height);
21
+ font-size: var(--textarea-font-size);
22
+ background-color: var(--textarea-background-color);
23
+ border: 1px solid var(--textarea-border-color);
24
+ box-shadow: none;
25
+ border-radius: var(--textarea-border-radius);
26
+ outline: 0;
27
+ cursor: text;
28
+ transition: color .3s cubic-bezier(0.4, 0, 0.2, 1), background-color .3s cubic-bezier(0.4, 0, 0.2, 1), border-color .3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1);
29
+ }
30
+
31
+ .m-textarea.m-textarea--disabled {
32
+ --textarea-border-color: var(--gray-300);
33
+ --textarea-background-color: var(--gray-100);
34
+ opacity: 0.6;
35
+ cursor: not-allowed;
36
+ }
37
+
38
+ .m-textarea.m-textarea--disabled textarea {
39
+ cursor: not-allowed;
40
+ }
41
+
42
+ .m-textarea:not(.m-textarea--disabled):focus-within {
43
+ --textarea-border-color: var(--blue);
44
+ box-shadow: 0 0 0 2px var(--blue-outline);
45
+ }
46
+
47
+ .m-textarea:not(.m-textarea--disabled):not(:focus-within):hover {
48
+ --textarea-border-color: var(--gray-400);
49
+ }
50
+
51
+ .m-textarea textarea {
52
+ flex: 1 0 0;
53
+ min-width: 0;
54
+ height: 100%;
55
+ padding: var(--textarea-padding);
56
+ font-size: inherit;
57
+ color: var(--gray-600);
58
+ background-color: transparent;
59
+ border: 0;
60
+ outline: 0;
61
+ border-radius: var(--textarea-border-radius);
62
+ }
63
+
64
+ .m-textarea__clearable {
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ padding: 0 6px;
69
+ }
70
+
71
+ .m-textarea .m-textarea__clearable i.m-icon--close {
72
+ cursor: pointer;
73
+ width: var(--textarea-clear-size);
74
+ height: var(--textarea-clear-size);
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ border-radius: 100%;
79
+ color: var(--gray-500);
80
+ background-color: transparent;
81
+ transition: background-color .125s cubic-bezier(0.4, 0, 0.2, 1);
82
+ }
83
+
84
+ .m-textarea .m-textarea__clearable i.m-icon--close:hover {
85
+ color: var(--gray-500);
86
+ background-color: var(--gray-150);
87
+ }
88
+
89
+ .m-textarea i.m-icon--close::before {
90
+ --close-icon-size: 16px;
91
+ background-color: currentColor;
92
+ content: "";
93
+ width: var(--close-icon-size);
94
+ height: var(--close-icon-size);
95
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='w-5 h-5'%3E%3Cpath d='M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z' /%3E%3C/svg%3E%0A");
96
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='w-5 h-5'%3E%3Cpath d='M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z' /%3E%3C/svg%3E%0A");
97
+ -webkit-mask-position: center center;
98
+ mask-position: center center;
99
+ -webkit-mask-repeat: no-repeat;
100
+ mask-repeat: no-repeat;
101
+ -webkit-mask-size: var(--close-icon-size) var(--close-icon-size);
102
+ mask-size: var(--close-icon-size) var(--close-icon-size);
103
+ }
104
+
105
+ .m-textarea--xs {
106
+ --textarea-height: 32px;
107
+ --textarea-padding: 0 8px;
108
+ --textarea-font-size: 13px;
109
+ --textarea-border-radius: 4px;
110
+ --textarea-clear-size: 1.2rem;
111
+ }
112
+
113
+ .m-textarea--sm {
114
+ --textarea-height: 36px;
115
+ --textarea-padding: 0 8px;
116
+ --textarea-font-size: 14px;
117
+ --textarea-border-radius: 4px;
118
+ --textarea-clear-size: 1.2rem;
119
+ }
120
+
121
+ .m-textarea--md {
122
+ --textarea-height: 40px;
123
+ --textarea-padding: 0 8px;
124
+ --textarea-font-size: 15px;
125
+ --textarea-border-radius: 4px;
126
+ --textarea-clear-size: 1.2rem;
127
+ }
128
+
129
+ .m-textarea--lg {
130
+ --textarea-height: 42px;
131
+ --textarea-padding: 0 8px;
132
+ --textarea-font-size: 16px;
133
+ --textarea-border-radius: 4px;
134
+ --textarea-clear-size: 1.2rem;
135
+ }
136
+
137
+ .m-textarea--xl {
138
+ --textarea-height: 46px;
139
+ --textarea-padding: 0 8px;
140
+ --textarea-font-size: 18px;
141
+ --textarea-border-radius: 6px;
142
+ --textarea-clear-size: 1.2rem;
143
+ }
144
+
145
+ .m-textarea__label {
146
+ margin-bottom: 5px;
147
+ color: var(--gray-600);
148
+ font-size: 15px;
149
+ font-weight: 600;
150
+ }
151
+
152
+ .m-textarea__help {
153
+ margin-top: 4px;
154
+ color: var(--gray-500);
155
+ font-size: 15px;
156
+ font-weight: 400;
157
+ }
158
+
159
+ .m-textarea__error {
160
+ margin: 4px 0 8px 0;
161
+ color: var(--red);
162
+ font-size: 15px;
163
+ font-weight: 400;
164
+ }
165
+
166
+ .m-form .m-form__textarea {
167
+ margin-bottom: 16px;
168
+ }
169
+
170
+ .m-form .m-form__textarea .m-textarea__error {
171
+ margin: 4px 0 0 0;
172
+ }
173
+