@operato/input 2.0.0-alpha.0 → 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 (201) hide show
  1. package/CHANGELOG.md +331 -0
  2. package/demo/index-multiple-colors.html +14 -2
  3. package/demo/index-partition-keys.html +13 -2
  4. package/demo/index-select.html +20 -9
  5. package/demo/index-table.html +13 -2
  6. package/demo/index.html +13 -2
  7. package/dist/src/locale/locale-picker.d.ts +1 -1
  8. package/dist/src/ox-buttons-radio.d.ts +1 -1
  9. package/dist/src/ox-checkbox.d.ts +5 -4
  10. package/dist/src/ox-checkbox.js +12 -6
  11. package/dist/src/ox-checkbox.js.map +1 -1
  12. package/dist/src/ox-input-3axis.d.ts +1 -1
  13. package/dist/src/ox-input-3dish.d.ts +1 -1
  14. package/dist/src/ox-input-angle.d.ts +1 -1
  15. package/dist/src/ox-input-barcode.d.ts +49 -6
  16. package/dist/src/ox-input-barcode.js +97 -69
  17. package/dist/src/ox-input-barcode.js.map +1 -1
  18. package/dist/src/ox-input-code.d.ts +2 -3
  19. package/dist/src/ox-input-code.js +8 -15
  20. package/dist/src/ox-input-code.js.map +1 -1
  21. package/dist/src/ox-input-color-gradient.d.ts +1 -1
  22. package/dist/src/ox-input-color-stops.d.ts +1 -1
  23. package/dist/src/ox-input-color.d.ts +1 -1
  24. package/dist/src/ox-input-container.d.ts +2 -2
  25. package/dist/src/ox-input-container.js +2 -2
  26. package/dist/src/ox-input-container.js.map +1 -1
  27. package/dist/src/ox-input-crontab.d.ts +1 -2
  28. package/dist/src/ox-input-crontab.js +4 -7
  29. package/dist/src/ox-input-crontab.js.map +1 -1
  30. package/dist/src/ox-input-data.d.ts +4 -5
  31. package/dist/src/ox-input-data.js +88 -36
  32. package/dist/src/ox-input-data.js.map +1 -1
  33. package/dist/src/ox-input-duration.d.ts +1 -2
  34. package/dist/src/ox-input-duration.js +13 -9
  35. package/dist/src/ox-input-duration.js.map +1 -1
  36. package/dist/src/ox-input-file.d.ts +2 -2
  37. package/dist/src/ox-input-file.js +10 -9
  38. package/dist/src/ox-input-file.js.map +1 -1
  39. package/dist/src/ox-input-hashtags.d.ts +1 -1
  40. package/dist/src/ox-input-i18n-label.d.ts +33 -0
  41. package/dist/src/ox-input-i18n-label.js +130 -0
  42. package/dist/src/ox-input-i18n-label.js.map +1 -0
  43. package/dist/src/ox-input-image.d.ts +2 -2
  44. package/dist/src/ox-input-image.js +4 -4
  45. package/dist/src/ox-input-image.js.map +1 -1
  46. package/dist/src/ox-input-key-values.d.ts +2 -2
  47. package/dist/src/ox-input-key-values.js +9 -10
  48. package/dist/src/ox-input-key-values.js.map +1 -1
  49. package/dist/src/ox-input-mass-fraction.d.ts +3 -2
  50. package/dist/src/ox-input-mass-fraction.js +90 -56
  51. package/dist/src/ox-input-mass-fraction.js.map +1 -1
  52. package/dist/src/ox-input-multiple-colors.d.ts +2 -2
  53. package/dist/src/ox-input-multiple-colors.js +7 -7
  54. package/dist/src/ox-input-multiple-colors.js.map +1 -1
  55. package/dist/src/ox-input-options.d.ts +2 -2
  56. package/dist/src/ox-input-options.js +5 -7
  57. package/dist/src/ox-input-options.js.map +1 -1
  58. package/dist/src/ox-input-partition-keys.d.ts +2 -2
  59. package/dist/src/ox-input-partition-keys.js +10 -10
  60. package/dist/src/ox-input-partition-keys.js.map +1 -1
  61. package/dist/src/ox-input-privilege.d.ts +1 -2
  62. package/dist/src/ox-input-privilege.js +15 -31
  63. package/dist/src/ox-input-privilege.js.map +1 -1
  64. package/dist/src/ox-input-quantifier.d.ts +1 -1
  65. package/dist/src/ox-input-scene-component-id.d.ts +1 -1
  66. package/dist/src/ox-input-search.d.ts +2 -2
  67. package/dist/src/ox-input-search.js +5 -4
  68. package/dist/src/ox-input-search.js.map +1 -1
  69. package/dist/src/ox-input-select-buttons.d.ts +1 -1
  70. package/dist/src/ox-input-select-buttons.js +1 -1
  71. package/dist/src/ox-input-select-buttons.js.map +1 -1
  72. package/dist/src/ox-input-stack.d.ts +1 -1
  73. package/dist/src/ox-input-table.d.ts +1 -1
  74. package/dist/src/ox-input-table.js +12 -12
  75. package/dist/src/ox-input-table.js.map +1 -1
  76. package/dist/src/ox-input-textarea.d.ts +1 -1
  77. package/dist/src/ox-input-unit-number.d.ts +3 -2
  78. package/dist/src/ox-input-unit-number.js +25 -10
  79. package/dist/src/ox-input-unit-number.js.map +1 -1
  80. package/dist/src/ox-input-value-map.d.ts +2 -2
  81. package/dist/src/ox-input-value-map.js +17 -17
  82. package/dist/src/ox-input-value-map.js.map +1 -1
  83. package/dist/src/ox-input-value-ranges.d.ts +2 -2
  84. package/dist/src/ox-input-value-ranges.js +22 -17
  85. package/dist/src/ox-input-value-ranges.js.map +1 -1
  86. package/dist/src/ox-input-work-shift.d.ts +1 -1
  87. package/dist/src/ox-input-work-shift.js +4 -8
  88. package/dist/src/ox-input-work-shift.js.map +1 -1
  89. package/dist/src/ox-select.d.ts +2 -2
  90. package/dist/src/ox-select.js +16 -10
  91. package/dist/src/ox-select.js.map +1 -1
  92. package/dist/stories/ox-input-3axis.stories.js +14 -1
  93. package/dist/stories/ox-input-3axis.stories.js.map +1 -1
  94. package/dist/stories/ox-input-3dish.stories.js +14 -1
  95. package/dist/stories/ox-input-3dish.stories.js.map +1 -1
  96. package/dist/stories/ox-input-angle.stories.js +13 -1
  97. package/dist/stories/ox-input-angle.stories.js.map +1 -1
  98. package/dist/stories/ox-input-barcode.stories.js +17 -1
  99. package/dist/stories/ox-input-barcode.stories.js.map +1 -1
  100. package/dist/stories/ox-input-code.stories.d.ts +4 -0
  101. package/dist/stories/ox-input-code.stories.js +18 -3
  102. package/dist/stories/ox-input-code.stories.js.map +1 -1
  103. package/dist/stories/ox-input-crontab.stories.js +13 -1
  104. package/dist/stories/ox-input-crontab.stories.js.map +1 -1
  105. package/dist/stories/ox-input-data.stories.d.ts +29 -0
  106. package/dist/stories/ox-input-data.stories.js +50 -0
  107. package/dist/stories/ox-input-data.stories.js.map +1 -0
  108. package/dist/stories/ox-input-duration.stories.js +13 -1
  109. package/dist/stories/ox-input-duration.stories.js.map +1 -1
  110. package/dist/stories/ox-input-file.stories.js +13 -1
  111. package/dist/stories/ox-input-file.stories.js.map +1 -1
  112. package/dist/stories/ox-input-hashtags.stories.js +13 -1
  113. package/dist/stories/ox-input-hashtags.stories.js.map +1 -1
  114. package/dist/stories/ox-input-i18n-label.stories.d.ts +29 -0
  115. package/dist/stories/ox-input-i18n-label.stories.js +70 -0
  116. package/dist/stories/ox-input-i18n-label.stories.js.map +1 -0
  117. package/dist/stories/ox-input-key-values.stories.js +13 -1
  118. package/dist/stories/ox-input-key-values.stories.js.map +1 -1
  119. package/dist/stories/ox-input-mass-fraction.stories.d.ts +4 -0
  120. package/dist/stories/ox-input-mass-fraction.stories.js +22 -3
  121. package/dist/stories/ox-input-mass-fraction.stories.js.map +1 -1
  122. package/dist/stories/ox-input-multiple-colors.stories.js +21 -11
  123. package/dist/stories/ox-input-multiple-colors.stories.js.map +1 -1
  124. package/dist/stories/ox-input-options.stories.js +13 -1
  125. package/dist/stories/ox-input-options.stories.js.map +1 -1
  126. package/dist/stories/ox-input-partition-keys.stories.js +13 -1
  127. package/dist/stories/ox-input-partition-keys.stories.js.map +1 -1
  128. package/dist/stories/ox-input-privilege.stories.js +13 -1
  129. package/dist/stories/ox-input-privilege.stories.js.map +1 -1
  130. package/dist/stories/ox-input-quantifier.stories.js +13 -1
  131. package/dist/stories/ox-input-quantifier.stories.js.map +1 -1
  132. package/dist/stories/ox-input-range.stories.js +13 -1
  133. package/dist/stories/ox-input-range.stories.js.map +1 -1
  134. package/dist/stories/ox-input-search.stories.js +13 -1
  135. package/dist/stories/ox-input-search.stories.js.map +1 -1
  136. package/dist/stories/ox-input-select-buttons.stories.js +13 -1
  137. package/dist/stories/ox-input-select-buttons.stories.js.map +1 -1
  138. package/dist/stories/ox-input-unit.stories.js +14 -0
  139. package/dist/stories/ox-input-unit.stories.js.map +1 -1
  140. package/dist/stories/ox-input-value-map.stories.js +13 -1
  141. package/dist/stories/ox-input-value-map.stories.js.map +1 -1
  142. package/dist/stories/ox-input-value-ranges.stories.js +13 -1
  143. package/dist/stories/ox-input-value-ranges.stories.js.map +1 -1
  144. package/dist/stories/ox-input-work-shift.stories.js +13 -1
  145. package/dist/stories/ox-input-work-shift.stories.js.map +1 -1
  146. package/dist/stories/ox-select.stories.js +13 -1
  147. package/dist/stories/ox-select.stories.js.map +1 -1
  148. package/dist/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +26 -22
  150. package/src/ox-checkbox.ts +9 -6
  151. package/src/ox-input-barcode.ts +128 -63
  152. package/src/ox-input-code.ts +6 -13
  153. package/src/ox-input-container.ts +2 -2
  154. package/src/ox-input-crontab.ts +4 -8
  155. package/src/ox-input-data.ts +97 -38
  156. package/src/ox-input-duration.ts +13 -10
  157. package/src/ox-input-file.ts +10 -9
  158. package/src/ox-input-i18n-label.ts +140 -0
  159. package/src/ox-input-image.ts +4 -4
  160. package/src/ox-input-key-values.ts +27 -22
  161. package/src/ox-input-mass-fraction.ts +88 -57
  162. package/src/ox-input-multiple-colors.ts +7 -7
  163. package/src/ox-input-options.ts +5 -7
  164. package/src/ox-input-partition-keys.ts +28 -22
  165. package/src/ox-input-privilege.ts +15 -32
  166. package/src/ox-input-search.ts +5 -4
  167. package/src/ox-input-select-buttons.ts +1 -1
  168. package/src/ox-input-table.ts +12 -12
  169. package/src/ox-input-unit-number.ts +18 -2
  170. package/src/ox-input-value-map.ts +19 -19
  171. package/src/ox-input-value-ranges.ts +24 -19
  172. package/src/ox-input-work-shift.ts +4 -8
  173. package/src/ox-select.ts +16 -10
  174. package/stories/ox-input-3axis.stories.ts +14 -1
  175. package/stories/ox-input-3dish.stories.ts +14 -1
  176. package/stories/ox-input-angle.stories.ts +13 -1
  177. package/stories/ox-input-barcode.stories.ts +17 -1
  178. package/stories/ox-input-code.stories.ts +25 -3
  179. package/stories/ox-input-crontab.stories.ts +13 -1
  180. package/stories/ox-input-data.stories.ts +65 -0
  181. package/stories/ox-input-duration.stories.ts +13 -1
  182. package/stories/ox-input-file.stories.ts +13 -1
  183. package/stories/ox-input-hashtags.stories.ts +13 -1
  184. package/stories/ox-input-i18n-label.stories.ts +85 -0
  185. package/stories/ox-input-key-values.stories.ts +13 -1
  186. package/stories/ox-input-mass-fraction.stories.ts +23 -2
  187. package/stories/ox-input-multiple-colors.stories.ts +21 -11
  188. package/stories/ox-input-options.stories.ts +13 -1
  189. package/stories/ox-input-partition-keys.stories.ts +13 -1
  190. package/stories/ox-input-privilege.stories.ts +13 -1
  191. package/stories/ox-input-quantifier.stories.ts +13 -1
  192. package/stories/ox-input-range.stories.ts +13 -1
  193. package/stories/ox-input-search.stories.ts +13 -1
  194. package/stories/ox-input-select-buttons.stories.ts +13 -1
  195. package/stories/ox-input-unit.stories.ts +14 -0
  196. package/stories/ox-input-value-map.stories.ts +13 -1
  197. package/stories/ox-input-value-ranges.stories.ts +13 -1
  198. package/stories/ox-input-work-shift.stories.ts +13 -1
  199. package/stories/ox-select.stories.ts +13 -1
  200. package/themes/app-theme.css +1 -1
  201. package/themes/input-theme.css +20 -7
