@operato/popup 1.17.2 → 2.0.0-alpha.100

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 (50) hide show
  1. package/CHANGELOG.md +200 -8
  2. package/demo/index.html +25 -14
  3. package/demo/ox-popup-list.html +14 -3
  4. package/demo/ox-popup-menu.html +25 -14
  5. package/dist/src/ox-floating-overlay.d.ts +2 -2
  6. package/dist/src/ox-floating-overlay.js +5 -7
  7. package/dist/src/ox-floating-overlay.js.map +1 -1
  8. package/dist/src/ox-popup-list.d.ts +2 -2
  9. package/dist/src/ox-popup-list.js +12 -10
  10. package/dist/src/ox-popup-list.js.map +1 -1
  11. package/dist/src/ox-popup-menu.d.ts +1 -1
  12. package/dist/src/ox-popup-menuitem.d.ts +1 -1
  13. package/dist/src/ox-popup-menuitem.js +2 -2
  14. package/dist/src/ox-popup-menuitem.js.map +1 -1
  15. package/dist/src/ox-popup.d.ts +4 -3
  16. package/dist/src/ox-popup.js +9 -5
  17. package/dist/src/ox-popup.js.map +1 -1
  18. package/dist/src/ox-prompt.d.ts +3 -2
  19. package/dist/src/ox-prompt.js +39 -6
  20. package/dist/src/ox-prompt.js.map +1 -1
  21. package/dist/stories/open-popup.stories.js +27 -18
  22. package/dist/stories/open-popup.stories.js.map +1 -1
  23. package/dist/stories/ox-popup-list.stories.d.ts +1 -1
  24. package/dist/stories/ox-popup-list.stories.js +15 -3
  25. package/dist/stories/ox-popup-list.stories.js.map +1 -1
  26. package/dist/stories/ox-popup-menu.stories.d.ts +1 -1
  27. package/dist/stories/ox-popup-menu.stories.js +37 -25
  28. package/dist/stories/ox-popup-menu.stories.js.map +1 -1
  29. package/dist/stories/ox-prompt-icon.stories.d.ts +25 -0
  30. package/dist/stories/ox-prompt-icon.stories.js +59 -0
  31. package/dist/stories/ox-prompt-icon.stories.js.map +1 -0
  32. package/dist/stories/ox-prompt-normal.stories.js +26 -13
  33. package/dist/stories/ox-prompt-normal.stories.js.map +1 -1
  34. package/dist/stories/ox-prompt.stories.js +26 -13
  35. package/dist/stories/ox-prompt.stories.js.map +1 -1
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +16 -16
  38. package/src/ox-floating-overlay.ts +5 -7
  39. package/src/ox-popup-list.ts +12 -10
  40. package/src/ox-popup-menuitem.ts +2 -2
  41. package/src/ox-popup.ts +11 -6
  42. package/src/ox-prompt.ts +39 -6
  43. package/stories/open-popup.stories.ts +28 -20
  44. package/stories/ox-popup-list.stories.ts +15 -3
  45. package/stories/ox-popup-menu.stories.ts +38 -27
  46. package/stories/ox-prompt-icon.stories.ts +76 -0
  47. package/stories/ox-prompt-normal.stories.ts +29 -17
  48. package/stories/ox-prompt.stories.ts +29 -17
  49. package/themes/input-theme.css +7 -7
  50. package/themes/material-theme.css +88 -0
package/src/ox-prompt.ts CHANGED
@@ -1,8 +1,10 @@
1
- import '@material/mwc-button'
1
+ import '@material/web/button/elevated-button.js'
2
+ import '@material/web/icon/icon.js'
2
3
 
3
4
  import { css, html, nothing, LitElement } from 'lit'
4
5
  import { render } from 'lit-html'
5
6
  import { customElement, property, state } from 'lit/decorators.js'
7
+ import { ScrollbarStyles } from '@operato/styles'
6
8
 
