@momentum-design/components 0.32.0 → 0.32.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.
@@ -0,0 +1,25 @@
1
+ import utils from '../../utils/tag-name';
2
+ import { TYPE as FONT_TYPE } from '../text/text.constants';
3
+ import { BUTTON_VARIANTS, ICON_BUTTON_SIZES } from '../button/button.constants';
4
+ const TAG_NAME = utils.constructTagName('textarea');
5
+ const CLEAR_BUTTON_ICON = 'cancel-bold';
6
+ const WRAP = {
7
+ HARD: 'hard',
8
+ SOFT: 'soft',
9
+ };
10
+ const AUTO_COMPLETE = {
11
+ OFF: 'off',
12
+ ON: 'on',
13
+ };
14
+ const DEFAULTS = {
15
+ ICON_SIZE_VALUE: 1,
16
+ ICON_SIZE_UNIT: 'rem',
17
+ CLEAR_BUTTON_ICON,
18
+ CLEAR_BUTTON_VARIANT: BUTTON_VARIANTS.TERTIARY,
19
+ CLEAR_BUTTON_SIZE: ICON_BUTTON_SIZES[20],
20
+ CHARACTER_COUNTER_TYPE: FONT_TYPE.BODY_MIDSIZE_REGULAR,
21
+ ROWS: 5,
22
+ COLS: 40,
23
+ WRAP: WRAP.SOFT,
24
+ };
25
+ export { TAG_NAME, WRAP, AUTO_COMPLETE, DEFAULTS };
@@ -0,0 +1,2 @@
1
+ declare const styles: import("lit").CSSResult[];
2
+ export default styles;
@@ -0,0 +1,122 @@
1
+ import { css } from 'lit';
2
+ import { hostFocusRingStyles } from '../../utils/styles';
3
+ const styles = [css `
4
+ :host {
5
+ --mdc-textarea-disabled-border-color: var(--mds-color-theme-outline-primary-disabled);
6
+ --mdc-textarea-disabled-text-color: var(--mds-color-theme-text-primary-disabled);
7
+ --mdc-textarea-disabled-background-color: var(--mds-color-theme-background-primary-disabled);
8
+ --mdc-textarea-text-color: var(--mds-color-theme-text-primary-normal);
9
+ --mdc-textarea-background-color: var(--mds-color-theme-background-primary-ghost);
10
+ --mdc-textarea-border-color: var(--mds-color-theme-outline-input-normal);
11
+ --mdc-textarea-text-secondary-normal : var(--mds-color-theme-text-secondary-normal);
12
+ --mdc-textarea-error-border-color: var(--mds-color-theme-text-error-normal);
13
+ --mdc-textarea-warning-border-color: var(--mds-color-theme-text-warning-normal);
14
+ --mdc-textarea-success-border-color: var(--mds-color-theme-text-success-normal);
15
+ --mdc-textarea-primary-border-color: var(--mds-color-theme-text-accent-normal);
16
+ --mdc-textarea-hover-background-color: var(--mds-color-theme-background-primary-hover);
17
+ --mdc-textarea-focused-background-color: var(--mds-color-theme-background-primary-active);
18
+ --mdc-textarea-focused-border-color: var(--mds-color-theme-outline-input-active);
19
+ --mdc-textarea-text-font-size: var(--mds-font-size-body-midsize);
20
+ --mdc-textarea-text-line-height: var(--mds-font-lineheight-body-midsize);
21
+ }
22
+
23
+ :host([disabled])::part(textarea),
24
+ :host([disabled])::part(textarea)::placeholder{
25
+ color: var(--mdc-input-disabled-text-color);
26
+ }
27
+
28
+ :host([disabled])::part(textarea),
29
+ :host([readonly])::part(textarea){
30
+ border-color: var(--mdc-textarea-disabled-border-color);
31
+ background: var(--mdc-textarea-disabled-background-color);
32
+ }
33
+
34
+ :host([disabled][help-text-type="default"])::part(textarea-container),
35
+ :host([disabled][help-text-type="success"])::part(textarea-container),
36
+ :host([disabled][help-text-type="warning"])::part(textarea-container),
37
+ :host([disabled][help-text-type="error"])::part(textarea-container),
38
+ :host([disabled][help-text-type="priority"])::part(textarea-container){
39
+ border-color: var(--mdc-textarea-disabled-border-color);
40
+ }
41
+
42
+ :host::part(textarea){
43
+ min-height: 6.25rem;
44
+ color: var(--mdc-textarea-text-color);
45
+ font-family: inherit;
46
+ font-size: var(--mdc-textarea-text-font-size);
47
+ line-height: var(--mdc-textarea-text-line-height);
48
+ background-color: var(--mdc-textarea-background-color);
49
+ resize: none;
50
+ border: none;
51
+ outline: none;
52
+ box-sizing: border-box;
53
+ }
54
+
55
+
56
+ :host::part(textarea-container) {
57
+ display: flex;
58
+ gap: 0.5rem;
59
+ border-radius: 0.5rem;
60
+ border: 0.0625rem solid var(--mdc-textarea-border-color);
61
+ overflow: hidden;
62
+ padding: 0.375rem 0.25rem 0.25rem 0.75rem;
63
+ }
64
+
65
+ :host(:not([disabled]))::part(textarea-container):hover{
66
+ background-color: var(--mdc-textarea-hover-background-color);
67
+ }
68
+
69
+ :host(:not([disabled]))::part(textarea-container):active,
70
+ :host(:not([disabled]))::part(textarea-container):focus-within{
71
+ background-color: var(--mdc-textarea-focused-background-color);
72
+ border-color: var(--mdc-textarea-focused-border-color);
73
+ }
74
+
75
+ :host::part(textarea-footer) {
76
+ display: flex;
77
+ justify-content: space-between;
78
+ align-items: center;
79
+ width: 100%;
80
+ }
81
+
82
+ .textarea::placeholder{
83
+ color: var(--mdc-textarea-text-secondary-normal);
84
+ }
85
+
86
+ :host::part(character-counter){
87
+ margin-left: auto;
88
+ color: var(--mdc-textarea-text-secondary-normal);
89
+ }
90
+
91
+ :host([help-text-type="error"])::part(character-counter) {
92
+ color: var(--mdc-textarea-error-border-color);
93
+ }
94
+
95
+ :host([disabled])::part(character-counter){
96
+ color: var(--mds-color-theme-text-primary-disabled);
97
+ }
98
+
99
+ :host([help-text-type="error"])::part(textarea-container),
100
+ :host([help-text-type="error"])::part(textarea-container):focus-within {
101
+ border-color: var(--mdc-textarea-error-border-color);
102
+ }
103
+ :host([help-text-type="warning"])::part(textarea-container),
104
+ :host([help-text-type="warning"])::part(textarea-container):focus-within {
105
+ border-color: var(--mdc-textarea-warning-border-color);
106
+ }
107
+ :host([help-text-type="success"])::part(textarea-container),
108
+ :host([help-text-type="success"])::part(textarea-container):focus-within {
109
+ border-color: var(--mdc-textarea-success-border-color);
110
+ }
111
+ :host([help-text-type="priority"])::part(textarea-container),
112
+ :host([help-text-type="priority"])::part(textarea-container):focus-within {
113
+ border-color: var(--mdc-textarea-primary-border-color);
114
+ }
115
+
116
+ .hidden {
117
+ opacity: 0;
118
+ pointer-events: none;
119
+ }
120
+
121
+ `, ...hostFocusRingStyles(true)];
122
+ export default styles;
@@ -0,0 +1,5 @@
1
+ import type { ValueOf } from '../../utils/types';
2
+ import { AUTO_COMPLETE, WRAP } from './textarea.constants';
3
+ type WrapType = ValueOf<typeof WRAP>;
4
+ type AutoCompleteType = ValueOf<typeof AUTO_COMPLETE>;
5
+ export { WrapType, AutoCompleteType };
@@ -0,0 +1 @@
1
+ export {};