kemet-ui 1.3.0 → 1.4.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.
- package/custom-elements.json +3125 -968
- package/dist/components/kemet-accordion/kemet-accordion-panel.js +29 -31
- package/dist/components/kemet-accordion/kemet-accordion.js +12 -6
- package/dist/components/kemet-alert/kemet-alert.js +106 -0
- package/dist/components/kemet-alert/styles.js +104 -0
- package/dist/components/kemet-avatar/kemet-avatar.js +118 -0
- package/dist/components/kemet-avatar/kemet-avatars.js +41 -0
- package/dist/components/kemet-badge/kemet-badge.js +16 -12
- package/dist/components/kemet-button/kemet-button.js +42 -25
- package/dist/components/kemet-card/kemet-card.js +69 -0
- package/dist/components/kemet-card/styles.js +63 -0
- package/dist/components/kemet-carousel/kemet-carousel-current.js +13 -3
- package/dist/components/kemet-carousel/kemet-carousel-first.js +17 -9
- package/dist/components/kemet-carousel/kemet-carousel-last.js +17 -9
- package/dist/components/kemet-carousel/kemet-carousel-link.js +23 -17
- package/dist/components/kemet-carousel/kemet-carousel-next.js +17 -9
- package/dist/components/kemet-carousel/kemet-carousel-prev.js +17 -9
- package/dist/components/kemet-carousel/kemet-carousel-slide.js +14 -11
- package/dist/components/kemet-carousel/kemet-carousel-total.js +13 -3
- package/dist/components/kemet-carousel/kemet-carousel.js +63 -133
- package/dist/components/kemet-carousel/styles.js +66 -0
- package/dist/components/kemet-checkbox/kemet-checkbox.js +28 -35
- package/dist/components/kemet-combo/kemet-combo.js +43 -28
- package/dist/components/kemet-count/kemet-count.js +29 -40
- package/dist/components/kemet-draggable/kemet-draggable.js +21 -23
- package/dist/components/kemet-drawer/kemet-drawer.js +36 -35
- package/dist/components/kemet-drawer/{kemet-drawer.styles.js → styles.js} +0 -0
- package/dist/components/kemet-fab/kemet-fab.js +39 -138
- package/dist/components/kemet-fab/styles.js +95 -0
- package/dist/components/kemet-field/kemet-field.js +31 -40
- package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +12 -5
- package/dist/components/kemet-flipcard/kemet-flipcard.js +24 -4
- package/dist/components/kemet-icon/kemet-icon.js +19 -15
- package/dist/components/kemet-input/kemet-input.js +81 -174
- package/dist/components/kemet-modal/kemet-modal-close.js +13 -8
- package/dist/components/kemet-modal/kemet-modal.js +26 -21
- package/dist/components/kemet-modal/{kemet-modal.styles.js → styles.js} +0 -0
- package/dist/components/kemet-password/kemet-password.js +40 -132
- package/dist/components/kemet-password/styles.js +80 -0
- package/dist/components/kemet-popover/kemet-popover-close.js +13 -7
- package/dist/components/kemet-popover/kemet-popover.js +42 -51
- package/dist/components/kemet-popover/{kemet-popover.effects.styles.js → styles.effects.js} +0 -0
- package/dist/components/kemet-popover/{kemet-popover.tooltip.styles.js → styles.tooltip.js} +0 -0
- package/dist/components/kemet-radio/kemet-radio.js +35 -43
- package/dist/components/kemet-radio/kemet-radios.js +25 -34
- package/dist/components/kemet-rotator/kemet-rotator.js +18 -18
- package/dist/components/kemet-scroll-link/kemet-scroll-link.js +15 -13
- package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +19 -10
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +25 -30
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +16 -9
- package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +27 -15
- package/dist/components/kemet-select/kemet-option.js +17 -12
- package/dist/components/kemet-select/kemet-select.js +62 -102
- package/dist/components/kemet-sortable/kemet-sortable-item.js +11 -5
- package/dist/components/kemet-sortable/kemet-sortable.js +16 -14
- package/dist/components/kemet-svgs/kemet-svg.js +17 -15
- package/dist/components/kemet-svgs/kemet-svgs.js +11 -3
- package/dist/components/kemet-tabs/kemet-tab-panel.js +14 -6
- package/dist/components/kemet-tabs/kemet-tab.js +22 -25
- package/dist/components/kemet-tabs/kemet-tabs.js +43 -41
- package/dist/components/kemet-tabs/{kemet-tabs.styles.js → styles.js} +0 -0
- package/dist/components/kemet-textarea/kemet-textarea.js +25 -54
- package/dist/components/kemet-toggle/kemet-toggle.js +39 -38
- package/dist/components/kemet-tracker/kemet-tracker-step.js +49 -160
- package/dist/components/kemet-tracker/kemet-tracker.js +12 -12
- package/dist/components/kemet-tracker/styles.js +111 -0
- package/dist/components/kemet-upload/kemet-upload-file.js +35 -44
- package/dist/components/kemet-upload/kemet-upload.js +53 -95
- package/dist/components/kemet-upload/{kemet-upload-file.loaders.styles.js → styles.js} +0 -0
- package/dist/kemet-components.cjs +2821 -2455
- package/dist/kemet-components.js +2822 -2444
- package/dist/kemet-components.min.js +912 -674
- package/dist/utilities/misc/events.js +5 -0
- package/package.json +13 -11
|
@@ -1,148 +1,49 @@
|
|
|
1
|
-
import { html,
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
|
+
import { stylesBase } from './styles.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @since 1.2.0
|
|
6
|
+
* @status stable
|
|
7
|
+
*
|
|
8
|
+
* @tagname kemet-fab
|
|
9
|
+
* @summary The FAB, or Floating Action Button, performs a primary action on a page.
|
|
10
|
+
*
|
|
11
|
+
* @prop {boolean} expanded - The expanded state of the button.
|
|
12
|
+
* @prop {boolean} outlined - Outline style for a button.
|
|
13
|
+
* @prop {boolean} disabled - Determines whether not a button is disabled.
|
|
14
|
+
* @prop {boolean} pill - Displays the fab with rounded corners.
|
|
15
|
+
* @prop {number} expandPoint - The distance, in pixels, where the fab should automatically expand.
|
|
16
|
+
* @prop {number} collapsePoint - The distance, in pixels, where the fab should automatically collapse.
|
|
17
|
+
*
|
|
18
|
+
* @slot Icon - A slot for an icon to display.
|
|
19
|
+
* @slot default - The text for the FAB.
|
|
20
|
+
*
|
|
21
|
+
* @cssproperty --kemet-fab-size - The width and height of the fab. Default: 50px.
|
|
22
|
+
* @cssproperty --kemet-fab-color - The text color of the fab. Default: var(--kemet-color-white).
|
|
23
|
+
* @cssproperty --kemet-fab-background-color - The bg color of the tab. Default: var(--kemet-color-primary).
|
|
24
|
+
* @cssproperty --kemet-fab-outlined-color - The text color of an outlined fab. Default: var(--kemet-color-primary).
|
|
25
|
+
* @cssproperty --kemet-fab-outlined-border - The border of an outlined fab. Default: 1px solid var(--kemet-color-primary).
|
|
26
|
+
* @cssproperty --kemet-fab-pill-radius - The border radius of a pill fab. Default: 10rem.
|
|
27
|
+
*
|
|
28
|
+
* @csspart button - The button's container.
|
|
29
|
+
* @csspart icon - The FAB's icon.
|
|
30
|
+
* @csspart text - The text in the FAB.
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
2
33
|
|
|
3
34
|
export default class KemetFAB extends LitElement {
|
|
4
35
|
static get styles() {
|
|
5
|
-
return [
|
|
6
|
-
css`
|
|
7
|
-
:host {
|
|
8
|
-
--kemet-fab-size: 50px;
|
|
9
|
-
|
|
10
|
-
display: inline-block;
|
|
11
|
-
position: relative;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
button {
|
|
15
|
-
color: var(--kemet-fab-color, var(--kemet-color-white));
|
|
16
|
-
font-size: inherit;
|
|
17
|
-
display: inline-flex;
|
|
18
|
-
padding: 0;
|
|
19
|
-
position: relative;
|
|
20
|
-
min-height: var(--kemet-fab-size);
|
|
21
|
-
min-width: var(--kemet-fab-size);
|
|
22
|
-
max-width: var(--kemet-fab-size);
|
|
23
|
-
align-items: center;
|
|
24
|
-
justify-content: flex-start;
|
|
25
|
-
transition: all 0.4s ease;
|
|
26
|
-
border: none;
|
|
27
|
-
background-color: var(--kemet-fab-background-color, var(--kemet-color-primary));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host([outlined]) button {
|
|
31
|
-
color: var(--kemet-fab-outlined-color, var(--kemet-color-primary));
|
|
32
|
-
border: var(--kemet-fab-outlined-border, 1px solid var(--kemet-color-primary));
|
|
33
|
-
background-color: transparent;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
:host([pill]) button {
|
|
37
|
-
border-radius: var(--kemet-fab-pill-radius, 10rem);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
button::before {
|
|
41
|
-
content: '';
|
|
42
|
-
position: absolute;
|
|
43
|
-
top: 0;
|
|
44
|
-
left: 0;
|
|
45
|
-
right: 0;
|
|
46
|
-
bottom: 0;
|
|
47
|
-
z-index: -1;
|
|
48
|
-
width: 100%;
|
|
49
|
-
height: 100%;
|
|
50
|
-
transition: background-color 0.3s ease-in-out;
|
|
51
|
-
background-color: var(--kemet-fab-background-color, var(--kemet-color-primary));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
:host([pill]) button::before {
|
|
55
|
-
border-radius: var(--kemet-fab-pill-radius, 10rem);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
:host([outlined]) button::before {
|
|
59
|
-
border: var(--kemet-fab-outline-border, 1px solid var(--kemet-color-primary));
|
|
60
|
-
background-color: transparent;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
:host([expanded]) button {
|
|
64
|
-
max-width: 99rem;
|
|
65
|
-
padding: 0 1.35rem 0 0.25rem;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
:host([disabled]) button {
|
|
69
|
-
opacity: 0.5;
|
|
70
|
-
cursor: not-allowed;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.icon {
|
|
74
|
-
width: var(--kemet-fab-size);
|
|
75
|
-
height: var(--kemet-fab-size);
|
|
76
|
-
display: flex;
|
|
77
|
-
flex: 0 0 auto;
|
|
78
|
-
align-items: center;
|
|
79
|
-
justify-content: center;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.text {
|
|
83
|
-
color: var(--kemet-fab-color, var(--kemet-color-white));
|
|
84
|
-
z-index: 1;
|
|
85
|
-
white-space: nowrap;
|
|
86
|
-
pointer-events: none;
|
|
87
|
-
opacity: 0;
|
|
88
|
-
transition: opacity 0.2s ease-in-out;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
:host([outlined]) .text {
|
|
92
|
-
color: var(--kemet-fab-outlined-color, var(--kemet-color-primary));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
:host([expanded]) .text {
|
|
96
|
-
opacity: 1;
|
|
97
|
-
}
|
|
98
|
-
`,
|
|
99
|
-
];
|
|
36
|
+
return [stylesBase];
|
|
100
37
|
}
|
|
101
38
|
|
|
102
39
|
static get properties() {
|
|
103
40
|
return {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
},
|
|
111
|
-
/**
|
|
112
|
-
* Outline style for a button
|
|
113
|
-
*/
|
|
114
|
-
outlined: {
|
|
115
|
-
type: Boolean,
|
|
116
|
-
reflect: true,
|
|
117
|
-
},
|
|
118
|
-
/**
|
|
119
|
-
* Determines whether not a button is disabled
|
|
120
|
-
*/
|
|
121
|
-
disabled: {
|
|
122
|
-
type: Boolean,
|
|
123
|
-
reflect: true,
|
|
124
|
-
},
|
|
125
|
-
/**
|
|
126
|
-
* Displays the fab with rounded corners
|
|
127
|
-
*/
|
|
128
|
-
pill: {
|
|
129
|
-
type: Boolean,
|
|
130
|
-
reflect: true,
|
|
131
|
-
},
|
|
132
|
-
/**
|
|
133
|
-
* The distance, in pixels, where the fab should automatically expand
|
|
134
|
-
*/
|
|
135
|
-
expandPoint: {
|
|
136
|
-
type: Number,
|
|
137
|
-
attribute: 'expand-point',
|
|
138
|
-
},
|
|
139
|
-
/**
|
|
140
|
-
* The distance, in pixels, where the fab should automatically collapse
|
|
141
|
-
*/
|
|
142
|
-
collapsePoint: {
|
|
143
|
-
type: Number,
|
|
144
|
-
attribute: 'collapse-point',
|
|
145
|
-
},
|
|
41
|
+
expanded: { type: Boolean, reflect: true },
|
|
42
|
+
outlined: { type: Boolean, reflect: true },
|
|
43
|
+
disabled: { type: Boolean, reflect: true },
|
|
44
|
+
pill: { type: Boolean, reflect: true },
|
|
45
|
+
expandPoint: { type: Number, attribute: 'expand-point' },
|
|
46
|
+
collapsePoint: { type: Number, attribute: 'collapse-point' },
|
|
146
47
|
};
|
|
147
48
|
}
|
|
148
49
|
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
|
|
3
|
+
export const stylesBase = css`
|
|
4
|
+
:host {
|
|
5
|
+
--kemet-fab-size: 50px;
|
|
6
|
+
|
|
7
|
+
display: inline-block;
|
|
8
|
+
position: relative;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
button {
|
|
12
|
+
color: var(--kemet-fab-color, var(--kemet-color-white));
|
|
13
|
+
font-size: inherit;
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
padding: 0;
|
|
16
|
+
position: relative;
|
|
17
|
+
min-height: var(--kemet-fab-size);
|
|
18
|
+
min-width: var(--kemet-fab-size);
|
|
19
|
+
max-width: var(--kemet-fab-size);
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: flex-start;
|
|
22
|
+
transition: all 0.4s ease;
|
|
23
|
+
border: none;
|
|
24
|
+
background-color: var(--kemet-fab-background-color, var(--kemet-color-primary));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host([outlined]) button {
|
|
28
|
+
color: var(--kemet-fab-outlined-color, var(--kemet-color-primary));
|
|
29
|
+
border: var(--kemet-fab-outlined-border, 1px solid var(--kemet-color-primary));
|
|
30
|
+
background-color: transparent;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
:host([pill]) button {
|
|
34
|
+
border-radius: var(--kemet-fab-pill-radius, 10rem);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
button::before {
|
|
38
|
+
content: '';
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: 0;
|
|
41
|
+
left: 0;
|
|
42
|
+
right: 0;
|
|
43
|
+
bottom: 0;
|
|
44
|
+
z-index: -1;
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: 100%;
|
|
47
|
+
transition: background-color 0.3s ease-in-out;
|
|
48
|
+
background-color: var(--kemet-fab-background-color, var(--kemet-color-primary));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:host([pill]) button::before {
|
|
52
|
+
border-radius: var(--kemet-fab-pill-radius, 10rem);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:host([outlined]) button::before {
|
|
56
|
+
border: var(--kemet-fab-outline-border, 1px solid var(--kemet-color-primary));
|
|
57
|
+
background-color: transparent;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:host([expanded]) button {
|
|
61
|
+
max-width: 99rem;
|
|
62
|
+
padding: 0 1.35rem 0 0.25rem;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:host([disabled]) button {
|
|
66
|
+
opacity: 0.5;
|
|
67
|
+
cursor: not-allowed;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.icon {
|
|
71
|
+
width: var(--kemet-fab-size);
|
|
72
|
+
height: var(--kemet-fab-size);
|
|
73
|
+
display: flex;
|
|
74
|
+
flex: 0 0 auto;
|
|
75
|
+
align-items: center;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.text {
|
|
80
|
+
color: var(--kemet-fab-color, var(--kemet-color-white));
|
|
81
|
+
z-index: 1;
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
pointer-events: none;
|
|
84
|
+
opacity: 0;
|
|
85
|
+
transition: opacity 0.2s ease-in-out;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:host([outlined]) .text {
|
|
89
|
+
color: var(--kemet-fab-outlined-color, var(--kemet-color-primary));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:host([expanded]) .text {
|
|
93
|
+
opacity: 1;
|
|
94
|
+
}
|
|
95
|
+
`;
|
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
import { html, css, LitElement } from 'lit';
|
|
2
|
+
import { emitEvent } from '../../utilities/misc/events.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @since 1.0.0
|
|
6
|
+
* @status stable
|
|
7
|
+
*
|
|
8
|
+
* @tagname kemet-field
|
|
9
|
+
* @summary Used in combination with Input, Select, and Textarea, to make a Field.
|
|
10
|
+
*
|
|
11
|
+
* @prop {string} slug - Uniquely identifies the control. Use the same slug for slotted sub components.
|
|
12
|
+
* @prop {string} label - The label text
|
|
13
|
+
* @prop {string} message - The validation message for error or success
|
|
14
|
+
* @prop {boolean} focused - Determines if the containing input is focused
|
|
15
|
+
* @prop {string} status - The validation status of standard, error, or success
|
|
16
|
+
* @prop {boolean} filled - Is true when the containing input has a value
|
|
17
|
+
* @prop {number} length - The length of the containing input
|
|
18
|
+
* @prop {boolean} disabled - Determines the disabled state of the control
|
|
19
|
+
* @prop {string} errorIcon - The icon while in an error or warning state
|
|
20
|
+
* @prop {string} successIcon - The icon while in an success state
|
|
21
|
+
*
|
|
22
|
+
* @slot component - Allows sub components of the field to display.
|
|
23
|
+
*
|
|
24
|
+
* @csspart label - The label of the field.
|
|
25
|
+
* @csspart message - The validation message of the field.
|
|
26
|
+
* @csspart text - The text in the label.
|
|
27
|
+
*
|
|
28
|
+
* @event kemet-field-input - Fires when input fires on the input slot
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
2
31
|
|
|
3
32
|
export default class KemetField extends LitElement {
|
|
4
33
|
static get styles() {
|
|
@@ -67,68 +96,38 @@ export default class KemetField extends LitElement {
|
|
|
67
96
|
|
|
68
97
|
static get properties() {
|
|
69
98
|
return {
|
|
70
|
-
/**
|
|
71
|
-
* Uniquely identifies the control. Use the same slug for slotted sub components.
|
|
72
|
-
*/
|
|
73
99
|
slug: {
|
|
74
100
|
type: String,
|
|
75
101
|
},
|
|
76
|
-
/**
|
|
77
|
-
* The label text
|
|
78
|
-
*/
|
|
79
102
|
label: {
|
|
80
103
|
type: String,
|
|
81
104
|
},
|
|
82
|
-
/**
|
|
83
|
-
* The validation message for error or success
|
|
84
|
-
*/
|
|
85
105
|
message: {
|
|
86
106
|
type: String,
|
|
87
107
|
},
|
|
88
|
-
/**
|
|
89
|
-
* Determines if the containing input is focused
|
|
90
|
-
*/
|
|
91
108
|
focused: {
|
|
92
109
|
type: Boolean,
|
|
93
110
|
reflect: true,
|
|
94
111
|
},
|
|
95
|
-
/**
|
|
96
|
-
* The validation status of standard, error, or success
|
|
97
|
-
*/
|
|
98
112
|
status: {
|
|
99
113
|
type: String,
|
|
100
114
|
reflect: true,
|
|
101
115
|
},
|
|
102
|
-
/**
|
|
103
|
-
* Is true when the containing input has a value
|
|
104
|
-
*/
|
|
105
116
|
filled: {
|
|
106
117
|
type: Boolean,
|
|
107
118
|
reflect: true,
|
|
108
119
|
},
|
|
109
|
-
/**
|
|
110
|
-
* The length of the containing input
|
|
111
|
-
*/
|
|
112
120
|
length: {
|
|
113
121
|
type: Number,
|
|
114
122
|
},
|
|
115
|
-
/**
|
|
116
|
-
* Determines the disabled state of the control
|
|
117
|
-
*/
|
|
118
123
|
disabled: {
|
|
119
124
|
type: Boolean,
|
|
120
125
|
reflect: true,
|
|
121
126
|
},
|
|
122
|
-
/**
|
|
123
|
-
* The icon while in an error or warning state
|
|
124
|
-
*/
|
|
125
127
|
errorIcon: {
|
|
126
128
|
type: String,
|
|
127
129
|
attribute: 'error-icon',
|
|
128
130
|
},
|
|
129
|
-
/**
|
|
130
|
-
* The icon while in an success state
|
|
131
|
-
*/
|
|
132
131
|
successIcon: {
|
|
133
132
|
type: String,
|
|
134
133
|
attribute: 'success-icon',
|
|
@@ -166,7 +165,7 @@ export default class KemetField extends LitElement {
|
|
|
166
165
|
render() {
|
|
167
166
|
return html`
|
|
168
167
|
<label for="${this.slug}" id="${this.slug}-label" part="label">
|
|
169
|
-
<span>${this.label}${this.makeStatusIcon()}</span>
|
|
168
|
+
<span part="text">${this.label}${this.makeStatusIcon()}</span>
|
|
170
169
|
<slot name="input"></slot>
|
|
171
170
|
</label>
|
|
172
171
|
${this.makeStatusMessage()}
|
|
@@ -207,15 +206,7 @@ export default class KemetField extends LitElement {
|
|
|
207
206
|
}
|
|
208
207
|
|
|
209
208
|
handleInput(event) {
|
|
210
|
-
|
|
211
|
-
* Fires when input fires on the input slot
|
|
212
|
-
*/
|
|
213
|
-
this.dispatchEvent(
|
|
214
|
-
new CustomEvent('kemet-field-input', {
|
|
215
|
-
bubbles: false,
|
|
216
|
-
detail: event.detail.length,
|
|
217
|
-
}),
|
|
218
|
-
);
|
|
209
|
+
emitEvent(this, 'kemet-field-input', event.detail.length);
|
|
219
210
|
|
|
220
211
|
if (event.detail === '') {
|
|
221
212
|
this.filled = false;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { LitElement, html, css } from 'lit';
|
|
2
|
+
import { emitEvent } from '../../utilities/misc/events.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @since 1.0.0
|
|
6
|
+
* @status stable
|
|
7
|
+
*
|
|
8
|
+
* @tagname kemet-flipcard-trigger
|
|
9
|
+
* @summary Triggers a flipcard component to flip.
|
|
10
|
+
*
|
|
11
|
+
* @event kemet-flipcard-flipped - Fires when a flipcard is flipped
|
|
12
|
+
*/
|
|
2
13
|
|
|
3
14
|
export default class KemetFlipcardTrigger extends LitElement {
|
|
4
15
|
static get styles() {
|
|
@@ -25,11 +36,7 @@ export default class KemetFlipcardTrigger extends LitElement {
|
|
|
25
36
|
}
|
|
26
37
|
|
|
27
38
|
trigger() {
|
|
28
|
-
this
|
|
29
|
-
bubbles: true,
|
|
30
|
-
composed: true,
|
|
31
|
-
detail: this,
|
|
32
|
-
}));
|
|
39
|
+
emitEvent(this, 'kemet-flipcard-flipped', this);
|
|
33
40
|
}
|
|
34
41
|
|
|
35
42
|
handleKeyup(event) {
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
import { html, css, LitElement } from 'lit';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
* @status stable
|
|
6
|
+
*
|
|
7
|
+
* @tagname kemet-flipcard
|
|
8
|
+
* @summary A card that has a front and back side which can be flipped.
|
|
9
|
+
*
|
|
10
|
+
* @slot front - The front of the card.
|
|
11
|
+
* @slot back - The back of the card.
|
|
12
|
+
*
|
|
13
|
+
* @csspart front - The front of the card.
|
|
14
|
+
* @csspart back - The back of the card.
|
|
15
|
+
* @csspart wrapper - A container for both front and back of the card.
|
|
16
|
+
*
|
|
17
|
+
* @cssproperty --kemet-flipcard-front-color - The text color for the front of the card. Default: #202020.
|
|
18
|
+
* @cssproperty --kemet-flipcard-back-color - The text color for the back of the card. Default: #202020.
|
|
19
|
+
* @cssproperty --kemet-flipcard-front-background-color - The background color for the front of the card. Default: #fafafa.
|
|
20
|
+
* @cssproperty --kemet-flipcard-back-background-color - The background color for the back of the card. Default: #fafafa.
|
|
21
|
+
* @cssproperty --kemet-flipcard-border - The border on the front and back of the card. Default: 2px solid var(--kemet-color-primary).
|
|
22
|
+
* @cssproperty --kemet-flipcard-border-radius - The border radius on the front and back of the card. Default: 0.
|
|
23
|
+
* @cssproperty --kemet-flipcard-ratio - The aspect ratio of the card. Default: 16/9.
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
|
|
3
27
|
export default class KemetFlipcard extends LitElement {
|
|
4
28
|
static get styles() {
|
|
5
29
|
return css`
|
|
@@ -93,21 +117,17 @@ export default class KemetFlipcard extends LitElement {
|
|
|
93
117
|
type: String,
|
|
94
118
|
reflect: true,
|
|
95
119
|
},
|
|
96
|
-
|
|
97
120
|
flipped: {
|
|
98
121
|
type: Boolean,
|
|
99
122
|
reflect: true,
|
|
100
123
|
},
|
|
101
|
-
|
|
102
124
|
flipOnHover: {
|
|
103
125
|
type: Boolean,
|
|
104
126
|
attribute: 'flip-on-hover',
|
|
105
127
|
},
|
|
106
|
-
|
|
107
128
|
height: {
|
|
108
129
|
type: String,
|
|
109
130
|
},
|
|
110
|
-
|
|
111
131
|
measure: {
|
|
112
132
|
type: Boolean,
|
|
113
133
|
},
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
1
2
|
/* eslint-disable no-console */
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { html, css, LitElement } from 'lit';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
* @status stable
|
|
8
|
+
*
|
|
9
|
+
* @tagname kemet-icon
|
|
10
|
+
* @summary An element that represents an icon from a predefined set of open sourced icons.
|
|
11
|
+
*
|
|
12
|
+
* @prop {string} icon - The name of the icon to reference.
|
|
13
|
+
* @prop {string} set - The sprite map from an open source project that an icon belongs too. Values include: (bootstrap | font-awesome-brand | font-awesome-regular | font-awesome-solid)
|
|
14
|
+
* @prop {number} size - The width and height of the icon in pixels.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
5
17
|
|
|
6
18
|
export default class KemetIcon extends LitElement {
|
|
7
19
|
static get properties() {
|
|
8
20
|
return {
|
|
9
|
-
/**
|
|
10
|
-
* The name of the icon to reference.
|
|
11
|
-
*/
|
|
12
21
|
icon: {
|
|
13
22
|
type: String,
|
|
14
23
|
},
|
|
15
|
-
/**
|
|
16
|
-
* The sprite map from an open source project that an icon belongs too.
|
|
17
|
-
* Values include:
|
|
18
|
-
* (bootstrap | font-awesome-brand | font-awesome-regular | font-awesome-solid)
|
|
19
|
-
*/
|
|
20
24
|
set: {
|
|
21
25
|
type: String,
|
|
22
26
|
},
|
|
23
|
-
/**
|
|
24
|
-
* The width and height of the icon in pixels.
|
|
25
|
-
*/
|
|
26
27
|
size: {
|
|
27
28
|
type: Number,
|
|
28
29
|
},
|
|
@@ -95,7 +96,10 @@ export default class KemetIcon extends LitElement {
|
|
|
95
96
|
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
|
|
96
97
|
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#EC1C24;}
|
|
97
98
|
</style>
|
|
98
|
-
<g
|
|
99
|
+
<g>
|
|
100
|
+
<path class="st0" d="M256,0c70.7,0,134.7,28.7,181,75c46.3,46.3,75,110.3,75,181c0,70.7-28.7,134.7-75,181 c-46.3,46.3-110.3,75-181,75c-70.7,0-134.7-28.7-181-75C28.7,390.7,0,326.7,0,256c0-70.7,28.7-134.7,75-181S185.3,0,256,0z"/>
|
|
101
|
+
<path class="st1" d="M512,256c0-70.7-28.7-134.7-75-181C390.7,28.7,326.7,0,256,0C193,0,135.5,22.8,90.9,60.6l-0.1-0.1 C85.3,65.1,80,69.9,75,75c-5,5.1-9.9,10.3-14.5,15.8l0.1,0.1C22.8,135.5,0,193,0,256c0,70.7,28.7,134.7,75,181 c46.3,46.3,110.3,75,181,75c63,0,120.5-22.8,165.1-60.6l0.1,0.1c5.4-4.6,10.7-9.5,15.8-14.5c5-5,9.9-10.3,14.5-15.8l-0.1-0.1 C489.2,376.6,512,319,512,256z M256,42.9c58.9,0,112.1,23.9,150.7,62.4c38.6,38.6,62.4,91.9,62.4,150.7c0,51.1-18.1,98-48.1,134.8 L121.2,90.9C158,60.9,204.9,42.9,256,42.9z M256,469.1c-58.8,0-112.1-23.9-150.7-62.4C66.7,368.1,42.9,314.9,42.9,256 c0-51.1,18.1-98,48.1-134.8l299.8,299.8C354,451.1,307.1,469.1,256,469.1z"/>
|
|
102
|
+
</g>
|
|
99
103
|
</svg>
|
|
100
104
|
`;
|
|
101
105
|
|