7
9
  const TYPES_ICON = {
8
10
  success: 'verified',
@@ -18,6 +20,7 @@ const TYPES_ICON = {
18
20
  @customElement('ox-prompt')
19
21
  export class OxPrompt extends LitElement {
20
22
  static styles = [
23
+ ScrollbarStyles,
21
24
  css`
22
25
  :host {
23
26
  --prompt-container-border-radius: 12px;
@@ -31,7 +34,7 @@ export class OxPrompt extends LitElement {
31
34
  box-shadow: var(--prompt-container-box-shadow);
32
35
  border-radius: var(--prompt-container-border-radius);
33
36
  box-sizing: border-box;
34
- min-width: fit-content;
37
+ min-width: 260px;
35
38
  line-height: initial;
36
39
  text-align: initial;
37
40
  }
@@ -57,6 +60,28 @@ export class OxPrompt extends LitElement {
57
60
  padding: var(--padding-default);
58
61
  color: var(--primary-text-color);
59
62
  word-break: keep-all;
63
+
64
+ md-icon {
65
+ align-self: center;
66
+ --md-icon-size: 60px;
67
+ color: var(--primary-color);
68
+ }
69
+ }
70
+
71
+ [content].warning md-icon {
72
+ color: var(--status-warning-color, #ee8d03);
73
+ }
74
+
75
+ [content].error md-icon {
76
+ color: var(--status-danger-color, #d14946);
77
+ }
78
+
79
+ [content].info md-icon {
80
+ color: var(--status-info-color, #398ace);
81
+ }
82
+
83
+ [content].success md-icon {
84
+ color: var(--status-success-color, #35a24a);
60
85
  }
61
86
 
62
87
  [buttons] {
@@ -121,9 +146,9 @@ export class OxPrompt extends LitElement {
121
146
  render() {
122
147
  return html`
123
148
  ${this.titler ? html` <div titler>${this.titler}</div> ` : nothing}
124
- <div content>
149
+ <div content class="${this.type || 'info'}">
125
150
  ${this.icon || this.type
126
- ? html` <mwc-icon icon>${this.icon || TYPES_ICON[this.type || 'info']}</mwc-icon> `
151
+ ? html` <md-icon icon>${this.icon || TYPES_ICON[this.type || 'info']}</md-icon> `
127
152
  : nothing}
128
153
  ${this.text ? html` <div text>${this.text}</div> ` : nothing}
129
154
  <slot> </slot>
@@ -131,10 +156,18 @@ export class OxPrompt extends LitElement {
131
156
  </div>
132
157
  <div buttons>
133
158
  ${this.confirmButton
134
- ? html` <mwc-button raised @click=${(e: Event) => this.onConfirm()}>${this.confirmButton?.text}</mwc-button> `
159
+ ? html`
160
+ <md-elevated-button raised @click=${(e: Event) => this.onConfirm()}
161
+ >${this.confirmButton?.text}</md-elevated-button
162
+ >
163
+ `
135
164
  : nothing}
136
165
  ${this.cancelButton
137
- ? html` <mwc-button raised @click=${(e: Event) => this.onCancel()}>${this.cancelButton?.text}</mwc-button> `
166
+ ? html`
167
+ <md-elevated-button raised @click=${(e: Event) => this.onCancel()}
168
+ >${this.cancelButton?.text}</md-elevated-button
169
+ >
170
+ `
138
171
  : nothing}
139
172
  </div>
140
173
  `
@@ -46,28 +46,36 @@ const Template: Story<ArgTypes> = ({
46
46
  escapable,
47
47
  backdrop,
48
48
  help
49
- }: ArgTypes) =>
50
- html`
51
- <link href="/themes/app-theme.css" rel="stylesheet" />
52
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
49
+ }: ArgTypes) => html`
50
+ <link href="/themes/app-theme.css" rel="stylesheet" />
53
51
 
54
- <style>
55
- #place {
56
- width: 100%;
57
- height: 500px;
58
- background: lightgreen;
59
- text-align: center;
60
- line-height: 500px;
61
- }
62
- </style>
52
+ <link
53
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
54
+ rel="stylesheet"
55
+ />
56
+ <link
57
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
58
+ rel="stylesheet"
59
+ />
60
+ <link
61
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
62
+ rel="stylesheet"
63
+ />
63
64
 
64
- <div
65
- id="place"
66
- @click=${(e: MouseEvent) => popup(e, { title, size, hovering, closable, escapable, backdrop, help })}
67
- >
68
- Click this to popup image
69
- </div>
70
- `
65
+ <style>
66
+ #place {
67
+ width: 100%;
68
+ height: 500px;
69
+ background: lightgreen;
70
+ text-align: center;
71
+ line-height: 500px;
72
+ }
73
+ </style>
74
+
75
+ <div id="place" @click=${(e: MouseEvent) => popup(e, { title, size, hovering, closable, escapable, backdrop, help })}>
76
+ Click this to popup image
77
+ </div>
78
+ `
71
79
 
72
80
  export const Regular = Template.bind({})
73
81
  Regular.args = {
@@ -1,4 +1,4 @@
1
- import '@material/mwc-icon'
1
+ import '@material/web/icon/icon.js'
2
2
  import '@operato/input/ox-checkbox.js'
3
3
  import '../src/ox-popup-list.js'
4
4
 
@@ -30,8 +30,20 @@ function popup(e: MouseEvent) {
30
30
 
31
31
  const Template: Story<ArgTypes> = ({}: ArgTypes) =>
32
32
  html`
33
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
34
- <style>
33
+ <link
34
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
35
+ rel="stylesheet"
36
+ />
37
+ <link
38
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
39
+ rel="stylesheet"
40
+ />
41
+ <link
42
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
43
+ rel="stylesheet"
44
+ />
45
+
46
+ <style>
35
47
  #place {
36
48
  width: 100%;
37
49
  height: 500px;
@@ -1,6 +1,6 @@
1
1
  import '../src/ox-popup-menu.js'
2
2
  import '../src/ox-popup-menuitem.js'
3
- import '@material/mwc-icon'
3
+ import '@material/web/icon/icon.js'
4
4
  import '@operato/input/ox-checkbox.js'
5
5
 
6
6
  import { html, TemplateResult } from 'lit'
@@ -30,11 +30,11 @@ function popup(e: MouseEvent) {
30
30
  console.log('first level article selected')
31
31
  }}
32
32
  >
33
- <mwc-icon slot="icon">article</mwc-icon>
33
+ <md-icon slot="icon">article</md-icon>
34
34
  </ox-popup-menuitem>
35
35
 
36
36
  <ox-popup-menuitem label="home">
37
- <mwc-icon slot="icon">home</mwc-icon>
37
+ <md-icon slot="icon">home</md-icon>
38
38
  </ox-popup-menuitem>
39
39
 
40
40
  <ox-popup-menuitem label="empty"> </ox-popup-menuitem>
@@ -42,16 +42,16 @@ function popup(e: MouseEvent) {
42
42
  <ox-popup-menuitem
43
43
  label="click me to toggle"
44
44
  @selected=${function (e: Event) {
45
- const icon = (e.target as HTMLElement).querySelector('mwc-icon')
45
+ const icon = (e.target as HTMLElement).querySelector('md-icon')
46
46
  icon && (icon.innerHTML = icon.innerHTML == 'check' ? '' : 'check')
47
47
  }}
48
48
  alive-on-select
49
49
  >
50
- <mwc-icon slot="icon" style="width: 20px;height: 20px;"></mwc-icon>
50
+ <md-icon slot="icon" style="width: 20px;height: 20px;"></md-icon>
51
51
  </ox-popup-menuitem>
52
52
 
53
53
  <ox-popup-menuitem label="verified" @selected=${(e: Event) => console.log('selected verified')}>
54
- <mwc-icon slot="icon">verified</mwc-icon>
54
+ <md-icon slot="icon">verified</md-icon>
55
55
  <ox-popup-menu>
56
56
  <ox-popup-menuitem
57
57
  label="article"
@@ -60,26 +60,26 @@ function popup(e: MouseEvent) {
60
60
  }}
61
61
  alive-on-select
62
62
  >
63
- <mwc-icon slot="icon">article</mwc-icon>
63
+ <md-icon slot="icon">article</md-icon>
64
64
  </ox-popup-menuitem>
65
65
 
66
66
  <ox-popup-menuitem label="home">
67
- <mwc-icon slot="icon">home</mwc-icon>
67
+ <md-icon slot="icon">home</md-icon>
68
68
  </ox-popup-menuitem>
69
69
 
70
70
  <ox-popup-menuitem label="verified">
71
- <mwc-icon slot="icon">verified</mwc-icon>
71
+ <md-icon slot="icon">verified</md-icon>
72
72
  <ox-popup-menu>
73
73
  <ox-popup-menuitem label="article">
74
- <mwc-icon slot="icon">article</mwc-icon>
74
+ <md-icon slot="icon">article</md-icon>
75
75
  </ox-popup-menuitem>
76
76
 
77
77
  <ox-popup-menuitem label="home">
78
- <mwc-icon slot="icon">home</mwc-icon>
78
+ <md-icon slot="icon">home</md-icon>
79
79
  </ox-popup-menuitem>
80
80
 
81
81
  <ox-popup-menuitem label="verified">
82
- <mwc-icon slot="icon">verified</mwc-icon>
82
+ <md-icon slot="icon">verified</md-icon>
83
83
  </ox-popup-menuitem>
84
84
 
85
85
  <ox-popup-menuitem label="checkbox">
@@ -125,21 +125,32 @@ function popup(e: MouseEvent) {
125
125
  })
