@operato/input 2.0.0-alpha.98 → 2.0.0-beta.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.
Files changed (235) hide show
  1. package/CHANGELOG.md +254 -0
  2. package/demo/index-barcode.html +4 -4
  3. package/demo/index-checkbox.html +4 -4
  4. package/demo/index-code.html +4 -4
  5. package/demo/index-options.html +2 -2
  6. package/dist/src/ox-buttons-radio.d.ts +9 -5
  7. package/dist/src/ox-buttons-radio.js +43 -11
  8. package/dist/src/ox-buttons-radio.js.map +1 -1
  9. package/dist/src/ox-checkbox.js +23 -19
  10. package/dist/src/ox-checkbox.js.map +1 -1
  11. package/dist/src/ox-input-3axis.js +12 -1
  12. package/dist/src/ox-input-3axis.js.map +1 -1
  13. package/dist/src/ox-input-3dish.js +16 -11
  14. package/dist/src/ox-input-3dish.js.map +1 -1
  15. package/dist/src/ox-input-angle.js +8 -1
  16. package/dist/src/ox-input-angle.js.map +1 -1
  17. package/dist/src/ox-input-barcode.js +11 -8
  18. package/dist/src/ox-input-barcode.js.map +1 -1
  19. package/dist/src/ox-input-code.js +3 -0
  20. package/dist/src/ox-input-code.js.map +1 -1
  21. package/dist/src/ox-input-color.js +8 -6
  22. package/dist/src/ox-input-color.js.map +1 -1
  23. package/dist/src/ox-input-crontab.js +29 -25
  24. package/dist/src/ox-input-crontab.js.map +1 -1
  25. package/dist/src/ox-input-data.js +15 -6
  26. package/dist/src/ox-input-data.js.map +1 -1
  27. package/dist/src/ox-input-duration.js +15 -34
  28. package/dist/src/ox-input-duration.js.map +1 -1
  29. package/dist/src/ox-input-file.js +18 -14
  30. package/dist/src/ox-input-file.js.map +1 -1
  31. package/dist/src/ox-input-hashtags.js +13 -14
  32. package/dist/src/ox-input-hashtags.js.map +1 -1
  33. package/dist/src/ox-input-i18n-label.js +4 -4
  34. package/dist/src/ox-input-i18n-label.js.map +1 -1
  35. package/dist/src/ox-input-image.js +2 -2
  36. package/dist/src/ox-input-image.js.map +1 -1
  37. package/dist/src/ox-input-key-values.js +6 -6
  38. package/dist/src/ox-input-key-values.js.map +1 -1
  39. package/dist/src/ox-input-mass-fraction.js +5 -5
  40. package/dist/src/ox-input-mass-fraction.js.map +1 -1
  41. package/dist/src/ox-input-multiple-colors.js +2 -2
  42. package/dist/src/ox-input-multiple-colors.js.map +1 -1
  43. package/dist/src/ox-input-options.js +6 -6
  44. package/dist/src/ox-input-options.js.map +1 -1
  45. package/dist/src/ox-input-partition-keys.js +6 -6
  46. package/dist/src/ox-input-partition-keys.js.map +1 -1
  47. package/dist/src/ox-input-privilege.js +13 -16
  48. package/dist/src/ox-input-privilege.js.map +1 -1
  49. package/dist/src/ox-input-quantifier.js +5 -5
  50. package/dist/src/ox-input-quantifier.js.map +1 -1
  51. package/dist/src/ox-input-range.js +8 -8
  52. package/dist/src/ox-input-range.js.map +1 -1
  53. package/dist/src/ox-input-search.js +5 -6
  54. package/dist/src/ox-input-search.js.map +1 -1
  55. package/dist/src/ox-input-select-buttons.d.ts +2 -0
  56. package/dist/src/ox-input-select-buttons.js +14 -21
  57. package/dist/src/ox-input-select-buttons.js.map +1 -1
  58. package/dist/src/ox-input-table.js +1 -1
  59. package/dist/src/ox-input-table.js.map +1 -1
  60. package/dist/src/ox-input-unit-number.js +5 -5
  61. package/dist/src/ox-input-unit-number.js.map +1 -1
  62. package/dist/src/ox-input-value-map.js +9 -13
  63. package/dist/src/ox-input-value-map.js.map +1 -1
  64. package/dist/src/ox-input-value-ranges.js +7 -7
  65. package/dist/src/ox-input-value-ranges.js.map +1 -1
  66. package/dist/src/ox-input-work-shift.js +7 -7
  67. package/dist/src/ox-input-work-shift.js.map +1 -1
  68. package/dist/src/ox-select.d.ts +9 -1
  69. package/dist/src/ox-select.js +51 -17
  70. package/dist/src/ox-select.js.map +1 -1
  71. package/dist/src/ox-zoomable-image.d.ts +17 -0
  72. package/dist/src/ox-zoomable-image.js +80 -0
  73. package/dist/src/ox-zoomable-image.js.map +1 -0
  74. package/dist/stories/ox-buttons-radio.stories.d.ts +31 -0
  75. package/dist/stories/ox-buttons-radio.stories.js +81 -0
  76. package/dist/stories/ox-buttons-radio.stories.js.map +1 -0
  77. package/dist/stories/ox-checkbox.stories.d.ts +6 -0
  78. package/dist/stories/ox-checkbox.stories.js +57 -13
  79. package/dist/stories/ox-checkbox.stories.js.map +1 -1
  80. package/dist/stories/ox-input-3axis.stories.d.ts +5 -0
  81. package/dist/stories/ox-input-3axis.stories.js +32 -10
  82. package/dist/stories/ox-input-3axis.stories.js.map +1 -1
  83. package/dist/stories/ox-input-3dish.stories.d.ts +5 -0
  84. package/dist/stories/ox-input-3dish.stories.js +35 -13
  85. package/dist/stories/ox-input-3dish.stories.js.map +1 -1
  86. package/dist/stories/ox-input-angle.stories.d.ts +5 -0
  87. package/dist/stories/ox-input-angle.stories.js +36 -13
  88. package/dist/stories/ox-input-angle.stories.js.map +1 -1
  89. package/dist/stories/ox-input-barcode.stories.d.ts +5 -0
  90. package/dist/stories/ox-input-barcode.stories.js +35 -18
  91. package/dist/stories/ox-input-barcode.stories.js.map +1 -1
  92. package/dist/stories/ox-input-code.stories.d.ts +5 -0
  93. package/dist/stories/ox-input-code.stories.js +38 -13
  94. package/dist/stories/ox-input-code.stories.js.map +1 -1
  95. package/dist/stories/ox-input-crontab.stories.d.ts +5 -0
  96. package/dist/stories/ox-input-crontab.stories.js +35 -12
  97. package/dist/stories/ox-input-crontab.stories.js.map +1 -1
  98. package/dist/stories/ox-input-data.stories.d.ts +5 -0
  99. package/dist/stories/ox-input-data.stories.js +34 -11
  100. package/dist/stories/ox-input-data.stories.js.map +1 -1
  101. package/dist/stories/ox-input-duration.stories.d.ts +5 -0
  102. package/dist/stories/ox-input-duration.stories.js +36 -13
  103. package/dist/stories/ox-input-duration.stories.js.map +1 -1
  104. package/dist/stories/ox-input-file.stories.d.ts +5 -0
  105. package/dist/stories/ox-input-file.stories.js +39 -16
  106. package/dist/stories/ox-input-file.stories.js.map +1 -1
  107. package/dist/stories/ox-input-hashtags.stories.d.ts +5 -0
  108. package/dist/stories/ox-input-hashtags.stories.js +35 -12
  109. package/dist/stories/ox-input-hashtags.stories.js.map +1 -1
  110. package/dist/stories/ox-input-i18n-label.stories.d.ts +5 -0
  111. package/dist/stories/ox-input-i18n-label.stories.js +35 -12
  112. package/dist/stories/ox-input-i18n-label.stories.js.map +1 -1
  113. package/dist/stories/ox-input-key-values.stories.d.ts +5 -0
  114. package/dist/stories/ox-input-key-values.stories.js +35 -12
  115. package/dist/stories/ox-input-key-values.stories.js.map +1 -1
  116. package/dist/stories/ox-input-mass-fraction.stories.d.ts +5 -0
  117. package/dist/stories/ox-input-mass-fraction.stories.js +36 -13
  118. package/dist/stories/ox-input-mass-fraction.stories.js.map +1 -1
  119. package/dist/stories/ox-input-multiple-colors.stories.d.ts +5 -0
  120. package/dist/stories/ox-input-multiple-colors.stories.js +31 -149
  121. package/dist/stories/ox-input-multiple-colors.stories.js.map +1 -1
  122. package/dist/stories/ox-input-options.stories.d.ts +5 -0
  123. package/dist/stories/ox-input-options.stories.js +34 -11
  124. package/dist/stories/ox-input-options.stories.js.map +1 -1
  125. package/dist/stories/ox-input-partition-keys.stories.d.ts +5 -0
  126. package/dist/stories/ox-input-partition-keys.stories.js +34 -11
  127. package/dist/stories/ox-input-partition-keys.stories.js.map +1 -1
  128. package/dist/stories/ox-input-privilege.stories.d.ts +5 -0
  129. package/dist/stories/ox-input-privilege.stories.js +36 -18
  130. package/dist/stories/ox-input-privilege.stories.js.map +1 -1
  131. package/dist/stories/ox-input-quantifier.stories.d.ts +5 -0
  132. package/dist/stories/ox-input-quantifier.stories.js +37 -10
  133. package/dist/stories/ox-input-quantifier.stories.js.map +1 -1
  134. package/dist/stories/ox-input-range.stories.d.ts +5 -0
  135. package/dist/stories/ox-input-range.stories.js +32 -5
  136. package/dist/stories/ox-input-range.stories.js.map +1 -1
  137. package/dist/stories/ox-input-search.stories.d.ts +5 -0
  138. package/dist/stories/ox-input-search.stories.js +35 -12
  139. package/dist/stories/ox-input-search.stories.js.map +1 -1
  140. package/dist/stories/ox-input-select-buttons.stories.d.ts +5 -0
  141. package/dist/stories/ox-input-select-buttons.stories.js +36 -14
  142. package/dist/stories/ox-input-select-buttons.stories.js.map +1 -1
  143. package/dist/stories/ox-input-unit.stories.d.ts +5 -0
  144. package/dist/stories/ox-input-unit.stories.js +40 -13
  145. package/dist/stories/ox-input-unit.stories.js.map +1 -1
  146. package/dist/stories/ox-input-value-map.stories.d.ts +5 -0
  147. package/dist/stories/ox-input-value-map.stories.js +36 -13
  148. package/dist/stories/ox-input-value-map.stories.js.map +1 -1
  149. package/dist/stories/ox-input-value-ranges.stories.d.ts +5 -0
  150. package/dist/stories/ox-input-value-ranges.stories.js +36 -13
  151. package/dist/stories/ox-input-value-ranges.stories.js.map +1 -1
  152. package/dist/stories/ox-input-work-shift.stories.d.ts +5 -0
  153. package/dist/stories/ox-input-work-shift.stories.js +36 -13
  154. package/dist/stories/ox-input-work-shift.stories.js.map +1 -1
  155. package/dist/stories/ox-select-set-options.stories.d.ts +53 -0
  156. package/dist/stories/ox-select-set-options.stories.js +183 -0
  157. package/dist/stories/ox-select-set-options.stories.js.map +1 -0
  158. package/dist/stories/ox-select.stories.d.ts +5 -0
  159. package/dist/stories/ox-select.stories.js +33 -7
  160. package/dist/stories/ox-select.stories.js.map +1 -1
  161. package/dist/tsconfig.tsbuildinfo +1 -1
  162. package/package.json +7 -7
  163. package/src/ox-buttons-radio.ts +37 -5
  164. package/src/ox-checkbox.ts +23 -19
  165. package/src/ox-input-3axis.ts +12 -1
  166. package/src/ox-input-3dish.ts +16 -11
  167. package/src/ox-input-angle.ts +8 -1
  168. package/src/ox-input-barcode.ts +11 -8
  169. package/src/ox-input-code.ts +3 -0
  170. package/src/ox-input-color.ts +8 -6
  171. package/src/ox-input-crontab.ts +29 -25
  172. package/src/ox-input-data.ts +15 -6
  173. package/src/ox-input-duration.ts +15 -34
  174. package/src/ox-input-file.ts +18 -14
  175. package/src/ox-input-hashtags.ts +14 -16
  176. package/src/ox-input-i18n-label.ts +4 -4
  177. package/src/ox-input-image.ts +2 -2
  178. package/src/ox-input-key-values.ts +6 -6
  179. package/src/ox-input-mass-fraction.ts +5 -5
  180. package/src/ox-input-multiple-colors.ts +2 -2
  181. package/src/ox-input-options.ts +6 -6
  182. package/src/ox-input-partition-keys.ts +6 -6
  183. package/src/ox-input-privilege.ts +13 -16
  184. package/src/ox-input-quantifier.ts +5 -5
  185. package/src/ox-input-range.ts +8 -8
  186. package/src/ox-input-search.ts +5 -6
  187. package/src/ox-input-select-buttons.ts +19 -24
  188. package/src/ox-input-table.ts +1 -1
  189. package/src/ox-input-unit-number.ts +5 -5
  190. package/src/ox-input-value-map.ts +9 -13
  191. package/src/ox-input-value-ranges.ts +7 -7
  192. package/src/ox-input-work-shift.ts +7 -7
  193. package/src/ox-select.ts +60 -13
  194. package/src/ox-zoomable-image.ts +75 -0
  195. package/stories/ox-buttons-radio.stories.ts +96 -0
  196. package/stories/ox-checkbox.stories.ts +61 -14
  197. package/stories/ox-input-3axis.stories.ts +35 -12
  198. package/stories/ox-input-3dish.stories.ts +38 -15
  199. package/stories/ox-input-angle.stories.ts +39 -15
  200. package/stories/ox-input-barcode.stories.ts +37 -18
  201. package/stories/ox-input-code.stories.ts +42 -15
  202. package/stories/ox-input-crontab.stories.ts +43 -14
  203. package/stories/ox-input-data.stories.ts +38 -14
  204. package/stories/ox-input-duration.stories.ts +39 -15
  205. package/stories/ox-input-file.stories.ts +41 -16
  206. package/stories/ox-input-hashtags.stories.ts +42 -12
  207. package/stories/ox-input-i18n-label.stories.ts +55 -31
  208. package/stories/ox-input-key-values.stories.ts +44 -14
  209. package/stories/ox-input-mass-fraction.stories.ts +40 -15
  210. package/stories/ox-input-multiple-colors.stories.ts +34 -151
  211. package/stories/ox-input-options.stories.ts +37 -13
  212. package/stories/ox-input-partition-keys.stories.ts +42 -13
  213. package/stories/ox-input-privilege.stories.ts +45 -20
  214. package/stories/ox-input-quantifier.stories.ts +38 -10
  215. package/stories/ox-input-range.stories.ts +34 -5
  216. package/stories/ox-input-search.stories.ts +37 -12
  217. package/stories/ox-input-select-buttons.stories.ts +40 -16
  218. package/stories/ox-input-unit.stories.ts +43 -14
  219. package/stories/ox-input-value-map.stories.ts +40 -15
  220. package/stories/ox-input-value-ranges.stories.ts +40 -15
  221. package/stories/ox-input-work-shift.stories.ts +39 -15
  222. package/stories/ox-select-set-options.stories.ts +215 -0
  223. package/stories/ox-select.stories.ts +37 -7
  224. package/themes/dark-hc.css +151 -0
  225. package/themes/dark-mc.css +151 -0
  226. package/themes/dark.css +151 -0
  227. package/themes/grist-theme.css +169 -0
  228. package/themes/light-hc.css +151 -0
  229. package/themes/light-mc.css +151 -0
  230. package/themes/light.css +151 -0
  231. package/themes/md-typescale-styles.css +100 -0
  232. package/themes/spacing.css +43 -0
  233. package/themes/state-color.css +6 -0
  234. package/themes/app-theme.css +0 -145
  235. package/themes/input-theme.css +0 -32
