@omegagrid/core 0.10.2 → 0.10.4

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 (317) hide show
  1. package/dist/common/actions.d.ts +16 -0
  2. package/dist/common/actions.d.ts.map +1 -0
  3. package/dist/common/actions.js +14 -0
  4. package/dist/common/actions.js.map +1 -0
  5. package/dist/common/colors.d.ts +39 -0
  6. package/dist/common/colors.d.ts.map +1 -0
  7. package/dist/common/colors.js +59 -0
  8. package/dist/common/colors.js.map +1 -0
  9. package/dist/common/csv.d.ts +23 -0
  10. package/dist/common/csv.d.ts.map +1 -0
  11. package/dist/common/csv.js +93 -0
  12. package/dist/common/csv.js.map +1 -0
  13. package/dist/common/dates.d.ts +32 -0
  14. package/dist/common/dates.d.ts.map +1 -0
  15. package/dist/common/dates.js +172 -0
  16. package/dist/common/dates.js.map +1 -0
  17. package/dist/common/device.d.ts +2 -0
  18. package/dist/common/device.d.ts.map +1 -0
  19. package/dist/common/device.js +13 -0
  20. package/dist/common/device.js.map +1 -0
  21. package/dist/common/dom.d.ts +90 -0
  22. package/dist/common/dom.d.ts.map +1 -0
  23. package/dist/common/dom.js +308 -0
  24. package/dist/common/dom.js.map +1 -0
  25. package/dist/common/events.d.ts +15 -0
  26. package/dist/common/events.d.ts.map +1 -0
  27. package/dist/common/events.js +33 -0
  28. package/dist/common/events.js.map +1 -0
  29. package/dist/common/html.d.ts +3 -0
  30. package/dist/common/html.d.ts.map +1 -0
  31. package/dist/common/html.js +25 -0
  32. package/dist/common/html.js.map +1 -0
  33. package/dist/common/index.d.ts +19 -0
  34. package/dist/common/index.d.ts.map +1 -0
  35. package/dist/common/index.js +19 -0
  36. package/dist/common/index.js.map +1 -0
  37. package/dist/common/linkedList.d.ts +24 -0
  38. package/dist/common/linkedList.d.ts.map +1 -0
  39. package/dist/common/linkedList.js +65 -0
  40. package/dist/common/linkedList.js.map +1 -0
  41. package/dist/common/loaders.d.ts +17 -0
  42. package/dist/common/loaders.d.ts.map +1 -0
  43. package/dist/common/loaders.js +54 -0
  44. package/dist/common/loaders.js.map +1 -0
  45. package/dist/common/logger.d.ts +25 -0
  46. package/dist/common/logger.d.ts.map +1 -0
  47. package/dist/common/logger.js +57 -0
  48. package/dist/common/logger.js.map +1 -0
  49. package/dist/common/matrix.d.ts +6 -0
  50. package/dist/common/matrix.d.ts.map +1 -0
  51. package/dist/common/matrix.js +17 -0
  52. package/dist/common/matrix.js.map +1 -0
  53. package/dist/common/numbers.d.ts +26 -0
  54. package/dist/common/numbers.d.ts.map +1 -0
  55. package/dist/common/numbers.js +239 -0
  56. package/dist/common/numbers.js.map +1 -0
  57. package/dist/common/options.d.ts +17 -0
  58. package/dist/common/options.d.ts.map +1 -0
  59. package/dist/common/options.js +29 -0
  60. package/dist/common/options.js.map +1 -0
  61. package/dist/common/paper.d.ts +8 -0
  62. package/dist/common/paper.d.ts.map +1 -0
  63. package/dist/common/paper.js +17 -0
  64. package/dist/common/paper.js.map +1 -0
  65. package/dist/common/shortcutManager.d.ts +17 -0
  66. package/dist/common/shortcutManager.d.ts.map +1 -0
  67. package/dist/common/shortcutManager.js +49 -0
  68. package/dist/common/shortcutManager.js.map +1 -0
  69. package/dist/common/tree.d.ts +87 -0
  70. package/dist/common/tree.d.ts.map +1 -0
  71. package/dist/common/tree.js +204 -0
  72. package/dist/common/tree.js.map +1 -0
  73. package/dist/common/utils.d.ts +30 -0
  74. package/dist/common/utils.d.ts.map +1 -0
  75. package/dist/common/utils.js +136 -0
  76. package/dist/common/utils.js.map +1 -0
  77. package/dist/constants.d.ts +48 -0
  78. package/dist/constants.d.ts.map +1 -0
  79. package/dist/constants.js +24 -0
  80. package/dist/constants.js.map +1 -0
  81. package/dist/index.d.ts +8 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +8 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/model/adapter.d.ts +8 -0
  86. package/dist/model/adapter.d.ts.map +1 -0
  87. package/dist/model/adapter.js +13 -0
  88. package/dist/model/adapter.js.map +1 -0
  89. package/dist/model/component.d.ts +19 -0
  90. package/dist/model/component.d.ts.map +1 -0
  91. package/dist/model/component.js +84 -0
  92. package/dist/model/component.js.map +1 -0
  93. package/dist/model/componentSlice.d.ts +8 -0
  94. package/dist/model/componentSlice.d.ts.map +1 -0
  95. package/dist/model/componentSlice.js +10 -0
  96. package/dist/model/componentSlice.js.map +1 -0
  97. package/dist/model/componentStore.d.ts +12 -0
  98. package/dist/model/componentStore.d.ts.map +1 -0
  99. package/dist/model/componentStore.js +26 -0
  100. package/dist/model/componentStore.js.map +1 -0
  101. package/dist/model/index.d.ts +6 -0
  102. package/dist/model/index.d.ts.map +1 -0
  103. package/dist/model/index.js +6 -0
  104. package/dist/model/index.js.map +1 -0
  105. package/dist/model/plugins.d.ts +13 -0
  106. package/dist/model/plugins.d.ts.map +1 -0
  107. package/dist/model/plugins.js +27 -0
  108. package/dist/model/plugins.js.map +1 -0
  109. package/dist/themes/definitions/tmDark.d.ts +4 -0
  110. package/dist/themes/definitions/tmDark.d.ts.map +1 -0
  111. package/dist/themes/definitions/tmDark.js +83 -0
  112. package/dist/themes/definitions/tmDark.js.map +1 -0
  113. package/dist/themes/definitions/tmLight.d.ts +4 -0
  114. package/dist/themes/definitions/tmLight.d.ts.map +1 -0
  115. package/dist/themes/definitions/tmLight.js +83 -0
  116. package/dist/themes/definitions/tmLight.js.map +1 -0
  117. package/dist/themes/helpers.d.ts +7 -0
  118. package/dist/themes/helpers.d.ts.map +1 -0
  119. package/dist/themes/helpers.js +34 -0
  120. package/dist/themes/helpers.js.map +1 -0
  121. package/dist/themes/index.d.ts +18 -0
  122. package/dist/themes/index.d.ts.map +1 -0
  123. package/dist/themes/index.js +48 -0
  124. package/dist/themes/index.js.map +1 -0
  125. package/dist/themes/mixins.d.ts +10 -0
  126. package/dist/themes/mixins.d.ts.map +1 -0
  127. package/dist/themes/mixins.js +39 -0
  128. package/dist/themes/mixins.js.map +1 -0
  129. package/dist/themes/transformations.d.ts +9 -0
  130. package/dist/themes/transformations.d.ts.map +1 -0
  131. package/dist/themes/transformations.js +48 -0
  132. package/dist/themes/transformations.js.map +1 -0
  133. package/dist/types.d.ts +130 -0
  134. package/dist/types.d.ts.map +1 -0
  135. package/dist/types.js +12 -0
  136. package/dist/types.js.map +1 -0
  137. package/dist/ui/accordion.d.ts +16 -0
  138. package/dist/ui/accordion.d.ts.map +1 -0
  139. package/dist/ui/accordion.js +209 -0
  140. package/dist/ui/accordion.js.map +1 -0
  141. package/dist/ui/alert.d.ts +15 -0
  142. package/dist/ui/alert.d.ts.map +1 -0
  143. package/dist/ui/alert.js +101 -0
  144. package/dist/ui/alert.js.map +1 -0
  145. package/dist/ui/baseElement.d.ts +7 -0
  146. package/dist/ui/baseElement.d.ts.map +1 -0
  147. package/dist/ui/baseElement.js +10 -0
  148. package/dist/ui/baseElement.js.map +1 -0
  149. package/dist/ui/button.d.ts +21 -0
  150. package/dist/ui/button.d.ts.map +1 -0
  151. package/dist/ui/button.js +100 -0
  152. package/dist/ui/button.js.map +1 -0
  153. package/dist/ui/button.style.d.ts +2 -0
  154. package/dist/ui/button.style.d.ts.map +1 -0
  155. package/dist/ui/button.style.js +60 -0
  156. package/dist/ui/button.style.js.map +1 -0
  157. package/dist/ui/checkbox.d.ts +14 -0
  158. package/dist/ui/checkbox.d.ts.map +1 -0
  159. package/dist/ui/checkbox.js +47 -0
  160. package/dist/ui/checkbox.js.map +1 -0
  161. package/dist/ui/close.d.ts +6 -0
  162. package/dist/ui/close.d.ts.map +1 -0
  163. package/dist/ui/close.js +33 -0
  164. package/dist/ui/close.js.map +1 -0
  165. package/dist/ui/colorpicker.d.ts +24 -0
  166. package/dist/ui/colorpicker.d.ts.map +1 -0
  167. package/dist/ui/colorpicker.js +228 -0
  168. package/dist/ui/colorpicker.js.map +1 -0
  169. package/dist/ui/container.d.ts +39 -0
  170. package/dist/ui/container.d.ts.map +1 -0
  171. package/dist/ui/container.js +313 -0
  172. package/dist/ui/container.js.map +1 -0
  173. package/dist/ui/dropdown.d.ts +48 -0
  174. package/dist/ui/dropdown.d.ts.map +1 -0
  175. package/dist/ui/dropdown.js +300 -0
  176. package/dist/ui/dropdown.js.map +1 -0
  177. package/dist/ui/dropdownColorPicker.d.ts +12 -0
  178. package/dist/ui/dropdownColorPicker.d.ts.map +1 -0
  179. package/dist/ui/dropdownColorPicker.js +60 -0
  180. package/dist/ui/dropdownColorPicker.js.map +1 -0
  181. package/dist/ui/dropdownList.d.ts +8 -0
  182. package/dist/ui/dropdownList.d.ts.map +1 -0
  183. package/dist/ui/dropdownList.js +48 -0
  184. package/dist/ui/dropdownList.js.map +1 -0
  185. package/dist/ui/dropdownMenu.d.ts +11 -0
  186. package/dist/ui/dropdownMenu.d.ts.map +1 -0
  187. package/dist/ui/dropdownMenu.js +61 -0
  188. package/dist/ui/dropdownMenu.js.map +1 -0
  189. package/dist/ui/expander.d.ts +28 -0
  190. package/dist/ui/expander.d.ts.map +1 -0
  191. package/dist/ui/expander.js +144 -0
  192. package/dist/ui/expander.js.map +1 -0
  193. package/dist/ui/fileInput.d.ts +24 -0
  194. package/dist/ui/fileInput.d.ts.map +1 -0
  195. package/dist/ui/fileInput.js +130 -0
  196. package/dist/ui/fileInput.js.map +1 -0
  197. package/dist/ui/fileInput.style.d.ts +2 -0
  198. package/dist/ui/fileInput.style.d.ts.map +1 -0
  199. package/dist/ui/fileInput.style.js +73 -0
  200. package/dist/ui/fileInput.style.js.map +1 -0
  201. package/dist/ui/floatingWindow.d.ts +19 -0
  202. package/dist/ui/floatingWindow.d.ts.map +1 -0
  203. package/dist/ui/floatingWindow.js +87 -0
  204. package/dist/ui/floatingWindow.js.map +1 -0
  205. package/dist/ui/icon.d.ts +46 -0
  206. package/dist/ui/icon.d.ts.map +1 -0
  207. package/dist/ui/icon.js +189 -0
  208. package/dist/ui/icon.js.map +1 -0
  209. package/dist/ui/icon.style.d.ts +2 -0
  210. package/dist/ui/icon.style.d.ts.map +1 -0
  211. package/dist/ui/icon.style.js +556 -0
  212. package/dist/ui/icon.style.js.map +1 -0
  213. package/dist/ui/images.d.ts +2 -0
  214. package/dist/ui/images.d.ts.map +1 -0
  215. package/dist/ui/images.js +14 -0
  216. package/dist/ui/images.js.map +1 -0
  217. package/dist/ui/index.d.ts +32 -0
  218. package/dist/ui/index.d.ts.map +1 -0
  219. package/dist/ui/index.js +32 -0
  220. package/dist/ui/index.js.map +1 -0
  221. package/dist/ui/input.d.ts +12 -0
  222. package/dist/ui/input.d.ts.map +1 -0
  223. package/dist/ui/input.js +45 -0
  224. package/dist/ui/input.js.map +1 -0
  225. package/dist/ui/input.style.d.ts +2 -0
  226. package/dist/ui/input.style.d.ts.map +1 -0
  227. package/dist/ui/input.style.js +36 -0
  228. package/dist/ui/input.style.js.map +1 -0
  229. package/dist/ui/label.d.ts +16 -0
  230. package/dist/ui/label.d.ts.map +1 -0
  231. package/dist/ui/label.js +90 -0
  232. package/dist/ui/label.js.map +1 -0
  233. package/dist/ui/list.d.ts +87 -0
  234. package/dist/ui/list.d.ts.map +1 -0
  235. package/dist/ui/list.js +427 -0
  236. package/dist/ui/list.js.map +1 -0
  237. package/dist/ui/list.style.d.ts +2 -0
  238. package/dist/ui/list.style.d.ts.map +1 -0
  239. package/dist/ui/list.style.js +35 -0
  240. package/dist/ui/list.style.js.map +1 -0
  241. package/dist/ui/loader.d.ts +6 -0
  242. package/dist/ui/loader.d.ts.map +1 -0
  243. package/dist/ui/loader.js +25 -0
  244. package/dist/ui/loader.js.map +1 -0
  245. package/dist/ui/menu.d.ts +41 -0
  246. package/dist/ui/menu.d.ts.map +1 -0
  247. package/dist/ui/menu.js +154 -0
  248. package/dist/ui/menu.js.map +1 -0
  249. package/dist/ui/menu.style.d.ts +3 -0
  250. package/dist/ui/menu.style.d.ts.map +1 -0
  251. package/dist/ui/menu.style.js +50 -0
  252. package/dist/ui/menu.style.js.map +1 -0
  253. package/dist/ui/numericInput.d.ts +37 -0
  254. package/dist/ui/numericInput.d.ts.map +1 -0
  255. package/dist/ui/numericInput.js +175 -0
  256. package/dist/ui/numericInput.js.map +1 -0
  257. package/dist/ui/numericInput.style.d.ts +2 -0
  258. package/dist/ui/numericInput.style.d.ts.map +1 -0
  259. package/dist/ui/numericInput.style.js +29 -0
  260. package/dist/ui/numericInput.style.js.map +1 -0
  261. package/dist/ui/overlay.d.ts +17 -0
  262. package/dist/ui/overlay.d.ts.map +1 -0
  263. package/dist/ui/overlay.js +87 -0
  264. package/dist/ui/overlay.js.map +1 -0
  265. package/dist/ui/overlay.style.d.ts +2 -0
  266. package/dist/ui/overlay.style.d.ts.map +1 -0
  267. package/dist/ui/overlay.style.js +46 -0
  268. package/dist/ui/overlay.style.js.map +1 -0
  269. package/dist/ui/panel.d.ts +25 -0
  270. package/dist/ui/panel.d.ts.map +1 -0
  271. package/dist/ui/panel.js +151 -0
  272. package/dist/ui/panel.js.map +1 -0
  273. package/dist/ui/panel.style.d.ts +2 -0
  274. package/dist/ui/panel.style.d.ts.map +1 -0
  275. package/dist/ui/panel.style.js +73 -0
  276. package/dist/ui/panel.style.js.map +1 -0
  277. package/dist/ui/sizer.d.ts +53 -0
  278. package/dist/ui/sizer.d.ts.map +1 -0
  279. package/dist/ui/sizer.js +203 -0
  280. package/dist/ui/sizer.js.map +1 -0
  281. package/dist/ui/slider.d.ts +52 -0
  282. package/dist/ui/slider.d.ts.map +1 -0
  283. package/dist/ui/slider.js +213 -0
  284. package/dist/ui/slider.js.map +1 -0
  285. package/dist/ui/slider.style.d.ts +2 -0
  286. package/dist/ui/slider.style.d.ts.map +1 -0
  287. package/dist/ui/slider.style.js +61 -0
  288. package/dist/ui/slider.style.js.map +1 -0
  289. package/dist/ui/sortableList.d.ts +39 -0
  290. package/dist/ui/sortableList.d.ts.map +1 -0
  291. package/dist/ui/sortableList.js +167 -0
  292. package/dist/ui/sortableList.js.map +1 -0
  293. package/dist/ui/splitContainer.d.ts +52 -0
  294. package/dist/ui/splitContainer.d.ts.map +1 -0
  295. package/dist/ui/splitContainer.js +252 -0
  296. package/dist/ui/splitContainer.js.map +1 -0
  297. package/dist/ui/splitContainer.style.d.ts +2 -0
  298. package/dist/ui/splitContainer.style.d.ts.map +1 -0
  299. package/dist/ui/splitContainer.style.js +62 -0
  300. package/dist/ui/splitContainer.style.js.map +1 -0
  301. package/dist/ui/switch.d.ts +22 -0
  302. package/dist/ui/switch.d.ts.map +1 -0
  303. package/dist/ui/switch.js +83 -0
  304. package/dist/ui/switch.js.map +1 -0
  305. package/dist/ui/switch.style.d.ts +2 -0
  306. package/dist/ui/switch.style.d.ts.map +1 -0
  307. package/dist/ui/switch.style.js +149 -0
  308. package/dist/ui/switch.style.js.map +1 -0
  309. package/dist/ui/tooltip.d.ts +24 -0
  310. package/dist/ui/tooltip.d.ts.map +1 -0
  311. package/dist/ui/tooltip.js +143 -0
  312. package/dist/ui/tooltip.js.map +1 -0
  313. package/dist/ui/tooltip.style.d.ts +2 -0
  314. package/dist/ui/tooltip.style.d.ts.map +1 -0
  315. package/dist/ui/tooltip.style.js +112 -0
  316. package/dist/ui/tooltip.style.js.map +1 -0
  317. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.style.js","sourceRoot":"","sources":["../../src/ui/button.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;YAQZ,SAAS,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlC,CAAC","sourcesContent":["import { css } from 'lit';\nimport constants from '../constants';\n\nexport const style = css`\n\t:host {\n\t\tbox-sizing: border-box;\n\t\tfont-size: var(--og-font-size);\n\t\tcursor: pointer;\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\toverflow: hidden;\n\t\theight: ${constants.BUTTON_HEIGHT}px;\n\t\toutline: none;\n\t\tuser-select: none;\n\t\tborder-radius: var(--og-base-radius);\n\t}\n\n\t:host([default]) {\n\t\tfont-weight: bold;\n\t\ttext-decoration: underline;\n\t}\n\n\t:host([state=unchecked]) {\n\t\tborder-color: var(--og-background-color);\n\t\tbackground-color: var(--og-background-color);\n\t\tcolor: var(--og-text-color);\n\t}\n\n\t:host([disabled]), :host([disabled]:hover) {\n\t\tbackground-color: gray;\n\t\tborder-color: var(--og-border-color);\n\t\tcursor: not-allowed;\n\t\topacity: 0.5;\n\t}\n\n\t:host(:hover) {\n\t\topacity: 0.8;\n\t}\n\n\tdiv.inner {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\tdiv.content {\n\t\tflex: 1 0;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\tpadding: 0 4px;\n\t}\n\n\t.has-content og-icon {\n\t\tmargin-left: 2px;\n\t}\n\n`;"]}