126
126
  }
127
127
 
128
- const Template: Story<ArgTypes> = ({}: ArgTypes) =>
129
- html`
130
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
131
- <style>
132
- #place {
133
- width: 100%;
134
- height: 500px;
135
- background: lightgreen;
136
- text-align: center;
137
- line-height: 500px;
138
- }
139
- </style>
140
-
141
- <div id="place" @click=${(e: MouseEvent) => popup(e)}>Click this to popup menu</div>
142
- `
128
+ const Template: Story<ArgTypes> = ({}: ArgTypes) => html`
129
+ <link
130
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
131
+ rel="stylesheet"
132
+ />
133
+ <link
134
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
135
+ rel="stylesheet"
136
+ />
137
+ <link
138
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
139
+ rel="stylesheet"
140
+ />
141
+
142
+ <style>
143
+ #place {
144
+ width: 100%;
145
+ height: 500px;
146
+ background: lightgreen;
147
+ text-align: center;
148
+ line-height: 500px;
149
+ }
150
+ </style>
151
+
152
+ <div id="place" @click=${(e: MouseEvent) => popup(e)}>Click this to popup menu</div>
153
+ `
143
154
 
144
155
  export const Regular = Template.bind({})
145
156
  Regular.args = {}
@@ -0,0 +1,76 @@
1
+ import { html, TemplateResult } from 'lit'
2
+
3
+ import { OxPrompt } from '../src/ox-prompt'
4
+
5
+ export default {
6
+ title: 'OxPrompt - Icon',
7
+ component: 'ox-prompt',
8
+ argTypes: {
9
+ type: { control: 'select', options: ['success', 'error', 'warning', 'info', 'question'] },
10
+ debug: { control: 'boolean' }
11
+ }
12
+ }
13
+
14
+ interface Story<T> {
15
+ (args: T): TemplateResult
16
+ args?: Partial<T>
17
+ argTypes?: Record<string, unknown>
18
+ }
19
+
20
+ interface ArgTypes {
21
+ type: 'success' | 'error' | 'warning' | 'info' | 'question'
22
+ debug: boolean
23
+ }
24
+
25
+ function popup(e: MouseEvent, type: 'success' | 'error' | 'warning' | 'info' | 'question' = 'warning', debug: boolean) {
26
+ const noImage = new URL('/assets/images/no-image.png', import.meta.url).href
27
+
28
+ //@ts-ignore
29
+ window.POPUP_DEBUG = debug
30
+
31
+ OxPrompt.open({
32
+ title: 'Are you sure ?',
33
+ text: 'Are you sure to exit this page ?',
34
+ type,
35
+ confirmButton: { text: 'Confirm' },
36
+ cancelButton: { text: 'Cancel' }
37
+ })
38
+ }
39
+
40
+ const Template: Story<ArgTypes> = ({ type, debug }: ArgTypes) => html`
41
+ <link href="/themes/app-theme.css" rel="stylesheet" />
42
+ <link href="/themes/material-theme.css" rel="stylesheet" />
43
+
44
+ <link
45
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
46
+ rel="stylesheet"
47
+ />
48
+ <link
49
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
50
+ rel="stylesheet"
51
+ />
52
+ <link
53
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
54
+ rel="stylesheet"
55
+ />
56
+
57
+ <script></script>
58
+
59
+ <style>
60
+ #place {
61
+ width: 100%;
62
+ height: 500px;
63
+ background: lightgreen;
64
+ text-align: center;
65
+ line-height: 500px;
66
+ }
67
+ </style>
68
+
69
+ <div id="place" @click=${(e: MouseEvent) => popup(e, type, debug)}>Click this to prompt image</div>
70
+ `
71
+
72
+ export const Regular = Template.bind({})
73
+ Regular.args = {
74
+ type: 'warning',
75
+ debug: true
76
+ }
@@ -27,23 +27,35 @@ function popup(e: MouseEvent) {
27
27
  })