@@ -0,0 +1,215 @@
1
+ import '../src/ox-select.js'
2
+ import '../src/ox-checkbox.js'
3
+
4
+ import { OxSelect } from '../src/ox-select.js'
5
+ import { html, TemplateResult } from 'lit'
6
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
7
+
8
+ export default {
9
+ title: 'ox-select-set-options',
10
+ component: 'ox-select',
11
+ argTypes: {
12
+ placeholder: { control: 'text' },
13
+ name: { control: 'text' },
14
+ options: { control: 'object' },
15
+ multiple: { control: 'boolean' },
16
+ withSearch: { control: 'boolean' },
17
+ disabled: { control: 'boolean' },
18
+ theme: { control: 'select', options: ['light', 'dark'] }
19
+ }
20
+ }
21
+
22
+ interface Story<T> {
23
+ (args: T): TemplateResult
24
+ args?: Partial<T>
25
+ argTypes?: Record<string, unknown>
26
+ }
27
+
28
+ interface ArgTypes {
29
+ placeholder?: string
30
+ name?: string
31
+ value?: object | string
32
+ options?: string[] | { display: string; value: string }[]
33
+ multiple?: boolean
34
+ withSearch?: boolean
35
+ disabled?: boolean
36
+ theme?: string
37
+ }
38
+
39
+ const Template: Story<ArgTypes> = ({
40
+ placeholder = 'Checkbox',
41
+ name = 'hello',
42
+ value = '',
43
+ options = [],
44
+ multiple,
45
+ withSearch,
46
+ disabled,
47
+ theme = 'light'
48
+ }: ArgTypes) => html`
49
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
50
+
51
+ <link href="/themes/light.css" rel="stylesheet" />
52
+ <link href="/themes/dark.css" rel="stylesheet" />
53
+ <link href="/themes/spacing.css" rel="stylesheet" />
54
+
55
+ <link
56
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
57
+ rel="stylesheet"
58
+ />
59
+ <link
60
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
61
+ rel="stylesheet"
62
+ />
63
+ <link
64
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
65
+ rel="stylesheet"
66
+ />
67
+
68
+ <style>
69
+ ${MDTypeScaleStyles.cssText}
70
+ </style>
71
+
72
+ <style>
73
+ .container {
74
+ height: 500px;
75
+ text-align: center;
76
+ padding: 20px;
77
+
78
+ background-color: var(--md-sys-color-primary-container);
79
+ color: var(--md-sys-color-on-primary-container);
80
+ }
81
+ </style>
82
+
83
+ <script>
84
+ document.body.classList.add('${theme}')
85
+ </script>
86
+
87
+ <div class="container md-typescale-body-large-prominent">
88
+ <ox-select
89
+ name=${name}
90
+ @change=${(e: Event) => {
91
+ console.log((e.target as HTMLInputElement).value)
92
+ }}
93
+ placeholder=${placeholder}
94
+ .value=${value}
95
+ ?disabled=${disabled}
96
+ >
97
+ </ox-select>
98
+
99
+ <input
100
+ type="button"
101
+ value="set options"
102
+ @click=${() => {
103
+ const select = document.querySelector('ox-select') as OxSelect
104
+ select.setOptions(options, { multiple, withSearch })
105
+ select.value = JSON.parse(JSON.stringify(value))
106
+ }}
107
+ />
108
+ </div>
109
+ `
110
+
111
+ export const Regular = Template.bind({})
112
+ Regular.args = {
113
+ placeholder: 'single select',
114
+ name: 'label',
115
+ value: '',
116
+ multiple: false,
117
+ options: [
118
+ {
119
+ value: 'A',
120
+ display: 'LABEL-A'
121
+ },
122
+ {
123
+ value: 'B',
124
+ display: 'LABEL-B'
125
+ },
126
+ {
127
+ value: 'C',
128
+ display: 'LABEL-C'
129
+ },
130
+ {
131
+ value: 'TOO LONG VALUE',
132
+ display: 'LABEL-TOO LONG VALUE'
133
+ }
134
+ ]
135
+ }
136
+
137
+ export const MultipleSelect = Template.bind({})
138
+ MultipleSelect.args = {
139
+ placeholder: 'multiple select',
140
+ name: 'multiple',
141
+ multiple: true,
142
+ withSearch: true,
143
+ value: ['B', 'TOO LONG VALUE'],
144
+ options: [
145
+ 'A',
146
+ 'B',
147
+ 'C',
148
+ 'D',
149
+ 'E',
150
+ 'F',
151
+ 'G',
152
+ 'H',
153
+ 'I',
154
+ 'J',
155
+ 'K',
156
+ 'L',
157
+ 'M',
158
+ 'O',
159
+ 'P',
160
+ 'Q',
161
+ 'R',
162
+ 'S',
163
+ 'T',
164
+ 'U',
165
+ 'V',
166
+ 'W',
167
+ 'X',
168
+ 'Y',
169
+ 'Z',
170
+ 'TOO LONG VALUE'
171
+ ]
172
+ }
173
+
174
+ export const MultipleWithCheckbox = Template.bind({})
175
+ MultipleWithCheckbox.args = {
176
+ placeholder: 'multiple with checkbox',
177
+ name: 'multiple',
178
+ multiple: true,
179
+ withSearch: true,
180
+ value: ['B', 'C', 'F'],
181
+ options: [
182
+ {
183
+ value: 'A',
184
+ display: 'A'
185
+ },
186
+ {
187
+ value: 'B',
188
+ display: 'B'
189
+ },
190
+ {
191
+ value: 'C',
192
+ display: 'C'
193
+ },
194
+ {
195
+ value: 'D',
196
+ display: 'D'
197
+ },
198
+ {
199
+ value: 'E',
200
+ display: 'E'
201
+ },
202
+ {
203
+ value: 'F',
204
+ display: 'F'
205
+ },
206
+ {
207
+ value: 'G',
208
+ display: 'G'
209
+ },
210
+ {
211
+ value: 'TOO LONG VALUE',
212
+ display: 'TOO LONG VALUE'
213
+ }
214
+ ]
215
+ }
@@ -2,6 +2,7 @@ import '../src/ox-select.js'
2
2
  import '../src/ox-checkbox.js'