@@ -2,6 +2,8 @@
2
2
  * @license Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
 
5
+ import '@material/web/icon/icon.js'
6
+
5
7
  import { css, html, PropertyValues } from 'lit'
6
8
  import { customElement, property, query } from 'lit/decorators.js'
7
9
  import { ifDefined } from 'lit/directives/if-defined.js'
@@ -169,13 +171,15 @@ const UNIT_SYSTEMS: { [unit: string]: { [unit: string]: number | ((v: number) =>
169
171
  }
170
172
 
171
173
  @customElement('ox-input-unit-number')
172
- export class OxInputUnit extends OxFormField {
174
+ export class OxInputUnitNumber extends OxFormField {
173
175
  static styles = [
174
176
  css`
175
177
  :host {
176
178
  display: flex;
177
179
  flex-direction: row;
178
180
  align-items: center;
181
+
182
+ --md-icon-size: var(--fontsize-default, 14px);
179
183
  }
180
184
 
181
185
  input {
@@ -205,13 +209,24 @@ export class OxInputUnit extends OxFormField {
205
209
  }
206
210
 
207
211
  #unit {
208
- display: inline;
212
+ flex: 1;
213
+ display: flex;
214
+ align-items: center;
209
215
  position: relative;
210
216
  margin-left: var(--margin-narrow);
211
217
  font: var(--label-font);
212
218
  color: var(--label-color);
213
219
  min-width: 24px;
214
220
  }
221
+
222
+ md-icon {
223
+ color: var(--primary-color, #3c3938);
224
+ margin-left: auto;
225
+ }
226
+
227
+ ox-popup-list {
228
+ right: 0;
229
+ }
215
230
  `
216
231
  ]
217
232
 
@@ -258,6 +273,7 @@ export class OxInputUnit extends OxFormField {
258
273
  <div option value=${this.stdUnit}>${this.stdUnit}</div>
259
274
  ${units.map(unit => html`<div option value=${unit}>${unit}</div>`)}
260
275
  </ox-popup-list>
276
+ <md-icon>expand_more</md-icon>
261
277
  </div>
262
278
  `
263
279
  }
@@ -33,6 +33,8 @@ export class OxInputValueMap extends OxFormField {
33
33
  flex-direction: column;
34
34
  border: var(--border-dark-color);
35
35
  padding: var(--padding-narrow) var(--padding-narrow) 0 var(--padding-narrow);
36
+
37
+ --md-icon-size: var(--fontsize-default, 14px);
36
38
  }
37
39
 
38
40
  div {
@@ -63,9 +65,7 @@ export class OxInputValueMap extends OxFormField {
63
65
  button + button {
64
66
  margin-left: -5px;
65
67
  }
66
- button mwc-icon {
67
- font-size: var(--fontsize-default);
68
- }
68
+
69
69
  button:focus,
70
70
  button:hover,
71
71
  button:active {
@@ -98,10 +98,10 @@ export class OxInputValueMap extends OxFormField {
98
98
  }
99
99
 
100
100
  ox-input-color {
101
- --ox-input-color-input-color: {
101
+ --input-color-input-color: {
102
102
  margin: 1px;
103
103
  }
104
- --ox-input-color-input-span: {
104
+ --input-color-input-span: {
105
105
  width: 10px;
106
106
  height: 10px;
107
107
  }
@@ -144,17 +144,17 @@ export class OxInputValueMap extends OxFormField {
144
144
  />
145
145
  `
146
146
  : this.valuetype == 'color'
147
- ? html` <ox-input-color data-value value=${ifDefined(value)} ?disabled=${this.disabled}> </ox-input-color> `
148
- : html`
149
- <input
150
- type="text"
151
- data-value
152
- placeholder="value"
153
- value=${ifDefined(value)}
154
- data-value-type=${this.valuetype}
155
- ?disabled=${this.disabled}
156
- />
157
- `
147
+ ? html` <ox-input-color data-value value=${ifDefined(value)} ?disabled=${this.disabled}> </ox-input-color> `
148
+ : html`
149
+ <input
150
+ type="text"
151
+ data-value
152
+ placeholder="value"
153
+ value=${ifDefined(value)}
154
+ data-value-type=${this.valuetype}
155
+ ?disabled=${this.disabled}
156
+ />
157
+ `
158
158
  }
159
159
 
160
160
  render() {
@@ -170,7 +170,7 @@ export class OxInputValueMap extends OxFormField {
170
170
  tabindex="-1"
171
171
  ?disabled=${this.disabled}
172
172
  >
173
- <mwc-icon>remove</mwc-icon>
173
+ <md-icon>remove</md-icon>
174
174
  </button>
175
175
  </div>
176
176
  `
@@ -185,7 +185,7 @@ export class OxInputValueMap extends OxFormField {
185
185
 
186
186
  ${this.valueInputTemplate()}
187
187
  <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
188
- <mwc-icon>add</mwc-icon>
188
+ <md-icon>add</md-icon>
189
189
  </button>
190
190
  </div>
191
191
  `
@@ -196,7 +196,7 @@ export class OxInputValueMap extends OxFormField {
196
196
 
197
197
  ${this.valueInputTemplate((this.value && this.value.default) || this._defaultValue())}
198
198
  <button class="record-action" @click=${() => this._sort()} tabindex="-1">
199
- <mwc-icon>chevron_right</mwc-icon>
199
+ <md-icon>chevron_right</md-icon>
200
200
  </button>
201
201
  </div>
202
202
  `
@@ -33,6 +33,8 @@ export class OxInputValueRange extends OxFormField {
33
33
  flex-direction: column;
34
34
  border: var(--border-dark-color);
35
35
  padding: var(--padding-narrow) var(--padding-narrow) 0 var(--padding-narrow);
36
+
37
+ --md-icon-size: var(--fontsize-default, 14px);
36
38
  }
37
39
 
38
40
  div {
@@ -63,9 +65,7 @@ export class OxInputValueRange extends OxFormField {
63
65
  button + button {
64
66
  margin-left: -5px;
65
67
  }
66
- button mwc-icon {
67
- font-size: var(--fontsize-default);
68
- }
68
+
69
69
  button:focus,
70
70
  button:hover,
71
71
  button:active {
@@ -111,11 +111,15 @@ export class OxInputValueRange extends OxFormField {
111
111
  }
112
112
  }
113
113
 
114
- [placeholder='value'],
115
- [value='default'] {
114
+ [placeholder='value'] {
116
115
  flex: 2;
117
116
  }
118
117
 
118
+ [filler] {
119
+ padding: var(--input-padding);
120
+ flex: 1;
121
+ }
122
+
119
123
  input[type='checkbox'] {
120
124
  flex: none;
121
125
  width: initial;
@@ -153,17 +157,17 @@ export class OxInputValueRange extends OxFormField {
153
157
  />
154
158
  `
155
159
  : this.valuetype == 'color'
156
- ? html` <ox-input-color data-value value=${ifDefined(value)} ?disabled=${this.disabled}> </ox-input-color> `
157
- : html`
158
- <input
159
- type="text"
160
- data-value
161
- placeholder="value"
162
- value=${ifDefined(value)}
163
- data-value-type=${this.valuetype}
164
- ?disabled=${this.disabled}
165
- />
166
- `
160
+ ? html` <ox-input-color data-value value=${ifDefined(value)} ?disabled=${this.disabled}> </ox-input-color> `
161
+ : html`
162
+ <input
163
+ type="text"
164
+ data-value
165
+ placeholder="value"
166
+ value=${ifDefined(value)}
167
+ data-value-type=${this.valuetype}
168
+ ?disabled=${this.disabled}
169
+ />
170
+ `
167
171
  }
168
172
 
169
173
  render() {
@@ -181,7 +185,7 @@ export class OxInputValueRange extends OxFormField {
181
185
  tabindex="-1"
182
186
  ?disabled=${this.disabled}
183
187
  >
184
- <mwc-icon>remove</mwc-icon>
188
+ <md-icon>remove</md-icon>
185
189
  </button>
186
190
  </div>
187
191
  `
@@ -197,19 +201,20 @@ export class OxInputValueRange extends OxFormField {
197
201
 
198
202
  ${this.valueInputTemplate()}
199
203
  <button class="record-action" @click=${(e: Event) => this._add()} tabindex="-1">
200
- <mwc-icon>add</mwc-icon>
204
+ <md-icon>add</md-icon>
201
205
  </button>
202
206
  </div>
203
207
  `
204
208
  )}
205
209
 
206
210
  <div data-record>
211
+ <span filler></span>
207
212
  <input type="text" data-from data-default="" disabled value="default" />
208
213
  <input type="text" data-to placeholder="&gt;" value="" hidden ?disabled=${this.disabled} />
209
214
 
210
215
  ${this.valueInputTemplate((this.value && this.value.default) || this._defaultValue())}
211
216
  <button class="record-action" @click=${(e: Event) => this._sort()} ?disabled=${this.disabled}>
212
- <mwc-icon>chevron_right</mwc-icon>
217
+ <md-icon>chevron_right</md-icon>
213
218
  </button>
214
219
  </div>
215
220
  `
@@ -31,6 +31,8 @@ export class OxInputWorkShift extends OxFormField {
31
31
 
32
32
  width: 100%;
33
33
  overflow: hidden;
34
+
35
+ --md-icon-size: var(--fontsize-default, 14px);
34
36
  }
35
37
 
36
38
  div {
@@ -81,9 +83,6 @@ export class OxInputWorkShift extends OxFormField {
81
83
  input:required:invalid {
82
84
  border: 1px dashed red;
83
85
  }
84
- input[type='time'] {
85
- padding: 2px var(--padding-default);
86
- }
87
86
 
88
87
  button {
89
88
  border: var(--button-border);
@@ -94,9 +93,6 @@ export class OxInputWorkShift extends OxFormField {
94
93
  color: var(--button-color);
95
94
  cursor: pointer;
96
95
  }
97
- button mwc-icon {
98
- font-size: var(--fontsize-default);
99
- }
100
96
  button:focus,
101
97
  button:hover,
102
98
  button:active {
@@ -156,7 +152,7 @@ export class OxInputWorkShift extends OxFormField {
156
152
  tabindex="-1"
157
153
  ?disabled=${this.disabled}
158
154
  >
159
- <mwc-icon>remove</mwc-icon>
155
+ <md-icon>remove</md-icon>
160
156
  </button>
161
157
  </div>
162
158
  `
@@ -182,7 +178,7 @@ export class OxInputWorkShift extends OxFormField {
182
178
  <input type="time" data-to-time step="1800" />
183
179
 
184
180
  <button class="record-action" @click=${(e: Event) => this._add()} tabindex="-1">
185
- <mwc-icon>add</mwc-icon>
181
+ <md-icon>add</md-icon>
186
182
  </button>
187
183
  </div>
188
184
  `}
package/src/ox-select.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * @license Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
 
5
- import '@material/mwc-icon'
5
+ import '@material/web/icon/icon.js'
6
6
  import '@operato/popup/ox-popup-list.js'
7
7
 
8
8
  import { css, html, PropertyValues } from 'lit'
@@ -35,6 +35,12 @@ export class Select extends OxFormField {
35
35
  display: block;
36
36
  position: relative;
37
37
  border-bottom: var(--border-dark-color);
38
+
39
+ --ox-select-padding: var(--input-padding);
40
+ --ox-select-font: var(--input-font);
41
+ --ox-select-color: var(--input-color);
42
+ --ox-select-icon-color: var(--theme-primary-text-color, #3c3938);
43
+ --ox-select-icon-hover-color: var(--primary-color, #3c3938);
38
44
  }
39
45
 
40
46
  div {
@@ -46,9 +52,9 @@ export class Select extends OxFormField {
46
52
  align-items: center;
47
53
  justify-content: center;
48
54
  cursor: pointer;
49
- padding: var(--input-padding);
50
- font: var(--input-font);
51
- color: var(--primary-text-color);
55
+ padding: var(--ox-select-padding);
56
+ font: var(--ox-select-font);
57
+ color: var(--ox-select-color);
52
58
  }
53
59
 
54
60
  span {
@@ -56,18 +62,18 @@ export class Select extends OxFormField {
56
62
  overflow: hidden;
57
63
  text-overflow: ellipsis;
58
64
  white-space: nowrap;
65
+ gap: 4px;
59
66
  }
60
67
 
61
- mwc-icon {
68
+ md-icon {
69
+ --md-icon-size: 16px;
62
70
  display: block;
63
- width: 24px;
64
71
  text-align: right;
65
- font-size: 18px;
66
- color: var(--theme-primary-text-color, #3c3938);
72
+ color: var(--ox-select-icon-color);
67
73
  opacity: 0.7;
68
74
  }
69
75
 
70
- div:hover mwc-icon {
76
+ div:hover md-icon {
71
77
  color: var(--primary-color);
72
78
  }
73
79
 
@@ -92,7 +98,7 @@ export class Select extends OxFormField {
92
98
  return html`
93
99
  <div @click=${this.expand}>
94
100
  <span @mouseover=${onmouseover} @mouseout=${onmouseout}>${label}</span>
95
- <mwc-icon>expand_more</mwc-icon>
101
+ <md-icon>expand_more</md-icon>
96
102
  </div>
97
103
 
98
104
  <slot></slot>
@@ -25,7 +25,20 @@ interface ArgTypes {
25
25
 
26
26
  const Template: Story<ArgTypes> = ({ value = {}, disabled }: ArgTypes) => html`
27
27
  <link href="/themes/app-theme.css" rel="stylesheet" />
28
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
28
+
29
+ <link
30
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
31
+ rel="stylesheet"
32
+ />
33
+ <link
34
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded: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+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
39
+ rel="stylesheet"
40
+ />
41
+
29
42
  <style>
30
43
  body {
31
44
  }
@@ -27,7 +27,20 @@ interface ArgTypes {
27
27
 
28
28
  const Template: Story<ArgTypes> = ({ name = '3dish', value = [], disabled }: ArgTypes) => html`
29
29
  <link href="/themes/app-theme.css" rel="stylesheet" />
30
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
30
+
31
+ <link
32
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
33
+ rel="stylesheet"
34
+ />
35
+ <link
36
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
37
+ rel="stylesheet"
38
+ />
39
+ <link
40
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
41
+ rel="stylesheet"
42
+ />
43
+
31
44
  <style>
32
45
  body {
33
46
  }
@@ -27,7 +27,19 @@ interface ArgTypes {
27
27
 
28
28
  const Template: Story<ArgTypes> = ({ name = '3dish', value = 0, disabled }: ArgTypes) => html`
29
29
  <link href="/themes/app-theme.css" rel="stylesheet" />
30
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
30
+
31
+ <link
32
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
33
+ rel="stylesheet"
34
+ />
35
+ <link
36
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
37
+ rel="stylesheet"
38
+ />
39
+ <link
40
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
41
+ rel="stylesheet"
42
+ />
31
43
  <style>
32
44
  body {
33
45
  }
@@ -41,8 +41,24 @@ const Template: Story<ArgTypes> = ({
41
41
  disabled
42
42
  }: ArgTypes) => html`
43
43
  <link href="/themes/app-theme.css" rel="stylesheet" />
44
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
44
+
45
+ <link
46
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
47
+ rel="stylesheet"
48
+ />
49
+ <link
50
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
51
+ rel="stylesheet"
52
+ />
53
+ <link
54
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
55
+ rel="stylesheet"
56
+ />
45
57
  <style>
58
+ #root {
59
+ height: 500px;
60
+ }
61
+
46
62
  ox-input-barcode {
47
63
  font-size: 80px;
48
64
  --input-font: initial;
@@ -9,6 +9,7 @@ export default {
9
9
  value: { control: 'text' },
10
10
  name: { control: 'text' },
11
11
  language: { control: 'select', options: ['javascript', 'sql', 'json'] },
12
+ showLineNumbers: { control: 'boolean' },
12
13
  disabled: { control: 'boolean' }
13
14
  }
14
15
  }
@@ -23,12 +24,31 @@ interface ArgTypes {
23
24
  name?: string
24
25
  value?: string
25
26
  language: 'javascript' | 'sql' | 'json'
27
+ showLineNumbers?: boolean
26
28
  disabled?: boolean
27
29
  }
28
30
 
29
- const Template: Story<ArgTypes> = ({ name = 'code', language = 'javascript', value = '', disabled }: ArgTypes) => html`
31
+ const Template: Story<ArgTypes> = ({
32
+ name = 'code',
33
+ language = 'javascript',
34
+ value = '',
35
+ showLineNumbers,
36
+ disabled
37
+ }: ArgTypes) => html`
30
38
  <link href="/themes/app-theme.css" rel="stylesheet" />
31
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
39
+
40
+ <link
41
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
42
+ rel="stylesheet"
43
+ />
44
+ <link
45
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded: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+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
50
+ rel="stylesheet"
51
+ />
32
52
  <style>
33
53
  body {
34
54
  }
@@ -44,6 +64,7 @@ const Template: Story<ArgTypes> = ({ name = 'code', language = 'javascript', val
44
64
  name=${name}
45
65
  language=${language}
46
66
  .value=${value}
67
+ ?show-line-numbers=${showLineNumbers}
47
68
  ?disabled=${disabled}
48
69
  >
49
70
  </ox-input-code>
@@ -53,5 +74,6 @@ export const Regular = Template.bind({})
53
74
  Regular.args = {
54
75
  name: 'code',
55
76
  value: '',
56
- language: 'javascript'
77
+ language: 'javascript',
78
+ showLineNumbers: true
57
79
  }
@@ -26,7 +26,19 @@ interface ArgTypes {
26
26
 
27
27
  const Template: Story<ArgTypes> = ({ name = 'crontab', value = '* * * * * *', disabled }: ArgTypes) => html`
28
28
  <link href="/themes/app-theme.css" rel="stylesheet" />
29
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
29
+
30
+ <link
31
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
32
+ rel="stylesheet"
33
+ />
34
+ <link
35
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded: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+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
40
+ rel="stylesheet"
41
+ />
30
42
  <style>
31
43
  body {
32
44
  }
@@ -0,0 +1,65 @@
1
+ import '../src/ox-input-data.js'
2
+
3
+ import { html, TemplateResult } from 'lit'
4
+
5
+ export default {
6
+ title: 'ox-input-data',
7
+ component: 'ox-input-data',
8
+ argTypes: {
9
+ value: { control: 'text' },
10
+ name: { control: 'text' },
11
+ disabled: { control: 'boolean' }
12
+ }
13
+ }
14
+
15
+ interface Story<T> {
16
+ (args: T): TemplateResult
17
+ args?: Partial<T>
18
+ argTypes?: Record<string, unknown>
19
+ }
20
+
21
+ interface ArgTypes {
22
+ name?: string
23
+ value?: string | number | object
24
+ disabled?: boolean
25
+ }
26
+
27
+ const Template: Story<ArgTypes> = ({ name = 'code', value = '', disabled }: ArgTypes) => html`
28
+ <link href="/themes/app-theme.css" rel="stylesheet" />
29
+
30
+ <link
31
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
32
+ rel="stylesheet"
33
+ />
34
+ <link
35
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded: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+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
40
+ rel="stylesheet"
41
+ />
42
+ <style>
43
+ body {
44
+ }
45
+ ox-input-data {
46
+ height: 300px;
47
+ }
48
+ </style>
49
+
50
+ <ox-input-data
51
+ @change=${(e: Event) => {
52
+ const value = (e.target as HTMLInputElement).value
53
+ console.log('value : ', value, typeof value)
54
+ }}
55
+ name=${name}
56
+ .value=${value}
57
+ ?disabled=${disabled}
58
+ >
59
+ </ox-input-data>
60
+ `
61
+
62
+ export const Regular = Template.bind({})
63
+ Regular.args = {
64
+ name: 'data'
65
+ }
@@ -27,7 +27,19 @@ interface ArgTypes {
27
27
 
28
28
  const Template: Story<ArgTypes> = ({ name = 'duration', value = 3601, disabled }: ArgTypes) => html`
29
29
  <link href="/themes/app-theme.css" rel="stylesheet" />
30
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
30
+
31
+ <link
32
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
33
+ rel="stylesheet"
34
+ />
35
+ <link
36
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
37
+ rel="stylesheet"
38
+ />
39
+ <link
40
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
41
+ rel="stylesheet"
42
+ />
31
43
  <style>
32
44
  body {
33
45
  }
@@ -48,7 +48,19 @@ const Template: Story<ArgTypes> = ({
48
48
  disabled
49
49
  }: ArgTypes) => html`
50
50
  <link href="/themes/app-theme.css" rel="stylesheet" />
51
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
51
+
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
+ />
52
64
  <style>
53
65
  body {
54
66
  }
@@ -28,7 +28,19 @@ interface ArgTypes {
28
28
 
29
29
  const Template: Story<ArgTypes> = ({ placeholder = 'hashtag', name = 'hello', value = [], disabled }: ArgTypes) => html`
30
30
  <link href="/themes/app-theme.css" rel="stylesheet" />
31
- <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
31
+
32
+ <link
33
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
34
+ rel="stylesheet"
35
+ />
36
+ <link
37
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
38
+ rel="stylesheet"
39
+ />
40
+ <link
41
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
42
+ rel="stylesheet"
43
+ />
32
44
  <style>
33
45
  body {
34
46
  }