28
28
  }
29
29
 
30
- const Template: Story<ArgTypes> = ({}: ArgTypes) =>
31
- html`
32
- <link href="/themes/app-theme.css" rel="stylesheet" />
33
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
34
-
35
- <style>
36
- #place {
37
- width: 100%;
38
- height: 500px;
39
- background: lightgreen;
40
- text-align: center;
41
- line-height: 500px;
42
- }
43
- </style>
44
-
45
- <div id="place" @click=${(e: MouseEvent) => popup(e)}>Click this to prompt image</div>
46
- `
30
+ const Template: Story<ArgTypes> = ({}: ArgTypes) => html`
31
+ <link href="/themes/app-theme.css" rel="stylesheet" />
32
+ <link href="/themes/material-theme.css" rel="stylesheet" />
33
+
34
+ <link
35
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
36
+ rel="stylesheet"
37
+ />
38
+ <link
39
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
40
+ rel="stylesheet"
41
+ />
42
+ <link
43
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
44
+ rel="stylesheet"
45
+ />
46
+
47
+ <style>
48
+ #place {
49
+ width: 100%;
50
+ height: 500px;
51
+ background: lightgreen;
52
+ text-align: center;
53
+ line-height: 500px;
54
+ }
55
+ </style>
56
+
57
+ <div id="place" @click=${(e: MouseEvent) => popup(e)}>Click this to prompt image</div>
58
+ `
47
59
 