@@ -0,0 +1,14 @@
1
+ import { LitElement } from 'lit';
2
+ export type CheckboxState = 'none' | 'checked' | 'indeterminable' | 'unchecked';
3
+ export declare class Checkbox extends LitElement {
4
+ static defaultIconSet: string;
5
+ static defaultAlternateIconSet: string;
6
+ get iconSet(): string;
7
+ get alternateIconSet(): string;
8
+ static styles: import("lit").CSSResult;
9
+ value: CheckboxState;
10
+ color: string;
11
+ get icon(): string;
12
+ render: () => import("lit-html").TemplateResult<1>;
13
+ }
14
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/ui/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAO,MAAM,KAAK,CAAC;AAI5C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAShF,qBACa,QAAS,SAAQ,UAAU;IAEvC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEvC,IAAI,OAAO,IAAI,MAAM,CAA0D;IAC/E,IAAI,gBAAgB,IAAI,MAAM,CAAmE;IAEjG,MAAM,CAAC,MAAM,0BAIX;IAGF,KAAK,EAAE,aAAa,CAAU;IAG9B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,IAAI,WAAgE;IAExE,MAAM,6CAKJ;CAEF"}
@@ -0,0 +1,47 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var Checkbox_1;
8
+ import { html, LitElement, css } from 'lit';
9
+ import { customElement, property } from 'lit/decorators.js';
10
+ import { config } from '@fortawesome/fontawesome-svg-core';
11
+ const iconMap = {
12
+ 'none': '',
13
+ 'checked': '-check',
14
+ 'indeterminable': '-minus',
15
+ 'unchecked': '-xmark',
16
+ };
17
+ let Checkbox = Checkbox_1 = class Checkbox extends LitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.value = 'none';
21
+ this.render = () => html `
22
+ <og-icon
23
+ .icon="${[this.value == 'checked' || this.value == 'unchecked' ? this.iconSet : this.alternateIconSet, this.icon]}"
24
+ .color="${this.color}">
25
+ </og-icon>
26
+ `;
27
+ }
28
+ get iconSet() { return Checkbox_1.defaultIconSet || config.styleDefault; }
29
+ get alternateIconSet() { return Checkbox_1.defaultAlternateIconSet || config.styleDefault; }
30
+ get icon() { return 'square' + (this.value ? iconMap[this.value] : ''); }
31
+ };
32
+ Checkbox.styles = css `
33
+ :host([value="checked"]) {
34
+ color: var(--og-accent-color);
35
+ }
36
+ `;
37
+ __decorate([
38
+ property({ type: String, reflect: true })
39
+ ], Checkbox.prototype, "value", void 0);
40
+ __decorate([
41
+ property({ type: String })
42
+ ], Checkbox.prototype, "color", void 0);
43
+ Checkbox = Checkbox_1 = __decorate([
44
+ customElement('og-checkbox')
45
+ ], Checkbox);
46
+ export { Checkbox };
47
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/ui/checkbox.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAI3D,MAAM,OAAO,GAAkC;IAC9C,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,QAAQ;IACnB,gBAAgB,EAAE,QAAQ;IAC1B,WAAW,EAAE,QAAQ;CACrB,CAAC;AAGK,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QAeN,UAAK,GAAkB,MAAM,CAAC;QAO9B,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;YAER,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;aACvG,IAAI,CAAC,KAAK;;EAErB,CAAC;IAEH,CAAC;IAxBA,IAAI,OAAO,KAAa,OAAO,UAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,CAAA,CAAC,CAAC;IAC/E,IAAI,gBAAgB,KAAa,OAAO,UAAQ,CAAC,uBAAuB,IAAI,MAAM,CAAC,YAAY,CAAA,CAAC,CAAC;IAcjG,IAAI,IAAI,KAAK,OAAO,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;;AAZjE,eAAM,GAAG,GAAG,CAAA;;;;EAIlB,AAJY,CAIX;AAGF;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;uCACV;AAG9B;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;uCACX;AAlBF,QAAQ;IADpB,aAAa,CAAC,aAAa,CAAC;GAChB,QAAQ,CA6BpB","sourcesContent":["import { html, LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { config } from '@fortawesome/fontawesome-svg-core';\n\nexport type CheckboxState = 'none' | 'checked' | 'indeterminable' | 'unchecked';\n\nconst iconMap: Record<CheckboxState, string> = {\n\t'none': '',\n\t'checked': '-check',\n\t'indeterminable': '-minus',\n\t'unchecked': '-xmark',\n};\n\n@customElement('og-checkbox')\nexport class Checkbox extends LitElement {\n\n\tstatic defaultIconSet: string;\n\tstatic defaultAlternateIconSet: string;\n\t\n\tget iconSet(): string { return Checkbox.defaultIconSet || config.styleDefault }\n\tget alternateIconSet(): string { return Checkbox.defaultAlternateIconSet || config.styleDefault }\n\n\tstatic styles = css`\n\t\t:host([value=\"checked\"]) {\n\t\t\tcolor: var(--og-accent-color);\n\t\t}\n\t`;\n\n\t@property({type: String, reflect: true})\n\tvalue: CheckboxState = 'none';\n\n\t@property({type: String})\n\tcolor: string;\n\n\tget icon() { return 'square' + (this.value ? iconMap[this.value] : '') }\n\n\trender = () => html`\n\t\t<og-icon\n\t\t\t.icon=\"${[this.value == 'checked' || this.value == 'unchecked' ? this.iconSet : this.alternateIconSet, this.icon]}\"\n\t\t\t.color=\"${this.color}\">\n\t\t</og-icon>\n\t`;\n\n}"]}
@@ -0,0 +1,6 @@
1
+ import { Button } from './button';
2
+ export declare class Close extends Button {
3
+ static styles: import("lit").CSSResult[];
4
+ willUpdate(props: Map<PropertyKey, undefined>): void;
5
+ }
6
+ //# sourceMappingURL=close.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../src/ui/close.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,qBACa,KAAM,SAAQ,MAAM;IAEhC,MAAM,CAAC,MAAM,4BASV;IAEH,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;CAM7C"}
@@ -0,0 +1,33 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement } from 'lit/decorators.js';
8
+ import { Button } from './button';
9
+ import { ColorTypes } from '../types';
10
+ import { css } from 'lit';
11
+ let Close = class Close extends Button {
12
+ willUpdate(props) {
13
+ this.color = ColorTypes.Transparent;
14
+ if (!this.icon)
15
+ this.icon = { icon: 'xmark', fallback: '×' };
16
+ super.willUpdate(props);
17
+ }
18
+ };
19
+ Close.styles = [...Button.styles, css `
20
+ :host {
21
+ min-width: 16px;
22
+ }
23
+
24
+ :host(:hover) {
25
+ background-color: var(--og-accent-color-alpha-30);
26
+ color: var(--og-text-color-3);
27
+ }
28
+ `];
29
+ Close = __decorate([
30
+ customElement(`og-close`)
31
+ ], Close);
32
+ export { Close };
33
+ //# sourceMappingURL=close.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../src/ui/close.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAGnB,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,MAAM;IAahC,UAAU,CAAC,KAAkC;QAC5C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAC,CAAC;QAC3D,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;;AAfM,YAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAA;;;;;;;;;EASrC,CAAC,AATW,CASV;AAXS,KAAK;IADjB,aAAa,CAAC,UAAU,CAAC;GACb,KAAK,CAmBjB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport { Button } from './button';\nimport { ColorTypes } from '../types';\nimport { css } from 'lit';\n\n@customElement(`og-close`)\nexport class Close extends Button {\n\n\tstatic styles = [...Button.styles, css`\n\t\t:host {\n\t\t\tmin-width: 16px;\n\t\t}\n\n\t\t:host(:hover) {\n\t\t\tbackground-color: var(--og-accent-color-alpha-30);\n\t\t\tcolor: var(--og-text-color-3);\n\t\t}\n\t`];\n\n\twillUpdate(props: Map<PropertyKey, undefined>) {\n\t\tthis.color = ColorTypes.Transparent;\n\t\tif (!this.icon) this.icon = {icon: 'xmark', fallback: '×'};\n\t\tsuper.willUpdate(props);\n\t}\n\t\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class ColorPickerEvent extends Event {
3
+ readonly color: string;
4
+ constructor(type: string, color: string);
5
+ }
6
+ export declare class ColorPicker extends LitElement {
7
+ static styles: import("lit").CSSResult;
8
+ colors: string[][];
9
+ color: string;
10
+ input: HTMLInputElement;
11
+ _lastValue: string;
12
+ _isEditing: boolean;
13
+ get isManuallyEdited(): boolean;
14
+ commit(value: string | null, dispatchEvent?: boolean): boolean;
15
+ constructor();
16
+ willUpdate(): void;
17
+ resetEditState(): void;
18
+ updateInput(color?: string): void;
19
+ _onTextInput: (_e: InputEvent) => void;
20
+ _onTextChange: () => void;
21
+ selectInput(): void;
22
+ render: () => import("lit-html").TemplateResult<1>;
23
+ }
24
+ //# sourceMappingURL=colorpicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorpicker.d.ts","sourceRoot":"","sources":["../../src/ui/colorpicker.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAO,MAAM,KAAK,CAAC;AA4C5C,qBAAa,gBAAiB,SAAQ,KAAK;aAEA,KAAK,EAAE,MAAM;gBAA3C,IAAI,EAAE,MAAM,EAAkB,KAAK,EAAE,MAAM;CAGvD;AAKD,qBACa,WAAY,SAAQ,UAAU;IAE1C,MAAM,CAAC,MAAM,0BAgDX;IAGF,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,gBAAgB,CAAC;IAExB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,UAAS;IACnB,IAAI,gBAAgB,YAAqC;IAEzD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAC,IAAI,EAAE,aAAa,UAAO;;IAgC/C,UAAU;IAOV,cAAc;IAId,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;IAiB1B,YAAY,GAAI,IAAI,UAAU,UAU7B;IAED,aAAa,aAGZ;IAED,WAAW;IAMX,MAAM,6CA0BJ;CAEF"}
@@ -0,0 +1,228 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import constants from '../constants';
8
+ import { html, LitElement, css } from 'lit';
9
+ import { customElement, property, query } from 'lit/decorators.js';
10
+ import { map } from 'lit/directives/map.js';
11
+ import { classMap } from 'lit/directives/class-map.js';
12
+ import Color from 'color';
13
+ import { colors, dom, events } from '../common';
14
+ import { contrastColor } from '../common/colors';
15
+ const baseColors = [
16
+ '#808080',
17
+ '#961e1d',
18
+ '#ba2f2a',
19
+ '#ed1b24',
20
+ '#F1631B',
21
+ '#F7941D',
22
+ '#FFC210',
23
+ '#FEF200',
24
+ '#CADB2A',
25
+ '#87BE2F',
26
+ '#66B032',
27
+ '#2E913E',
28
+ '#006F3C',
29
+ '#007071',
30
+ '#008DB1',
31
+ '#00ADF1',
32
+ '#008FD5',
33
+ '#0274BB',
34
+ '#0054AE',
35
+ '#2F3397',
36
+ '#573498',
37
+ '#6B3499',
38
+ '#92278F',
39
+ '#B91B8A',
40
+ '#EA028C',
41
+ ];
42
+ const createColors = (rows) => {
43
+ const colors = [];
44
+ for (let l = 0; l <= 100; l += 100 / rows) {
45
+ colors.push(baseColors.map(c => Color(c).hsl().l(l).hex().toString()));
46
+ }
47
+ return colors;
48
+ };
49
+ export class ColorPickerEvent extends Event {
50
+ constructor(type, color) {
51
+ super(`${type}`);
52
+ this.color = color;
53
+ }
54
+ }
55
+ const COLOR_REGEX = /^#?[0-9a-f]{6}$/i;
56
+ const PARTIAL_COLOR_REGEX = /^#?[0-9a-f]{0,6}$/i;
57
+ let ColorPicker = class ColorPicker extends LitElement {
58
+ get isManuallyEdited() { return this._lastValue != null; }
59
+ commit(value, dispatchEvent = true) {
60
+ if (value != null) {
61
+ value = colors.css(value);
62
+ if (!COLOR_REGEX.test(value))
63
+ return false;
64
+ }
65
+ this.color = value;
66
+ if (dispatchEvent)
67
+ this.dispatchEvent(new events.ChangeEvent(this.color));
68
+ return true;
69
+ }
70
+ constructor() {
71
+ super();
72
+ this._isEditing = false;
73
+ this._onTextInput = (_e) => {
74
+ this._isEditing = true;
75
+ if (!PARTIAL_COLOR_REGEX.test(this.input.value)) {
76
+ this.input.value = this._lastValue;
77
+ }
78
+ else {
79
+ let value = this.input.value ?? '';
80
+ value = value.startsWith('#') ? value : ('#' + value);
81
+ this.updateInput(value);
82
+ this._lastValue = this.input.value;
83
+ }
84
+ };
85
+ this._onTextChange = () => {
86
+ this._isEditing = false;
87
+ this.commit(this.input.value);
88
+ };
89
+ this.render = () => html `
90
+ <div class="header">
91
+ <input type="text"
92
+ @input="${this._onTextInput}"
93
+ @focus="${() => this.selectInput()}"
94
+ @change="${this._onTextChange}">
95
+
96
+ <og-button
97
+ class="cross"
98
+ @click="${() => this.commit(null)}"
99
+ icon="xmark"
100
+ color="red">
101
+ </og-button>
102
+ </div>
103
+
104
+ <table>
105
+ ${map(this.colors, row => html `<tr>
106
+ ${map(row, color => html `<td>
107
+ <div
108
+ class="${classMap({ color: true, selected: this.color == color })}"
109
+ data-color="${color}"
110
+ style="background: ${color}">
111
+ </div>
112
+ </td>`)}
113
+ </tr>`)}
114
+ </table>
115
+ `;
116
+ dom.on(this, 'click', '.color', (_e, elm) => {
117
+ if (!this.commit(elm.dataset.color))
118
+ return;
119
+ this.dispatchEvent(new ColorPickerEvent('select', this.color));
120
+ });
121
+ dom.on(this, 'mousemove', '.color', (_e, elm) => {
122
+ if (this.input.value != elm.dataset.color) {
123
+ const color = elm.dataset.color;
124
+ this.updateInput(color);
125
+ this.dispatchEvent(new ColorPickerEvent('preview', color));
126
+ }
127
+ });
128
+ this.addEventListener('mouseout', () => {
129
+ if (this._isEditing)
130
+ return;
131
+ this.updateInput();
132
+ this.dispatchEvent(new ColorPickerEvent('previewEnd', this.color));
133
+ });
134
+ }
135
+ willUpdate() {
136
+ this.color = colors.css(this.color);
137
+ if (!this.colors || this.colors.length == 0) {
138
+ this.colors = createColors(5);
139
+ }
140
+ }
141
+ resetEditState() {
142
+ this._lastValue = null;
143
+ }
144
+ updateInput(color) {
145
+ color = color ?? this.color;
146
+ this.input.value = color ?? '';
147
+ if (color) {
148
+ try {
149
+ this.input.style.color = contrastColor(color);
150
+ }
151
+ catch (error) {
152
+ this.input.style.color = '';
153
+ }
154
+ }
155
+ else {
156
+ this.input.style.color = '';
157
+ }
158
+ this.input.style.backgroundColor = color ?? '';
159
+ }
160
+ selectInput() {
161
+ if (this.input.value.length > 0) {
162
+ this.input.setSelectionRange(1, this.input.value.length);
163
+ }
164
+ }
165
+ };
166
+ ColorPicker.styles = css `
167
+ * { box-sizing: border-box }
168
+
169
+ :host {
170
+ display: inline-block;
171
+ border: 1px solid var(--og-accent-color);
172
+ border-radius: var(--og-base-radius);
173
+ }
174
+
175
+ .color {
176
+ width: ${constants.COLORPICKER_COLOR_SIZE}px;
177
+ height: ${constants.COLORPICKER_COLOR_SIZE}px;
178
+ cursor: pointer;
179
+ border: 2px solid transparent;
180
+ }
181
+
182
+ .color:hover, .color.selected {
183
+ border-color: var(--og-accent-color);
184
+ }
185
+
186
+ input {
187
+ border-width: 0;
188
+ outline: none;
189
+ height: 100%;
190
+ flex: 1;
191
+ width: 100%;
192
+ background-color: var(--og-background-color);
193
+ color: var(--og-text-color);
194
+ text-align: center;
195
+ font-size: var(--og-font-size);
196
+ font-family: var(--og-font-family);
197
+ }
198
+
199
+ .cross {
200
+ flex: 0 20px;
201
+ border: none;
202
+ border-radius: 0;
203
+ }
204
+
205
+ .header {
206
+ display: flex;
207
+ flex-direction: row;
208
+ border-bottom: 1px solid var(--og-accent-color);
209
+ }
210
+
211
+ .header > * {
212
+ height: 20px;
213
+ }
214
+ `;
215
+ __decorate([
216
+ property({ type: Array })
217
+ ], ColorPicker.prototype, "colors", void 0);
218
+ __decorate([
219
+ property({ type: String })
220
+ ], ColorPicker.prototype, "color", void 0);
221
+ __decorate([
222
+ query('input')
223
+ ], ColorPicker.prototype, "input", void 0);
224
+ ColorPicker = __decorate([
225
+ customElement('og-colorpicker')
226
+ ], ColorPicker);
227
+ export { ColorPicker };
228
+ //# sourceMappingURL=colorpicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorpicker.js","sourceRoot":"","sources":["../../src/ui/colorpicker.ts"],"names":[],"mappings":"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","sourcesContent":["import constants from '../constants';\nimport { html, LitElement, css } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { map } from 'lit/directives/map.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport Color from 'color';\nimport { colors, dom, events } from '../common';\nimport { contrastColor } from '../common/colors';\n\nconst baseColors = [\n\t'#808080',\n\t'#961e1d',\n\t'#ba2f2a',\n\t'#ed1b24',\n\t'#F1631B',\n\t'#F7941D',\n\t'#FFC210',\n\t'#FEF200',\n\t'#CADB2A',\n\t'#87BE2F',\n\t'#66B032',\n\t'#2E913E',\n\t'#006F3C',\n\t'#007071',\n\t'#008DB1',\n\t'#00ADF1',\n\t'#008FD5',\n\t'#0274BB',\n\t'#0054AE',\n\t'#2F3397',\n\t'#573498',\n\t'#6B3499',\n\t'#92278F',\n\t'#B91B8A',\n\t'#EA028C',\n];\n\nconst createColors = (rows: number): string[][] => {\n\tconst colors: string[][] = [];\n\tfor (let l = 0; l <= 100; l += 100 / rows) {\n\t\tcolors.push(baseColors.map(c => Color(c).hsl().l(l).hex().toString()));\n\t}\n\treturn colors;\n};\n\nexport class ColorPickerEvent extends Event {\n\n\tconstructor(type: string, public readonly color: string) {\n\t\tsuper(`${type}`);\n\t}\n}\n\nconst COLOR_REGEX = /^#?[0-9a-f]{6}$/i;\nconst PARTIAL_COLOR_REGEX = /^#?[0-9a-f]{0,6}$/i;\n\n@customElement('og-colorpicker')\nexport class ColorPicker extends LitElement {\n\n\tstatic styles = css`\n\t\t* { box-sizing: border-box }\n\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t\tborder: 1px solid var(--og-accent-color);\n\t\t\tborder-radius: var(--og-base-radius);\n\t\t}\n\n\t\t.color {\n\t\t\twidth: ${constants.COLORPICKER_COLOR_SIZE}px;\n\t\t\theight: ${constants.COLORPICKER_COLOR_SIZE}px;\n\t\t\tcursor: pointer;\n\t\t\tborder: 2px solid transparent;\n\t\t}\n\n\t\t.color:hover, .color.selected {\n\t\t\tborder-color: var(--og-accent-color);\n\t\t}\n\n\t\tinput {\n\t\t\tborder-width: 0;\n\t\t\toutline: none;\n\t\t\theight: 100%;\n\t\t\tflex: 1;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--og-background-color);\n\t\t\tcolor: var(--og-text-color);\n\t\t\ttext-align: center;\n\t\t\tfont-size: var(--og-font-size);\n\t\t\tfont-family: var(--og-font-family);\n\t\t}\n\n\t\t.cross {\n\t\t\tflex: 0 20px;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t}\n\n\t\t.header {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tborder-bottom: 1px solid var(--og-accent-color);\n\t\t}\n\n\t\t.header > * {\n\t\t\theight: 20px;\n\t\t}\n\t`;\n\n\t@property({type: Array})\n\tcolors: string[][];\n\n\t@property({type: String})\n\tcolor: string;\n\n\t@query('input')\n\tinput: HTMLInputElement;\n\n\t_lastValue: string;\n\t_isEditing = false;\n\tget isManuallyEdited() { return this._lastValue != null }\n\n\tcommit(value: string|null, dispatchEvent = true) {\n\t\tif (value != null) {\n\t\t\tvalue = colors.css(value);\n\t\t\tif (!COLOR_REGEX.test(value)) return false;\n\t\t}\n\t\tthis.color = value;\n\t\tif (dispatchEvent) this.dispatchEvent(new events.ChangeEvent(this.color));\n\t\treturn true;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tdom.on(this, 'click', '.color', (_e: MouseEvent, elm) => {\n\t\t\tif (!this.commit(elm.dataset.color)) return;\n\t\t\tthis.dispatchEvent(new ColorPickerEvent('select', this.color));\n\t\t});\n\n\t\tdom.on(this, 'mousemove', '.color', (_e: MouseEvent, elm) => {\n\t\t\tif (this.input.value != elm.dataset.color) {\n\t\t\t\tconst color = elm.dataset.color;\n\t\t\t\tthis.updateInput(color);\n\t\t\t\tthis.dispatchEvent(new ColorPickerEvent('preview', color));\n\t\t\t}\n\t\t});\n\n\t\tthis.addEventListener('mouseout', () => {\n\t\t\tif (this._isEditing) return;\n\t\t\tthis.updateInput();\n\t\t\tthis.dispatchEvent(new ColorPickerEvent('previewEnd', this.color));\n\t\t});\n\t}\n\n\twillUpdate() {\n\t\tthis.color = colors.css(this.color);\n\t\tif (!this.colors || this.colors.length == 0) {\n\t\t\tthis.colors = createColors(5);\n\t\t}\n\t}\n\n\tresetEditState() {\n\t\tthis._lastValue = null;\n\t}\n\n\tupdateInput(color?: string) {\n\t\tcolor = color ?? this.color;\n\t\tthis.input.value = color ?? '';\n\n\t\tif (color) {\n\t\t\ttry {\n\t\t\t\tthis.input.style.color = contrastColor(color);\n\t\t\t} catch (error) {\n\t\t\t\tthis.input.style.color = '';\n\t\t\t}\n\t\t} else {\n\t\t\tthis.input.style.color = '';\n\t\t}\n\n\t\tthis.input.style.backgroundColor = color ?? '';\n\t}\n\n\t_onTextInput = (_e: InputEvent) => {\n\t\tthis._isEditing = true;\n\t\tif (!PARTIAL_COLOR_REGEX.test(this.input.value)) {\n\t\t\tthis.input.value = this._lastValue;\n\t\t} else {\n\t\t\tlet value = this.input.value ?? '';\n\t\t\tvalue = value.startsWith('#') ? value : ('#' + value);\n\t\t\tthis.updateInput(value);\n\t\t\tthis._lastValue = this.input.value;\n\t\t}\n\t}\n\n\t_onTextChange = () => {\n\t\tthis._isEditing = false;\n\t\tthis.commit(this.input.value);\n\t}\n\n\tselectInput() {\n\t\tif (this.input.value.length > 0) {\n\t\t\tthis.input.setSelectionRange(1, this.input.value.length);\n\t\t}\n\t}\n\n\trender = () => html`\n\t\t<div class=\"header\">\n\t\t\t<input type=\"text\"\n\t\t\t\t@input=\"${this._onTextInput}\"\n\t\t\t\t@focus=\"${() => this.selectInput()}\"\n\t\t\t\t@change=\"${this._onTextChange}\">\n\n\t\t\t<og-button\n\t\t\t\tclass=\"cross\"\n\t\t\t\t@click=\"${() => this.commit(null)}\"\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tcolor=\"red\">\n\t\t\t</og-button>\n\t\t</div>\n\n\t\t<table>\n\t\t\t${map(this.colors, row => html`<tr>\n\t\t\t\t${map(row, color => html`<td>\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass=\"${classMap({color: true, selected: this.color == color})}\"\n\t\t\t\t\t\tdata-color=\"${color}\"\n\t\t\t\t\t\tstyle=\"background: ${color}\">\n\t\t\t\t\t</div>\n\t\t\t\t</td>`)}\n\t\t\t</tr>`)}\n\t\t</table>\n\t`;\n\n}"]}
@@ -0,0 +1,39 @@
1
+ import { Slider } from "./slider";
2
+ import { OmegaComponent } from "../model";
3
+ import { ComponentFactory, ComponentId, HorizontalPosition, VerticalPosition } from "../types";
4
+ export declare class Container extends OmegaComponent {
5
+ static styles: import("lit").CSSResult;
6
+ componentId: ComponentId;
7
+ createComponent: ComponentFactory;
8
+ overscroll: boolean;
9
+ scrollMode: 'vertical' | 'horizontal' | 'both';
10
+ sliderSize: number;
11
+ scrollbarPadding: boolean;
12
+ horizontalSliderPosition: VerticalPosition;
13
+ verticalSliderPosition: HorizontalPosition;
14
+ inner: HTMLDivElement;
15
+ private verticalSliderRef;
16
+ get verticalSlider(): Slider;
17
+ private horizontalSliderRef;
18
+ get horizontalSlider(): Slider;
19
+ private resizeObserver;
20
+ private touchStart;
21
+ private _mouseIn;
22
+ get isScrolling(): boolean;
23
+ fixScrollPosition(): void;
24
+ connectedCallback(): void;
25
+ disconnectedCallback(): void;
26
+ connectObservers(): void;
27
+ disconnectObservers(): void;
28
+ scrollVerticalByPixels(deltaY: number): boolean;
29
+ scrollVerticalTo(top: number): void;
30
+ scrollHorizontalByPixels(deltaX: number): boolean;
31
+ scrollHorizontalTo(left: number): void;
32
+ firstUpdated(): void;
33
+ updated(): Promise<void>;
34
+ render: () => import("lit-html").TemplateResult<1>;
35
+ get scrollHeight(): number;
36
+ get scrollWidth(): number;
37
+ updateSliders(): void;
38
+ }
39
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/ui/container.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,MAAM,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI/F,qBACa,SAAU,SAAQ,cAAc;IAE5C,MAAM,CAAC,MAAM,0BAwDX;IAGF,WAAW,EAAE,WAAW,CAAC;IAGzB,eAAe,EAAE,gBAAgB,CAAC;IAGlC,UAAU,UAAS;IAGnB,UAAU,EAAE,UAAU,GAAC,YAAY,GAAC,MAAM,CAAc;IAGxD,UAAU,SAAK;IAGf,gBAAgB,UAAS;IAGzB,wBAAwB,EAAE,gBAAgB,CAAY;IAGtD,sBAAsB,EAAE,kBAAkB,CAAW;IAGrD,KAAK,EAAE,cAAc,CAAC;IAEtB,OAAO,CAAC,iBAAiB,CAA4B;IACrD,IAAI,cAAc,WAA0C;IAE5D,OAAO,CAAC,mBAAmB,CAA4B;IACvD,IAAI,gBAAgB,WAA4C;IAEhE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,WAAW,YAA6E;IAE5F,iBAAiB;IAQjB,iBAAiB;IAKjB,oBAAoB;IAKpB,gBAAgB;IAUhB,mBAAmB;IAKnB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAc/C,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAS5B,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQjD,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAO/B,YAAY;IA2DN,OAAO;IAYb,MAAM,6CAwBJ;IAEF,IAAI,YAAY,WAEf;IAED,IAAI,WAAW,WAEd;IAED,aAAa;CAoCb"}