@operato/input 1.11.13 → 1.12.3

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 (206) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/src/ox-checkbox.d.ts +0 -1
  3. package/dist/src/ox-checkbox.js +0 -4
  4. package/dist/src/ox-checkbox.js.map +1 -1
  5. package/dist/src/ox-form-field.d.ts +1 -0
  6. package/dist/src/ox-form-field.js +3 -0
  7. package/dist/src/ox-form-field.js.map +1 -1
  8. package/dist/src/ox-input-3axis.js +3 -3
  9. package/dist/src/ox-input-3axis.js.map +1 -1
  10. package/dist/src/ox-input-3dish.js +12 -12
  11. package/dist/src/ox-input-3dish.js.map +1 -1
  12. package/dist/src/ox-input-angle.js +1 -0
  13. package/dist/src/ox-input-angle.js.map +1 -1
  14. package/dist/src/ox-input-barcode.js +2 -0
  15. package/dist/src/ox-input-barcode.js.map +1 -1
  16. package/dist/src/ox-input-color-gradient.js +9 -3
  17. package/dist/src/ox-input-color-gradient.js.map +1 -1
  18. package/dist/src/ox-input-color-stops.js +20 -0
  19. package/dist/src/ox-input-color-stops.js.map +1 -1
  20. package/dist/src/ox-input-color.js +4 -0
  21. package/dist/src/ox-input-color.js.map +1 -1
  22. package/dist/src/ox-input-container.d.ts +0 -1
  23. package/dist/src/ox-input-container.js +1 -7
  24. package/dist/src/ox-input-container.js.map +1 -1
  25. package/dist/src/ox-input-data.js +5 -1
  26. package/dist/src/ox-input-data.js.map +1 -1
  27. package/dist/src/ox-input-duration.js +23 -4
  28. package/dist/src/ox-input-duration.js.map +1 -1
  29. package/dist/src/ox-input-file.js +7 -0
  30. package/dist/src/ox-input-file.js.map +1 -1
  31. package/dist/src/ox-input-hashtags.js +21 -18
  32. package/dist/src/ox-input-hashtags.js.map +1 -1
  33. package/dist/src/ox-input-image.js +1 -0
  34. package/dist/src/ox-input-image.js.map +1 -1
  35. package/dist/src/ox-input-key-values.js +41 -16
  36. package/dist/src/ox-input-key-values.js.map +1 -1
  37. package/dist/src/ox-input-mass-fraction.js +56 -46
  38. package/dist/src/ox-input-mass-fraction.js.map +1 -1
  39. package/dist/src/ox-input-multiple-colors.js +7 -3
  40. package/dist/src/ox-input-multiple-colors.js.map +1 -1
  41. package/dist/src/ox-input-options.js +20 -11
  42. package/dist/src/ox-input-options.js.map +1 -1
  43. package/dist/src/ox-input-partition-keys.js +41 -16
  44. package/dist/src/ox-input-partition-keys.js.map +1 -1
  45. package/dist/src/ox-input-privilege.js +6 -3
  46. package/dist/src/ox-input-privilege.js.map +1 -1
  47. package/dist/src/ox-input-quantifier.js +2 -2
  48. package/dist/src/ox-input-quantifier.js.map +1 -1
  49. package/dist/src/ox-input-range.js +2 -0
  50. package/dist/src/ox-input-range.js.map +1 -1
  51. package/dist/src/ox-input-scene-component-id.js +1 -0
  52. package/dist/src/ox-input-scene-component-id.js.map +1 -1
  53. package/dist/src/ox-input-search.js +2 -1
  54. package/dist/src/ox-input-search.js.map +1 -1
  55. package/dist/src/ox-input-select-buttons.js +4 -1
  56. package/dist/src/ox-input-select-buttons.js.map +1 -1
  57. package/dist/src/ox-input-stack.js +9 -3
  58. package/dist/src/ox-input-stack.js.map +1 -1
  59. package/dist/src/ox-input-textarea.js +1 -0
  60. package/dist/src/ox-input-textarea.js.map +1 -1
  61. package/dist/src/ox-input-unit-number.js +4 -0
  62. package/dist/src/ox-input-unit-number.js.map +1 -1
  63. package/dist/src/ox-input-value-map.js +30 -14
  64. package/dist/src/ox-input-value-map.js.map +1 -1
  65. package/dist/src/ox-input-value-ranges.js +37 -19
  66. package/dist/src/ox-input-value-ranges.js.map +1 -1
  67. package/dist/src/ox-input-work-shift.js +35 -27
  68. package/dist/src/ox-input-work-shift.js.map +1 -1
  69. package/dist/src/ox-select.js +3 -0
  70. package/dist/src/ox-select.js.map +1 -1
  71. package/dist/stories/ox-checkbox.stories.d.ts +4 -0
  72. package/dist/stories/ox-checkbox.stories.js +4 -2
  73. package/dist/stories/ox-checkbox.stories.js.map +1 -1
  74. package/dist/stories/ox-input-3axis.stories.d.ts +4 -0
  75. package/dist/stories/ox-input-3axis.stories.js +4 -2
  76. package/dist/stories/ox-input-3axis.stories.js.map +1 -1
  77. package/dist/stories/ox-input-3dish.stories.d.ts +4 -0
  78. package/dist/stories/ox-input-3dish.stories.js +4 -2
  79. package/dist/stories/ox-input-3dish.stories.js.map +1 -1
  80. package/dist/stories/ox-input-angle.stories.d.ts +4 -0
  81. package/dist/stories/ox-input-angle.stories.js +4 -2
  82. package/dist/stories/ox-input-angle.stories.js.map +1 -1
  83. package/dist/stories/ox-input-barcode.stories.d.ts +4 -0
  84. package/dist/stories/ox-input-barcode.stories.js +4 -2
  85. package/dist/stories/ox-input-barcode.stories.js.map +1 -1
  86. package/dist/stories/ox-input-code.stories.d.ts +4 -0
  87. package/dist/stories/ox-input-code.stories.js +4 -2
  88. package/dist/stories/ox-input-code.stories.js.map +1 -1
  89. package/dist/stories/ox-input-crontab.stories.d.ts +4 -0
  90. package/dist/stories/ox-input-crontab.stories.js +4 -2
  91. package/dist/stories/ox-input-crontab.stories.js.map +1 -1
  92. package/dist/stories/ox-input-duration.stories.d.ts +4 -0
  93. package/dist/stories/ox-input-duration.stories.js +4 -2
  94. package/dist/stories/ox-input-duration.stories.js.map +1 -1
  95. package/dist/stories/ox-input-file.stories.d.ts +4 -0
  96. package/dist/stories/ox-input-file.stories.js +4 -2
  97. package/dist/stories/ox-input-file.stories.js.map +1 -1
  98. package/dist/stories/ox-input-hashtags.stories.d.ts +4 -0
  99. package/dist/stories/ox-input-hashtags.stories.js +4 -2
  100. package/dist/stories/ox-input-hashtags.stories.js.map +1 -1
  101. package/dist/stories/ox-input-key-values.stories.d.ts +4 -0
  102. package/dist/stories/ox-input-key-values.stories.js +4 -2
  103. package/dist/stories/ox-input-key-values.stories.js.map +1 -1
  104. package/dist/stories/ox-input-mass-fraction.stories.d.ts +4 -0
  105. package/dist/stories/ox-input-mass-fraction.stories.js +5 -2
  106. package/dist/stories/ox-input-mass-fraction.stories.js.map +1 -1
  107. package/dist/stories/ox-input-multiple-colors.stories.d.ts +4 -0
  108. package/dist/stories/ox-input-multiple-colors.stories.js +4 -2
  109. package/dist/stories/ox-input-multiple-colors.stories.js.map +1 -1
  110. package/dist/stories/ox-input-options.stories.d.ts +4 -0
  111. package/dist/stories/ox-input-options.stories.js +4 -2
  112. package/dist/stories/ox-input-options.stories.js.map +1 -1
  113. package/dist/stories/ox-input-partition-keys.stories.d.ts +4 -0
  114. package/dist/stories/ox-input-partition-keys.stories.js +4 -2
  115. package/dist/stories/ox-input-partition-keys.stories.js.map +1 -1
  116. package/dist/stories/ox-input-privilege.stories.d.ts +4 -0
  117. package/dist/stories/ox-input-privilege.stories.js +4 -2
  118. package/dist/stories/ox-input-privilege.stories.js.map +1 -1
  119. package/dist/stories/ox-input-quantifier.stories.d.ts +4 -0
  120. package/dist/stories/ox-input-quantifier.stories.js +4 -2
  121. package/dist/stories/ox-input-quantifier.stories.js.map +1 -1
  122. package/dist/stories/ox-input-range.stories.d.ts +4 -0
  123. package/dist/stories/ox-input-range.stories.js +5 -3
  124. package/dist/stories/ox-input-range.stories.js.map +1 -1
  125. package/dist/stories/ox-input-search.stories.d.ts +4 -0
  126. package/dist/stories/ox-input-search.stories.js +4 -2
  127. package/dist/stories/ox-input-search.stories.js.map +1 -1
  128. package/dist/stories/ox-input-select-buttons.stories.d.ts +4 -0
  129. package/dist/stories/ox-input-select-buttons.stories.js +4 -2
  130. package/dist/stories/ox-input-select-buttons.stories.js.map +1 -1
  131. package/dist/stories/ox-input-unit.stories.d.ts +4 -0
  132. package/dist/stories/ox-input-unit.stories.js +4 -2
  133. package/dist/stories/ox-input-unit.stories.js.map +1 -1
  134. package/dist/stories/ox-input-value-map.stories.d.ts +4 -0
  135. package/dist/stories/ox-input-value-map.stories.js +4 -2
  136. package/dist/stories/ox-input-value-map.stories.js.map +1 -1
  137. package/dist/stories/ox-input-value-ranges.stories.d.ts +4 -0
  138. package/dist/stories/ox-input-value-ranges.stories.js +4 -2
  139. package/dist/stories/ox-input-value-ranges.stories.js.map +1 -1
  140. package/dist/stories/ox-input-work-shift.stories.d.ts +4 -0
  141. package/dist/stories/ox-input-work-shift.stories.js +4 -2
  142. package/dist/stories/ox-input-work-shift.stories.js.map +1 -1
  143. package/dist/stories/ox-select.stories.d.ts +4 -0
  144. package/dist/stories/ox-select.stories.js +4 -2
  145. package/dist/stories/ox-select.stories.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +4 -4
  148. package/src/ox-checkbox.ts +0 -1
  149. package/src/ox-form-field.ts +1 -0
  150. package/src/ox-input-3axis.ts +3 -3
  151. package/src/ox-input-3dish.ts +12 -12
  152. package/src/ox-input-angle.ts +1 -0
  153. package/src/ox-input-barcode.ts +2 -0
  154. package/src/ox-input-color-gradient.ts +9 -3
  155. package/src/ox-input-color-stops.ts +26 -0
  156. package/src/ox-input-color.ts +5 -0
  157. package/src/ox-input-container.ts +0 -7
  158. package/src/ox-input-data.ts +5 -1
  159. package/src/ox-input-duration.ts +23 -4
  160. package/src/ox-input-file.ts +8 -0
  161. package/src/ox-input-hashtags.ts +21 -18
  162. package/src/ox-input-image.ts +1 -0
  163. package/src/ox-input-key-values.ts +41 -16
  164. package/src/ox-input-mass-fraction.ts +57 -47
  165. package/src/ox-input-multiple-colors.ts +7 -3
  166. package/src/ox-input-options.ts +20 -11
  167. package/src/ox-input-partition-keys.ts +41 -16
  168. package/src/ox-input-privilege.ts +6 -3
  169. package/src/ox-input-quantifier.ts +2 -2
  170. package/src/ox-input-range.ts +2 -0
  171. package/src/ox-input-scene-component-id.ts +1 -0
  172. package/src/ox-input-search.ts +2 -1
  173. package/src/ox-input-select-buttons.ts +4 -1
  174. package/src/ox-input-stack.ts +9 -3
  175. package/src/ox-input-textarea.ts +1 -0
  176. package/src/ox-input-unit-number.ts +5 -0
  177. package/src/ox-input-value-map.ts +34 -18
  178. package/src/ox-input-value-ranges.ts +41 -23
  179. package/src/ox-input-work-shift.ts +39 -31
  180. package/src/ox-select.ts +4 -0
  181. package/stories/ox-checkbox.stories.ts +6 -2
  182. package/stories/ox-input-3axis.stories.ts +5 -2
  183. package/stories/ox-input-3dish.stories.ts +5 -2
  184. package/stories/ox-input-angle.stories.ts +5 -2
  185. package/stories/ox-input-barcode.stories.ts +6 -2
  186. package/stories/ox-input-code.stories.ts +5 -2
  187. package/stories/ox-input-crontab.stories.ts +5 -2
  188. package/stories/ox-input-duration.stories.ts +5 -2
  189. package/stories/ox-input-file.stories.ts +6 -2
  190. package/stories/ox-input-hashtags.stories.ts +5 -2
  191. package/stories/ox-input-key-values.stories.ts +5 -2
  192. package/stories/ox-input-mass-fraction.stories.ts +11 -2
  193. package/stories/ox-input-multiple-colors.stories.ts +7 -3
  194. package/stories/ox-input-options.stories.ts +5 -2
  195. package/stories/ox-input-partition-keys.stories.ts +5 -2
  196. package/stories/ox-input-privilege.stories.ts +5 -2
  197. package/stories/ox-input-quantifier.stories.ts +5 -2
  198. package/stories/ox-input-range.stories.ts +13 -3
  199. package/stories/ox-input-search.stories.ts +6 -2
  200. package/stories/ox-input-select-buttons.stories.ts +11 -2
  201. package/stories/ox-input-unit.stories.ts +6 -2
  202. package/stories/ox-input-value-map.stories.ts +6 -2
  203. package/stories/ox-input-value-ranges.stories.ts +6 -2
  204. package/stories/ox-input-work-shift.stories.ts +5 -2
  205. package/stories/ox-select.stories.ts +11 -2
  206. package/yarn-error.log +0 -17084