48
60
  export const Regular = Template.bind({})
49
61
  Regular.args = {}
@@ -30,23 +30,35 @@ function popup(e: MouseEvent) {
30
30
  })
31
31
  }
32
32
 
33
- const Template: Story<ArgTypes> = ({}: ArgTypes) =>
34
- html`
35
- <link href="/themes/app-theme.css" rel="stylesheet" />
36
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
37
-
38
- <style>
39
- #place {
40
- width: 100%;
41
- height: 500px;
42
- background: lightgreen;
43
- text-align: center;
44
- line-height: 500px;
45
- }
46
- </style>
47
-
48
- <div id="place" @click=${(e: MouseEvent) => popup(e)}>Click this to prompt image</div>
49
- `
33
+ const Template: Story<ArgTypes> = ({}: ArgTypes) => html`
34
+ <link href="/themes/app-theme.css" rel="stylesheet" />
35
+ <link href="/themes/material-theme.css" rel="stylesheet" />
36
+
37
+ <link
38
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
39
+ rel="stylesheet"
40
+ />
41
+ <link
42
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
43
+ rel="stylesheet"
44
+ />
45
+ <link
46
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
47
+ rel="stylesheet"
48
+ />
49
+
50
+ <style>
51
+ #place {
52
+ width: 100%;
53
+ height: 500px;
54
+ background: lightgreen;
55
+ text-align: center;
56
+ line-height: 500px;
57
+ }
58
+ </style>
59
+
60
+ <div id="place" @click=${(e: MouseEvent) => popup(e)}>Click this to prompt image</div>
61
+ `
50
62
 
51
63
  export const Regular = Template.bind({})
52
64
  Regular.args = {}
@@ -1,9 +1,9 @@
1
1
  body {
2
- --ox-input-border: 1px solid rgba(0, 0, 0, 0.1);
3
- --ox-input-border-radius: var(--border-radius);
4
- --ox-input-padding: var(--input-padding);
5
- --ox-input-font: normal 15px var(--theme-font);
6
- --ox-input-color: var(--secondary-color);
2
+ --input-border: 1px solid rgba(0, 0, 0, 0.1);
3
+ --input-border-radius: var(--border-radius);
4
+ --input-padding: var(--input-padding);
5
+ --input-font: normal 15px var(--theme-font);
6
+ --input-color: var(--secondary-color);
7
7
  }
8
8
 
