@aurelia-ui-toolkits/headless 1.0.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 (284) hide show
  1. package/dist/alert/ui-alert.html +19 -0
  2. package/dist/alert/ui-alert.js +67 -0
  3. package/dist/alert/ui-alert.js.map +1 -0
  4. package/dist/alert-service/alert-configuration.js +11 -0
  5. package/dist/alert-service/alert-configuration.js.map +1 -0
  6. package/dist/alert-service/alert-modal/alert-modal.html +12 -0
  7. package/dist/alert-service/alert-modal/alert-modal.js +31 -0
  8. package/dist/alert-service/alert-modal/alert-modal.js.map +1 -0
  9. package/dist/alert-service/alert-modal/i-alert-modal-payload.js +2 -0
  10. package/dist/alert-service/alert-modal/i-alert-modal-payload.js.map +1 -0
  11. package/dist/alert-service/alert-service.js +108 -0
  12. package/dist/alert-service/alert-service.js.map +1 -0
  13. package/dist/alert-service/decorators/confirm-action.js +14 -0
  14. package/dist/alert-service/decorators/confirm-action.js.map +1 -0
  15. package/dist/alert-service/decorators/using-progress.js +23 -0
  16. package/dist/alert-service/decorators/using-progress.js.map +1 -0
  17. package/dist/alert-service/exceptions-tracker.js +4 -0
  18. package/dist/alert-service/exceptions-tracker.js.map +1 -0
  19. package/dist/alert-service/prompt-dialog/prompt-dialog.html +13 -0
  20. package/dist/alert-service/prompt-dialog/prompt-dialog.js +39 -0
  21. package/dist/alert-service/prompt-dialog/prompt-dialog.js.map +1 -0
  22. package/dist/badge/ui-badge.html +6 -0
  23. package/dist/badge/ui-badge.js +44 -0
  24. package/dist/badge/ui-badge.js.map +1 -0
  25. package/dist/base/boolean-attr.js +4 -0
  26. package/dist/base/boolean-attr.js.map +1 -0
  27. package/dist/base/i-validated-element.js +2 -0
  28. package/dist/base/i-validated-element.js.map +1 -0
  29. package/dist/base/keys.js +14 -0
  30. package/dist/base/keys.js.map +1 -0
  31. package/dist/breadcrumbs/ui-breadcrumbs.html +10 -0
  32. package/dist/breadcrumbs/ui-breadcrumbs.js +31 -0
  33. package/dist/breadcrumbs/ui-breadcrumbs.js.map +1 -0
  34. package/dist/button/enhance-ui-button.js +25 -0
  35. package/dist/button/enhance-ui-button.js.map +1 -0
  36. package/dist/button/ui-button.html +20 -0
  37. package/dist/button/ui-button.js +77 -0
  38. package/dist/button/ui-button.js.map +1 -0
  39. package/dist/button/ui-icon-button.html +20 -0
  40. package/dist/button/ui-icon-button.js +77 -0
  41. package/dist/button/ui-icon-button.js.map +1 -0
  42. package/dist/checkbox/ui-checkbox.html +32 -0
  43. package/dist/checkbox/ui-checkbox.js +186 -0
  44. package/dist/checkbox/ui-checkbox.js.map +1 -0
  45. package/dist/chip/ui-chip.html +32 -0
  46. package/dist/chip/ui-chip.js +129 -0
  47. package/dist/chip/ui-chip.js.map +1 -0
  48. package/dist/combobox/enhance-ui-combobox.js +26 -0
  49. package/dist/combobox/enhance-ui-combobox.js.map +1 -0
  50. package/dist/combobox/ui-combobox.html +76 -0
  51. package/dist/combobox/ui-combobox.js +478 -0
  52. package/dist/combobox/ui-combobox.js.map +1 -0
  53. package/dist/disclosure/ui-disclosure.html +28 -0
  54. package/dist/disclosure/ui-disclosure.js +75 -0
  55. package/dist/disclosure/ui-disclosure.js.map +1 -0
  56. package/dist/drawer/ui-drawer.html +35 -0
  57. package/dist/drawer/ui-drawer.js +246 -0
  58. package/dist/drawer/ui-drawer.js.map +1 -0
  59. package/dist/index.js +135 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/input/enhance-ui-input.js +26 -0
  62. package/dist/input/enhance-ui-input.js.map +1 -0
  63. package/dist/input/ui-input.html +56 -0
  64. package/dist/input/ui-input.js +259 -0
  65. package/dist/input/ui-input.js.map +1 -0
  66. package/dist/list/ui-list-item.html +22 -0
  67. package/dist/list/ui-list-item.js +59 -0
  68. package/dist/list/ui-list-item.js.map +1 -0
  69. package/dist/list/ui-list.html +10 -0
  70. package/dist/list/ui-list.js +316 -0
  71. package/dist/list/ui-list.js.map +1 -0
  72. package/dist/menu/ui-menu.html +20 -0
  73. package/dist/menu/ui-menu.js +154 -0
  74. package/dist/menu/ui-menu.js.map +1 -0
  75. package/dist/popup/ui-popup.html +16 -0
  76. package/dist/popup/ui-popup.js +397 -0
  77. package/dist/popup/ui-popup.js.map +1 -0
  78. package/dist/progress/ui-progress.html +17 -0
  79. package/dist/progress/ui-progress.js +76 -0
  80. package/dist/progress/ui-progress.js.map +1 -0
  81. package/dist/radio/ui-radio-group.html +27 -0
  82. package/dist/radio/ui-radio-group.js +259 -0
  83. package/dist/radio/ui-radio-group.js.map +1 -0
  84. package/dist/radio/ui-radio.html +11 -0
  85. package/dist/radio/ui-radio.js +55 -0
  86. package/dist/radio/ui-radio.js.map +1 -0
  87. package/dist/segmented-control/ui-segment.html +10 -0
  88. package/dist/segmented-control/ui-segment.js +44 -0
  89. package/dist/segmented-control/ui-segment.js.map +1 -0
  90. package/dist/segmented-control/ui-segmented-control.html +9 -0
  91. package/dist/segmented-control/ui-segmented-control.js +134 -0
  92. package/dist/segmented-control/ui-segmented-control.js.map +1 -0
  93. package/dist/select/enhance-ui-select.js +26 -0
  94. package/dist/select/enhance-ui-select.js.map +1 -0
  95. package/dist/select/ui-select.html +70 -0
  96. package/dist/select/ui-select.js +323 -0
  97. package/dist/select/ui-select.js.map +1 -0
  98. package/dist/slider/ui-slider.html +69 -0
  99. package/dist/slider/ui-slider.js +362 -0
  100. package/dist/slider/ui-slider.js.map +1 -0
  101. package/dist/splitter/ui-splitter.html +14 -0
  102. package/dist/splitter/ui-splitter.js +257 -0
  103. package/dist/splitter/ui-splitter.js.map +1 -0
  104. package/dist/switch/ui-switch.html +23 -0
  105. package/dist/switch/ui-switch.js +121 -0
  106. package/dist/switch/ui-switch.js.map +1 -0
  107. package/dist/table/enhance-ui-table.js +25 -0
  108. package/dist/table/enhance-ui-table.js.map +1 -0
  109. package/dist/table/ui-table-column.html +17 -0
  110. package/dist/table/ui-table-column.js +127 -0
  111. package/dist/table/ui-table-column.js.map +1 -0
  112. package/dist/table/ui-table.html +56 -0
  113. package/dist/table/ui-table.js +225 -0
  114. package/dist/table/ui-table.js.map +1 -0
  115. package/dist/tabs/ui-tab.html +10 -0
  116. package/dist/tabs/ui-tab.js +52 -0
  117. package/dist/tabs/ui-tab.js.map +1 -0
  118. package/dist/tabs/ui-tabs.html +3 -0
  119. package/dist/tabs/ui-tabs.js +112 -0
  120. package/dist/tabs/ui-tabs.js.map +1 -0
  121. package/dist/toast/ui-toast-region.html +11 -0
  122. package/dist/toast/ui-toast-region.js +38 -0
  123. package/dist/toast/ui-toast-region.js.map +1 -0
  124. package/dist/toast/ui-toast-service.js +70 -0
  125. package/dist/toast/ui-toast-service.js.map +1 -0
  126. package/dist/tooltip/ui-tooltip-service.js +63 -0
  127. package/dist/tooltip/ui-tooltip-service.js.map +1 -0
  128. package/dist/tooltip/ui-tooltip.js +221 -0
  129. package/dist/tooltip/ui-tooltip.js.map +1 -0
  130. package/dist/top-app-bar/ui-top-app-bar.html +24 -0
  131. package/dist/top-app-bar/ui-top-app-bar.js +68 -0
  132. package/dist/top-app-bar/ui-top-app-bar.js.map +1 -0
  133. package/dist/tree/ui-tree.html +38 -0
  134. package/dist/tree/ui-tree.js +340 -0
  135. package/dist/tree/ui-tree.js.map +1 -0
  136. package/dist/types/alert/ui-alert.d.ts +11 -0
  137. package/dist/types/alert-service/alert-configuration.d.ts +8 -0
  138. package/dist/types/alert-service/alert-modal/alert-modal.d.ts +7 -0
  139. package/dist/types/alert-service/alert-modal/i-alert-modal-payload.d.ts +14 -0
  140. package/dist/types/alert-service/alert-service.d.ts +17 -0
  141. package/dist/types/alert-service/decorators/confirm-action.d.ts +3 -0
  142. package/dist/types/alert-service/decorators/using-progress.d.ts +6 -0
  143. package/dist/types/alert-service/exceptions-tracker.d.ts +3 -0
  144. package/dist/types/alert-service/prompt-dialog/prompt-dialog.d.ts +17 -0
  145. package/dist/types/badge/ui-badge.d.ts +7 -0
  146. package/dist/types/base/boolean-attr.d.ts +1 -0
  147. package/dist/types/base/i-validated-element.d.ts +10 -0
  148. package/dist/types/base/keys.d.ts +12 -0
  149. package/dist/types/breadcrumbs/ui-breadcrumbs.d.ts +8 -0
  150. package/dist/types/button/enhance-ui-button.d.ts +3 -0
  151. package/dist/types/button/ui-button.d.ts +16 -0
  152. package/dist/types/button/ui-icon-button.d.ts +18 -0
  153. package/dist/types/checkbox/ui-checkbox.d.ts +32 -0
  154. package/dist/types/chip/ui-chip.d.ts +26 -0
  155. package/dist/types/combobox/enhance-ui-combobox.d.ts +3 -0
  156. package/dist/types/combobox/ui-combobox.d.ts +79 -0
  157. package/dist/types/disclosure/ui-disclosure.d.ts +18 -0
  158. package/dist/types/drawer/ui-drawer.d.ts +38 -0
  159. package/dist/types/index.d.ts +91 -0
  160. package/dist/types/input/enhance-ui-input.d.ts +3 -0
  161. package/dist/types/input/ui-input.d.ts +44 -0
  162. package/dist/types/list/ui-list-item.d.ts +10 -0
  163. package/dist/types/list/ui-list.d.ts +45 -0
  164. package/dist/types/menu/ui-menu.d.ts +29 -0
  165. package/dist/types/popup/ui-popup.d.ts +61 -0
  166. package/dist/types/progress/ui-progress.d.ts +15 -0
  167. package/dist/types/radio/ui-radio-group.d.ts +37 -0
  168. package/dist/types/radio/ui-radio.d.ts +11 -0
  169. package/dist/types/segmented-control/ui-segment.d.ts +8 -0
  170. package/dist/types/segmented-control/ui-segmented-control.d.ts +17 -0
  171. package/dist/types/select/enhance-ui-select.d.ts +3 -0
  172. package/dist/types/select/ui-select.d.ts +50 -0
  173. package/dist/types/slider/ui-slider.d.ts +58 -0
  174. package/dist/types/splitter/ui-splitter.d.ts +39 -0
  175. package/dist/types/switch/ui-switch.d.ts +23 -0
  176. package/dist/types/table/enhance-ui-table.d.ts +3 -0
  177. package/dist/types/table/ui-table-column.d.ts +22 -0
  178. package/dist/types/table/ui-table.d.ts +51 -0
  179. package/dist/types/tabs/ui-tab.d.ts +10 -0
  180. package/dist/types/tabs/ui-tabs.d.ts +16 -0
  181. package/dist/types/toast/ui-toast-region.d.ts +6 -0
  182. package/dist/types/toast/ui-toast-service.d.ts +28 -0
  183. package/dist/types/tooltip/ui-tooltip-service.d.ts +23 -0
  184. package/dist/types/tooltip/ui-tooltip.d.ts +35 -0
  185. package/dist/types/top-app-bar/ui-top-app-bar.d.ts +9 -0
  186. package/dist/types/tree/ui-tree.d.ts +70 -0
  187. package/dist/types/validation/ui-validation-controller-factory.d.ts +7 -0
  188. package/dist/types/validation/ui-validation-result-presenter.d.ts +4 -0
  189. package/dist/types/validation/validate.d.ts +13 -0
  190. package/dist/validation/ui-validation-controller-factory.js +17 -0
  191. package/dist/validation/ui-validation-controller-factory.js.map +1 -0
  192. package/dist/validation/ui-validation-result-presenter.js +23 -0
  193. package/dist/validation/ui-validation-result-presenter.js.map +1 -0
  194. package/dist/validation/validate.js +24 -0
  195. package/dist/validation/validate.js.map +1 -0
  196. package/package.json +50 -0
  197. package/src/alert/ui-alert.html +19 -0
  198. package/src/alert/ui-alert.ts +33 -0
  199. package/src/alert-service/alert-configuration.ts +11 -0
  200. package/src/alert-service/alert-modal/alert-modal.html +12 -0
  201. package/src/alert-service/alert-modal/alert-modal.ts +19 -0
  202. package/src/alert-service/alert-modal/i-alert-modal-payload.ts +14 -0
  203. package/src/alert-service/alert-service.ts +116 -0
  204. package/src/alert-service/decorators/confirm-action.ts +18 -0
  205. package/src/alert-service/decorators/using-progress.ts +32 -0
  206. package/src/alert-service/exceptions-tracker.ts +3 -0
  207. package/src/alert-service/prompt-dialog/prompt-dialog.html +13 -0
  208. package/src/alert-service/prompt-dialog/prompt-dialog.ts +37 -0
  209. package/src/badge/ui-badge.html +6 -0
  210. package/src/badge/ui-badge.ts +17 -0
  211. package/src/base/boolean-attr.ts +3 -0
  212. package/src/base/i-validated-element.ts +11 -0
  213. package/src/base/keys.ts +12 -0
  214. package/src/breadcrumbs/ui-breadcrumbs.html +10 -0
  215. package/src/breadcrumbs/ui-breadcrumbs.ts +14 -0
  216. package/src/button/enhance-ui-button.ts +9 -0
  217. package/src/button/ui-button.html +20 -0
  218. package/src/button/ui-button.ts +60 -0
  219. package/src/button/ui-icon-button.html +20 -0
  220. package/src/button/ui-icon-button.ts +62 -0
  221. package/src/checkbox/ui-checkbox.html +32 -0
  222. package/src/checkbox/ui-checkbox.ts +188 -0
  223. package/src/chip/ui-chip.html +32 -0
  224. package/src/chip/ui-chip.ts +118 -0
  225. package/src/combobox/enhance-ui-combobox.ts +10 -0
  226. package/src/combobox/ui-combobox.html +76 -0
  227. package/src/combobox/ui-combobox.ts +450 -0
  228. package/src/disclosure/ui-disclosure.html +28 -0
  229. package/src/disclosure/ui-disclosure.ts +68 -0
  230. package/src/drawer/ui-drawer.html +35 -0
  231. package/src/drawer/ui-drawer.ts +219 -0
  232. package/src/index.ts +152 -0
  233. package/src/input/enhance-ui-input.ts +10 -0
  234. package/src/input/ui-input.html +56 -0
  235. package/src/input/ui-input.ts +225 -0
  236. package/src/list/ui-list-item.html +22 -0
  237. package/src/list/ui-list-item.ts +25 -0
  238. package/src/list/ui-list.html +10 -0
  239. package/src/list/ui-list.ts +330 -0
  240. package/src/menu/ui-menu.html +20 -0
  241. package/src/menu/ui-menu.ts +103 -0
  242. package/src/popup/ui-popup.html +16 -0
  243. package/src/popup/ui-popup.ts +391 -0
  244. package/src/progress/ui-progress.html +17 -0
  245. package/src/progress/ui-progress.ts +51 -0
  246. package/src/radio/ui-radio-group.html +27 -0
  247. package/src/radio/ui-radio-group.ts +250 -0
  248. package/src/radio/ui-radio.html +11 -0
  249. package/src/radio/ui-radio.ts +35 -0
  250. package/src/resource.d.ts +4 -0
  251. package/src/segmented-control/ui-segment.html +10 -0
  252. package/src/segmented-control/ui-segment.ts +20 -0
  253. package/src/segmented-control/ui-segmented-control.html +9 -0
  254. package/src/segmented-control/ui-segmented-control.ts +119 -0
  255. package/src/select/enhance-ui-select.ts +10 -0
  256. package/src/select/ui-select.html +70 -0
  257. package/src/select/ui-select.ts +294 -0
  258. package/src/slider/ui-slider.html +69 -0
  259. package/src/slider/ui-slider.ts +329 -0
  260. package/src/splitter/ui-splitter.html +14 -0
  261. package/src/splitter/ui-splitter.ts +249 -0
  262. package/src/switch/ui-switch.html +23 -0
  263. package/src/switch/ui-switch.ts +121 -0
  264. package/src/table/enhance-ui-table.ts +9 -0
  265. package/src/table/ui-table-column.html +17 -0
  266. package/src/table/ui-table-column.ts +108 -0
  267. package/src/table/ui-table.html +56 -0
  268. package/src/table/ui-table.ts +209 -0
  269. package/src/tabs/ui-tab.html +10 -0
  270. package/src/tabs/ui-tab.ts +30 -0
  271. package/src/tabs/ui-tabs.html +3 -0
  272. package/src/tabs/ui-tabs.ts +105 -0
  273. package/src/toast/ui-toast-region.html +11 -0
  274. package/src/toast/ui-toast-region.ts +18 -0
  275. package/src/toast/ui-toast-service.ts +100 -0
  276. package/src/tooltip/ui-tooltip-service.ts +84 -0
  277. package/src/tooltip/ui-tooltip.ts +200 -0
  278. package/src/top-app-bar/ui-top-app-bar.html +24 -0
  279. package/src/top-app-bar/ui-top-app-bar.ts +27 -0
  280. package/src/tree/ui-tree.html +38 -0
  281. package/src/tree/ui-tree.ts +363 -0
  282. package/src/validation/ui-validation-controller-factory.ts +20 -0
  283. package/src/validation/ui-validation-result-presenter.ts +26 -0
  284. package/src/validation/validate.ts +35 -0