@@ -79,14 +79,18 @@ export class OxInputMultipleColors extends OxFormField {
79
79
  ${(this.value || []).map(
80
80
  (item, index) => html`
81
81
  <div>
82
- <button @click=${() => this._appendEditorColor()} data-index=${index}>
82
+ <button @click=${() => this._appendEditorColor()} data-index=${index} ?disabled=${this.disabled}>
83
83
  <mwc-icon>add</mwc-icon>
84
84
  </button>
85
- <ox-input-color .value=${item}> </ox-input-color>
85
+ <ox-input-color .value=${item} ?disabled=${this.disabled}> </ox-input-color>
86
86
 
87
87
  ${(this.value || []).length > 1
88
88
  ? html`
89
- <button @click=${(e: Event) => this._removeEditorColor(e)} data-index=${index}>
89
+ <button
90
+ @click=${(e: Event) => this._removeEditorColor(e)}
91
+ data-index=${index}
92
+ ?disabled=${this.disabled}
93
+ >
90
94
  <mwc-icon>remove</mwc-icon>
91
95
  </button>
92
96
  `
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@material/mwc-icon'
6
6
 
7
- import { css, html } from 'lit'
7
+ import { css, html, nothing } from 'lit'
8
8
  import { customElement, property } from 'lit/decorators.js'
9
9
 
10
10
  import { OxFormField } from './ox-form-field'
@@ -83,21 +83,30 @@ export class OxInputOptions extends OxFormField {
83
83
  ${(options || []).map(
84
84
  item => html`
85
85
  <div data-record>
86
- <input type="text" data-text="" placeholder="text" .value=${item.text} />
87
- <input type="text" data-value="" placeholder="value" .value=${item.value} />
88
- <button class="record-action" @click=${(e: MouseEvent) => this._delete(e)} tabindex="-1">
86
+ <input type="text" data-text="" placeholder="text" .value=${item.text} ?disabled=${this.disabled} />
87
+ <input type="text" data-value="" placeholder="value" .value=${item.value} ?disabled=${this.disabled} />
88
+ <button
89
+ class="record-action"
90
+ @click=${(e: MouseEvent) => this._delete(e)}
91
+ tabindex="-1"
92
+ ?disabled=${this.disabled}
93
+ >
89
94
  <mwc-icon>remove</mwc-icon>
90
95
  </button>
91
96
  </div>
92
97
  `
93
98
  )}
94
- <div data-record-new>
95
- <input type="text" data-text="" placeholder="text" value="" />
96
- <input type="text" data-value="" placeholder="value" value="" @change=${(e: Event) => this._add()} />
97
- <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
98
- <mwc-icon>add</mwc-icon>
99
- </button>
100
- </div>
99
+ ${this.disabled
100
+ ? nothing
101
+ : html`
102
+ <div data-record-new>
103
+ <input type="text" data-text="" placeholder="text" value="" />
104
+ <input type="text" data-value="" placeholder="value" value="" @change=${(e: Event) => this._add()} />
105
+ <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
106
+ <mwc-icon>add</mwc-icon>
107
+ </button>
108
+ </div>
109
+ `}
101
110
  `
102
111
  }
103
112
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '@material/mwc-icon'
6
6
 
7
- import { css, html } from 'lit'
7
+ import { css, html, nothing } from 'lit'
8
8
  import { customElement, property, queryAll } from 'lit/decorators.js'
9
9
 
10
10
  import { OxFormField } from './ox-form-field'
@@ -94,30 +94,55 @@ export class OxInputPartitionKeys extends OxFormField {
94
94
  ${this._toArray(value).map(
95
95
  item => html`
96
96
  <div data-record>
97
- <input type="text" data-key placeholder="key" .value=${item.key} />
98
- <input type="text" data-value placeholder="value" .value=${item.value} list="value-template" />
99
- <button class="record-action" @click=${(e: MouseEvent) => this._delete(e)} tabindex="-1">
97
+ <input type="text" data-key placeholder="key" .value=${item.key} ?disabled=${this.disabled} />
98
+ <input
99
+ type="text"
100
+ data-value
101
+ placeholder="value"
102
+ .value=${item.value}
103
+ list="value-template"
104
+ ?disabled=${this.disabled}
105
+ />
106
+ <button
107
+ class="record-action"
108
+ @click=${(e: MouseEvent) => this._delete(e)}
109
+ tabindex="-1"
110
+ ?disabled=${this.disabled}
111
+ >
100
112
  <mwc-icon>remove</mwc-icon>
101
113
  </button>
102
- <button class="record-action" @click=${(e: MouseEvent) => this._up(e)} tabindex="-1">
114
+ <button
115
+ class="record-action"
116
+ @click=${(e: MouseEvent) => this._up(e)}
117
+ tabindex="-1"
118
+ ?disabled=${this.disabled}
119
+ >
103
120
  <mwc-icon>arrow_upward</mwc-icon>
104
121
  </button>
105
- <button class="record-action" @click=${(e: MouseEvent) => this._down(e)} tabindex="-1">
122
+ <button
123
+ class="record-action"
124
+ @click=${(e: MouseEvent) => this._down(e)}
125
+ tabindex="-1"
126
+ ?disabled=${this.disabled}
127
+ >
106
128
  <mwc-icon>arrow_downward</mwc-icon>
107
129
  </button>
108
130
  </div>
109
131
  `
110
132
  )}
111
-
112
- <div data-record-new>
113
- <input type="text" data-key placeholder="key" value="" />
114
- <input type="text" data-value placeholder="value" value="" list="value-template" />
115
- <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
116
- <mwc-icon>add</mwc-icon>
117
- </button>
118
- <button class="hidden"><mwc-icon>add</mwc-icon></button>
119
- <button class="hidden"><mwc-icon>add</mwc-icon></button>
120
- </div>
133
+ ${this.disabled
134
+ ? nothing
135
+ : html`
136
+ <div data-record-new>
137
+ <input type="text" data-key placeholder="key" value="" />
138
+ <input type="text" data-value placeholder="value" value="" list="value-template" />
139
+ <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
140
+ <mwc-icon>add</mwc-icon>
141
+ </button>
142
+ <button class="hidden"><mwc-icon>add</mwc-icon></button>
143
+ <button class="hidden"><mwc-icon>add</mwc-icon></button>
144
+ </div>
145
+ `}
121
146
 
122
147
  <datalist id="value-template">
123
148
  <option value="%YYYY">year</option>
@@ -122,7 +122,8 @@ export class OxInputPrivilege extends OxFormField {
122
122
  <form @change=${this.onChange.bind(this)}>
123
123
  <div values>
124
124
  <label for="privilege" col1>${i18next.t('label.privilege')}</label>
125
- <select id="privilege" name="privilege" value=${ifDefined(privilege)}>
125
+ <select id="privilege" name="privilege" value=${ifDefined(privilege)}
126
+ ?disabled=${this.disabled}>
126
127
  <option value="">&nbsp;</option>
127
128
  ${privileges.map(
128
129
  p =>
@@ -136,10 +137,12 @@ export class OxInputPrivilege extends OxFormField {
136
137
  </select>
137
138
 
138
139
  <label for="owner" col1>${i18next.t('label.domain-owner')}</label>
139
- <input id="owner" type="checkbox" name="owner" ?checked=${owner} col2></input>
140
+ <input id="owner" type="checkbox" name="owner" ?checked=${owner} col2
141
+ ?disabled=${this.disabled}></input>
140
142
 
141
143
  <label for="super" col1>${i18next.t('label.superuser')}</label>
142
- <input id="super" type="checkbox" name="super" ?checked=${superUser} col2></input>
144
+ <input id="super" type="checkbox" name="super" ?checked=${superUser} col2
145
+ ?disabled=${this.disabled}></input>
143
146
  </div>
144
147
  </form>
145
148
  `
@@ -45,9 +45,9 @@ export class OxInputQuantifier extends OxFormField {
45
45
 
46
46
  return html`
47
47
  <span>
48
- <input type="number" .value=${min} @change=${(e: Event) => this.onChange(e)} />
48
+ <input type="number" .value=${min} @change=${(e: Event) => this.onChange(e)} ?disabled=${this.disabled} />
49
49
  -
50
- <input type="number" .value=${max} @change=${(e: Event) => this.onChange(e)} />
50
+ <input type="number" .value=${max} @change=${(e: Event) => this.onChange(e)} ?disabled=${this.disabled} />
51
51
  </span>
52
52
  `
53
53
  }
@@ -125,6 +125,7 @@ class OxInputRange extends OxFormField {
125
125
  this.value = Number((e.target as HTMLInputElement).value)
126
126
  this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))
127
127
  }}
128
+ ?disabled=${this.disabled}
128
129
  />
129
130
 
130
131
  <input
@@ -138,6 +139,7 @@ class OxInputRange extends OxFormField {
138
139
  this.value = Number((e.target as HTMLInputElement).value)
139
140
  this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))
140
141
  }}
142
+ ?disabled=${this.disabled}
141
143
  />
142
144
  `
143
145
  }
@@ -41,6 +41,7 @@ export class OxInputId extends OxFormField {
41
41
  @change=${(e: InputEvent) => this._onInputChanged(e)}
42
42
  .placeholder=${this.getAttribute('placeholder') || ''}
43
43
  list="ids"
44
+ ?disabled=${this.disabled}
44
45
  />
45
46
 
46
47
  <datalist id="ids">${ids.map(id => html` <option value=${id}></option> `)}</datalist>
@@ -54,7 +54,7 @@ export class OxInputSearch extends OxFormField {
54
54
 
55
55
  render() {
56
56
  return html`
57
- <mwc-icon @click=${(e: Event) => this._onClickSearch(e)}>search</mwc-icon>
57
+ <mwc-icon @click=${(e: Event) => !this.disabled && this._onClickSearch(e)}>search</mwc-icon>
58
58
  <input
59
59
  type="text"
60
60
  .value=${this.value || ''}
@@ -78,6 +78,7 @@ export class OxInputSearch extends OxFormField {
78
78
  }
79
79
  }
80
80
  }}
81
+ ?disabled=${this.disabled}
81
82
  />
82
83
  `
83
84
  }
@@ -42,7 +42,10 @@ export class OxInputSelectButtons extends OxFormField {
42
42
  return html`
43
43
  ${(options || []).map(
44
44
  ({ display, value }) => html`
45
- <span data-value=${value} ?selected=${values.includes(value)} @click=${(e: MouseEvent) => this.onClick(e)}
45
+ <span
46
+ data-value=${value}
47
+ ?selected=${values.includes(value)}
48
+ @click=${(e: MouseEvent) => !this.disabled && this.onClick(e)}
46
49
  >${display}</span
47
50
  >
48
51
  `
@@ -57,12 +57,18 @@ export class OxInputStack extends OxFormField {
57
57
  const length = stack.length
58
58
 
59
59
  return html`
60
- <button id="add-floor" @click=${(e: Event) => this._onClickAddFloor(e)}>+</button>
60
+ <button id="add-floor" @click=${(e: Event) => this._onClickAddFloor(e)} ?disabled=${this.disabled}>+</button>
61
61
 
62
62
  ${stack.map(
63
63
  (item, index) => html`
64
- <div floor ?active=${item.active} @click=${(e: Event) => this._onClickToActive(e)} idx=${length - index - 1}>
65
- ${item.name} <button @click=${(e: Event) => this._onClickRemoveFloor(e)}>-</button>
64
+ <div
65
+ floor
66
+ ?active=${item.active}
67
+ @click=${(e: Event) => !this.disabled && this._onClickToActive(e)}
68
+ idx=${length - index - 1}
69
+ >
70
+ ${item.name}
71
+ <button @click=${(e: Event) => this._onClickRemoveFloor(e)} ?disabled=${this.disabled}>-</button>
66
72
  </div>
67
73
  `
68
74
  )}
@@ -42,6 +42,7 @@ export class OxInputTextarea extends OxFormField {
42
42
  @input=${this.onInput.bind(this)}
43
43
  @keydown=${this.onKeydown.bind(this)}
44
44
  @change=${this.onChange.bind(this)}
45
+ ?disabled=${this.disabled}
45
46
  ></textarea>
46
47
  `
47
48
  }
@@ -232,10 +232,15 @@ export class OxInputUnit extends OxFormField {
232
232
  .value=${this._toUserUnit(this.value)}
233
233
  placeholder=${ifDefined(this.placeholder)}
234
234
  @change=${(e: Event) => this._onChangeValue(e)}
235
+ ?disabled=${this.disabled}
235
236
  />
236
237
  <div
237
238
  id="unit"
238
239
  @click=${(e: Event) => {
240
+ if (this.disabled) {
241
+ return
242
+ }
243
+
239
244
  const target = e.currentTarget as HTMLElement
240
245
  this.popup.open({
241
246
  right: 0,
@@ -4,7 +4,7 @@
4
4
 
5
5
  import './ox-input-color'
6
6
 
7
- import { css, html } from 'lit'
7
+ import { css, html, nothing } from 'lit'
8
8
  import { customElement, property } from 'lit/decorators.js'
9
9
  import { keyed } from 'lit/directives/keyed.js'
10
10
  import { ifDefined } from 'lit/directives/if-defined.js'
@@ -134,9 +134,17 @@ export class OxInputValueMap extends OxFormField {
134
134
 
135
135
  valueInputTemplate(value?: any) {
136
136
  return this.valuetype == 'boolean'
137
- ? html` <input type="checkbox" data-value .checked=${!!value} data-value-type=${this.valuetype} /> `
137
+ ? html`
138
+ <input
139
+ type="checkbox"
140
+ data-value
141
+ .checked=${!!value}
142
+ data-value-type=${this.valuetype}
143
+ ?disabled=${this.disabled}
144
+ />
145
+ `
138
146
  : this.valuetype == 'color'
139
- ? html` <ox-input-color data-value value=${ifDefined(value)}> </ox-input-color> `
147
+ ? html` <ox-input-color data-value value=${ifDefined(value)} ?disabled=${this.disabled}> </ox-input-color> `
140
148
  : html`
141
149
  <input
142
150
  type="text"
@@ -144,6 +152,7 @@ export class OxInputValueMap extends OxFormField {
144
152
  placeholder="value"
145
153
  value=${ifDefined(value)}
146
154
  data-value-type=${this.valuetype}
155
+ ?disabled=${this.disabled}
147
156
  />
148
157
  `
149
158
  }
@@ -153,27 +162,34 @@ export class OxInputValueMap extends OxFormField {
153
162
  ${this._toArray(this.value).map(
154
163
  item => html`
155
164
  <div data-record>
156
- <input type="text" data-key placeholder="key" .value=${item.key} />
165
+ <input type="text" data-key placeholder="key" .value=${item.key} ?disabled=${this.disabled} />
157
166
  ${this.valueInputTemplate(item.value)}
158
- <button class="record-action" @click=${(e: MouseEvent) => this._delete(e)} tabindex="-1">
167
+ <button
168
+ class="record-action"
169
+ @click=${(e: MouseEvent) => this._delete(e)}
170
+ tabindex="-1"
171
+ ?disabled=${this.disabled}
172
+ >
159
173
  <mwc-icon>remove</mwc-icon>
160
174
  </button>
161
175
  </div>
162
176
  `
163
177
  )}
164
- ${keyed(
165
- Date.now(),
166
- html`
167
- <div data-record-new>
168
- <input type="text" data-key placeholder="key" value="" />
169
-
170
- ${this.valueInputTemplate()}
171
- <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
172
- <mwc-icon>add</mwc-icon>
173
- </button>
174
- </div>
175
- `
176
- )}
178
+ ${this.disabled
179
+ ? nothing
180
+ : keyed(
181
+ Date.now(),
182
+ html`
183
+ <div data-record-new>
184
+ <input type="text" data-key placeholder="key" value="" />
185
+
186
+ ${this.valueInputTemplate()}
187
+ <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
188
+ <mwc-icon>add</mwc-icon>
189
+ </button>
190
+ </div>
191
+ `
192
+ )}
177
193
 
178
194
  <div data-record>
179
195
  <input type="text" data-key data-default="" value="default" disabled />
@@ -4,7 +4,7 @@
4
4
 
5
5
  import './ox-input-color'
6
6
 
7
- import { css, html } from 'lit'
7
+ import { css, html, nothing } from 'lit'
8
8
  import { customElement, property } from 'lit/decorators.js'
9
9
  import { keyed } from 'lit/directives/keyed.js'
10
10
  import { ifDefined } from 'lit/directives/if-defined.js'
@@ -138,14 +138,22 @@ export class OxInputValueRange extends OxFormField {
138
138
  HTMLInputElement & { value: any }
139
139
  >
140
140
 
141
- inputs[0].focus()
141
+ inputs[0]?.focus()
142
142
  }
143
143
 
144
144
  valueInputTemplate(value?: any) {
145
145
  return this.valuetype == 'boolean'
146
- ? html` <input type="checkbox" data-value .checked=${!!value} data-value-type=${this.valuetype} /> `
146
+ ? html`
147
+ <input
148
+ type="checkbox"
149
+ data-value
150
+ .checked=${!!value}
151
+ data-value-type=${this.valuetype}
152
+ ?disabled=${this.disabled}
153
+ />
154
+ `
147
155
  : this.valuetype == 'color'
148
- ? html` <ox-input-color data-value value=${ifDefined(value)}> </ox-input-color> `
156
+ ? html` <ox-input-color data-value value=${ifDefined(value)} ?disabled=${this.disabled}> </ox-input-color> `
149
157
  : html`
150
158
  <input
151
159
  type="text"
@@ -153,6 +161,7 @@ export class OxInputValueRange extends OxFormField {
153
161
  placeholder="value"
154
162
  value=${ifDefined(value)}
155
163
  data-value-type=${this.valuetype}
164
+ ?disabled=${this.disabled}
156
165
  />
157
166
  `
158
167
  }
@@ -162,37 +171,46 @@ export class OxInputValueRange extends OxFormField {
162
171
  ${this._toArray(this.value).map(
163
172
  item => html`
164
173
  <div data-record>
165
- <input type="text" data-from placeholder="<=" .value=${item.from} />
166
- <input type="text" data-to placeholder="&gt;" .value=${item.to} />
174
+ <input type="text" data-from placeholder="<=" .value=${item.from} ?disabled=${this.disabled} />
175
+ <input type="text" data-to placeholder="&gt;" .value=${item.to} ?disabled=${this.disabled} />
167
176
 
168
177
  ${this.valueInputTemplate(item.value)}
169
- <button class="record-action" @click=${(e: Event) => this._delete(e)} tabindex="-1">
178
+ <button
179
+ class="record-action"
180
+ @click=${(e: Event) => this._delete(e)}
181
+ tabindex="-1"
182
+ ?disabled=${this.disabled}
183
+ >
170
184
  <mwc-icon>remove</mwc-icon>
171
185
  </button>
172
186
  </div>
173
187
  `
174
188
  )}
175
- ${keyed(
176
- Date.now(),
177
- html`
178
- <div data-record-new>
179
- <input type="text" data-from placeholder="<=" value="" />
180
- <input type="text" data-to placeholder="&gt;" value="" />
181
-
182
- ${this.valueInputTemplate()}
183
- <button class="record-action" @click=${(e: Event) => this._add()} tabindex="-1">
184
- <mwc-icon>add</mwc-icon>
185
- </button>
186
- </div>
187
- `
188
- )}
189
+ ${this.disabled
190
+ ? nothing
191
+ : keyed(
192
+ Date.now(),
193
+ html`
194
+ <div data-record-new>
195
+ <input type="text" data-from placeholder="<=" value="" />
196
+ <input type="text" data-to placeholder="&gt;" value="" />
197
+
198
+ ${this.valueInputTemplate()}
199
+ <button class="record-action" @click=${(e: Event) => this._add()} tabindex="-1">
200
+ <mwc-icon>add</mwc-icon>
201
+ </button>
202
+ </div>
203
+ `
204
+ )}
189
205
 
190
206
  <div data-record>
191
207
  <input type="text" data-from data-default="" disabled value="default" />
192
- <input type="text" data-to placeholder="&gt;" value="" hidden />
208
+ <input type="text" data-to placeholder="&gt;" value="" hidden ?disabled=${this.disabled} />
193
209
 
194
210
  ${this.valueInputTemplate((this.value && this.value.default) || this._defaultValue())}
195
- <button class="record-action" @click=${(e: Event) => this._sort()}><mwc-icon>chevron_right</mwc-icon></button>
211
+ <button class="record-action" @click=${(e: Event) => this._sort()} ?disabled=${this.disabled}>
212
+ <mwc-icon>chevron_right</mwc-icon>
213
+ </button>
196
214
  </div>
197
215
  `
198
216
  }
@@ -2,7 +2,7 @@
2
2
  * @license Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
 
5
- import { css, html } from 'lit'
5
+ import { css, html, nothing } from 'lit'
6
6
  import { customElement, property } from 'lit/decorators.js'
7
7
 
8
8
  import { localized, msg } from '@lit/localize'
@@ -110,7 +110,7 @@ export class OxInputWorkShift extends OxFormField {
110
110
  }
111
111
  `
112
112
 
113
- @property({ type: Object }) value: WorkShift[] = []
113
+ @property({ type: Array }) value: WorkShift[] = []
114
114
 
115
115
  private _changingNow: boolean = false
116
116
 
@@ -134,50 +134,58 @@ export class OxInputWorkShift extends OxFormField {
134
134
  ${workshifts.map(
135
135
  item => html`
136
136
  <div data-record>
137
- <input type="text" data-name .value=${item.name} required />
137
+ <input type="text" data-name .value=${item.name} required ?disabled=${this.disabled} />
138
138
 
139
- <select data-from-date .value=${String(item.fromDate || 0)}>
139
+ <select data-from-date .value=${String(item.fromDate || 0)} ?disabled=${this.disabled}>
140
140
  <option value="-1">${msg('The day before')}</option>
141
141
  <option value="0">${msg('The day')}</option>
142
142
  <option value="1">${msg('The day after')}</option>
143
143
  </select>
144
- <input type="time" data-from-time .value=${item.fromTime} step="1800" required />
144
+ <input type="time" data-from-time .value=${item.fromTime} step="1800" required ?disabled=${this.disabled} />
145
145
 
146
- <select data-to-date .value=${String(item.toDate || 0)}>
146
+ <select data-to-date .value=${String(item.toDate || 0)} ?disabled=${this.disabled}>
147
147
  <option value="-1">${msg('The day before')}</option>
148
148
  <option value="0">${msg('The day')}</option>
149
149
  <option value="1">${msg('The day after')}</option>
150
150
  </select>
151
- <input type="time" data-to-time .value=${item.toTime} step="1800" required />
152
-
153
- <button class="record-action" @click=${(e: Event) => this._delete(e)} tabindex="-1">
151
+ <input type="time" data-to-time .value=${item.toTime} step="1800" required ?disabled=${this.disabled} />
152
+
153
+ <button
154
+ class="record-action"
155
+ @click=${(e: Event) => this._delete(e)}
156
+ tabindex="-1"
157
+ ?disabled=${this.disabled}
158
+ >
154
159
  <mwc-icon>remove</mwc-icon>
155
160
  </button>
156
161
  </div>
157
162
  `
158
163
  )}
159
-
160
- <div data-record-new>
161
- <input type="text" data-name />
162
-
163
- <select data-from-date>
164
- <option value="-1">${msg('The day before')}</option>
165
- <option value="0" selected>${msg('The day')}</option>
166
- <option value="+1">${msg('The day after')}</option>
167
- </select>
168
- <input type="time" data-from-time step="1800" />
169
-
170
- <select data-to-date>
171
- <option value="-1">${msg('The day before')}</option>
172
- <option value="0" selected>${msg('The day')}</option>
173
- <option value="+1">${msg('The day after')}</option>
174
- </select>
175
- <input type="time" data-to-time step="1800" />
176
-
177
- <button class="record-action" @click=${(e: Event) => this._add()} tabindex="-1">
178
- <mwc-icon>add</mwc-icon>
179
- </button>
180
- </div>
164
+ ${this.disabled
165
+ ? nothing
166
+ : html`
167
+ <div data-record-new>
168
+ <input type="text" data-name />
169
+
170
+ <select data-from-date>
171
+ <option value="-1">${msg('The day before')}</option>
172
+ <option value="0" selected>${msg('The day')}</option>
173
+ <option value="+1">${msg('The day after')}</option>
174
+ </select>
175
+ <input type="time" data-from-time step="1800" />
176
+
177
+ <select data-to-date>
178
+ <option value="-1">${msg('The day before')}</option>
179
+ <option value="0" selected>${msg('The day')}</option>
180
+ <option value="+1">${msg('The day after')}</option>
181
+ </select>
182
+ <input type="time" data-to-time step="1800" />
183
+
184
+ <button class="record-action" @click=${(e: Event) => this._add()} tabindex="-1">
185
+ <mwc-icon>add</mwc-icon>
186
+ </button>
187
+ </div>
188
+ `}
181
189
  `
182
190
  }
183
191
 
package/src/ox-select.ts CHANGED
@@ -140,6 +140,10 @@ export class Select extends OxFormField {
140
140
  }
141
141
 
142
142
  expand() {
143
+ if (this.disabled) {
144
+ return
145
+ }
146
+
143
147
  const popupList = this.querySelector('ox-popup-list') as OxPopupList
144
148
 
145
149
  if (popupList) {
@@ -10,7 +10,8 @@ export default {
10
10
  name: { control: 'text' },
11
11
  value: { control: 'boolean' },
12
12
  indeterminatable: { control: 'boolean' },
13
- indeterminate: { control: 'boolean' }
13
+ indeterminate: { control: 'boolean' },
14
+ disabled: { control: 'boolean' }
14
15
  }
15
16
  }
16
17
 
@@ -26,6 +27,7 @@ interface ArgTypes {
26
27
  value?: boolean
27
28
  indeterminatable?: boolean
28
29
  indeterminate?: boolean
30
+ disabled?: boolean
29
31
  }
30
32
 
31
33
  const Template: Story<ArgTypes> = ({
@@ -33,7 +35,8 @@ const Template: Story<ArgTypes> = ({
33
35
  name = 'hello',
34
36
  value = true,
35
37
  indeterminatable = false,
36
- indeterminate = false
38
+ indeterminate = false,
39
+ disabled
37
40
  }: ArgTypes) => html`
38
41
  <ox-checkbox
39
42
  @click=${(e: MouseEvent) => console.log('clicked')}
@@ -41,6 +44,7 @@ const Template: Story<ArgTypes> = ({
41
44
  .checked=${value}
42
45
  ?indeterminatable=${indeterminatable}
43
46
  ?indeterminate=${indeterminate}
47
+ ?disabled=${disabled}
44
48
  >
45
49
  ${label}
46
50
  </ox-checkbox>