3
3
 
4
4
  import { html, TemplateResult } from 'lit'
5
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
5
6
 
6
7
  export default {
7
8
  title: 'ox-select',
@@ -9,7 +10,8 @@ export default {
9
10
  argTypes: {
10
11
  placeholder: { control: 'text' },
11
12
  name: { control: 'text' },
12
- disabled: { control: 'boolean' }
13
+ disabled: { control: 'boolean' },
14
+ theme: { control: 'select', options: ['light', 'dark'] }
13
15
  }
14
16
  }
15
17
 
@@ -25,6 +27,7 @@ interface ArgTypes {
25
27
  value?: object | string
26
28
  slot?: TemplateResult
27
29
  disabled?: boolean
30
+ theme?: string
28
31
  }
29
32
 
30
33
  const Template: Story<ArgTypes> = ({
@@ -32,9 +35,14 @@ const Template: Story<ArgTypes> = ({
32
35
  name = 'hello',
33
36
  value = '',
34
37
  slot,
35
- disabled
38
+ disabled,
39
+ theme = 'light'
36
40
  }: ArgTypes) => html`
37
- <link href="/themes/app-theme.css" rel="stylesheet" />
41
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
42
+
43
+ <link href="/themes/light.css" rel="stylesheet" />
44
+ <link href="/themes/dark.css" rel="stylesheet" />
45
+ <link href="/themes/spacing.css" rel="stylesheet" />
38
46
 
39
47
  <link
40
48
  href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
@@ -49,7 +57,26 @@ const Template: Story<ArgTypes> = ({
49
57
  rel="stylesheet"
50
58
  />
51
59
 
52
- <div style="height: 300px">
60
+ <style>
61
+ ${MDTypeScaleStyles.cssText}
62
+ </style>
63
+
64
+ <style>
65
+ .container {
66
+ height: 500px;
67
+ text-align: center;
68
+ padding: 20px;
69
+
70
+ background-color: var(--md-sys-color-primary-container);
71
+ color: var(--md-sys-color-on-primary-container);
72
+ }
73
+ </style>
74
+
75
+ <script>
76
+ document.body.classList.add('${theme}')
77
+ </script>
78
+
79
+ <div class="container md-typescale-body-large-prominent">
53
80
  <ox-select
54
81
  name=${name}
55
82
  @change=${(e: Event) => {
@@ -124,12 +151,15 @@ MultipleWithCheckbox.args = {
124
151
  slot: html`
125
152
  <ox-popup-list attr-selected="checked" multiple with-search>
126
153
  <ox-checkbox
127
- option
128
154
  @change=${(e: Event) => {
129
155
  const target = e.target as HTMLInputElement
130
- const options = target.parentElement!.querySelectorAll('[option]')
131
- console.log(options)
156
+ const options = Array.from(target.parentElement!.querySelectorAll('[option]')).filter(
157
+ option => !option.hasAttribute('hidden')
158
+ )
132
159
  options.forEach(option => ((option as HTMLInputElement).checked = target.checked))
160
+ ;(target.closest('ox-select') as any)!.value = options
161
+ .map(option => ((option as HTMLInputElement).checked ? (option as HTMLInputElement).value : undefined))
162
+ .filter(Boolean)
133
163
  }}
134
164
  >set all</ox-checkbox
135
165
  >
@@ -0,0 +1,151 @@
1
+ .dark-high-contrast {
2
+ --md-sys-color-primary: rgb(252 250 255);
3
+ --md-sys-color-surface-tint: rgb(178 197 255);
4
+ --md-sys-color-on-primary: rgb(0 0 0);
5
+ --md-sys-color-primary-container: rgb(184 201 255);
6
+ --md-sys-color-on-primary-container: rgb(0 0 0);
7
+ --md-sys-color-secondary: rgb(248 251 255);
8
+ --md-sys-color-on-secondary: rgb(0 0 0);
9
+ --md-sys-color-secondary-container: rgb(147 211 247);
10
+ --md-sys-color-on-secondary-container: rgb(0 0 0);
11
+ --md-sys-color-tertiary: rgb(238 255 242);
12
+ --md-sys-color-on-tertiary: rgb(0 0 0);
13
+ --md-sys-color-tertiary-container: rgb(148 218 179);
14
+ --md-sys-color-on-tertiary-container: rgb(0 0 0);
15
+ --md-sys-color-error: rgb(255 249 249);
16
+ --md-sys-color-on-error: rgb(0 0 0);
17
+ --md-sys-color-error-container: rgb(255 185 180);
18
+ --md-sys-color-on-error-container: rgb(0 0 0);
19
+ --md-sys-color-background: rgb(18 19 24);
20
+ --md-sys-color-on-background: rgb(227 226 233);
21
+ --md-sys-color-surface: rgb(18 19 24);
22
+ --md-sys-color-on-surface: rgb(255 255 255);
23
+ --md-sys-color-surface-variant: rgb(69 70 79);
24
+ --md-sys-color-on-surface-variant: rgb(252 250 255);
25
+ --md-sys-color-outline: rgb(201 202 212);
26
+ --md-sys-color-outline-variant: rgb(201 202 212);
27
+ --md-sys-color-shadow: rgb(0 0 0);
28
+ --md-sys-color-scrim: rgb(0 0 0);
29
+ --md-sys-color-inverse-surface: rgb(227 226 233);
30
+ --md-sys-color-inverse-on-surface: rgb(0 0 0);
31
+ --md-sys-color-inverse-primary: rgb(16 39 90);
32
+ --md-sys-color-primary-fixed: rgb(224 230 255);
33
+ --md-sys-color-on-primary-fixed: rgb(0 0 0);
34
+ --md-sys-color-primary-fixed-dim: rgb(184 201 255);
35
+ --md-sys-color-on-primary-fixed-variant: rgb(0 19 61);
36
+ --md-sys-color-secondary-fixed: rgb(205 235 255);
37
+ --md-sys-color-on-secondary-fixed: rgb(0 0 0);
38
+ --md-sys-color-secondary-fixed-dim: rgb(147 211 247);
39
+ --md-sys-color-on-secondary-fixed-variant: rgb(0 25 36);
40
+ --md-sys-color-tertiary-fixed: rgb(175 246 206);
41
+ --md-sys-color-on-tertiary-fixed: rgb(0 0 0);
42
+ --md-sys-color-tertiary-fixed-dim: rgb(148 218 179);
43
+ --md-sys-color-on-tertiary-fixed-variant: rgb(0 27 14);
44
+ --md-sys-color-surface-dim: rgb(18 19 24);
45
+ --md-sys-color-surface-bright: rgb(56 57 63);
46
+ --md-sys-color-surface-container-lowest: rgb(13 14 19);
47
+ --md-sys-color-surface-container-low: rgb(26 27 33);
48
+ --md-sys-color-surface-container: rgb(30 31 37);
49
+ --md-sys-color-surface-container-high: rgb(41 42 47);
50
+ --md-sys-color-surface-container-highest: rgb(51 52 58);
51
+
52
+ /* primary palette */
53
+ --md-ref-palette-primary0:#000000;
54
+ --md-ref-palette-primary5:#000E32;
55
+ --md-ref-palette-primary10:#001848;
56
+ --md-ref-palette-primary15:#00215E;
57
+ --md-ref-palette-primary20:#002B74;
58
+ --md-ref-palette-primary25:#002B74;
59
+ --md-ref-palette-primary30:#0040A2;
60
+ --md-ref-palette-primary35:#002B74;
61
+ --md-ref-palette-primary40:#1957CA;
62
+ --md-ref-palette-primary50:#3E71E5;
63
+ --md-ref-palette-primary60:#5C8BFF;
64
+ --md-ref-palette-primary70:#89A9FF;
65
+ --md-ref-palette-primary80:#B2C5FF;
66
+ --md-ref-palette-primary90:#DAE2FF;
67
+ --md-ref-palette-primary95:#EEF0FF;
68
+ --md-ref-palette-primary98:#FAF8FF;
69
+ --md-ref-palette-primary99:#FEFBFF;
70
+ --md-ref-palette-primary100:#FFFFFF;
71
+
72
+ /* secondary palette */
73
+ --md-ref-palette-secondary0:#000000;
74
+ --md-ref-palette-secondary5:#00131D;
75
+ --md-ref-palette-secondary10:#001E2C;
76
+ --md-ref-palette-secondary15:#00293A;
77
+ --md-ref-palette-secondary20:#003549;
78
+ --md-ref-palette-secondary25:#004058;
79
+ --md-ref-palette-secondary30:#004C68;
80
+ --md-ref-palette-secondary35:#005978;
81
+ --md-ref-palette-secondary40:#006689;
82
+ --md-ref-palette-secondary50:#0080AC;
83
+ --md-ref-palette-secondary60:#009BCF;
84
+ --md-ref-palette-secondary70:#00B8F4;
85
+ --md-ref-palette-secondary80:#79D1FF;
86
+ --md-ref-palette-secondary90:#C3E8FF;
87
+ --md-ref-palette-secondary95:#E3F3FF;
88
+ --md-ref-palette-secondary98:#F5FAFF;
89
+ --md-ref-palette-secondary99:#FBFCFF;
90
+ --md-ref-palette-secondary100:#FFFFFF;
91
+
92
+ /* tertiary palette */
93
+ --md-ref-palette-tertiary0:#000000;
94
+ --md-ref-palette-tertiary5:#00150A;
95
+ --md-ref-palette-tertiary10:#002113;
96
+ --md-ref-palette-tertiary15:#002C1B;
97
+ --md-ref-palette-tertiary20:#003823;
98
+ --md-ref-palette-tertiary25:#00452B;
99
+ --md-ref-palette-tertiary30:#005234;
100
+ --md-ref-palette-tertiary35:#005F3E;
101
+ --md-ref-palette-tertiary40:#006C47;
102
+ --md-ref-palette-tertiary50:#00885A;
103
+ --md-ref-palette-tertiary60:#31A372;
104
+ --md-ref-palette-tertiary70:#51BF8B;
105
+ --md-ref-palette-tertiary80:#6EDBA5;
106
+ --md-ref-palette-tertiary90:#A2F4C7;
107
+ --md-ref-palette-tertiary95:#BFFFD9;
108
+ --md-ref-palette-tertiary98:#E8FFEF;
109
+ --md-ref-palette-tertiary99:#F4FFF5;
110
+ --md-ref-palette-tertiary100:#FFFFFF;
111
+
112
+ /* error palette */
113
+ --md-ref-palette-error0:#000000;
114
+ --md-ref-palette-error5:#2d0102;
115
+ --md-ref-palette-error10:#410304;
116
+ --md-ref-palette-error15:#540507;
117
+ --md-ref-palette-error20:#68070a;
118
+ --md-ref-palette-error25:#7d0b0e;
119
+ --md-ref-palette-error30:#930f14;
120
+ --md-ref-palette-error35:#a91319;
121
+ --md-ref-palette-error40:#bc1620;
122
+ --md-ref-palette-error50:#e03236;
123
+ --md-ref-palette-error60:#ff5450;
124
+ --md-ref-palette-error70:#ff8982;
125
+ --md-ref-palette-error80:#ffb3ad;
126
+ --md-ref-palette-error90:#ffdad7;
127
+ --md-ref-palette-error95:#ffedeb;
128
+ --md-ref-palette-error98:#fff8f7;
129
+ --md-ref-palette-error99:#fffbff;
130
+ --md-ref-palette-error100:#FFFFFF;
131
+
132
+ /* neutral palette */
133
+ --md-ref-palette-neutral0:#000000;
134
+ --md-ref-palette-neutral5:#111111;
135
+ --md-ref-palette-neutral10:#1C1C1C;
136
+ --md-ref-palette-neutral15:#262626;
137
+ --md-ref-palette-neutral20:#313131;
138
+ --md-ref-palette-neutral25:#3C3C3C;
139
+ --md-ref-palette-neutral30:#474747;
140
+ --md-ref-palette-neutral35:#535353;
141
+ --md-ref-palette-neutral40:#5F5F5F;
142
+ --md-ref-palette-neutral50:#787878;
143
+ --md-ref-palette-neutral60:#929292;
144
+ --md-ref-palette-neutral70:#ACACAC;
145
+ --md-ref-palette-neutral80:#C8C8C8;
146
+ --md-ref-palette-neutral90:#E4E4E4;
147
+ --md-ref-palette-neutral95:#F0F0F0;
148
+ --md-ref-palette-neutral98:#F9F9F9;
149
+ --md-ref-palette-neutral99:#FEFEFE;
150
+ --md-ref-palette-neutral100:#FFFFFF;
151
+ }
@@ -0,0 +1,151 @@
1
+ .dark-medium-contrast {
2
+ --md-sys-color-primary: rgb(184 201 255);
3
+ --md-sys-color-surface-tint: rgb(178 197 255);
4
+ --md-sys-color-on-primary: rgb(0 19 61);
5
+ --md-sys-color-primary-container: rgb(124 143 200);
6
+ --md-sys-color-on-primary-container: rgb(0 0 0);
7
+ --md-sys-color-secondary: rgb(147 211 247);
8
+ --md-sys-color-on-secondary: rgb(0 25 36);
9
+ --md-sys-color-secondary-container: rgb(88 152 186);
10
+ --md-sys-color-on-secondary-container: rgb(0 0 0);
11
+ --md-sys-color-tertiary: #cffce3;
12
+ --md-sys-color-on-tertiary: rgb(0 27 14);
13
+ --md-sys-color-tertiary-container: #005234;
14
+ --md-sys-color-on-tertiary-container: #cffce3;
15
+ --md-sys-color-error: #fbafa9;
16
+ --md-sys-color-on-error: #fe594e;
17
+ --md-sys-color-error-container: #fe594e;
18
+ --md-sys-color-on-error-container: #fbafa9;
19
+ --md-sys-color-background: rgb(18 19 24);
20
+ --md-sys-color-on-background: rgb(227 226 233);
21
+ --md-sys-color-surface: rgb(18 19 24);
22
+ --md-sys-color-on-surface: rgb(252 250 255);
23
+ --md-sys-color-surface-variant: rgb(69 70 79);
24
+ --md-sys-color-on-surface-variant: rgb(201 202 212);
25
+ --md-sys-color-outline: rgb(161 162 172);
26
+ --md-sys-color-outline-variant: rgb(129 131 140);
27
+ --md-sys-color-shadow: rgb(0 0 0);
28
+ --md-sys-color-scrim: rgb(0 0 0);
29
+ --md-sys-color-inverse-surface: rgb(227 226 233);
30
+ --md-sys-color-inverse-on-surface: rgb(41 42 47);
31
+ --md-sys-color-inverse-primary: rgb(50 70 122);
32
+ --md-sys-color-primary-fixed: rgb(218 226 255);
33
+ --md-sys-color-on-primary-fixed: rgb(0 15 51);
34
+ --md-sys-color-primary-fixed-dim: rgb(178 197 255);
35
+ --md-sys-color-on-primary-fixed-variant: rgb(31 52 102);
36
+ --md-sys-color-secondary-fixed: rgb(195 232 255);
37
+ --md-sys-color-on-secondary-fixed: rgb(0 19 29);
38
+ --md-sys-color-secondary-fixed-dim: rgb(143 207 243);
39
+ --md-sys-color-on-secondary-fixed-variant: rgb(0 59 81);
40
+ --md-sys-color-tertiary-fixed: #c7e6d5;
41
+ --md-sys-color-on-tertiary-fixed: rgb(0 21 10);
42
+ --md-sys-color-tertiary-fixed-dim: #c7e6d5;
43
+ --md-sys-color-on-tertiary-fixed-variant: rgb(0 63 39);
44
+ --md-sys-color-surface-dim: rgb(18 19 24);
45
+ --md-sys-color-surface-bright: rgb(56 57 63);
46
+ --md-sys-color-surface-container-lowest: rgb(13 14 19);
47
+ --md-sys-color-surface-container-low: rgb(26 27 33);
48
+ --md-sys-color-surface-container: rgb(30 31 37);
49
+ --md-sys-color-surface-container-high: rgb(41 42 47);
50
+ --md-sys-color-surface-container-highest: rgb(51 52 58);
51
+
52
+ /* primary palette */
53
+ --md-ref-palette-primary0:#000000;
54
+ --md-ref-palette-primary5:#000E32;
55
+ --md-ref-palette-primary10:#001848;
56
+ --md-ref-palette-primary15:#00215E;
57
+ --md-ref-palette-primary20:#002B74;
58
+ --md-ref-palette-primary25:#002B74;
59
+ --md-ref-palette-primary30:#0040A2;
60
+ --md-ref-palette-primary35:#002B74;
61
+ --md-ref-palette-primary40:#1957CA;
62
+ --md-ref-palette-primary50:#3E71E5;
63
+ --md-ref-palette-primary60:#5C8BFF;
64
+ --md-ref-palette-primary70:#89A9FF;
65
+ --md-ref-palette-primary80:#B2C5FF;
66
+ --md-ref-palette-primary90:#DAE2FF;
67
+ --md-ref-palette-primary95:#EEF0FF;
68
+ --md-ref-palette-primary98:#FAF8FF;
69
+ --md-ref-palette-primary99:#FEFBFF;
70
+ --md-ref-palette-primary100:#FFFFFF;
71
+
72
+ /* secondary palette */
73
+ --md-ref-palette-secondary0:#000000;
74
+ --md-ref-palette-secondary5:#00131D;
75
+ --md-ref-palette-secondary10:#001E2C;
76
+ --md-ref-palette-secondary15:#00293A;
77
+ --md-ref-palette-secondary20:#003549;
78
+ --md-ref-palette-secondary25:#004058;
79
+ --md-ref-palette-secondary30:#004C68;
80
+ --md-ref-palette-secondary35:#005978;
81
+ --md-ref-palette-secondary40:#006689;
82
+ --md-ref-palette-secondary50:#0080AC;
83
+ --md-ref-palette-secondary60:#009BCF;
84
+ --md-ref-palette-secondary70:#00B8F4;
85
+ --md-ref-palette-secondary80:#79D1FF;
86
+ --md-ref-palette-secondary90:#C3E8FF;
87
+ --md-ref-palette-secondary95:#E3F3FF;
88
+ --md-ref-palette-secondary98:#F5FAFF;
89
+ --md-ref-palette-secondary99:#FBFCFF;
90
+ --md-ref-palette-secondary100:#FFFFFF;
91
+
92
+ /* tertiary palette */
93
+ --md-ref-palette-tertiary0:#000000;
94
+ --md-ref-palette-tertiary5:#00150A;
95
+ --md-ref-palette-tertiary10:#002113;
96
+ --md-ref-palette-tertiary15:#002C1B;
97
+ --md-ref-palette-tertiary20:#003823;
98
+ --md-ref-palette-tertiary25:#00452B;
99
+ --md-ref-palette-tertiary30:#005234;
100
+ --md-ref-palette-tertiary35:#005F3E;
101
+ --md-ref-palette-tertiary40:#006C47;
102
+ --md-ref-palette-tertiary50:#00885A;
103
+ --md-ref-palette-tertiary60:#31A372;
104
+ --md-ref-palette-tertiary70:#51BF8B;
105
+ --md-ref-palette-tertiary80:#6EDBA5;
106
+ --md-ref-palette-tertiary90:#A2F4C7;
107
+ --md-ref-palette-tertiary95:#BFFFD9;
108
+ --md-ref-palette-tertiary98:#E8FFEF;
109
+ --md-ref-palette-tertiary99:#F4FFF5;
110
+ --md-ref-palette-tertiary100:#FFFFFF;
111
+
112
+ /* error palette */
113
+ --md-ref-palette-error0:#000000;
114
+ --md-ref-palette-error5:#2d0102;
115
+ --md-ref-palette-error10:#410304;
116
+ --md-ref-palette-error15:#540507;
117
+ --md-ref-palette-error20:#68070a;
118
+ --md-ref-palette-error25:#7d0b0e;
119
+ --md-ref-palette-error30:#930f14;
120
+ --md-ref-palette-error35:#a91319;
121
+ --md-ref-palette-error40:#bc1620;
122
+ --md-ref-palette-error50:#e03236;
123
+ --md-ref-palette-error60:#ff5450;
124
+ --md-ref-palette-error70:#ff8982;
125
+ --md-ref-palette-error80:#ffb3ad;
126
+ --md-ref-palette-error90:#ffdad7;
127
+ --md-ref-palette-error95:#ffedeb;
128
+ --md-ref-palette-error98:#fff8f7;
129
+ --md-ref-palette-error99:#fffbff;
130
+ --md-ref-palette-error100:#FFFFFF;
131
+
132
+ /* neutral palette */
133
+ --md-ref-palette-neutral0:#000000;
134
+ --md-ref-palette-neutral5:#111111;
135
+ --md-ref-palette-neutral10:#1C1C1C;
136
+ --md-ref-palette-neutral15:#262626;
137
+ --md-ref-palette-neutral20:#313131;
138
+ --md-ref-palette-neutral25:#3C3C3C;
139
+ --md-ref-palette-neutral30:#474747;
140
+ --md-ref-palette-neutral35:#535353;
141
+ --md-ref-palette-neutral40:#5F5F5F;
142
+ --md-ref-palette-neutral50:#787878;
143
+ --md-ref-palette-neutral60:#929292;
144
+ --md-ref-palette-neutral70:#ACACAC;
145
+ --md-ref-palette-neutral80:#C8C8C8;
146
+ --md-ref-palette-neutral90:#E4E4E4;
147
+ --md-ref-palette-neutral95:#F0F0F0;
148
+ --md-ref-palette-neutral98:#F9F9F9;
149
+ --md-ref-palette-neutral99:#FEFEFE;
150
+ --md-ref-palette-neutral100:#FFFFFF;
151
+ }