@@ -0,0 +1,362 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { bindable, BindingMode, CustomElement, customElement, INode, resolve, slotted } from 'aurelia';
3
+ import { booleanAttr } from '../base/boolean-attr';
4
+ import template from './ui-slider.html?raw';
5
+ let nextSliderId = 0;
6
+ let UiSlider = (() => {
7
+ let _classDecorators = [customElement({ name: 'ui-slider', template })];
8
+ let _classDescriptor;
9
+ let _classExtraInitializers = [];
10
+ let _classThis;
11
+ let _value_decorators;
12
+ let _value_initializers = [];
13
+ let _value_extraInitializers = [];
14
+ let _endValue_decorators;
15
+ let _endValue_initializers = [];
16
+ let _endValue_extraInitializers = [];
17
+ let _min_decorators;
18
+ let _min_initializers = [];
19
+ let _min_extraInitializers = [];
20
+ let _max_decorators;
21
+ let _max_initializers = [];
22
+ let _max_extraInitializers = [];
23
+ let _step_decorators;
24
+ let _step_initializers = [];
25
+ let _step_extraInitializers = [];
26
+ let _range_decorators;
27
+ let _range_initializers = [];
28
+ let _range_extraInitializers = [];
29
+ let _label_decorators;
30
+ let _label_initializers = [];
31
+ let _label_extraInitializers = [];
32
+ let _helperText_decorators;
33
+ let _helperText_initializers = [];
34
+ let _helperText_extraInitializers = [];
35
+ let _id_decorators;
36
+ let _id_initializers = [];
37
+ let _id_extraInitializers = [];
38
+ let _name_decorators;
39
+ let _name_initializers = [];
40
+ let _name_extraInitializers = [];
41
+ let _disabled_decorators;
42
+ let _disabled_initializers = [];
43
+ let _disabled_extraInitializers = [];
44
+ let _readonly_decorators;
45
+ let _readonly_initializers = [];
46
+ let _readonly_extraInitializers = [];
47
+ let _required_decorators;
48
+ let _required_initializers = [];
49
+ let _required_extraInitializers = [];
50
+ let _invalid_decorators;
51
+ let _invalid_initializers = [];
52
+ let _invalid_extraInitializers = [];
53
+ let _helperNodes_decorators;
54
+ let _helperNodes_initializers = [];
55
+ let _helperNodes_extraInitializers = [];
56
+ var UiSlider = class {
57
+ static { _classThis = this; }
58
+ static {
59
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
60
+ _value_decorators = [bindable({ mode: BindingMode.twoWay })];
61
+ _endValue_decorators = [bindable({ mode: BindingMode.twoWay })];
62
+ _min_decorators = [bindable];
63
+ _max_decorators = [bindable];
64
+ _step_decorators = [bindable];
65
+ _range_decorators = [bindable({ set: booleanAttr })];
66
+ _label_decorators = [bindable];
67
+ _helperText_decorators = [bindable];
68
+ _id_decorators = [bindable];
69
+ _name_decorators = [bindable];
70
+ _disabled_decorators = [bindable({ set: booleanAttr })];
71
+ _readonly_decorators = [bindable({ set: booleanAttr })];
72
+ _required_decorators = [bindable({ set: booleanAttr })];
73
+ _invalid_decorators = [bindable({ set: booleanAttr })];
74
+ _helperNodes_decorators = [slotted({ slotName: 'helper' })];
75
+ __esDecorate(null, null, _value_decorators, { kind: "field", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
76
+ __esDecorate(null, null, _endValue_decorators, { kind: "field", name: "endValue", static: false, private: false, access: { has: obj => "endValue" in obj, get: obj => obj.endValue, set: (obj, value) => { obj.endValue = value; } }, metadata: _metadata }, _endValue_initializers, _endValue_extraInitializers);
77
+ __esDecorate(null, null, _min_decorators, { kind: "field", name: "min", static: false, private: false, access: { has: obj => "min" in obj, get: obj => obj.min, set: (obj, value) => { obj.min = value; } }, metadata: _metadata }, _min_initializers, _min_extraInitializers);
78
+ __esDecorate(null, null, _max_decorators, { kind: "field", name: "max", static: false, private: false, access: { has: obj => "max" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_extraInitializers);
79
+ __esDecorate(null, null, _step_decorators, { kind: "field", name: "step", static: false, private: false, access: { has: obj => "step" in obj, get: obj => obj.step, set: (obj, value) => { obj.step = value; } }, metadata: _metadata }, _step_initializers, _step_extraInitializers);
80
+ __esDecorate(null, null, _range_decorators, { kind: "field", name: "range", static: false, private: false, access: { has: obj => "range" in obj, get: obj => obj.range, set: (obj, value) => { obj.range = value; } }, metadata: _metadata }, _range_initializers, _range_extraInitializers);
81
+ __esDecorate(null, null, _label_decorators, { kind: "field", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
82
+ __esDecorate(null, null, _helperText_decorators, { kind: "field", name: "helperText", static: false, private: false, access: { has: obj => "helperText" in obj, get: obj => obj.helperText, set: (obj, value) => { obj.helperText = value; } }, metadata: _metadata }, _helperText_initializers, _helperText_extraInitializers);
83
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
84
+ __esDecorate(null, null, _name_decorators, { kind: "field", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
85
+ __esDecorate(null, null, _disabled_decorators, { kind: "field", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
86
+ __esDecorate(null, null, _readonly_decorators, { kind: "field", name: "readonly", static: false, private: false, access: { has: obj => "readonly" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_extraInitializers);
87
+ __esDecorate(null, null, _required_decorators, { kind: "field", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
88
+ __esDecorate(null, null, _invalid_decorators, { kind: "field", name: "invalid", static: false, private: false, access: { has: obj => "invalid" in obj, get: obj => obj.invalid, set: (obj, value) => { obj.invalid = value; } }, metadata: _metadata }, _invalid_initializers, _invalid_extraInitializers);
89
+ __esDecorate(null, null, _helperNodes_decorators, { kind: "field", name: "helperNodes", static: false, private: false, access: { has: obj => "helperNodes" in obj, get: obj => obj.helperNodes, set: (obj, value) => { obj.helperNodes = value; } }, metadata: _metadata }, _helperNodes_initializers, _helperNodes_extraInitializers);
90
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
91
+ UiSlider = _classThis = _classDescriptor.value;
92
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
93
+ __runInitializers(_classThis, _classExtraInitializers);
94
+ }
95
+ constructor() {
96
+ __runInitializers(this, _helperNodes_extraInitializers);
97
+ defineUiSliderElementApis(this.element);
98
+ }
99
+ element = resolve(INode);
100
+ errors = new Map();
101
+ focus = false;
102
+ active = false;
103
+ inputEl;
104
+ endInputEl;
105
+ fillStyle = 'width: 0%';
106
+ normalizedValue = 0;
107
+ normalizedEndValue = 0;
108
+ labelId = '';
109
+ helperId = '';
110
+ errorsId = '';
111
+ endId = '';
112
+ value = __runInitializers(this, _value_initializers, 0);
113
+ valueChanged() {
114
+ this.normalizeValues('start');
115
+ this.updateFillStyle();
116
+ }
117
+ endValue = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _endValue_initializers, 100));
118
+ endValueChanged() {
119
+ this.normalizeValues('end');
120
+ this.updateFillStyle();
121
+ }
122
+ min = (__runInitializers(this, _endValue_extraInitializers), __runInitializers(this, _min_initializers, 0));
123
+ minChanged() {
124
+ this.normalizeValues();
125
+ this.updateFillStyle();
126
+ }
127
+ max = (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, 100));
128
+ maxChanged() {
129
+ this.normalizeValues();
130
+ this.updateFillStyle();
131
+ }
132
+ step = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _step_initializers, 1));
133
+ range = (__runInitializers(this, _step_extraInitializers), __runInitializers(this, _range_initializers, false));
134
+ rangeChanged() {
135
+ this.normalizeValues();
136
+ this.updateFillStyle();
137
+ }
138
+ label = (__runInitializers(this, _range_extraInitializers), __runInitializers(this, _label_initializers, void 0));
139
+ helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, void 0));
140
+ id = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _id_initializers, `ui-slider-${++nextSliderId}`));
141
+ idChanged() {
142
+ this.updateIds();
143
+ }
144
+ name = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _name_initializers, void 0));
145
+ disabled = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _disabled_initializers, false));
146
+ readonly = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _readonly_initializers, false));
147
+ required = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _required_initializers, false));
148
+ invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));
149
+ helperNodes = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _helperNodes_initializers, []));
150
+ binding() {
151
+ this.updateIds();
152
+ this.normalizeValues();
153
+ this.updateFillStyle();
154
+ }
155
+ addError(error) {
156
+ if (this.findError(error)) {
157
+ return;
158
+ }
159
+ this.errors.set(error, true);
160
+ }
161
+ removeError(error) {
162
+ const existing = this.findError(error);
163
+ if (existing) {
164
+ this.errors.delete(existing);
165
+ return;
166
+ }
167
+ this.errors.delete(error);
168
+ }
169
+ onInput(event) {
170
+ if (!(event.target instanceof HTMLInputElement) || this.disabled || this.readonly) {
171
+ return;
172
+ }
173
+ if (event.target === this.endInputEl) {
174
+ this.endValue = Number(event.target.value);
175
+ this.normalizeValues('end');
176
+ }
177
+ else {
178
+ this.value = Number(event.target.value);
179
+ this.normalizeValues('start');
180
+ }
181
+ this.updateFillStyle();
182
+ this.dispatchValueEvent('input');
183
+ }
184
+ onChange(event) {
185
+ if (!(event.target instanceof HTMLInputElement) || this.disabled || this.readonly) {
186
+ return;
187
+ }
188
+ if (event.target === this.endInputEl) {
189
+ this.endValue = Number(event.target.value);
190
+ this.normalizeValues('end');
191
+ }
192
+ else {
193
+ this.value = Number(event.target.value);
194
+ this.normalizeValues('start');
195
+ }
196
+ this.updateFillStyle();
197
+ this.dispatchValueEvent('change');
198
+ }
199
+ onFocusIn() {
200
+ if (!this.disabled) {
201
+ this.focus = true;
202
+ }
203
+ }
204
+ onFocusOut() {
205
+ this.focus = false;
206
+ }
207
+ onPointerDown(event) {
208
+ if (this.readonly) {
209
+ event.preventDefault();
210
+ return;
211
+ }
212
+ if (!this.disabled) {
213
+ this.active = true;
214
+ }
215
+ }
216
+ onPointerUp() {
217
+ this.active = false;
218
+ }
219
+ onPointerLeave() {
220
+ this.active = false;
221
+ }
222
+ onKeyDown(event) {
223
+ if (this.readonly) {
224
+ event.preventDefault();
225
+ }
226
+ }
227
+ normalizeValues(changed) {
228
+ const min = Number(this.min);
229
+ const max = Number(this.max);
230
+ const low = Number.isFinite(min) ? min : 0;
231
+ const high = Number.isFinite(max) && max > low ? max : low + 100;
232
+ const next = Number(this.value);
233
+ const nextEnd = Number(this.endValue);
234
+ this.normalizedValue = Math.max(low, Math.min(high, Number.isFinite(next) ? next : low));
235
+ this.normalizedEndValue = Math.max(low, Math.min(high, Number.isFinite(nextEnd) ? nextEnd : high));
236
+ if (this.range && this.normalizedValue > this.normalizedEndValue) {
237
+ if (changed === 'end') {
238
+ this.normalizedEndValue = this.normalizedValue;
239
+ }
240
+ else {
241
+ this.normalizedValue = this.normalizedEndValue;
242
+ }
243
+ }
244
+ if (!this.range) {
245
+ this.normalizedEndValue = high;
246
+ }
247
+ if (this.value !== this.normalizedValue) {
248
+ this.value = this.normalizedValue;
249
+ }
250
+ if (this.endValue !== this.normalizedEndValue) {
251
+ this.endValue = this.normalizedEndValue;
252
+ }
253
+ }
254
+ updateFillStyle() {
255
+ const min = Number(this.min) || 0;
256
+ const max = Number(this.max) || 100;
257
+ const range = Math.max(1, max - min);
258
+ const startPercent = Math.max(0, Math.min(100, (this.normalizedValue - min) / range * 100));
259
+ const endPercent = Math.max(0, Math.min(100, (this.normalizedEndValue - min) / range * 100));
260
+ if (this.range) {
261
+ this.fillStyle = `left: ${startPercent}%; width: ${Math.max(0, endPercent - startPercent)}%`;
262
+ return;
263
+ }
264
+ this.fillStyle = `left: 0%; width: ${startPercent}%`;
265
+ }
266
+ updateIds() {
267
+ this.labelId = `${this.id}-label`;
268
+ this.helperId = `${this.id}-helper`;
269
+ this.errorsId = `${this.id}-errors`;
270
+ this.endId = `${this.id}-end`;
271
+ }
272
+ dispatchValueEvent(type) {
273
+ this.element.dispatchEvent(new Event(type, { bubbles: true }));
274
+ }
275
+ findError(error) {
276
+ for (const existing of this.errors.keys()) {
277
+ if (existing === error || existing.message === error.message) {
278
+ return existing;
279
+ }
280
+ }
281
+ return undefined;
282
+ }
283
+ };
284
+ return UiSlider = _classThis;
285
+ })();
286
+ export { UiSlider };
287
+ function defineUiSliderElementApis(element) {
288
+ Object.defineProperties(element, {
289
+ tagName: {
290
+ get() {
291
+ return 'UI-SLIDER';
292
+ }
293
+ },
294
+ value: {
295
+ get() {
296
+ return CustomElement.for(this).viewModel.value;
297
+ },
298
+ set(value) {
299
+ CustomElement.for(this).viewModel.value = Number(value);
300
+ },
301
+ configurable: true
302
+ },
303
+ disabled: {
304
+ get() {
305
+ return CustomElement.for(this).viewModel.disabled;
306
+ },
307
+ set(value) {
308
+ CustomElement.for(this).viewModel.disabled = value;
309
+ },
310
+ configurable: true
311
+ },
312
+ endValue: {
313
+ get() {
314
+ return CustomElement.for(this).viewModel.endValue;
315
+ },
316
+ set(value) {
317
+ CustomElement.for(this).viewModel.endValue = Number(value);
318
+ },
319
+ configurable: true
320
+ },
321
+ readOnly: {
322
+ get() {
323
+ return CustomElement.for(this).viewModel.readonly;
324
+ },
325
+ set(value) {
326
+ CustomElement.for(this).viewModel.readonly = value;
327
+ },
328
+ configurable: true
329
+ },
330
+ addError: {
331
+ value(error) {
332
+ CustomElement.for(this).viewModel.addError(error);
333
+ },
334
+ configurable: true
335
+ },
336
+ removeError: {
337
+ value(error) {
338
+ CustomElement.for(this).viewModel.removeError(error);
339
+ },
340
+ configurable: true
341
+ },
342
+ focus: {
343
+ value() {
344
+ CustomElement.for(this).viewModel.inputEl.focus();
345
+ },
346
+ configurable: true
347
+ },
348
+ blur: {
349
+ value() {
350
+ CustomElement.for(this).viewModel.inputEl.blur();
351
+ },
352
+ configurable: true
353
+ },
354
+ isFocused: {
355
+ get() {
356
+ return document.activeElement === CustomElement.for(this).viewModel.inputEl;
357
+ },
358
+ configurable: true
359
+ }
360
+ });
361
+ }
362
+ //# sourceMappingURL=ui-slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-slider.js","sourceRoot":"","sources":["../../src/slider/ui-slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { bindable, BindingMode, CustomElement, customElement, INode, resolve, slotted } from 'aurelia';\nimport { booleanAttr } from '../base/boolean-attr';\nimport { IError, IValidatedElement } from '../base/i-validated-element';\nimport template from './ui-slider.html?raw';\n\nlet nextSliderId = 0;\n\n@customElement({ name: 'ui-slider', template })\nexport class UiSlider {\n constructor() {\n defineUiSliderElementApis(this.element);\n }\n\n readonly element = resolve(INode) as HTMLElement;\n errors = new Map<IError, boolean>();\n focus = false;\n active = false;\n inputEl!: HTMLInputElement;\n endInputEl!: HTMLInputElement;\n fillStyle = 'width: 0%';\n normalizedValue = 0;\n normalizedEndValue = 0;\n labelId = '';\n helperId = '';\n errorsId = '';\n endId = '';\n\n @bindable({ mode: BindingMode.twoWay })\n value: number = 0;\n valueChanged(): void {\n this.normalizeValues('start');\n this.updateFillStyle();\n }\n\n @bindable({ mode: BindingMode.twoWay })\n endValue: number = 100;\n endValueChanged(): void {\n this.normalizeValues('end');\n this.updateFillStyle();\n }\n\n @bindable\n min: number = 0;\n minChanged(): void {\n this.normalizeValues();\n this.updateFillStyle();\n }\n\n @bindable\n max: number = 100;\n maxChanged(): void {\n this.normalizeValues();\n this.updateFillStyle();\n }\n\n @bindable\n step: number = 1;\n\n @bindable({ set: booleanAttr })\n range = false;\n rangeChanged(): void {\n this.normalizeValues();\n this.updateFillStyle();\n }\n\n @bindable\n label: string | undefined;\n\n @bindable\n helperText: string | undefined;\n\n @bindable\n id: string = `ui-slider-${++nextSliderId}`;\n idChanged(): void {\n this.updateIds();\n }\n\n @bindable\n name: string | undefined;\n\n @bindable({ set: booleanAttr })\n disabled = false;\n\n @bindable({ set: booleanAttr })\n readonly = false;\n\n @bindable({ set: booleanAttr })\n required = false;\n\n @bindable({ set: booleanAttr })\n invalid = false;\n\n @slotted({ slotName: 'helper' })\n helperNodes: readonly Node[] = [];\n\n binding(): void {\n this.updateIds();\n this.normalizeValues();\n this.updateFillStyle();\n }\n\n addError(error: IError): void {\n if (this.findError(error)) {\n return;\n }\n\n this.errors.set(error, true);\n }\n\n removeError(error: IError): void {\n const existing = this.findError(error);\n if (existing) {\n this.errors.delete(existing);\n return;\n }\n\n this.errors.delete(error);\n }\n\n onInput(event: Event): void {\n if (!(event.target instanceof HTMLInputElement) || this.disabled || this.readonly) {\n return;\n }\n\n if (event.target === this.endInputEl) {\n this.endValue = Number(event.target.value);\n this.normalizeValues('end');\n } else {\n this.value = Number(event.target.value);\n this.normalizeValues('start');\n }\n this.updateFillStyle();\n this.dispatchValueEvent('input');\n }\n\n onChange(event: Event): void {\n if (!(event.target instanceof HTMLInputElement) || this.disabled || this.readonly) {\n return;\n }\n\n if (event.target === this.endInputEl) {\n this.endValue = Number(event.target.value);\n this.normalizeValues('end');\n } else {\n this.value = Number(event.target.value);\n this.normalizeValues('start');\n }\n this.updateFillStyle();\n this.dispatchValueEvent('change');\n }\n\n onFocusIn(): void {\n if (!this.disabled) {\n this.focus = true;\n }\n }\n\n onFocusOut(): void {\n this.focus = false;\n }\n\n onPointerDown(event: PointerEvent): void {\n if (this.readonly) {\n event.preventDefault();\n return;\n }\n\n if (!this.disabled) {\n this.active = true;\n }\n }\n\n onPointerUp(): void {\n this.active = false;\n }\n\n onPointerLeave(): void {\n this.active = false;\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (this.readonly) {\n event.preventDefault();\n }\n }\n\n private normalizeValues(changed?: 'start' | 'end'): void {\n const min = Number(this.min);\n const max = Number(this.max);\n const low = Number.isFinite(min) ? min : 0;\n const high = Number.isFinite(max) && max > low ? max : low + 100;\n const next = Number(this.value);\n const nextEnd = Number(this.endValue);\n this.normalizedValue = Math.max(low, Math.min(high, Number.isFinite(next) ? next : low));\n this.normalizedEndValue = Math.max(low, Math.min(high, Number.isFinite(nextEnd) ? nextEnd : high));\n if (this.range && this.normalizedValue > this.normalizedEndValue) {\n if (changed === 'end') {\n this.normalizedEndValue = this.normalizedValue;\n } else {\n this.normalizedValue = this.normalizedEndValue;\n }\n }\n if (!this.range) {\n this.normalizedEndValue = high;\n }\n if (this.value !== this.normalizedValue) {\n this.value = this.normalizedValue;\n }\n if (this.endValue !== this.normalizedEndValue) {\n this.endValue = this.normalizedEndValue;\n }\n }\n\n private updateFillStyle(): void {\n const min = Number(this.min) || 0;\n const max = Number(this.max) || 100;\n const range = Math.max(1, max - min);\n const startPercent = Math.max(0, Math.min(100, (this.normalizedValue - min) / range * 100));\n const endPercent = Math.max(0, Math.min(100, (this.normalizedEndValue - min) / range * 100));\n if (this.range) {\n this.fillStyle = `left: ${startPercent}%; width: ${Math.max(0, endPercent - startPercent)}%`;\n return;\n }\n\n this.fillStyle = `left: 0%; width: ${startPercent}%`;\n }\n\n private updateIds(): void {\n this.labelId = `${this.id}-label`;\n this.helperId = `${this.id}-helper`;\n this.errorsId = `${this.id}-errors`;\n this.endId = `${this.id}-end`;\n }\n\n private dispatchValueEvent(type: 'input' | 'change'): void {\n this.element.dispatchEvent(new Event(type, { bubbles: true }));\n }\n\n private findError(error: IError): IError | undefined {\n for (const existing of this.errors.keys()) {\n if (existing === error || existing.message === error.message) {\n return existing;\n }\n }\n\n return undefined;\n }\n}\n\nexport interface IUiSliderElement extends IValidatedElement {\n value: number;\n endValue: number;\n}\n\nfunction defineUiSliderElementApis(element: HTMLElement) {\n Object.defineProperties(element, {\n tagName: {\n get() {\n return 'UI-SLIDER';\n }\n },\n value: {\n get(this: IUiSliderElement) {\n return CustomElement.for<UiSlider>(this).viewModel.value;\n },\n set(this: IUiSliderElement, value: number) {\n CustomElement.for<UiSlider>(this).viewModel.value = Number(value);\n },\n configurable: true\n },\n disabled: {\n get(this: IUiSliderElement) {\n return CustomElement.for<UiSlider>(this).viewModel.disabled;\n },\n set(this: IUiSliderElement, value: boolean) {\n CustomElement.for<UiSlider>(this).viewModel.disabled = value;\n },\n configurable: true\n },\n endValue: {\n get(this: IUiSliderElement) {\n return CustomElement.for<UiSlider>(this).viewModel.endValue;\n },\n set(this: IUiSliderElement, value: number) {\n CustomElement.for<UiSlider>(this).viewModel.endValue = Number(value);\n },\n configurable: true\n },\n readOnly: {\n get(this: IUiSliderElement) {\n return CustomElement.for<UiSlider>(this).viewModel.readonly;\n },\n set(this: IUiSliderElement, value: boolean) {\n CustomElement.for<UiSlider>(this).viewModel.readonly = value;\n },\n configurable: true\n },\n addError: {\n value(this: IUiSliderElement, error: IError) {\n CustomElement.for<UiSlider>(this).viewModel.addError(error);\n },\n configurable: true\n },\n removeError: {\n value(this: IUiSliderElement, error: IError) {\n CustomElement.for<UiSlider>(this).viewModel.removeError(error);\n },\n configurable: true\n },\n focus: {\n value(this: IUiSliderElement) {\n CustomElement.for<UiSlider>(this).viewModel.inputEl.focus();\n },\n configurable: true\n },\n blur: {\n value(this: IUiSliderElement) {\n CustomElement.for<UiSlider>(this).viewModel.inputEl.blur();\n },\n configurable: true\n },\n isFocused: {\n get(this: IUiSliderElement) {\n return document.activeElement === CustomElement.for<UiSlider>(this).viewModel.inputEl;\n },\n configurable: true\n }\n });\n}\n"]}
@@ -0,0 +1,14 @@
1
+ <template class="ui-splitter"
2
+ role="separator"
3
+ tabindex.bind="disabled ? -1 : 0"
4
+ aria-orientation.attr="direction"
5
+ aria-valuemin.attr="min"
6
+ aria-valuemax.attr="max"
7
+ aria-valuenow.attr="valueNow"
8
+ aria-disabled.attr="disabled ? 'true' : null"
9
+ data-direction.attr="direction"
10
+ data-disabled.attr="disabled ? '' : null"
11
+ pointerdown.trigger="onPointerDown($event)"
12
+ keydown.trigger="onKeyDown($event)">
13
+ <span class="ui-splitter__handle" aria-hidden="true"></span>
14
+ </template>