9
9
  @media screen and (max-width: 480px) {
@@ -13,7 +13,7 @@ body {
13
13
 
14
14
  @media (min-width: 481px) and (max-width: 1024px) {
15
15
  body {
16
- --ox-input-font: normal 16px var(--theme-font);
17
- --ox-input-padding: 4px 5px;
16
+ --input-font: normal 16px var(--theme-font);
17
+ --input-padding: 4px 5px;
18
18
  }
19
19
  }
@@ -0,0 +1,88 @@
1
+ body {
2
+ font-variation-settings: 'FILL' 1;
3
+
4
+ /* meterial theme color */
5
+ --md-sys-color-primary: var(--primary-color);
6
+ --md-sys-color-secondary: var(--secondary-color);
7
+ --md-sys-color-outline: rgba(var(--primary-color-rgb), 0.5);
8
+ --md-sys-color-on-primary: var(--theme-white-color);
9
+ --md-sys-color-on-surface-variant: var(--secondary-background-color);
10
+ --md-sys-color-on-surface: var(--primary-background-color);
11
+ --md-sys-color-outline-variant:rgba(var(--primary-color-rgb), 0.3);
12
+
13
+ --md-sys-shape-corner-small: var(--border-radius);
14
+ --md-sys-shape-corner-medium: 6px;
15
+ --md-sys-shape-corner-large: 8px;
16
+
17
+ --md-sys-shape-corner-full: var(--md-sys-shape-corner-small);
18
+
19
+ --md-sys-color-surface: var(--theme-white-color);
20
+ --md-sys-color-surface-container: var(--md-sys-color-surface);
21
+ --md-sys-color-surface-container-high: var(--primary-color);
22
+ --md-sys-color-surface-container-low: var(--secondary-color);
23
+ --md-sys-color-surface-container-highest: var(--theme-white-color);
24
+ --md-sys-color-surface-container-lowest: var(--secondary-color);
25
+ --md-sys-typescale-body-large: 400 1rem var(--theme-font);
26
+
27
+ --md-filled-text-field-container-shape: 0px;
28
+ --md-filled-text-field-label-text-color: #3f4948;
29
+ --md-filled-text-field-input-text-color: #161d1d;
30
+
31
+ --md-outlined-text-field-container-shape: 0px;
32
+ --md-outlined-text-field-label-text-color: #3f4948;
33
+ --md-outlined-text-field-input-text-color: #161d1d;
34
+
35
+ --md-outlined-select-text-field-outline-color: #6e7979;
36
+ --md-outlined-select-text-field-container-shape: 0px;
37
+ --md-outlined-select-text-field-input-text-color: #005353;
38
+ --md-outlined-select-text-field-input-text-font: system-ui;
39
+
40
+ --md-fab-container-color: var(--primary-color);
41
+ --md-fab-icon-color: var(--focus-color);
42
+
43
+ /* icon button tokens */
44
+ --md-icon-button-icon-size: 20px;
45
+
46
+ --md-filled-icon-button-container-width : 30px;
47
+ --md-filled-icon-button-container-height : 30px;
48
+ --md-filled-icon-button-icon-size: 20px;
49
+ --md-filled-icon-button-icon-size : var(--md-icon-button-icon-size);
50
+
51
+ --md-filled-tonal-icon-button-selected-container-color: var(--md-sys-color-primary);
52
+ --md-filled-tonal-icon-button-container-width:30px;
53
+ --md-filled-tonal-icon-button-container-height:30px;
54
+ --md-filled-tonal-icon-button-icon-size:var(--md-icon-button-icon-size);
55
+
56
+ --md-outlined-icon-button-container-width:30px;
57
+ --md-outlined-icon-button-container-height:30px;
58
+ --md-outlined-icon-button-icon-size:var(--md-icon-button-icon-size);
59
+
60
+
61
+ /* list tokens */
62
+ --md-list-item-leading-icon-color:var(--md-sys-color-primary);
63
+ --md-list-container-color: var(--md-sys-color-surface-container);
64
+ --md-list-item-container-shape: var(--md-sys-shape-corner-small);
65
+ --md-list-item-label-text-color: var(--primary-text-color);
66
+ --md-list-item-supporting-text-color: var(--secondary-text-color);
67
+ --md-list-item-trailing-supporting-text-color: var(--secondary-text-color);
68
+ --md-list-item-leading-icon-size:var(--md-icon-button-icon-size);
69
+ --md-list-item-trailing-icon-size:var(--md-icon-button-icon-size);
70
+
71
+ /* menu tokens */
72
+ --md-menu-container-color: var(--md-sys-color-surface-container);
73
+ --md-menu-container-shape: var(--md-sys-shape-corner-small);
74
+ --md-menu-item-selected-container-color: rgba(var(--primary-color-rgb), 0.2);
75
+
76
+ /* progress tokens */
77
+ --md-linear-progress-track-color: rgba(var(--secondary-color-rgb), 0.2);
78
+
79
+ /* slider tokens */
80
+ --md-slider-inactive-track-color: rgba(var(--secondary-color-rgb), 0.2);
81
+
82
+ /* switch tokens */
83
+ --md-switch-selected-handle-color: var(--md-sys-color-primary);
84
+ --md-switch-track-color: rgba(var(--secondary-color-rgb), 0.2);
85
+
86
+ /* tab tokens */
87
+ --md-primary-tab-icon-color: var(--md-sys-color-primary);
88
+ }